:root{--bg:#0f1115;--cd:#181b22;--bd:#2a2e38;--tx:#eceef2;--mu:#8b93a3;--ac:#4ade80;--rd:#f87171;--yl:#fbbf24;color-scheme:dark;box-sizing:border-box;padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px)}
html{scroll-padding-top:env(safe-area-inset-top,0px)}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--tx);font:15px/1.4 Arial,Helvetica,sans-serif;-webkit-tap-highlight-color:transparent}
body::before{content:"";position:fixed;inset:0 0 auto;height:env(safe-area-inset-top,0px);background:var(--bg);z-index:10}
#app{max-width:680px;margin:0 auto;padding:12px 12px 90px}
h1{font-size:19px;margin:4px 0 2px}h2{font-size:14px;margin:16px 0 6px;color:var(--mu);text-transform:uppercase;letter-spacing:.04em}
.cd{background:var(--cd);border:1px solid var(--bd);border-radius:14px;padding:12px;margin:8px 0}
.mu{color:var(--mu);font-size:13px}.row{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.sp{justify-content:space-between;flex-wrap:nowrap}
.bar{height:10px;background:var(--bd);border-radius:6px;overflow:hidden;margin:6px 0}.bar i{display:block;height:100%;background:var(--ac)}
button,input,select{font:inherit;color:var(--tx);background:#21252e;border:1px solid var(--bd);border-radius:10px;padding:10px 12px;min-height:44px}
button{cursor:pointer}input,select{width:100%}input[type=checkbox]{width:auto;min-height:0}
.b3{display:flex;gap:6px}.b3 button{min-width:46px;padding:8px}
.on-done{background:var(--ac);color:#06210f;border-color:var(--ac)}.on-miss{background:var(--rd);color:#2b0606;border-color:var(--rd)}.on-skip{background:var(--yl);color:#2b1f02;border-color:var(--yl)}
.task{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:10px 0;border-bottom:1px solid var(--bd)}.task:last-child{border:0}
.task a{color:var(--tx);text-decoration:none;flex:1}
nav{position:fixed;left:0;right:0;bottom:0;background:var(--cd);border-top:1px solid var(--bd);display:flex;padding-bottom:env(safe-area-inset-bottom,0px);z-index:9}
nav button{flex:1;border:0;border-radius:0;background:none;font-size:11px;color:var(--mu);padding:8px 2px}nav button span{display:block;font-size:19px}nav .act{color:var(--ac)}
.opt{display:block;width:100%;text-align:left;margin:4px 0;font-size:13px}.sel{border-color:var(--ac);background:#173222}
.sets{display:grid;grid-template-columns:28px 1fr 1fr 44px;gap:6px;align-items:center;margin:4px 0}
.cal{display:grid;grid-template-columns:repeat(7,1fr);gap:4px}.cal div{aspect-ratio:1;border-radius:8px;display:flex;align-items:center;justify-content:center;font-size:12px;background:var(--cd);border:1px solid var(--bd);cursor:pointer}
.tabs{display:flex;gap:6px}.tabs button{flex:1}
table{width:100%;border-collapse:collapse;font-size:13px}td,th{padding:6px 3px;border-bottom:1px solid var(--bd);text-align:left}
svg{width:100%;height:auto}.st{font-size:12px;color:var(--mu)}
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:8px}.kpi{background:var(--cd);border:1px solid var(--bd);border-radius:12px;padding:10px}.kpi b{font-size:20px;display:block}
.ok{background:#173222;border:1px solid var(--ac);border-radius:12px;padding:10px;margin:8px 0}.err{color:var(--rd)}
.login{max-width:380px;margin:12vh auto 0}.login input{margin:6px 0}
