:root{--bg:#f5f6f2;--paper:#fff;--ink:#172720;--muted:#5f6f65;--line:#e1e7e0;--forest:#205541;--forest-dark:#143429;--sidebar:#142921;--gold:#e1c682;--radius:16px;color-scheme:light}
*{box-sizing:border-box}
body{margin:0;background:var(--bg);color:var(--ink);font:14px/1.5 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
button,input,select,textarea{font:inherit}
button,a,input,select,textarea,summary{-webkit-tap-highlight-color:transparent}
button{cursor:pointer}
button:disabled{cursor:default;opacity:.54}
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:2px solid #408064;outline-offset:3px}
h1,h2,h3,p{margin:0}h1{font-size:clamp(30px,4vw,43px);letter-spacing:-.052em;line-height:1.1;margin:7px 0 9px}h2{font-size:19px;letter-spacing:-.03em;line-height:1.25}h3{font-size:15px}
.shell{min-height:100vh;display:grid;grid-template-columns:230px minmax(0,1fr)}
.sidebar{background:var(--sidebar);color:#d7e5dc;padding:27px 15px 17px;position:sticky;top:0;align-self:start;height:100dvh;display:flex;flex-direction:column;overflow:auto}
.brand{display:flex;gap:12px;align-items:center;padding:2px 7px 33px;color:white}
.brand-icon{width:43px;height:43px;display:grid;place-items:center;color:var(--gold);background:#274035;border:1px solid #53634c;border-radius:12px}
.brand strong{display:block;font-size:21px;letter-spacing:-.05em;line-height:1.15}.brand small{font-size:9px;letter-spacing:.15em;color:#b6c3b9;font-weight:700}
.nav-label{color:#a3b7aa;font-size:10px;font-weight:750;letter-spacing:.13em;padding:3px 12px 11px}
nav{display:grid;gap:4px}nav button{display:flex;align-items:center;gap:11px;border:1px solid transparent;background:transparent;color:#d4e1d8;text-align:left;width:100%;min-height:44px;border-radius:9px;padding:9px 11px;white-space:nowrap;font-weight:550}
nav button:hover{background:#223a30}nav button.selected{color:white;background:#2a4739;border-color:#3b584a}nav button.selected svg{color:var(--gold)}
.sidebar-bottom{border-top:1px solid #385044;margin-top:auto;padding:15px 9px 0;font-size:12px;color:#c0d0c5;display:flex;align-items:center;gap:8px}
.private-dot{width:7px;height:7px;border-radius:50%;background:#88bd9c}
main{min-width:0}.topbar{background:var(--paper);border-bottom:1px solid var(--line);height:66px;padding:0 clamp(20px,3vw,42px);display:flex;justify-content:space-between;align-items:center;gap:10px}.topbar span{display:flex;align-items:center;gap:9px}.crumb{color:var(--muted)}.topbar svg{color:var(--muted)}
.edition{border:1px solid var(--line);padding:6px 11px;border-radius:7px;font-size:12px;color:var(--muted)}
.content{max-width:1500px;margin:auto;padding:29px clamp(20px,3vw,42px) 40px}.page-head{display:flex;justify-content:space-between;align-items:flex-end;gap:15px;margin-bottom:23px}.eyebrow{font-size:10px;font-weight:800;letter-spacing:.16em;color:#496454}.page-head p,.section-head p,.modal-head p,.muted,.inset p{color:var(--muted)}
.actions,.spread{display:flex;align-items:center;gap:8px}.spread{justify-content:space-between}.actions{flex-wrap:wrap}
.button{border:1px solid #d8e2d9;background:white;color:#21382c;border-radius:9px;min-height:40px;padding:8px 13px;display:inline-flex;align-items:center;justify-content:center;gap:7px;font-weight:680;text-decoration:none;white-space:nowrap}
.button:hover,.icon-button:hover{background:#eef4ef}.button.primary{background:#225841;color:white;border-color:#225841}.button.primary:hover{background:#194533}.button.small{min-height:33px;padding:5px 9px;font-size:12px}.icon-button{display:inline-grid;place-items:center;background:transparent;color:var(--forest);border:1px solid var(--line);width:34px;height:34px;flex:none;border-radius:8px}
.hero{min-height:203px;position:relative;overflow:hidden;border-radius:var(--radius);background:linear-gradient(108deg,#173d30 0%,#215540 66%,#2c614b 100%);color:white;display:flex;align-items:center;padding:27px 29px;margin-bottom:19px}.hero-content{position:relative;z-index:1}.hero-tag{color:#f0dca6;font-size:10px;font-weight:800;letter-spacing:.14em;display:flex;align-items:center;gap:8px}.hero-tag span{width:6px;height:6px;background:#edcc7a;border-radius:50%}.hero h2{font-size:clamp(24px,4vw,37px);letter-spacing:-.045em;margin:10px 0 6px}.hero p{color:#e2ede5;margin-bottom:17px}.hero-link{display:inline-flex;align-items:center;gap:9px;padding:7px 10px;border-radius:7px;background:#ffffff12;border:1px solid #ffffff47;color:white;font-size:12px;font-weight:700}.hero-link:hover{background:#ffffff28}
.hero-emblem{position:absolute;right:7%;top:50%;transform:translateY(-50%);width:260px;height:260px;display:grid;place-items:center;border:1px solid #f1e1b02c;border-radius:50%;box-shadow:0 0 0 24px #ead9a407,0 0 0 50px #ead9a406,0 0 0 76px #ead9a405}.hero-emblem div{width:174px;height:174px;display:grid;place-items:center;border:1px solid #f1e1b03d;border-radius:50%;background:#f1e1b007}.hero-emblem svg{width:113px;height:113px;color:#f3dda376}
.stats,.comparison-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:13px;margin-bottom:19px}.stat,.comparison{text-align:left;background:white;border:1px solid var(--line);border-radius:13px;padding:14px 15px;color:var(--ink);min-width:0}.stat:hover,.comparison:hover,.comparison.on{border-color:#82a991;background:#f8fbf8}.stat .spread>svg{color:#6c7c71}.stat-icon,.empty-icon{width:35px;height:35px;display:grid;place-items:center;border-radius:10px}.stat-icon.sage,.empty-icon{background:#edf2eb;color:#446756}.stat-icon.green{background:#e5f1e8;color:#286446}.stat-icon.blue{background:#e7eff4;color:#3c617b}.stat-icon.amber{background:#fbf2db;color:#855e18}
.stat strong,.comparison strong{display:block;font-size:29px;letter-spacing:-.04em;line-height:1.1;margin:9px 0 4px}.stat b,.comparison b{display:block;line-height:1.35}.stat small,.comparison small{display:block;color:var(--muted);margin-top:3px;font-size:11px}.comparison strong{color:var(--forest)}
.overview-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px}.panel{background:white;border:1px solid var(--line);border-radius:var(--radius);min-width:0}.section-head{padding:18px 19px;border-bottom:1px solid var(--line)}.section-head h2+p{margin-top:4px}.section-head p{font-size:13px}.section-head>svg{color:#58836b}.lower{margin-top:16px}
.progress-list{padding:15px 19px 18px;display:grid;gap:12px}.progress-item .spread{font-size:13px}.progress-item b{color:var(--forest);font-size:12px}.track{height:6px;border-radius:10px;background:#edf1eb;margin-top:5px}.track span{display:block;height:100%;background:#568d71;border-radius:10px}
.empty{text-align:center;display:grid;justify-items:center;gap:7px;padding:27px 16px 31px;color:var(--ink)}.empty-icon{width:44px;height:44px;margin-bottom:3px}.empty p{color:var(--muted);max-width:380px;font-size:13px}.empty .button{margin-top:5px}.compact-list{padding:9px 18px 12px}.compact-list>p{padding:7px 0}.compact-item{display:flex;justify-content:space-between;align-items:center;gap:14px;width:100%;background:none;border:0;border-bottom:1px solid var(--line);padding:11px 0;text-align:left;color:var(--ink)}.compact-item:last-child{border-bottom:0}.compact-item small,.under{display:block;font-weight:400;color:var(--muted);white-space:normal}.task-row{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:12px;padding:10px 0;align-items:center;border-bottom:1px solid var(--line)}.task-row:last-child{border-bottom:0}
.filters{display:flex;gap:12px;flex-wrap:wrap;align-items:flex-end;padding:15px;border-bottom:1px solid var(--line)}.filters label{min-width:126px}.filters .search{display:flex;align-items:center;flex:1;min-width:205px;position:relative}.search svg{position:absolute;left:11px;color:var(--muted)}.search input{padding-left:35px}.filters .button{margin-bottom:2px}
label{font-weight:650;display:grid;gap:4px;color:#30473a;font-size:13px}input:not([type=checkbox]),select,textarea{min-width:0;width:100%;border:1px solid #cfdad1;border-radius:8px;padding:8px 10px;background:white;color:var(--ink);min-height:39px}textarea{resize:vertical}input[type=checkbox]{width:16px;height:16px;accent-color:var(--forest);margin:0;flex:none}.check{display:flex;align-items:center;gap:8px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:13px}.full{grid-column:1/-1}.stack{display:grid;gap:12px}.inset{background:#f5f7f3;border:1px solid var(--line);padding:12px;border-radius:10px}.inset p{font-size:12px}.extra-row{display:grid;grid-template-columns:1fr 1fr auto;gap:8px;align-items:end;margin-top:10px}.extra-row .icon-button{margin-bottom:2px}.required{color:#a63d38}
.table-scroll,.preview-table{overflow:auto}.preview-table{max-height:240px;border:1px solid var(--line);border-radius:7px}table{border-collapse:collapse;width:100%;text-align:left;font-size:13px}th,td{padding:11px 13px;border-bottom:1px solid var(--line);vertical-align:middle;overflow-wrap:anywhere;white-space:pre-wrap}th{background:#f5f7f4;font-weight:750;color:#3b5345;font-size:12px}tbody tr:last-child td{border-bottom:0}tbody tr:hover{background:#fafcf9}.table-foot{padding:9px 14px;color:var(--muted);border-top:1px solid var(--line);font-size:12px}
.name-button{background:none;border:0;color:var(--forest);font-weight:740;padding:0;text-align:left}.name-button:hover{text-decoration:underline}.pill{display:inline-block;padding:3px 8px;border-radius:30px;font-size:11px;font-weight:720;line-height:1.3}.pill.green{background:#e3f1e7;color:#225f3c}.pill.amber{background:#fff1d8;color:#755011}.pill.red{background:#f8e7e4;color:#853c34}.pill.gray{background:#edf0ed;color:#51635a}.history-row{border-bottom:1px solid var(--line);padding:10px 0}.history-row:last-child{border-bottom:0}.history-row summary{cursor:pointer;color:var(--forest)}.history-row summary span{margin-left:10px;color:var(--muted);font-size:12px}.history-row table{margin-top:8px}.report-controls .section-head{border-bottom:0}.report-paper .eyebrow{margin-bottom:7px}.config-fields{padding:18px 19px}
.modal{width:min(740px,calc(100vw - 24px));padding:0;border:1px solid var(--line);border-radius:16px;color:var(--ink);max-height:calc(100dvh - 30px);box-shadow:0 20px 80px #0c241d44}.modal::backdrop{background:#0e231cb0}.modal-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;border-bottom:1px solid var(--line);padding:17px 18px}.modal-head p{margin-top:5px;font-size:13px}.modal-body{padding:17px 18px}.modal-footer{position:sticky;bottom:0;background:white;border-top:1px solid var(--line);padding:12px 18px;display:flex;justify-content:flex-end;gap:8px}.tabs{display:flex;flex-wrap:wrap;gap:4px;padding:8px 13px;border-bottom:1px solid var(--line)}.tabs button{padding:6px 9px;background:none;border:1px solid transparent;border-radius:7px;color:#365142;font-size:12px;font-weight:690}.tabs button:hover,.tabs button.active{background:#e9f2eb;border-color:#cbded1}.upload{border:1px dashed #94ac9c;border-radius:10px;min-height:95px;display:grid;place-content:center;justify-items:center;gap:5px;text-align:center;background:#f8faf7;padding:10px}.upload input{max-width:285px;min-height:auto;padding:4px}
.alert,.dialog-error{background:#fff0e6;border:1px solid #eccdb7;color:#733917;padding:10px;border-radius:9px}.global-alert{margin-bottom:14px}.dialog-error{position:fixed;inset:auto 15px 15px auto;max-width:min(550px,calc(100% - 30px));z-index:10}.toast{position:fixed;right:18px;bottom:18px;z-index:5;display:flex;align-items:center;gap:8px;background:#224a37;color:white;border-radius:9px;padding:11px 15px;box-shadow:0 5px 20px #163d343a}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
@media(max-width:1050px){.shell{grid-template-columns:195px minmax(0,1fr)}.page-head{align-items:flex-start;flex-wrap:wrap}.hero-emblem{right:2%;opacity:.7}}
@media(max-width:770px){.shell{display:block}.sidebar{height:auto;position:static;padding:10px 13px}.brand{padding:0 4px 9px}.brand-icon{width:35px;height:35px}.brand strong{font-size:17px}.nav-label,.sidebar-bottom{display:none}nav{display:flex;overflow:auto;padding-bottom:3px}nav button{width:auto;min-height:35px;padding:5px 8px;font-size:12px}.topbar{height:49px}.content{padding:18px 13px 30px}.overview-grid{grid-template-columns:1fr}.stats,.comparison-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.hero{padding:20px;min-height:169px}.hero-emblem{opacity:.25}.section-head.spread{flex-wrap:wrap}.edition{max-width:47%;overflow-wrap:anywhere}}
@media(max-width:420px){.crumb,.topbar>span:first-child>svg{display:none}.form-grid{grid-template-columns:1fr}.filters label{flex:1}.filters .search{flex-basis:100%}}
@media print{
  @page{size:A4 landscape;margin:13mm}
  body{background:white;color:black;font-size:10pt}
  .shell,main,.content{display:block;padding:0;margin:0;width:100%;max-width:none}
  .sidebar,.topbar,.page-head,.report-controls,.report-log,.toast,.global-alert{display:none!important}
  .report-paper{border:0;margin:0;border-radius:0}
  .report-paper .section-head{padding:0 0 10px}
  .table-scroll{overflow:visible}
  table{width:100%;table-layout:fixed;font-size:9pt}
  thead{display:table-header-group}th,td{padding:6px;border:1px solid #9a9a9a!important}
  th{color:black;background:white}tr{break-inside:avoid}
  .report-paper td:empty{height:29px}
}

/* Identidade visual do curso */
:root{--bg:#f3f1eb;--ink:#24251f;--muted:#6b6b61;--line:#e1dfd5;--forest:#665024;--forest-dark:#242219;--sidebar:#111310;--gold:#d8b873}
.sidebar{background:linear-gradient(165deg,#171b15,#10120f)}
.brand-icon{background:#26281e;border-color:#776442;color:#dec38c}
nav button.selected{background:#393324;border-color:#695638}
nav button:hover{background:#292b22}
.button.primary{background:#41381f;border-color:#41381f}
.button.primary:hover{background:#65532c}
.hero{min-height:300px;padding:35px;background:#171b14;border:1px solid #534b34;isolation:isolate}
.hero-content{width:48%;max-width:510px}
.hero h2{font-size:clamp(28px,3.4vw,44px);line-height:1.07;color:#f7f0db}
.hero-photo{position:absolute;inset:0 0 0 40%;z-index:-1}
.hero-photo img{width:100%;height:100%;object-fit:cover;object-position:center 45%}
.hero-photo:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#171b14 0%,#171b1460 25%,transparent 65%),linear-gradient(0deg,#171b1470,transparent)}
.hero-link{border-color:#b6995c;color:#f4dfae;background:#302b1e}
.hero-tag{color:#d6bb7f}
.course-gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:0 0 22px}
.course-gallery figure{margin:0;position:relative;border-radius:12px;overflow:hidden;background:#171813;height:154px;border:1px solid #39372a}
.photo-window{position:absolute;inset:0;overflow:hidden}
.photo-window img{position:absolute;width:100%;height:auto;top:50%;transform:translateY(-49%);filter:brightness(.85)}
.course-gallery figure:after{content:"";position:absolute;inset:0;background:linear-gradient(transparent 40%,#0b100de8)}
.course-gallery figcaption{position:absolute;z-index:1;left:17px;bottom:13px;color:#f9edce;letter-spacing:.07em;text-transform:uppercase;font-size:11px;font-weight:750}
.track span{background:#a18a54}
.stat:hover{background:#fcfaf3;border-color:#b6a477}
.stat-icon.sage,.stat-icon.green{background:#f2ecdd;color:#776334}
@media(max-width:770px){
.hero{padding:23px;min-height:335px;align-items:flex-end}
.hero-content{width:100%;max-width:none}
.hero-photo{inset:0}
.hero-photo img{object-position:center 34%}
.hero-photo:after{background:linear-gradient(0deg,#141a12 0%,#141a12e0 24%,#141a1230 75%)}
.hero h2{max-width:350px;font-size:32px}
.hero p{font-size:13px}
.hero-tag{font-size:8px}
.course-gallery{gap:7px}
.course-gallery figure{height:128px}
.photo-window img{width:auto;height:215%;left:50%;transform:translate(-50%,-49%)}
.course-gallery figcaption{left:9px;bottom:10px;font-size:9px;letter-spacing:.025em}
.topbar .edition{font-size:10px}
}
@media print{.course-gallery{display:none}}
.login-shell{min-height:100dvh;display:grid;place-items:center;padding:24px;background:#111411}.login-card{width:min(850px,100%);display:grid;grid-template-columns:1fr 1fr;background:#fff;border-radius:22px;overflow:hidden}.login-photo{background:linear-gradient(0deg,#161a17aa,#161a1722),url('/photos/formatura.jpeg') center/cover}.login-content{padding:42px 32px}.login-content h1{margin:14px 0}.login-content form{display:grid;gap:18px;margin:28px 0}.login-content label{display:grid;gap:7px}.login-content small{color:#59655e}.login-content #error{color:#9b2828}.login-content input{min-height:48px}.sidebar-bottom{flex-wrap:wrap}.sidebar-bottom form{margin-left:auto}@media(max-width:600px){.login-card{grid-template-columns:1fr}.login-photo{height:170px;background-position:center 35%}.login-content{padding:28px 24px}.login-shell{padding:16px}}

/* Brevê oficial: apresentação integral */
.login-photo{background:#000 url('/photos/breve.jpeg') center/contain no-repeat;min-height:360px}
.hero{display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:28px;background:#080a08;align-items:center}
.hero-content{width:100%;max-width:510px}
.hero-photo{position:relative;inset:auto;z-index:auto;width:100%;height:270px;background:#000;border-radius:12px}
.hero-photo img{object-fit:contain;object-position:center;padding:10px}
.hero-photo:after{display:none}
@media(max-width:770px){.hero{grid-template-columns:1fr;gap:20px;align-items:center}.hero-photo{grid-row:1;height:240px;max-width:300px;justify-self:center}.hero-content{max-width:none}.hero h2{max-width:none}}
@media(max-width:600px){.login-photo{height:260px;min-height:260px}.login-content{padding-top:24px}}

/* Tela inicial preta com foto e brevê */
.login-shell{background:#000;color:#f5f5f5;padding:30px 20px}
.login-card{width:min(980px,100%);background:#000;border:1px solid #302918;grid-template-columns:1.08fr 1fr;align-items:center}
.login-portrait{position:relative;aspect-ratio:707/942;overflow:hidden;background:#000;width:100%}
.login-portrait img{position:absolute;display:block;width:100%;height:auto;max-width:none;top:-29.1%;left:0;filter:brightness(1.35);opacity:1}
.login-content{padding:28px 38px;background:#000;color:#f5f5f5}
.login-breve{display:block;width:132px;height:132px;object-fit:contain;margin:0 auto 22px}
.login-content .eyebrow{color:#bca05b}.login-content>p{color:#bdbdbd}.login-content h1{color:#fff}
.login-content input{background:#101010;border:1px solid #49402c;color:#fff}.login-content input::placeholder{color:#999}
.login-content small{color:#a9a9a9}.login-content .button.primary{background:#b89a4c;color:#000;border-color:#b89a4c;font-weight:750}
.login-content #error{color:#ff9c9c}.hero{grid-template-columns:minmax(0,1fr) minmax(300px,45%);background:#000}
.hero-images{display:grid;grid-template-columns:1fr 1fr;gap:12px;align-items:center}.hero-photo{height:250px}.hero-portrait{border-radius:10px}
@media(max-width:770px){.hero{grid-template-columns:1fr}.hero-images{grid-row:1;max-width:420px;width:100%;justify-self:center}.hero-photo{height:220px}}
@media(max-width:600px){.login-shell{padding:12px}.login-card{grid-template-columns:1fr}.login-portrait{width:100%;max-height:none;aspect-ratio:707/942}.login-content{padding:28px 24px}.login-breve{width:120px;height:120px}.hero-portrait{height:auto;min-height:0}.hero-photo{height:190px}}
.login-content label{color:#e0e0e0}.login-content .login-breve{background:#000}

.login-shell{align-content:center;gap:24px}.coord-motto{text-align:center;color:#cfb46b;font-size:15px;letter-spacing:.035em;padding:22px 12px}.login-shell>.coord-motto{padding:0 12px 12px}@media print{.coord-motto{display:none}}

/* Foto original, sem recorte de captura de tela */
.login-portrait{aspect-ratio:3/4}.login-portrait img{position:static;width:100%;height:100%;object-fit:contain;object-position:center;filter:none}.hero-portrait{aspect-ratio:3/4}

.welcome {
  color: #f5e6bb;
  background: #17140e;
  border: 1px solid #66532a;
  border-radius: 12px;
  padding: 16px 20px;
  font-weight: 700;
  margin: 0 0 18px;
}
@media screen and (max-width: 770px) {
  .shell, .shell > main, .content, .panel, .table-scroll { min-width: 0; }
  .content { padding: 18px 14px 32px; }
  .page-head { display: grid; gap: 14px; }
  .actions, .section-head.spread { flex-wrap: wrap; }
  .button, .sidebar nav button { min-height: 44px; }
  .sidebar-bottom { display: flex; justify-content: space-between; padding-top: 6px; }
  .topbar { height: auto; min-height: 49px; padding-block: 10px; }
  .filters { display: grid; grid-template-columns: minmax(0, 1fr); gap: 12px; }
  .filters label, .filters .search { min-width: 0; width: 100%; }
  .filters input, .filters select, .modal input, .modal textarea, .modal select, .login-content input { font-size: 16px; }
  .table-scroll { overflow-x: auto; }
  .table-scroll table { min-width: 600px; }
  .modal { width: calc(100% - 20px); max-height: 92dvh; }
  .modal .form-grid { grid-template-columns: minmax(0, 1fr); }
  .modal-footer { flex-wrap: wrap; }
  .compact-item, .task-row, .history-row summary { gap: 8px; }
  .compact-item > *, .task-row > *, .history-row summary > * { min-width: 0; overflow-wrap: anywhere; }
  .compact-item, .history-row summary { flex-wrap: wrap; }
  .login-card .login-portrait { max-width: 100%; }
}
@media screen and (max-width: 370px) {
  .stats { grid-template-columns: minmax(0, 1fr); }
  .page-head .actions > .button { flex: 1 1 100%; }
}
@media print { .welcome { display: none; } }

progress.track { display: block; width: 100%; appearance: none; border: 0; accent-color: #9e8041; }
progress.track::-webkit-progress-bar { background: #e5e7e2; border-radius: 999px; }
progress.track::-webkit-progress-value { background: #9e8041; border-radius: 999px; }

.hero-breve { min-width: 0; margin: 0; text-align: center; }
.hero-breve .hero-photo { margin-inline: auto; }
.hero-breve figcaption {
  color: #e1c682;
  font-size: clamp(10px, 1.5vw, 13px);
  font-weight: 800;
  letter-spacing: .08em;
  line-height: 1.45;
  padding: 5px 2px 0;
}
@media screen {
  :root {
    color-scheme: dark;
    --bg: #10110f;
    --paper: #191a17;
    --ink: #f3f0e6;
    --muted: #bbbcb1;
    --line: #3a3b32;
    --forest: #dbc183;
    --forest-dark: #ad965e;
    --sidebar: #121510;
  }
  .shell .panel, .shell .stat, .shell .comparison, .modal, .modal-footer { background: var(--paper); }
  .shell .button:not(.primary), .modal .button:not(.primary) {
    background: #23251e;
    color: var(--ink);
    border-color: #4b4e40;
  }
  .shell .button:not(.primary):hover, .modal .button:not(.primary):hover,
  .icon-button:hover, .shell .stat:hover, .shell .comparison:hover, .shell .comparison.on { background: #2d3026; }
  .shell .eyebrow, .shell .name-button, .history-row summary, .icon-button { color: var(--forest); }
  .shell label, .modal label, .tabs button { color: var(--ink); }
  .shell input:not([type=checkbox]), .shell select, .shell textarea,
  .modal input:not([type=checkbox]), .modal select, .modal textarea {
    background: #11130f;
    color: var(--ink);
    border-color: #505144;
  }
  .shell th, .modal th, .inset, .upload { background: #24261e; color: var(--ink); }
  .shell tbody tr:hover, .modal tbody tr:hover { background: #25281f; }
  .tabs button.active, .tabs button:hover { background: #37301f; border-color: #655534; }
  .stat-icon.sage, .stat-icon.green, .empty-icon { background: #26382c; color: #b5dabd; }
  .stat-icon.blue { background: #24323d; color: #a9cce5; }
  .stat-icon.amber, .pill.amber { background: #3a301b; color: #f0d78f; }
  .pill.green { background: #243c2c; color: #bce4c5; }
  .pill.red { background: #482925; color: #ffc0b4; }
  .pill.gray { background: #31362e; color: #d6dbd0; }
  .alert, .dialog-error { background: #422d20; color: #ffe1c5; border-color: #77533c; }
  .required { color: #ffa99c; }
  progress.track, progress.track::-webkit-progress-bar { background: #303429; }
}

.hero .hero-motto {
  font-family: "Cambria Math", "STIX Two Math", "Noto Sans Math", Georgia, serif;
  font-size: clamp(14px, 3.6vw, 23px);
  line-height: 1.15;
  color: #e1c682;
  margin: 0 0 8px;
}

.monitor-home .panel { background: var(--paper); }
.monitor-home .compact-item[aria-pressed="true"] { color: var(--gold); }
.monitor-home .section-head label { margin-top: 12px; }
.monitor-home .eyebrow { color: var(--gold); }
@media screen {
  .monitor-home label { color: var(--ink); }
  .monitor-home input:not([type=checkbox]), .monitor-home textarea, .monitor-home select {
    color: var(--ink); background: #11130f; border-color: var(--line);
  }
  .monitor-home .button:not(.primary) { color: var(--ink); background: #23251e; border-color: var(--line); }
}
