@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+KR:wght@400;500;600;700;800&display=swap');
:root{--bg:#f5f6f8;--panel:#fff;--text:#20252f;--muted:#858d9c;--line:#e8ebef;--accent:#506ce5;--soft:#edf1ff;--side:#fff}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font:14px 'Noto Sans KR',sans-serif}button,input,textarea{font:inherit}button,a{ -webkit-tap-highlight-color:transparent}button{cursor:pointer}button:focus-visible,a:focus-visible,textarea:focus-visible{outline:3px solid #92a5ff;outline-offset:3px}aside{width:240px;position:fixed;inset:0 auto 0 0;background:var(--side);border-right:1px solid var(--line);padding:30px 20px;display:flex;flex-direction:column;z-index:3}.brand{display:flex;align-items:center;gap:11px;color:var(--text);text-decoration:none;font-weight:800;letter-spacing:2px;font-size:20px}.mark{font-size:34px;line-height:43px;text-align:center;letter-spacing:-3px;background:var(--accent);color:#fff;width:43px;height:43px;border-radius:13px}.office{display:block;font-size:9px;letter-spacing:5px;color:var(--muted)}.workspace{padding:16px 12px;border:1px solid var(--line);border-radius:9px;margin:32px 0 26px;font-size:12px}.workspace span{float:right}.label{font-size:10px;letter-spacing:1.8px;color:var(--muted);margin:0 14px 10px}nav{margin-bottom:28px}nav button{display:flex;align-items:center;gap:14px;width:100%;border:0;background:none;text-align:left;padding:13px 15px;color:#7d8595;border-radius:8px;font-size:19px}nav button span{font-size:13px}nav button.active{background:var(--soft);color:var(--accent);font-weight:700}.side-bottom{margin-top:auto}.local{font-size:11px;padding:16px 10px;border-bottom:1px solid var(--line);margin-bottom:16px}.local i{display:inline-block;width:6px;height:6px;border-radius:50%;background:#abb1bc;margin-right:7px}small{display:block;font-size:10px;color:var(--muted);margin-top:5px}.profile{display:flex;gap:10px;align-items:center;font-size:12px}.profile b,.avatar{width:33px;height:33px;background:#f1ede6;border-radius:50%;display:grid;place-items:center;color:#8b806b}.shell{margin-left:240px}header{height:80px;background:var(--panel);border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 38px;font-size:12px;color:var(--muted)}header b{color:var(--text);font-weight:500}header span{margin:0 12px}.header-right{display:flex;align-items:center;gap:12px}.header-right button,#menu{background:none;border:0;color:var(--muted);font-size:20px}.preview{background:var(--bg);padding:6px 10px;border-radius:6px;font-size:10px}#menu{display:none}main{max-width:1420px;margin:auto;padding:40px}.eyebrow{font-size:10px;letter-spacing:2px;color:var(--accent);font-weight:700}.heading{display:flex;justify-content:space-between;align-items:center;margin:8px 0 29px}h1{font-size:28px;font-weight:700;letter-spacing:-1px;margin:0 0 9px}p{color:var(--muted);font-size:12px;line-height:1.9;margin:0}.primary{border:0;border-radius:8px;background:var(--accent);color:#fff;padding:12px 18px;font-size:12px;box-shadow:0 4px 10px #506ce520}.intro{background:linear-gradient(110deg,#edf1ff,#f1f0fc 70%,#f7f5fb);border:1px solid #e2e6f8;border-radius:14px;padding:28px 30px;display:flex;justify-content:space-between;align-items:center;position:relative;overflow:hidden}.intro h2{font-size:21px;letter-spacing:-.7px;margin:8px 0}.intro p{color:#7b85a5}.intro .symbol{font-size:85px;line-height:1;color:#aab8ee;font-weight:400;transform:rotate(-12deg);padding:0 25px}.text-link{display:inline-block;color:var(--accent);font-size:12px;background:none;border:0;padding:15px 0 0}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin:24px 0 30px}.stat,.panel{background:var(--panel);border:1px solid var(--line);border-radius:12px}.stat{padding:20px 22px}.stat .stat-label{color:var(--muted);font-size:11px;display:flex;justify-content:space-between}.stat strong{display:block;font-size:27px;margin:12px 0 8px;font-weight:600}.stat small{font-size:10px}.grid{display:grid;grid-template-columns:1.6fr 1fr;gap:22px}.panel{padding:23px}.panel-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:19px}.panel h2{font-size:14px;margin:0;font-weight:600}.subtle{font-size:10px;color:var(--muted);border:0;background:none}.empty{min-height:197px;display:flex;align-items:center;justify-content:center;flex-direction:column;text-align:center}.empty .icon{font-size:29px;color:#bdc5d6;background:var(--bg);width:58px;height:58px;border-radius:17px;display:grid;place-items:center;margin-bottom:15px}.empty b{font-size:12px;font-weight:500;margin-bottom:7px}.engine{display:flex;gap:12px;align-items:center;padding:16px 0;border-bottom:1px solid var(--line)}.engine:last-child{border-bottom:0}.engine-icon{width:37px;height:37px;background:var(--bg);border-radius:10px;display:grid;place-items:center;font-size:20px}.engine-info{flex:1}.engine-info b{font-size:12px;font-weight:600}.badge{font-size:9px;border-radius:5px;padding:5px 8px;color:#8b91a0;background:var(--bg)}.badge.amber{background:#fff4e3;color:#a47e3a}.notice{border-radius:8px;padding:12px;background:var(--bg);color:var(--muted);font-size:10px;line-height:1.8;margin-top:14px}.quick{margin-top:24px}.quick-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.quick-card{text-align:left;background:var(--panel);border:1px solid var(--line);border-radius:10px;padding:18px;color:var(--text)}.quick-card:hover{border-color:#b8c4f4}.quick-card span{font-size:18px;color:var(--accent);display:block;margin-bottom:11px}.quick-card b{font-size:12px;font-weight:500}.quick-card small{line-height:1.8}footer{display:flex;gap:12px;margin:20px 40px;padding:20px 0;border-top:1px solid var(--line);font-size:9px;letter-spacing:1px;color:var(--muted)}footer span:last-child{margin-left:auto;letter-spacing:0}.chatbox{margin-top:22px}.chatbox textarea{display:block;width:100%;min-height:140px;resize:vertical;background:var(--panel);color:var(--text);border:1px solid var(--line);border-radius:10px;padding:18px}.chat-actions{display:flex;align-items:center;justify-content:space-between;margin-top:12px}.secondary{border:1px solid var(--line);background:var(--panel);color:var(--text);padding:10px 14px;border-radius:8px}.draft{padding:16px 0;border-bottom:1px solid var(--line);white-space:pre-wrap;overflow-wrap:anywhere}.draft time{display:block;font-size:10px;color:var(--muted);margin-top:8px}#toast{position:fixed;bottom:25px;left:50%;transform:translateX(-50%);background:#253047;color:#fff;border-radius:9px;padding:12px 20px;font-size:12px;display:none;z-index:9}.dark{--bg:#161a23;--panel:#1e2430;--side:#1c222d;--text:#e5e9f2;--muted:#929caf;--line:#303746;--soft:#293655}.dark .intro{background:linear-gradient(110deg,#26314b,#2e2943);border-color:#3e4563}.dark .intro p{color:#b1bbd4}.dark .badge.amber{background:#3c3425;color:#d5b984}@media(min-width:1500px){main{padding-top:50px}}@media(max-width:1100px){aside{width:205px;padding:25px 14px}.shell{margin-left:205px}main{padding:28px}.grid{grid-template-columns:1fr}.stats{gap:10px}.stat{padding:17px 13px}.quick-card{padding:14px}}@media(max-width:720px){aside{transform:translateX(-100%);transition:transform .2s;width:235px}.nav-open aside{transform:translateX(0);box-shadow:12px 0 80px #0004}.shell{margin:0}header{height:65px;padding:0 18px;gap:12px}#menu{display:block}.header-right{margin-left:auto;gap:4px}.preview{display:none}main{padding:26px 18px}.heading{align-items:flex-start;gap:10px}h1{font-size:23px}.heading .primary{white-space:nowrap;padding:11px;font-size:11px}.intro{padding:23px}.intro .symbol{display:none}.intro h2{font-size:18px}.stats{grid-template-columns:repeat(2,1fr);margin:18px 0}.quick-grid{grid-template-columns:1fr}.panel{padding:19px}footer{margin:20px 18px}footer span:nth-child(2){display:none}.chat-actions{gap:10px;font-size:10px}.grid{gap:18px}}

.auth-locked>aside,.auth-locked>.shell{display:none}#auth-root:empty{display:none}.auth-card{max-width:450px;margin:8vh auto;padding:38px;background:var(--panel);border:1px solid var(--line);border-radius:18px;box-shadow:0 20px 80px #25375b0b}.auth-card .brand{margin-bottom:40px}.auth-card h1{font-size:25px;margin:13px 0}.auth-card form{margin-top:28px}.auth-card label,.member-form label{display:block;font-size:12px;margin:16px 0 8px}.auth-card input,.member-form input{width:100%;border:1px solid var(--line);border-radius:8px;padding:13px;background:var(--bg);color:var(--text);font:inherit}.auth-card .primary{width:100%;margin-top:14px}.auth-foot{margin-top:25px;text-align:center;font-size:11px}#auth-error{font-size:12px;color:#c44e52;line-height:1.7;margin-top:12px}.member-form{margin-top:25px}.member-form form{max-width:500px}.member-form .primary{margin-top:18px}.member-row{display:flex;align-items:center;justify-content:space-between;padding:20px 0;border-bottom:1px solid var(--line);gap:14px}.member-row b{font-size:13px}.member-row .secondary{font-size:11px;margin:3px}.issued{margin-top:25px;background:var(--soft);padding:20px;border-radius:10px}.issued pre{white-space:pre-wrap;overflow-wrap:anywhere;font:13px/1.8 monospace;color:var(--text)}.issued p{margin-top:8px}.header-right .secondary{font-size:10px;padding:7px 9px}button:disabled{opacity:.55;cursor:wait}@media(max-width:720px){.auth-card{margin:25px 16px;padding:28px}.member-row{align-items:flex-start;flex-direction:column}.header-right .preview{display:none}header>div:first-of-type{display:none}}

.member-form select,.role-label select{font:inherit;color:var(--text);background:var(--panel);border:1px solid var(--line);border-radius:8px;padding:10px;max-width:100%}.member-form select{width:100%}.role-label{font-size:11px;margin-right:8px}.role-label select{font-size:11px}
