*{box-sizing:border-box}
:root{--bg:#fcf7f9;--card:#ffffff;--text:#171717;--muted:#6b5d63;--line:#ecd6dd;--primary:#c4123f;--primary-strong:#a50f35;--soft:#f4c1cf;--soft-2:#f9e8ee;--danger:#a50f35;--success:#8f1736;--radius:18px}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--text);font-family:-apple-system,BlinkMacSystemFont,"SF Pro Text","Segoe UI",Roboto,Arial,sans-serif;padding-bottom:88px}
a{color:inherit;text-decoration:none}
input,select,textarea,button{font:inherit}
input,select,textarea{width:100%;padding:13px 14px;border:1px solid var(--line);border-radius:12px;background:white;color:var(--text);outline:none}
textarea{resize:vertical}
input:focus,select:focus,textarea:focus{border-color:var(--soft);box-shadow:0 0 0 3px rgba(196,18,63,.10)}
label{display:flex;flex-direction:column;gap:7px;font-size:14px;font-weight:650}
button{cursor:pointer}
.topbar{position:sticky;top:0;z-index:30;padding:calc(10px + env(safe-area-inset-top)) max(18px,env(safe-area-inset-right)) 10px max(18px,env(safe-area-inset-left));display:flex;justify-content:space-between;align-items:center;background:rgba(248,250,252,.92);backdrop-filter:blur(18px);border-bottom:1px solid rgba(226,232,240,.8)}
.brand{display:flex;align-items:center;gap:10px;font-weight:800}
.brand-mark{display:grid;place-items:center;width:48px;height:48px;border-radius:15px;background:var(--primary);color:#fff;font-weight:900}
.brand-mark.small{width:32px;height:32px;border-radius:10px}
.top-actions{display:flex;align-items:center;gap:14px;font-size:14px}.top-actions a{font-weight:700}.user-name{color:var(--muted)}
.container{max-width:1180px;margin:auto;padding:22px max(16px,env(safe-area-inset-left))}
.page-head{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:20px}.page-head h1{margin:0 0 4px;font-size:28px}.page-head p{margin:0;color:var(--muted)}
.panel{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:18px;margin-bottom:18px;box-shadow:0 3px 20px rgba(15,23,42,.03)}
.panel h2{margin:0 0 16px;font-size:18px}.panel-title{display:flex;justify-content:space-between;align-items:center;gap:12px}.panel-title a{font-size:14px;color:var(--muted);font-weight:700}
.btn{display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--line);background:#fff;border-radius:12px;padding:11px 15px;font-weight:750;color:var(--text)}
.btn.primary{background:var(--primary);color:white;border-color:var(--primary)}
.btn.primary:hover{background:var(--primary-strong);border-color:var(--primary-strong)}.btn.full{width:100%}
.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:18px}
.stat-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:18px}.stat-card span{display:block;color:var(--muted);font-size:13px}.stat-card strong{display:block;font-size:30px;margin-top:6px}.danger-card strong{color:var(--danger)}
.case-list{display:flex;flex-direction:column}.case-row{display:flex;justify-content:space-between;align-items:center;gap:18px;padding:15px 0;border-bottom:1px solid var(--line)}.case-row:last-child{border-bottom:0}.case-row div{min-width:0;display:flex;flex-direction:column;gap:3px}.case-row span:not(.status){white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.case-row small{color:var(--muted)}
.status{display:inline-flex;align-items:center;border-radius:999px;background:var(--soft-2);padding:7px 10px;font-size:12px;font-weight:800;white-space:nowrap}.status.big{font-size:13px}
.filters{display:grid;grid-template-columns:1fr 230px auto;gap:10px;margin-bottom:16px}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.full-span{grid-column:1/-1}.form-grid h3{margin:8px 0 0}
.detail-grid{display:grid;grid-template-columns:1.35fr .65fr;gap:18px}
.details{display:grid;grid-template-columns:150px 1fr;gap:10px 16px;margin:0}.details dt{color:var(--muted)}.details dd{margin:0;font-weight:650}.description-box{margin-top:18px;padding:15px;border-radius:14px;background:var(--soft-2);line-height:1.5}
.timeline{display:flex;flex-direction:column;gap:12px}.timeline-item{border-left:3px solid var(--soft);padding-left:12px;display:flex;flex-direction:column;gap:3px}.timeline-item span{color:#334155}.timeline-item small{color:var(--muted)}
.report-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.bar-row{display:flex;justify-content:space-between;padding:10px 0;border-bottom:1px solid var(--line)}.bar-row:last-child{border-bottom:0}
.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse}th,td{text-align:left;padding:12px;border-bottom:1px solid var(--line);white-space:nowrap}th{font-size:12px;color:var(--muted)}
.alert{padding:13px 14px;border-radius:12px;margin-bottom:14px;background:var(--soft-2)}.alert.success{background:#ecfdf5;color:var(--success)}.alert.danger{background:#fef2f2;color:var(--danger)}
.empty{padding:25px;text-align:center;color:var(--muted)}
.bottom-nav{display:none}
.login-page,.setup-page{min-height:100vh;padding:24px;display:grid;place-items:center;background:linear-gradient(180deg,#fff8fa,#f8e8ee)}
.login-card,.setup-card{width:min(430px,100%);background:#fff;border:1px solid var(--line);border-radius:24px;padding:26px;box-shadow:0 18px 60px rgba(15,23,42,.08)}.login-card h1,.setup-card h1{margin:16px 0 4px}.login-card p,.setup-card p{color:var(--muted)}.login-card form,.setup-card form{display:flex;flex-direction:column;gap:14px;margin-top:20px}.setup-card h3{margin:8px 0 0}.setup-card h1 span{font-size:13px;color:var(--muted)}
.install-tip{text-align:center;font-size:13px}
@media(max-width:760px){
 body{padding-bottom:calc(78px + env(safe-area-inset-bottom))}
 .topbar{padding-top:calc(9px + env(safe-area-inset-top))}
 .user-name{display:none}
 .container{padding-top:14px}
 .page-head h1{font-size:24px}
 .stats-grid{grid-template-columns:1fr 1fr;gap:10px}.stat-card{padding:15px}.stat-card strong{font-size:25px}
 .detail-grid,.report-grid{grid-template-columns:1fr}
 .filters{grid-template-columns:1fr}.filters .btn{width:100%}
 .form-grid{grid-template-columns:1fr}.full-span{grid-column:auto}
 .details{grid-template-columns:115px 1fr;font-size:14px}
 .case-row{align-items:flex-start}.case-row .status{max-width:125px;white-space:normal;text-align:center;justify-content:center}
 .desktop-only{display:none}
 .bottom-nav{position:fixed;z-index:50;left:0;right:0;bottom:0;display:grid;grid-template-columns:repeat(5,1fr);padding:8px max(8px,env(safe-area-inset-right)) calc(8px + env(safe-area-inset-bottom)) max(8px,env(safe-area-inset-left));background:rgba(255,255,255,.96);backdrop-filter:blur(18px);border-top:1px solid var(--line)}
 .bottom-nav a{display:flex;flex-direction:column;align-items:center;gap:2px;font-size:20px}.bottom-nav a span{font-size:10px;font-weight:700}
 .bottom-nav .nav-plus{transform:translateY(-11px);position:relative}.bottom-nav .nav-plus:first-line{background:#0f172a;color:#fff}
 .panel{padding:15px;border-radius:16px}
}

.brand-logo{height:34px;width:auto;display:block;flex-shrink:0}
.brand-text{font-weight:800;color:var(--primary-strong)}
.login-logo{display:block;width:min(260px,80%);height:auto;margin:0 auto 10px auto}
.subtitle{margin-top:0}.powered-by{font-size:12px;letter-spacing:.04em;text-transform:uppercase;color:var(--primary-strong);font-weight:800;margin-top:-4px}
.topbar{box-shadow:0 4px 24px rgba(196,18,63,.05)}
.stat-card strong,.panel h2,.page-head h1{color:var(--primary-strong)}
.login-card,.setup-card,.panel,.stat-card{box-shadow:0 8px 32px rgba(196,18,63,.05)}
.bottom-nav a{color:var(--primary-strong)}
.bottom-nav .nav-plus{color:var(--primary-strong)}
.bottom-nav .nav-plus span{font-weight:800}
.bottom-nav .nav-plus::before{content:"";position:absolute;width:46px;height:46px;border-radius:50%;background:var(--soft-2);z-index:-1;transform:translateY(-8px)}
.top-actions a{color:var(--primary-strong)}
.filters .btn{border-color:var(--soft)}
@media(max-width:760px){.brand-logo{height:28px}.brand-text{font-size:14px}}
