.ad-app{--ad-bg: var(--sb-web-bg);--ad-surface: var(--sb-web-surface);--ad-border: var(--sb-web-border);--ad-text: var(--sb-web-text);--ad-muted: var(--sb-web-text-secondary);--ad-accent: var(--sb-web-accent);--ad-accent-soft: color-mix(in srgb, var(--sb-web-accent) 16%, var(--sb-web-surface));--ad-ok: var(--sb-web-success);--ad-ok-soft: color-mix(in srgb, var(--sb-web-success) 16%, var(--sb-web-surface));--ad-warn: var(--sb-web-warning);--ad-warn-soft: color-mix(in srgb, var(--sb-web-warning) 16%, var(--sb-web-surface));--ad-err: var(--sb-web-error);--ad-err-soft: color-mix(in srgb, var(--sb-web-error) 14%, var(--sb-web-surface));--ad-off: var(--sb-web-text-secondary);--ad-off-soft: color-mix(in srgb, var(--sb-web-text-secondary) 14%, var(--sb-web-surface));--ad-head: color-mix(in srgb, var(--sb-web-text) 4%, var(--sb-web-surface));display:flex;min-height:100vh;background:var(--ad-bg);color:var(--ad-text);font-family:system-ui,sans-serif}.ad-app *,.ad-app *:before,.ad-app *:after{box-sizing:border-box}.ad-side{width:220px;flex-shrink:0;background:var(--ad-surface);border-right:1px solid var(--ad-border);padding:16px 12px;display:flex;flex-direction:column;gap:2px;position:sticky;top:0;height:100vh;overflow-y:auto}.ad-brand{font-weight:800;font-size:16px;padding:4px 10px 14px;display:flex;gap:8px;align-items:center}.ad-brand i{width:22px;height:22px;border-radius:6px;background:var(--ad-accent);display:inline-block}.ad-grp{font-size:11px;font-weight:700;color:var(--ad-muted);text-transform:uppercase;letter-spacing:.05em;padding:12px 10px 4px}.ad-nav{padding:8px 10px;border-radius:8px;font-size:14px;display:flex;justify-content:space-between;align-items:center;gap:8px;color:var(--ad-text);text-decoration:none}.ad-nav:hover{background:var(--ad-head)}.ad-nav.active{background:var(--ad-accent-soft);font-weight:700}.ad-badge{font-size:11px;background:var(--ad-err-soft);color:var(--ad-err);border-radius:10px;padding:1px 7px;font-weight:700}.ad-signout{margin-top:auto;background:none;border:0;text-align:left;font:inherit;font-size:13px;color:var(--ad-muted);padding:8px 10px;cursor:pointer}.ad-signout:hover{color:var(--ad-text)}.ad-body{flex:1;min-width:0;display:flex;flex-direction:column}.ad-topbar,.ad-backdrop{display:none}.ad-main{flex:1;min-width:0;padding:24px 28px}@media (max-width: 800px){.ad-app{flex-direction:column}.ad-topbar{display:flex;align-items:center;gap:10px;padding:10px 14px;background:var(--ad-surface);border-bottom:1px solid var(--ad-border);font-weight:700;position:sticky;top:0;z-index:20}.ad-menu-btn{background:none;border:1px solid var(--ad-border);border-radius:8px;font-size:18px;line-height:1;padding:6px 10px;color:var(--ad-text);cursor:pointer}.ad-side{position:fixed;top:0;left:0;bottom:0;height:auto;width:250px;max-width:85vw;z-index:40;transform:translate(-100%);transition:transform .2s ease}.ad-side.open{transform:translate(0)}.ad-backdrop.open{display:block;position:fixed;top:0;right:0;bottom:0;left:0;background:#00000059;z-index:30}.ad-main{padding:14px 12px}}.ad-ph{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:16px;flex-wrap:wrap}.ad-ph h1{margin:0;font-size:22px}.ad-ph .ad-count{font-size:14px;color:var(--ad-muted);font-weight:500;margin-left:6px}.ad-ph-right{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.ad-status{font-size:12px;font-weight:600;color:var(--ad-muted)}.ad-status.saved{color:var(--ad-ok)}.ad-status.error{color:var(--ad-err)}.ad-meta{font-size:13px;color:var(--ad-muted)}.ad-card{background:var(--ad-surface);border:1px solid var(--ad-border);border-radius:12px;padding:14px;min-width:0}.ad-card>h2{margin:0 0 10px;font-size:15px;display:flex;justify-content:space-between;gap:8px}.ad-card>h2 a{font-size:12px;color:var(--ad-accent);font-weight:600;text-decoration:none}.ad-stack{display:grid;gap:12px;min-width:0}.ad-cols{display:grid;grid-template-columns:1.3fr 1fr;gap:12px}.ad-cols.even{grid-template-columns:1fr 1fr}.ad-cols>*{min-width:0}.ad-kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:12px}.ad-kpi{background:var(--ad-surface);border:1px solid var(--ad-border);border-radius:12px;padding:14px;min-width:0}.ad-kpi .n{font-size:28px;font-weight:800}.ad-kpi .l{font-size:13px;color:var(--ad-muted)}.ad-kpi .d{font-size:12px;margin-top:4px;color:var(--ad-muted)}.ad-kpi .d.up{color:var(--ad-ok)}.ad-kpi .d.down{color:var(--ad-err)}@media (max-width: 800px){.ad-kpis{grid-template-columns:1fr 1fr;gap:8px}.ad-kpi{padding:10px}.ad-kpi .n{font-size:24px}.ad-cols,.ad-cols.even{grid-template-columns:1fr}}.ad-bars{display:flex;align-items:flex-end;gap:6px;height:110px;padding-top:6px}.ad-bars div{flex:1;background:var(--ad-accent);border-radius:4px 4px 0 0;opacity:.8;min-height:2px}.ad-days{display:flex;gap:6px;font-size:10px;color:var(--ad-muted)}.ad-days span{flex:1;text-align:center}.ad-st{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:8px 0;border-bottom:1px solid var(--ad-border);font-size:14px;color:var(--ad-text);text-decoration:none}.ad-st:last-child{border:0}.ad-row{display:flex;gap:10px;font-size:13px;padding:7px 0;border-bottom:1px solid var(--ad-border)}.ad-row:last-child{border:0}.ad-row b{min-width:84px;color:var(--ad-muted);font-weight:500}.ad-row span{min-width:0;overflow-wrap:anywhere}.ad-pill{font-size:12px;font-weight:700;border-radius:10px;padding:2px 9px;white-space:nowrap;display:inline-block}.ad-pill.on{background:var(--ad-ok-soft);color:var(--ad-ok)}.ad-pill.off{background:var(--ad-off-soft);color:var(--ad-off)}.ad-pill.warn{background:var(--ad-warn-soft);color:var(--ad-warn)}.ad-chips{display:flex;gap:6px;flex-wrap:wrap;align-items:center}.ad-chip{border:1px solid var(--ad-border);background:var(--ad-surface);color:var(--ad-text);border-radius:16px;padding:6px 12px;font-size:13px;cursor:pointer;font-family:inherit}.ad-chip.on{background:var(--ad-text);color:var(--ad-surface);border-color:var(--ad-text)}.ad-btn{background:var(--ad-accent);color:var(--sb-web-surface);border:0;border-radius:8px;padding:8px 14px;font-weight:700;font-size:13px;cursor:pointer;font-family:inherit}.ad-btn.ghost{background:var(--ad-surface);color:var(--ad-text);border:1px solid var(--ad-border);font-weight:600}.ad-btn:disabled{opacity:.5;cursor:default}.ad-input,.ad-app select,.ad-app input[type=text],.ad-app input[type=email],.ad-app input:not([type]){font:inherit;font-size:14px;color:var(--ad-text);background:var(--ad-surface);border:1px solid var(--ad-border);border-radius:8px;padding:6px 10px;max-width:100%}.ad-error{color:var(--ad-err);margin:0;font-size:14px}.ad-muted{color:var(--ad-muted)}.ad-note{margin:0 0 12px;color:var(--ad-muted);font-size:13px}.ad-toggle{width:40px;height:22px;border-radius:11px;border:0;padding:0;position:relative;flex-shrink:0;cursor:pointer;background:color-mix(in srgb,var(--sb-web-text-secondary) 40%,var(--sb-web-surface))}.ad-toggle:after{content:"";position:absolute;top:3px;left:3px;width:16px;height:16px;border-radius:50%;background:var(--sb-web-surface);box-shadow:0 1px 2px #0000004d;transition:left .15s}.ad-toggle[aria-checked=true]{background:var(--ad-ok)}.ad-toggle[aria-checked=true]:after{left:21px}.ad-toggle:focus-visible{outline:2px solid var(--ad-accent);outline-offset:2px}.ad-toggle:disabled{opacity:.5;cursor:default}.ad-sw{display:flex;gap:14px;align-items:flex-start;padding:12px 0;border-bottom:1px solid var(--ad-border)}.ad-sw:last-child{border:0}.ad-sw .tx{flex:1;min-width:0}.ad-sw .tx b{display:block;font-size:14px}.ad-sw .tx span{font-size:13px;color:var(--ad-muted)}.ad-plat{display:flex;gap:8px;align-items:center;flex:none}.ad-plat-head{display:flex;justify-content:flex-end;gap:8px;font-size:11px;color:var(--ad-muted);padding-bottom:4px;border-bottom:1px solid var(--ad-border)}.ad-plat-head span,.ad-master-plat span{width:44px;text-align:center}.ad-master-plat{display:flex;gap:12px;margin-left:auto;align-items:center;font-size:12px}.ad-master-plat label{display:flex;flex-direction:column;align-items:center;gap:4px;color:var(--ad-muted)}.ad-sw.dim{opacity:.55}.ad-master{display:flex;gap:14px;align-items:center;background:var(--ad-warn-soft);border:1px solid color-mix(in srgb,var(--ad-warn) 35%,var(--ad-surface));border-radius:12px;padding:14px;margin-bottom:12px}.ad-master b{font-size:15px;display:block}.ad-master span{font-size:13px;color:var(--ad-muted);display:block}.ad-field{display:flex;gap:14px;align-items:center;justify-content:space-between;padding:12px 0;border-bottom:1px solid var(--ad-border)}.ad-field:last-child{border:0}.ad-field .tx{flex:1;min-width:0}.ad-field .tx b{display:block;font-size:14px}.ad-field .tx span{font-size:13px;color:var(--ad-muted)}.ad-field input{width:90px}@media (max-width: 800px){.ad-field{flex-wrap:wrap}}.ad-grant{display:flex;gap:8px;flex-wrap:wrap;align-items:flex-start;padding:10px 0;border-bottom:1px solid var(--ad-border)}.ad-grant:last-child{border:0}.ad-tools{display:flex;gap:8px;margin-bottom:10px;flex-wrap:wrap;align-items:center}.ad-search{flex:1;min-width:200px;max-width:100%}.ad-tablewrap{overflow-x:auto;max-width:100%;border:1px solid var(--ad-border);border-radius:12px;background:var(--ad-surface)}.ad-table{width:100%;border-collapse:collapse;font-size:13px}.ad-table th{background:var(--ad-head);text-align:left;padding:9px 10px;color:var(--ad-muted);font-weight:600;white-space:nowrap}.ad-table th.sorted{color:var(--ad-text)}.ad-table th button{all:unset;cursor:pointer}.ad-table th button:focus-visible{outline:2px solid var(--ad-accent)}.ad-table td{padding:9px 10px;border-top:1px solid var(--ad-border);vertical-align:top}.ad-foot{display:flex;justify-content:space-between;align-items:center;gap:8px;flex-wrap:wrap;font-size:13px;color:var(--ad-muted);margin-top:8px}.ad-pager{display:flex;gap:4px;align-items:center}.ad-pager button{border:1px solid var(--ad-border);background:var(--ad-surface);color:var(--ad-text);border-radius:6px;padding:3px 9px;cursor:pointer;font:inherit;font-size:13px}.ad-pager button[aria-current=page]{background:var(--ad-text);color:var(--ad-surface)}.ad-pager button:disabled{opacity:.45;cursor:default}.ad-cards{display:grid;gap:8px}.ad-mcard{background:var(--ad-surface);border:1px solid var(--ad-border);border-radius:12px;padding:10px 12px;font-size:13px;min-width:0;overflow-wrap:anywhere}.ad-mcard .line{display:flex;gap:8px;margin-top:4px}.ad-mcard .line>span:first-child{color:var(--ad-muted);flex-shrink:0}.ad-empty{color:var(--ad-muted);padding:16px 0}.ad-app form,.ad-app .ad-panel,.ad-app table{max-width:100%}.ad-pbars{display:flex;align-items:flex-end;gap:6px;height:120px;padding-top:6px}.ad-pbars .pair{flex:1;min-width:0;height:100%;display:flex;align-items:flex-end;gap:2px}.ad-pbars .pair i{flex:1;display:block;border-radius:3px 3px 0 0;min-height:2px}.ad-pbars .a,.ad-leg .a{background:var(--ad-accent)}.ad-pbars .n,.ad-leg .n{background:color-mix(in srgb,var(--ad-accent) 38%,var(--ad-surface))}.ad-pdays{display:flex;gap:6px;font-size:10px;color:var(--ad-muted)}.ad-pdays span{flex:1;min-width:0;text-align:center;line-height:1.3}.ad-pdays b{display:block;color:var(--ad-text);font-weight:600}.ad-pdays.dense span:not(:nth-child(5n+1)){visibility:hidden}.ad-leg{display:flex;gap:14px;font-size:12px;color:var(--ad-muted);margin-bottom:4px}.ad-leg i{display:inline-block;width:10px;height:10px;border-radius:3px;margin-right:5px}.ad-table tr.ad-total td{font-weight:800}.ad-table tr.ad-clickable{cursor:pointer}.ad-table tr.ad-clickable:hover td{background:var(--ad-head)}.ad-sublist{margin:0;padding:4px 0 4px 16px;font-size:12px;color:var(--ad-muted)}
