:root{
  --bg:#f3f0e8;
  --sidebar:#173523;
  --surface:#fffdf8;
  --surface-2:#f8f4eb;
  --surface-3:#efe8da;
  --line:#ded6c6;
  --line-soft:#ebe5da;
  --text:#263128;
  --muted:#747b70;
  --faint:#999d94;
  --lime:#b48834;
  --lime-2:#9b762e;
  --green:#466743;
  --amber:#c79637;
  --orange:#c96b34;
  --control-bg:#fffefb;
  --control-bg-hover:#ffffff;
  --control-text:#1f2d22;
  --control-placeholder:#667168;
  --control-border:#bdb6a8;
  --control-border-hover:#918878;
  --control-focus:#8a6728;
  --control-focus-ring:#b4883430;
  --control-disabled-bg:#eeeae1;
  --control-disabled-text:#71786f;
  color-scheme:light;
}
html,body{background:var(--bg);color:var(--text)}
body{background:linear-gradient(135deg,#f7f4ed,#efe9de)}
.sidebar{background:linear-gradient(180deg,#193b29,#10291d);border-color:#31503b;color:#f5f2e9}
.brand strong,.operator strong{color:#fff}.brand small,.operator small,.operator>i,.operator button{color:#c9d3c8}
.brand-mark{border-color:#c29a45;box-shadow:none}
.nav-item{color:#d3ddd2}.nav-item:hover{color:#fff;background:#ffffff12}.nav-item.active{background:#ffffff16;color:#f1c866;border:1px solid #ffffff12}
.nav-item b{background:#c8753b}.avatar{background:#f6e7c6;color:#27402d}.operator{border-color:#ffffff1c}
.workspace{background:transparent}.topbar{border-color:var(--line-soft);background:#f9f6efcc}.topbar h1{color:#26382a}.eyebrow{color:#8d6926}.top-actions{color:#6f766d}.top-actions button{border-color:#d8d0c0;background:#fffaf2;color:#445547}
.health-statement h2{color:#263128}.health-statement p{color:var(--muted)}.pulse-dot{background:#6b8c52;box-shadow:0 0 0 6px #718f4c16}.ghost-btn,.section-title button{color:#8f6a26}
.live-panel,.insight-panel,.trend-panel,.urgent-panel,.data-panel,.upload-panel,.diagnosis-result,.evidence-panel,.report-card,.settings-list,.knowledge-list,.role-panel,.case-evidence,.review-form,.workflow-form,.sample-selector{background:#fffdf8;border-color:var(--line);box-shadow:0 8px 28px #5f4c2820}
.media-head{color:#364439}.live-icon{color:#55764b}.chip{background:#f4efe5;border-color:#d8d0c0;color:#667064}.camera-frame{background:#e8e3d9}.camera-frame:after{box-shadow:inset 0 0 50px #2b2a211e}.camera-frame>img{filter:none}.camera-frame time{color:white;text-shadow:0 1px 4px #000}.camera-tools button{background:#fffdf0dd;color:#354336;border-color:#fff8}.camera-tools button:disabled{opacity:.45;cursor:not-allowed}.camera-state.offline{color:#9f5d39;background:#f8e9df;border-color:#e8c5ae}.camera-state.online{color:#3e6b43;background:#e9f2e4;border-color:#bcd0b4}
.camera-closed{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:28px;color:#677167;background:radial-gradient(circle at 50% 35%,#faf8f2,#e9e4da)}.camera-closed>i{font-size:48px;color:#8f988c;margin-bottom:13px}.camera-closed strong{font-size:18px;color:#3d493f}.camera-closed p{max-width:420px;font-size:12px;line-height:1.8}.camera-retry{border:1px solid #9a762e;background:#b58935;color:white;padding:9px 15px;border-radius:6px}.camera-frame.camera-live .camera-closed{display:none}.camera-frame.camera-live>img{display:block;width:100%;height:100%;object-fit:cover}.camera-frame.camera-off>img{display:none}
.score-ring{border-color:#ede6d8;border-top-color:#57764a}.good{color:#4f7248!important}.reasoning>p,.reasoning li p{color:#727a70}.reasoning li>span{background:#678550}.reasoning li.warning>span{background:#c57938}.primary-btn{background:linear-gradient(135deg,#b98d38,#997129);color:#fff;border-color:#9b742d;box-shadow:0 5px 14px #85601d28}.primary-btn:hover{background:#a97f30}.secondary-btn{color:#50614f;border-color:#a9b2a2;background:#fff}.segmented{background:#f2ede3;border-color:#ded5c4}.segmented button{color:#7d8278}.segmented button.active{background:#fffaf1;color:#846324}.urgent-item,.citation,th,td{border-color:var(--line-soft)}.risk-tag{color:#ad652f;border-color:#d7ae83;background:#fff7ed}
.metric-strip,.alert-row,.expert-case-card,.task-card,.delivery-row,.sample-option,.library-stats{background:#fffdf8;border-color:var(--line);box-shadow:0 5px 18px #715a2a12}.metric-strip>div{border-color:var(--line)}.quality-pill,.status-chip{color:#54714b;background:#edf3e8;border-color:#bdcbb5}.status-chip.danger{color:#b35e36;background:#fff0e7;border-color:#e7b89f}
.page-heading h2,.role-hero h2,.case-header h2,.assistant-intro h2{color:#273329}.page-heading p,.role-hero p,.case-header p{color:var(--muted)}.safety-note,.role-badge{background:#fffaf2;border-color:#ddd3c0;color:#6e756b}
.field input,.field textarea,.field select,.search input,.knowledge-toolbar select,.advanced-filters select,.advanced-filters input{background:#fffdfa;color:#29342b;border-color:#d9d1c2}.field input:focus,.field textarea:focus,.search input:focus{border-color:#a78135}.upload-zone{background:#f4f1e9;border-color:#c8beaa}.empty-state,.alert-empty{color:#7c8378}.empty-state h3{color:#344137}.diagnosis-content p{color:#687166}.diagnosis-content h2,.diagnosis-content h3{color:#6b5226}.evidence-panel>p{color:#737b70}
.knowledge-item{border-color:var(--line-soft)}.knowledge-item p{color:#767d73}.knowledge-item span{color:#8d6827}.import-btn{background:#b38837;color:#fff}.assistant-shell{color:#2d392f}.ai-message>div,.user-message>div{background:#fffdf8;border-color:var(--line);box-shadow:0 5px 16px #765f3512}.user-message>div{background:#edf2e7;border-color:#cbd6c3}.ai-message p,.user-message p{color:#606a60}.ai-avatar{background:#466743;color:#fff}.quick-prompts button{border-color:#d8d0c0;color:#6c736a;background:#fffaf2}.chat-composer{background:#fffdf8;border-color:#d5ccbb}.chat-composer textarea{color:#273229}.chat-composer button{background:#b38837;color:white}
.report-card>i,.report-card>span{color:#916c29}.report-card:hover{border-color:#b79a63}.settings-list span{color:#747b70}
.login-screen{background:#f4f0e7}.login-visual{background:#153a32}.login-visual:after{background:linear-gradient(90deg,#10241b12,#10241b00 60%,#10241b55),linear-gradient(0deg,#0d2116aa,transparent 54%)}.login-visual>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;filter:saturate(1.18) brightness(1.08) contrast(1.04);z-index:0}.login-panel{background:radial-gradient(circle at 100% 0,#e8dfcc,transparent 38%),#f9f6ef}.login-brand strong{color:#29362c}.login-brand small,.login-heading p,.remember-row{color:#7a8177}.login-heading h2{color:#263229}.remember-row button{color:#8f6925}.login-tip{color:#94998f}
.login-visual-copy h1{color:#fffaf0;font-weight:700;text-shadow:0 2px 5px #07120dcc,0 0 22px #07120d99}.login-visual-copy p{color:#eef3e9;text-shadow:0 1px 4px #07120dcc}.login-visual-copy .eyebrow{color:#f0c66d;text-shadow:0 1px 4px #07120dcc}
.role-metrics article{background:#fffdf8;border-color:var(--line);box-shadow:0 5px 18px #765c2815}.role-metrics article>i,.role-metrics article>strong{color:#55734d}.role-metrics article.risk{background:#fff8f1;border-color:#e7c9b2}.disease-bars b,.region-list strong{color:#8f6928}.disease-bars b:after{background:#b38a3a}.disease-bars div:after,.region-list div,.case-row,.form-section{border-color:var(--line-soft)}
.case-evidence>img{filter:saturate(.9)}.evidence-tabs{border-color:var(--line)}.evidence-tabs button{color:#7b8277}.evidence-tabs button.active{color:#8d6926;border-color:#b38a3a}.ai-summary{background:#f4efe3;border-color:#d8c8a7}.ai-summary span{color:#856327}.step-number{background:#eee4cf;color:#876624}.check-card,.upload-compact,.locked-summary{border-color:#d7cebd;background:#f9f5ec}.supplement-dialog{background:#1b241dcc}.dialog-card{background:#fffdf8;border-color:var(--line);color:#273229}.dialog-card textarea{background:#fff;color:#273229;border-color:#d8d0c0}
.progress-track{background:#e5dfd3}.progress-track i,.trend-columns i{background:#698256}.task-board>div{background:#eee9df;border-color:#d7cebd}.workflow-progress span{border-color:#d6cebf;color:#7d837a}.workflow-progress span.active{color:#8d6926;border-color:#b48834}.locked-summary i,.upload-compact i{color:#8f6928}
.toast{background:#fffdf8;border-color:#b59b68;color:#344036;box-shadow:0 8px 30px #513e1f24}.toast.error{background:#fff2ec;border-color:#c98462}
@media(min-width:821px){.login-visual{height:100vh;min-height:0}.login-visual-copy{right:6%}.login-visual-copy h1{font-size:clamp(30px,4.7vh,38px)}}
@media(min-width:1101px){.login-screen{grid-template-columns:minmax(0,calc(100vh * .82552)) minmax(430px,1fr)}}
@media(max-width:820px){.topbar{background:#faf7f0}.sidebar{background:#173523}.login-panel{background:#f9f6ef}.camera-closed>i{font-size:38px}}

.feedback-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-bottom:18px}.feedback-summary article{background:#fffdf8;border:1px solid #ded8cc;border-radius:10px;padding:18px;display:flex;align-items:center;justify-content:space-between}.feedback-summary span{color:#74786f;font-size:13px}.feedback-summary strong{font-family:Georgia,serif;font-size:28px;color:#173523}.feedback-list{display:grid;gap:12px}.feedback-card{display:grid;grid-template-columns:auto 1fr auto;gap:16px;align-items:start;background:#fffdf8;border:1px solid #ded8cc;border-radius:10px;padding:18px}.feedback-card.unread{border-left:4px solid #b58935;background:#fffaf0}.feedback-icon{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;background:#e7efe7;color:#245638;font-size:18px}.feedback-head{display:flex;justify-content:space-between;gap:20px}.feedback-head time,.feedback-card small{font-size:11px;color:#8a8b84}.feedback-card p{white-space:pre-line;color:#4f574f;line-height:1.7;margin:8px 0}.feedback-card>button{border:1px solid #cfc7b8;background:#fff;color:#365240;border-radius:6px;padding:7px 10px}.attachment-link{display:inline-flex;gap:6px;align-items:center;color:#8a6728;font-size:12px;font-weight:600}.top-actions b:empty{display:none}@media(max-width:820px){.feedback-summary{grid-template-columns:1fr}.feedback-card{grid-template-columns:auto 1fr}.feedback-card>button{grid-column:2}}
.case-evidence video{width:100%;max-height:360px;background:#111;border-radius:8px;margin-bottom:16px}
.workflow-strip{display:flex;align-items:center;gap:10px;background:#fffdf8;border:1px solid #ded8cc;border-radius:10px;padding:14px 18px;margin-bottom:16px;overflow-x:auto}.workflow-strip span{display:flex;align-items:center;gap:7px;white-space:nowrap;color:#657067;font-size:12px}.workflow-strip b{display:grid;place-items:center;width:24px;height:24px;border-radius:50%;background:#e4ece4;color:#245638}.workflow-strip .active{color:#173523;font-weight:700}.workflow-strip .active b{background:#b58935;color:#fff}.workflow-strip i{height:1px;min-width:24px;flex:1;background:#d8d3c8}.supplement-action{display:block;margin-top:10px;border:1px solid #b58935;background:#fff8e8;color:#76571f;border-radius:6px;padding:8px 11px}
.archive-notice{display:flex;gap:10px;align-items:center;border:1px solid #dcc99e;background:#fff8e8;color:#765f32;border-radius:8px;padding:12px 15px;margin-bottom:14px}.case-archive-list{display:grid;gap:10px}.archive-card{display:grid;grid-template-columns:100px 1fr auto;gap:18px;align-items:center;background:#fffdf8;border:1px solid #ded8cc;border-radius:10px;padding:16px}.archive-status small{display:block;margin-top:7px;color:#737a71}.archive-card p{margin:6px 0;color:#586159}.archive-card small{color:#898c84}.archive-actions{display:flex;gap:8px}.archive-actions button{border:1px solid #cfc7b8;background:#fff;color:#365240;border-radius:6px;padding:8px 11px}.archive-actions .danger-button{color:#a34336;border-color:#dfb8b1}.archive-dialog{overflow:auto;padding:24px}.archive-detail{width:min(1000px,calc(100vw - 40px));max-height:calc(100vh - 48px);overflow:auto}.dialog-title{display:flex;justify-content:space-between;align-items:start}.dialog-title button{border:0;background:transparent;color:#5c655d}.archive-detail-grid{display:grid;grid-template-columns:minmax(280px,.75fr) 1.25fr;gap:18px}.archive-detail h4{color:#6f5425;margin:20px 0 8px}.archive-detail img,.archive-detail video{width:100%;max-height:420px;object-fit:contain;background:#eee9df;border-radius:8px}.report-text{white-space:normal;line-height:1.75;background:#f7f3e9;border:1px solid #ded5c4;border-radius:8px;padding:13px;margin-bottom:9px}.report-text p{white-space:pre-line}.archive-report-section{border-top:1px solid #ded8cc;margin-top:16px}.danger-confirm{background:#a84335!important;color:#fff!important;border-color:#a84335!important}@media(max-width:820px){.archive-card{grid-template-columns:1fr}.archive-actions{justify-content:flex-start}.archive-detail-grid{grid-template-columns:1fr}}
.case-media-gallery,.archive-media-list{display:grid;gap:10px}.case-media-gallery figure,.archive-media-list figure{margin:0;border:1px solid #ddd4c4;background:#f7f3ea;border-radius:8px;overflow:hidden}.case-media-gallery img,.case-media-gallery video{display:block;width:100%;max-height:360px;object-fit:contain;background:#ebe6dc}.case-media-gallery figcaption,.archive-media-list figcaption{padding:9px 11px}.case-media-gallery figcaption strong,.case-media-gallery figcaption span{display:block}.case-media-gallery figcaption span{font-size:10px;color:#798078;margin-top:3px}.archive-media-list figcaption{font-size:11px;color:#5f685f}
.rule-alert{border:1px solid #d7a98f;background:#fff2e8;color:#7b4028;border-radius:8px;padding:12px;margin-bottom:14px}.rule-alert p{color:#7b4028!important;margin:5px 0}.citation a{display:inline-block;margin-top:6px;color:#8a6728;font-size:10px}
.knowledge-title-line{display:flex;align-items:center;gap:8px}.knowledge-title-line h3{margin-bottom:0}.knowledge-item .reviewed-badge{display:inline-flex;align-items:center;gap:4px;color:#47704b;background:#e9f2e7;border-radius:999px;padding:3px 7px;white-space:nowrap}.knowledge-item .knowledge-meta{color:#9a7440;margin:7px 0 4px}.knowledge-item details{margin-top:9px;font-size:11px;color:#57645a}.knowledge-item summary{cursor:pointer;color:#4b684d}.knowledge-item details p{margin-top:6px}.knowledge-item>span{text-align:right;min-width:76px}.knowledge-item>span a{color:#8d6827;text-decoration:underline;text-underline-offset:3px}
.diagnosis-preview-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;width:100%;padding:10px}.diagnosis-media-card{position:relative;margin:0;border:1px solid #d8d0c0;border-radius:10px;overflow:hidden;background:#fffdf8}.diagnosis-media-card img,.diagnosis-media-card video{display:block;width:100%;height:130px;object-fit:cover}.diagnosis-media-card figcaption{display:flex;justify-content:space-between;gap:8px;padding:7px;font-size:10px}.diagnosis-media-card figcaption span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.diagnosis-media-card button{position:absolute;right:6px;top:6px;width:26px;height:26px;border-radius:50%;background:#253329d9;color:#fff}.multi-upload-zone.has-image #uploadPrompt,.upload-zone.has-image #uploadPrompt{position:relative;padding:10px}.upload-zone.has-image{display:flex;flex-direction:column}.upload-zone.has-image #diagnosisPreviewList{display:grid}@media(max-width:700px){.diagnosis-preview-list{grid-template-columns:1fr}}

/* Unified high-contrast form controls */
input:not([type="checkbox"]):not([type="radio"]):not([type="file"]):not([type="hidden"]),
textarea,
select{
  color:var(--control-text);
  caret-color:var(--control-focus);
  accent-color:var(--control-focus);
}

.field input,
.field textarea,
.field select,
.search input,
.knowledge-toolbar select,
.advanced-filters input,
.advanced-filters select,
.dialog-card textarea{
  min-height:44px;
  padding:10px 13px;
  border:1px solid var(--control-border);
  border-radius:10px;
  background:var(--control-bg);
  color:var(--control-text);
  box-shadow:inset 0 1px 2px #2532250a,0 1px 0 #fff;
  outline:0;
  transition:border-color .18s ease,box-shadow .18s ease,background-color .18s ease;
}

.field textarea,
.dialog-card textarea{
  line-height:1.7;
}

.field input:hover,
.field textarea:hover,
.field select:hover,
.search input:hover,
.knowledge-toolbar select:hover,
.advanced-filters input:hover,
.advanced-filters select:hover,
.dialog-card textarea:hover{
  border-color:var(--control-border-hover);
  background:var(--control-bg-hover);
}

.field input:focus,
.field textarea:focus,
.field select:focus,
.search input:focus,
.knowledge-toolbar select:focus,
.advanced-filters input:focus,
.advanced-filters select:focus,
.dialog-card textarea:focus{
  border-color:var(--control-focus);
  background:#fff;
  box-shadow:0 0 0 3px var(--control-focus-ring),inset 0 1px 2px #25322508;
}

.field>span{
  color:#455247;
  font-weight:600;
}

.field:focus-within>span{
  color:#6f511d;
}

.input-icon>i{
  top:50%;
  color:#68736a;
  transform:translateY(-50%);
  pointer-events:none;
  transition:color .18s ease;
}

.input-icon:focus-within>i{
  color:var(--control-focus);
}

.input-icon input,
.input-icon select{
  padding-left:42px;
}

.search input{
  padding-left:40px;
}

input::placeholder,
textarea::placeholder{
  color:var(--control-placeholder);
  opacity:1;
}

select option{
  background:#fff;
  color:var(--control-text);
}

input:disabled,
textarea:disabled,
select:disabled{
  border-color:#d5d0c6;
  background:var(--control-disabled-bg);
  color:var(--control-disabled-text);
  cursor:not-allowed;
  opacity:1;
}

input:-webkit-autofill,
input:-webkit-autofill:hover{
  -webkit-text-fill-color:var(--control-text);
  caret-color:var(--control-focus);
  box-shadow:0 0 0 1000px var(--control-bg) inset;
  transition:background-color 9999s ease-out 0s;
}

input:-webkit-autofill:focus{
  -webkit-text-fill-color:var(--control-text);
  box-shadow:0 0 0 1000px #fff inset,0 0 0 3px var(--control-focus-ring);
}

.chat-composer{
  transition:border-color .18s ease,box-shadow .18s ease,background-color .18s ease;
}

.chat-composer:focus-within{
  border-color:var(--control-focus);
  background:#fff;
  box-shadow:0 0 0 3px var(--control-focus-ring);
}

.chat-composer textarea{
  color:var(--control-text);
  caret-color:var(--control-focus);
}

.diagnosis-data-preview{
  display:flex;
  height:130px;
  align-items:center;
  justify-content:center;
  flex-direction:column;
  gap:4px;
  color:#2f5b45;
  background:linear-gradient(145deg,#edf6ed,#f7f1df);
}

.diagnosis-data-preview i{font-size:34px;color:#43805d}
.diagnosis-data-preview strong{font-size:13px;letter-spacing:.12em}
.diagnosis-data-preview span{font-size:10px;color:#6c786f}

.health-data-summary,.case-health-data,.health-data-archive{
  border:1px solid #c9ddcd;
  border-radius:10px;
  background:#f0f7f1;
  color:#334d3c;
}

.health-data-summary{margin:0 0 18px;padding:14px}
.health-data-summary>strong,.case-health-data>strong{display:block;margin-bottom:8px;color:#28523b}
.health-data-summary p{margin:0;line-height:1.65}
.case-health-data{margin:14px 0;padding:12px;font-size:12px;line-height:1.65}

.case-data-file{
  display:flex;
  min-height:150px;
  align-items:center;
  justify-content:center;
  flex-direction:column;
  gap:5px;
  padding:18px;
  color:#2d6848;
  text-decoration:none;
  background:linear-gradient(145deg,#eff7ef,#f8f2e5);
}

.case-data-file i{font-size:36px}
.case-data-file span{font-size:11px;color:#748078}

.admin-hero{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:24px;
  margin-bottom:24px;
  padding:28px;
  border:1px solid #d8d0bf;
  border-radius:18px;
  background:linear-gradient(135deg,#f9f5eb 0%,#edf5ee 100%);
}

.admin-hero h2{margin:4px 0 8px;font-size:30px}
.admin-hero p{margin:0;color:#687369}
.admin-layout{display:grid;grid-template-columns:minmax(300px,.75fr) minmax(520px,1.25fr);gap:20px}
.admin-create-card,.admin-users-card{padding:22px;border:1px solid #ddd5c5;border-radius:16px;background:#fffdf8;box-shadow:0 10px 28px #33422f0a}
.admin-create-card .primary-btn{width:100%;margin-top:16px}
.admin-policy{display:flex;gap:7px;margin:12px 0 0;color:#7a725f;font-size:11px;line-height:1.5}
.admin-user-list{display:grid;gap:9px;margin-top:14px}
.admin-user-row{display:grid;grid-template-columns:40px minmax(120px,1fr) 110px 130px auto;align-items:center;gap:12px;padding:12px;border:1px solid #e3ddcf;border-radius:12px;background:#fff}
.admin-user-row.locked{background:#f4f2eb}
.admin-user-avatar{display:grid;width:40px;height:40px;place-items:center;border-radius:50%;background:#315b45;color:#fff;font-weight:700}
.admin-user-row strong,.admin-user-row p{margin:0}
.admin-user-row p,.admin-user-row small{color:#7a817a;font-size:11px}
.admin-role-chip{justify-self:start;padding:5px 8px;border-radius:999px;background:#edf3e9;color:#426249;font-size:11px}
.admin-user-actions{display:flex;justify-content:flex-end;gap:6px}
.admin-user-actions button{padding:7px 9px;border:1px solid #d7d0c2;border-radius:8px;background:#faf8f2;color:#47564b}
.admin-user-actions span{color:#85877f;font-size:11px}
.admin-dialog .form-grid{margin:16px 0}
body[data-role="admin"] #notificationButton,
body[data-role="admin"] .top-actions>span{display:none}

@media(max-width:1100px){
  .admin-layout{grid-template-columns:1fr}
}

@media(max-width:720px){
  .admin-hero{padding:20px;flex-direction:column}
  .admin-user-row{grid-template-columns:40px 1fr auto}
  .admin-user-row>small{display:none}
  .admin-role-chip{grid-column:2}
  .admin-user-actions{grid-column:3;grid-row:1 / span 2;flex-direction:column}
}
