:root{
 --bg:#f5f7fb;--surface:#fff;--surface-2:#f8f9fc;--surface-3:#eef2f7;
 --text:#172033;--subtle:#6d788e;--border:#dfe4ed;--primary:#4e6ee8;
 --primary-soft:#edf1ff;--danger:#cc4055;--shadow-sm:0 2px 8px rgba(22,34,58,.05);
 --shadow:0 14px 38px rgba(22,34,58,.08);--radius:15px;
}
body[data-theme="dark"]{
 --bg:#0c111d;--surface:#141b2a;--surface-2:#192233;--surface-3:#222d41;
 --text:#edf2fc;--subtle:#9ba7ba;--border:#2b374c;--primary:#708af0;
 --primary-soft:#202c50;--danger:#ef687b;--shadow-sm:0 2px 10px rgba(0,0,0,.18);
 --shadow:0 16px 42px rgba(0,0,0,.3);
}
@media(prefers-color-scheme:dark){body[data-theme="system"]{
 --bg:#0c111d;--surface:#141b2a;--surface-2:#192233;--surface-3:#222d41;
 --text:#edf2fc;--subtle:#9ba7ba;--border:#2b374c;--primary:#708af0;
 --primary-soft:#202c50;--danger:#ef687b;--shadow-sm:0 2px 10px rgba(0,0,0,.18);
 --shadow:0 16px 42px rgba(0,0,0,.3);
}}
body{background:var(--bg);color:var(--text);font-size:14px}.container{max-width:1320px;margin:28px auto}.card,.content-card,.side-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-sm)}input,select,textarea{background:var(--surface);color:var(--text);border-color:var(--border)}input:focus,select:focus,textarea:focus{outline:0;border-color:var(--primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--primary) 15%,transparent)}button,.btn{border-radius:9px;background:var(--primary);font-weight:750}.btn.secondary{background:var(--surface-3);color:var(--text)}.btn.danger{background:var(--danger)}.muted,.meta{color:var(--subtle)}

/* Case overview */
.container>.toolbar:first-child{margin:10px 0 22px}.container>.toolbar:first-child h1{font-size:32px;letter-spacing:-.04em}.statline{font-size:13px}.filters.card{padding:12px;border-radius:13px;box-shadow:var(--shadow-sm)}.filters input,.filters select{height:42px}.case-list{gap:9px}.case-item{grid-template-columns:minmax(0,1fr) 190px 190px;padding:16px 18px;border-radius:13px;box-shadow:none}.case-item:hover{border-color:color-mix(in srgb,var(--primary) 55%,var(--border));background:var(--surface-2);box-shadow:var(--shadow-sm)}.case-title{font-size:15px}.badge{padding:5px 10px;font-size:11px;letter-spacing:.01em}
.list-page-head{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin:12px 0 22px}.list-page-head h1{font-size:34px;letter-spacing:-.045em;margin:3px 0}.list-page-head p{margin:0;color:var(--subtle)}.primary-action{padding:10px 15px}.case-filter-bar{display:grid;grid-template-columns:minmax(280px,1fr) 190px 190px auto;gap:9px;padding:11px;margin-bottom:15px;background:var(--surface);border:1px solid var(--border);border-radius:13px;box-shadow:var(--shadow-sm)}.search-field{position:relative}.search-field span{position:absolute;left:12px;top:9px;color:var(--subtle);font-size:19px}.search-field input{padding-left:39px}.case-filter-bar input,.case-filter-bar select,.case-filter-bar button{height:41px}.modern-case-list{display:grid;gap:8px}.modern-case-row{display:grid;grid-template-columns:40px minmax(0,1fr) 155px 150px 20px;gap:13px;align-items:center;padding:14px 16px;background:var(--surface);border:1px solid var(--border);border-radius:12px;color:var(--text);text-decoration:none;transition:.15s}.modern-case-row:hover{transform:translateY(-1px);border-color:color-mix(in srgb,var(--primary) 55%,var(--border));box-shadow:var(--shadow-sm)}.case-row-icon{display:grid;place-items:center;width:38px;height:38px;border-radius:10px;background:var(--primary-soft);color:var(--primary);font-weight:850}.case-row-main{display:grid;min-width:0}.case-row-main strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.case-row-main small,.case-row-stats small{color:var(--subtle);font-size:11px}.case-row-stats{display:grid;text-align:right}.case-row-stats b{font-size:11px;color:var(--subtle)}.row-arrow{color:var(--subtle);font-size:23px}.pagination a.active{background:var(--primary);color:#fff}

/* Case header */
.case-hero{margin-bottom:18px}.case-back{display:inline-flex;color:var(--subtle);text-decoration:none;font-size:13px;margin-bottom:14px}.case-back:hover{color:var(--primary)}.case-hero-main{display:flex;justify-content:space-between;align-items:flex-start;gap:24px}.case-heading{min-width:0}.case-kicker{display:flex;align-items:center;gap:9px;color:var(--subtle);font-size:12px;font-weight:750}.case-kicker>span:first-child{letter-spacing:.08em}.case-heading h1{font-size:31px;line-height:1.18;letter-spacing:-.035em;margin:7px 0 6px}.case-heading p{margin:0;color:var(--subtle);font-size:12px}.edit-case-button{flex:0 0 auto;margin-top:5px}.case-controls{display:grid;grid-template-columns:minmax(250px,1fr) minmax(230px,.8fr) minmax(220px,.75fr);gap:10px;margin-top:20px}.case-control,.case-stat{display:flex;align-items:center;gap:11px;min-height:65px;padding:9px 11px;background:var(--surface);border:1px solid var(--border);border-radius:13px;box-shadow:var(--shadow-sm)}.case-control label{display:grid;flex:1;min-width:0;margin:0}.case-control label small,.case-stat small{display:block;color:var(--subtle);font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.08em}.case-control select{border:0;padding:2px 24px 2px 0;background:transparent;box-shadow:none;font-weight:750}.control-icon{display:grid;place-items:center;width:37px;height:37px;flex:0 0 37px;border-radius:10px;background:var(--primary-soft);color:var(--primary);font-size:18px}.customer-icon{background:#e8f5f0;color:#168766}.control-save{display:grid;place-items:center;width:29px;height:29px;padding:0;border-radius:8px;background:var(--surface-3);color:var(--subtle)}.control-save:hover{background:var(--primary);color:#fff}.case-stat strong{display:block;font-size:12px}.share-result{display:flex;align-items:center;gap:18px;padding:13px 15px;margin-bottom:16px;background:var(--primary-soft);border:1px solid color-mix(in srgb,var(--primary) 25%,var(--border));border-radius:12px}.share-result div{display:grid;min-width:150px}.share-result span{color:var(--subtle);font-size:11px}.share-result input{background:var(--surface);height:36px}

/* Case content */
.case-layout{display:grid;grid-template-columns:minmax(0,1.85fr) minmax(300px,.75fr);gap:18px;align-items:start}.case-main{display:grid;gap:16px}.content-card,.side-card{padding:21px}.section-heading,.side-heading{display:flex;align-items:flex-start;gap:11px}.section-heading{padding-bottom:16px;border-bottom:1px solid var(--border)}.section-heading h2,.side-heading h2{margin:0;font-size:17px;letter-spacing:-.015em}.section-heading p,.side-heading p{margin:2px 0 0;color:var(--subtle);font-size:11px}.section-icon{display:grid;place-items:center;width:34px;height:34px;flex:0 0 34px;border-radius:9px;background:var(--primary-soft);color:var(--primary);font-weight:800}.case-description{padding:22px 3px;min-height:100px;font-size:15px;line-height:1.7}.case-description>:first-child{margin-top:0}.case-description>:last-child{margin-bottom:0}.section-foot{padding-top:12px;border-top:1px solid var(--border);color:var(--subtle);font-size:11px}

/* Attachments */
.attachment-list{margin-top:5px}.attachment-row{display:flex;align-items:center;gap:12px;padding:13px 2px;border-bottom:1px solid var(--border)}.file-icon{display:grid;place-items:center;width:38px;height:38px;flex:0 0 38px;border-radius:10px;background:var(--surface-3);color:var(--primary);font-size:19px}.file-info{display:grid;min-width:0;flex:1}.file-info strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.file-info small{color:var(--subtle);font-size:11px}.file-actions{display:flex;align-items:center;gap:6px}.file-actions form{margin:0}.download-action{display:inline-flex;align-items:center;gap:5px;padding:7px 10px;border-radius:8px;background:var(--primary-soft);color:var(--primary);text-decoration:none;font-size:12px;font-weight:800}.download-action:hover{filter:brightness(.97)}.icon-danger{display:grid;place-items:center;width:31px;height:31px;padding:0;background:transparent;border:1px solid var(--border);color:var(--subtle);font-size:18px}.icon-danger:hover{border-color:var(--danger);background:color-mix(in srgb,var(--danger) 10%,transparent);color:var(--danger)}.upload-panel{display:grid;grid-template-columns:1fr auto;gap:10px;align-items:end;margin-top:18px;padding-top:18px;border-top:1px solid var(--border)}.upload-panel .dropzone{min-height:92px}.upload-panel .selected-files{grid-column:1/-1}.upload-icon{font-size:20px;color:var(--primary)}.empty-state{padding:22px;text-align:center;color:var(--subtle);background:var(--surface-2);border-radius:10px;margin-top:12px}

/* Comments */
.comment-list{display:grid}.case-comment{display:flex;gap:11px;padding:16px 2px;border-bottom:1px solid var(--border)}.comment-avatar{display:grid;place-items:center;width:34px;height:34px;flex:0 0 34px;border-radius:10px;background:linear-gradient(135deg,var(--primary),#8c68dc);color:#fff;font-size:12px;font-weight:850}.comment-content{min-width:0;flex:1;line-height:1.6}.comment-title{display:flex;justify-content:space-between;gap:10px;margin-bottom:4px}.comment-title span{display:flex;align-items:baseline;gap:8px}.comment-title small{color:var(--subtle);font-size:10px}.comment-compose{margin-top:18px;padding:15px;background:var(--surface-2);border:1px solid var(--border);border-radius:12px}.comment-compose textarea{min-height:96px;background:var(--surface)}.comment-edit textarea{min-height:86px;margin:7px 0}

/* Sidebar */
.case-sidebar{display:grid;gap:14px}.side-card{padding:18px}.side-heading{margin-bottom:15px}.share-side-icon{background:#eee9ff;color:#7554cb}.share-form{display:grid;gap:9px;padding:13px;border-radius:11px;background:var(--surface-2);border:1px solid var(--border)}.share-form label{margin:0}.input-suffix{display:flex;align-items:center;background:var(--surface);border:1px solid var(--border);border-radius:9px;overflow:hidden}.input-suffix input{border:0;box-shadow:none}.input-suffix span{padding-right:10px;color:var(--subtle);font-size:11px}.check-row{display:flex!important;align-items:center;gap:8px;font-weight:500}.check-row input{width:auto}.share-form button{width:100%;margin-top:3px}.active-shares{margin-top:15px}.mini-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:5px;color:var(--subtle);font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.06em}.mini-heading b{display:grid;place-items:center;min-width:21px;height:21px;border-radius:10px;background:var(--surface-3)}.share-row{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:10px 1px;border-bottom:1px solid var(--border)}.share-row div{display:grid}.share-row strong{font-size:12px}.share-row small{color:var(--subtle);font-size:10px}.share-row form{margin:0}.timeline{display:grid}.timeline-row{position:relative;display:flex;gap:10px;padding:0 0 16px}.timeline-row:not(:last-child):before{content:"";position:absolute;left:4px;top:11px;bottom:0;width:1px;background:var(--border)}.timeline-row i{position:relative;z-index:1;width:9px;height:9px;margin-top:5px;flex:0 0 9px;border:2px solid var(--surface);border-radius:50%;background:var(--primary);box-shadow:0 0 0 1px var(--primary)}.timeline-row div{display:grid}.timeline-row strong{font-size:11px}.timeline-row span,.timeline-row small{color:var(--subtle);font-size:10px}.text-button{width:100%;padding:7px;background:var(--surface-2);color:var(--primary)}.delete-panel{border-color:color-mix(in srgb,var(--danger) 30%,var(--border))}.delete-panel .section-icon{background:color-mix(in srgb,var(--danger) 12%,transparent);color:var(--danger)}.danger-outline{width:100%;background:transparent;border:1px solid color-mix(in srgb,var(--danger) 45%,var(--border));color:var(--danger)}.danger-outline:hover{background:var(--danger);color:#fff}

/* Remaining application surfaces */
.admin-page-head h1,.page-heading h1{letter-spacing:-.035em}.admin-sidebar{box-shadow:var(--shadow-sm)}.admin-list-row,.customer-tile{transition:.15s}.admin-list-row:hover,.customer-tile:hover{background:var(--surface-2)}.login.card{border-radius:18px;box-shadow:var(--shadow)}footer{color:var(--subtle)}

/* Dark appearance: eliminate hard-coded light surfaces */
body[data-theme="dark"] .customer-icon{background:#173c35;color:#62c4a5}
body[data-theme="dark"] .download-action{background:#202d55}
body[data-theme="dark"] .share-side-icon{background:#302748;color:#b9a2f0}
body[data-theme="dark"] .metric-icon,body[data-theme="dark"] .panel-icon,body[data-theme="dark"] .list-avatar{background:#202d55;color:#9eb0f7}
body[data-theme="dark"] .customer-avatar{background:#173c35;color:#62c4a5}
@media(prefers-color-scheme:dark){
 body[data-theme="system"] .customer-icon,body[data-theme="system"] .customer-avatar{background:#173c35;color:#62c4a5}
 body[data-theme="system"] .download-action,body[data-theme="system"] .metric-icon,body[data-theme="system"] .panel-icon,body[data-theme="system"] .list-avatar{background:#202d55;color:#9eb0f7}
 body[data-theme="system"] .share-side-icon{background:#302748;color:#b9a2f0}
}
@media(max-width:1000px){.case-layout{grid-template-columns:1fr}.case-sidebar{grid-template-columns:repeat(2,minmax(0,1fr))}.case-sidebar .share-panel{grid-row:span 2}.case-controls{grid-template-columns:1fr 1fr}.case-stat{grid-column:1/-1}}
@media(max-width:760px){.container{padding:0 15px}.case-hero-main{flex-direction:column}.case-controls,.case-sidebar{grid-template-columns:1fr}.case-stat{grid-column:auto}.upload-panel{grid-template-columns:1fr}.case-item{grid-template-columns:1fr}.case-heading h1{font-size:26px}.attachment-row{align-items:flex-start}.file-actions{flex-direction:column}.comment-title span{display:grid;gap:0}.list-page-head{align-items:flex-start;flex-direction:column}.case-filter-bar{grid-template-columns:1fr}.modern-case-row{grid-template-columns:40px 1fr auto}.modern-case-row>.badge{grid-column:2}.case-row-stats{display:none}.row-arrow{grid-column:3;grid-row:1}}
