:root{color:#172024;background:#eef2f3;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Microsoft YaHei,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility}*{box-sizing:border-box}body{min-width:1180px;margin:0}button,input{font:inherit}button{cursor:pointer}a{color:inherit;text-decoration:none}.app-shell{display:grid;grid-template-columns:244px minmax(0,1fr);height:100vh;min-height:0;background:#eef2f3}.app-sidebar{display:grid;grid-template-rows:auto minmax(0,1fr) auto;gap:18px;min-height:0;padding:18px 14px;border-right:1px solid #d6dde0;background:#fbfcfc}.sidebar-brand{display:flex;align-items:center;gap:12px;padding:4px 4px 12px;border-bottom:1px solid #edf1f2}.sidebar-brand strong,.sidebar-brand span,.sidebar-user strong,.sidebar-user span{display:block}.sidebar-brand strong{font-size:15px}.sidebar-brand span,.sidebar-user span{margin-top:3px;color:#66777d;font-size:12px}.side-menu{display:grid;align-content:start;gap:20px;min-height:0}.menu-group{display:grid;gap:8px}.menu-group>span{padding:0 9px;color:#728287;font-size:12px;font-weight:800}.menu-link{display:flex;align-items:center;gap:10px;height:40px;padding:0 10px;border:1px solid transparent;border-radius:8px;color:#38484e;font-size:14px;font-weight:800}.menu-link:hover{border-color:#d4e0e2;background:#f5f8f9}.menu-link.router-link-active{border-color:#9acccb;background:#e6f5f3;color:#0c6966}.sidebar-user{display:grid;grid-template-columns:36px minmax(0,1fr);gap:10px;align-items:center;padding:12px 10px;border:1px solid #dce4e6;border-radius:8px;background:#f7fafb}.user-avatar{display:grid;width:36px;height:36px;place-items:center;border-radius:8px;color:#0d6f6a;background:#e2f4f3}.app-main{display:grid;grid-template-rows:64px minmax(0,1fr);min-width:0;min-height:0}.shell-topbar{display:flex;align-items:center;justify-content:space-between;padding:0 20px;border-bottom:1px solid #d6dde0;background:#fafcfcf0}.shell-topbar strong{display:block;font-size:17px}.shell-topbar span{display:inline-flex;align-items:center;gap:6px;margin-top:4px;color:#66777d;font-size:12px;font-weight:700}.workspace{display:grid;grid-template-rows:64px minmax(0,1fr);min-height:100vh;background:linear-gradient(180deg,#ffffffc2,#eef2f3cc),#eef2f3}.workspace-page{display:grid;grid-template-rows:62px minmax(0,1fr);min-height:0;background:linear-gradient(180deg,#ffffffc2,#eef2f3cc),#eef2f3}.workspace-actionbar{display:flex;align-items:center;justify-content:space-between;min-width:0;padding:0 16px}.workspace-title-block{min-width:0}.workspace-title-block strong,.workspace-title-block span{display:block}.workspace-title-block strong{color:#172024;font-size:15px}.workspace-title-block span{overflow:hidden;max-width:520px;margin-top:3px;color:#66777d;font-size:12px;text-overflow:ellipsis;white-space:nowrap}.topbar{display:flex;align-items:center;justify-content:space-between;padding:0 22px;border-bottom:1px solid #d6dde0;background:#fafcfceb}.brand,.topbar-actions,.toolbar,.slice-strip{display:flex;align-items:center}.brand{gap:12px}.brand-mark{display:grid;width:38px;height:38px;color:#fff;place-items:center;border-radius:8px;background:linear-gradient(135deg,#0f7c80,#5257a8);box-shadow:0 10px 30px #244e6038}.brand strong{display:block;font-size:16px}.brand span{display:block;margin-top:2px;color:#66777d;font-size:12px}.topbar-actions{gap:10px}.icon-button,.tool-button,.primary-button,.submit-button,.secondary-button{display:inline-flex;align-items:center;justify-content:center;border:1px solid #cbd5d9;border-radius:8px;background:#fff;color:#243136;transition:transform .12s ease,border-color .12s ease,background .12s ease}.icon-button{width:38px;height:38px;position:relative}.upload-button input{position:absolute;top:0;right:0;bottom:0;left:0;opacity:0}.upload-entry{position:relative;overflow:hidden}.upload-entry input{position:absolute;top:0;right:0;bottom:0;left:0;opacity:0}.primary-button,.submit-button{gap:8px;height:38px;padding:0 14px;border-color:#177b76;background:#16827b;color:#fff;font-weight:700;white-space:nowrap}.secondary-button{gap:8px;height:38px;padding:0 13px;background:#fff;color:#26343a;font-weight:700;white-space:nowrap}.user-chip{display:inline-flex;align-items:center;height:30px;padding:0 10px;border:1px solid #d3dde0;border-radius:8px;color:#425258;background:#f8fbfb;font-size:13px;font-weight:700}.submit-button{width:100%;margin-top:16px;background:#5257a8;border-color:#5257a8}.icon-button:hover,.tool-button:hover,.case-row:hover,.label-row:hover{transform:translateY(-1px);border-color:#77a6ad}.layout{display:grid;grid-template-columns:288px minmax(620px,1fr) 310px;gap:16px;min-height:0;padding:16px}.study-queue,.right-panel,.viewer-column{min-height:0}.study-queue,.side-section{border:1px solid #d9e1e3;border-radius:8px;background:#ffffffdb}.study-queue{overflow:auto;padding:12px}.right-panel{display:grid;align-content:start;gap:14px}.side-section{padding:14px}.panel-heading{display:flex;align-items:center;justify-content:space-between;min-height:32px;margin-bottom:10px}.panel-heading span{color:#617177;font-size:13px;font-weight:700}.panel-heading strong{color:#172024;font-size:13px}.case-row,.label-row{display:grid;width:100%;min-height:72px;margin-bottom:8px;border:1px solid transparent;border-radius:8px;background:#f7fafb;color:inherit;text-align:left}.case-row{grid-template-columns:26px minmax(0,1fr) 54px;gap:9px;align-items:center;padding:10px}.case-row.active{border-color:#0f7c80;background:#ecf8f7}.case-icon{color:#0f7c80}.case-main strong,.case-main small,.case-meta b,.case-meta small{display:block}.case-main strong{font-size:14px}.case-main small{overflow:hidden;margin-top:3px;color:#65757a;text-overflow:ellipsis;white-space:nowrap}.case-meta{text-align:right}.case-meta b{color:#5257a8;font-size:12px}.case-meta small{margin-top:4px;color:#76868b;font-size:12px}.viewer-column{display:grid;grid-template-rows:46px minmax(0,1fr) 48px;gap:12px}.toolbar{gap:8px;min-width:0;padding:6px;border:1px solid #d9e1e3;border-radius:8px;background:#fff}.toolbar-spacer{flex:1}.tool-button{width:34px;height:34px}.tool-button.active{border-color:#177b76;background:#e2f4f3;color:#0d6f6a}.brush-size{display:flex;align-items:center;gap:8px;min-width:160px;height:34px;padding:0 9px;border:1px solid #d3dde0;border-radius:8px;color:#506167;background:#f8fbfb}.brush-size input{width:82px;accent-color:#0f7c80}.brush-size b{min-width:22px;color:#26343a;font-size:12px;text-align:right}.viewport-shell{display:grid;grid-template-rows:38px minmax(0,1fr);min-height:0;overflow:hidden;border:1px solid #1c282c;border-radius:8px;background:#0b0f11;box-shadow:0 22px 60px #14282e38}.viewport-header{display:flex;align-items:center;justify-content:space-between;padding:0 14px;color:#c9d7db;background:#131b1e;font-size:13px}.viewport-header b{color:#80e0d7}.viewport-body{position:relative;min-height:520px;overflow:hidden}.dicom-image,.dicom-canvas{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%}.dicom-image{opacity:0}.dicom-image.visible{opacity:1}.dicom-canvas{cursor:crosshair;touch-action:none}.slice-strip{gap:12px;min-width:0;padding:0 14px;border:1px solid #d9e1e3;border-radius:8px;background:#fff}.slice-strip span{min-width:72px;color:#596b70;font-size:13px;font-weight:700}.slice-strip span:last-child{text-align:right}.slice-strip input{flex:1;accent-color:#0f7c80}.label-row{grid-template-columns:18px minmax(0,1fr) 28px;align-items:center;min-height:44px;padding:0 10px;color:#233136}.label-row.active{border-color:#5257a8;background:#f2f2ff}.swatch{width:12px;height:12px;border-radius:50%;box-shadow:0 0 0 3px #0000000d}.label-row small{color:#6f7f85;text-align:right}.slice-objects-heading{margin-top:14px;padding-top:12px;border-top:1px solid #edf1f2}.mini-danger-button{min-width:58px;height:28px;border:1px solid #e8c2c8;border-radius:8px;background:#fff7f8;color:#ab3346;font-size:12px;font-weight:800}.empty-panel-note{margin-top:4px;padding:10px;border:1px dashed #d6dde0;border-radius:8px;color:#6f7f85;font-size:12px;text-align:center}.slice-object-row{display:grid;grid-template-columns:12px minmax(0,1fr) 34px;gap:10px;align-items:center;min-height:48px;margin-top:8px;padding:0 10px;border:1px solid #e4eaec;border-radius:8px;background:#fbfcfc;cursor:pointer}.slice-object-row:hover{border-color:#bfd1d6;background:#f7fbfb}.slice-object-row.active{border-color:#0f7c80;background:#e8f6f5;box-shadow:inset 0 0 0 1px #0f7c8024}.slice-object-main{min-width:0}.slice-object-main strong,.slice-object-main small{display:block}.slice-object-main strong{overflow:hidden;color:#233136;font-size:13px;text-overflow:ellipsis;white-space:nowrap}.slice-object-main small{margin-top:3px;color:#6f7f85;font-size:12px}.meta-list{display:grid;gap:10px;margin:0}.meta-list div{display:grid;grid-template-columns:88px minmax(0,1fr);gap:10px;min-height:34px;align-items:center;border-bottom:1px solid #edf1f2}.meta-list dt,.meta-list dd{margin:0}.meta-list dt{display:flex;align-items:center;gap:6px;color:#6b7b80;font-size:12px}.meta-list dd{overflow:hidden;color:#1f2c31;font-size:13px;font-weight:700;text-overflow:ellipsis;white-space:nowrap}.panel-note{margin:12px 0 0;padding:9px 10px;border-radius:8px;color:#375057;background:#f3f7f8;font-size:12px;font-weight:700;line-height:1.45}.panel-note.done{color:#116b4e;background:#e8f8f2}.panel-note.error{color:#9d2431;background:#fff0f2}@media(max-width:1240px){body{min-width:1040px}.layout{grid-template-columns:250px minmax(560px,1fr) 270px}}.auth-page{display:grid;min-height:100vh;place-items:center;padding:32px;background:linear-gradient(180deg,#f7fafbf5,#e4eceee6),#eef2f3}.auth-panel{width:min(440px,100%);padding:22px;border:1px solid #d6dde0;border-radius:8px;background:#fff;box-shadow:0 24px 70px #2641482e}.auth-brand{display:flex;align-items:center;gap:12px;margin-bottom:18px}.auth-brand strong{display:block;font-size:18px}.auth-brand span{color:#66777d;font-size:13px}.auth-tabs,.admin-controls{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;margin-bottom:16px}.auth-tabs button,.admin-controls button{display:inline-flex;align-items:center;justify-content:center;gap:8px;height:38px;border:1px solid #d3dde0;border-radius:8px;background:#f8fbfb;color:#47595f;font-weight:700}.auth-tabs button.active,.admin-controls button.active{border-color:#0f7c80;background:#e2f4f3;color:#0d6f6a}.auth-form{display:grid;gap:13px}.auth-form label{display:grid;gap:7px}.auth-form label span{color:#5f7177;font-size:13px;font-weight:700}.auth-form input,.auth-form select,.auth-form textarea,.row-actions select{width:100%;border:1px solid #cbd5d9;border-radius:8px;background:#fff;color:#1f2c31;outline:none}.auth-form input,.auth-form select{height:40px;padding:0 11px}.auth-form textarea{resize:vertical;padding:10px 11px}.auth-form input:focus,.auth-form select:focus,.auth-form textarea:focus,.row-actions select:focus{border-color:#0f7c80;box-shadow:0 0 0 3px #0f7c801f}.auth-submit{height:42px;border:1px solid #177b76;border-radius:8px;background:#16827b;color:#fff;font-weight:800}.auth-submit:disabled{cursor:wait;opacity:.72}.form-message{margin:0;padding:10px 11px;border-radius:8px;font-size:13px;font-weight:700}.form-message.error{border:1px solid #f0b7bd;color:#9d2431;background:#fff2f3}.form-message.success{border:1px solid #9dd8c6;color:#116b4e;background:#effbf7}.admin-page{min-height:100vh;background:#eef2f3}.admin-topbar{display:flex;align-items:center;justify-content:space-between;height:64px;padding:0 22px;border-bottom:1px solid #d6dde0;background:#fafcfceb}.admin-content{width:min(1180px,calc(100vw - 48px));margin:22px auto}.admin-controls{grid-template-columns:repeat(4,120px);justify-content:start}.user-table{overflow:hidden;border:1px solid #d9e1e3;border-radius:8px;background:#fff}.user-table-head,.user-row{display:grid;grid-template-columns:220px 120px 110px minmax(220px,1fr) 220px;gap:14px;align-items:center;min-height:56px;padding:0 14px}.user-table-head{color:#617177;background:#f4f7f8;font-size:13px;font-weight:800}.user-row{border-top:1px solid #edf1f2}.user-row strong,.user-row small{display:block}.user-row small{margin-top:3px;color:#6b7b80}.user-row p{overflow:hidden;margin:0;color:#506167;text-overflow:ellipsis;white-space:nowrap}.empty-row{padding:32px;color:#617177;text-align:center;font-weight:700}.status-pill{display:inline-flex;align-items:center;justify-content:center;width:72px;height:26px;border-radius:8px;font-size:12px;font-weight:800}.status-pill.pending{color:#8a5b00;background:#fff5d6}.status-pill.approved{color:#116b4e;background:#e5f8f1}.status-pill.rejected{color:#9d2431;background:#fff0f2}.status-pill.assigned{color:#285f9d;background:#e9f2ff}.status-pill.in_progress{color:#6d4ca0;background:#f1ecff}.status-pill.submitted{color:#7b5a12;background:#fff3cf}.row-actions{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:8px}.row-actions select{height:34px;padding:0 9px}.approve-button,.reject-button{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:8px;background:#fff}.approve-button{border:1px solid #76cbb0;color:#0e7556}.reject-button{border:1px solid #ef9da7;color:#ad2636}.import-page,.assignment-page,.review-page{min-height:0;height:100%;overflow:auto;padding:18px;background:#eef2f3}.assignment-page{padding:14px 16px 16px}.import-hero{display:flex;align-items:center;justify-content:space-between;gap:18px;min-height:92px;margin-bottom:14px;padding:18px;border:1px solid #d9e1e3;border-radius:8px;background:#fff}.import-hero strong,.import-hero span{display:block}.import-hero strong{font-size:20px}.import-hero span{margin-top:6px;color:#65757a;font-size:13px}.import-actions,.assignment-toolbar{display:flex;align-items:center;gap:10px}.import-actions{flex-wrap:wrap;justify-content:flex-end}.import-actions .permission-select{width:320px;max-width:100%;flex:0 1 320px}.import-actions .primary-button,.import-actions .secondary-button{flex:0 0 auto;min-width:112px}.import-actions .primary-button svg,.import-actions .secondary-button svg{flex-shrink:0}.import-summary,.assignment-summary{display:grid;grid-template-columns:repeat(4,minmax(150px,1fr));gap:12px;margin-bottom:14px}.import-summary{grid-template-columns:repeat(4,minmax(150px,1fr))}.import-summary article,.assignment-summary article{min-height:82px;padding:14px;border:1px solid #d9e1e3;border-radius:8px;background:#fff}.import-summary span,.import-summary strong,.assignment-summary span,.assignment-summary strong{display:block}.import-summary span,.assignment-summary span{color:#66777d;font-size:13px;font-weight:800}.import-summary strong,.assignment-summary strong{margin-top:8px;color:#172024;font-size:28px;line-height:1}.import-grid{display:grid;grid-template-columns:minmax(360px,.9fr) minmax(460px,1.1fr);gap:14px}.queue-panel,.task-table{overflow:hidden;border:1px solid #d9e1e3;border-radius:8px;background:#fff}.queue-panel{min-height:360px;padding:12px}.study-panel{display:grid;align-content:start;gap:12px}.import-row{display:grid;grid-template-columns:24px minmax(0,1fr) auto;gap:10px;align-items:center;min-height:62px;padding:10px 4px;border-top:1px solid #edf1f2}.import-row:first-of-type{border-top:0}.import-row svg{color:#0f7c80}.import-row svg.error{color:#ad2636}.import-study-row{grid-template-columns:minmax(0,1fr) auto}.import-row strong,.import-row small{display:block}.import-row strong{overflow:hidden;color:#1f2c31;font-size:13px;text-overflow:ellipsis;white-space:nowrap}.import-row small{overflow:hidden;margin-top:4px;color:#66777d;font-size:12px;text-overflow:ellipsis;white-space:nowrap}.panel-tools{display:inline-flex;align-items:center;gap:8px}.panel-tools small{color:#66777d;font-size:12px}.import-errors{display:grid;gap:6px;margin-top:12px;padding:12px;border:1px solid #f0d8dc;border-radius:8px;background:#fff7f8}.import-errors strong{color:#8c2432;font-size:13px}.import-errors small{color:#7a5058;font-size:12px;line-height:1.45}.study-card{display:grid;gap:12px;padding:14px;border:1px solid #d9e1e3;border-radius:8px;background:#fdfefe}.study-card-head{display:flex;align-items:start;justify-content:space-between;gap:12px}.study-main{min-width:0}.study-main strong,.study-main span,.study-main small{display:block}.study-main strong{color:#172024;font-size:14px}.study-main span{margin-top:4px;color:#304147;font-size:14px;font-weight:700}.study-main small{margin-top:4px;color:#66777d;font-size:12px}.study-actions{display:inline-flex;align-items:center;gap:8px;flex-shrink:0}.study-metrics,.study-statuses{display:flex;flex-wrap:wrap;gap:8px}.study-metrics span{color:#4f6066;font-size:12px;font-weight:700}.series-details{border-top:1px solid #edf1f2;padding-top:10px}.series-details summary{cursor:pointer;color:#0e6b6e;font-size:13px;font-weight:800;-webkit-user-select:none;user-select:none}.series-list{display:grid;gap:8px;margin-top:10px}.series-row{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 12px;border:1px solid #e5ebed;border-radius:8px;background:#fff}.series-row strong,.series-row small{display:block}.series-row strong{color:#1f2c31;font-size:13px}.series-row small{margin-top:4px;color:#66777d;font-size:12px}.study-hint{color:#8a5e18;font-size:12px}.assignment-control-grid{display:grid;grid-template-columns:minmax(360px,1.15fr) minmax(320px,.85fr);gap:10px;margin-bottom:10px}.assignment-card,.assignment-list-panel{border:1px solid #d9e1e3;border-radius:8px;background:#fff}.assignment-card{padding:14px 15px}.assignment-card-head{display:flex;align-items:start;justify-content:space-between;gap:12px}.assignment-card-head strong,.assignment-card-head span{display:block}.assignment-card-head strong{color:#172024;font-size:15px}.assignment-card-head span{margin-top:4px;color:#66777d;font-size:12px;line-height:1.5}.assignment-queue-row{margin-top:12px}.assignment-filter-row{display:inline-flex;flex-wrap:wrap;gap:8px;margin-top:12px}.assignment-filter-row button{display:inline-flex;align-items:center;justify-content:center;min-width:96px;height:38px;padding:0 12px;border:1px solid #d3dde0;border-radius:8px;background:#f8fbfb;color:#47595f;font-weight:700}.assignment-filter-row button.active{border-color:#0f7c80;background:#e2f4f3;color:#0d6f6a}.assignment-mini-stats{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.assignment-mini-stats span{display:inline-flex;align-items:center;height:28px;padding:0 10px;border-radius:999px;background:#f3f7f8;color:#506167;font-size:12px;font-weight:700}.assignment-action-row{display:grid;grid-template-columns:minmax(220px,1fr) auto;gap:10px;align-items:center;margin-top:12px}.assignment-helper{display:block;margin-top:10px;color:#66777d;font-size:12px;line-height:1.5}.assignment-selection-bar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px;padding:12px 15px;border:1px solid #d9e1e3;border-radius:8px;background:#fff}.assignment-selection-bar strong,.assignment-selection-bar span{display:block}.assignment-selection-bar strong{color:#172024;font-size:14px}.assignment-selection-bar span{margin-top:4px;color:#66777d;font-size:12px}.assignment-selection-actions{display:flex;align-items:center;gap:10px}.assignment-selection-actions .permission-select{width:240px}.assignment-list-panel{overflow:hidden}.assignment-list-head{margin-bottom:0;padding:12px 16px 10px;border-bottom:1px solid #edf1f2}.assignment-list-head small{display:block;margin-top:4px;color:#66777d;font-size:12px}.assignment-empty{display:grid;min-height:260px;place-items:center;gap:8px;padding:24px;text-align:center}.assignment-empty strong,.assignment-empty span{display:block}.assignment-empty strong{color:#243136;font-size:16px}.assignment-empty span{color:#66777d;font-size:13px}.assignment-study-list{display:grid}.assignment-study-block+.assignment-study-block{border-top:1px solid #edf1f2}.assignment-study-head{display:flex;align-items:start;justify-content:space-between;gap:12px;padding:14px 16px 12px;background:#f8fbfb}.assignment-study-head strong,.assignment-study-head span,.assignment-study-head small{display:block}.assignment-study-head strong{color:#172024;font-size:14px}.assignment-study-head span{margin-top:4px;color:#304147;font-size:14px;font-weight:700}.assignment-study-head small{margin-top:4px;color:#66777d;font-size:12px}.assignment-task-list{display:grid}.assignment-task-item{display:grid;grid-template-columns:28px minmax(0,1fr) minmax(360px,520px);gap:14px;align-items:center;padding:12px 16px 12px 18px;border-top:1px solid #edf1f2}.assignment-task-check{display:grid;place-items:center}.assignment-task-body{min-width:0}.assignment-task-title{display:flex;align-items:center;gap:10px;justify-content:space-between}.assignment-task-title strong{overflow:hidden;color:#172024;font-size:14px;text-overflow:ellipsis;white-space:nowrap}.assignment-task-body small{display:block;overflow:hidden;margin-top:4px;color:#66777d;font-size:12px;text-overflow:ellipsis;white-space:nowrap}.assignment-task-controls{display:grid;grid-template-columns:104px minmax(190px,1fr) 86px;gap:10px;align-items:center}.assignment-toolbar{justify-content:space-between;margin-bottom:12px}.assignment-toolbar .admin-controls{grid-template-columns:repeat(3,120px);margin:0}.batch-assign-bar{display:grid;grid-template-columns:minmax(120px,1fr) 260px auto;gap:10px;align-items:center;margin-bottom:12px;padding:12px;border:1px solid #d9e1e3;border-radius:8px;background:#fff}.batch-assign-bar span{color:#506167;font-size:13px;font-weight:800}.task-table-head,.task-row{display:grid;grid-template-columns:30px minmax(280px,1fr) 92px 118px 230px 96px;gap:14px;align-items:center;min-height:58px;padding:0 14px}.task-check{width:16px;height:16px;accent-color:#0f7c80}.check-button{display:inline-grid;width:24px;height:24px;place-items:center;border:1px solid #cbd5d9;border-radius:6px;background:#fff;color:#0d6f6a;font-weight:900}.task-table-head{color:#617177;background:#f4f7f8;font-size:13px;font-weight:800}.task-row{min-height:78px;border-top:1px solid #edf1f2}.study-group-row{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:60px;padding:0 14px;border-top:1px solid #edf1f2;background:#f7fafb}.study-group-row strong,.study-group-row small,.study-group-row span{display:block}.study-group-row strong{color:#172024;font-size:13px}.study-group-row small,.study-group-row span{color:#66777d;font-size:12px}.task-main{min-width:0}.task-main strong,.task-main small{display:block}.task-main strong{color:#172024}.task-main small{overflow:hidden;margin-top:4px;color:#66777d;text-overflow:ellipsis;white-space:nowrap}.review-list{display:grid;gap:10px}.review-row{display:grid;grid-template-columns:minmax(280px,1fr) 92px minmax(320px,.9fr) 132px;gap:14px;align-items:center;min-height:96px;padding:14px;border:1px solid #d9e1e3;border-radius:8px;background:#fff}.review-main{min-width:0}.review-main strong,.review-main span,.review-main small{display:block}.review-main strong{color:#172024;font-size:15px}.review-main span,.review-main small{overflow:hidden;margin-top:5px;color:#66777d;text-overflow:ellipsis;white-space:nowrap}.review-row textarea{width:100%;min-height:40px;resize:vertical;border:1px solid #cbd5d9;border-radius:8px;padding:9px 10px;color:#1f2c31;outline:none}.review-row textarea:focus{border-color:#0f7c80;box-shadow:0 0 0 3px #0f7c801f}.review-actions{justify-content:flex-start;flex-wrap:nowrap;align-self:stretch}.review-actions .secondary-icon-button,.review-actions .approve-button,.review-actions .reject-button{flex:0 0 34px}.admin-page{min-height:0;height:100%;overflow:auto;padding:18px;background:#eef2f3}.admin-summary{display:grid;grid-template-columns:repeat(4,minmax(150px,1fr));gap:12px;margin-bottom:14px}.admin-summary article{min-height:82px;padding:14px;border:1px solid #d9e1e3;border-radius:8px;background:#fff}.admin-summary span,.admin-summary strong{display:block}.admin-summary span{color:#66777d;font-size:13px;font-weight:800}.admin-summary strong{margin-top:8px;color:#172024;font-size:28px;line-height:1}.admin-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.admin-toolbar .admin-controls{margin:0}.permissions-table .user-table-head,.permissions-table .user-row{grid-template-columns:230px 136px 154px 96px minmax(180px,1fr) 228px}.permissions-table .user-row{min-height:78px}.user-identity{min-width:0}.permission-select{width:100%;height:34px;padding:0 9px;border:1px solid #cbd5d9;border-radius:8px;background:#fff;color:#1f2c31;outline:none}.permission-select:focus{border-color:#0f7c80;box-shadow:0 0 0 3px #0f7c801f}.status-stack{display:grid;gap:6px}.status-pill.active{color:#0e695c;background:#e2f4f3}.status-pill.inactive{color:#6b4d16;background:#fff3ce}.secondary-icon-button{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border:1px solid #cbd5d9;border-radius:8px;background:#fff;color:#38484e}.secondary-icon-button.danger{border-color:#e9c0c7;color:#b23a4c}.approve-button:disabled,.reject-button:disabled,.secondary-icon-button:disabled{cursor:not-allowed;opacity:.45;transform:none}@media(max-width:1240px){.app-shell{grid-template-columns:220px minmax(0,1fr)}.import-grid,.assignment-control-grid{grid-template-columns:1fr}.assignment-selection-bar,.assignment-study-head{flex-direction:column;align-items:stretch}.assignment-selection-actions{flex-wrap:wrap}.assignment-selection-actions .permission-select{width:min(260px,100%)}.assignment-action-row{grid-template-columns:1fr}.assignment-task-item{grid-template-columns:28px minmax(0,1fr)}.assignment-task-controls{grid-column:2;grid-template-columns:104px minmax(180px,1fr) 86px}.permissions-table .user-table-head,.permissions-table .user-row{grid-template-columns:200px 126px 146px 88px minmax(160px,1fr) 172px}.review-row{grid-template-columns:minmax(220px,1fr) 84px minmax(240px,1fr) 124px}}
