:root{
  --bg:#fbf4f6; --card:#fff; --ink:#2a1420; --muted:#80697a; --line:#f0dfe5;
  --accent:#8c1d40; --accent-soft:#f9e3ea; --coral:#e2457a; --coral-soft:#fde6ee; --blue:#c2557f; --blue-soft:#f7e6ee;
  --wine:#5e0f2a; --pink:#f06d9a;
  --bolt:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%238c1d40' d='M13.5 1 4 13.5h6.5L9 23l11-13h-7z'/%3E%3C/svg%3E");
  --bolt-w:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23ffffff' d='M13.5 1 4 13.5h6.5L9 23l11-13h-7z'/%3E%3C/svg%3E");
  --ok:#2f9e44; --nohw:#f2b705; --abs:#e03131; --move:#8b93a1; --r:14px;
}
*{box-sizing:border-box}
body{margin:0;font-family:Manrope,system-ui,sans-serif;background:var(--bg);color:var(--ink);font-size:15px}
button{font:inherit;cursor:pointer;color:inherit}
a{color:var(--accent)}
.center{min-height:80vh;display:grid;place-items:center}
.top{display:flex;align-items:center;gap:14px;padding:12px 22px;background:linear-gradient(100deg,var(--wine),var(--accent) 60%,#b52a5b);color:#fff;position:sticky;top:0;z-index:20}
.logo{font-family:Unbounded,Manrope,sans-serif;font-weight:700;font-size:16px;letter-spacing:-.2px;display:flex;align-items:center;gap:10px}
.logo .bolt{width:30px;height:30px;flex-shrink:0}
.logo>div{line-height:1.15}
.logo small{display:block;font-weight:500;font-size:12px;opacity:.6}
.top .who{margin-left:auto;font-size:13px;opacity:.85;text-align:right}
.top .who button{background:rgba(255,255,255,.18);border:0;color:#fff;border-radius:999px;padding:6px 12px;font-size:12px;margin-left:8px}
.wrap{display:flex;min-height:calc(100vh - 60px)}
nav.side{width:210px;padding:18px 12px;border-right:1px solid var(--line);flex-shrink:0}
nav.side a{display:flex;gap:10px;align-items:center;padding:10px 12px;border-radius:10px;color:var(--ink);text-decoration:none;font-weight:600;margin-bottom:2px}
nav.side a:hover{background:var(--accent-soft)}
nav.side a.on{background:linear-gradient(100deg,var(--accent),#b52a5b);color:#fff;box-shadow:0 6px 16px -8px rgba(140,29,64,.7)}
nav.side a .b{margin-left:auto;background:var(--coral);color:#fff;border-radius:999px;font-size:11px;padding:1px 7px}
main{flex:1;padding:24px 28px 60px;max-width:1180px;min-width:0}
h1{font-family:Unbounded,Manrope,sans-serif;font-weight:700;font-size:24px;margin:0 0 6px;letter-spacing:-.3px}
.sub{color:var(--muted);margin:0 0 20px}
.hrow{display:flex;align-items:flex-start;gap:12px;flex-wrap:wrap;margin-bottom:8px}
.hrow .btn{margin-left:auto}
.grid{display:grid;gap:16px}
.g4{grid-template-columns:repeat(4,1fr)}.g2{grid-template-columns:1.3fr 1fr}.g3{grid-template-columns:repeat(3,1fr)}
.card{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:18px}
.card h3{margin:0 0 12px;font-size:15px;display:flex;align-items:center;gap:8px}
.card h3 .r{margin-left:auto;font-weight:500;color:var(--muted);font-size:13px}
.kpi .n{font-family:Unbounded,Manrope,sans-serif;font-size:27px;font-weight:700;letter-spacing:-.5px;color:var(--accent)}
.kpi{position:relative;overflow:hidden}
.kpi::after{content:'';position:absolute;right:-10px;top:-10px;width:56px;height:56px;background:var(--bolt) no-repeat center/contain;opacity:.08}
.kpi .l{color:var(--muted);font-size:13px}
.kpi.warn .n{color:var(--coral)}
.row{display:flex;align-items:center;gap:12px;padding:10px 0;border-top:1px solid var(--line)}
.row:first-of-type{border-top:0}
.av{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;font-weight:700;font-size:13px;flex-shrink:0;background:var(--accent-soft);color:var(--accent)}
.grow{flex:1;min-width:0}
.t{font-weight:600}.m{color:var(--muted);font-size:13px}
.btn{border:1px solid var(--line);background:#fff;border-radius:10px;padding:7px 12px;font-weight:600;font-size:13px;white-space:nowrap}
.btn:hover{border-color:var(--accent)}
.btn.p{background:linear-gradient(100deg,var(--accent),#b52a5b);border-color:var(--accent);color:#fff}
.btn.c{background:var(--coral);border-color:var(--coral);color:#fff}
.btn.d{color:var(--abs)}
.btn.sm{padding:4px 9px;font-size:12px}
.xbtn{border:0;background:none;color:#b0b5bf;font-size:16px;padding:0 4px}
.xbtn:hover{color:var(--abs)}
.chip{display:inline-block;font-size:12px;font-weight:600;padding:3px 9px;border-radius:999px;background:#f4eaee;color:#6b4f5d;white-space:nowrap}
.chip.g{background:var(--accent-soft);color:var(--accent)}.chip.o{background:var(--coral-soft);color:var(--coral)}.chip.b{background:var(--blue-soft);color:var(--blue)}
.bar{height:8px;background:#f3e4ea;border-radius:99px;overflow:hidden}
.bar i{display:block;height:100%;background:var(--accent);border-radius:99px}
.bar.low i{background:var(--coral)}
table{width:100%;border-collapse:collapse}
th{text-align:left;font-size:12px;color:var(--muted);font-weight:600;padding:8px;border-bottom:1px solid var(--line)}
td{padding:10px 8px;border-bottom:1px solid var(--line)}
tr:last-child td{border-bottom:0}
tr.click:hover td{background:#fdf3f6;cursor:pointer}
.filters{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:14px;align-items:center}
.filters button,.pill{border:1px solid var(--line);background:#fff;padding:7px 13px;border-radius:999px;font-weight:600;font-size:13px}
.filters button.on,.pill.on{background:var(--accent);color:#fff;border-color:var(--accent)}
input,select,textarea{font:inherit;color:inherit}
.inp,input.search,select.inp,textarea.inp{border:1px solid var(--line);border-radius:10px;padding:8px 12px;background:#fff;width:100%}
input.search{border-radius:999px;width:auto;min-width:220px}
textarea.inp{resize:vertical;min-height:70px}
.empty{text-align:center;padding:34px 16px;color:var(--muted)}
.empty b{display:block;color:var(--ink);font-size:16px;margin-bottom:6px}
/* attendance */
.att{overflow-x:auto}
.att table td,.att table th{text-align:center;padding:6px 3px}
.att table td:first-child,.att table th:first-child{text-align:left;padding-left:8px;white-space:nowrap;position:sticky;left:0;background:#fff}
.att th.today{color:var(--accent)}
.cell{width:34px;height:34px;border-radius:9px;border:1.5px dashed #d3cec3;background:#fff;display:inline-grid;place-items:center;font-size:13px;font-weight:800;color:#fff}
.cell.ok{background:var(--ok);border:0}.cell.nohw{background:var(--nohw);border:0}.cell.abs{background:var(--abs);border:0}.cell.move{background:var(--move);border:0}
.cell:disabled{opacity:.3;cursor:default}
.legend{display:flex;gap:16px;flex-wrap:wrap;font-size:13px;color:var(--muted);margin:12px 0 0}
.legend span{display:flex;align-items:center;gap:6px}
.legend i{width:14px;height:14px;border-radius:4px;display:inline-block}
/* schedule */
.week{display:grid;grid-template-columns:repeat(7,1fr);gap:8px}
.day{background:#fff;border:1px solid var(--line);border-radius:12px;padding:10px;min-height:200px}
.day.today{border:2px solid var(--accent)}
.day h4{margin:0 0 8px;font-size:13px}
.day h4 span{color:var(--muted);font-weight:500}
.les{border-radius:9px;padding:8px;margin-bottom:6px;font-size:12px;line-height:1.35;border-left:3px solid}
.les b{display:block;font-size:13px}
/* kanban */
.kan{display:grid;grid-template-columns:repeat(5,1fr);gap:10px}
.col{background:#f6e7ed;border-radius:14px;padding:10px;min-height:120px}
.col h4{margin:4px 6px 10px;font-size:13px;display:flex}
.col h4 span{margin-left:auto;color:var(--muted)}
.lead{background:#fff;border-radius:11px;padding:11px;margin-bottom:8px;border:1px solid var(--line);cursor:pointer}
.lead .acts{display:flex;gap:6px;margin-top:8px;flex-wrap:wrap}
/* overlays */
.ov{position:fixed;inset:0;background:rgba(20,24,33,.45);z-index:40;display:none}
.ov.on{display:block}
.drawer{position:fixed;top:0;right:0;height:100%;width:min(540px,100%);background:var(--bg);z-index:41;transform:translateX(105%);transition:transform .25s;overflow-y:auto;padding:22px}
.drawer.on{transform:none}
.modal{position:fixed;left:50%;top:50%;transform:translate(-50%,-50%);width:min(480px,94%);max-height:92vh;overflow-y:auto;background:#fff;border-radius:16px;padding:20px;z-index:45;display:none}
.modal.on{display:block}
.modal h3{margin:0 0 12px}
.fld{margin-bottom:11px}
.fld label{display:block;font-size:12px;color:var(--muted);font-weight:600;margin-bottom:4px}
.chips{display:flex;flex-wrap:wrap;gap:6px}
.x{float:right;border:0;background:none;font-size:24px;line-height:1;color:var(--muted)}
.topics{display:flex;flex-wrap:wrap;gap:6px}
.topic{border:0;border-radius:999px;padding:6px 11px;font-size:12px;font-weight:700}
.topic.s0{background:#efece5;color:#6b7280}.topic.s1{background:#fde4e4;color:var(--abs)}.topic.s2{background:#fdf3d1;color:#9a7300}.topic.s3{background:#e2f3e5;color:var(--ok)}
.topic.del{outline:2px dashed var(--abs)}
.lvl{border:1px solid var(--line);background:#fff;border-radius:999px;padding:5px 11px;font-size:12px;font-weight:700;color:#4b5263}
.note{background:#fff;border:1px solid var(--line);border-radius:12px;padding:12px;margin-bottom:8px}
.note .m{margin-bottom:4px;display:flex}
.toast{position:fixed;bottom:22px;left:50%;transform:translateX(-50%);background:var(--ink);color:#fff;padding:11px 18px;border-radius:999px;font-weight:600;z-index:60;opacity:0;transition:.2s;pointer-events:none;max-width:92%;text-align:center}
.toast.on{opacity:1}.toast.err{background:var(--abs)}
.vthumb{position:relative;aspect-ratio:16/9;border-radius:12px;display:grid;place-items:center;color:#fff;overflow:hidden}
.vthumb .k{position:absolute;left:12px;top:10px;font-size:11px;font-weight:700;opacity:.85}
.vthumb .pl{width:44px;height:44px;border-radius:50%;background:rgba(255,255,255,.2);display:grid;place-items:center;font-size:17px}
/* login */
.login{max-width:360px;margin:12vh auto;background:#fff;border:1px solid var(--line);border-radius:20px;padding:26px;box-shadow:0 16px 40px -20px rgba(140,29,64,.4)}
.login .bolt{width:44px;height:44px;margin-bottom:10px}
/* parent */
.parent{max-width:580px;margin:0 auto;padding:18px 14px 50px}
.phead{position:relative;overflow:hidden;background:linear-gradient(135deg,var(--wine),var(--accent) 55%,var(--pink));color:#fff;border-radius:22px;padding:22px;margin-bottom:14px;box-shadow:0 10px 30px -12px rgba(140,29,64,.55)}
.phead::after{content:'';position:absolute;right:-24px;top:-18px;width:150px;height:150px;background:var(--bolt-w) no-repeat center/contain;opacity:.16;pointer-events:none}
.phead>*{position:relative;z-index:1}
.phead .m{color:#ffd9e6}
.pbrand{display:flex;align-items:center;justify-content:center;gap:8px;font-family:Unbounded,Manrope,sans-serif;font-weight:700;color:var(--accent);margin-bottom:12px;font-size:14px}
.pbrand .bolt{width:22px;height:22px}
.big{font-family:Unbounded,Manrope,sans-serif;font-size:42px;font-weight:700;letter-spacing:-1px;line-height:1}
.dots{display:flex;gap:6px;flex-wrap:wrap}
.dot{width:38px;text-align:center;font-size:11px;color:var(--muted)}
.dot i{display:block;width:30px;height:30px;border-radius:9px;margin:0 auto 3px}
.dot.fut i{background:#fff!important;border:1.5px dashed #d3cec3}
/* homework */
.chip.r{background:#fde4e4;color:var(--abs)}
.g2b{grid-template-columns:repeat(2,1fr)}
.hwday{margin-bottom:18px}.hwday h4{margin:0 0 8px;font-size:14px;color:var(--muted)}
.hwc{cursor:pointer}.hwc:hover{border-color:var(--ink)}
.files{display:flex;gap:8px;flex-wrap:wrap}
.fwrap{position:relative}
.fimg{width:88px;height:88px;object-fit:cover;border-radius:10px;border:1px solid var(--line);display:block;background:#efece5}
.fdoc{display:flex;flex-direction:column;justify-content:center;width:150px;min-height:58px;padding:8px 10px;border:1px solid var(--line);border-radius:10px;background:#fff;text-decoration:none;color:var(--ink);font-size:12px;font-weight:600}
.fdoc span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.fdoc small{color:var(--muted);font-weight:500}
.fdel{position:absolute;top:-7px;right:-7px;width:22px;height:22px;border-radius:50%;border:0;background:var(--ink);color:#fff;font-size:13px;line-height:1}
.hwp{border-top:1px solid var(--line);padding:14px 0}.hwp:first-of-type{border-top:0;padding-top:0}
.upl{margin-top:12px;background:#fdf3f6;border-radius:12px;padding:12px}
.reply{margin-top:10px;border-radius:12px;padding:10px 12px;background:#e2f3e5;color:#1d5e2c}.reply.redo{background:#fde4e4;color:#8a1c1c}
@media (max-width:900px){
  nav.side{position:fixed;bottom:0;left:0;right:0;width:auto;display:flex;overflow-x:auto;background:#fff;border-top:1px solid var(--line);border-right:0;padding:6px;z-index:30}
  nav.side a{flex-direction:column;gap:2px;font-size:11px;padding:7px 10px;white-space:nowrap;position:relative}
  nav.side a .b{position:absolute;top:2px;right:2px;margin:0}
  main{padding:18px 14px 90px}
  .top{padding:10px 14px}
  .g4{grid-template-columns:1fr 1fr}.g2,.g3{grid-template-columns:1fr}
  .week{grid-template-columns:1fr}.day{min-height:0}
  .kan{grid-template-columns:1fr}
  .g2b{grid-template-columns:1fr}
  .hide-m{display:none}
}

/* ===== спокойная тема ===== */
:root{
  --bg:#f7f5f3; --card:#fff; --ink:#2f2b2e; --muted:#7c7579; --line:#ebe6e3;
  --accent:#8a5a69; --accent-soft:#f2eaec; --coral:#c27b6e; --coral-soft:#f7ece9; --blue:#7f8ea3; --blue-soft:#eef1f4;
  --wine:#6f4a57; --pink:#d4aab6;
  --ok:#6a9e78; --nohw:#dfb85a; --abs:#cf7570; --move:#a7abb2;
  --boltc:#c99aa8; --phead1:#7a5260; --phead2:#987080;
}
body{font-size:15px}
.top{background:#fff;color:var(--ink);border-bottom:1px solid var(--line)}
.top .who{opacity:1;color:var(--muted)}
.top .who button{background:var(--bg);color:var(--ink);border:1px solid var(--line)}
.logo{font-family:Manrope,sans-serif;font-weight:800;font-size:16px}
.logo small{opacity:1;color:var(--muted)}
.logo .bolt{width:28px;height:28px}
h1{font-family:Manrope,sans-serif;font-weight:800;font-size:25px;letter-spacing:-.4px}
.kpi .n{font-family:Manrope,sans-serif;font-weight:800;color:var(--ink)}
.kpi::after{opacity:.045}
.kpi.warn .n{color:var(--coral)}
.big{font-family:Manrope,sans-serif;font-weight:800}
nav.side a.on{background:var(--accent-soft);color:var(--accent);box-shadow:none}
nav.side a:hover{background:#efebe8}
nav.side a .b{background:var(--accent)}
.btn.p{background:var(--accent);border-color:var(--accent)}
.btn.c{background:var(--coral);border-color:var(--coral)}
.btn:hover{border-color:var(--muted)}
.filters button.on,.pill.on{background:var(--ink);border-color:var(--ink)}
.card{border-color:var(--line);box-shadow:none}
.phead{background:linear-gradient(135deg,var(--phead1),var(--phead2));box-shadow:none;border-radius:20px}
.phead::after{opacity:.09}
.phead .m{color:#f1e1e6}
.pbrand{font-family:Manrope,sans-serif;font-weight:800;color:var(--muted)}
.login{box-shadow:none}
.login h2{font-family:Manrope,sans-serif!important}
.bar{background:#efebe8}
.col{background:#f0ece9}
.chip{background:#f1eeec;color:#615a5e}
.chip.r{background:#f8e9e7;color:#b5615b}
.upl{background:#faf7f5}
tr.click:hover td{background:#faf8f6}
.topic.s0{background:#f1eeec;color:#7c7579}.topic.s1{background:#f8e9e7;color:#b5615b}.topic.s2{background:#faf2dc;color:#94721f}.topic.s3{background:#e8f2ea;color:#4f8460}
.reply{background:#e8f2ea;color:#3f6b4d}.reply.redo{background:#f8e9e7;color:#9c4d48}
.toast{background:var(--ink)}.toast.err{background:var(--abs)}
.day.today{border-color:var(--accent)}
.att th.today{color:var(--accent)}

.bolt circle{fill:var(--boltc)}
html[data-theme=sage]{--bg:#f5f6f2;--ink:#2c302d;--muted:#737a74;--line:#e5e8e1;--accent:#5c7d68;--accent-soft:#e8efe9;--coral:#c9876b;--coral-soft:#f7ece6;--blue:#7f93a0;--blue-soft:#eef2f3;--pink:#b9cdbf;--wine:#4a6655;--boltc:#9fbca8;--phead1:#55735f;--phead2:#7c9a85}
.swatches{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px}
.sw{border:2px solid var(--line);border-radius:14px;background:#fff;padding:10px;text-align:left}
.sw.on{border-color:var(--accent)}
.sw .dots{display:flex;gap:4px;margin-bottom:8px}.sw .dots i{width:22px;height:22px;border-radius:50%;display:block}

/* ===== яркие темы ===== */
html[data-theme=berry]{--bg:#fff6f9;--ink:#2b1a22;--muted:#86707b;--line:#f6dde6;--accent:#d6336c;--accent-soft:#ffe3ec;--coral:#ff922b;--coral-soft:#fff0e0;--blue:#7950f2;--blue-soft:#efeaff;--pink:#ff8fb1;--wine:#a61e4d;--boltc:#ff6b9a;--phead1:#c2255c;--phead2:#f76d9d;--c3:#12b886}
html[data-theme=lagoon]{--bg:#f1fbfa;--ink:#12302f;--muted:#5d7b79;--line:#d5eeeb;--accent:#0ca5a0;--accent-soft:#d6f5f1;--coral:#ff6b4a;--coral-soft:#ffece6;--blue:#f59f00;--blue-soft:#fff3d6;--pink:#63e6be;--wine:#087f7b;--boltc:#ff8a5c;--phead1:#0a9a95;--phead2:#25c7b2;--c3:#7950f2}
html[data-theme=citrus]{--bg:#fff9f2;--ink:#33241a;--muted:#8a7565;--line:#f6e2cd;--accent:#f76707;--accent-soft:#ffe8cc;--coral:#e03157;--coral-soft:#ffe3e9;--blue:#12b886;--blue-soft:#d8f5ea;--pink:#ffc078;--wine:#d9480f;--boltc:#ffa94d;--phead1:#f76707;--phead2:#ff9f43;--c3:#228be6}
html[data-theme=violet]{--bg:#f8f6ff;--ink:#221d33;--muted:#756f86;--line:#e6e0f7;--accent:#7048e8;--accent-soft:#ece6ff;--coral:#f06595;--coral-soft:#ffe6ef;--blue:#15aabf;--blue-soft:#dcf6fa;--pink:#b197fc;--wine:#5f3dc4;--boltc:#9775fa;--phead1:#6741d9;--phead2:#a855c9;--c3:#fab005}
html[data-theme=ocean]{--bg:#f3f8ff;--ink:#1a2433;--muted:#66758a;--line:#dbe6f3;--accent:#1c7ed6;--accent-soft:#dbeeff;--coral:#ff6b6b;--coral-soft:#ffe8e8;--blue:#20c997;--blue-soft:#d9f7ec;--pink:#74c0fc;--wine:#1864ab;--boltc:#4dabf7;--phead1:#1971c2;--phead2:#22b8cf;--c3:#fd7e14}
html[data-tone=bright]{--ok:#2fb344;--nohw:#fcc419;--abs:#f03e3e;--move:#adb5bd}
html[data-tone=bright] .top{background:linear-gradient(100deg,var(--phead1),var(--phead2));color:#fff;border-bottom:0}
html[data-tone=bright] .top .who{color:#fff}
html[data-tone=bright] .top .who button{background:rgba(255,255,255,.22);color:#fff;border:0}
html[data-tone=bright] .logo small{color:#ffffffcc}
html[data-tone=bright] .top .bolt circle{fill:#fff}
html[data-tone=bright] .top .bolt path{fill:var(--accent)}
html[data-tone=bright] nav.side a.on{background:linear-gradient(100deg,var(--accent),var(--phead2));color:#fff;box-shadow:0 8px 18px -10px var(--accent)}
html[data-tone=bright] nav.side a:hover{background:var(--accent-soft)}
html[data-tone=bright] nav.side a .b{background:var(--coral)}
html[data-tone=bright] nav.side a.on .b{background:#fff;color:var(--accent)}
html[data-tone=bright] .btn.p{background:linear-gradient(100deg,var(--accent),var(--phead2));border-color:transparent;box-shadow:0 6px 14px -8px var(--accent)}
html[data-tone=bright] .btn.c{background:var(--coral);border-color:var(--coral)}
html[data-tone=bright] .filters button.on,html[data-tone=bright] .pill.on{background:var(--accent);border-color:var(--accent)}
html[data-tone=bright] .card{box-shadow:0 2px 0 var(--line),0 10px 24px -18px rgba(0,0,0,.18)}
html[data-tone=bright] .kpi{border-top:4px solid var(--accent)}
html[data-tone=bright] .grid.g4>.kpi:nth-child(2){border-top-color:var(--blue)}html[data-tone=bright] .grid.g4>.kpi:nth-child(2) .n{color:var(--blue)}
html[data-tone=bright] .grid.g4>.kpi:nth-child(3){border-top-color:var(--c3)}html[data-tone=bright] .grid.g4>.kpi:nth-child(3) .n{color:var(--c3)}
html[data-tone=bright] .grid.g4>.kpi:nth-child(4){border-top-color:var(--coral)}html[data-tone=bright] .grid.g4>.kpi:nth-child(4) .n{color:var(--coral)}
html[data-tone=bright] .kpi .n{color:var(--accent)}
html[data-tone=bright] .kpi::after{opacity:.12}
html[data-tone=bright] .phead{background:linear-gradient(135deg,var(--phead1),var(--phead2));box-shadow:0 14px 30px -16px var(--accent)}
html[data-tone=bright] .phead::after{opacity:.2}
html[data-tone=bright] .phead .m{color:#ffffffdd}
html[data-tone=bright] .pbrand{color:var(--accent)}
html[data-tone=bright] .av{background:var(--accent-soft);color:var(--accent)}
html[data-tone=bright] .bar i{background:linear-gradient(90deg,var(--accent),var(--phead2))}
html[data-tone=bright] .bar.low i{background:var(--coral)}
html[data-tone=bright] .chip.g{background:#d3f9d8;color:#2b8a3e}
html[data-tone=bright] .chip.o{background:var(--coral-soft);color:var(--coral)}
html[data-tone=bright] .topic.s3{background:#d3f9d8;color:#2b8a3e}html[data-tone=bright] .topic.s2{background:#fff3bf;color:#a07800}html[data-tone=bright] .topic.s1{background:#ffe3e3;color:#e03131}
html[data-tone=bright] .reply{background:#d3f9d8;color:#2b8a3e}html[data-tone=bright] .reply.redo{background:#ffe3e3;color:#c92a2a}
html[data-tone=bright] .day.today{border:2px solid var(--accent)}
.kpi::after{background:var(--accent);-webkit-mask:var(--bolt) no-repeat center/contain;mask:var(--bolt) no-repeat center/contain}
.phead::after{background:#fff;-webkit-mask:var(--bolt-w) no-repeat center/contain;mask:var(--bolt-w) no-repeat center/contain}

/* ===== комбинированные темы: два цвета в паре ===== */
html[data-theme=sunset]{--bg:#fff7f5;--ink:#2e1b1f;--muted:#8a7072;--line:#f7e0dd;--accent:#e64980;--accent-soft:#ffe3ee;--accent2:#fd7e14;--accent2-soft:#fff0e0;--coral:#f03e3e;--coral-soft:#ffe3e3;--blue:#fd7e14;--blue-soft:#fff0e0;--pink:#ffa8c5;--wine:#c2255c;--boltc:#ff922b;--phead1:#e64980;--phead2:#ff922b;--c3:#7950f2}
html[data-theme=tropic]{--bg:#f3fbf8;--ink:#14302a;--muted:#5f7b74;--line:#d7efe7;--accent:#0ca678;--accent-soft:#d3f9e9;--accent2:#fd7e14;--accent2-soft:#fff0e0;--coral:#f03e3e;--coral-soft:#ffe3e3;--blue:#fd7e14;--blue-soft:#fff0e0;--pink:#96f2d7;--wine:#087f5b;--boltc:#ff922b;--phead1:#0ca678;--phead2:#fd9a3c;--c3:#1c7ed6}
html[data-theme=aurora]{--bg:#f6f6ff;--ink:#1f1d36;--muted:#6f6e88;--line:#e3e2f6;--accent:#7048e8;--accent-soft:#ece6ff;--accent2:#15aabf;--accent2-soft:#d9f5f9;--coral:#f06595;--coral-soft:#ffe6ef;--blue:#15aabf;--blue-soft:#d9f5f9;--pink:#b197fc;--wine:#5f3dc4;--boltc:#3bc9db;--phead1:#7048e8;--phead2:#22b8cf;--c3:#fab005}
html[data-theme=candy]{--bg:#fff6fb;--ink:#2d1b2c;--muted:#8a6f86;--line:#f5def0;--accent:#e64980;--accent-soft:#ffe3ee;--accent2:#845ef7;--accent2-soft:#efe8ff;--coral:#fd7e14;--coral-soft:#fff0e0;--blue:#845ef7;--blue-soft:#efe8ff;--pink:#f783ac;--wine:#a61e4d;--boltc:#b197fc;--phead1:#f06595;--phead2:#845ef7;--c3:#12b886}
html[data-theme=fresh]{--bg:#f4fbf8;--ink:#1c2b27;--muted:#6a7f79;--line:#dcefe8;--accent:#12b886;--accent-soft:#d3f9e9;--accent2:#e64980;--accent2-soft:#ffe3ee;--coral:#fd7e14;--coral-soft:#fff0e0;--blue:#e64980;--blue-soft:#ffe3ee;--pink:#63e6be;--wine:#087f5b;--boltc:#f06595;--phead1:#12b886;--phead2:#f06595;--c3:#fab005}
html[data-tone=bright]{--accent2:var(--blue);--accent2-soft:var(--blue-soft)}
html[data-theme=sunset],html[data-theme=tropic],html[data-theme=aurora],html[data-theme=candy],html[data-theme=fresh]{--accent2:var(--blue)}
html[data-tone=bright] .btn.p{background:linear-gradient(100deg,var(--accent),var(--accent2))}
html[data-tone=bright] nav.side a.on{background:linear-gradient(100deg,var(--accent),var(--accent2))}
html[data-tone=bright] .bar i{background:linear-gradient(90deg,var(--accent),var(--accent2))}
html[data-tone=bright] nav.side a:not(.on):nth-child(4n+1)>span:first-child{color:var(--accent)}
html[data-tone=bright] nav.side a:not(.on):nth-child(4n+2)>span:first-child{color:var(--accent2)}
html[data-tone=bright] nav.side a:not(.on):nth-child(4n+3)>span:first-child{color:var(--c3)}
html[data-tone=bright] nav.side a:not(.on):nth-child(4n+4)>span:first-child{color:var(--coral)}
html[data-tone=bright] .row:nth-of-type(even) .av,html[data-tone=bright] tr:nth-child(odd) .av{background:var(--accent2-soft);color:var(--accent2)}
html[data-tone=bright] .grid.g4>.kpi:nth-child(2){border-top-color:var(--accent2)}html[data-tone=bright] .grid.g4>.kpi:nth-child(2) .n{color:var(--accent2)}
html[data-tone=bright] .parent .card{position:relative;overflow:hidden}
html[data-tone=bright] .parent .card::before{content:'';position:absolute;left:0;right:0;top:0;height:4px;background:linear-gradient(90deg,var(--accent),var(--accent2))}
html[data-tone=bright] .hwc{border-left:4px solid var(--accent)}
html[data-tone=bright] .hwday:nth-child(even) .hwc{border-left-color:var(--accent2)}
html[data-tone=bright] .chip.b{background:var(--accent2-soft);color:var(--accent2)}
/* чистые яркие переходы между двумя цветами (браузеры без поддержки оставят обычный градиент) */
html[data-tone=bright] .top{background:linear-gradient(in oklch 100deg,var(--phead1),var(--phead2))}
html[data-tone=bright] .phead{background:linear-gradient(in oklch 135deg,var(--phead1),var(--phead2))}
html[data-tone=bright] nav.side a.on,html[data-tone=bright] .btn.p{background:linear-gradient(in oklch 100deg,var(--accent),var(--accent2))}
html[data-tone=bright] .bar i,html[data-tone=bright] .parent .card::before{background:linear-gradient(in oklch 90deg,var(--accent),var(--accent2))}
html[data-tone=bright] .bar.low i{background:var(--coral)}
/* пары-противоположности: основной цвет — градиентом, второй — акцентами */
html[data-theme=tropic]{--phead1:#0ca678;--phead2:#15aabf}
html[data-theme=fresh]{--phead1:#0ca678;--phead2:#38d9a9}
html[data-split] nav.side a.on,html[data-split] .btn.p{background:linear-gradient(100deg,var(--phead1),var(--phead2))}
html[data-split] .bar i{background:linear-gradient(90deg,var(--phead1),var(--phead2))}
html[data-split] .parent .card::before{background:linear-gradient(90deg,var(--accent) 0 50%,var(--accent2) 50% 100%)}
html[data-tone=bright] .top .bolt circle{fill:var(--accent2)}
html[data-tone=bright] .top .bolt path{fill:#fff}
html[data-split] .phead::after{background:var(--accent2);opacity:.95}
html[data-split] nav.side a.on .b{background:var(--accent2);color:#fff}

/* ===== бирюза · розовый · зелёный ===== */
html[data-theme=flamingo]{--bg:#f2fcfb;--ink:#0f2f33;--muted:#5b7c80;--line:#d3f0ee;--accent:#0fb5ae;--accent-soft:#d5f7f4;--accent2:#ff4d8d;--accent2-soft:#ffe1ec;--blue:#ff4d8d;--blue-soft:#ffe1ec;--c3:#2fbf71;--coral:#ff7a45;--coral-soft:#fff0e6;--pink:#7ee8e0;--wine:#0a8f89;--boltc:#ff4d8d;--phead1:#0aa8a2;--phead2:#2cc9d6}
html[data-theme=mojito]{--bg:#f3fcf6;--ink:#11301f;--muted:#5d7b68;--line:#d4f1df;--accent:#22b573;--accent-soft:#d6f7e5;--accent2:#ff5c9a;--accent2-soft:#ffe3ee;--blue:#ff5c9a;--blue-soft:#ffe3ee;--c3:#12b8c4;--coral:#ff7a45;--coral-soft:#fff0e6;--pink:#8ce99a;--wine:#15905a;--boltc:#ff5c9a;--phead1:#22b573;--phead2:#12b8c4}
html[data-theme=watermelon]{--bg:#fff6f9;--ink:#33121f;--muted:#866a75;--line:#fbdde8;--accent:#f03e7c;--accent-soft:#ffe0ec;--accent2:#12b8b0;--accent2-soft:#d5f7f4;--blue:#12b8b0;--blue-soft:#d5f7f4;--c3:#40c057;--coral:#ff7a45;--coral-soft:#fff0e6;--pink:#ff8fb6;--wine:#c2255c;--boltc:#12b8b0;--phead1:#f03e7c;--phead2:#ff7aa3}
html[data-theme=neon]{--bg:#f0fcfa;--ink:#0e2b2a;--muted:#577b77;--line:#cff1ea;--accent:#00b5bd;--accent-soft:#d2f6f6;--accent2:#ff2e88;--accent2-soft:#ffe0ee;--blue:#ff2e88;--blue-soft:#ffe0ee;--c3:#2fd27a;--coral:#ff7a45;--coral-soft:#fff0e6;--pink:#66e3c4;--wine:#00868d;--boltc:#ff2e88;--phead1:#00b8c4;--phead2:#2fd27a}
html[data-theme=bubble]{--bg:#f6fbff;--ink:#21243a;--muted:#6f7590;--line:#e1ecf5;--accent:#14b8a6;--accent-soft:#d6f6f1;--accent2:#ff5fa2;--accent2-soft:#ffe3ef;--blue:#ff5fa2;--blue-soft:#ffe3ef;--c3:#4cd07d;--coral:#ff7a45;--coral-soft:#fff0e6;--pink:#ffb3d1;--wine:#0f8f82;--boltc:#ff5fa2;--phead1:#1cc5b3;--phead2:#ff6fa8}
html[data-theme=flamingo],html[data-theme=mojito],html[data-theme=watermelon],html[data-theme=neon],html[data-theme=bubble]{--accent2:var(--blue);--accent2-soft:var(--blue-soft)}
html[data-theme=watermelon] .top .bolt circle{fill:#fff}html[data-theme=watermelon] .top .bolt path{fill:var(--accent)}
html[data-theme=watermelon] .phead::after{background:var(--accent2);opacity:.9}

/* ===== отчёт ===== */
.drawer.wide{width:min(820px,100%)}
.modal.wide{width:min(820px,96%)}
.report{background:#fff;border:1px solid var(--line);border-radius:18px;padding:22px;-webkit-print-color-adjust:exact;print-color-adjust:exact}
.report .rh{display:flex;align-items:center;gap:12px;padding-bottom:14px;margin-bottom:14px;border-bottom:3px solid transparent;border-image:linear-gradient(90deg,var(--accent),var(--accent2,var(--accent))) 1}
.report .rh .bolt{width:42px;height:42px}
.report .rt{font-weight:800;font-size:19px;color:var(--accent)}
.report .rs{color:var(--muted);font-size:13px;font-weight:600}
.report .rname{font-size:22px;font-weight:800;letter-spacing:-.3px}
.rkpis{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:14px 0}
.rk{background:var(--accent-soft);border-radius:14px;padding:12px}
.rk:nth-child(2){background:var(--accent2-soft,var(--blue-soft))}.rk:nth-child(3){background:#eef9f0}.rk:nth-child(4){background:var(--coral-soft)}
.rk .n{font-size:22px;font-weight:800;color:var(--ink)}.rk .n small{font-size:14px;color:var(--muted)}
.rk .l{font-size:12px;color:var(--muted);font-weight:700;text-transform:uppercase;letter-spacing:.3px}
.rk .s{font-size:12px;color:var(--muted);margin-top:2px}
.rsec{margin-top:16px}.rsec h4{margin:0 0 8px;font-size:14px}
.rtext{white-space:pre-wrap;line-height:1.5}
.rgoal{background:var(--accent-soft);border-radius:14px;padding:12px 14px}
.rgrid{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.rtable td{padding:6px 4px;font-size:14px}
.rtl{margin-bottom:5px;font-size:14px}
.rfoot{margin-top:18px;padding-top:10px;border-top:1px solid var(--line);font-size:12px;color:var(--muted);text-align:center}
#printarea{display:none}
@media (max-width:700px){.rkpis{grid-template-columns:1fr 1fr}.rgrid{grid-template-columns:1fr}}
@media print{
  body.printing>*:not(#printarea){display:none!important}
  body.printing #printarea{display:block}
  body.printing{background:#fff}
  #printarea .report{border:0;padding:0}
  @page{margin:14mm}
}

.viewbar{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:9px 22px;background:#fff4d6;color:#6b4e00;font-size:14px;border-bottom:1px solid #f2dd9b}
.viewbar button{margin-left:auto;border:0;border-radius:999px;padding:6px 14px;font-weight:700;background:#6b4e00;color:#fff}
