/* BS Charge вЂ” premium navy / sky blue. Digital interpretation of the supplied brand. */
:root{color-scheme:dark;--bg:#041326;--panel:#0a2038;--raised:#102c48;--line:#203c57;--text:#f3f8ff;--muted:#9cb3cb;--blue:#00a8f5;--cyan:#29d6e5;background:var(--bg);color:var(--text)}
body{background:radial-gradient(ellipse at 80% 0%,#123354 0,transparent 48%),var(--bg);color:var(--text);min-height:100vh}
aside{background:#05172c;border-right:1px solid var(--line)}
.brand,.payment-page .brand{display:block;width:176px;height:58px;max-width:100%;background:url('icons/brand-premium.svg') left center/contain no-repeat;color:transparent!important;font-size:0!important;letter-spacing:0}
.brand span{display:none}a{color:#5bcaff}a:hover{color:#a2e5ff}h1,h2,h3,strong,td:first-child{color:var(--text)}p,label,small,.hint,.eyebrow,.connection-info,.connector-state small,.stats span,.stats small,.empty,.event time,footer{color:var(--muted)}
.card,dialog,.discovery-station,.user-form,.tariff-editor,.session-summary>div,.chart-empty{background:var(--panel);border-color:var(--line);color:var(--text);box-shadow:0 12px 34px #00000018}
.card{border-radius:18px}.card h2{letter-spacing:-.35px}.accent{color:var(--blue)}
button,.viewer-action,.install-app{background:linear-gradient(105deg,#0098ef,#16c1e9);color:#021527;border-color:#20b5f6;border-radius:12px;font-weight:750;box-shadow:0 5px 18px #009ef51b}
button:hover{filter:brightness(1.12)}button:disabled{opacity:.45;box-shadow:none}button.secondary,.secondary,.ghost{background:var(--raised);color:#d6e8fa;border-color:var(--line);box-shadow:none}
input,select,textarea,.tariff-input,.tariff-input input{background:#06192d;color:var(--text);border-color:#2c4863;border-radius:10px}input::placeholder,textarea::placeholder{color:#7894ae}input[type=checkbox]{accent-color:var(--blue)}
input:focus,select:focus,textarea:focus{outline:2px solid #00a8f580;outline-offset:2px}button:focus-visible,a:focus-visible{outline:2px solid var(--cyan);outline-offset:4px}
.nav{color:var(--muted)}.nav.active,.nav:hover{background:#113654;color:#76d9ff}.workspace,.sidebar-bottom,.sidebar-bottom small{color:var(--muted)}.dot{background:var(--cyan)}
.live,.badge,.command-status{background:#11304b;color:#b8d5ed;border-color:var(--line)}.badge.online,.command-status.confirmed{background:#103e3d;color:#76e5bc}.command-status.accepted{background:#133f62;color:#80d1ff}.command-status.rejected,.command-status.error,.command-status.interrupted{background:#4a2330;color:#ffafba}.command-status.timeout{background:#44351c;color:#ffcf86}
.viewer-status-card{background:linear-gradient(145deg,#123452,#071a32 78%);border:1px solid #235174;border-radius:22px;box-shadow:0 16px 44px #0003}.viewer-status-card:after{color:#00a8f50c}.viewer-status-card p,.viewer-status-card small{color:#b2cbe0}.viewer-status-icon.ready,.viewer-status-icon.charging{background:#0d405a;color:#49d9ff}.viewer-status-icon.offline{background:#512b3a;color:#ff9da6}.viewer-action.stop-action{background:#522739;color:#ffc0c8;border-color:#824155}
.mobile-nav{background:#06182ef5;border-color:#22435f;backdrop-filter:blur(16px)}.mobile-nav a{color:#a6bad1}.mobile-nav span{color:#6c91b1}.mobile-nav a.active,.mobile-nav a.active span,.mobile-nav a[aria-current=page]{color:#32c6ff}
.chart{background:#081b30;border-color:var(--line)}.chart line{stroke:#27435f}.chart text{fill:#a6bed6}.chart polyline{stroke:#19baff}.event pre{background:#031122;color:#b7d8f2}.event summary{color:#b1d9f5}
th,td,.event,.reset-row,.operator-actions,.payment-order{border-color:var(--line);color:var(--muted)}th{color:#90acc6}.clickable:hover td{background:#11314c}
.admin-alert,.admin-alert.ok{background:#0d2b3b;border-color:#225163;color:#bce6ef}.admin-alert.ok>span{background:#174b42;color:#79e5bd}.admin-alert.attention{background:#3c2b2c;border-color:#705045}.admin-alert small{color:#afc5d6}
#notice{background:#103447;color:#b7e9ff;border-color:#1c6181}#notice.error{background:#422b35;border-color:#875164;color:#ffc0c7}#message,#bind-message,#payment-message{color:#ffbdab}dialog::backdrop{background:#010b1dcc;backdrop-filter:blur(5px)}
.charger-art{background:linear-gradient(135deg,#102e4c,#071a30)}.charger{background:linear-gradient(100deg,#102c47,#245375);box-shadow:8px 14px 28px #0005}.charger-screen{background:#031326}.charger-screen span{color:#25bdff}.charger-light{background:#00baf5}.cable{border-color:#23799b}
.payment-actions a{background:#113852;color:#8cdfff}.payment-page #add-card{min-height:46px}.payment-page summary{color:#b7d8ef}.demo-label{color:#efc486}.discovery-station.selected{border-color:#00a8f5;background:#0d2b46}.discovery-station h3{color:var(--text)}
@media(max-width:700px){body{background:var(--bg)}aside{padding:10px 18px;border-right:0;border-bottom:1px solid var(--line)}.brand{width:116px;height:38px}main{padding-top:18px}.payment-page .brand{width:146px;height:48px}.viewer-status-card{padding:22px}.card{border-radius:16px}.mobile-nav{padding-top:10px;padding-bottom:calc(10px + env(safe-area-inset-bottom))}.mobile-nav a{font-size:10px;gap:5px}.mobile-nav span{font-size:21px}}

body[data-role="viewer"] .mobile-nav a[aria-current="page"]{background:#103c5b;color:#79dfff;border:1px solid #235775;border-radius:12px}
.goal-buttons button{background:#113852;border-color:#2d5772;color:#cceaff}.goal-buttons button[aria-pressed="true"]{background:#00a8f5;color:#03172a;border-color:#29c4ff}
body[data-role="viewer"] footer,.charge-help,.viewer-steps,.viewer-session,.selected-context,.app-download-card{background:var(--panel);border-color:var(--line);color:var(--text)}.viewer-session:hover{background:var(--raised);border-color:#3c7195}.app-download-card p{color:var(--muted)}.app-download-icon{background:#123e5b;color:#41c9ff}
body[data-role="viewer"] .viewer-tariff{color:#c4e0f4;border-top-color:#2b526d}.viewer-status-card a,#station-guide a{color:#83d8ff}.station-charge-link,#route-options a,.history-detail-button{background:#113852;color:#9cdefc;border-color:#295875}.battery-number{color:#28c6ff}.battery-layout progress{accent-color:#00a8f5}
.viewer-steps b{background:#103957;color:#8edbff}.viewer-steps>div+div{border-color:var(--line)}

#discovery-tabs,#mode-switch{background:#0d2943;border:1px solid #254963}#discovery-tabs button,#mode-switch a{color:#a9c6df;box-shadow:none;border:0}#discovery-tabs button[aria-selected="true"],#mode-switch a[aria-current="page"]{background:#105078;color:#e9faff}
#location-status,#map-load-status,.charge-help summary{color:#a7cbe4}.demo-explanation,.demo-label{background:#302c26;color:#dfc397}.discovery-station.selected{border-color:#00a8f5;box-shadow:inset 0 0 0 1px #00a8f5}.discovery-station.demo-station{background:#122940}
#station-map{background:#102237;border-color:var(--line)}#station-map [class*="ymaps-"][class$="-ground-pane"],#station-map .leaflet-tile-pane{filter:grayscale(1) invert(1) brightness(.8) contrast(.85)}
.leaflet-control-attribution,.leaflet-control-zoom a{background:#fff;color:#142a3d}.leaflet-control-attribution a{color:#165681}
body[data-role="admin"] .mobile-nav a[aria-current="page"]{background:#103c5b;color:#79dfff}.vehicle-row{border-color:var(--line)}.yandex-station-marker.selected{outline-color:#2fc5ff}

.ui-icon{display:inline-block;width:24px;height:24px;vertical-align:middle;flex-shrink:0}.viewer-status-icon .ui-icon{width:29px;height:29px}.mobile-nav .ui-icon{width:23px;height:23px}.nav .ui-icon{width:19px;height:19px}.route-icon .ui-icon{width:25px;height:25px}.viewer-status-card:after{content:"";width:130px;height:190px;right:12px;bottom:0;background:#00a8f508;clip-path:polygon(60% 0,5% 58%,44% 58%,34% 100%,98% 35%,58% 35%);pointer-events:none}

/* Page headings stand alone throughout the panel. */
#page-subtitle{display:none}

/* Display the supplied original artwork; frame excludes its palette legend. */
.brand,.payment-page .brand{width:176px;height:79px;background-image:url('icons/brand-original.jpg');background-size:138.67% auto;background-position:45.2% top;background-repeat:no-repeat}
.brand>svg{display:none}
@media(max-width:700px){.brand,.payment-page .brand,body[data-role="viewer"] aside .brand{width:106px;height:48px}}

aside .brand{margin-bottom:24px}@media(max-width:700px){aside .brand{margin-bottom:0}}

/* A readable tagline at app-header sizes, retaining the supplied brand wording. */
.brand,.payment-page .brand{position:relative}
.brand::after{content:"ЗАРЯЖАЕМ БУДУЩЕЕ";position:absolute;left:0;right:0;bottom:0;height:12px;display:flex;align-items:center;justify-content:center;background:#04162e;color:#eaf6ff;font:600 7.5px/1 'Segoe UI',sans-serif;letter-spacing:1px;white-space:nowrap}
@media(max-width:700px){.brand::after{height:9px;font-size:5.4px;letter-spacing:.3px}}

.card.diagnostic-container{padding:0;overflow:hidden}
.diagnostic-section>summary{padding:20px 24px;cursor:pointer;font-size:17px;font-weight:650;color:#d7f2ff;background:#0b263b;min-height:60px}
.diagnostic-section>summary:hover{background:#12364f}
.diagnostic-section>summary:focus-visible{outline:2px solid #43ccff;outline-offset:-3px}
.diagnostic-section[open]>summary{border-bottom:1px solid #294a61}
.diagnostic-section-content{padding:20px 24px;min-width:0}
@media(max-width:700px){.diagnostic-section>summary{padding:16px}.diagnostic-section-content{padding:16px}}

#charge-notifications>#notice-list,#charge-notifications #enable-notifications,#charge-notifications #disable-push{display:none!important}
#charge-notifications>.actions{display:flex!important;margin-top:12px}
#charge-notifications>#push-status{display:block!important;margin-top:10px;overflow-wrap:anywhere}
.notification-switch{display:flex;align-items:center;gap:10px;margin:0}.notification-switch input{width:22px;height:22px;accent-color:#00bde8}
#inline-payment-content{display:grid;gap:14px;margin-top:18px}#inline-payment-content form{display:grid;gap:14px}.inline-card{display:flex;align-items:center;justify-content:space-between;gap:12px}.session-totals{display:grid;gap:6px;text-align:right}.session-totals small{font-size:12px;font-weight:400;white-space:normal}

.vehicle-charge-form{display:grid;gap:12px;margin-top:12px}.vehicle-charge-form input[type=checkbox]{width:auto}.vehicle-row>div:first-child{min-width:0;flex:1}.vehicle-charge-form small{display:block}
