:root{font-family:-apple-system,BlinkMacSystemFont,"Apple SD Gothic Neo","Noto Sans KR",sans-serif;color:#252538;background:#f7f8fc;font-synthesis:none;--purple:#6c5ce7;--muted:#808294;--line:#e9eaf2}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button{cursor:pointer;transition:background .15s,transform .15s}button:disabled{opacity:.5;cursor:not-allowed}button:focus-visible,a:focus-visible{outline:3px solid #b8afff;outline-offset:3px}a{color:inherit;text-decoration:none}h1,h2,p{margin:0}h1{letter-spacing:-1.3px}input,select,textarea{border:1px solid #dedfea;border-radius:9px;background:white;padding:12px 13px;color:#303047;min-width:0;outline:none}input:focus,textarea:focus,select:focus{border-color:var(--purple);box-shadow:0 0 0 3px #6c5ce712}input[type=checkbox]{accent-color:var(--purple);width:17px;height:17px}input[type=search]{width:100%}label{font-size:13px;font-weight:600;display:flex;flex-direction:column;gap:9px}button{border:0;border-radius:9px;padding:11px 17px;font-weight:600;font-size:13px}.primary{background:var(--purple);color:#fff}.primary:hover{background:#5949d0}.secondary{background:#fff;border:1px solid #dedfea;color:#55566c}.secondary:hover{background:#f3f1ff}.danger{background:#d84b61;color:white}.danger-note{color:#b64354;background:#fff3f4;padding:14px;border-radius:9px;margin:16px 0}.text-button{background:none;color:var(--purple);padding:8px}.icon-button{background:none;font-size:24px;padding:4px 9px;color:#85859b}.muted{color:var(--muted);line-height:1.7;font-size:14px}.eyebrow{font-size:10px;font-weight:800;letter-spacing:1.8px;color:#918aa8;display:block}.brand{display:flex;align-items:center;gap:10px;font-size:21px;font-weight:800;letter-spacing:-.8px}.brand-mark{background:var(--purple);color:white;border-radius:12px;width:38px;height:38px;display:grid;place-items:center;font-size:23px;box-shadow:0 5px 12px #6c5ce722}.brand small{font-size:9px;letter-spacing:1px;margin-left:4px;font-weight:600;color:var(--purple)}.login-page{min-height:100vh;display:grid;grid-template-columns:1fr 1fr;background:white}.login-story{padding:42px 9%;background:#eeebfa;position:relative;overflow:hidden;display:flex;flex-direction:column;min-height:100vh}.story-copy{margin:auto 0;padding:50px 0}.story-copy h1{font-size:40px;line-height:1.4;margin:21px 0;color:#3d3562}.story-copy p{font-size:15px;color:#8a839f;line-height:1.9}.story-footer{font-size:11px;color:#9b95ad}.story-art{height:220px;position:relative;margin-top:36px;max-width:350px}.art-card{position:absolute;background:#ffffffd9;width:280px;border:1px solid white;transform:rotate(-6deg);padding:27px;border-radius:18px;box-shadow:0 20px 45px #65579712;top:14px;left:15px}.art-card span{font-size:12px;font-weight:700;color:#746890}.art-card i{display:block;height:7px;width:90%;background:#ece9f7;border-radius:4px;margin-top:16px}.art-card i:nth-of-type(2){width:70%}.art-card i:nth-of-type(3){width:80%}.art-card b{display:block;margin-top:28px;font-size:10px;color:#aca4c2;font-weight:400}.art-dot{position:absolute;right:0;bottom:0;border-radius:25px;background:#7d6dec;color:#fff;font-size:65px;width:95px;height:95px;display:grid;place-items:center;transform:rotate(12deg)}.login-panel{display:grid;place-items:center;padding:40px}.login-form{width:100%;max-width:345px}.login-form h2{font-size:28px;letter-spacing:-.8px;margin:13px 0 10px}.login-form>.muted{margin-bottom:35px}.login-form label{margin-top:21px}.login-form input{padding:15px}.login-form>.primary{width:100%;display:flex;justify-content:space-between;padding:16px;margin-top:10px}.login-note{font-size:11px;color:#a1a1b0;line-height:1.7;margin-top:26px;text-align:center}.error{color:#c13d56;font-size:13px;line-height:1.6;min-height:20px;margin-top:10px}.boot{min-height:100vh;display:grid;place-items:center;color:var(--muted)}.dashboard{display:flex;min-height:100vh}.sidebar{width:232px;position:fixed;inset:0 auto 0 0;background:#fff;border-right:1px solid var(--line);padding:32px 20px;display:flex;flex-direction:column}.sidebar .brand{margin-left:8px;font-size:20px}.workspace-label{color:#a3a2b4;font-size:10px;margin:12px 0 47px 58px}.nav-heading{font-size:10px;color:#a3a2b4;font-weight:600;margin:0 14px 15px}.nav-item{background:transparent;display:flex;align-items:center;gap:13px;width:100%;text-align:left;color:#7c7d90;padding:14px;margin-bottom:6px;font-size:13px}.nav-item>span{font-size:22px;line-height:20px;font-weight:400}.nav-item.active{background:#f0edff;color:var(--purple)}.nav-item:hover{background:#f6f4ff}.sidebar-bottom{display:flex;align-items:center;gap:11px;margin-top:auto;border-top:1px solid var(--line);padding:23px 5px 0}.avatar{width:35px;height:35px;background:#f0edff;color:var(--purple);border-radius:50%;display:grid;place-items:center;font-size:13px;font-weight:700}.sidebar-bottom strong{font-size:12px;display:block}.sidebar-bottom small{font-size:10px;color:#a1a1b3;display:block;margin-top:4px}.sidebar-bottom .icon-button{margin-left:auto}.workspace{margin-left:232px;min-width:0;flex:1}.topbar{height:77px;border-bottom:1px solid var(--line);background:#ffffffb3;display:flex;align-items:center;justify-content:space-between;padding:0 38px;font-size:11px;color:#9999ac}.topbar strong{font-weight:500;color:#606077}.slash{padding:0 12px;color:#ceced9}.session-label{display:flex;align-items:center;gap:7px;color:#8e8e9e;font-size:10px}.session-label i{width:6px;height:6px;border-radius:50%;background:#63b396}.content{padding:35px 38px 20px;max-width:1660px;margin:auto}.page-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:28px}.page-heading h1{font-size:28px;margin:10px 0}.page-heading>.secondary{font-size:11px}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:29px}.stats article{padding:21px 24px;border:1px solid var(--line);border-radius:13px;background:white;position:relative}.stats article>span{font-size:12px;color:#898a9e}.stats strong{display:block;font-size:29px;font-weight:700;margin:13px 0 8px;letter-spacing:-1px}.stats small{font-size:10px;color:#b1b0bf}.stats article:last-child strong{color:var(--purple)}.data-panel{background:white;border:1px solid var(--line);border-radius:14px;overflow:hidden;box-shadow:0 4px 15px #24243602}.panel-title{display:flex;align-items:center;gap:9px;padding:24px 25px 20px}.panel-title h2{font-size:15px;letter-spacing:-.3px}.count-pill{background:#f1edff;border-radius:5px;color:var(--purple);padding:4px 7px;font-size:10px;font-weight:600}.filters{padding:0 25px 23px;display:flex;gap:9px;align-items:center}.filters input,.filters select{font-size:12px;height:39px;padding:10px 12px;background:#fff}.search-label{width:300px}.filters select{min-width:110px}.compact{height:39px}.filter-note{padding:12px 25px;background:#f8f6ff;font-size:12px;color:#7763c0}.table-wrap{overflow-x:auto;min-height:300px}table{width:100%;border-collapse:collapse;font-size:12px;white-space:nowrap}thead{background:#fafbfe;color:#9898aa;font-size:10px;font-weight:500}th{text-align:left;font-weight:500;padding:14px 18px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}td{padding:18px;border-bottom:1px solid #f0f1f6;vertical-align:middle}th:first-child,td:first-child{padding-left:25px}tbody tr:hover{background:#fdfcfe}tbody tr:last-child td{border-bottom:0}.member-cell{display:flex;align-items:center;gap:11px}.member-cell .avatar{width:32px;height:32px;font-size:11px;background:#f3f2f9;color:#9186ad}.cell-title{font-size:12px;font-weight:600;color:#53536b;line-height:1.5}.cell-sub{color:#a0a0b2;font-size:10px;display:block;margin-top:5px;line-height:1.5}.cell-copy{white-space:normal;min-width:160px;max-width:320px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;line-height:1.7;color:#67677e}.badge{font-size:10px;padding:5px 8px;border-radius:5px;background:#f1effc;color:#8779c0;display:inline-block}.badge.active,.badge.answered{color:#469777;background:#edf8f2}.badge.inactive,.badge.skipped,.badge.not_applicable{color:#9997a6;background:#f1f1f5}.badge.deferred{color:#bb9350;background:#fcf6e9}.row-actions{display:flex;gap:4px}.row-actions button{padding:6px 9px;font-size:10px;border:1px solid #e8e7f0;color:#8a839f;background:white;border-radius:6px}.row-actions button[data-action=delete]{color:#c08e99}.row-actions button:hover{background:#f6f4ff}.count-link{background:none;color:#8a7bbd;font-size:12px;padding:6px}.pagination{display:flex;justify-content:space-between;align-items:center;padding:19px 25px;border-top:1px solid var(--line);font-size:10px;color:#aaa9b9}.pagination>div{display:flex;align-items:center;gap:14px}.pagination button{font-size:10px;padding:8px 11px}.data-note{font-size:10px;color:#b5b3c4;margin-top:17px;text-align:right}.empty{min-height:300px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;color:#9c99af;font-size:12px;padding:24px;text-align:center}.empty b{font-size:15px;color:#6e6884}.list-error{padding:16px 25px;background:#fff4f4;color:#b85865;font-size:12px}dialog{border:1px solid #ebe8f1;border-radius:17px;padding:0;width:min(620px,calc(100% - 32px));max-height:90vh;box-shadow:0 24px 100px #25203e33;color:inherit}dialog::backdrop{background:#28213860;backdrop-filter:blur(3px)}.dialog-header{display:flex;justify-content:space-between;align-items:center;padding:25px 27px;border-bottom:1px solid var(--line)}.dialog-header h2{font-size:20px;margin-top:6px}.dialog-body{padding:25px 27px;display:grid;gap:20px}.dialog-body p{line-height:1.8;font-size:13px;color:#817b94;overflow-wrap:anywhere}.dialog-body label{color:#777085}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:17px}.check-label{flex-direction:row;align-items:center}.weekday-options{display:flex;gap:9px;flex-wrap:wrap}.weekday-options label{font-size:12px;flex-direction:row;align-items:center;gap:4px}.dialog-footer{display:flex;justify-content:flex-end;gap:9px;background:#faf9fc;padding:19px 27px;border-top:1px solid var(--line)}textarea{resize:vertical;min-height:110px;font-size:13px;line-height:1.7}.dialog-error{margin:0 27px 14px}.media-box{background:#f6f4fa;border-radius:10px;padding:15px}.media-box audio{width:100%}.media-box img{display:block;max-width:100%;max-height:320px;object-fit:contain;margin:auto;border-radius:8px}.media-box a{display:block;color:var(--purple);font-size:12px;margin-top:10px}.field-hint{font-size:11px;color:#a59cb4;line-height:1.6}.toast{position:fixed;bottom:28px;left:50%;transform:translateX(-50%);background:#353044;color:white;border-radius:10px;box-shadow:0 8px 25px #35304433;padding:14px 24px;font-size:13px;z-index:10;max-width:90vw}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}[hidden]{display:none!important}@media(min-width:1600px){.content{padding-top:45px}.stats article{padding:26px}.table-wrap{min-height:420px}}@media(max-width:1050px){.sidebar{width:195px;padding:26px 12px}.workspace{margin-left:195px}.content{padding:25px 20px}.topbar{padding:0 20px}.stats{gap:10px}.stats article{padding:17px}.story-copy h1{font-size:31px}.login-story{padding:35px 8%}}@media(max-width:720px){.login-page{grid-template-columns:1fr}.login-story{min-height:unset;padding:25px}.story-copy,.story-footer{display:none}.login-panel{padding:50px 25px}.sidebar{position:static;width:100%;padding:18px 16px;border-right:0;border-bottom:1px solid var(--line)}.dashboard{display:block}.sidebar .brand{font-size:18px}.sidebar .brand-mark{width:32px;height:32px;font-size:20px}.workspace-label,.nav-heading{display:none}.sidebar nav{display:flex;gap:4px;margin-top:18px}.nav-item{padding:10px 8px;margin:0;justify-content:center;font-size:11px;gap:6px}.nav-item>span{font-size:16px}.sidebar-bottom{position:absolute;top:18px;right:15px;margin:0;padding:0;border:0}.sidebar-bottom>.avatar,.sidebar-bottom>div{display:none}.workspace{margin:0}.topbar{height:48px;padding:0 18px}.session-label{font-size:9px}.content{padding:26px 16px}.page-heading{margin-bottom:23px}.page-heading h1{font-size:24px}.page-heading .muted{font-size:12px;max-width:220px}.stats{grid-template-columns:repeat(2,1fr);margin-bottom:22px}.stats strong{font-size:26px}.stats small{font-size:9px}.panel-title{padding:20px 16px}.filters{padding:0 16px 17px;flex-wrap:wrap}.search-label{flex:1;min-width:150px}.filters select{min-width:94px}.filters input{font-size:11px}.pagination{padding:16px;gap:8px}.dialog-header,.dialog-body{padding:20px}.form-grid{grid-template-columns:1fr}.data-note{font-size:9px}}
/* Keep secondary text cells in the table layout. */
td.cell-sub{display:table-cell;margin-top:0}
