:root{
 color-scheme:light;
 --ink:#0b1722;--mut:#67767f;--line:rgba(18,42,64,.10);--line2:rgba(18,42,64,.06);
 --accent:#0e7c66;--accent2:#0a5e4d;--accentbg:rgba(14,124,102,.12);
 --hi:#d83a34;--mid:#e0871a;--low:#2e86c1;--ok:#1f9d57;
 --glass:rgba(255,255,255,.66);--glass-strong:rgba(255,255,255,.86);
 --card:#fff;--shadow:0 10px 30px rgba(15,35,55,.10);--shadow-sm:0 2px 10px rgba(15,35,55,.06);
 --top:54px;--side:250px;--r:18px;--r-sm:13px;
}
*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}
html,body{margin:0}
body{font-family:-apple-system,BlinkMacSystemFont,"SF Pro Text","Segoe UI",Roboto,sans-serif;color:var(--ink);font-size:15px;line-height:1.45;
 background:
   radial-gradient(1100px 600px at 12% -8%,#e7f3ef 0%,transparent 55%),
   radial-gradient(900px 600px at 100% 0%,#eaf0f6 0%,transparent 50%),
   linear-gradient(180deg,#f3f6f9,#eef1f5);
 background-attachment:fixed;min-height:100vh}
.hidden{display:none!important}
.muted{color:var(--mut)}
a{color:var(--accent);text-decoration:none;font-weight:600;cursor:pointer}
button{font-family:inherit}
svg{display:block}
/* AUTH */
.auth{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:20px}
.auth-card{background:var(--glass-strong);-webkit-backdrop-filter:blur(20px) saturate(160%);backdrop-filter:blur(20px) saturate(160%);border:1px solid var(--line);border-radius:24px;padding:26px;max-width:380px;width:100%;box-shadow:var(--shadow)}
.auth-card h1{margin:0 0 4px;font-size:24px;letter-spacing:-.02em}
.auth-card input{width:100%;padding:13px 14px;border:1px solid var(--line);border-radius:13px;margin-top:10px;font-size:15px;background:rgba(255,255,255,.7)}
.auth-card button{width:100%;margin-top:10px;padding:13px;border-radius:13px;border:0;font-size:15px;font-weight:600;cursor:pointer}
button.primary{background:var(--accent);color:#fff}
button.ghost{background:var(--accentbg);color:var(--accent)}
button.link{background:none;color:var(--low);font-weight:600}
.msg{font-size:13px;color:var(--hi);margin-top:10px;min-height:18px}
/* TOPBAR (frosted glass) */
.topbar{position:fixed;top:0;left:0;right:0;height:calc(var(--top) + env(safe-area-inset-top));padding:env(safe-area-inset-top) 12px 0;display:flex;align-items:center;gap:10px;z-index:30;
 background:var(--glass);-webkit-backdrop-filter:blur(22px) saturate(180%);backdrop-filter:blur(22px) saturate(180%);
 border-bottom:1px solid var(--line);box-shadow:0 1px 0 rgba(255,255,255,.6) inset,0 6px 18px rgba(15,35,55,.05)}
.topbar .tb-title{font-size:17px;font-weight:700;letter-spacing:-.02em;flex:1;text-align:center;color:var(--ink)}
.ic{background:var(--glass-strong);color:var(--accent);border:1px solid var(--line);width:38px;height:38px;border-radius:12px;cursor:pointer;position:relative;display:flex;align-items:center;justify-content:center;flex:0 0 auto;box-shadow:var(--shadow-sm);transition:transform .08s,background .15s}
.ic:active{transform:scale(.92)}
.ic svg{width:21px;height:21px;pointer-events:none}
.badge{position:absolute;top:-5px;right:-5px;background:var(--hi);color:#fff;font-size:10px;font-weight:700;min-width:18px;height:18px;border-radius:9px;display:flex;align-items:center;justify-content:center;padding:0 4px;border:2px solid #fff}
.brand{display:none}
/* MAIN */
main#view{padding:14px;max-width:760px;margin:0 auto;padding-top:calc(var(--top) + env(safe-area-inset-top) + 14px);padding-bottom:calc(84px + env(safe-area-inset-bottom))}
.viewmeta{position:fixed;top:calc(var(--top) + env(safe-area-inset-top));left:0;right:0;background:rgba(255,247,230,.9);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);color:#8a6d00;font-size:12px;padding:7px 14px;z-index:20;border-bottom:1px solid rgba(240,226,189,.8)}
/* BOTTOM NAV (frosted) */
.bottomnav{position:fixed;left:10px;right:10px;bottom:calc(8px + env(safe-area-inset-bottom));height:62px;display:flex;z-index:30;
 background:var(--glass);-webkit-backdrop-filter:blur(22px) saturate(180%);backdrop-filter:blur(22px) saturate(180%);
 border:1px solid var(--line);border-radius:22px;box-shadow:var(--shadow),0 1px 0 rgba(255,255,255,.7) inset;padding:6px}
.bottomnav .nv{flex:1;border:0;background:none;color:var(--mut);font-size:10.5px;font-weight:600;cursor:pointer;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;padding:4px 2px;border-radius:16px;transition:color .15s,background .15s}
.bottomnav .nv .i{display:flex}.bottomnav .nv .i svg{width:23px;height:23px;pointer-events:none}
.bottomnav .nv.on{color:var(--accent);background:var(--accentbg)}
/* CARDS */
.card{background:var(--card);border:1px solid var(--line2);border-radius:var(--r);padding:15px;margin-bottom:12px;box-shadow:var(--shadow-sm)}
.card.tap{cursor:pointer;transition:transform .08s,box-shadow .15s}
.card.tap:active{transform:scale(.985)}
.card.tap:hover{box-shadow:var(--shadow)}
.card h3{margin:0 0 6px;font-size:15.5px;letter-spacing:-.01em}
.note{font-size:13px;color:var(--mut);line-height:1.5}
.pill{display:inline-flex;align-items:center;font-size:11px;font-weight:700;padding:3px 9px;border-radius:20px;color:#fff;letter-spacing:.01em}
.p-высокий{background:var(--hi)}.p-средний{background:var(--mid)}.p-низкий{background:var(--low)}.p-инфо{background:#8a97a0}.p-ok{background:var(--ok)}
.left{position:relative;overflow:hidden}
.left:before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;border-radius:4px;background:var(--line)}
.left.высокий:before{background:var(--hi)}.left.средний:before{background:var(--mid)}.left.низкий:before{background:var(--low)}.left.инфо:before{background:#c4ccd2}.left.ok:before{background:var(--ok)}
.left{padding-left:18px}
.rowflex{display:flex;align-items:center;gap:8px}
.chev{margin-left:auto;color:#b6c0c8;flex:0 0 auto;display:flex}.chev svg{width:20px;height:20px}
textarea,input[type=file],input[type=text],input[type=email],input[type=number],input[type=date]{width:100%;font-family:inherit;font-size:14px;padding:11px 12px;border:1px solid var(--line);border-radius:12px;margin-top:8px;background:rgba(255,255,255,.8);color:var(--ink)}
button.primary{display:inline-block;width:auto;background:var(--accent);color:#fff;border:0;border-radius:13px;padding:11px 17px;font-weight:600;font-size:14px;margin-top:10px;cursor:pointer;box-shadow:var(--shadow-sm)}
button.primary:active{transform:scale(.97)}
button.sm{padding:8px 13px;font-size:13px;margin-top:0}
/* CHART */
.chwrap{position:relative;height:280px;margin-top:6px}
/* MARKERS */
.mk{display:flex;align-items:center;gap:11px;padding:12px 6px;border-bottom:1px solid var(--line2);cursor:pointer;border-radius:10px}
.mk:last-child{border:0}.mk.sel{background:var(--accentbg)}
.dot{width:11px;height:11px;border-radius:50%;flex:0 0 auto;box-shadow:0 0 0 3px rgba(0,0,0,.03)}
.dot.ok{background:var(--ok)}.dot.bad{background:var(--hi)}.dot.na{background:#c4ccd2}
.mk .nm{flex:1;font-size:14px;font-weight:600}
.mk .vl{font-size:14px;font-weight:700}.mk .vl.bad{color:var(--hi)}.mk .vl.ok{color:var(--ok)}
.mk .un{font-size:11px;color:var(--mut);font-weight:500}
.trend{font-size:11px;font-weight:800;margin-left:5px}
.trend.up{color:var(--hi)}.trend.down{color:var(--ok)}.trend.flat{color:#b6c0c8}
/* ACCORDION */
.acc{border:1px solid var(--line2);border-radius:var(--r);overflow:hidden;margin-bottom:12px;background:var(--card);box-shadow:var(--shadow-sm)}
.acc-h{display:flex;align-items:center;gap:9px;padding:14px 15px;cursor:pointer;font-weight:700;font-size:13.5px;user-select:none}
.acc-h .cnt{margin-left:auto;color:var(--mut);font-weight:600;font-size:12.5px;background:var(--line2);padding:2px 9px;border-radius:20px}
.acc-b{padding:0 13px 8px}
.acc.collapsed .acc-b{display:none}
.acc-h .tw{transition:transform .18s;color:#9aa6ae;display:inline-flex}.acc-h .tw svg{width:16px;height:16px}.acc:not(.collapsed) .acc-h .tw{transform:rotate(90deg)}
/* TIMELINE */
.tl{position:relative;margin-left:6px;padding-left:20px;border-left:2px solid var(--line)}
.tl .ev{position:relative;margin-bottom:15px;cursor:pointer}
.tl .ev:before{content:"";position:absolute;left:-27px;top:3px;width:11px;height:11px;border-radius:50%;background:var(--accent);border:2px solid #fff;box-shadow:0 0 0 2px var(--line)}
.tl .d{font-size:12px;color:var(--accent);font-weight:700}.tl .t{font-size:10.5px;color:var(--mut);text-transform:uppercase;letter-spacing:.04em}
.tl .n{font-size:13.5px;margin-top:2px;line-height:1.45}
/* TASKS */
.task{display:flex;gap:11px;align-items:flex-start;padding:13px 2px;border-bottom:1px solid var(--line2)}
.task:last-child{border:0}
.task input{width:23px;height:23px;flex:0 0 auto;margin-top:1px;accent-color:var(--accent)}
.task .ttl{font-size:14px;font-weight:600;display:flex;align-items:center;gap:6px;flex-wrap:wrap}.task.done .ttl{text-decoration:line-through;color:var(--mut)}
.task .dt{font-size:12.5px;color:var(--mut);margin-top:3px;line-height:1.45}
/* DOCS */
.doc{display:flex;justify-content:space-between;gap:10px;padding:12px 2px;border-bottom:1px solid var(--line2);font-size:13.5px;cursor:pointer;align-items:center}
.doc:last-child{border:0}.doc .meta{color:var(--mut);font-size:11.5px;white-space:nowrap;display:flex;align-items:center;gap:4px}
.doc .dtitle{flex:1}
.grp{font-size:11.5px;font-weight:700;color:var(--mut);text-transform:uppercase;letter-spacing:.05em;margin:16px 4px 8px;display:flex;align-items:center;gap:7px}
.gdot{width:9px;height:9px;border-radius:50%;display:inline-block}
.gdot.высокий{background:var(--hi)}.gdot.средний{background:var(--mid)}.gdot.низкий{background:var(--low)}.gdot.инфо{background:#9aa6ae}
.kpi{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:14px}
.kpi .b{background:var(--card);border:1px solid var(--line2);border-radius:var(--r-sm);padding:13px 12px;cursor:pointer;box-shadow:var(--shadow-sm);transition:transform .08s}
.kpi .b:active{transform:scale(.97)}
.kpi .v{font-size:24px;font-weight:800;letter-spacing:-.02em}.kpi .l{font-size:11px;color:var(--mut);margin-top:2px}
.v.bad{color:var(--hi)}.v.good{color:var(--ok)}
/* CHIPS / LINKS */
.chips{display:flex;flex-wrap:wrap;gap:7px;margin-top:8px}
.chip{background:var(--accentbg);color:var(--accent);border:0;border-radius:20px;padding:7px 12px;font-size:12.5px;font-weight:600;cursor:pointer}
.chip:active{transform:scale(.96)}
.chip.bad{background:rgba(216,58,52,.12);color:var(--hi)}
.chip.doc{background:rgba(46,134,193,.12);color:var(--low)}
.backbtn{background:var(--glass-strong);border:1px solid var(--line);color:var(--accent);font-size:13.5px;font-weight:600;cursor:pointer;padding:8px 14px;border-radius:20px;margin-bottom:10px;display:inline-flex;align-items:center;gap:5px;box-shadow:var(--shadow-sm)}
.backbtn svg{width:17px;height:17px}
.section-h{font-size:11.5px;font-weight:700;color:var(--mut);text-transform:uppercase;letter-spacing:.05em;margin:18px 4px 7px}
.callout{background:rgba(255,255,255,.75);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid var(--line2);border-left:4px solid var(--accent);border-radius:14px;padding:13px 14px;font-size:13.5px;line-height:1.55;margin-bottom:10px;box-shadow:var(--shadow-sm)}
.callout.warn{border-left-color:var(--mid);background:rgba(255,250,242,.85)}
.callout b{color:var(--ink)}
.ai-out{white-space:pre-wrap;font-size:14px;line-height:1.55;margin-top:12px}
.fld{display:block;font-size:12px;color:var(--mut);font-weight:600;margin-top:12px}
.fld input,.fld textarea{display:block;width:100%;margin-top:5px}
.avatar-row{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:6px}
.avatar{width:60px;height:60px;border-radius:50%;background:var(--accentbg);display:flex;align-items:center;justify-content:center;font-size:26px;overflow:hidden;flex:0 0 auto;border:1px solid var(--line)}
.avatar img{width:100%;height:100%;object-fit:cover}
.rm{background:none;border:0;color:var(--hi);font-size:18px;cursor:pointer;flex:0 0 auto}
button.view{width:auto;padding:9px 14px;margin:0;background:var(--accent);color:#fff;border:0;border-radius:12px;font-weight:600;cursor:pointer}
.disc{font-size:11px;color:var(--mut);text-align:center;margin:14px 18px;line-height:1.5;padding-bottom:100px}
/* SHEETS (glass) */
.scrim{position:fixed;inset:0;background:rgba(10,20,30,.28);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);z-index:40;animation:fade .2s ease}
@keyframes fade{from{opacity:0}to{opacity:1}}
@keyframes slideup{from{transform:translateY(20px);opacity:.4}to{transform:translateY(0);opacity:1}}
.sheet{position:fixed;z-index:41;background:var(--glass-strong);-webkit-backdrop-filter:blur(26px) saturate(180%);backdrop-filter:blur(26px) saturate(180%);box-shadow:var(--shadow);border:1px solid var(--line);animation:slideup .22s cubic-bezier(.2,.8,.2,1)}
.sheet.bottom{left:10px;right:10px;bottom:calc(10px + env(safe-area-inset-bottom));border-radius:24px;max-height:78vh;overflow:auto;padding:6px 16px 18px}
.sheet .sh-h{display:flex;align-items:center;padding:12px 2px 8px;font-weight:700;font-size:17px;letter-spacing:-.01em;position:sticky;top:0;background:linear-gradient(var(--glass-strong),rgba(255,255,255,.4));backdrop-filter:blur(6px)}
.sheet .sh-h .x{margin-left:auto;background:var(--line2);border:0;font-size:16px;color:var(--mut);cursor:pointer;width:30px;height:30px;border-radius:50%;display:flex;align-items:center;justify-content:center}
.mitem{display:flex;align-items:center;gap:13px;padding:14px 6px;border-bottom:1px solid var(--line2);cursor:pointer;font-size:15px;font-weight:600}
.mitem:last-child{border:0}.mitem .i{display:flex;color:var(--accent)}.mitem .i svg{width:22px;height:22px}
.mitem:active{opacity:.6}
.mitem.danger,.mitem.danger .i{color:var(--hi)}
.nrow{display:flex;gap:12px;padding:13px 4px;border-bottom:1px solid var(--line2);align-items:flex-start;cursor:pointer}
.nrow:last-child{border:0}.nrow:active{opacity:.6}
.nrow .ndot{width:10px;height:10px;border-radius:50%;margin-top:4px;flex:0 0 auto;box-shadow:0 0 0 3px rgba(0,0,0,.03)}
.nrow .ntext{flex:1;font-size:14px;font-weight:600;line-height:1.4}
.nrow .ntext .nt-sub{color:var(--mut);font-size:12.5px;margin-top:2px;font-weight:500}
.empty{color:var(--mut);font-size:13.5px;text-align:center;padding:28px 10px}
/* DESKTOP */
@media(min-width:820px){
  .topbar{left:var(--side);border-radius:0}
  .brand{display:flex;align-items:center;gap:9px;position:fixed;top:0;left:0;width:var(--side);height:calc(var(--top) + env(safe-area-inset-top));padding:env(safe-area-inset-top) 20px 0;background:var(--glass);-webkit-backdrop-filter:blur(22px) saturate(180%);backdrop-filter:blur(22px) saturate(180%);color:var(--ink);font-weight:800;font-size:17px;letter-spacing:-.02em;z-index:31;border-bottom:1px solid var(--line);border-right:1px solid var(--line)}
  .bottomnav{top:calc(var(--top) + env(safe-area-inset-top));left:0;bottom:0;right:auto;width:var(--side);height:auto;flex-direction:column;border-radius:0;border:0;border-right:1px solid var(--line);padding:14px 12px;box-shadow:none;background:var(--glass);align-items:stretch;justify-content:flex-start;gap:4px}
  .bottomnav .nv{flex:0 0 auto;flex-direction:row;justify-content:flex-start;gap:13px;font-size:14.5px;padding:12px 15px;border-radius:13px}
  .bottomnav .nv .i svg{width:21px;height:21px}
  .bottomnav .nv.on{background:var(--accentbg)}
  main#view{margin-left:var(--side);max-width:880px;padding-bottom:40px}
  .viewmeta{left:var(--side)}
  .sheet.bottom{left:auto;right:26px;bottom:26px;width:390px;border-radius:20px;max-height:72vh}
  .disc{padding-bottom:14px}
}
