:root.admin-route{color:#151922;font-synthesis:none;text-rendering:optimizelegibility;--admin-blue:#155eef;--admin-blue-dark:#0d4fd2;--admin-text:#111214;--admin-muted:#626b78;--admin-border:#dfe3ea;--admin-soft:#f5f7fb;--admin-danger:#c82736;--admin-surface:#fff;--admin-radius:16px;background:#fff;font-family:Arial,Helvetica,sans-serif}html.admin-route *{box-sizing:border-box}html.admin-route,html.admin-route body,html.admin-route #root{min-height:100%;margin:0}html.admin-route body{background:var(--admin-soft);min-width:320px;color:var(--admin-text);-webkit-font-smoothing:antialiased}html.admin-route button,html.admin-route input{font:inherit}html.admin-route button,html.admin-route a,html.admin-route input{-webkit-tap-highlight-color:transparent}html.admin-route button:focus-visible,html.admin-route a:focus-visible,html.admin-route input:focus-visible{outline-offset:2px;outline:3px solid #0868df38}.admin-page{background:var(--admin-soft);min-height:100vh}.admin-header{z-index:20;border-bottom:1px solid var(--admin-border);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#fffffff0;justify-content:space-between;align-items:center;min-height:58px;padding:0 clamp(20px,3.2vw,52px);display:flex;position:relative}.admin-brand{color:var(--admin-text);letter-spacing:-.02em;align-items:center;gap:10px;font-size:17px;font-weight:750;text-decoration:none;display:inline-flex}.admin-brand img{object-fit:contain;filter:drop-shadow(0 4px 10px #0a2a641f);width:46px;height:46px}.admin-logout{color:var(--admin-text);cursor:pointer;background:0 0;border:0;align-items:center;gap:8px;padding:8px 0 8px 10px;display:inline-flex}.admin-logout:hover{color:var(--admin-blue-dark)}.admin-logout svg,.password-toggle svg,.calendar-navigation svg{fill:none;stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;width:18px;height:18px}.login-main{place-items:center;width:min(100% - 48px,620px);min-height:calc(100vh - 59px);margin:0 auto;padding:28px 0;display:grid}.login-panel{border:1px solid var(--admin-border);background:var(--admin-surface);border-radius:22px;align-content:center;width:100%;padding:clamp(42px,3.5vw,58px);display:grid;box-shadow:0 24px 70px #1622361a}.login-copy,.login-form{width:min(100%,430px);margin-inline:auto}.login-copy h1,.analytics-title-row h1{color:var(--admin-text);letter-spacing:-.04em;margin:0;font-size:clamp(36px,4vw,52px);line-height:1.05}.login-copy p,.analytics-title-row p{color:var(--admin-muted);margin:16px 0 0;font-size:17px;line-height:1.5}.login-form{margin-top:36px;display:grid}.login-form>label:not(.remember-field){color:var(--admin-text);margin:0 0 9px;font-size:15px;font-weight:700}.login-form>label:not(.remember-field):not(:first-child){margin-top:22px}.login-form input[type=text],.login-form input[type=password],.password-field input{width:100%;height:52px;color:var(--admin-text);background:#fff;border:1px solid #aeb6c2;border-radius:10px;padding:0 14px}.login-form input:hover{border-color:#7d8795}.login-form input:focus{border-color:var(--admin-blue);outline:3px solid #0868df1f}.password-field{position:relative}.password-field input{padding-right:50px}.password-toggle{width:42px;height:42px;color:var(--admin-muted);cursor:pointer;background:0 0;border:0;place-items:center;display:grid;position:absolute;top:4px;right:4px}.login-error{min-height:21px;color:var(--admin-danger);margin:8px 0 0;font-size:14px}.remember-field{width:fit-content;color:var(--admin-text);cursor:pointer;align-items:center;gap:10px;margin:19px 0 28px;display:inline-flex}.remember-field input{width:18px;height:18px;accent-color:var(--admin-blue);margin:0}.admin-primary-button{border:1px solid var(--admin-blue);background:var(--admin-blue);color:#fff;cursor:pointer;border-radius:10px;width:100%;min-height:50px;font-weight:700}.admin-primary-button:hover:not(:disabled){background:var(--admin-blue-dark)}.admin-primary-button:disabled{cursor:not-allowed;opacity:.55}.back-link{width:fit-content;color:var(--admin-blue-dark);text-underline-offset:3px;margin-top:19px;font-weight:700;text-decoration:none}.back-link:hover{text-decoration:underline}.analytics-main{width:min(100% - clamp(40px,6.4vw,104px),1380px);margin:0 auto;padding:44px 0 72px}.analytics-title-row{justify-content:space-between;align-items:end;gap:40px;padding-bottom:28px;display:flex}.analytics-title-row h1{font-size:clamp(34px,3.5vw,46px)}.date-controls{justify-content:flex-end;align-items:end;gap:14px;display:flex}.date-controls label{color:var(--admin-muted);gap:7px;font-size:13px;display:grid}.date-controls input{width:150px;height:42px;color:var(--admin-text);background:#fff;border:1px solid #b9c1cc;border-radius:10px;padding:0 10px}.preset-buttons{height:42px;display:flex}.preset-buttons button{min-width:78px;color:var(--admin-text);cursor:pointer;background:#fff;border:1px solid #b9c1cc;border-right:0;padding:0 13px}.preset-buttons button:first-child{border-radius:10px 0 0 10px}.preset-buttons button:last-child{border-right:1px solid #b9c1cc;border-radius:0 10px 10px 0}.preset-buttons button:hover{background:var(--admin-soft)}.preset-buttons button.is-active{border-color:var(--admin-blue);background:var(--admin-blue);color:#fff}.preset-buttons button.is-active+button{border-left-color:var(--admin-blue)}.summary-band{border:1px solid var(--admin-border);border-radius:var(--admin-radius);background:var(--admin-surface);grid-template-columns:repeat(4,1fr);display:grid;overflow:hidden;box-shadow:0 10px 30px #1b2b4609}.summary-item{padding:24px 18px 22px}.summary-item+.summary-item{border-left:1px solid var(--admin-border)}.summary-item span{color:var(--admin-text);margin-bottom:9px;font-size:15px;font-weight:700;display:block}.summary-item strong{color:var(--admin-blue-dark);letter-spacing:-.03em;font-size:clamp(30px,3vw,42px);line-height:1}.traffic-section{border:1px solid var(--admin-border);border-radius:var(--admin-radius);background:var(--admin-surface);margin-top:18px;padding:26px;box-shadow:0 10px 30px #1b2b4609}.section-heading-row{justify-content:space-between;align-items:center;gap:20px;display:flex}.traffic-section h2,.geography-section h2,.calendar-section h2{margin:0;font-size:19px;line-height:1.2}.chart-legend{color:var(--admin-muted);align-items:center;gap:22px;font-size:13px;display:flex}.chart-legend span{align-items:center;gap:8px;display:inline-flex}.legend-line{border-top:2px solid var(--admin-blue-dark);width:26px;height:0}.legend-line.is-dashed{border-color:#66a7f2;border-top-style:dashed}.chart-scroll{margin-top:17px;overflow-x:auto}.traffic-chart{width:100%;min-width:720px;height:auto;display:block;overflow:visible}.chart-grid-line{stroke:#dfe3e9;stroke-width:1px}.chart-axis-label{fill:var(--admin-muted);font-size:11px}.chart-line{fill:none;stroke-width:2.2px;stroke-linecap:round;stroke-linejoin:round}.chart-line-unique{stroke:var(--admin-blue-dark)}.chart-line-visits{stroke:#66a7f2;stroke-dasharray:6 6}.chart-dot{stroke:none}.chart-dot-unique{fill:var(--admin-blue-dark)}.chart-dot-visits{fill:#66a7f2}.chart-guide{stroke:#b9c4d4;stroke-width:1px;stroke-dasharray:3 4}.chart-dot-active{stroke:#fff;stroke-width:1.6px}.chart-tooltip-box{fill:#fff;stroke:var(--admin-border);filter:drop-shadow(0 2px 5px #15192224)}.chart-tooltip-date{fill:var(--admin-text);font-size:12px;font-weight:700}.chart-tooltip-row{fill:var(--admin-muted);font-size:12px}.chart-tooltip-value{fill:var(--admin-text);font-size:12px;font-weight:700}.dashboard-lower-grid{grid-template-columns:minmax(0,.85fr) minmax(0,.85fr) minmax(360px,1.3fr);gap:clamp(24px,3vw,52px);padding-top:18px;display:grid}.geography-section,.calendar-section{border:1px solid var(--admin-border);border-radius:var(--admin-radius);background:var(--admin-surface);min-width:0;padding:22px;box-shadow:0 10px 30px #1b2b4609}.geography-section h2,.calendar-section h2{margin-bottom:16px}.table-wrapper{overflow-x:auto}.geography-section table{border-collapse:collapse;width:100%;font-size:13px}.geography-section th,.geography-section td{border-top:1px solid var(--admin-border);text-align:right;padding:12px 9px}.geography-section thead th{color:var(--admin-muted);font-weight:400}.geography-section th:first-child{text-align:left;padding-left:5px}.geography-section tbody th{font-weight:400}.geography-section tbody th span,.geography-section tbody th small{display:block}.geography-section tbody th small{color:var(--admin-muted);margin-top:3px;font-size:11px}.geography-section .empty-cell{height:80px;color:var(--admin-muted);text-align:left}.geo-region{isolation:isolate;position:relative}.geo-region:before{content:"";width:calc(var(--geo-share,0) * 100%);z-index:-1;background:#0868df1a;border-radius:5px;min-width:3px;position:absolute;top:5px;bottom:5px;left:0}.geo-name{position:relative}.geo-toggle{color:var(--admin-blue-dark);cursor:pointer;background:0 0;border:0;margin-top:12px;padding:6px 2px;font-size:13px;font-weight:700}.geo-toggle:hover{text-underline-offset:3px;text-decoration:underline}.calendar-heading{justify-content:space-between;align-items:center;gap:16px;display:flex}.calendar-navigation{align-items:center;gap:8px;display:flex}.calendar-navigation strong{text-align:center;text-transform:capitalize;min-width:116px;font-size:14px}.calendar-navigation button{width:30px;height:30px;color:var(--admin-text);cursor:pointer;background:0 0;border:0;place-items:center;display:grid}.calendar-navigation button:disabled{opacity:.3;cursor:default}.calendar-grid{border-top:1px solid var(--admin-border);border-left:1px solid var(--admin-border);grid-template-columns:repeat(7,minmax(34px,1fr));display:grid}.calendar-weekday{color:var(--admin-muted);text-align:center;border-right:1px solid var(--admin-border);border-bottom:1px solid var(--admin-border);padding:8px 3px;font-size:11px}.calendar-day{border-right:1px solid var(--admin-border);border-bottom:1px solid var(--admin-border);background:rgba(8, 104, 223, var(--calendar-alpha,0));min-height:45px;padding:7px;font-size:12px;position:relative}.calendar-day small{color:var(--admin-blue-dark);font-size:10px;font-weight:700;position:absolute;bottom:4px;right:5px}.calendar-day.is-outside{color:#abb2bd;background:#fafbfc}button.calendar-day{font:inherit;color:inherit;text-align:left;appearance:none;border-top:0;border-left:0;margin:0}.calendar-day.is-interactive{cursor:pointer;transition:box-shadow .12s}.calendar-day.is-interactive:hover,.calendar-day.is-selected{z-index:1}.calendar-day.is-interactive:hover{box-shadow:inset 0 0 0 2px #0868df57}.calendar-day.is-selected{box-shadow:inset 0 0 0 2px var(--admin-blue)}.calendar-note{color:var(--admin-muted);margin:9px 0 0;font-size:11px}.day-geo{border:1px solid var(--admin-border);background:var(--admin-soft);border-radius:12px;margin-top:18px;padding:15px 16px 17px}.day-geo-head{justify-content:space-between;align-items:start;gap:12px;display:flex}.day-geo-eyebrow{color:var(--admin-muted);letter-spacing:.04em;text-transform:uppercase;font-size:11px;font-weight:700;display:block}.day-geo-head h3{margin:4px 0 0;font-size:16px;line-height:1.25}.day-geo-head h3:first-letter{text-transform:uppercase}.day-geo-close{width:30px;height:30px;color:var(--admin-muted);cursor:pointer;background:0 0;border:0;border-radius:8px;flex:none;place-items:center;display:grid}.day-geo-close:hover{color:var(--admin-text);background:#e7edf6}.day-geo-close svg{fill:none;stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;width:16px;height:16px}.day-geo-status{color:var(--admin-muted);margin:15px 0 2px;font-size:13px}.day-geo-status.is-error{color:var(--admin-danger)}.day-geo-metrics{grid-template-columns:1fr 1fr;gap:10px;margin-top:15px;display:grid}.day-geo-metrics div{border:1px solid var(--admin-border);background:#fff;border-radius:9px;padding:10px 12px}.day-geo-metrics span{color:var(--admin-muted);font-size:12px;font-weight:700;display:block}.day-geo-metrics strong{color:var(--admin-blue-dark);letter-spacing:-.02em;margin-top:5px;font-size:22px;line-height:1;display:block}.day-geo-lists{grid-template-columns:1fr 1fr;gap:16px;margin-top:16px;display:grid}.day-geo-list h4{margin:0 0 8px;font-size:13px}.day-geo-list ul{gap:2px;margin:0;padding:0;list-style:none;display:grid}.day-geo-list li{isolation:isolate;border-radius:6px;justify-content:space-between;align-items:center;gap:10px;padding:7px 9px;font-size:12px;display:flex;position:relative}.day-geo-list li:before{content:"";width:calc(var(--geo-share,0) * 100%);z-index:-1;background:#0868df1a;border-radius:6px;min-width:3px;position:absolute;inset:0}.day-geo-name{flex:auto;min-width:0}.day-geo-name small{color:var(--admin-muted);margin-top:2px;font-size:10px;display:block}.day-geo-count{text-align:right;white-space:nowrap;flex:none}.day-geo-count b{color:var(--admin-text);font-size:13px}.day-geo-count small{color:var(--admin-muted);margin-top:1px;font-size:10px;font-weight:400;display:block}.day-geo-empty{color:var(--admin-muted);margin:0;font-size:12px}.dashboard-message{border-top:1px solid var(--admin-border);color:var(--admin-muted);padding:26px 0}.dashboard-message.is-error{color:var(--admin-danger)}.dashboard-content{transition:opacity .15s}.dashboard-content.is-refreshing{opacity:.55;pointer-events:none}@media (width<=1080px){.analytics-title-row{flex-direction:column;align-items:start}.date-controls{flex-wrap:wrap;justify-content:flex-start;width:100%}.dashboard-lower-grid{grid-template-columns:1fr 1fr}.calendar-section{grid-column:1/-1}}@media (width<=680px){.admin-header{min-height:56px;padding:0 18px}.admin-brand{font-size:16px}.admin-logout span{display:none}.login-main{width:calc(100% - 28px);min-height:calc(100vh - 56px);padding:20px 0}.login-panel{border-radius:16px;padding:34px 22px}.login-copy h1{font-size:38px}.login-form{margin-top:36px}.analytics-main{width:calc(100% - 36px);padding-top:28px}.analytics-title-row{gap:28px;padding-bottom:22px}.analytics-title-row h1{font-size:38px}.date-controls{grid-template-columns:1fr 1fr;gap:12px;display:grid}.date-controls label,.date-controls input{width:100%}.preset-buttons{grid-column:1/-1;width:100%}.preset-buttons button{flex:1;min-width:0}.summary-band{grid-template-columns:1fr 1fr}.summary-item{padding:19px 12px}.summary-item:nth-child(odd){border-left:0}.summary-item:nth-child(n+3){border-top:1px solid var(--admin-border)}.summary-item strong{font-size:32px}.section-heading-row{flex-direction:column;align-items:start}.chart-legend{gap:14px}.chart-scroll{margin-right:-18px;padding-right:18px}.traffic-section{margin-inline:-8px;padding:20px 14px}.geography-section,.calendar-section{padding:18px 14px}.traffic-chart{min-width:620px}.dashboard-lower-grid{grid-template-columns:1fr;gap:34px}.calendar-section{grid-column:auto}.calendar-heading{flex-direction:column;align-items:start}.calendar-navigation{justify-content:space-between;width:100%}.calendar-day{min-height:42px;padding:5px}.day-geo-lists{grid-template-columns:1fr;gap:14px}}@media (width<=420px){.day-geo-metrics{grid-template-columns:1fr 1fr;gap:8px}.day-geo-metrics div{padding:9px 10px}.day-geo-metrics strong{font-size:20px}.calendar-navigation strong{min-width:0}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important}}
