@import url('https://fonts.googleapis.com/css2?family=IBM+Plex+Mono:wght@500&family=Noto+Sans+KR:wght@400;500;600;700&display=swap');
:root{--bg:#f4f6f3;--panel:#fff;--ink:#17221f;--muted:#75817d;--line:#e3e8e4;--nav:#0d1b18;--nav2:#142622;--green:#1c7158;--mint:#dff2e9;--orange:#e97a3f;--red:#d94a4a;--blue:#3d6fd8;--shadow:0 10px 30px rgba(16,39,32,.07)}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font:14px/1.5 'Noto Sans KR',sans-serif}.app-shell{display:grid;grid-template-columns:260px 1fr;min-height:100vh}.sidebar{position:sticky;top:0;height:100vh;background:var(--nav);color:#dce8e3;padding:25px 18px;overflow:auto}.brand{height:56px;display:flex;align-items:center;gap:12px;padding:0 8px 22px;border-bottom:1px solid #ffffff13}.brand-mark{display:grid;place-items:center;width:35px;height:35px;border:1px solid #73bca2;border-radius:10px;color:#9dd8c3;font:500 19px 'IBM Plex Mono'}.brand strong,.brand small{display:block}.brand strong{font:500 17px 'IBM Plex Mono';letter-spacing:.2em}.brand small{color:#718d83;font:8px 'IBM Plex Mono';letter-spacing:.15em}.nav-group{margin-top:23px}.nav-group>p{margin:0 12px 8px;color:#547168;font:9px 'IBM Plex Mono';letter-spacing:.18em}.nav-item,.nav-parent>button{width:100%;height:42px;display:flex;align-items:center;gap:11px;border:0;border-radius:8px;padding:0 12px;background:transparent;color:#b4c6c0;text-decoration:none;font:500 13px 'Noto Sans KR';cursor:pointer}.nav-item>span,.nav-parent>button>span{width:19px;color:#78998e;font-size:17px}.nav-parent>button i{margin-left:auto;color:#66877c;font-style:normal;transition:.2s}.nav-parent.open>button i{transform:rotate(180deg)}.nav-item:hover,.nav-parent>button:hover,.nav-item.active{background:#18302a;color:#fff}.nav-item.active{box-shadow:inset 3px 0 #5cb897}.nav-parent>div{display:none;padding:3px 0 5px 41px}.nav-parent.open>div{display:grid}.nav-parent>div a{padding:7px 10px;border-left:1px solid #29433b;color:#829b92;text-decoration:none;font-size:12px}.nav-parent>div a:hover,.nav-parent>div a.active{color:#8de0c2;border-left-color:#67c5a4}.sidebar-foot{position:sticky;bottom:-1px;margin-top:30px;display:flex;gap:10px;align-items:center;padding:15px 12px;border:1px solid #264139;border-radius:10px;background:#10221e}.status-dot{width:8px;height:8px;border-radius:50%;background:#61ce9f;box-shadow:0 0 0 4px #61ce9f1c}.sidebar-foot b,.sidebar-foot small{display:block}.sidebar-foot b{font-size:11px}.sidebar-foot small{color:#69847b;font-size:9px}.main{min-width:0}.topbar{height:74px;display:flex;align-items:center;justify-content:space-between;padding:0 34px;border-bottom:1px solid var(--line);background:#ffffffdd;backdrop-filter:blur(12px);position:sticky;top:0;z-index:10}.breadcrumb{font-weight:600}.breadcrumb span{padding:0 8px;color:#bcc4c0}.top-actions{display:flex;align-items:center;gap:10px}.global-search{width:250px;height:38px;display:flex;align-items:center;gap:8px;padding:0 10px;border:1px solid var(--line);border-radius:8px;background:#f8faf8}.global-search input{min-width:0;flex:1;border:0;outline:0;background:transparent;font:12px inherit}.global-search kbd{padding:2px 5px;border:1px solid #d7deda;border-radius:4px;color:#8d9793;font:9px 'IBM Plex Mono'}.icon-button{position:relative;width:38px;height:38px;border:1px solid var(--line);border-radius:8px;background:#fff}.icon-button i{position:absolute;right:-3px;top:-5px;display:grid;place-items:center;width:16px;height:16px;border-radius:50%;background:var(--orange);color:#fff;font:8px sans-serif}.profile{height:42px;display:flex;align-items:center;gap:9px;border:0;background:transparent;text-align:left}.profile>span{display:grid;place-items:center;width:34px;height:34px;border-radius:9px;background:#d8ebe4;color:#19644e;font-weight:700}.profile b,.profile small{display:block}.profile b{font-size:11px}.profile small{color:var(--muted);font-size:9px}.profile em{font-style:normal;color:#8e9894}.menu-toggle{display:none;border:0;background:transparent;font-size:20px}.content{padding:30px 34px 60px}.page-head{display:flex;justify-content:space-between;gap:20px;align-items:flex-start;margin-bottom:24px}.page-head h1{margin:0;font-size:26px;letter-spacing:-.04em}.page-head p{margin:7px 0 0;color:var(--muted);font-size:12px}.actions{display:flex;gap:8px}.btn{height:38px;padding:0 15px;border:1px solid var(--line);border-radius:7px;background:#fff;color:var(--ink);font:600 12px inherit;cursor:pointer}.btn.primary{border-color:var(--green);background:var(--green);color:#fff}.btn.danger{border-color:#f0cccc;color:var(--red);background:#fff8f8}.grid{display:grid;gap:16px}.grid.four{grid-template-columns:repeat(4,1fr)}.grid.three{grid-template-columns:repeat(3,1fr)}.grid.two{grid-template-columns:repeat(2,1fr)}.card{padding:20px;border:1px solid var(--line);border-radius:12px;background:var(--panel);box-shadow:var(--shadow)}.metric .metric-top{display:flex;justify-content:space-between;color:var(--muted);font-size:11px}.metric .metric-top i{display:grid;place-items:center;width:30px;height:30px;border-radius:8px;background:var(--mint);color:var(--green);font-style:normal}.metric strong{display:block;margin:16px 0 3px;font:600 27px 'IBM Plex Mono'}.metric small{color:#83908b}.trend.up{color:var(--green)}.trend.down{color:var(--red)}.section{margin-top:18px}.section-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:15px}.section-head h2{margin:0;font-size:16px}.section-head a{color:var(--green);font-size:11px;text-decoration:none}.table-card{padding:0;overflow:hidden}.toolbar{display:flex;align-items:center;gap:8px;padding:15px 18px;border-bottom:1px solid var(--line)}.toolbar .search{height:36px;flex:1;max-width:280px;padding:0 12px;border:1px solid var(--line);border-radius:7px}.filter{height:36px;padding:0 11px;border:1px solid var(--line);border-radius:7px;background:#fff;color:#5f6b67}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse;white-space:nowrap}th,td{padding:13px 18px;border-bottom:1px solid #eef1ef;text-align:left;font-size:11px}th{background:#fafbfa;color:#85908c;font-weight:600}td strong{font-size:12px}.avatar{display:inline-grid;place-items:center;width:30px;height:30px;margin-right:8px;border-radius:8px;background:#e5eee9;color:#356b59}.badge{display:inline-block;padding:4px 8px;border-radius:20px;background:#edf1ef;color:#5e6b66;font-size:9px}.badge.green{background:#e2f4ec;color:#197053}.badge.orange{background:#fff0e8;color:#b95b2c}.badge.red{background:#fdeaea;color:#bd4040}.badge.blue{background:#e8efff;color:#315fc0}.pagination{display:flex;justify-content:space-between;align-items:center;padding:14px 18px;color:var(--muted);font-size:10px}.mini-chart{height:180px;display:flex;align-items:flex-end;gap:9px;padding-top:25px}.mini-chart i{flex:1;min-width:8px;border-radius:4px 4px 0 0;background:#d9ebe4;position:relative}.mini-chart i.accent{background:var(--green)}.donut{width:145px;aspect-ratio:1;border-radius:50%;background:conic-gradient(var(--green) 0 56%,#e6a75f 56% 78%,#7195d7 78% 91%,#e9ecea 91%);display:grid;place-items:center;margin:18px auto}.donut:after{content:'100%';display:grid;place-items:center;width:90px;aspect-ratio:1;border-radius:50%;background:#fff;font:600 16px 'IBM Plex Mono'}.list{display:grid}.list-row{display:flex;align-items:center;justify-content:space-between;padding:13px 0;border-bottom:1px solid #edf0ee}.list-row:last-child{border:0}.list-row b,.list-row small{display:block}.list-row small{margin-top:3px;color:var(--muted);font-size:10px}.rank{width:24px;color:var(--green);font:600 12px 'IBM Plex Mono'}.spark{color:var(--green);letter-spacing:-2px}.progress{height:6px;overflow:hidden;border-radius:4px;background:#edf0ee}.progress i{display:block;height:100%;border-radius:4px;background:var(--green)}.check-row{display:flex;gap:12px;padding:15px;border:1px solid var(--line);border-radius:9px;background:#fff}.check-row.done{opacity:.55}.check-row.done b{text-decoration:line-through}.check-row input{accent-color:var(--green)}.check-row b,.check-row small{display:block}.check-row small{margin-top:4px;color:var(--muted);font-size:10px}.score{display:grid;place-items:center;width:150px;height:150px;margin:auto;border-radius:50%;background:conic-gradient(var(--green) 0 82%,#e9eeeb 82%);position:relative}.score:after{content:'';position:absolute;width:112px;height:112px;border-radius:50%;background:#fff}.score strong{z-index:1;font:600 28px 'IBM Plex Mono'}.score span{z-index:1;margin-top:-52px;color:var(--muted);font-size:9px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.field{display:grid;gap:7px}.field label{font-size:11px;font-weight:600}.field input,.field select,.field textarea{width:100%;border:1px solid var(--line);border-radius:7px;padding:10px 11px;background:#fff;font:12px inherit}.field textarea{min-height:92px;resize:vertical}.field.full{grid-column:1/-1}.setting-row{display:flex;align-items:center;justify-content:space-between;padding:15px 0;border-bottom:1px solid var(--line)}.setting-row b,.setting-row small{display:block}.setting-row small{color:var(--muted);font-size:10px}.toggle{width:40px;height:22px;padding:3px;border:0;border-radius:20px;background:#ccd4d0;cursor:pointer}.toggle:after{content:'';display:block;width:16px;height:16px;border-radius:50%;background:#fff;transition:.2s}.toggle.on{background:var(--green)}.toggle.on:after{transform:translateX(18px)}.tabs{display:flex;gap:4px;padding:4px;border-radius:8px;background:#edf0ee;width:max-content}.tabs button{padding:7px 12px;border:0;border-radius:6px;background:transparent;color:#697570;font:11px inherit}.tabs button.active{background:#fff;color:var(--ink);box-shadow:0 2px 7px #1b3f3420}.heatmap{display:grid;grid-template-columns:repeat(24,1fr);gap:3px}.heatmap i{height:28px;border-radius:3px;background:#e9efec}.heatmap i:nth-child(3n){background:#b8dccf}.heatmap i:nth-child(5n){background:#67ad94}.heatmap i:nth-child(11n){background:#26765b}.notice-box{padding:14px 16px;border-left:3px solid var(--orange);background:#fff5ee;color:#8c512e;font-size:11px}.page-loading,.empty-state{min-height:55vh;display:grid;place-items:center;align-content:center;gap:12px;color:var(--muted)}.page-loading i{width:24px;height:24px;border:2px solid #d9e5e0;border-top-color:var(--green);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.toast{position:fixed;right:25px;bottom:25px;z-index:99;padding:13px 18px;border-radius:9px;background:#132a24;color:#fff;box-shadow:var(--shadow);opacity:0;transform:translateY(15px);transition:.2s;pointer-events:none;font-size:12px}.toast.show{opacity:1;transform:none}@media(max-width:1100px){.grid.four{grid-template-columns:repeat(2,1fr)}.grid.three{grid-template-columns:1fr 1fr}.global-search{display:none}}@media(max-width:760px){.app-shell{grid-template-columns:1fr}.sidebar{position:fixed;left:-280px;z-index:30;width:260px;transition:.2s}.sidebar.mobile-open{left:0}.menu-toggle{display:block}.topbar{padding:0 18px}.breadcrumb{display:none}.content{padding:22px 18px}.profile div,.profile em{display:none}.grid.four,.grid.three,.grid.two,.form-grid{grid-template-columns:1fr}.page-head{display:block}.actions{margin-top:15px}.field.full{grid-column:auto}}

/* Compact light admin layout */
:root{--bg:#f7f8fc;--panel:#fff;--ink:#172033;--muted:#7c879d;--line:#e2e7f0;--nav:#fff;--nav2:#f7f8fc;--green:#10b981;--mint:#e9fbf4;--blue:#5b52f2;--shadow:none}
.app-shell{grid-template-columns:234px minmax(0,1fr)}
.sidebar{padding:0 12px 18px;background:#fff;color:var(--ink);border-right:1px solid var(--line)}
.brand{height:56px;padding:0 4px;border-bottom:1px solid var(--line)}
.brand-mark{width:36px;height:36px;border:0;border-radius:10px;background:#6257ed;color:#fff;box-shadow:0 5px 12px rgba(98,87,237,.22)}
.brand strong{font:700 15px 'Noto Sans KR';letter-spacing:0}.brand small{margin-top:1px;color:#5b52f2;font:700 9px 'Noto Sans KR';letter-spacing:.08em}
.nav-group{margin-top:4px}.nav-group>p{display:none}
.nav-item,.nav-parent>button{height:44px;border-radius:9px;padding:0 10px;color:#26334b;font-size:13px;font-weight:600}
.nav-item>span,.nav-parent>button>span{color:#91a0b8;font-size:15px}
.nav-item:hover,.nav-parent>button:hover{background:#f5f6fa;color:#252e42}
.nav-item.active{background:#fff;color:#161d2c;box-shadow:inset 0 0 0 2px #171717}
.nav-item.active>span{color:#5b52f2}.nav-parent>button i{color:#9ba7b9}
.nav-parent>div{padding:2px 0 5px 36px}.nav-parent>div a{border-left-color:#e3e7ef;color:#6f7b91}.nav-parent>div a:hover,.nav-parent>div a.active{color:#5b52f2;border-left-color:#5b52f2}
.sidebar-foot{display:none}
.topbar{height:56px;padding:0 22px;background:#fff;border-bottom:1px solid var(--line);backdrop-filter:none}
.breadcrumb{font-size:12px}.breadcrumb span{color:#aab3c3}
.top-actions{gap:8px}.global-search{width:256px;height:36px;border:0;background:#f0f3f8}.global-search kbd{display:none}
.system-pill{display:inline-flex;align-items:center;gap:6px;height:30px;padding:0 10px;border:1px solid #8ee5c1;border-radius:16px;background:#effdf7;color:#087a56;font-size:10px;font-weight:700;white-space:nowrap}.system-pill i{width:6px;height:6px;border-radius:50%;background:#10b981}
.icon-button{width:34px;height:34px;border:0;background:#fff}.profile{height:36px}.profile>span{width:31px;height:31px;border-radius:8px;background:#eef0ff;color:#5146de}.profile small{display:none}
.site-view{display:inline-flex;align-items:center;height:34px;padding:0 12px;border-radius:8px;background:#eef0ff;color:#5146de;text-decoration:none;font-size:11px;font-weight:700;white-space:nowrap}
.content{padding:26px 32px 44px}.page-head{align-items:center;margin-bottom:20px}.page-head h1{font-size:22px;letter-spacing:-.035em}.page-head p{margin-top:5px;font-size:11px}
.card{padding:16px 18px;border-radius:14px;box-shadow:none}.grid{gap:12px}.section{margin-top:14px}
.dashboard-metrics{grid-template-columns:repeat(6,minmax(0,1fr))!important}
.metric .metric-top{font-size:10px}.metric .metric-top i{width:28px;height:28px;border-radius:8px;background:#eff1ff;color:#5b52f2}.metric strong{margin:12px 0 2px;font-size:23px}.metric small{font-size:9px}
.section-head{margin-bottom:10px}.section-head h2{font-size:14px}.list-row{padding:10px 0;font-size:12px}.list-row small{font-size:9px}
.badge.green{background:#e8fbf3;color:#087a56}.btn.primary{border-color:#5b52f2;background:#5b52f2}
@media(max-width:1280px){.dashboard-metrics{grid-template-columns:repeat(3,minmax(0,1fr))!important}.system-pill{display:none}}
@media(max-width:900px){.profile div,.profile em,.site-view{display:none}}
@media(max-width:760px){.app-shell{grid-template-columns:1fr}.sidebar{left:-250px;width:234px}.topbar{padding:0 14px}.content{padding:20px 16px}.dashboard-metrics{grid-template-columns:repeat(2,minmax(0,1fr))!important}.dashboard-panels{grid-template-columns:1fr!important}}

/* Dashboard first page */
.dashboard-kpis{grid-template-columns:repeat(4,minmax(0,1fr))!important}
.dashboard-overview{grid-template-columns:minmax(0,1.05fr) minmax(360px,.95fr)}
.dashboard-chart-card,.traffic-card{min-height:278px}
.period-tabs{display:flex;gap:2px;padding:4px;border-radius:9px;background:#eef1ef;color:#7a8581;font-size:10px}
.period-tabs span{display:grid;place-items:center;height:30px;padding:0 12px;border-radius:7px}
.period-tabs .active{background:#fff;color:#202a27;box-shadow:0 1px 5px rgba(27,48,41,.12)}
.visit-trend{height:205px;padding-top:4px}
.trend-svg{display:block;width:100%;height:100%;overflow:visible}
.trend-bar{fill:#d7e9e2}.trend-bar.current{fill:#1f795e}
.trend-line{fill:none;stroke:#ef7339;stroke-width:4;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke}
.trend-point rect{fill:#fff;filter:drop-shadow(0 2px 5px rgba(31,53,45,.13))}
.trend-point circle{fill:#fff;stroke:#ef7339;stroke-width:3;vector-effect:non-scaling-stroke}
.trend-point text{fill:#34413d;text-anchor:middle;font:600 9px 'IBM Plex Mono'}
.trend-point .trend-day{fill:var(--muted);font:500 9px 'Noto Sans KR'}
.traffic-layout{display:grid;grid-template-columns:210px 1fr;gap:26px;align-items:center;min-height:210px}
.traffic-donut{width:145px;aspect-ratio:1;border-radius:50%;display:grid;place-items:center;margin:auto;position:relative;background:#e9ecef}
.traffic-donut:after{content:'';position:absolute;width:86px;aspect-ratio:1;border-radius:50%;background:#fff}
.traffic-donut strong{position:relative;z-index:1;font:600 17px 'IBM Plex Mono'}
.traffic-list{display:grid}
.traffic-row{display:flex;align-items:center;justify-content:space-between;padding:11px 0;border-bottom:1px solid var(--line)}
.traffic-row:last-child{border:0}
.traffic-row>span{position:relative;padding-left:13px}
.traffic-row i{position:absolute;left:0;top:6px;width:7px;height:7px;border-radius:50%}
.traffic-row b,.traffic-row small{display:block}
.traffic-row small{color:var(--muted);font-size:9px}
.traffic-row strong{font-size:11px}
.empty-copy{margin:0;color:var(--muted);font-size:11px}
.dashboard-bottom .card{min-height:245px}
.dashboard-bottom .list-row{padding:16px 0}
.dashboard-bottom .list-row b{font-size:13px}
.dashboard-bottom .list-row>strong{font:600 13px 'IBM Plex Mono'}
@media(max-width:1100px){.dashboard-kpis{grid-template-columns:repeat(2,1fr)!important}.dashboard-overview{grid-template-columns:1fr}.traffic-layout{grid-template-columns:150px 1fr}}
@media(max-width:760px){.dashboard-kpis{grid-template-columns:1fr!important}.traffic-layout{grid-template-columns:1fr}.visit-trend{gap:5px}}

/* Live D1 analytics */
.data-note{color:var(--muted);font-size:10px}.table-section-head{padding:16px 18px 6px}.table-empty{height:88px;text-align:center;color:var(--muted)}
.analytics-actions{align-items:center}.analytics-chart{height:220px;display:flex;align-items:stretch;gap:4px;padding:18px 0 0;border-bottom:1px solid var(--line)}
.analytics-day{min-width:0;flex:1;display:flex;flex-direction:column}.analytics-day>div{height:176px;display:flex;align-items:flex-end;justify-content:center;gap:2px}.analytics-day i{display:block;width:42%;min-width:2px;border-radius:3px 3px 0 0}.analytics-day i.users{background:#5b52f2}.analytics-day i.sessions{background:#9ee4ca}.analytics-day>span{height:24px;padding-top:5px;color:var(--muted);font-size:8px;text-align:center;white-space:nowrap}
.chart-legend{display:flex;justify-content:center;gap:18px;margin-top:13px;color:var(--muted);font-size:10px}.chart-legend i{display:inline-block;width:8px;height:8px;margin-right:5px;border-radius:2px}.chart-legend i.users{background:#5b52f2}.chart-legend i.sessions{background:#9ee4ca}
.dimension-layout{display:grid;grid-template-columns:180px 1fr;align-items:center;gap:22px;min-height:230px}.analytics-donut{width:142px;aspect-ratio:1;margin:auto;border-radius:50%;display:grid;place-items:center;align-content:center;position:relative}.analytics-donut:after{content:'';position:absolute;width:88px;aspect-ratio:1;border-radius:50%;background:#fff}.analytics-donut strong,.analytics-donut small{position:relative;z-index:1}.analytics-donut strong{font:600 18px 'IBM Plex Mono'}.analytics-donut small{color:var(--muted);font-size:9px}.dimension-list{display:grid;gap:10px}.dimension-row{display:grid;grid-template-columns:1fr auto;gap:4px 12px;align-items:end}.dimension-row span{display:flex;justify-content:space-between;gap:10px}.dimension-row b{font-size:11px}.dimension-row small{color:var(--muted);font-size:9px}.dimension-row strong{font:600 11px 'IBM Plex Mono'}.dimension-row>i{grid-column:1/-1;height:4px;border-radius:3px;background:#edf0f5;overflow:hidden}.dimension-row>i em{display:block;height:100%;border-radius:3px;background:#5b52f2}
.data-notice{padding:16px;border-radius:10px;background:#f6f8fc;color:#526079}.data-notice b{display:block;color:var(--ink);font-size:12px}.data-notice p{margin:7px 0 0;font-size:10px;line-height:1.7}.data-notice code{padding:2px 4px;border-radius:4px;background:#e9edf5;font-size:9px}
.live-state{display:grid;justify-items:end;gap:5px}.live-state small{color:var(--muted);font-size:9px}.realtime-hero{display:grid;grid-template-columns:220px 1fr;gap:30px;min-height:270px}.realtime-now{display:grid;place-items:center;align-content:center;border-right:1px solid var(--line)}.realtime-now span{color:var(--muted);font-size:11px}.realtime-now strong{margin:8px 0;font:700 58px 'IBM Plex Mono';color:#5b52f2}.realtime-now small{color:var(--muted);font-size:9px}.realtime-chart-wrap{min-width:0}.realtime-chart{height:165px;display:flex;align-items:flex-end;gap:3px;padding-top:20px;border-bottom:1px solid var(--line)}.realtime-chart i{flex:1;min-width:2px;position:relative;border-radius:3px 3px 0 0;background:#b9efe0}.realtime-chart i.current{background:#10b981}.realtime-chart i span{position:absolute;left:50%;top:-16px;transform:translateX(-50%);color:var(--muted);font:8px 'IBM Plex Mono'}.realtime-axis{display:flex;justify-content:space-between;margin-top:6px;color:var(--muted);font-size:8px}.realtime-dimensions{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.realtime-dimensions h3{margin:0 0 12px;color:var(--muted);font-size:10px}.realtime-dimensions .dimension-row{grid-template-columns:1fr auto}.realtime-dimensions .dimension-row span small{display:none}
@media(max-width:1100px){.analytics-panels,.realtime-panels{grid-template-columns:1fr!important}.realtime-hero{grid-template-columns:170px 1fr}.dimension-layout{grid-template-columns:150px 1fr}}
@media(max-width:760px){.analytics-actions{align-items:flex-start}.realtime-hero{grid-template-columns:1fr}.realtime-now{padding:18px;border-right:0;border-bottom:1px solid var(--line)}.realtime-now strong{font-size:42px}.realtime-dimensions,.dimension-layout{grid-template-columns:1fr}.analytics-donut{width:125px}.analytics-chart{gap:2px}.realtime-chart{gap:2px}}

/* Sidebar category -> top-right detail navigation */
.topbar{justify-content:flex-end}.nav-parent>button.active{background:#fff;color:#161d2c;box-shadow:inset 0 0 0 2px #171717}.nav-parent>button.active>span{color:#5b52f2}.nav-parent>button.active i{color:#5b52f2;transform:none}.nav-parent>div{display:none!important}
.contextbar{position:sticky;top:56px;z-index:9;min-height:50px;display:flex;align-items:center;justify-content:flex-start;gap:18px;padding:7px 22px;border-bottom:1px solid var(--line);background:#fff}.context-navigation{display:flex;align-items:center;justify-content:flex-start;gap:6px;min-width:0}.context-navigation.empty{display:none}.context-navigation a{display:inline-flex;align-items:center;height:32px;padding:0 12px;border:1px solid transparent;border-radius:8px;color:#69758a;text-decoration:none;font-size:11px;font-weight:650;white-space:nowrap}.context-navigation a:hover{background:#f2f3fa;color:#4f45dc}.context-navigation a.active{border-color:#dcd9ff;background:#eeecff;color:#5045de}.contextbar .breadcrumb{flex:0 0 auto;margin-left:4px;padding-left:18px;border-left:1px solid var(--line);font-size:11px;white-space:nowrap}.context-navigation.empty+.breadcrumb{border-left:0;padding-left:0}.content{padding-top:24px}
@media(max-width:760px){.topbar{justify-content:space-between}.menu-toggle{margin-right:auto}.contextbar{top:56px;justify-content:flex-start;gap:10px;padding:7px 14px;overflow-x:auto}.contextbar .breadcrumb{display:flex;align-items:center}.context-navigation{min-width:max-content}.context-navigation a{height:30px;padding:0 10px}.content{padding-top:18px}}
