.card{background:var(--card);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:20px;min-width:0;padding:18px}.card-head{flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:14px;display:flex}.card-head h2{font-size:18px}.card-head .sub{color:var(--dim);font-size:13px}.kpi{flex-direction:column;gap:4px;text-decoration:none;transition:transform .15s,border-color .15s;display:flex;position:relative;overflow:hidden}a.kpi:hover{border-color:var(--line-2);transform:translateY(-2px)}.kpi .label{color:var(--muted);align-items:center;gap:7px;font-size:13px;font-weight:600;display:flex}.kpi .value{letter-spacing:.3px;font:600 28px/1.1 Fredoka,sans-serif}.kpi .delta{font-size:12.5px;font-weight:700}.kpi .spark{opacity:.9;width:90px;height:34px;position:absolute;bottom:10px;right:10px}.kpi .ic{font-size:16px}.drawer-back{z-index:60;background:#0008028c;justify-content:flex-end;animation:.15s fade;display:flex;position:fixed;inset:0}@keyframes fade{0%{opacity:0}}.drawer{background:var(--bg-2);border-left:1px solid var(--line);width:min(520px,100%);height:100%;padding:22px;animation:.22s cubic-bezier(.2,.9,.3,1) slide;overflow-y:auto}@keyframes slide{0%{opacity:0;transform:translate(40px)}}.modal-back{z-index:70;background:#0008028c;place-items:center;padding:16px;animation:.15s fade;display:grid;position:fixed;inset:0}.modal{background:var(--bg-2);border:1px solid var(--line-2);width:min(460px,100%);box-shadow:var(--shadow);border-radius:22px;padding:22px;animation:.2s cubic-bezier(.2,1.3,.4,1) pop}@keyframes pop{0%{opacity:0;transform:scale(.94)}}.modal h3{margin-bottom:8px;font-size:20px}.modal .actions{justify-content:flex-end;gap:10px;margin-top:18px;display:flex}.toasts{z-index:90;flex-direction:column;gap:8px;display:flex;position:fixed;bottom:18px;right:18px}.toast{background:var(--card-solid);border:1px solid var(--line-2);box-shadow:var(--shadow);border-radius:14px;align-items:center;gap:8px;padding:12px 16px;font-weight:600;animation:.2s pop;display:flex}.toast.good{border-color:color-mix(in srgb, var(--good) 60%, transparent)}.toast.bad{border-color:color-mix(in srgb, var(--bad) 60%, transparent)}.sk{background:linear-gradient(90deg, var(--card) 25%, var(--card-2) 50%, var(--card) 75%);background-size:200% 100%;border-radius:10px;animation:1.2s infinite shimmer}@keyframes shimmer{to{background-position:-200% 0}}.empty{text-align:center;color:var(--muted);place-items:center;gap:8px;padding:30px 10px;display:grid}.nyota{width:84px;height:84px;animation:3.2s ease-in-out infinite bob}@keyframes bob{50%{transform:translateY(-6px)rotate(3deg)}}.drawer.wide{width:min(760px,100%)}.drawer-head{align-items:center;gap:10px;margin-bottom:16px;display:flex}.drawer-head h2{font-size:20px}.kpi .delta.good{color:var(--good)}.kpi .delta.bad{color:var(--bad)}.kpi .ic svg{display:block}.msisdn{align-items:center;gap:5px;display:inline-flex}.msisdn.masked svg{color:var(--dim)}.dayselect,.range{flex-wrap:wrap;align-items:center;gap:6px;display:inline-flex}.range-custom{align-items:center;gap:6px;display:inline-flex}.range-custom .select{min-height:34px;padding:4px 8px}.field{flex-direction:column;gap:6px;display:flex}.field>span{color:var(--muted);font-size:13px;font-weight:600}.field small{color:var(--dim);font-size:12px}.facts{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:12px 18px;display:grid}.facts div{flex-direction:column;gap:2px;display:flex}.facts dt{color:var(--dim);text-transform:uppercase;letter-spacing:.5px;font-size:12px;font-weight:600}.facts dd{margin:0;font-weight:600}@media (width<=560px){.g-kpi{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.kpi{padding:14px}.kpi .value{font-size:21px}.kpi .label{font-size:12px}.kpi .spark{display:none}}.kpi.has-spark .delta{padding-right:96px}@media (width<=560px){.kpi.has-spark .delta{padding-right:0}}.details-wrap{max-height:560px;overflow:auto}.details-wrap thead th{background:var(--card-solid);z-index:1;position:sticky;top:0}.details tfoot td{background:var(--card-solid);border-top:2px solid var(--line-2);padding:10px 12px;font-weight:700;position:sticky;bottom:0}.details .card-head{flex-wrap:wrap;row-gap:8px}.details .seg{flex-wrap:wrap;max-width:100%}.date-input{font-variant-numeric:tabular-nums;width:128px}.input.invalid{border-color:var(--bad)}.pivot-wrap{border-radius:12px;max-height:calc(100vh - 250px);overflow:auto}.pivot{border-collapse:separate;border-spacing:0;font-size:13px}.pivot th,.pivot td{border-bottom:1px solid var(--line);white-space:nowrap;padding:7px 10px}.pivot td{text-align:right;font-variant-numeric:tabular-nums}.pivot thead th{z-index:2;background:var(--card-solid);vertical-align:bottom;position:sticky;top:0}.pivot .col{text-align:right;min-width:92px}.pivot .col.wide{min-width:176px}.pivot .col b{font-variant-numeric:tabular-nums;font:600 14px/1.2 Fredoka,sans-serif;display:block}.pivot .col small{color:var(--dim);font-size:11px;font-weight:600;display:block}.pivot .col.weekend b{color:var(--accent)}.pivot .col.today b,.pivot .col.today small{color:var(--warn)}.pivot .pin{z-index:1;background:var(--card-solid);position:sticky}.pivot .pin.metric{text-align:left;min-width:210px;font-weight:600;left:0}.pivot .pin.total{text-align:right;min-width:110px;box-shadow:inset -2px 0 0 var(--line-2);font-weight:700;left:210px}.pivot thead .pin{z-index:3}.pivot thead .pin.metric{color:var(--accent);font:600 15px Fredoka,sans-serif}.pivot thead .pin.total{color:var(--dim);text-transform:uppercase;letter-spacing:.6px;font-size:12px}.pivot tr.grp th.pin.metric{color:var(--accent);text-transform:uppercase;letter-spacing:.8px;padding-top:14px;font-size:11.5px}.pivot tr.grp td{border-bottom-color:#0000}.pivot tr.metric-row th.pin.metric{padding-left:20px;font-weight:500}.pivot td.strong{font-weight:700}.pivot .avg-mark{font-size:10.5px;font-weight:500}.pivot-notes{color:var(--muted);margin:14px 0 0;padding-left:18px;font-size:12.5px;line-height:1.55}.pivot-notes b{color:var(--ink);font-weight:600}@media (width<=760px){.pivot .pin.metric{white-space:normal;min-width:122px;max-width:122px;padding-right:6px}.pivot tr.metric-row th.pin.metric{padding-left:10px}.pivot .pin.total{min-width:78px;padding-left:4px;left:122px}.pivot .col{min-width:86px}}.pivot{--zebra:color-mix(in srgb, var(--ink) 5%, var(--card-solid));--row:color-mix(in srgb, #fffd02 14%, var(--card-solid));--colh:color-mix(in srgb, #4fb3ff 20%, var(--card-solid));--cross:color-mix(in srgb, #fffd02 24%, color-mix(in srgb, #4fb3ff 26%, var(--card-solid)))}.pivot tr.zebra>td,.pivot tr.zebra>th{background-color:var(--zebra)}.pivot tr.hl-row>td,.pivot tr.hl-row>th{background-color:var(--row)}.pivot tr>td.hl-col,.pivot tr>th.col.hl-col{background-color:var(--colh)}.pivot tr>td.cross{background-color:var(--cross);font-weight:700;box-shadow:inset 0 0 0 2px #fffd02}.pivot tr.hl-row th.pin.metric{box-shadow:inset 4px 0 #fffd02}.pivot th.col.hl-col{box-shadow:inset 0 -3px #4fb3ff}.pivot td{cursor:pointer}.pivot td.running{color:var(--dim);font-style:italic}.pivot td.flag{font-weight:700;position:relative}.pivot td.flag:after{content:"";border-top:7px solid;border-left:7px solid #0000;width:0;height:0;position:absolute;top:3px;right:3px}.pivot td.flag.bad{color:var(--bad);background-image:linear-gradient(color-mix(in srgb, var(--bad) 24%, transparent), color-mix(in srgb, var(--bad) 24%, transparent))}.pivot td.flag.good{color:var(--good);background-image:linear-gradient(color-mix(in srgb, var(--good) 20%, transparent), color-mix(in srgb, var(--good) 20%, transparent))}.pivot td.flag.watch{color:var(--warn);background-image:linear-gradient(color-mix(in srgb, var(--warn) 22%, transparent), color-mix(in srgb, var(--warn) 22%, transparent))}.flags{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:10px;display:flex}.flags.none{color:var(--muted);font-size:13px}.flags-title{text-transform:uppercase;letter-spacing:.8px;color:var(--muted);margin-right:2px;font-size:12px;font-weight:700}.flag-chip{border:1px solid var(--line-2);background:var(--card);text-align:left;border-radius:10px;align-items:center;gap:6px;max-width:100%;padding:5px 10px;font-size:12.5px;display:inline-flex}.flag-chip b{white-space:nowrap;font-weight:700}.flag-chip.bad{border-color:color-mix(in srgb, var(--bad) 60%, transparent)}.flag-chip.bad svg{color:var(--bad)}.flag-chip.good{border-color:color-mix(in srgb, var(--good) 55%, transparent)}.flag-chip.good svg{color:var(--good)}.flag-chip.watch{border-color:color-mix(in srgb, var(--warn) 55%, transparent)}.flag-chip.watch svg{color:var(--warn)}.flag-chip:hover{background:var(--card-2)}.pivot-legend{flex-wrap:wrap;gap:6px 16px;margin-bottom:10px;font-size:12px;display:flex}.pivot-legend span{align-items:center;gap:5px;display:inline-flex}.pivot-legend .sw{border-radius:3px;width:12px;height:12px;display:inline-block}.sw.bad{background:color-mix(in srgb, var(--bad) 45%, transparent)}.sw.good{background:color-mix(in srgb, var(--good) 45%, transparent)}.sw.watch{background:color-mix(in srgb, var(--warn) 45%, transparent)}.sw.row{opacity:.7;background:#fffd02}.sw.col{opacity:.8;background:#4fb3ff}.linkish{color:var(--accent);cursor:pointer;font:inherit;background:0 0;border:0;padding:0;text-decoration:underline}.rich-box{border:1px solid var(--line-2);background:var(--card-solid);border-radius:14px;overflow:hidden}.rich-box:focus-within{border-color:var(--g);box-shadow:0 0 0 3px var(--g-soft)}.rich-box.off{opacity:.7}.rich-bar{border-bottom:1px solid var(--line);background:var(--card);z-index:1;flex-wrap:wrap;align-items:center;gap:2px;padding:6px;display:flex;position:sticky;top:0}.rich-btn{width:32px;height:30px;color:var(--muted);background:0 0;border:0;border-radius:8px;place-items:center;display:grid}.rich-btn:hover:not(:disabled){background:var(--card-2);color:var(--ink)}.rich-btn.on{background:var(--g-soft);color:var(--g-bright)}.rich-btn:disabled{opacity:.35}.rich-bar .sep{background:var(--line-2);width:1px;height:18px;margin:0 4px}.rich-area{outline:none;min-height:320px;max-height:60vh;padding:14px 16px;overflow-y:auto}.rich-area.small{min-height:120px;max-height:40vh}.rich-area,.rich-view{overflow-wrap:anywhere;font-size:14.5px;line-height:1.6}.rich-area>:first-child,.rich-view>:first-child{margin-top:0}.rich-area>:last-child,.rich-view>:last-child{margin-bottom:0}.rich-area p,.rich-view p{margin:0 0 10px}.rich-area h2,.rich-view h2{margin:18px 0 8px;font-size:19px}.rich-area h3,.rich-view h3{margin:16px 0 6px;font-size:16px}.rich-area ul,.rich-area ol,.rich-view ul,.rich-view ol{margin:0 0 10px;padding-left:22px}.rich-area li p,.rich-view li p{margin:0 0 4px}.rich-area a,.rich-view a{color:var(--g-bright);text-decoration:underline}.rich-area blockquote,.rich-view blockquote{border-left:3px solid var(--g);background:var(--card);border-radius:0 10px 10px 0;margin:0 0 10px;padding:6px 12px}.rich-area hr,.rich-view hr{border:0;border-top:1px solid var(--line-2);margin:14px 0}
