:root{font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#263b33;background:#f5f7f8;--green:#187351;--dark:#113f32;--border:#e3e9e7;--muted:#72827b}*{box-sizing:border-box}body{margin:0}a{color:var(--green);text-decoration:none}a:hover{text-decoration:underline}button,input,select,textarea{font:inherit}button,a,input,select,summary,textarea{outline-offset:3px}button:focus-visible,a:focus-visible,input:focus-visible,summary:focus-visible{outline:3px solid #7acaaa}.portal-shell{display:flex;min-height:100vh}.sidebar{width:240px;flex-shrink:0;background:var(--dark);color:#d9e7e0;padding:30px 18px;display:flex;flex-direction:column;position:sticky;top:0;height:100vh}.brand{display:flex;align-items:center;gap:12px;color:#fff;font-size:17px;font-weight:650;padding:2px 10px 35px}.brand:hover{text-decoration:none}.brand-mark{font-size:33px;letter-spacing:-4px;color:#fff}.brand-mark span{color:#b9e177;letter-spacing:0}.brand small{font-size:11px;color:#a4bbb0;font-weight:400;margin-top:4px}.nav-caption{font-size:10px;font-weight:650;letter-spacing:1.5px;color:#90b2a1;margin:25px 14px 10px}.sidebar nav{display:flex;flex-direction:column;gap:5px}.sidebar nav a{display:flex;align-items:center;gap:13px;color:#c6d9cf;padding:12px 14px;border-radius:8px;font-size:14px;font-weight:500}.sidebar nav a>span{width:19px;font-size:21px;line-height:1;color:#a8c4b6}.sidebar nav a:hover{background:#215541;text-decoration:none}.sidebar nav a.active{background:#dceeb8;color:#173c29}.sidebar nav a.active>span{color:#35673f}.sidebar-bottom{margin-top:auto;padding:24px 12px 0;font-size:12px;color:#bed2c6}.sidebar-bottom small{font-size:10px;color:#8caf9a}.status-dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:#bedf84;margin-right:5px}.workspace{min-width:0;flex:1}.topbar{min-height:82px;display:flex;align-items:center;justify-content:space-between;gap:20px;background:#fff;border-bottom:1px solid var(--border);padding:18px 36px}.breadcrumb{font-size:12px;color:var(--muted)}.breadcrumb>span{padding:0 12px;color:#bac6bf}.account{display:flex;align-items:center;gap:12px;font-size:12px;font-weight:600}.account small{font-weight:400;font-size:10px;color:var(--muted);margin-top:3px}.avatar{border-radius:50%;background:#e7eee9;width:34px;height:34px;display:grid;place-items:center;color:#346b52}.account form{margin-left:8px}main{max-width:1600px;margin:0 auto;padding:34px 36px 42px}h1{font-size:29px;letter-spacing:-.8px;margin:0 0 9px;font-weight:650;color:#193d2e}h2{font-size:17px;font-weight:650;letter-spacing:-.2px;margin:0 0 18px}h3{font-size:15px}p{line-height:1.6;font-size:14px}h1+p.muted{margin:0 0 28px}.muted{color:var(--muted)}.card{background:#fff;border:1px solid var(--border);border-radius:12px;padding:26px;margin-bottom:22px;box-shadow:0 2px 4px #12392a03}.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:18px}.stat{font-size:35px;letter-spacing:-1px;font-weight:650;color:#154c35;margin:8px 0}.grid>.card{font-size:13px}.grid>.card small{font-size:11px}label{display:block;font-size:12px;font-weight:600;margin:10px 0 6px;color:#465c50}input,select,textarea{display:block;width:100%;padding:11px 12px;border:1px solid #d5e0d9;border-radius:7px;background:#fff;color:#293f32;font-size:14px;margin-top:7px;min-height:42px}textarea{min-height:90px;resize:vertical}input:focus,select:focus,textarea:focus{border-color:#3e9b71}input[type=checkbox],input[type=radio]{display:inline-block;width:16px;min-height:16px;margin:0 6px 0 0;accent-color:var(--green);vertical-align:middle}input::placeholder{color:#9ba89f;font-weight:400}button,.button{display:inline-flex;align-items:center;justify-content:center;gap:7px;background:var(--green);color:white;border:1px solid transparent;border-radius:7px;padding:10px 17px;min-height:40px;font:500 13px Inter,ui-sans-serif,system-ui,sans-serif;text-decoration:none;cursor:pointer;margin-top:16px;white-space:nowrap}button:hover,.button:hover{background:#125c40;text-decoration:none}.secondary,.button.secondary{background:#fff;border-color:#dce5df;color:#455e50}.secondary:hover{background:#f2f6f3}.danger,.button.danger{background:#fff;border-color:#efd6d3;color:#af4c43}.danger:hover{background:#fff1ef}.small-button{padding:6px 10px;min-height:32px;font-size:12px;margin:0}button:disabled{opacity:.5;cursor:wait}.toolbar,.page-header{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:16px;margin:22px 0}.toolbar{padding:18px 20px;background:#fff;border:1px solid var(--border);border-radius:10px}.toolbar form,.toolbar .search-form{display:flex;align-items:center;gap:9px;flex:1;min-width:230px}.toolbar input{margin:0;max-width:400px;min-width:180px;background:#fafcfb}.toolbar label{margin:0;flex:1}.toolbar button,.toolbar .button,.actions button,.actions .button,.page-header button,.page-header .button{margin:0}.actions,.row-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.actions form,.row-actions form{display:inline;margin:0}.row-actions button,.row-actions .button{margin:0;padding:7px 11px;min-height:32px;font-size:12px}.table-wrap{overflow-x:auto;padding:0}table{border-collapse:collapse;width:100%}td,th{padding:17px 21px;text-align:left;border-bottom:1px solid #edf0ee;font-size:13px;vertical-align:middle}th{color:#7c8b82;font-size:10px;font-weight:650;letter-spacing:.8px;text-transform:uppercase;background:#fbfcfb;white-space:nowrap}tbody tr:last-child td{border-bottom:0}tbody tr:hover{background:#fafcfb}td>a:first-child{font-weight:600}td small{font-size:11px;color:var(--muted)}.table-wrap h2,.table-wrap>p,.table-wrap>small{margin:20px 22px}.badge{display:inline-block;background:#edf5ef;color:#39704e;padding:5px 9px;border-radius:5px;font-size:11px;white-space:nowrap;margin:2px 3px 2px 0}.notice,.error{padding:17px 20px;border-radius:9px;margin:0 0 24px;font-size:13px}.notice{background:#eaf5e9;border:1px solid #d4e9d3;color:#32613d}.error{background:#fff1ed;border:1px solid #f2d8cd;color:#924d3b}.error ul{padding-left:20px;margin-bottom:0}.app-footer{padding:0 36px 24px;color:#95a398;font-size:11px}.app-footer span{padding:0 8px}small{display:block;margin-top:7px;line-height:1.5}code,pre{font-size:12px;overflow-wrap:anywhere}pre{white-space:pre-wrap;padding:15px;background:#f7f9f7;border-radius:7px}details.card>summary{font-size:15px;font-weight:600;color:#345943;cursor:pointer}details[open]>summary{margin-bottom:20px}summary.button{list-style:none;width:fit-content}summary.button::-webkit-details-marker{display:none}details>summary~form{margin-top:20px}.guest-shell main{max-width:520px;margin:8vh auto}.guest-shell .app-footer{text-align:center}.empty-state{padding:45px 24px;text-align:center;color:var(--muted)}.multiselect{position:relative;margin-top:7px}.multiselect-trigger{width:100%;background:#fff;color:#365442;border:1px solid #d5e0d9;justify-content:space-between;margin:0;min-height:44px;white-space:normal;text-align:left}.multiselect-trigger:hover{background:#fafcfb}.multiselect-menu{position:absolute;top:calc(100% + 5px);left:0;right:0;z-index:1100;background:#fff;border:1px solid #dbe5de;border-radius:10px;box-shadow:0 14px 38px #17372920;padding:12px}.multiselect-menu[hidden]{display:none}.multiselect-menu input[type=search]{margin:0 0 8px}.multiselect-options{max-height:240px;overflow:auto}.multiselect-option{padding:10px;border-radius:6px;display:flex;align-items:center;gap:7px;margin:0;font-size:13px;font-weight:400;cursor:pointer}.multiselect-option:hover{background:#eff6f1}.multiselect-chips{display:flex;flex-wrap:wrap;gap:5px;margin-top:8px}.multiselect-chip{display:inline-flex;align-items:center;background:#eaf3ec;border-radius:5px;padding:5px 8px;font-size:11px;color:#38644a;gap:6px}.multiselect-chip button{background:none;color:#567b61;margin:0;padding:0;min-height:18px;border:0;font-size:15px}.multiselect-empty{padding:12px;color:var(--muted);font-size:12px}.map-canvas{height:340px;border-radius:10px;border:1px solid var(--border);z-index:0;margin:16px 0}.map-search-row{display:flex;gap:9px;align-items:flex-end}.map-search-row label{flex:1;margin:0}.map-search-row button{flex-shrink:0;margin-bottom:0}.map-results{display:grid;gap:4px;margin-top:8px}.map-results button{margin:0;text-align:left;justify-content:flex-start;white-space:normal;background:#f3f8f4;color:#325840}.map-hint{font-size:12px;color:var(--muted);margin:8px 0}.map-coordinates{max-width:520px}.map-canvas .leaflet-control a{font-size:18px}.map-canvas .leaflet-control-attribution a{font-size:11px}
@media(min-width:1500px){main{padding:40px 48px}.topbar{padding:20px 48px}}@media(max-width:1000px){.sidebar{width:205px;padding:24px 12px}.brand{font-size:14px}main{padding:28px 22px}.topbar{padding:16px 22px}.account>span:not(.avatar){display:none}.grid{grid-template-columns:repeat(auto-fit,minmax(190px,1fr))}td,th{padding:14px}}@media(max-width:700px){.portal-shell{display:block}.sidebar{position:static;height:auto;width:100%;padding:15px}.brand{padding:0 5px 16px}.sidebar nav{flex-direction:row;flex-wrap:wrap;gap:4px}.sidebar nav a{font-size:12px;padding:9px}.sidebar nav a>span,.nav-caption,.sidebar-bottom{display:none}.topbar{min-height:62px;padding:12px 18px}.breadcrumb{font-size:11px}.account{gap:7px}.avatar{display:none}main{padding:24px 16px}.card{padding:20px}.card.table-wrap{padding:0}.toolbar{padding:14px;gap:12px}.toolbar form{min-width:100%}.toolbar input{min-width:80px}.toolbar .actions{width:100%}h1{font-size:26px}.map-search-row{align-items:stretch;flex-direction:column}.map-search-row button{margin:0}.map-canvas{height:280px}.grid{grid-template-columns:1fr}.app-footer{padding:0 16px 22px}}
[hidden]{display:none!important}
[data-create-panel]:not([open]){display:none}.table-wrap td .actions{flex-wrap:nowrap}.table-wrap td .actions button,.table-wrap td .actions .button{padding:7px 10px;min-height:33px;font-size:12px}.toolbar>form>label[for]{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
.pagination{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:18px 22px;font-size:12px;flex-wrap:wrap}.pagination .actions{gap:15px}.pagination .muted{font-size:12px}
.merchant-card{display:flex;align-items:center;gap:15px;margin:0 0 20px}.merchant-card img{object-fit:contain;border-radius:10px;background:#fff}.merchant-card strong{font-size:17px;color:#214734}.merchant-card p{font-size:13px;color:#708077;margin:5px 0 0}.merchant-avatar{display:grid;place-items:center;width:56px;height:56px;border-radius:12px;background:#e6f0e7;color:#427157;font-size:23px;font-weight:650}
.connection-offline{color:#a51d32!important}.connection-online{color:#12623e!important}.connection-stats a{text-decoration:none}.connection-stats a[aria-current="page"]{outline:2px solid currentColor}.connection-badge{display:inline-block;border-radius:20px;padding:5px 9px;font-weight:650;white-space:nowrap}.connection-badge.connection-offline{background:#fff0f2}.connection-badge.connection-online{background:#e8f6ec}.machine-offline td{background:#fffafa}.machine-offline td:first-child{border-left:3px solid #b82b3f}.machine-offline [data-connection-time]{color:#a51d32}
.connection-offline .stat{color:#a51d32}.connection-online .stat{color:#12623e}
.tabs{display:flex;gap:5px;overflow:auto;margin:0 0 22px;padding:5px;background:#eaf1ec;border-radius:10px;position:sticky;top:8px;z-index:25}.tabs a{padding:10px 14px;border-radius:7px;white-space:nowrap;color:#365b45;font-weight:650}.tabs a:hover,.tabs a:focus{background:#fff;text-decoration:none}.metric-grid .card{min-height:120px}.chart{display:grid;gap:12px}.chart-row{display:grid;grid-template-columns:90px 1fr 65px;gap:12px;align-items:center}.chart-track{height:20px;background:#edf3ef;border-radius:6px;overflow:hidden}.chart-track i{display:block;height:100%;background:linear-gradient(90deg,#16834e,#56b66c);border-radius:6px}.grid-sort{cursor:pointer}.grid-sort::after{content:' ↕';color:#77a086}.zone-list{display:grid;gap:14px}.zone-card>summary{display:flex;justify-content:space-between;align-items:center}.zone-card>summary span:first-child{display:grid;gap:2px}.zone-actions{margin:14px 0}.machine-thumb{width:86px;height:52px;object-fit:cover;border-radius:7px}.version-outdated{background:#fff0f2!important;color:#a51d32;font-weight:700}.fill{width:100%;min-width:80px;height:7px;background:#e4ece6;border-radius:6px;overflow:hidden;margin-top:6px}.fill i{height:100%;display:block;background:#239657;border-radius:6px}

/* Catalog selection, per-column filters and bulk editor. */
.bulk-toolbar{position:sticky;top:8px;z-index:20;box-shadow:0 8px 24px #143d2c12}.catalog-table th:first-child,.catalog-table td:first-child{width:48px;text-align:center}.catalog-table input[type=checkbox]{width:18px;height:18px}.sort-link{display:inline-flex;align-items:center;gap:5px;color:#60736a}.sort-link span{font-size:13px;color:#187351}.column-filters th{padding:8px;background:#f5f8f6}.column-filters input,.column-filters select{min-width:105px;min-height:35px;margin:0;padding:7px 8px;font-size:11px;text-transform:none;letter-spacing:0}.column-filters .small-button{margin:0}.bulk-dialog{width:min(850px,calc(100vw - 32px));max-height:calc(100vh - 40px);border:0;border-radius:15px;padding:0;box-shadow:0 24px 80px #09291c55;color:#263b33}.bulk-dialog::backdrop{background:#102e2480;backdrop-filter:blur(2px)}.bulk-dialog>form{padding:26px}.dialog-header{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;border-bottom:1px solid #e5ebe7;padding-bottom:14px}.dialog-header h2{margin:2px 0}.dialog-header p{margin:0}.dialog-close{font-size:24px;line-height:1;width:40px;height:40px;padding:0;margin:0}.dialog-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:22px}.dialog-actions button{margin:0}

/* Grouped navigation: native keyboard-accessible disclosure menus. */
.sidebar{overflow-y:auto;scrollbar-width:thin}.sidebar>.brand{flex-shrink:0;padding-bottom:20px}.sidebar .nav-caption{margin-top:20px}.sidebar .nav-group{min-width:0}.sidebar .nav-group>summary{display:flex;align-items:center;gap:13px;padding:12px 14px;margin:0;border-radius:8px;font-size:14px;font-weight:500;color:#c6d9cf;cursor:pointer;list-style:none}.sidebar .nav-group>summary::-webkit-details-marker{display:none}.sidebar .nav-group>summary:hover{background:#215541}.sidebar .nav-group>summary>span:first-child{width:19px;font-size:20px;color:#a8c4b6}.sidebar .nav-chevron{margin-left:auto;font-size:22px;transition:transform .15s}.sidebar .nav-group[open]>summary .nav-chevron{transform:rotate(90deg)}.sidebar .nav-children{margin:3px 0 7px 23px;padding-left:10px;border-left:1px solid #406453;gap:2px}.sidebar .nav-children a{padding:9px 10px;font-size:13px}.sidebar-bottom{flex-shrink:0}
@media(max-width:700px){.sidebar .nav-caption{display:block;margin:14px 8px 5px}.sidebar .nav-group{width:100%}.sidebar .nav-children{flex-direction:column;flex-wrap:nowrap}.sidebar .nav-group>summary{padding:10px}.sidebar .nav-children a{padding:10px}.sidebar .nav-group>summary>span:first-child{display:none}}
.brand-logo{display:block;width:150px;max-width:100%;height:auto;object-fit:contain}.brand>span{min-width:0}.brand>span small{margin-top:0}
.campaign-location-selector{margin:16px 0}.machine-map-layout{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(300px,.8fr);gap:16px;margin-top:16px}.machine-map-canvas{height:480px;border:1px solid var(--border);border-radius:10px;background:#eef3ef;z-index:0}.machine-map-panel{border:1px solid var(--border);border-radius:10px;padding:16px;min-width:0}.machine-map-summary{display:flex;align-items:center;justify-content:space-between;gap:10px}.machine-map-list{display:grid;gap:2px;max-height:390px;overflow:auto}.machine-map-row{display:grid;grid-template-columns:minmax(0,1fr) 120px;align-items:center;gap:8px;padding:9px 0;border-bottom:1px solid var(--border);margin:0}.machine-map-row strong,.machine-map-row small{overflow-wrap:anywhere}.machine-map-row select{margin:0;min-height:34px;padding:5px}.campaign-metrics{display:grid;grid-template-columns:repeat(5,minmax(120px,1fr));gap:12px;margin:18px 0}.campaign-metric{display:block;text-align:left;background:#fff;color:var(--dark);border:1px solid var(--border);border-radius:10px;padding:15px;margin:0}.campaign-metric strong{display:block;font-size:25px;margin-top:5px}.campaign-metric.active{border-color:var(--green);box-shadow:inset 0 0 0 1px var(--green)}@media(max-width:900px){.machine-map-layout{grid-template-columns:1fr}.campaign-metrics{grid-template-columns:repeat(2,1fr)}.machine-map-canvas{height:360px}}
.advertising-screen.ad-show-campaigns .campaign-metrics{display:grid}.campaign-location-selector>.grid{align-items:start}.campaign-location-selector .multiselect-trigger{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.summary-machine-map .machine-map-canvas{height:360px}.summary-machine-map .machine-map-panel{display:none}.summary-machine-map .machine-map-layout{grid-template-columns:1fr}

.tabs a[aria-current="page"]{background:#fff;box-shadow:0 1px 5px #143d2c18}.detail-tab-panel[hidden]{display:none!important}
.capacity-alert{margin:0 0 22px;min-height:0}.map-filter{min-width:0}.map-filter>label{margin:10px 0 6px}.map-filter>small{margin-top:7px}
.screen-overview-compact{display:grid;grid-template-columns:repeat(2,minmax(190px,280px));gap:12px;margin:14px 0 18px}.screen-overview-compact .card{margin:0;padding:15px 18px;min-height:82px}.screen-overview-compact span{display:block;font-size:12px}.screen-overview-compact strong{display:block;font-size:25px;color:var(--dark);margin-top:7px}@media(max-width:600px){.screen-overview-compact{grid-template-columns:1fr}}
.summary-kpis{grid-template-columns:repeat(5,minmax(150px,1fr))}.summary-kpis>.card{min-height:132px}.summary-alert{margin:0 0 22px;padding:26px;display:block;width:100%;text-align:left;background:#fff7f7;border-color:#efc6ca;color:#9f1730}.summary-alert:hover{background:#ffeded}.summary-alert .stat{color:#b31332}.summary-alert small{color:#9f1730}@media(max-width:1100px){.summary-kpis{grid-template-columns:repeat(3,1fr)}}@media(max-width:700px){.summary-kpis{grid-template-columns:1fr}}
.machine-screen-cell{min-width:390px}.screen-status-grid.screen-status-compact{display:grid;grid-template-columns:repeat(2,minmax(180px,1fr));gap:8px}.screen-status-compact .screen-status{padding:11px;margin:0;min-width:0}.screen-status-compact .screen-status-heading{align-items:flex-start;gap:7px}.screen-status-compact .screen-status-heading>small{max-width:105px;line-height:1.25}.screen-last-ad{display:grid;gap:6px;margin:10px 0;font-size:12px}.screen-last-ad>div{display:grid;gap:2px}.screen-last-ad span{color:var(--muted);font-size:9px;text-transform:uppercase;letter-spacing:.5px}.screen-last-ad a,.screen-last-ad strong{line-height:1.3;overflow-wrap:anywhere}.screen-status-compact .screen-actions{gap:5px}.screen-status-compact .small-button{padding:5px 8px;min-height:29px;font-size:11px}@media(max-width:1000px){.screen-status-grid.screen-status-compact{grid-template-columns:1fr}.machine-screen-cell{min-width:210px}}
.machine-bin-status{display:flex;gap:12px;min-width:142px;justify-content:center}.machine-bin-item{display:grid;justify-items:center;gap:5px}.machine-bin-item small{max-width:66px;font-size:10px;text-align:center}.machine-bin-ring{--fill-color:#16875f;position:relative;width:58px;height:58px;border-radius:50%;display:grid;place-items:center;background:conic-gradient(var(--fill-color) calc(var(--fill)*1%),#e3ebe6 0);box-shadow:inset 0 0 0 1px #d4dfd8}.machine-bin-ring::before{content:"";position:absolute;inset:7px;border-radius:50%;background:#fff;border:3px solid #eef3f0}.machine-bin-ring span{position:relative;z-index:1;width:31px;height:31px;border-radius:50%;display:grid;place-items:center;background:#f4f8f5;color:#123f30;font-size:11px;font-weight:750}.machine-bin-ring.is-warning{--fill-color:#d58b13}.machine-bin-ring.is-danger{--fill-color:#c42139}.machine-bin-ring.is-danger span{color:#a61129}
.bin-status-visual{min-width:150px;display:grid;gap:8px}.bin-status-pairs{display:flex;gap:12px;justify-content:center}.bin-status-item{display:grid;justify-items:center;gap:4px}.bin-status-item small{max-width:68px;font-size:10px;text-align:center}.bin-status-donut{--fill-color:#16875f;width:58px;height:58px;border-radius:50%;display:grid;place-items:center;background:conic-gradient(var(--fill-color) calc(var(--fill)*1%),#e3ebe6 0)}.bin-status-donut span{width:39px;height:39px;border-radius:50%;display:grid;place-items:center;background:#fff;color:#123f30;font-size:11px;font-weight:750}.bin-status-donut.is-warning{--fill-color:#d58b13}.bin-status-donut.is-danger{--fill-color:#c42139}.bin-status-total{display:flex;align-items:center;gap:7px;font-size:10px;white-space:nowrap}.bin-total-track{height:7px;min-width:60px;flex:1;border-radius:7px;background:#e3ebe6;overflow:hidden}.bin-total-track i{display:block;height:100%;border-radius:7px;background:#16875f}.bin-status-large{max-width:420px;margin:18px 0}.bin-status-large .bin-status-donut{width:96px;height:96px}.bin-status-large .bin-status-donut span{width:68px;height:68px;font-size:18px}.bin-status-large .bin-status-item small,.bin-status-large .bin-status-total{font-size:13px}.bin-status-large .bin-total-track{height:10px}
.capacity-alert{display:block;width:100%;text-align:left;color:#684d08;background:linear-gradient(145deg,#fffdf5,#fff5d7);border-color:#ecd890;padding:26px;cursor:pointer}.capacity-alert:hover{background:#fff1c2}.capacity-alert .stat{color:#9a6500}.machine-title,.section-heading,.screen-status-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:18px}.machine-title{margin-bottom:20px}.machine-title p,.section-heading p{margin:4px 0 0}.machine-kpis{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:18px 0}.machine-kpis>div{padding:18px;background:#f7faf8;border:1px solid #e4ece7;border-radius:10px}.machine-kpis span{display:block;color:var(--muted);font-size:12px}.machine-kpis strong{display:block;color:var(--dark);font-size:28px;margin-top:7px}.machine-kpis strong.compact{font-size:15px;line-height:1.5}.bin-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.bin-card{border:1px solid var(--border);border-radius:10px;padding:16px}.bin-card>div:first-child{display:flex;justify-content:space-between;gap:12px}.bin-card.bin-warning{border-color:#e2b64d;background:#fffaf0}.bin-warning .fill i{background:#e19a24}.operational-note{font-size:12px}.screen-panel{border-top:1px solid var(--border);margin-top:24px;padding-top:24px}.screen-status{border:1px solid var(--border);border-radius:12px;padding:18px;margin:12px 0;background:#fbfdfb}.screen-status-heading strong{display:block;margin-top:3px}.screen-status-heading small{color:var(--green);font-weight:700;letter-spacing:.7px}.screen-metrics{display:grid;grid-template-columns:repeat(2,minmax(120px,1fr));gap:10px;margin:16px 0}.screen-metrics span{padding:12px;background:#f0f5f2;border-radius:8px}.screen-metrics strong{display:block;font-size:22px;color:var(--dark)}.screen-actions{display:flex;gap:8px;flex-wrap:wrap}.machine-startup-preview{max-width:320px;max-height:220px;border-radius:14px}.machine-map-popup{min-width:270px;max-height:440px;overflow:auto;color:#263b33}.machine-map-popup h3{margin:4px 0 10px;color:var(--dark)}.machine-map-popup p{margin:7px 0}.machine-map-screen{border-top:1px solid #dfe7e2;padding:12px 0}.machine-map-screen button,.machine-map-screen a{margin:6px 6px 0 0}.leaflet-popup-content-wrapper{border-radius:12px;box-shadow:0 10px 30px #153b2d2b}.leaflet-popup-content{margin:17px 19px}.summary-machine-map:has(select[data-geo="entity"] option[value="fill90"]:checked){border-color:#e2b64d}@media(max-width:700px){.machine-kpis,.bin-grid{grid-template-columns:1fr}.machine-title{align-items:center}.screen-status-heading{flex-direction:column}.screen-metrics{grid-template-columns:1fr}}
.advertising-screen .ad-section{display:none}.advertising-screen.ad-show-campaigns .ad-campaigns,.advertising-screen.ad-show-new .ad-new,.advertising-screen.ad-show-creatives .ad-creatives,.advertising-screen.ad-show-devices .ad-devices,.advertising-screen.ad-show-provisioning .ad-provisioning,.advertising-screen.ad-show-rates .ad-rates,.advertising-screen.ad-show-settings .ad-settings{display:block}.advertising-screen details{margin-top:18px}.advertising-screen details>summary{cursor:pointer;color:var(--green);font-size:13px;font-weight:650}

.creative-preview,.creative-thumb{margin:.75rem 0}.creative-preview video,.creative-preview img{display:block;max-width:min(100%,640px);max-height:360px;border-radius:12px;background:#111}.creative-thumb{display:inline-block;vertical-align:middle;margin:0 .75rem 0 0}.creative-thumb video,.creative-thumb img{display:block;width:140px;height:80px;object-fit:cover;border-radius:8px;background:#111}.category-tree,.category-tree ul{list-style:none;padding-left:1.25rem}.category-tree summary{cursor:pointer;padding:.45rem}.category-tree li li{margin:.25rem 0}
.date-range-filter{display:grid;grid-template-columns:repeat(2,minmax(115px,1fr));gap:5px}.date-range-filter input{min-width:115px!important}
.machine-map-dialog{width:min(560px,calc(100vw - 32px));height:min(760px,calc(100vh - 40px));max-height:calc(100vh - 40px);padding:0;border:0;border-radius:16px;box-shadow:0 24px 80px #09291c66;color:#263b33;background:#fff}.machine-map-dialog::backdrop{background:#102e2466;backdrop-filter:blur(2px)}.machine-map-dialog-header{position:sticky;top:0;z-index:2;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 18px;background:#fff;border-bottom:1px solid var(--border)}.machine-map-dialog-header button{width:38px;height:38px;padding:0;margin:0;font-size:22px}.machine-map-dialog-body{height:calc(100% - 67px);overflow-y:auto;padding:18px 22px}.machine-map-dialog .machine-map-popup{max-height:none;overflow:visible;min-width:0}
.screen-status-refreshable{cursor:pointer;border-radius:12px;transition:opacity .15s,box-shadow .15s}.screen-status-refreshable:hover{box-shadow:0 0 0 2px #16875f26}.screen-status-refreshable[aria-busy="true"]{opacity:.55}.screen-status-refreshable.screen-refresh-error{box-shadow:0 0 0 2px #c4213966}
.screen-version-compact{font-size:10px;color:var(--muted);margin:5px 0}.upgrade-required{display:inline-block;margin-left:6px;padding:3px 7px;border-radius:6px;background:#fde8eb;color:#a61129;font-weight:700}.screen-last-ad-full{grid-template-columns:repeat(2,minmax(130px,1fr));padding:12px;background:#f3f7f4;border-radius:8px}.screen-last-ad-full>div{min-width:0}
.kpi-hidden{display:none!important}
.advertising-screen.ad-show-campaigns .campaign-metrics.ad-section{display:grid}
.language-name{display:inline-flex;align-items:center;gap:.55rem}.language-flag{width:32px;height:22px;object-fit:cover;border-radius:4px;border:1px solid #d7dfda}.language-flag-emoji{font-size:1.35rem;line-height:1}
