/* SM VISIO: темы — наборы переменных. Основная: s2 «Классика Премиум». Остальные пять — «в рукаве». */
:root,[data-theme="s2"]{--bg:#0F1A2B;--ink:#EFE9DA;--mut:rgba(239,233,218,.62);--c:#16243A;--a:#C9A24B;--a2:#33496B;--onA:#0F1A2B;--r:12px;--rb:2px;--rt:14px;--bd:1px solid rgba(201,162,75,.34);--sh:none;--fh:Georgia,"Times New Roman",serif;--fb:system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;--fn:Georgia,serif;--hw:600;--nw:500;--ls:.01em;--tt:uppercase;--chip:rgba(201,162,75,.16);--onChip:#E3C77E;--track:#243652;--tabbg:#13203A;--bf:none;--red:#E5654F;--yel:#E8B94A;--grn:#5FBF8A;--hero:var(--c)}
[data-theme="s1"]{--bg:#F6EFE6;--ink:#3B2F2A;--mut:rgba(59,47,42,.62);--c:#FFFBF5;--a:#C4623A;--a2:#E7C9A9;--onA:#fff;--r:20px;--rb:6px;--rt:22px;--bd:1px solid #EADCC8;--sh:0 6px 14px -10px rgba(120,70,30,.5);--fh:Georgia,"Times New Roman",serif;--fn:Georgia,serif;--hw:600;--nw:600;--ls:0;--tt:none;--chip:#F3E3CF;--onChip:#8A4A2B;--track:#EFE2D0;--tabbg:#FFFBF5;--bf:none;--red:#C8432F;--yel:#C98A12;--grn:#5C8A55;--hero:var(--c)}
[data-theme="s3"]{--bg:#F1F4FB;--ink:#14182B;--mut:rgba(20,24,43,.6);--c:#fff;--a:#3D6BFF;--a2:#C9D6FF;--onA:#fff;--r:20px;--rb:6px;--rt:24px;--bd:1px solid transparent;--sh:0 8px 20px -14px rgba(40,70,200,.45);--fh:system-ui,sans-serif;--fn:system-ui,sans-serif;--hw:700;--nw:700;--ls:-.02em;--tt:none;--chip:#E8EEFF;--onChip:#3D6BFF;--track:#E6ECFB;--tabbg:rgba(255,255,255,.94);--bf:none;--red:#E0483B;--yel:#E3A21A;--grn:#2FA86B;--hero:linear-gradient(135deg,#3D6BFF,#8A5CFF)}
[data-theme="s4"]{--bg:#0B0D12;--ink:#E8ECF4;--mut:rgba(232,236,244,.6);--c:#141821;--a:#B6FF3B;--a2:#2B3A4D;--onA:#0B0D12;--r:14px;--rb:3px;--rt:16px;--bd:1px solid #232A38;--sh:none;--fh:system-ui,sans-serif;--fn:ui-monospace,"Cascadia Mono",Consolas,monospace;--hw:600;--nw:600;--ls:-.01em;--tt:uppercase;--chip:rgba(59,224,255,.12);--onChip:#3BE0FF;--track:#232A38;--tabbg:#10141C;--bf:none;--red:#FF5C6C;--yel:#FFC83B;--grn:#B6FF3B;--hero:var(--c)}
[data-theme="s5"]{--bg:#FFF2B8;--ink:#111;--mut:rgba(17,17,17,.62);--c:#fff;--a:#FF4F86;--a2:#3D5AFE;--onA:#fff;--r:8px;--rb:0;--rt:8px;--bd:2px solid #111;--sh:3px 3px 0 #111;--fh:"Arial Black",Impact,system-ui,sans-serif;--fn:ui-monospace,Consolas,monospace;--hw:900;--nw:800;--ls:-.02em;--tt:uppercase;--chip:#BDF0FF;--onChip:#111;--track:#eee;--tabbg:#fff;--bf:none;--red:#E5243B;--yel:#F2A900;--grn:#14A44D;--hero:var(--c)}
[data-theme="s6"]{--bg:linear-gradient(160deg,#4B2A8F 0%,#1D6F87 55%,#C0509A 100%);--ink:#fff;--mut:rgba(255,255,255,.75);--c:rgba(255,255,255,.16);--a:#fff;--a2:rgba(255,255,255,.42);--onA:#3c2a82;--r:24px;--rb:8px;--rt:26px;--bd:1px solid rgba(255,255,255,.35);--sh:0 8px 24px -12px rgba(0,0,0,.45);--fh:system-ui,sans-serif;--fn:system-ui,sans-serif;--hw:700;--nw:700;--ls:-.02em;--tt:none;--chip:rgba(255,255,255,.22);--onChip:#fff;--track:rgba(255,255,255,.22);--tabbg:rgba(255,255,255,.2);--bf:blur(14px);--red:#FF8A8A;--yel:#FFE08A;--grn:#9CF0C0;--hero:var(--c)}

*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}
html,body{margin:0;min-height:100%;background:#000}
body{font:15px/1.4 var(--fb);color:var(--ink)}
#app{max-width:480px;min-height:100vh;margin:0 auto;background:var(--bg);background-attachment:fixed;position:relative;padding:max(18px,env(safe-area-inset-top)) 16px 96px}
h1,h2,h3{font-family:var(--fh);font-weight:var(--hw);letter-spacing:var(--ls);margin:0}
.fade{animation:fade .35s ease both}@keyframes fade{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
.top{display:flex;justify-content:space-between;align-items:center;margin:4px 2px 16px}
.top small{display:block;color:var(--mut);font-size:12.5px;letter-spacing:.04em;text-transform:var(--tt)}
.top h1{font-size:26px;line-height:1.15;margin-top:2px}
.av{width:42px;height:42px;border-radius:50%;background:var(--a);color:var(--onA);display:grid;place-items:center;font:700 17px var(--fh)}
.warn{margin:0 2px 12px;padding:8px 12px;border-radius:var(--r);background:var(--chip);color:var(--onChip);font-size:13px}
.grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.t{background:var(--c);border:var(--bd);box-shadow:var(--sh);border-radius:var(--r);padding:14px 15px;min-height:104px;position:relative;overflow:hidden;backdrop-filter:var(--bf);-webkit-backdrop-filter:var(--bf)}
.t.hero{background:var(--hero)}
[data-theme="s3"] .t.hero{color:#fff}
.t .k{font-size:11.5px;color:var(--mut);text-transform:var(--tt);letter-spacing:.06em;white-space:nowrap}
[data-theme="s3"] .t.hero .k,[data-theme="s3"] .t.hero .s{color:rgba(255,255,255,.8)}
.t .n{font:var(--nw) 34px/1.05 var(--fn);margin:6px 0 4px;white-space:nowrap}
.t .s{font-size:12px;color:var(--mut)}
.chip{display:inline-block;padding:2px 9px;border-radius:99px;font-size:12px;margin:0 4px 0 0;background:var(--chip);color:var(--onChip)}
.dot{display:inline-block;width:9px;height:9px;border-radius:50%;margin-right:7px;vertical-align:1px}
.dot.r{background:var(--red)}.dot.y{background:var(--yel)}.dot.g{background:var(--grn)}
.ring{width:74px;height:74px;display:block;margin:2px auto 0}.ring circle{fill:none;stroke-width:9}
.ring .bg{stroke:var(--track)}.ring .fg{stroke:var(--a);stroke-linecap:round;transition:stroke-dasharray .9s ease}
.rw{position:relative;width:74px;height:74px;margin:4px auto 0}.rw .ring{margin:0}
.rt{position:absolute;inset:0;display:grid;place-items:center;font:var(--nw) 15px var(--fn)}
.bars{display:flex;align-items:flex-end;gap:5px;height:52px;margin:8px 0 4px}
.bars i{flex:1;background:var(--a2);border-radius:var(--rb);min-height:4px;transition:height .7s ease}.bars i.on{background:var(--a)}
.sec{margin:22px 2px 10px;display:flex;justify-content:space-between;align-items:baseline}
.sec h2{font-size:18px}.sec a{font-size:13px;color:var(--a);text-decoration:none}
.row{display:flex;align-items:center;gap:12px;padding:12px 14px;margin-bottom:9px;background:var(--c);border:var(--bd);box-shadow:var(--sh);border-radius:var(--r);backdrop-filter:var(--bf);-webkit-backdrop-filter:var(--bf)}
.row time{font:var(--nw) 14px var(--fn);color:var(--a);min-width:86px;font-variant-numeric:tabular-nums}
.row .nm{flex:1}.row .pl{display:block;font-size:12px;color:var(--mut)}
.who{font-size:16px;letter-spacing:2px}
.ctl{color:var(--red);font-weight:700;margin-left:4px}
.empty{padding:22px;text-align:center;color:var(--mut)}
.tabs{position:fixed;left:50%;transform:translateX(-50%);bottom:max(12px,env(safe-area-inset-bottom));width:min(448px,calc(100% - 32px));height:60px;background:var(--tabbg);border:var(--bd);box-shadow:var(--sh);border-radius:var(--rt);display:flex;justify-content:space-around;align-items:center;backdrop-filter:var(--bf);-webkit-backdrop-filter:var(--bf);z-index:5}
.tabs a{display:grid;justify-items:center;gap:2px;font-size:11px;color:var(--ink);opacity:.6;text-decoration:none;padding:6px 14px}
.tabs a b{font-size:19px;font-weight:400;line-height:1}.tabs a.on{opacity:1;color:var(--a);font-weight:700}
.nav{display:flex;align-items:center;justify-content:space-between;margin:0 2px 14px}
.nav h1{font-size:22px}.nav button{width:42px;height:42px;border-radius:50%;border:var(--bd);background:var(--c);color:var(--ink);font-size:18px;cursor:pointer}
.strip{display:grid;grid-template-columns:repeat(7,1fr);gap:6px;margin-bottom:14px}
.strip button{border:var(--bd);background:var(--c);color:var(--ink);border-radius:var(--rt);padding:8px 0;font:inherit;cursor:pointer;display:grid;gap:2px;justify-items:center;box-shadow:var(--sh)}
.strip small{font-size:11px;color:var(--mut);text-transform:var(--tt)}.strip b{font:var(--nw) 17px var(--fn)}
.strip i{width:5px;height:5px;border-radius:50%;background:var(--a);opacity:0}.strip .has i{opacity:1}
.strip .sel{background:var(--a);color:var(--onA);border-color:transparent}.strip .sel small{color:var(--onA);opacity:.8}.strip .sel i{background:var(--onA)}
.strip .today b{text-decoration:underline;text-decoration-color:var(--a);text-underline-offset:3px}
.grp{margin:16px 2px 8px;font:var(--hw) 14px var(--fh);color:var(--a);text-transform:var(--tt);letter-spacing:.06em}
.qty{margin-left:auto;font-size:12.5px;color:var(--mut)}
.themes{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.themes button{padding:14px 10px;border-radius:var(--r);border:var(--bd);background:var(--c);color:var(--ink);font:inherit;cursor:pointer;text-align:left}
.themes button.on{outline:2px solid var(--a)}.themes small{display:block;color:var(--mut);font-size:11.5px;margin-top:2px}
.sk{height:104px;border-radius:var(--r);background:linear-gradient(90deg,var(--c),var(--a2),var(--c));background-size:200% 100%;animation:sk 1.2s infinite;opacity:.35}@keyframes sk{to{background-position:-200% 0}}
.soon{display:flex;flex-wrap:wrap;gap:7px}
.seg{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin:0 2px 14px;padding:4px;border:var(--bd);border-radius:var(--rt);background:var(--c)}
.seg a{text-align:center;padding:8px 0;border-radius:var(--r);color:var(--ink);text-decoration:none;font-size:14px;opacity:.7}.seg a.on{background:var(--a);color:var(--onA);opacity:1;font-weight:700}
.mg{display:grid;grid-template-columns:repeat(7,1fr);gap:5px;margin-bottom:14px}.mg small{text-align:center;font-size:11px;color:var(--mut);text-transform:var(--tt)}
.mg button{border:var(--bd);background:var(--c);color:var(--ink);border-radius:var(--r);padding:9px 0 7px;font:inherit;cursor:pointer;display:grid;gap:2px;justify-items:center;box-shadow:var(--sh)}
.mg b{font:var(--nw) 15px var(--fn)}.mg i{width:5px;height:5px;border-radius:50%;background:var(--a);opacity:0}.mg .has i{opacity:1}
.mg .out{opacity:.3}.mg .sel{background:var(--a);color:var(--onA);border-color:transparent}.mg .sel i{background:var(--onA)}.mg .today b{text-decoration:underline;text-decoration-color:var(--a);text-underline-offset:3px}
.themes a.lnk{padding:14px 10px;border-radius:var(--r);border:var(--bd);background:var(--c);color:var(--ink);text-decoration:none}.themes a.lnk b{display:block}.themes a.lnk small{display:block;color:var(--mut);font-size:11.5px;margin-top:2px}
.row.card .tg{margin-top:6px}.row.card .tg .chip{margin:0 4px 4px 0}
button.ok{width:36px;height:36px;border-radius:50%;border:var(--bd);background:var(--a);color:var(--onA);font:700 16px system-ui;cursor:pointer;flex:none}button.ok:disabled{opacity:.5}
.row.tp{cursor:pointer}.pick{display:flex;gap:6px;flex-wrap:wrap;margin:-3px 0 10px;padding:8px 10px;border:var(--bd);border-radius:var(--r);background:var(--c)}.pick .chip{border:0;font:inherit;font-size:13px;padding:6px 12px;cursor:pointer}
#toast{position:fixed;left:50%;bottom:90px;transform:translate(-50%,20px);padding:10px 16px;border-radius:99px;background:var(--a);color:var(--onA);font-size:13.5px;opacity:0;transition:.25s;z-index:9;pointer-events:none}#toast.show{opacity:1;transform:translate(-50%,0)}
