:root{--surface-base: #0f172a;--surface-card: #1e293b;--surface-float: #334155;--text-primary: #f8fafc;--text-secondary: #94a3b8;--brand-primary: #3b82f6;--brand-glow: rgba(59, 130, 246, .3);--state-danger-bg: #450a0a;--state-danger-fg: #fecaca;--state-warning-bg: #422006;--state-warning-fg: #fed7aa;--state-success-bg: #064e3b;--state-success-fg: #a7f3d0;--font-family: "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--font-size-base: clamp(1rem, 4vw, 1.2rem);--radius-lg: 24px;--radius-md: 16px;--shadow-soft: 0 10px 15px -3px rgba(0, 0, 0, .3);--header-height: 70px;--nav-height: 80px}body.light-mode{--surface-base: #f1f5f9;--surface-card: #ffffff;--surface-float: #e2e8f0;--text-primary: #0f172a;--text-secondary: #475569;--brand-primary: #2563eb;--state-danger-bg: #fee2e2;--state-danger-fg: #991b1b;--state-warning-bg: #ffedd5;--state-warning-fg: #9a3412;--state-success-bg: #dcfce7;--state-success-fg: #166534}body.light-mode header{background:#fffc;border-bottom:1px solid rgba(0,0,0,.05)}body.light-mode .bottom-nav{background:#ffffffe6;border-top:1px solid rgba(0,0,0,.05)}body.light-mode input{background:#fff;border:1px solid #cbd5e1}body.high-contrast{--surface-base: #000000 !important;--surface-card: #000000 !important;--surface-float: #000000 !important;--text-primary: #ffffff !important;--text-secondary: #ffff00 !important;--brand-primary: #ffff00 !important;--brand-glow: none !important;--state-danger-bg: #000 !important;--state-danger-fg: #ff0000 !important;--state-warning-bg: #000 !important;--state-warning-fg: #ffff00 !important;--state-success-bg: #000 !important;--state-success-fg: #00ff00 !important;--radius-lg: 0px !important;--radius-md: 0px !important}body.high-contrast .triage-card,body.high-contrast .tool-card,body.high-contrast input,body.high-contrast .btn-primary,body.high-contrast .alert-box{border:2px solid #fff!important}html{font-size:100%;box-sizing:border-box}*,*:before,*:after{box-sizing:inherit}body{background-color:var(--surface-base);color:var(--text-primary);font-family:var(--font-family);font-size:var(--font-size-base);margin:0;padding:0;padding-top:var(--header-height);padding-bottom:calc(var(--nav-height) + 20px);line-height:1.6;transition:background .3s ease,color .3s ease}main{padding:1.5rem;max-width:600px;margin:0 auto}.icon{width:1.4em;height:1.4em;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}header{position:fixed;top:0;left:0;right:0;height:var(--header-height);background:#0f172acc;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid rgba(255,255,255,.05);display:flex;align-items:center;justify-content:space-between;padding:0 1.5rem;z-index:100}header h1{font-size:1.25rem;font-weight:800;letter-spacing:-.5px;color:var(--text-primary);margin:0}.header-actions{display:flex;gap:.5rem}.icon-btn{background:transparent;border:none;color:var(--text-primary);padding:.8rem;cursor:pointer;border-radius:var(--radius-md);transition:background .2s}.icon-btn:hover{background:#ffffff1a}.icon-btn:focus{outline:2px solid var(--brand-primary);outline-offset:2px}#back-btn{margin-left:-.8rem;display:none}.bottom-nav{position:fixed;bottom:0;left:0;right:0;height:var(--nav-height);background:#0f172ae6;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border-top:1px solid rgba(255,255,255,.05);display:flex;justify-content:space-around;align-items:center;padding-bottom:env(safe-area-inset-bottom);z-index:800}.nav-item{background:none;border:none;color:var(--text-secondary);display:flex;flex-direction:column;align-items:center;gap:4px;font-size:.75rem;font-weight:600;cursor:pointer;padding:10px;transition:color .2s}.nav-item:focus{outline:2px solid var(--brand-primary);outline-offset:2px}.nav-item.active{color:var(--brand-primary)}.fab-exit{position:fixed;bottom:calc(var(--nav-height) + 20px);right:20px;background:linear-gradient(135deg,#ef4444,#b91c1c);color:#fff;border:none;width:64px;height:64px;border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;box-shadow:0 10px 20px #b91c1c66;z-index:900;font-weight:700;font-size:.75rem;transition:transform .2s;cursor:pointer}.fab-exit:active{transform:scale(.9)}.fab-exit:focus{outline:3px solid #fff;outline-offset:2px}.triage-grid,.tools-grid{display:grid;gap:1rem}.tools-grid{grid-template-columns:1fr 1fr;gap:.8rem}.triage-card,.tool-card{width:100%;display:flex;text-align:left;background:var(--surface-card);border-radius:var(--radius-lg);padding:1.5rem;position:relative;overflow:hidden;border:1px solid rgba(255,255,255,.05);cursor:pointer;transition:transform .2s ease,box-shadow .2s ease;box-shadow:var(--shadow-soft);color:inherit;font-family:inherit}.tool-card{flex-direction:column;align-items:center;text-align:center;gap:.8rem;min-height:7rem;justify-content:center;padding:1rem;border-radius:var(--radius-md)}.triage-card:active,.tool-card:active{transform:scale(.98)}.triage-card:focus,.tool-card:focus{outline:2px solid var(--brand-primary);outline-offset:2px}.triage-card:before{content:"";position:absolute;inset:0;background:linear-gradient(45deg,transparent,rgba(59,130,246,.05));z-index:0}.card-content{position:relative;z-index:1;display:flex;align-items:center;gap:1.25rem;width:100%}.icon-box{width:56px;height:56px;background:var(--surface-base);border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;color:var(--brand-primary);flex-shrink:0}.tool-card svg{color:var(--brand-primary);width:2rem;height:2rem}.text-box h3,.tool-text strong{margin:0;font-size:1.1rem;font-weight:700;line-height:1.3;display:block;color:var(--text-primary)}.text-box p,.tool-text small{margin:.25rem 0 0;font-size:.9rem;color:var(--text-secondary);display:block}.tool-intro{background-color:var(--surface-card);color:var(--text-secondary);padding:1rem;border-radius:var(--radius-md);font-size:.95rem;margin-bottom:1.5rem;border-left:3px solid var(--brand-primary)}.tool-intro h2{color:var(--text-primary);margin:0 0 .5rem;font-size:1.25rem}.tool-intro p{margin:0}label{display:block;font-weight:600;margin-bottom:.5rem;color:var(--text-secondary);font-size:.9rem;text-transform:uppercase;letter-spacing:.05em}input[type=date],input[type=number],input[type=text]{width:100%;height:60px;background:var(--surface-base);border:2px solid transparent;border-radius:var(--radius-md);color:var(--text-primary);padding:0 1.25rem;font-size:1.1rem;margin-bottom:1.5rem;transition:all .2s;box-shadow:inset 0 2px 4px #0003}input:focus{outline:none;border-color:var(--brand-primary);box-shadow:0 0 0 4px var(--brand-glow)}.btn-primary{width:100%;height:60px;background:var(--brand-primary);color:#fff;border:none;border-radius:var(--radius-md);font-size:1.1rem;font-weight:700;box-shadow:0 4px 12px var(--brand-glow);cursor:pointer;display:flex;align-items:center;justify-content:center;gap:.5rem}.btn-primary:active{transform:translateY(2px)}.btn-primary:focus{outline:2px solid var(--text-primary);outline-offset:2px}.alert-box{margin-top:1.5rem;padding:1.25rem;border-radius:var(--radius-md);color:var(--text-primary);font-weight:500}.alert-box.critical{background:var(--state-danger-bg);color:var(--state-danger-fg)}.alert-box.warning{background:var(--state-warning-bg);color:var(--state-warning-fg)}.alert-box.success{background:var(--state-success-bg);color:var(--state-success-fg)}.timeline-container{margin-top:1.5rem;padding:1rem;background:var(--surface-base);border-radius:var(--radius-md);border:1px solid rgba(255,255,255,.1)}.timeline-bar{height:8px;background:var(--surface-float);border-radius:4px;overflow:hidden;margin:10px 0;position:relative}.timeline-fill{height:100%;background:var(--brand-primary);width:0%;transition:width 1s ease-out}.timeline-fill.critical{background:#ef4444}.timeline-fill.warning{background:#f59e0b}.timeline-labels{display:flex;justify-content:space-between;font-size:.8rem;color:var(--text-secondary)}.days-remaining{text-align:center;font-weight:700;font-size:1.1rem;margin-top:.5rem}.days-remaining.critical{color:var(--state-danger-fg)}.days-remaining.warning{color:var(--state-warning-fg)}.report-section{background:var(--surface-card);border-radius:var(--radius-lg);padding:1.5rem;margin-bottom:2rem;border:1px solid rgba(255,255,255,.05)}.report-row{display:flex;justify-content:space-between;border-bottom:1px solid rgba(255,255,255,.1);padding:.8rem 0}.report-row:last-child{border-bottom:none}.report-label{color:var(--text-secondary);font-size:.9rem}.report-val{color:var(--text-primary);font-weight:700}.report-actions{display:flex;gap:1rem;margin-top:1rem}.report-actions .btn-primary{flex:1}.panel-overlay{position:fixed;inset:0;background:#0009;backdrop-filter:blur(4px);z-index:1000;opacity:0;pointer-events:none;transition:opacity .2s}.panel-overlay.open{opacity:1;pointer-events:auto}.panel{position:fixed;top:50%;left:50%;transform:translate(-50%,-45%) scale(.95);width:90%;max-width:400px;background:var(--surface-float);padding:2rem;border-radius:var(--radius-lg);z-index:1001;opacity:0;pointer-events:none;transition:all .2s;box-shadow:0 25px 50px -12px #00000080;max-height:80vh;overflow-y:auto}.panel.open{opacity:1;pointer-events:auto;transform:translate(-50%,-50%) scale(1)}.panel h2{margin:0 0 1rem;color:var(--text-primary)}.panel-close{position:absolute;top:1rem;right:1rem;background:transparent;border:none;color:var(--text-secondary);cursor:pointer;padding:.5rem}.view-section{display:none;animation:slideUp .3s cubic-bezier(.16,1,.3,1)}.view-section.active{display:block}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.checkbox-group{display:flex;flex-direction:column;gap:1rem;margin:1rem 0}.checkbox-label{display:flex;align-items:center;gap:.75rem;cursor:pointer;text-transform:none;letter-spacing:normal;font-weight:500;color:var(--text-primary)}.checkbox-label input[type=checkbox]{width:20px;height:20px;margin:0;cursor:pointer}.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}.skip-link{position:absolute;top:-40px;left:0;background:var(--brand-primary);color:#fff;padding:8px 16px;z-index:1000;text-decoration:none}.skip-link:focus{top:0}@media print{body{background:#fff!important;color:#000!important;padding:0!important;margin:0!important;font-size:12pt!important}header,.bottom-nav,.fab-exit,#back-btn,.header-actions,.view-section:not(.active),button:not(.print-visible){display:none!important}main{max-width:100%!important;padding:0!important;margin:0!important}.view-section.active{display:block!important;animation:none!important}.card,.triage-card,.tool-card,.tool-intro,.alert-box,.report-section{border:1px solid #ccc!important;box-shadow:none!important;background:#fff!important;color:#000!important;page-break-inside:avoid}h1,h2,h3,h4{color:#000!important}#report-content{display:block!important}#report-actions{display:none!important}.report-row{border-bottom:1px solid #eee;padding-bottom:10px;margin-bottom:10px}.report-label{color:#666!important}.report-val{color:#000!important}}
