@import url("https://fonts.googleapis.com/css2?family=DM+Sans:ital,opsz,wght@0,9..40,300;0,9..40,400;0,9..40,500;0,9..40,600;0,9..40,700;0,9..40,800&family=JetBrains+Mono:wght@400;500;600;700&display=swap");:root{--font-sans:"DM Sans",system-ui,-apple-system,sans-serif;--font-mono:"JetBrains Mono","Courier New",monospace;--radius-xs:8px;--radius-sm:12px;--radius-md:16px;--radius-lg:22px;--radius-xl:28px;--ease-warm:cubic-bezier(0.22,1,0.36,1);--fs-xs:13px;--fs-sm:15px;--fs-base:17px;--fs-md:19px;--fs-lg:22px;--fs-xl:28px;--fs-2xl:34px}:root,:root[data-theme=dark]{--bg:#1d1410;--bg-elevated:#28190f;--bg-sunken:#140c08;--bg-card:rgba(255,242,217,.04);--bg-card-hover:rgba(255,242,217,.07);--border:hsla(38,74%,85%,.1);--border-strong:hsla(38,74%,85%,.22);--text:#f5ead3;--text-muted:hsla(41,63%,89%,.72);--text-faint:hsla(41,63%,89%,.48);--accent-amber:#e8a849;--accent-amber-dark:#c78928;--accent-amber-soft:rgba(232,168,73,.14);--accent-amber-fg:#1d1410;--accent-terracotta:#e07856;--accent-terracotta-dark:#b65739;--accent-terracotta-soft:rgba(224,120,86,.14);--accent-olive:#9ac46e;--accent-olive-dark:#6c9246;--accent-olive-soft:hsla(89,42%,60%,.14);--accent-red:#e8725a;--accent-red-soft:rgba(232,114,90,.14);--accent-blue:#7ba8db;--accent-blue-dark:#5a86b8;--shadow-soft:0 4px 14px rgba(0,0,0,.35);--shadow-lifted:0 18px 48px rgba(0,0,0,.55),0 0 0 1px hsla(38,74%,85%,.05) inset;--ambient-a:rgba(232,168,73,.08);--ambient-b:rgba(224,120,86,.06);color-scheme:dark}:root[data-theme=light]{--bg:#f7eed9;--bg-elevated:#fdf7e7;--bg-sunken:#efe3c5;--bg-card:rgba(93,56,28,.035);--bg-card-hover:rgba(93,56,28,.06);--border:rgba(93,56,28,.14);--border-strong:rgba(93,56,28,.3);--text:#2a1b0d;--text-muted:rgba(42,27,13,.74);--text-faint:rgba(42,27,13,.52);--accent-amber:#b37615;--accent-amber-dark:#8a5a0f;--accent-amber-soft:rgba(179,118,21,.12);--accent-amber-fg:#fdf7e7;--accent-terracotta:#a74530;--accent-terracotta-dark:#7e3220;--accent-terracotta-soft:rgba(167,69,48,.1);--accent-olive:#516a33;--accent-olive-dark:#3c4f23;--accent-olive-soft:rgba(81,106,51,.1);--accent-red:#b03727;--accent-red-soft:rgba(176,55,39,.1);--accent-blue:#2e5d8f;--accent-blue-dark:#1f4670;--shadow-soft:0 3px 10px rgba(93,56,28,.09);--shadow-lifted:0 18px 48px rgba(93,56,28,.16),0 0 0 1px rgba(93,56,28,.04) inset;--ambient-a:rgba(179,118,21,.08);--ambient-b:rgba(167,69,48,.05);color-scheme:light}*{box-sizing:border-box;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body,html{margin:0;padding:0;background:var(--bg);color:var(--text);font-family:var(--font-sans);font-size:var(--fs-base);line-height:1.5;min-height:100vh;transition:background-color .3s var(--ease-warm),color .3s var(--ease-warm)}body{background-image:radial-gradient(at 18% 12%,var(--ambient-a) 0,transparent 55%),radial-gradient(at 82% 88%,var(--ambient-b) 0,transparent 55%);background-attachment:fixed}button{cursor:pointer}button,input,select,textarea{font-family:inherit}a{color:inherit;text-decoration:none}::selection{background:var(--accent-amber-soft);color:var(--text)}.btn-primary{background:linear-gradient(140deg,var(--accent-amber),var(--accent-amber-dark));color:var(--accent-amber-fg);border:none;border-radius:var(--radius-md);padding:15px 26px;min-height:52px;font-weight:700;font-size:var(--fs-base);letter-spacing:-.01em;cursor:pointer;box-shadow:var(--shadow-soft);transition:transform .15s var(--ease-warm),box-shadow .2s var(--ease-warm)}.btn-primary:hover{transform:translateY(-1px);box-shadow:0 10px 26px rgba(183,118,21,.32)}.btn-primary:active{transform:translateY(0)}.btn-primary:disabled{opacity:.5;cursor:not-allowed;transform:none}.btn-blue{background:linear-gradient(140deg,var(--accent-amber),var(--accent-amber-dark));color:var(--accent-amber-fg);border:none;border-radius:var(--radius-md);padding:15px 26px;min-height:52px;font-weight:700;font-size:var(--fs-base);letter-spacing:-.01em;cursor:pointer;box-shadow:var(--shadow-soft);transition:transform .15s var(--ease-warm),box-shadow .2s var(--ease-warm)}.btn-blue:hover{transform:translateY(-1px);box-shadow:0 10px 26px rgba(183,118,21,.32)}.btn-secondary{background:var(--bg-card);color:var(--text);border:1px solid var(--border-strong);border-radius:var(--radius-md);padding:14px 22px;min-height:52px;font-weight:600;font-size:var(--fs-base);transition:background .15s var(--ease-warm),border-color .15s var(--ease-warm)}.btn-secondary:hover{background:var(--bg-card-hover);border-color:var(--border-strong)}.input{background:var(--bg-card);border:1.5px solid var(--border);border-radius:var(--radius-sm);padding:14px 18px;min-height:52px;color:var(--text);font-size:var(--fs-base);outline:none;width:100%;transition:border-color .2s var(--ease-warm),background .2s var(--ease-warm)}.input::placeholder{color:var(--text-faint)}.input:focus{border-color:var(--accent-amber);background:var(--bg-elevated)}.card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);padding:24px}.label{color:var(--text-muted);font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.14em;margin-bottom:8px;display:block}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes gentlePulse{0%,to{opacity:.55;transform:scale(1)}50%{opacity:1;transform:scale(1.03)}}@keyframes scanSweep{0%{transform:translateY(-110%);opacity:0}10%,90%{opacity:1}to{transform:translateY(110%);opacity:0}}@keyframes warmRise{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}@media print{body,html{background:#fff!important;color:#000!important;background-image:none!important}.app-bottomnav,.app-topbar,.no-print{display:none!important}.print-only{display:block!important;margin-bottom:16px}main{max-width:100%!important;padding:0!important}.card{background:#fff!important;border:1px solid #999!important;border-radius:6px!important;page-break-inside:avoid;break-inside:avoid;padding:12px!important}.card,.report-table{color:#000!important}.report-table td,.report-table th{color:#000!important;border-color:#ccc!important}.report-table tr{border-top-color:#ccc!important}h1,h2,h3,h4{color:#000!important}.stats-grid{grid-template-columns:repeat(4,1fr)!important}}