:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,sans-serif;color:#17211d;background:#f4f6f2;font-synthesis:none}*{box-sizing:border-box}body{margin:0;min-width:320px}a{color:#176047}button,input{font:inherit}button,a{min-height:44px}.shell{min-height:100dvh}.content{padding:32px 40px 80px;margin-left:240px;max-width:1500px}.brand{font-weight:850;letter-spacing:.04em;color:#d7b86a}aside{position:fixed;inset:0 auto 0 0;width:240px;background:#10241d;color:#fff;padding:28px 18px;display:flex;flex-direction:column;z-index:5}aside nav{display:grid;gap:6px;margin-top:36px}aside a{color:#dce8e2;text-decoration:none;padding:12px;border-radius:10px;display:flex;align-items:center}aside a.active,aside a:hover{background:#254438;color:#fff}.logout{margin-top:auto;border:1px solid #557267;background:transparent;color:#fff;border-radius:10px}.pagehead,.card header,.card footer{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.eyebrow,.muted,small{color:#64726c}.pagehead h1{margin:.1em 0 .6em}.kpis,.detailgrid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:20px 0 32px}.kpi,.card{background:#fff;border:1px solid #dce3df;border-radius:16px;padding:18px;box-shadow:0 5px 18px #17211d0a}.kpi{display:grid;gap:9px}.kpi strong{font-size:1.35rem}.cards{display:grid;gap:12px}.opportunity .metrics{display:grid;grid-template-columns:repeat(6,1fr);gap:8px;padding:12px 0}.metrics span{display:grid;gap:5px;font-size:.8rem}.badge{display:inline-flex;align-items:center;min-height:30px;padding:5px 9px;border-radius:999px;font-size:.72rem;font-weight:800;white-space:nowrap}.good{background:#d9f2e7;color:#145c42}.bad{background:#fbe0dc;color:#8b291e}.warn{background:#f8ebca;color:#6c4c0c}.neutral{background:#e8ecea;color:#35453f}.empty,.alert{border-radius:16px;padding:24px;border:1px dashed #afbbb5;background:#fff}.alert{border-color:#cf8e84;background:#fff4f2}.warntext{color:#85600f}pre{white-space:pre-wrap;overflow-wrap:anywhere;background:#f4f6f2;padding:12px;border-radius:10px}.login,.splash{min-height:100dvh;display:grid;place-items:center;padding:24px;background:#10241d}.login section{width:min(420px,100%);background:#fff;padding:32px;border-radius:22px}.login label{display:grid;gap:6px;margin:16px 0}.login input{min-height:48px;border:1px solid #a9b6b0;border-radius:10px;padding:10px}.login button{width:100%;border:0;border-radius:10px;background:#176047;color:#fff;font-weight:800}.splash{color:#d7b86a;font-weight:900}.bottom{display:none}:focus-visible{outline:3px solid #d7b86a;outline-offset:2px}@media(max-width:760px){.content{margin:0;padding:20px 14px calc(84px + env(safe-area-inset-bottom));overflow-x:hidden}aside{position:static;width:auto;height:64px;padding:0 16px;display:flex;justify-content:center}aside nav,aside .logout{display:none}.kpis,.detailgrid{grid-template-columns:repeat(2,1fr)}.opportunity .metrics{grid-template-columns:repeat(3,1fr)}.pagehead,.card header{flex-direction:column}.bottom{display:grid;grid-template-columns:repeat(5,1fr);position:fixed;z-index:6;bottom:0;left:0;right:0;padding:6px 4px calc(6px + env(safe-area-inset-bottom));background:#10241d}.bottom a{color:#dce8e2;text-decoration:none;display:grid;place-items:center;font-size:.75rem;border-radius:8px}.bottom a.active{background:#254438;color:#fff}}.update{position:fixed;z-index:20;top:12px;right:12px;background:#fff5d8;border:1px solid #d7b86a;border-radius:12px;padding:8px 12px;box-shadow:0 6px 20px #0002}.update button{margin-left:10px;border:0;border-radius:8px;background:#10241d;color:#fff;padding:0 12px}.actions{display:grid;grid-template-columns:repeat(2,minmax(0,240px));gap:12px;margin:10px 0 20px}.filters{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0 18px}.filters button,.filters select{min-height:44px;border:1px solid #afbbb5;background:#fff;border-radius:10px;padding:8px 12px}.filters .selected{background:#10241d;color:#fff;border-color:#10241d}@media(max-width:760px){.actions{grid-template-columns:1fr 1fr}}.actionrow{display:flex;gap:10px;flex-wrap:wrap}.actionrow button,.confirm button,.manual button,.notices button{border:0;border-radius:10px;background:#176047;color:#fff;padding:10px 14px;font-weight:750}.confirm{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:14px}.confirm label{display:grid;gap:6px}.confirm input{min-height:48px;border:1px solid #a9b6b0;border-radius:10px;padding:10px}.notices{position:relative;display:flex;justify-content:flex-end}.noticepanel{position:absolute;right:0;top:48px;width:min(360px,calc(100vw - 28px));z-index:8;background:#fff;border:1px solid #dce3df;border-radius:14px;box-shadow:0 12px 30px #0002;padding:8px}.noticepanel a{display:grid;padding:10px;text-decoration:none;border-bottom:1px solid #edf0ee}.manual{border-left:4px solid #176047}@media(max-width:760px){.confirm{grid-template-columns:1fr}.actionrow button{flex:1;min-width:130px}.notices{margin-top:8px}}
