:root{color-scheme:dark;--bg:#030a11;--panel:#07131e;--line:#21313d;--text:#f5f5f0;--muted:#aab5bd;--amber:#ffb21a;--green:#67c92d;--red:#ef2b20;--blue:#38a7f2;--orange:#ed791c;font-family:Inter,"Segoe UI",Arial,sans-serif}
*{box-sizing:border-box}html,body{margin:0;min-height:100%;background:radial-gradient(circle at 50% 0,#10202c 0,#030a11 55%);color:var(--text)}body{min-height:100vh}button,input,select{font:inherit}.app-shell{width:min(1600px,100%);min-height:100vh;margin:auto;padding:12px}.app-header{display:flex;align-items:center;gap:22px;min-height:72px;padding:8px 14px;background:rgba(4,12,19,.96);border:1px solid var(--line);border-radius:15px;box-shadow:0 8px 28px #0008;position:sticky;top:0;z-index:20}.compact-brand{display:flex;align-items:center;min-width:235px;gap:10px}.compact-brand img{width:62px;height:58px;object-fit:contain}.compact-brand span{display:flex;flex-direction:column}.compact-brand b{font-size:15px;color:#ffe6b0;letter-spacing:.6px}.compact-brand small{font-family:Georgia,serif;font-style:italic;color:#d89b38;font-size:11px}.tabs{display:flex;gap:6px;flex:1}.tabs button,.header-actions button,.header-actions a{border:1px solid #314553;background:#0b1924;color:#d9e2e7;border-radius:8px;padding:10px 13px;text-decoration:none;cursor:pointer}.tabs button.active,.tabs button:hover,.header-actions button:hover{background:#172938;border-color:#f1a51d;color:#ffc95f}.header-actions{display:flex;align-items:center;gap:8px}.user-name{color:#ffc34a;font-weight:700}.filters{display:flex;gap:18px;align-items:center;padding:12px 18px;color:#c5d0d6}.filters label{display:flex;align-items:center;gap:8px}.filters input,.filters select,.form-grid input,.form-grid select,.form-grid textarea,.auth-form input{background:#0c1923;color:#fff;border:1px solid #354957;border-radius:7px;padding:9px 11px}.filters #sync-state{margin-left:auto;color:#77cb4a;font-size:13px}.loading,.empty{padding:60px;text-align:center;color:var(--muted)}

[hidden]{display:none!important}#install-app{border-color:#5a8f3e;color:#b9ef9a;background:#10251a}#install-app:hover{border-color:#77cf4a;background:#193524;color:#d9ffc4}
.board{background:linear-gradient(155deg,#07131d,#02080d);border:1px solid #263640;border-radius:18px;padding:12px;box-shadow:0 15px 45px #000a,inset 0 0 40px #0d243144}.board-top{display:grid;grid-template-columns:250px 1fr 220px;align-items:center;padding:4px 10px 10px}.board-brand{display:flex;align-items:center;gap:8px}.board-brand img{width:82px;height:72px;object-fit:contain}.board-brand strong{display:block;color:#ffdea1;font-size:18px;letter-spacing:.5px}.board-brand em{font-family:Georgia,serif;color:#d28b29;font-size:12px}.board-title{text-align:center}.board-title h1{margin:0;font-size:clamp(27px,3vw,48px);line-height:1;text-transform:uppercase;letter-spacing:1px}.board-title h2{margin:6px 0 0;font-size:clamp(16px,1.5vw,25px);font-weight:600}.board-title h2 b{color:var(--amber);font-size:1.2em}.board-clock{justify-self:end;display:grid;grid-template-columns:auto 1fr;gap:6px 10px;color:#d8e0e4}.clock-icon{font-size:22px;color:#fff}.board-clock b{color:#ffc553}.main-grid{display:grid;grid-template-columns:minmax(500px,2.1fr) minmax(300px,.9fr);gap:10px}.hero-panel,.kpi-panel,.shop-card,.ranking,.content-card{border:1px solid #263743;border-radius:12px;background:linear-gradient(145deg,#081722,#030b12);box-shadow:inset 0 0 22px #142b3840}.hero-panel{padding:8px 12px 0}.gauge-wrap{max-width:800px;margin:auto;position:relative}.gauge-wrap svg{width:100%;display:block}.gauge-copy{position:absolute;left:50%;top:48%;transform:translate(-50%,-50%);text-align:center}.gauge-copy strong{display:block;font-size:clamp(48px,7vw,96px);line-height:.85;color:var(--metric,#67c92d);text-shadow:0 0 18px color-mix(in srgb,var(--metric) 40%,transparent)}.gauge-copy strong small{font-size:.48em}.gauge-copy span{font-size:clamp(13px,1.5vw,20px);font-weight:700}.metric-strip{display:grid;grid-template-columns:repeat(4,1fr);border:1px solid #2d3d48;border-radius:10px;background:#0a1720;margin-top:-18px;position:relative;z-index:2}.metric{padding:10px 12px;border-right:1px solid #374852;display:grid;grid-template-columns:auto 1fr;gap:2px 8px;align-items:center}.metric:last-child{border:0}.metric i{grid-row:1/3;font-style:normal;font-size:27px;color:var(--blue)}.metric span{font-size:11px;color:#c2ccd1;text-transform:uppercase}.metric b{font-size:22px;color:var(--metric-color,#63ca35)}.kpi-panel{padding:9px 18px;display:flex;flex-direction:column;justify-content:center}.kpi-row{display:grid;grid-template-columns:50px 1fr;align-items:center;padding:13px 0;border-bottom:1px solid #2a3943}.kpi-row:last-child{border:0}.kpi-icon{font-size:33px;text-align:center}.kpi-row span{display:block;color:#d1d8dc;font-size:12px;text-transform:uppercase}.kpi-row strong{font-size:clamp(22px,2.2vw,35px)}.kpi-row.green strong,.kpi-row.green .kpi-icon{color:var(--green)}.kpi-row.orange strong,.kpi-row.orange .kpi-icon{color:var(--orange)}.kpi-row.blue strong,.kpi-row.blue .kpi-icon{color:var(--blue)}
.locations-title{text-align:center;font-size:17px;font-weight:800;letter-spacing:1px;margin:8px 0 2px}.bottom-grid{display:grid;grid-template-columns:minmax(600px,3.2fr) minmax(230px,1fr);gap:9px}.shops{display:grid;grid-template-columns:repeat(4,1fr);gap:7px}.shop-card{text-align:center;padding:9px 8px 11px;position:relative;overflow:hidden}.shop-card h3{margin:0;font-size:15px;text-transform:uppercase}.shop-rank{position:absolute;right:10px;top:7px;width:28px;height:28px;border-radius:50%;display:grid;place-items:center;background:#58616a;font-weight:900}.shop-card:nth-child(1) .shop-rank{background:#4daa28}.shop-card:nth-child(2) .shop-rank{background:#777}.shop-card:nth-child(3) .shop-rank{background:#bd721f}.shop-card:nth-child(4) .shop-rank{background:#c72d28}.mini-gauge{height:105px;margin-top:3px}.mini-gauge svg{width:100%;height:100%}.shop-percent{margin-top:-53px;font-size:38px;font-weight:900;color:var(--metric);position:relative}.shop-percent small{font-size:.45em}.shop-total{margin-top:24px;font-size:16px}.shop-total b{color:var(--metric)}.shop-missing{font-size:13px;color:#c6c6c2;margin-top:8px}.ranking{padding:12px 15px}.ranking h3{font-size:15px;margin:0 0 8px;border-bottom:1px solid #2c3a43;padding-bottom:7px;text-transform:uppercase}.rank-row{display:grid;grid-template-columns:30px 1fr 42px;gap:8px;align-items:center;margin:10px 0}.rank-no{width:28px;height:28px;border-radius:50%;background:var(--metric);display:grid;place-items:center;color:#07100a;font-weight:900}.rank-info b{font-size:12px}.rank-bar{height:8px;background:#243039;border-radius:5px;overflow:hidden;margin-top:5px}.rank-bar i{display:block;height:100%;width:var(--width);background:var(--metric);border-radius:5px}.rank-pct{text-align:right;font-weight:700}.board-footer{display:grid;grid-template-columns:1fr 1fr 1fr;align-items:center;gap:10px;padding:10px 12px 2px;color:#c9d1d4;font-size:13px}.board-footer span:nth-child(2){text-align:center}.board-footer span:nth-child(3){text-align:right;font-family:Georgia,serif;font-style:italic;color:#d49a47}.board-footer b{color:#70cb3d;font-family:Georgia,serif;font-style:italic}.heart{color:#e62b2b;font-size:20px}.single-board .main-grid{grid-template-columns:2fr 1fr}.single-board .bottom-grid{display:none}
.content-card{padding:22px;max-width:1100px;margin:15px auto}.content-card h2{margin-top:0}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.form-grid label{display:flex;flex-direction:column;gap:6px;color:#cdd5da}.form-grid .wide{grid-column:1/-1}.form-grid textarea{resize:vertical;min-height:80px}.primary-button,.secondary-button,.danger-button{border:0;border-radius:8px;padding:11px 16px;font-weight:800;cursor:pointer}.primary-button{background:linear-gradient(#ffc53f,#e99b08);color:#171005}.secondary-button{background:#233744;color:#fff}.danger-button{background:#872b2b;color:#fff;padding:6px 9px}.actions-row{display:flex;gap:10px;margin-top:18px}.table-wrap{overflow:auto;border:1px solid #273a47;border-radius:9px}table{width:100%;border-collapse:collapse;min-width:680px}th,td{padding:10px 12px;border-bottom:1px solid #273843;text-align:left}th{background:#0d1d28;color:#ffc650;font-size:12px;text-transform:uppercase}td{color:#dae0e3}tr:last-child td{border:0}.notice{padding:12px;border-radius:8px;margin:15px 0}.notice.error{background:#4b1d1d;border:1px solid #9b4141}.notice.ok{background:#173c22;border:1px solid #3d8850}.muted{color:var(--muted)}#toast{position:fixed;right:18px;bottom:18px;background:#172c20;border:1px solid #4f9b5f;border-radius:9px;padding:12px 16px;opacity:0;transform:translateY(20px);pointer-events:none;transition:.25s;z-index:80}#toast.show{opacity:1;transform:none}#toast.error{background:#471f1f;border-color:#a54a4a}
.auth-page{display:grid;place-items:center;padding:20px}.auth-card{width:min(430px,100%);text-align:center;border:1px solid #2c3d48;border-radius:18px;padding:28px;background:linear-gradient(150deg,#0b1a25,#040a10);box-shadow:0 25px 70px #000}.setup-card{width:min(540px,100%)}.auth-logo{width:135px;height:150px;object-fit:contain}.auth-card h1{margin:0;color:#ffc65a;font-size:36px}.brand-kicker{color:#ffe0a4;font-weight:800}.auth-form{display:grid;gap:14px;text-align:left;margin-top:20px}.auth-form label{display:grid;gap:6px}.auth-form .check-row{display:flex;align-items:center;gap:9px}.auth-form .check-row input{width:auto}.auth-form .primary-button{margin-top:4px}
body.wall-mode .app-shell{width:100%;padding:0;display:grid;place-items:center;min-height:100vh}body.wall-mode .app-header,body.wall-mode .filters{display:none}body.wall-mode #app-content{width:100%;padding:4px}body.wall-mode .board{min-height:calc(100vh - 8px);display:flex;flex-direction:column;justify-content:space-between}body.wall-mode .board-top{padding-top:8px}body.wall-mode .hero-panel{display:flex;flex-direction:column;justify-content:center}
@media(max-width:1050px){.app-header{flex-wrap:wrap}.compact-brand{min-width:auto}.tabs{order:3;width:100%;overflow:auto}.main-grid,.single-board .main-grid{grid-template-columns:1fr}.bottom-grid{grid-template-columns:1fr}.board-top{grid-template-columns:180px 1fr 160px}.metric-strip{margin-top:0}.kpi-panel{display:grid;grid-template-columns:repeat(4,1fr)}.kpi-row{border-bottom:0;border-right:1px solid #2a3943}}
@media(max-width:760px){.app-shell{padding:5px}.app-header{position:static;gap:8px}.compact-brand span,.user-name,#wall-mode{display:none}.compact-brand img{width:44px;height:42px}.header-actions{margin-left:auto}.tabs button{white-space:nowrap;padding:8px}.filters{flex-wrap:wrap}.filters #sync-state{width:100%;margin:0}.board-top{grid-template-columns:1fr;text-align:center}.board-brand{display:none}.board-clock{justify-self:center;grid-template-columns:auto auto}.main-grid{display:block}.kpi-panel{grid-template-columns:1fr 1fr;margin-top:8px}.metric-strip{grid-template-columns:1fr 1fr}.metric:nth-child(2){border-right:0}.shops{grid-template-columns:1fr 1fr}.bottom-grid{display:block}.ranking{margin-top:8px}.board-footer{grid-template-columns:1fr;text-align:center}.board-footer span:nth-child(3){text-align:center}.form-grid{grid-template-columns:1fr}.gauge-copy strong{font-size:54px}.hero-panel{padding:4px}.shop-percent{font-size:32px}}
@media print{body{background:#fff;color:#000}.app-header,.filters,.actions-row,.danger-button,#toast{display:none!important}.content-card{max-width:none;border:0;box-shadow:none;background:#fff;color:#000;margin:0;padding:0}.content-card h2,.content-card p{color:#000}table{min-width:0}th{background:#eee;color:#000}td,th{color:#000;border-color:#bbb}}

/* V2: компактни приказ, јединствене контроле и бонус зона */
.app-header{gap:10px}.tabs{flex:0 1 auto}.owner-controls{display:flex;align-items:center;gap:8px;margin-left:auto}.owner-controls label{display:flex;align-items:center;gap:5px;color:#aebbc3;font-size:12px}.owner-controls select{background:#0b1924;color:#fff;border:1px solid #314553;border-radius:8px;padding:10px 8px;max-width:145px}.sync-state{display:none}.celebration{flex:none;text-align:center;margin:0 0 7px;padding:8px 12px;border:1px solid #63c937;border-radius:9px;background:linear-gradient(90deg,#153b20,#1d5125,#153b20);color:#eaffdf;box-shadow:0 0 20px #65c93333}.celebration strong,.celebration b{color:#a5ff74}.in-bonus{border-color:#5fc934;box-shadow:inset 0 0 24px #4eb72b22,0 0 12px #4eb72b22}.bonus-tag{position:absolute;left:8px;top:7px;color:#96ef63;font-size:9px;font-weight:900;letter-spacing:.4px}

@media(min-width:1051px) and (min-height:650px){
  .app-shell{height:100vh;min-height:0;display:grid;grid-template-rows:auto minmax(0,1fr);padding:8px 12px 10px}
  .app-header{position:relative;min-height:68px;height:68px;padding:5px 12px}
  .compact-brand{min-width:205px}.compact-brand img{width:54px;height:52px}.compact-brand b{font-size:13px}
  .tabs button,.header-actions button,.header-actions a{padding:8px 10px}
  .header-actions{gap:5px}.owner-controls select{padding:8px 7px}
  #app-content{min-height:0;overflow:auto}
  #app-content>.board{height:100%;min-height:0;overflow:hidden;display:flex;flex-direction:column;padding:7px 9px}
  .board-top{flex:0 0 76px;padding:0 8px;grid-template-columns:220px 1fr 190px}
  .board-brand img{width:69px;height:62px}.board-brand strong{font-size:15px}.board-title h1{font-size:clamp(25px,2.5vw,40px)}.board-title h2{font-size:clamp(14px,1.2vw,20px)}
  .main-grid{flex:1 1 auto;min-height:0;overflow:hidden}.hero-panel{min-height:0;display:flex;flex-direction:column;padding:3px 10px 0}.gauge-wrap{flex:1 1 auto;min-height:0;width:100%;max-width:760px}.gauge-wrap svg{width:100%;height:100%}.gauge-copy{top:48%}.gauge-copy strong{font-size:clamp(43px,5.5vh,70px)}.gauge-copy span{font-size:clamp(12px,1.4vh,17px)}
  .metric-strip{flex:0 0 57px;margin-top:-5px}.metric{padding:5px 8px}.metric i{font-size:22px}.metric span{font-size:9px}.metric b{font-size:clamp(14px,1.2vw,19px)}
  .kpi-panel{padding:5px 14px}.kpi-row{padding:7px 0}.kpi-icon{font-size:26px}.kpi-row span{font-size:10px}.kpi-row strong{font-size:clamp(18px,1.7vw,27px)}
  .locations-title{flex:0 0 20px;margin:2px 0 0;font-size:14px}
  .bottom-grid{flex:0 0 166px;min-height:0}.shops,.shop-card,.ranking{min-height:0}.shop-card{padding:6px 6px}.shop-card h3{font-size:12px}.shop-rank{width:24px;height:24px;font-size:12px}.mini-gauge{height:76px}.shop-percent{margin-top:-42px;font-size:30px}.shop-total{margin-top:17px;font-size:13px}.shop-missing{margin-top:3px;font-size:11px}.ranking{padding:7px 11px}.ranking h3{padding-bottom:4px;margin-bottom:4px;font-size:12px}.rank-row{margin:5px 0}.rank-no{width:24px;height:24px}.rank-info b{font-size:10px}.rank-bar{height:6px;margin-top:3px}.rank-pct{font-size:12px}
  .board-footer{flex:0 0 34px;padding:5px 10px 0;font-size:10px}
}

@media(max-width:1400px) and (min-width:1051px){.owner-controls label span{display:none}.compact-brand{min-width:185px}.user-name{display:none}}
@media(max-width:1050px){.owner-controls{order:2;margin-left:auto}.sync-state{padding-right:10px}.celebration{margin:7px 0}.bonus-tag{font-size:8px}}
@media(max-width:760px){.owner-controls{order:4;width:100%;display:grid;grid-template-columns:1fr 1fr}.owner-controls label{display:grid;grid-template-columns:auto 1fr}.owner-controls select{max-width:none;width:100%;padding:8px 6px}.sync-state{display:none}.app-header{flex-wrap:wrap}.tabs{order:3;width:100%;display:grid;grid-template-columns:repeat(4,max-content);overflow-x:auto}.header-actions a{padding:7px 9px}.board{padding:6px}.celebration{font-size:13px}.gauge-wrap svg{max-height:300px}}
body.wall-mode .app-shell{display:block;height:100vh;padding:0}body.wall-mode #app-content{height:100vh;overflow:hidden}body.wall-mode #app-content>.board{height:100%;min-height:0}

/* V3: PlanProfit образац са левом навигацијом */
.sidebar{background:linear-gradient(180deg,#091722,#050d14);border:1px solid #273944;border-radius:13px;box-shadow:0 10px 30px #0008}.sidebar-title{color:#758996;font-size:11px;font-weight:800;letter-spacing:1.4px}.sidebar .tabs button,.sidebar-actions button,.sidebar-actions a{border:1px solid #304552;background:#0b1a25;color:#dce4e8;border-radius:8px;text-decoration:none;cursor:pointer}.sidebar .tabs button.active,.sidebar .tabs button:hover,.sidebar-actions button:hover{border-color:#f2a713;background:#192b37;color:#ffc859}.sidebar-actions .user-name{color:#9fafb8}.sidebar-actions .user-name b{display:block;color:#ffc44f;margin-top:3px}.sidebar-actions .sync-state{display:block;color:#66d53b;text-align:left;height:auto;padding:0}.app-main{min-width:0;min-height:0}

@media(min-width:901px){
  .app-shell{width:100%;max-width:1920px;height:100vh;min-height:0;display:grid;grid-template-columns:178px minmax(0,1fr);grid-template-rows:1fr;gap:8px;padding:8px}
  .sidebar{min-height:0;padding:13px 10px;display:flex;flex-direction:column;gap:12px}
  .sidebar-title{padding:2px 8px 5px}
  .sidebar .tabs{display:flex;flex-direction:column;order:initial;width:100%;gap:6px;overflow:visible}
  .sidebar .tabs button{width:100%;padding:10px 9px;text-align:left;white-space:normal}
  .owner-controls{display:flex;flex-direction:column;align-items:stretch;gap:10px;margin:4px 0 0}
  .owner-controls label{display:flex;flex-direction:column;align-items:stretch;gap:5px;color:#9fb0ba}
  .owner-controls label span{display:block}
  .owner-controls select{width:100%;max-width:none;padding:9px 7px}
  .sidebar-spacer{flex:1}
  .sidebar-actions{display:flex;flex-direction:column;gap:10px;border-top:1px solid #253742;padding-top:12px;font-size:12px}
  .sidebar-actions .user-name{display:block}
  .sidebar-actions button,.sidebar-actions a{width:100%;padding:9px;text-align:left}
  .app-main,#app-content{height:100%;min-height:0;overflow:hidden}
  #app-content>.board{height:100%;min-height:0;overflow:hidden;display:flex;flex-direction:column;padding:7px 9px}
  .main-grid{flex:1 1 auto;min-height:0;grid-template-columns:minmax(0,1.62fr) minmax(300px,1fr)}
  .hero-panel{justify-content:center}
  .gauge-wrap{flex:1 1 auto;max-width:610px;max-height:370px}
  .gauge-copy strong{font-size:clamp(52px,7vh,78px)}
  .gauge-copy span{font-size:clamp(15px,1.8vh,20px)}
  .metric-strip{flex:0 0 64px}
  .metric i{font-size:27px}.metric span{font-size:10px}.metric b{font-size:clamp(18px,1.45vw,24px)}
  .kpi-panel{padding:7px 20px}.kpi-row{grid-template-columns:58px 1fr;padding:10px 0}.kpi-icon{font-size:32px}.kpi-row span{font-size:11px}.kpi-row strong{font-size:clamp(25px,2.2vw,36px)}
  .bottom-grid{flex:0 0 180px;min-height:0;grid-template-columns:minmax(0,3.2fr) minmax(200px,1fr)}.shop-card h3{font-size:13px}.shop-percent{font-size:34px}.shop-total{font-size:15px}.shop-missing{font-size:12px}.rank-info b{font-size:11px}.rank-pct{font-size:14px}
}

@media(max-width:900px){
  .app-shell{display:block;width:100%;padding:5px;min-height:100vh}
  .sidebar{position:relative;padding:7px;display:flex;flex-wrap:wrap;align-items:center;gap:7px}
  .sidebar-title,.sidebar-spacer,.sidebar-actions .user-name,.sidebar-actions .sync-state{display:none}
  .sidebar .tabs{order:2;width:100%;display:flex;gap:5px;overflow-x:auto}
  .sidebar .tabs button{padding:8px 9px;white-space:nowrap}
  .owner-controls{order:3;width:100%;display:grid;grid-template-columns:1fr 1fr;margin:0;gap:6px}
  .owner-controls label{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:5px}
  .owner-controls label span{display:block}
  .owner-controls select{width:100%;max-width:none;padding:8px 6px}
  .sidebar-actions{order:1;margin-left:auto;display:flex;gap:5px}
  .sidebar-actions button,.sidebar-actions a{padding:7px 8px;font-size:11px}
  .app-main{margin-top:5px}.main-grid{grid-template-columns:1fr}.gauge-wrap{max-width:620px}
}

body.wall-mode .sidebar{display:none}body.wall-mode .app-main{height:100vh}body.wall-mode .app-shell{display:block;max-width:none}

/* Типографија и иконографија према референтном dashboard-у */
.board{font-family:"Arial Narrow","Roboto Condensed","Segoe UI Condensed","Segoe UI",Arial,sans-serif}.board-title h1,.board-title h2,.gauge-copy strong,.gauge-copy span,.metric b,.kpi-row strong,.shop-percent,.shop-total,.rank-pct{font-family:"Arial Narrow","Roboto Condensed","Segoe UI Condensed","Segoe UI",Arial,sans-serif;font-weight:900;font-stretch:condensed}.board-title h1{letter-spacing:1.3px}.metric b,.kpi-row strong,.shop-percent{letter-spacing:.2px}.ui-icon{display:block;width:1em;height:1em}.kpi-icon{display:grid;place-items:center}.kpi-icon .ui-icon{width:38px;height:38px;filter:drop-shadow(0 0 5px currentColor)}.metric i{display:grid;place-items:center}.metric i .ui-icon{width:29px;height:29px}.clock-icon{display:grid;place-items:center}.clock-icon .ui-icon{width:22px;height:22px}.result-icon .ui-icon{fill:color-mix(in srgb,currentColor 18%,transparent)}

@media(min-width:901px){.board-top{flex-basis:84px}.board-title h1{font-size:clamp(35px,2.8vw,48px)}.board-title h2{font-size:clamp(17px,1.35vw,23px)}.gauge-wrap{max-width:620px;max-height:350px}.gauge-copy{top:50%}.gauge-copy strong{font-size:clamp(60px,8vh,88px);line-height:.82}.gauge-copy span{font-size:clamp(16px,1.9vh,21px)}.kpi-panel{padding:8px 22px}.kpi-row{grid-template-columns:64px 1fr;padding:11px 0}.kpi-row span{font-size:12px}.kpi-row strong{font-size:clamp(27px,2.35vw,39px);line-height:1}.kpi-row strong small{display:block;font-size:.56em;line-height:1.1;margin-top:4px}.kpi-icon .ui-icon{width:43px;height:43px}.metric-strip{flex-basis:70px}.metric span{font-size:11px}.metric b{font-size:clamp(20px,1.6vw,27px)}}

@media(min-width:901px){.board-top{grid-template-columns:260px 1fr 205px}.board-brand img{width:74px;height:68px}.board-brand strong{font-size:16px}.board-brand em{font-size:10px;white-space:nowrap}.main-grid{grid-template-columns:minmax(0,1.9fr) minmax(330px,1fr)}.kpi-panel{align-self:stretch;height:100%;justify-content:stretch;padding:0 22px}.kpi-row{flex:1 1 0;min-height:0;padding:0;align-content:center}.metric-strip{flex-basis:96px;margin-top:-34px}.metric{grid-template-columns:42px 1fr;column-gap:11px;padding:10px 13px}.metric i .ui-icon{width:36px;height:36px}.metric span{font-size:12px;line-height:1.12}.metric b{font-size:clamp(25px,1.9vw,31px);line-height:1}.metric:last-child span{font-size:11px}.bottom-grid{flex-basis:270px}.mini-gauge{height:108px}.shop-percent{margin-top:-55px;font-size:40px}.shop-total{margin-top:27px;font-size:16px}.shop-missing{margin-top:6px;font-size:13px}.ranking{padding:11px 14px}.ranking h3{font-size:14px;padding-bottom:7px;margin-bottom:7px}.rank-row{margin:10px 0}.rank-no{width:28px;height:28px}.rank-info b{font-size:12px}.rank-bar{height:8px;margin-top:5px}.rank-pct{font-size:15px}.board-footer{flex-basis:42px;font-size:11px}}

/* Уједначене пропорције картица локала и ранг-листе */
@media(min-width:901px){
  .locations-title{font-size:17px;margin:5px 0 3px}
  .shop-card{padding:12px 10px 13px}
  .shop-card h3{font-size:15px;font-weight:800;letter-spacing:.25px}
  .shop-rank{right:11px;top:9px;width:29px;height:29px;font-size:14px}
  .bonus-tag{left:10px;top:10px;font-size:10px}
  .mini-gauge{height:112px;margin-top:5px}
  .shop-percent{margin-top:-57px;font-size:34px;font-weight:800;letter-spacing:0}
  .shop-percent small{font-size:.43em;font-weight:700}
  .shop-total{margin-top:31px;font-size:18px;font-weight:600}
  .shop-total b{font-weight:800}
  .shop-missing{margin-top:8px;font-size:14px;line-height:1.2}
  .ranking{display:flex;flex-direction:column;padding:12px 15px}
  .ranking h3{flex:0 0 auto;font-size:16px;font-weight:800;padding-bottom:9px;margin:0}
  .rank-row{flex:1 1 0;min-height:0;grid-template-columns:32px minmax(0,1fr) 48px;gap:10px;margin:0;align-content:center}
  .rank-no{width:30px;height:30px;font-size:16px}
  .rank-info b{display:block;font-size:14px;font-weight:700;line-height:1.1}
  .rank-bar{height:10px;margin-top:7px}
  .rank-pct{font-size:16px;font-weight:800}
}

/* Натпис поред логотипа према достављеном узорку */
.board-brand{gap:10px}
.board-brand>span{display:flex;flex-direction:column;align-items:flex-start;line-height:1}
.board-brand strong{display:flex;flex-direction:column;color:#f6d58e;font-family:"Arial Narrow","Roboto Condensed","Segoe UI Condensed","Segoe UI",Arial,sans-serif;font-weight:800;text-shadow:0 1px 1px #000;line-height:.92}
.board-brand strong small{font:inherit;font-size:14px;letter-spacing:.45px}
.board-brand strong b{font:inherit;font-size:23px;letter-spacing:.25px}
.board-brand em{margin-top:5px;font-family:Georgia,"Times New Roman",serif;font-size:10px;font-weight:600;line-height:1;color:#d8942f;white-space:nowrap}
@media(min-width:901px){
  .board-brand img{flex:0 0 74px}
  .board-brand strong{font-size:inherit}
  .board-brand strong small{font-size:14px}
  .board-brand strong b{font-size:23px}
  .board-brand em{font-size:10px}
}

/* Завршна мотивациона трака */
.board-footer{border-top:1px solid #1c2d37;margin-top:4px}
.footer-item{display:flex;align-items:center;gap:10px;min-width:0}
.footer-item>i{flex:0 0 auto;display:grid;place-items:center;font-style:normal}
.footer-item>i .ui-icon{width:34px;height:34px}
.footer-item>span{display:flex;flex-direction:column;justify-content:center;line-height:1.15}
.footer-team>i{color:#70cb35}
.footer-team b{display:block;margin-top:3px;font-size:12px;font-weight:600}
.footer-thanks{justify-content:center}
.footer-thanks>i{color:#e8292d}
.footer-thanks>i .ui-icon{width:31px;height:31px}
.footer-pie{justify-content:flex-end;color:#d5a25b;font-family:Georgia,"Times New Roman",serif;font-style:italic}
.footer-pie>i{color:#c7c6bd}
.footer-pie>i .ui-icon{width:39px;height:39px}
@media(min-width:901px){
  .board-footer{flex-basis:60px;grid-template-columns:1.15fr 1fr 1.1fr;gap:18px;padding:8px 12px 3px;font-size:12px}
}

/* Завршне корекције пропорција на великим екранима */
@media(min-width:901px){
  .mini-gauge{height:142px;margin-top:3px}
  .shop-percent{margin-top:-70px}
  .shop-total{margin-top:38px}
  .board-footer{grid-template-columns:max-content max-content max-content;justify-content:center;column-gap:clamp(38px,5vw,90px)}
  .footer-team,.footer-thanks,.footer-pie{justify-content:flex-start}
}

/* Ранг локала према референтном приказу */
@media(min-width:901px){
  .ranking{padding:11px 15px 12px}
  .ranking h3{text-align:center;font-size:15px;font-weight:700;letter-spacing:.35px;padding-bottom:8px}
  .rank-row{grid-template-columns:31px minmax(0,1fr) 44px;gap:9px}
  .rank-no{width:29px;height:29px;font-size:15px;font-weight:700}
  .rank-info b{font-family:"Arial Narrow","Roboto Condensed","Segoe UI Condensed","Segoe UI",Arial,sans-serif;font-size:13px;font-weight:600;letter-spacing:.15px;line-height:1;text-transform:uppercase}
  .rank-bar{height:13px;margin-top:4px;border-radius:7px;background:#17252e}
  .rank-bar i{border-radius:7px}
  .rank-pct{font-size:15px;font-weight:700;letter-spacing:0}
}

/* Текст ранг-листе у сразмери са ширином трака */
@media(min-width:901px){
  .rank-info b{font-family:"Segoe UI",Arial,sans-serif;font-size:15px;font-weight:600;letter-spacing:.1px}
  .rank-pct{font-family:"Segoe UI",Arial,sans-serif;font-size:17px;font-weight:600}
}

/* Картице локала у пропорцији са достављеним узорком */
@media(min-width:901px){
  .shop-card{padding:12px 12px 14px}
  .shop-card h3{font-family:"Segoe UI",Arial,sans-serif;font-size:16px;font-weight:600;letter-spacing:.1px}
  .shop-rank{width:30px;height:30px;font-family:"Segoe UI",Arial,sans-serif;font-size:15px;font-weight:600}
  .bonus-tag{font-family:"Segoe UI",Arial,sans-serif;font-size:10px;font-weight:700}
  .mini-gauge{height:155px;margin-top:2px}
  .shop-percent{margin-top:-77px;font-family:"Segoe UI",Arial,sans-serif;font-size:37px;font-weight:700;letter-spacing:-.4px}
  .shop-percent small{font-size:.42em;font-weight:600}
  .shop-total{margin-top:43px;font-family:"Segoe UI",Arial,sans-serif;font-size:17px;font-weight:400}
  .shop-total b{font-weight:700}
  .shop-missing{margin-top:8px;font-family:"Segoe UI",Arial,sans-serif;font-size:14px;font-weight:400}
}

/* Историјат: независни филтери, две половине месеца и доступан скрол */
#app-content.scrollable-content,body.wall-mode #app-content.scrollable-content{overflow-y:auto;overflow-x:hidden;scrollbar-gutter:stable}
.history-card{max-width:none;margin:12px 0;padding:20px}
.history-controls{display:flex;flex-wrap:wrap;gap:12px;align-items:flex-end;margin:18px 0}
.history-controls label{display:grid;gap:6px;font-size:14px}
.history-controls select{background:#0c1923;color:#fff;border:1px solid #354957;border-radius:7px;padding:10px;min-width:160px;font:inherit}
.history-controls button{font-size:13px;min-height:40px}
.history-total{font-size:16px}.history-hint{color:#aab5bd;font-size:13px}
.history-columns{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;align-items:start}
.history-half{min-width:0;border:1px solid #273a47;border-radius:10px;overflow:hidden}
.history-half h3{margin:0;padding:12px 14px;background:#0d1d28;color:#ffd07b;font-size:16px}
.history-table-wrap{overflow-x:auto}
.history-table{min-width:0;width:100%;font-size:13px;table-layout:auto}
.history-table th,.history-table td{padding:10px 7px;vertical-align:top}
.history-table thead th{font-size:11px;text-transform:none;white-space:normal}
.history-table tbody th{font-size:12px;font-weight:400;white-space:nowrap;background:transparent;color:#dae0e3;text-transform:none}
.history-table td{text-align:right;font-variant-numeric:tabular-nums}
.history-table tfoot{font-weight:700;background:#10231f}
.history-table tfoot th{font-size:12px;background:transparent;color:#fff}
.history-day-total{font-weight:600;color:#a3df81}.history-missing{color:#84949f}
.history-sale summary{cursor:pointer;list-style:none;white-space:nowrap;text-decoration:underline;text-decoration-color:#4d6574;text-underline-offset:4px}
.history-sale summary::-webkit-details-marker{display:none}
.history-sale-detail{display:grid;gap:8px;margin-top:10px;max-width:150px;min-width:65px;text-align:left;font-size:12px;overflow-wrap:anywhere;white-space:normal}
.history-sale-detail .danger-button{font-size:11px;padding:5px}
@media(max-width:1200px){.history-columns{grid-template-columns:1fr}.history-card{padding:14px}.history-table th,.history-table td{padding:10px 8px}}
@media(max-width:600px){.history-controls label{flex:1}.history-controls select{min-width:0;width:100%}.history-table{min-width:440px}.history-card h2{font-size:21px}}
@media print{
  @page{size:A4 landscape;margin:10mm}
  html,body,.app-shell,.app-main,#app-content,#app-content.scrollable-content,body.wall-mode .app-shell,body.wall-mode .app-main,body.wall-mode #app-content.scrollable-content{height:auto!important;min-height:0!important;overflow:visible!important;display:block!important;background:white!important;color:black!important}
  .sidebar,.history-controls,.history-hint{display:none!important}
  .history-card{margin:0;padding:0;border:0;box-shadow:none}
  .history-columns{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6mm}
  .history-half,.history-table-wrap{overflow:visible;border-color:#bbb}
  .history-half h3,.history-table th,.history-table td{background:white!important;color:black!important}
  .history-table{min-width:0;font-size:9px}
  .history-table th,.history-table td{padding:5px 3px;font-size:9px!important;border-color:#bbb}
  .history-table tr{break-inside:avoid}.history-sale summary{text-decoration:none}
  .history-sale-detail{display:none!important}
}

/* V56: one shared scale for each SVG; explicit dashboard tracks on desktop. */
.gauge-wrap svg,.mini-gauge svg{display:block;width:100%;height:100%}
.shop-total{margin-top:8px}
.history-table{table-layout:fixed}
.history-table th:first-child{width:100px;text-align:left}
.history-table thead th:not(:first-child),.history-table td,.history-sale summary{text-align:center}
.history-sale-detail{margin-left:auto;margin-right:auto}
@media screen and (min-width:901px){
  .app-shell{height:100dvh;min-height:0}
  .sidebar{overflow-y:auto;scrollbar-width:thin;gap:9px}
  .sidebar-spacer{min-height:0}
  .app-main,#app-content{min-width:0;min-height:0;height:100%;overflow:hidden}
  #app-content>.board{display:grid;height:100%;min-height:0;padding:7px 9px;gap:4px;grid-template-rows:clamp(62px,10vh,90px) minmax(0,1fr) 18px clamp(155px,28vh,260px) clamp(38px,6vh,60px);overflow:hidden}
  #app-content>.board.has-celebration{grid-template-rows:clamp(62px,10vh,90px) auto minmax(0,1fr) 18px clamp(155px,28vh,260px) clamp(38px,6vh,60px)}
  .celebration{margin:0;padding:5px 8px;font-size:12px}
  .board-top{min-height:0;padding:0 6px;grid-template-columns:210px minmax(0,1fr) 125px;gap:8px}
  .board-title{min-width:0}.board-title h1{font-size:clamp(23px,2.4vw,43px);letter-spacing:.3px}.board-title h2{font-size:clamp(14px,1.25vw,22px);margin-top:5px}
  .board-brand{gap:6px}.board-brand img{width:56px;height:58px;flex-basis:56px}.board-brand strong small{font-size:12px}.board-brand strong b{font-size:21px}.board-brand em{font-size:9px}
  .board-clock{font-size:12px;gap:3px 7px}.clock-icon .ui-icon{width:20px;height:20px}
  .main-grid{display:grid;min-width:0;min-height:0;grid-template-columns:minmax(0,1.9fr) minmax(0,1fr);gap:9px;overflow:hidden}
  .hero-panel,body.wall-mode .hero-panel{display:grid;min-width:0;min-height:0;padding:5px 8px;grid-template-rows:minmax(0,1fr) clamp(60px,10vh,90px);gap:3px;overflow:hidden}
  .gauge-wrap{min-width:0;min-height:0;width:100%;height:100%;max-width:none;max-height:none;margin:0}
  .metric-strip{min-width:0;min-height:0;height:100%;margin:0;grid-template-columns:repeat(4,minmax(0,1fr));z-index:auto}
  .metric{min-width:0;grid-template-columns:26px minmax(0,1fr);grid-template-rows:auto auto;align-content:center;gap:4px 6px;padding:6px}
  .metric i .ui-icon{width:26px;height:26px}.metric span,.metric:last-child span{font-size:clamp(9px,.74vw,12px);line-height:1.1}
  .metric b{font-size:clamp(17px,1.65vw,29px);font-weight:700;line-height:1.1;letter-spacing:0;white-space:nowrap}
  .kpi-panel{display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:repeat(4,minmax(0,1fr));min-width:0;min-height:0;height:100%;padding:0 14px;margin:0}
  .kpi-row{min-width:0;min-height:0;grid-template-columns:clamp(32px,3.4vw,52px) minmax(0,1fr);gap:8px;align-content:center;padding:0;border-right:0;border-bottom:1px solid #2a3943}
  .kpi-row>div{min-width:0}.kpi-row:last-child{border-bottom:0}
  .kpi-row span{font-size:clamp(10px,.85vw,13px);line-height:1.1}
  .kpi-row strong{display:block;font-size:clamp(23px,2.5vw,42px);font-weight:700;line-height:1.06;letter-spacing:0;white-space:nowrap}
  .kpi-row strong small{display:block;font-size:.52em;line-height:1.1;margin-top:2px}
  .kpi-icon .ui-icon{width:clamp(29px,3vw,43px);height:clamp(29px,3vw,43px)}
  .locations-title{min-height:0;font-size:14px;line-height:18px;margin:0}
  .bottom-grid{min-width:0;min-height:0;grid-template-columns:minmax(0,3.2fr) minmax(210px,1fr);gap:8px}
  .shops{min-width:0;min-height:0;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px}
  .shop-card{display:grid;grid-template-rows:28px minmax(0,1fr) 23px 20px;min-width:0;min-height:0;padding:6px 7px 7px;gap:2px}
  .shop-card h3{font-size:clamp(11px,1vw,16px);font-weight:600;line-height:16px;align-self:end;padding:0 20px;white-space:nowrap;letter-spacing:0}
  .shop-rank{right:6px;top:6px;width:24px;height:24px;font-size:13px}
  .bonus-tag{top:3px;left:7px;font-size:8px;letter-spacing:0}
  .mini-gauge{width:100%;height:100%;min-height:0;margin:0}
  .shop-total{margin:0;font-size:clamp(11px,1vw,17px);font-weight:400;white-space:nowrap;align-self:center}
  .shop-missing{margin:0;font-size:clamp(10px,.85vw,14px);line-height:1.1;white-space:nowrap;align-self:center}
  .ranking{min-width:0;min-height:0;margin:0;padding:6px 10px;display:grid;grid-template-rows:24px repeat(4,minmax(0,1fr));gap:0}
  .ranking h3{font-size:clamp(12px,.95vw,16px);padding:2px 0 5px;margin:0;text-align:center}
  .rank-row{min-width:0;min-height:0;margin:0;grid-template-columns:25px minmax(0,1fr) 39px;gap:7px}
  .rank-no{width:25px;height:25px;font-size:14px}.rank-info b{font-size:clamp(11px,.95vw,15px);font-weight:500;line-height:1.1}.rank-pct{font-size:clamp(13px,1vw,17px);font-weight:500}
  .rank-bar{height:clamp(8px,1.3vh,13px);margin-top:4px}
  .board-footer{min-width:0;min-height:0;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;padding:4px 10px 0;margin:0;font-size:clamp(9px,.7vw,12px)}
  .footer-item{gap:7px;justify-content:center}.footer-item>span{min-width:0}.footer-team b{font-size:clamp(10px,.8vw,13px);margin-top:2px}
  .footer-item>i .ui-icon,.footer-thanks>i .ui-icon{width:26px;height:26px}.footer-pie>i .ui-icon{width:31px;height:31px}
}
@media screen and (min-width:901px) and (max-width:1100px){
  .app-shell{grid-template-columns:150px minmax(0,1fr)}
  .board-top{grid-template-columns:175px minmax(0,1fr) 105px}.board-brand img{width:43px;flex-basis:43px}.board-brand em{font-size:8px}
  .board-title h1{font-size:22px}.board-title h2{font-size:12px}.board-clock{font-size:11px}
  .metric{grid-template-columns:18px minmax(0,1fr);gap:3px;padding:4px}.metric i .ui-icon{width:18px;height:18px}.metric b{font-size:14px}
  .kpi-panel{padding:0 7px}.kpi-row{grid-template-columns:25px minmax(0,1fr);gap:5px}.kpi-row strong{font-size:22px}.kpi-icon .ui-icon{width:25px;height:25px}
  .bottom-grid{grid-template-columns:minmax(0,3.2fr) minmax(165px,1fr)}.shop-card{padding-left:3px;padding-right:3px}.shop-card h3{padding:0;font-size:10px}.shop-rank{width:18px;height:18px;font-size:11px}.shop-total{font-size:10px}.shop-missing{font-size:9px}
  .ranking{padding:6px}.rank-row{grid-template-columns:20px minmax(0,1fr) 32px;gap:4px}.rank-no{width:20px;height:20px;font-size:12px}.rank-info b{font-size:10px}
}
@media screen and (min-width:901px) and (max-height:600px){
  .sidebar{padding:8px;gap:6px}.sidebar .tabs button{padding:7px 9px}.sidebar-actions{gap:6px;padding-top:6px}.owner-controls{gap:6px;margin:0}.owner-controls select{padding:6px}
  #app-content>.board{grid-template-rows:56px minmax(0,1fr) 16px 150px 34px}
  #app-content>.board.has-celebration{grid-template-rows:56px auto minmax(0,1fr) 16px 150px 34px}
  .hero-panel,body.wall-mode .hero-panel{grid-template-rows:minmax(0,1fr) 52px}
  .kpi-row strong{font-size:23px}.kpi-row span{font-size:9px}.kpi-icon .ui-icon{width:27px;height:27px}
}
@media screen and (max-width:900px){
  .shop-card{padding-top:22px}.shop-card h3{font-size:13px;white-space:nowrap}
  .shop-rank{top:4px;right:5px;width:22px;height:22px;font-size:12px}.bonus-tag{top:5px;font-size:8px}
  .shop-total{font-size:13px;white-space:nowrap}.shop-missing{font-size:12px}
  .kpi-row strong small{display:block;font-size:.65em}
}


/* Wall mode is a fitted landscape canvas. Regular layouts are unchanged. */
.sidebar-actions #wall-mode{display:block}
.wall-exit{position:absolute;top:10px;right:12px;z-index:100;border:1px solid #526776;border-radius:7px;background:#10222f;color:#fff;padding:8px 10px;height:34px;font:600 12px "Segoe UI",Arial,sans-serif;cursor:pointer}
@media print{.wall-exit{display:none!important}}
@media screen {
  html.wall-active,body.wall-mode{width:100%;height:100%;min-height:0;overflow:hidden;overscroll-behavior:none}
  body.wall-mode .app-shell{position:fixed;left:var(--wall-center-x);top:var(--wall-center-y);width:var(--wall-width);height:var(--wall-height);min-height:0;max-width:none;display:block;margin:0;padding:0;transform:translate(-50%,-50%) rotate(var(--wall-angle)) scale(var(--wall-scale));transform-origin:center;overflow:hidden}
  body.wall-mode .app-main,body.wall-mode #app-content,body.wall-mode #app-content.scrollable-content{width:100%;height:100%;min-height:0;margin:0;padding:0;overflow:hidden}
  body.wall-mode #app-content>.board{display:grid;grid-template-columns:minmax(0,1fr);justify-content:stretch;align-content:stretch;width:100%;height:100%;min-height:0;margin:0;padding:7px 9px;gap:4px;grid-template-rows:74px minmax(0,1fr) 18px 180px 40px;overflow:hidden}
  body.wall-mode #app-content>.board.has-celebration{grid-template-rows:74px 28px minmax(0,1fr) 18px 180px 40px}
  body.wall-mode .board-top{display:grid;grid-template-columns:210px minmax(0,1fr) 210px;min-height:0;align-items:center;gap:8px;padding:0 6px;text-align:left}
  body.wall-mode .board-brand{display:flex;gap:6px}
  body.wall-mode .board-brand img{width:56px;height:58px;flex-basis:56px}
  body.wall-mode .board-brand strong small{font-size:12px}body.wall-mode .board-brand strong b{font-size:21px}body.wall-mode .board-brand em{font-size:9px}
  body.wall-mode .board-title{text-align:center;min-width:0}body.wall-mode .board-title h1{font-size:33px;letter-spacing:.3px;line-height:1.05;white-space:nowrap}body.wall-mode .board-title h2{font-size:18px;margin:5px 0 0}
  body.wall-mode .board-clock{justify-self:start;grid-template-columns:auto 1fr;font-size:12px;gap:3px 7px;margin:0}.wall-mode .clock-icon .ui-icon{width:20px;height:20px}
  body.wall-mode .celebration{margin:0;padding:5px 8px;font-size:12px;line-height:16px}
  body.wall-mode .main-grid{display:grid;grid-template-columns:minmax(0,1.9fr) minmax(0,1fr);gap:9px;min-width:0;min-height:0;overflow:hidden}
  body.wall-mode .hero-panel{display:grid;grid-template-rows:minmax(0,1fr) 66px;gap:3px;padding:5px 8px;min-width:0;min-height:0;overflow:hidden}
  body.wall-mode .gauge-wrap{width:100%;height:100%;min-height:0;min-width:0;max-width:none;max-height:none;margin:0}
  body.wall-mode .gauge-wrap>svg{width:100%;height:100%}
  body.wall-mode .metric-strip{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));height:100%;min-height:0;min-width:0;margin:0;max-width:none;z-index:auto}
  body.wall-mode .metric{display:grid;grid-template-columns:25px minmax(0,1fr);grid-template-rows:auto auto;align-content:center;gap:4px 5px;padding:5px;min-width:0;border-right:1px solid #374852}
  body.wall-mode .metric:last-child{border-right:0}body.wall-mode .metric i .ui-icon{width:25px;height:25px}
  body.wall-mode .metric span,body.wall-mode .metric:last-child span{font-size:10px;line-height:1.1}
  body.wall-mode .metric b{font-size:22px;line-height:1.1;font-weight:700;letter-spacing:0;white-space:nowrap}
  body.wall-mode .kpi-panel{display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:repeat(4,minmax(0,1fr));height:100%;min-width:0;min-height:0;padding:0 12px;margin:0}
  body.wall-mode .kpi-row{display:grid;grid-template-columns:38px minmax(0,1fr);align-content:center;gap:8px;padding:0;min-width:0;min-height:0;border-right:0;border-bottom:1px solid #2a3943}
  body.wall-mode .kpi-row:last-child{border:0}body.wall-mode .kpi-row>div{min-width:0}body.wall-mode .kpi-row span{font-size:11px;line-height:1.1}
  body.wall-mode .kpi-row strong{display:block;font-size:34px;font-weight:700;line-height:1.06;letter-spacing:0;white-space:nowrap}
  body.wall-mode .kpi-row strong small{display:block;font-size:.52em;line-height:1.1;margin-top:2px}
  body.wall-mode .kpi-icon .ui-icon{width:36px;height:36px}
  body.wall-mode .locations-title{font-size:14px;line-height:18px;margin:0;min-height:0}
  body.wall-mode .bottom-grid{display:grid;grid-template-columns:minmax(0,3.2fr) minmax(0,1fr);gap:8px;min-height:0;min-width:0}
  body.wall-mode .shops{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px;min-width:0;min-height:0}
  body.wall-mode .shop-card{display:grid;grid-template-rows:26px minmax(0,1fr) 22px 18px;height:100%;min-height:0;min-width:0;gap:2px;padding:5px 5px 7px}
  body.wall-mode .shop-card h3{font-size:13px;font-weight:600;line-height:16px;align-self:end;padding:0 15px;white-space:nowrap;letter-spacing:0}
  body.wall-mode .shop-rank{top:5px;right:5px;width:22px;height:22px;font-size:12px}.wall-mode .bonus-tag{top:3px;left:6px;font-size:8px;letter-spacing:0}
  body.wall-mode .mini-gauge{width:100%;height:100%;min-height:0;margin:0}
  body.wall-mode .shop-total{font-size:14px;line-height:1.1;font-weight:400;margin:0;white-space:nowrap;align-self:center}
  body.wall-mode .shop-missing{font-size:12px;line-height:1.1;margin:0;white-space:nowrap;align-self:center}
  body.wall-mode .ranking{display:grid;grid-template-rows:24px repeat(4,minmax(0,1fr));gap:0;min-height:0;min-width:0;height:100%;margin:0;padding:6px 9px}
  body.wall-mode .ranking h3{font-size:13px;line-height:16px;padding:2px 0 5px;margin:0;text-align:center}
  body.wall-mode .rank-row{min-height:0;min-width:0;grid-template-columns:24px minmax(0,1fr) 39px;gap:7px;margin:0}
  body.wall-mode .rank-no{width:24px;height:24px;font-size:13px}.wall-mode .rank-info b{font-family:"Segoe UI",Arial,sans-serif;font-size:12px;font-weight:500;line-height:1.1;text-transform:uppercase}.wall-mode .rank-pct{font-size:14px;font-weight:500}
  body.wall-mode .rank-bar{height:9px;margin-top:4px}
  body.wall-mode .board-footer{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;min-width:0;min-height:0;padding:4px 10px 0;margin:0;font-size:10px}
  body.wall-mode .footer-item{gap:7px;justify-content:center;text-align:center}.wall-mode .footer-team b{font-size:11px;margin-top:2px}
  body.wall-mode .footer-item>i .ui-icon,.wall-mode .footer-thanks>i .ui-icon{width:25px;height:25px}.wall-mode .footer-pie>i .ui-icon{width:30px;height:30px}
}

/* Контрола приступа по одобреним уређајима */
.devices-card{max-width:1450px;margin:12px auto;padding:20px}
.devices-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:18px}
.devices-heading h2{margin:0 0 6px}.devices-heading p{max-width:850px;margin:0;line-height:1.45}
.device-counts{display:flex;flex-wrap:wrap;gap:9px;margin:18px 0}
.device-counts span{padding:8px 12px;border:1px solid #2a3d49;border-radius:999px;background:#0a1822;color:#b8c5cc;font-size:13px}
.device-counts b{color:#fff;font-size:16px;margin-right:4px}
.device-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}
.device-item{position:relative;display:flex;flex-direction:column;min-width:0;padding:16px;border:1px solid #2b3e4a;border-left-width:4px;border-radius:12px;background:linear-gradient(145deg,#0b1a25,#07121b);box-shadow:0 8px 24px #0004}
.device-item.status-pending{border-left-color:#ffb21a}.device-item.status-approved{border-left-color:#67c92d}.device-item.status-blocked{border-left-color:#ef2b20}
.device-item-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding-bottom:12px;border-bottom:1px solid #273944}
.device-location{display:block;margin-bottom:4px;color:#ffc85e;font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.4px}
.device-item h3{margin:0;font-size:18px;font-weight:600}
.device-status{flex:0 0 auto;padding:6px 9px;border-radius:999px;background:#27333b;color:#dce4e7;font-size:11px;font-weight:800}
.status-pending .device-status{background:#543d12;color:#ffd276}.status-approved .device-status{background:#173d20;color:#9ded72}.status-blocked .device-status{background:#4c1b1b;color:#ff9690}
.device-item dl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 18px;margin:15px 0}
.device-item dl div{min-width:0}.device-item dt{color:#80939f;font-size:11px;text-transform:uppercase}.device-item dd{margin:4px 0 0;color:#eef2f4;font-size:14px;overflow-wrap:anywhere;font-variant-numeric:tabular-nums}
.device-extra-warning{margin:0 0 12px;padding:8px 10px;border-radius:7px;background:#4a3511;color:#ffd889;font-size:12px}
.device-item-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:auto}.device-item-actions button{min-width:105px}
.device-empty{padding:34px 20px;border:1px dashed #314652;border-radius:10px;color:#aab7bf;text-align:center}
.device-page{min-height:100dvh}.device-card{width:min(560px,100%)}
.device-card .auth-logo{width:95px;height:105px}.device-card h2{margin:12px 0 6px;font-size:23px}
.device-state-icon{width:55px;height:55px;margin:18px auto 6px;border-radius:50%;display:grid;place-items:center;font-size:30px;font-weight:800}
.device-state-icon.pending{background:#49350d;border:2px solid #e8a216;color:#ffd167}.device-state-icon.blocked{background:#4a1717;border:2px solid #d54842;color:#ffaaa5}
.device-summary{margin:20px 0;text-align:left;border:1px solid #2c404c;border-radius:9px;overflow:hidden}
.device-summary div{display:grid;grid-template-columns:95px minmax(0,1fr);gap:12px;padding:10px 12px;border-bottom:1px solid #273943}.device-summary div:last-child{border:0}
.device-summary dt{color:#8fa0a9}.device-summary dd{margin:0;font-weight:600;overflow-wrap:anywhere}
.device-gate-actions{display:flex;justify-content:center;align-items:center;gap:15px}.device-gate-actions a{color:#d4dde2;text-underline-offset:3px}
@media(max-width:850px){.device-list{grid-template-columns:1fr}.devices-card{padding:14px}.devices-heading{align-items:stretch;flex-direction:column}.devices-heading button{align-self:flex-start}}
@media(max-width:480px){.device-item dl{grid-template-columns:1fr}.device-item-head{flex-direction:column}.device-counts span{font-size:11px}.device-card{padding:20px 16px}}
