:root{color:var(--ink);background:var(--bg);--ink:#26221a;--ink-2:#5e5747;--muted:#8a8270;--line:#ece6d6;--bg:#faf8f1;--card:#fff;--side:#17150d;--side-2:#221f13;--side-line:#322d1c;--side-text:#b9b199;--side-dim:#857d63;--yellow:#ffc928;--yellow-2:#ffd85c;--yellow-soft:#fff5d1;--yellow-ink:#7a5800;--red:#b42318;--red-soft:#fdecea;--green:#2f7a4b;--green-soft:#e6f4ea;--blue:#2b5c99;--blue-soft:#e8f0fa;--amber:#a35a12;--amber-soft:#fdf0e1;--c-public:#2f7a4b;--c-public-bg:#e6f4ea;--c-internal:#2b5c99;--c-internal-bg:#e8f0fa;--c-confidential:#a35a12;--c-confidential-bg:#fdefdc;--c-restricted:#b42318;--c-restricted-bg:#fde8e6;--c-check:#6a4ca3;--c-check-bg:#f0ebfa;font-family:DM Sans,Noto Sans KR,system-ui,sans-serif;font-size:15px}*{box-sizing:border-box}body{background:var(--bg);margin:0}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer;background:0 0;border:0}button:disabled{cursor:not-allowed;opacity:.5}:focus-visible{outline:3px solid var(--yellow);outline-offset:2px}h1,h2,h3,p{margin:0}small{font-size:12px}svg{flex-shrink:0}.brand-mark{flex-shrink:0;display:block}.wordmark{letter-spacing:-.6px;color:var(--ink);align-items:center;gap:10px;font-size:21px;font-weight:700;display:inline-flex}.wordmark>span{flex-direction:column;line-height:1.1;display:flex}.wordmark small{letter-spacing:2.4px;color:var(--yellow-ink);margin-top:3px;font-size:10.5px;font-weight:600}.wordmark.light{color:#fff}.wordmark.light small{color:var(--yellow)}.shell{min-height:100vh;display:flex}.sidebar{background:var(--side);width:248px;color:var(--side-text);z-index:40;flex-direction:column;padding:26px 16px 0;display:flex;position:fixed;inset:0 auto 0 0;overflow-y:auto}.brand{justify-content:space-between;align-items:center;padding:0 8px 26px;display:flex}.icon-button.close-nav{color:var(--side-text);display:none}.ws-name,.ws-select{border:1px solid var(--side-line);background:var(--side-2);color:#f2ecd8;border-radius:9px;margin:0 4px 22px;padding:11px 12px;font-size:14px;font-weight:600}.ws-name small{letter-spacing:1.6px;color:var(--side-dim);margin-bottom:3px;font-size:10.5px;font-weight:600;display:block}.ws-select option{background:var(--side)}.sidebar nav{flex-direction:column;gap:3px;display:flex}.sidebar nav button{text-align:left;height:42px;color:var(--side-text);border-radius:8px;align-items:center;gap:12px;padding:0 12px;font-size:14px;display:flex}.sidebar nav button:hover{background:var(--side-2);color:#fff}.sidebar nav button.active{background:var(--yellow);color:#231b00;font-weight:650}.sidebar nav button b{background:var(--red);color:#fff;border-radius:10px;margin-left:auto;padding:1px 7px;font-size:11px}.profile{border-top:1px solid var(--side-line);align-items:center;gap:10px;margin-top:auto;padding:18px 4px;display:flex}.profile>div{flex:1;min-width:0}.profile strong{color:#f2ecd8;font-size:13px;display:block}.profile small{color:var(--side-dim);text-overflow:ellipsis;white-space:nowrap;margin-top:2px;font-size:11.5px;display:block;overflow:hidden}.profile .icon-button{color:var(--side-text)}.avatar{background:var(--yellow);color:#231b00;border-radius:50%;flex-shrink:0;place-items:center;width:32px;height:32px;font-size:13px;font-weight:700;display:grid}.main{flex:1;min-width:0;margin-left:248px}.topbar{border-bottom:1px solid var(--line);z-index:20;background:#fff;align-items:center;gap:16px;height:64px;padding:0 32px;display:flex;position:sticky;top:0}.crumb{color:var(--muted);align-items:center;gap:8px;font-size:13px;display:flex}.crumb span{color:#cfc6ad}.crumb strong{color:var(--ink);font-weight:600}.persona{color:var(--yellow-ink);background:var(--yellow-soft);white-space:nowrap;border:1px solid #f5e2a0;border-radius:9px;align-items:center;gap:8px;margin-left:auto;padding:5px 6px 5px 12px;font-size:12.5px;display:flex}.persona select{background:#fff;border:1px solid #ecd68a;border-radius:6px;width:auto;padding:5px 8px;font-size:13px}.sample-dot{background:var(--yellow);border-radius:50%;width:7px;height:7px;box-shadow:0 0 0 3px #ffe58f}.workspace{max-width:1500px;margin:0 auto;padding:30px 32px 48px}.icon-button.menu-button,.nav-scrim{display:none}.page-heading{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:20px;margin-bottom:22px;display:flex}.page-heading>div:first-child{min-width:0;max-width:820px}.page-heading h1{letter-spacing:-.8px;margin:6px 0 8px;font-size:27px;font-weight:700}.page-heading p{color:var(--ink-2);flex-wrap:wrap;align-items:center;gap:6px;font-size:14px;line-height:1.7;display:flex}.heading-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.heading-actions select{width:auto}.eyebrow{letter-spacing:1.6px;color:var(--yellow-ink);text-transform:uppercase;font-size:11px;font-weight:700;display:block}.panel{background:var(--card);border:1px solid var(--line);border-radius:12px;min-width:0;margin-bottom:20px;overflow:hidden}.pad-panel{padding:22px 24px}.pad-panel h2{align-items:center;gap:8px;margin:4px 0 12px;font-size:17px;display:flex}.panel-title{justify-content:space-between;align-items:center;gap:10px;padding:18px 22px 12px;display:flex}.panel-title h2{margin-top:3px;font-size:16px}.pad{padding:0 22px 18px}.two-col{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:20px;display:grid}.two-col>.panel{margin-bottom:20px}.grid2{grid-template-columns:1fr 1fr;gap:0 16px;display:grid}.grid3{grid-template-columns:1fr 1fr 1fr;gap:8px;margin-bottom:10px;display:grid}.button{border:1px solid var(--line);white-space:nowrap;background:#fff;border-radius:8px;justify-content:center;align-items:center;gap:7px;height:38px;padding:0 14px;font-size:13.5px;font-weight:600;display:inline-flex}.button:hover:not(:disabled){background:#f7f3e6}.button.primary{background:var(--yellow);color:#231b00;border-color:#f0b800}.button.primary:hover:not(:disabled){background:var(--yellow-2)}.button.danger-outline{color:var(--red);border-color:#f2c7c2}.button.full{width:100%;height:44px}.small-button{height:30px;padding:0 10px;font-size:12.5px}.icon-button{width:30px;height:30px;color:var(--muted);border-radius:7px;justify-content:center;align-items:center;display:inline-flex}.icon-button:hover:not(:disabled){color:var(--ink);background:#f3eedf}.text-button{color:var(--yellow-ink);align-items:center;gap:5px;padding:4px 0;font-size:13px;font-weight:600;display:inline-flex}.link{text-align:left;padding:0}.link:hover strong{text-decoration:underline;-webkit-text-decoration-color:var(--yellow);text-decoration-color:var(--yellow);text-underline-offset:3px}.muted{color:var(--muted);margin:6px 0 12px;font-size:13px;line-height:1.7}.muted-text{color:#b3ab95}.red-text{color:var(--red)}.footnote{color:var(--muted);margin-top:8px;font-size:12px;line-height:1.7}.footnote.pad{margin:0;padding:0 22px 16px}.meta{color:var(--muted);margin:6px 0 14px;font-size:12px}.spacer{flex:1}.notice{background:var(--yellow-soft);color:#6b4e00;border:1px solid #f3df9b;border-radius:9px;flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:16px;padding:11px 14px;font-size:13.5px;display:flex}.notice.red{background:var(--red-soft);color:var(--red);border-color:#f4c7c2}.empty{color:var(--muted);text-align:center;flex-direction:column;align-items:center;gap:8px;padding:48px 20px;display:flex}.empty strong{color:var(--ink-2)}.empty p{max-width:460px;font-size:13.5px;line-height:1.7}.class-badge{white-space:nowrap;border-radius:6px;align-items:center;gap:6px;padding:3px 8px 3px 4px;font-size:12px;font-weight:600;line-height:1.4;display:inline-flex}.class-badge b{color:#fff;border-radius:4px;place-items:center;width:17px;height:17px;font-size:11px;display:grid}.class-badge.public{background:var(--c-public-bg);color:var(--c-public)}.class-badge.public b{background:var(--c-public)}.class-badge.internal{background:var(--c-internal-bg);color:var(--c-internal)}.class-badge.internal b{background:var(--c-internal)}.class-badge.confidential{background:var(--c-confidential-bg);color:var(--c-confidential)}.class-badge.confidential b{background:var(--c-confidential)}.class-badge.restricted{background:var(--c-restricted-bg);color:var(--c-restricted)}.class-badge.restricted b{background:var(--c-restricted)}.class-badge.check{background:var(--c-check-bg);color:var(--c-check);padding-left:8px}.class-badge.none{color:#b3ab95;padding-left:8px}.pill{white-space:nowrap;color:#6d6550;background:#f1ede1;border-radius:20px;align-items:center;gap:4px;padding:3px 8px;font-size:12px;font-weight:600;display:inline-flex}.pill.yellow{background:var(--yellow-soft);color:var(--yellow-ink)}.pill.green{background:var(--green-soft);color:var(--green)}.pill.red{background:var(--red-soft);color:var(--red)}.pill.amber{background:var(--amber-soft);color:var(--amber)}.pill.blue{background:var(--blue-soft);color:var(--blue)}.table-scroll{overflow-x:auto}table{border-collapse:collapse;text-align:left;width:100%}th{color:var(--muted);white-space:nowrap;border-bottom:1px solid var(--line);background:#fbf9f3;padding:11px 14px;font-size:11.5px;font-weight:600}td{vertical-align:top;white-space:nowrap;border-bottom:1px solid #f2eee2;padding:12px 14px;font-size:13.5px}tbody tr:last-child td{border-bottom:0}td small{color:var(--muted);margin-top:3px;display:block}td.wrap{white-space:normal;min-width:180px;line-height:1.6}td.mono{color:var(--ink-2);font-family:ui-monospace,Consolas,monospace;font-size:12px}.right{text-align:right}td.actions{text-align:right;white-space:nowrap;vertical-align:middle}td.actions>*+*{margin-left:6px}.table-scroll th.right:last-child,.table-scroll td.actions:last-child{background:#fff;position:sticky;right:0;box-shadow:-10px 0 10px -10px #3a300c33}.table-scroll th.right:last-child{background:#fbf9f3}.numeric{font-weight:700}table.inventory tbody tr{cursor:pointer}table.inventory tbody tr:hover{background:#fffbea}.name-cell{max-width:320px}.name-cell strong,.name-cell small{text-overflow:ellipsis;display:block;overflow:hidden}.flag-col{text-align:center}.dot{font-size:14px}.dot.yes{color:var(--red)}.dot.no{color:#c9c1aa}.dot.unsure{color:var(--c-check);font-weight:700}.cell-line{display:block}.yn{font-weight:600}.yn.yes{color:var(--green)!important}.yn.no{color:var(--red)!important}.lock-icon{vertical-align:-2px;color:var(--muted);margin-left:6px}.filters{flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:14px;display:flex}.filters select{width:auto;min-width:150px}.search{border:1px solid var(--line);min-width:220px;max-width:380px;color:var(--muted);background:#fff;border-radius:8px;flex:1;align-items:center;gap:8px;padding:0 12px;display:flex}.search input{border:0;padding:9px 0;box-shadow:none!important}.check{color:var(--ink-2);white-space:nowrap;cursor:pointer;align-items:center;gap:7px;font-size:13px;flex-direction:row!important;display:inline-flex!important}.check input{accent-color:#d9a400;width:auto}.count{color:var(--muted);margin-left:auto;font-size:12.5px}input,select,textarea{background:#fff;border:1px solid #e3dcc7;border-radius:8px;outline:none;width:100%;padding:9px 11px;font-size:14px}input:focus,select:focus,textarea:focus{border-color:#e9b400;box-shadow:0 0 0 3px #ffe48a55}input:disabled,select:disabled,textarea:disabled{color:var(--ink-2);background:#f8f6ef}textarea{resize:vertical;line-height:1.6}fieldset{border:0;min-width:0;margin:0;padding:0}.field{color:var(--ink-2);flex-direction:column;gap:6px;margin-bottom:14px;font-size:12.5px;font-weight:600;display:flex}.field>small{color:var(--muted);font-weight:400}.segmented{background:#f5f1e4;border-radius:8px;gap:3px;padding:3px;display:flex}.segmented button{color:var(--muted);border-radius:6px;flex:1;padding:6px 4px;font-size:13px;font-weight:600}.segmented button.selected{color:var(--ink);background:#fff;box-shadow:0 1px 3px #3a300c1a}.segmented button.selected.yes{color:var(--red)}.segmented button.selected.no{color:var(--green)}.segmented button.selected.unsure{color:var(--c-check)}.form-error{background:var(--red-soft);color:var(--red);border-radius:8px;margin:10px 0;padding:10px 12px;font-size:13px;line-height:1.6}.form-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;margin-top:14px;display:flex}.inline-row{align-items:center;gap:8px;margin-bottom:8px;display:flex}.inline-row .field{margin:0}dialog{border:1px solid var(--line);width:480px;max-width:calc(100vw - 24px);max-height:92dvh;color:var(--ink);border-radius:14px;padding:0;box-shadow:0 24px 80px #2a220a33}dialog.wide{width:860px}dialog::backdrop{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#17150d88}.dialog-head{border-bottom:1px solid var(--line);z-index:2;background:#fff;justify-content:space-between;align-items:center;padding:16px 22px;display:flex;position:sticky;top:0}.dialog-head h2{font-size:17px}.dialog-body{padding:18px 22px 20px}.editor h3{letter-spacing:1px;color:var(--yellow-ink);text-transform:uppercase;border-top:1px solid var(--line);margin:16px 0 10px;padding-top:14px;font-size:12px}.editor h3 small{text-transform:none;color:var(--muted);letter-spacing:0;font-weight:500}.editor fieldset:first-of-type h3:first-child{border-top:0;padding-top:0}.class-preview{background:var(--yellow-soft);border:1px solid #f3df9b;border-radius:10px;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:14px;padding:12px;display:grid}.class-preview>div{flex-direction:column;align-items:flex-start;gap:6px;display:flex}.class-preview span{color:var(--yellow-ink);font-size:11.5px;font-weight:600}.leader-box{background:#fbf9f3;border:1px dashed #e3d8b5;border-radius:10px;margin-top:14px;padding:0 14px 4px}.leader-box h3{border-top:0!important}.risk-list,.risk-feed{flex-direction:column;gap:6px;margin-top:12px;display:flex}.risk-feed{margin:0;padding:0 22px 18px}.risk{color:var(--ink-2);background:#f6f3ea;border-radius:8px;align-items:flex-start;gap:8px;padding:9px 11px;font-size:13px;line-height:1.5;display:flex}.risk svg{margin-top:2px}.risk.high{background:var(--red-soft);color:var(--red)}.risk.medium{background:var(--amber-soft);color:var(--amber)}.risk strong{color:var(--ink);overflow-wrap:anywhere;font-size:13px;display:block}.risk small{margin-top:2px;display:block}.stats{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:20px;display:grid}.stat{border:1px solid var(--line);text-align:left;background:#fff;border-radius:12px;flex-direction:column;gap:6px;padding:16px 18px;display:flex}button.stat:hover{border-color:#f0cf62}.stat-top{color:var(--muted);align-items:center;gap:7px;font-size:12.5px;font-weight:600;display:flex}.stat-top svg{color:#d9a400}.stat strong{letter-spacing:-1px;font-size:30px}.stat.red strong{color:var(--red)}.stat.yellow{background:var(--yellow-soft);border-color:#f3df9b}.stat small{color:var(--muted)}.class-bar,.mini-dist{background:#f2eee2;border-radius:7px;gap:2px;height:14px;margin:4px 22px 14px;display:flex;overflow:hidden}.mini-dist{border-radius:4px;width:80px;height:8px;margin:6px 0 0}.class-bar i,.mini-dist i{display:block}i.public{background:var(--c-public)}i.internal{background:var(--c-internal)}i.confidential{background:#e08a2c}i.restricted{background:var(--c-restricted)}i.none{background:#ece6d6}.class-legend{flex-wrap:wrap;gap:8px;padding:0 22px 12px;display:flex}.class-legend button{border:1px solid var(--line);border-radius:8px;align-items:center;gap:8px;padding:5px 10px 5px 5px;display:flex}.class-legend button:hover{border-color:#f0cf62}.checklist,.guide{flex-direction:column;gap:9px;margin:8px 0 14px;padding:0;font-size:13.5px;line-height:1.6;list-style:none;display:flex}.checklist li{color:var(--muted);gap:8px;display:flex}.checklist li svg{color:#d8d0b8;margin-top:2px}.checklist li.ok{color:var(--ink)}.checklist li.ok svg{color:var(--green)}.guide li{color:var(--ink-2);padding-left:16px;position:relative}.guide li:before{content:"";background:var(--yellow);border-radius:50%;width:6px;height:6px;position:absolute;top:9px;left:2px}.sub{margin:16px 0 4px;font-size:14px}.mini-stats{border:1px solid var(--line);border-radius:10px;grid-template-columns:repeat(4,1fr);margin:14px 0;display:grid}.mini-stats>div{flex-direction:column;gap:2px;padding:12px;display:flex}.mini-stats>div+div{border-left:1px solid var(--line)}.mini-stats b{font-size:22px}.mini-stats span{color:var(--muted);font-size:12px}.access-row{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-top:6px;display:grid}.access-chip{border:1px solid var(--line);border-radius:10px;flex-direction:column;align-items:flex-start;gap:6px;padding:12px;font-size:13px;display:flex}.access-chip.none{opacity:.55}.access-chip.full{background:#fffcf0;border-color:#f0cf62}.access-chip span{color:var(--ink-2)}.class-cards{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:20px;display:grid}.class-card{border:1px solid var(--line);background:#fff;border-top:4px solid;border-radius:12px;padding:16px}.class-card.public{border-top-color:var(--c-public)}.class-card.internal{border-top-color:var(--c-internal)}.class-card.confidential{border-top-color:#e08a2c}.class-card.restricted{border-top-color:var(--c-restricted)}.class-card header{align-items:center;gap:8px;display:flex}.class-card header .count{color:var(--muted);margin-left:auto;font-size:12px}.class-card h3{margin:12px 0 10px;font-size:18px}.class-card h3 small{color:var(--muted);font-size:12px;font-weight:500}.class-card dl{margin:0;font-size:13px;line-height:1.65}.class-card dt{color:var(--muted);letter-spacing:.5px;margin-top:8px;font-size:11px;font-weight:600}.class-card dd{color:var(--ink-2);margin:2px 0 0}table.matrix th.group{text-align:center;font-size:12px}table.matrix th.group.confidential{background:var(--c-confidential-bg);color:var(--c-confidential)}table.matrix th.group.restricted{background:var(--c-restricted-bg);color:var(--c-restricted)}table.matrix th{text-align:center;white-space:normal;min-width:92px}table.matrix th:first-child{text-align:left}.mcell{text-align:center;padding:4px}.mcell button{border-radius:8px;flex-direction:column;justify-content:center;align-items:center;gap:2px;width:100%;min-height:48px;padding:6px;display:flex}.mcell button:not(:disabled):hover{outline:2px solid var(--yellow)}.mcell button:disabled{opacity:1;cursor:default}.mcell b{font-size:15px}.mcell small{white-space:normal;margin:0;font-size:11px}.mcell small.exception{color:var(--green);font-weight:600}.mcell.full button{color:#5c4300;background:#fff3c4}.mcell.partial button{color:#7a5800;background:#fffae6}.mcell.designated button,.mcell.as_needed button{background:var(--blue-soft);color:var(--blue)}.mcell.none button{color:#c3bba3;background:#f7f5ee}.decisions{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;display:grid}.decision h2{font-size:15px;line-height:1.55}.options{flex-direction:column;gap:6px;margin:8px 0;display:flex}.option{border:1px solid var(--line);cursor:pointer;border-radius:8px;align-items:center;gap:8px;padding:9px 10px;font-size:13.5px;display:flex}.option input{accent-color:#d9a400;width:auto}.option.chosen{background:var(--yellow-soft);border-color:#f0b800;font-weight:600}.option .pill{margin-left:auto}tr.step.done td{color:var(--muted)}tr.step.doing td:first-child{box-shadow:inset 3px 0 var(--yellow)}tr.step select{width:auto}.dept-list{margin:0 0 8px;padding:0;list-style:none}.dept-list li{border-bottom:1px solid #f2eee2;justify-content:space-between;align-items:center;gap:10px;padding:8px 0;font-size:13.5px;display:flex}.dept-list li small{color:var(--muted);white-space:nowrap}.dept-name{align-items:center;gap:6px;display:inline-flex}.dept-name small{color:var(--muted)}.auth-page{background:radial-gradient(ellipse at top, #fff1bf, transparent 65%), var(--bg);min-height:100vh;color:var(--ink-2);flex-direction:column;justify-content:center;align-items:center;gap:18px;padding:24px 16px;display:flex}.auth-brand{margin-bottom:6px}.auth-card{background:#fff;border:1px solid #efe4bf;border-radius:16px;flex-direction:column;gap:4px;width:440px;max-width:100%;padding:32px;display:flex;box-shadow:0 18px 60px #6b520014}.auth-card h1{letter-spacing:-.7px;color:var(--ink);margin:10px 0 18px;font-size:23px;line-height:1.45}.auth-tabs{margin-bottom:16px}.toast{background:var(--side);color:#fff;border-left:4px solid var(--yellow);z-index:100;border-radius:10px;max-width:min(620px,92vw);padding:13px 18px;font-size:13.5px;line-height:1.5;position:fixed;bottom:22px;left:calc(50% + 124px);transform:translate(-50%);box-shadow:0 10px 30px #0003}.toast.bad{border-left-color:#ff6b5e}@media (max-width:1180px){.class-cards,.stats{grid-template-columns:repeat(2,minmax(0,1fr))}.decisions{grid-template-columns:1fr}.access-row{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:900px){.sidebar{transition:transform .2s;transform:translate(-100%)}.sidebar.open{transform:none}.icon-button.close-nav{display:inline-flex}.nav-scrim{z-index:30;background:#17150d66;display:block;position:fixed;inset:0}.main{margin-left:0}.icon-button.menu-button{display:inline-flex}.topbar{padding:0 16px;flex-wrap:wrap;gap:8px 12px;height:auto;min-height:58px;padding-block:8px}.persona{justify-content:space-between;width:100%;margin-left:0}.workspace{padding:20px 16px 40px}.two-col,.grid2,.grid3{grid-template-columns:1fr}.toast{left:50%}.class-preview{grid-template-columns:1fr}}@media (max-width:560px){.stats,.class-cards,.access-row{grid-template-columns:1fr}.page-heading h1{font-size:23px}.mini-stats{grid-template-columns:repeat(2,1fr)}.mini-stats>div:nth-child(3){border-left:0}.search{max-width:none}}
