:root{
  --ink:#292929;
  --ink-soft:#3a3a3a;
  --paper:#f4f4f1;
  --card:#ffffff;
  --accent:#f96302;
  --accent-dark:#c94d00;
  --accent-soft:#fff0e6;
  --muted:#666863;
  --danger:#b42318;
  --line:#d8d8d3;
  --ok:#246b45;
  font-family:Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,sans-serif;
  color:var(--ink);
  background:var(--paper)
}
*{box-sizing:border-box}
body{margin:0;min-height:100vh;background:linear-gradient(160deg,#fafafa 0%,#f0efeb 62%,#ebe9e4 100%)}
body:before{content:"";position:fixed;inset:0;pointer-events:none;opacity:.22;background-image:linear-gradient(#d9d7d133 1px,transparent 1px),linear-gradient(90deg,#d9d7d133 1px,transparent 1px);background-size:28px 28px}
button,input,textarea,select{font:inherit}
button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid #ffb27f;outline-offset:2px}
.shell{position:relative;max-width:760px;margin:auto;min-height:100vh;padding:18px 16px 96px}
.topbar{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px}
.brand{display:flex;gap:10px;align-items:center;font-weight:950;font-size:20px;letter-spacing:-.02em}
.mark{width:38px;height:38px;border-radius:8px;background:var(--accent);display:grid;place-items:center;color:#fff;box-shadow:0 5px 14px #f9630233;border:2px solid #fff;font-size:13px;letter-spacing:.04em}
.pill{font-size:12px;font-weight:800;background:var(--ink);color:#fff;padding:7px 11px;border-radius:999px;border:1px solid #444}
.hero{position:relative;overflow:hidden;background:linear-gradient(140deg,var(--ink),#3b3b3b);color:white;border-radius:24px;padding:28px;box-shadow:0 18px 45px #29292924;border-top:5px solid var(--accent)}
.hero:after{content:"";position:absolute;width:180px;height:180px;border:32px solid #f963021f;border-radius:50%;right:-76px;top:-84px}
.hero h1{position:relative;font-size:34px;line-height:1.02;margin:0 0 10px;letter-spacing:-.045em}
.hero p{position:relative;color:#e6e6e2;margin:0;max-width:520px}
.grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:18px}
.action{border:1px solid #ebe9e3;background:var(--card);border-radius:18px;padding:20px;text-align:left;min-height:128px;box-shadow:0 9px 25px #29292910;cursor:pointer;transition:transform .15s ease,border-color .15s ease,box-shadow .15s ease}
.action:hover{transform:translateY(-2px);border-color:#bdbab2;box-shadow:0 13px 28px #29292916}
.action strong{display:block;font-size:18px;margin-top:18px}.action small{color:var(--muted)}
.action.primary{grid-column:1/-1;background:linear-gradient(135deg,var(--accent),#ff7a22);color:white;min-height:142px;border-color:var(--accent);box-shadow:0 13px 30px #f9630231}
.action.primary small{color:#fff3ea}.action.primary .icon{filter:drop-shadow(0 3px 6px #b53b002b)}
.icon{font-size:27px}
.panel{background:var(--card);border-radius:22px;padding:20px;box-shadow:0 9px 25px #29292910;border:1px solid #ebe9e3}
.panel h2{margin:0 0 7px;letter-spacing:-.025em}.muted{color:var(--muted)}
.choices{display:grid;gap:10px;margin:18px 0}
.choice,.btn{border:1px solid var(--line);background:white;padding:16px;border-radius:13px;text-align:left;cursor:pointer;transition:border-color .15s ease,background .15s ease,transform .15s ease}
.choice:hover,.choice:focus,.btn:hover{border-color:var(--accent);background:#fffaf6}.choice:hover{transform:translateY(-1px)}
.btn{background:var(--accent);border-color:var(--accent);color:white;text-align:center;font-weight:850;box-shadow:0 7px 16px #f9630224}
.btn:hover{background:var(--accent-dark);border-color:var(--accent-dark)}
.btn.secondary{background:white;color:var(--ink);box-shadow:none}.btn.secondary:hover{color:var(--accent-dark)}
.btn.danger{background:var(--danger);border-color:var(--danger)}
.back{border:0;background:transparent;padding:8px 0;font-weight:800;color:var(--accent-dark)}
.search{width:100%;border:1px solid var(--line);border-radius:14px;padding:16px;background:white}
.search:focus{border-color:var(--accent)}
.chatbox{display:flex;gap:8px;position:sticky;bottom:76px;background:linear-gradient(180deg,#f4f4f100,var(--paper) 24%);padding:18px 0 10px}
.chatbox input{flex:1}
.result{border-left:5px solid var(--accent);padding:14px;background:var(--accent-soft);border-radius:11px;margin:10px 0}
.warning{border-left-color:var(--danger);background:#fff0ed}.safe{border-left-color:var(--ok);background:#eef8f2}
.tag{display:inline-block;font-size:12px;font-weight:800;padding:5px 8px;border-radius:999px;background:#f0efeb;color:#575752;margin:3px;border:1px solid #dedcd6}
.bottom{position:fixed;bottom:0;left:0;right:0;background:#ffffffef;backdrop-filter:blur(12px);border-top:1px solid var(--line);display:flex;justify-content:center;box-shadow:0 -7px 24px #2929290d}
.bottom-inner{max-width:760px;width:100%;display:grid;grid-template-columns:repeat(5,1fr);padding:8px}
.nav{border:0;background:transparent;font-size:11px;padding:8px 2px;color:var(--muted);cursor:pointer}.nav:hover{color:var(--accent-dark)}.nav b{display:block;font-size:18px;color:var(--ink)}
.section-title{margin:24px 0 10px}.scenario{display:flex;justify-content:space-between;gap:12px}.scenario>span:last-child{color:var(--accent);font-size:24px;font-weight:900}
.meter{height:8px;background:#e5e4df;border-radius:99px;overflow:hidden}.meter span{display:block;height:100%;background:var(--accent)}
.admin-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.stat{padding:14px;background:#f3f2ee;border-radius:13px;border-top:4px solid var(--accent)}.stat strong{font-size:22px;display:block}
@media(max-width:480px){.hero h1{font-size:29px}.grid{grid-template-columns:1fr}.action.primary{grid-column:auto}.admin-grid{grid-template-columns:1fr 1fr}}

/* Authenticated pilot and AI/vision additions */
button:disabled{opacity:.58;cursor:not-allowed;transform:none!important}
.login-shell{min-height:100vh;display:grid;place-items:center;padding:22px;position:relative}
.login-card{width:min(100%,460px);background:var(--card);border:1px solid #e3e1da;border-top:6px solid var(--accent);border-radius:24px;padding:28px;box-shadow:0 24px 70px #29292924}
.login-brand{margin-bottom:24px}.login-card h1{font-size:34px;line-height:1.04;letter-spacing:-.04em;margin:18px 0 10px}
.login-form{display:grid;gap:14px;margin-top:22px}.login-form label{display:grid;gap:7px;font-size:13px;font-weight:850;color:var(--ink-soft)}
.privacy-note{font-size:12px;color:var(--muted);border-top:1px solid var(--line);padding-top:16px;margin:20px 0 0}
.top-actions{display:flex;align-items:center;gap:8px}.user-button{border:1px solid var(--line);background:#fff;border-radius:999px;padding:7px 10px;font-size:12px;font-weight:800;color:var(--ink);cursor:pointer}
.eyebrow{display:block;font-size:11px;letter-spacing:.16em;font-weight:950;color:#ffb481;margin-bottom:10px}
.nav.active{color:var(--accent-dark)}.nav.active b{color:var(--accent)}
.case-heading,.result-title,.section-title{display:flex;align-items:center;justify-content:space-between;gap:12px}
.status-dot{font-size:11px;color:var(--muted);font-weight:800}.status-dot:before{content:"";display:inline-block;width:7px;height:7px;border-radius:50%;background:#989894;margin-right:6px}.status-dot.online:before{background:var(--ok)}
.spinner{display:inline-block;width:15px;height:15px;border:2px solid #ffffff66;border-top-color:#fff;border-radius:50%;animation:spin .8s linear infinite;margin-right:8px;vertical-align:-2px}.spinner.large{width:30px;height:30px;border-color:#f9630244;border-top-color:var(--accent)}
@keyframes spin{to{transform:rotate(360deg)}}
.upload-zone{display:grid;place-items:center;text-align:center;gap:8px;min-height:190px;border:2px dashed #c9c6be;border-radius:18px;background:#faf9f6;padding:18px;cursor:pointer;margin:18px 0;overflow:hidden}.upload-zone:hover{border-color:var(--accent);background:#fffaf6}.upload-zone img{max-width:100%;max-height:250px;border-radius:12px;object-fit:contain}.upload-zone small{color:var(--muted)}.upload-icon{font-size:40px;color:var(--accent)}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.choices.compact{margin-bottom:12px}.button-row{display:grid;grid-template-columns:1fr 1fr;gap:10px}.button-row .btn{width:100%}
.match-card{border:1px solid var(--line);border-left:5px solid var(--accent);border-radius:13px;padding:14px;margin:10px 0;background:#fff}.match-card>div{display:flex;align-items:center;gap:9px}.match-card p{margin:8px 0 0;color:var(--muted)}.rank{display:grid;place-items:center;width:25px;height:25px;border-radius:50%;background:var(--accent);color:#fff;font-weight:900}.confidence{float:right;margin-top:-25px;font-weight:950;color:var(--accent-dark)}
.success-text{color:var(--ok);font-weight:800}.danger-text{color:var(--danger);font-weight:800}
@media(max-width:480px){.login-card{padding:22px}.login-card h1{font-size:29px}.button-row{grid-template-columns:1fr}.top-actions .pill{display:none}}
