:root{
      --bg:#f4f6f8;
      --panel:#ffffff;
      --text:#17202a;
      --muted:#6b7280;
      --line:#d9dee5;
      --green:#6fc447;
      --green-soft:#dcefd3;
      --green-dark:#3c9b24;
      --pink:#e889bc;
      --pink-soft:#f4c6dc;
      --pink-dark:#cf5e9b;
      --blue:#79a4df;
      --orange:#f4d4a4;
      --gray:#d8d8d8;
      --danger:#c83e3e;
      --shadow:0 8px 28px rgba(22,34,51,.08);
      --radius:14px;
    }
    *{box-sizing:border-box}
    body{margin:0;background:var(--bg);color:var(--text);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
    button,input,select{font:inherit}
    button{cursor:pointer}
    .app{min-height:100vh}
    .topbar{
      position:sticky;top:0;z-index:50;display:flex;align-items:center;gap:12px;flex-wrap:wrap;
      padding:12px 18px;background:rgba(255,255,255,.96);border-bottom:1px solid var(--line);backdrop-filter:blur(8px)
    }
    .brand{display:flex;align-items:center;gap:10px;margin-right:auto;min-width:240px}
    .brand-mark{width:38px;height:38px;border-radius:10px;background:#111;color:#fff;display:grid;place-items:center;font-weight:850;letter-spacing:-.05em}
    .brand h1{font-size:16px;margin:0;line-height:1.15}
    .brand small{color:var(--muted);font-size:12px}
    .stats{display:flex;gap:8px;align-items:center}
    .stat{border:1px solid var(--line);background:#fff;border-radius:10px;padding:7px 10px;min-width:92px}
    .stat b{display:block;font-size:18px;line-height:1}
    .stat span{font-size:11px;color:var(--muted)}
    .toolbar{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
    .btn{border:1px solid var(--line);background:#fff;padding:9px 12px;border-radius:10px;color:var(--text);font-weight:650}
    .btn:hover{border-color:#aeb7c2;background:#fafafa}
    .btn.primary{background:#17202a;color:#fff;border-color:#17202a}
    .btn.danger{color:var(--danger)}
    .quick-toggle{display:flex;align-items:center;gap:8px;border:1px solid var(--line);border-radius:10px;padding:6px 9px;background:#fff;font-size:13px;font-weight:650}
    .switch{position:relative;width:38px;height:22px;border-radius:999px;background:#cbd5e1;transition:.18s}
    .switch::after{content:"";position:absolute;width:18px;height:18px;top:2px;left:2px;border-radius:50%;background:#fff;box-shadow:0 1px 3px rgba(0,0,0,.2);transition:.18s}
    .quick-toggle.on .switch{background:#3da42d}.quick-toggle.on .switch::after{left:18px}
    .hintbar{padding:9px 18px;font-size:12px;color:#56606d;background:#eef2f5;border-bottom:1px solid var(--line)}
    .warehouse-scroll{overflow:auto;padding:18px}
    .warehouse{
      width:1320px;min-width:1320px;margin:0 auto;background:#fff;border:1px solid #e5e9ee;border-radius:18px;box-shadow:var(--shadow);padding:18px;
      display:grid;grid-template-columns:270px 85px 520px 90px 320px;grid-template-rows:120px auto 105px;gap:12px;
      grid-template-areas:
        "a2 supply supply returns b2"
        "left pack green returns pink"
        "aa1 temp temp temp temp";
    }
    .zone{border-radius:8px;border:1px solid rgba(0,0,0,.08);display:flex;align-items:center;justify-content:center;text-align:center;font-weight:700;position:relative;overflow:hidden}
    .zone.a2{grid-area:a2;background:#50b842;flex-direction:column}.zone.b2{grid-area:b2;background:#50b842;flex-direction:column}
    .zone.a2 strong,.zone.b2 strong{font-size:54px;line-height:.9}.zone.a2 span,.zone.b2 span{font-size:13px;margin-top:8px;padding:0 12px}
    .zone.supply{grid-area:supply;background:#d4d4d4;display:grid;grid-template-columns:1fr 1fr;font-size:15px}.zone.supply div:first-child{border-right:4px solid #111;height:50%;display:grid;place-items:center}.zone.supply div:last-child{height:50%;display:grid;place-items:center}
    .left-cluster{grid-area:left;display:grid;grid-template-columns:70px 70px 1fr;grid-template-rows:1fr 210px;gap:8px}
    .vertical{writing-mode:vertical-rl;transform:rotate(180deg);font-size:17px;letter-spacing:.02em}
    .amazon{background:#e6322a;color:#fff}.stairs{background:#3d3d3d;color:#fff;font-size:28px}.trash{background:#d3d3d3;grid-column:1/2;font-size:14px}.trash small{font-weight:500;font-size:10px;display:block;margin-top:8px}.blank-left{grid-column:2/4;background:#fff;border:none}
    .pack{grid-area:pack;display:grid;grid-template-rows:repeat(5,1fr);gap:6px;margin-top:25px}.pack .zone{background:#edd4ab;font-size:10px;writing-mode:vertical-rl;transform:rotate(180deg);padding:4px}
    .returns{grid-area:returns;display:flex;flex-direction:column;align-items:stretch;justify-content:flex-start;gap:6px;border:none}.returns .zone{height:52px;background:var(--blue);font-size:12px}.returns-spacer{flex:1}
    .rack{position:relative;border-radius:10px;background:#fafbfc;border:1px solid #edf0f3;padding:7px}
    .green-rack{grid-area:green}.pink-rack{grid-area:pink}
    .rack-title{display:flex;align-items:center;justify-content:space-between;margin:0 2px 7px;font-size:11px;color:var(--muted);font-weight:700;text-transform:uppercase;letter-spacing:.05em}
    .rack-grid{display:flex;flex-direction:column;gap:3px}
    .rack-row{position:relative;display:grid;gap:3px;min-height:37px}
    .green-rack .rack-row{grid-template-columns:repeat(5,1fr)}
    .pink-rack .rack-row{grid-template-columns:repeat(4,1fr)}
    .row-watermark{position:absolute;inset:0;z-index:0;display:flex;align-items:center;justify-content:center;pointer-events:none;overflow:hidden;font-size:13px;font-weight:800;letter-spacing:.03em;color:rgba(20,30,20,.22);text-transform:uppercase;white-space:nowrap}
    .rack-slot{position:relative;z-index:2;min-height:37px;border-radius:5px;border:1px solid rgba(255,255,255,.8);display:flex;align-items:center;justify-content:center;text-align:center;padding:3px;user-select:none;touch-action:manipulation;transition:transform .06s, box-shadow .12s, filter .12s;overflow:hidden}
    .slot-feedback{position:absolute;inset:0;z-index:6;display:flex;align-items:center;justify-content:center;gap:5px;padding:3px;border-radius:inherit;color:#fff;font-size:10px;font-weight:900;letter-spacing:.03em;pointer-events:none;animation:slotFeedbackIn .16s ease-out both}
    .slot-feedback.added{background:rgba(28,113,48,.92)}
    .slot-feedback.removed{background:rgba(55,65,81,.92)}
    .slot-feedback .feedback-icon{font-size:15px;line-height:1}
    @keyframes slotFeedbackIn{from{opacity:0;transform:scale(.88)}to{opacity:1;transform:scale(1)}}
    @media (prefers-reduced-motion:reduce){.slot-feedback{animation:none}.rack-slot{transition:none}}
    .green-rack .rack-slot{background:rgba(111,196,71,.27);border-color:#c5e8b5}
    .pink-rack .rack-slot{background:rgba(232,137,188,.28);border-color:#efb9d4}
    .rack-slot:hover{filter:brightness(.98);box-shadow:inset 0 0 0 2px rgba(20,30,40,.08)}
    .rack-slot:active{transform:scale(.985)}
    .rack-slot.occupied.green{background:var(--green);border-color:var(--green-dark)}
    .rack-slot.occupied.pink{background:var(--pink);border-color:var(--pink-dark)}
    .rack-slot.override{box-shadow:inset 0 0 0 3px #1f2937}
    .slot-main{font-size:9.5px;font-weight:850;line-height:1.05;max-width:96%;overflow:hidden;text-overflow:ellipsis}.slot-main span{display:block;white-space:nowrap}.slot-main small{display:block;font-size:7.3px;font-weight:650;opacity:.75;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-top:2px}.rack-row.unlinked-row{outline:1px dashed rgba(190,120,0,.45);outline-offset:-1px}.rack-row.unlinked-row .row-watermark::after{content:'  ·  SKU NI POVEZAN';color:rgba(150,85,0,.55)}
    .slot-id{position:absolute;left:4px;bottom:2px;font-size:7.5px;font-weight:700;color:rgba(0,0,0,.38)}
    .slot-edit{position:absolute;right:2px;top:2px;width:18px;height:18px;border:none;border-radius:5px;background:rgba(255,255,255,.82);font-size:11px;font-weight:900;display:none;align-items:center;justify-content:center;padding:0}
    .rack-slot:hover .slot-edit,.rack-slot.override .slot-edit{display:flex}
    .zone.aa1{grid-area:aa1;background:#e46f6b;font-size:22px}.zone.temp{grid-area:temp;background:#d3d3d3;flex-direction:column;font-size:15px}.zone.temp span{font-size:13px;font-weight:500;margin-top:7px}
    .empty-label{color:#a0a7af;font-style:italic;font-weight:600}
    .modal-backdrop{position:fixed;inset:0;background:rgba(17,24,39,.48);z-index:100;display:none;align-items:center;justify-content:center;padding:20px}
    .modal-backdrop.open{display:flex}
    .modal{width:min(560px,100%);max-height:86vh;overflow:auto;background:#fff;border-radius:16px;box-shadow:0 20px 70px rgba(0,0,0,.28);padding:18px}
    .modal h2{font-size:18px;margin:0 0 6px}.modal p{margin:0 0 16px;color:var(--muted);font-size:13px}
    .field{display:flex;flex-direction:column;gap:6px;margin:12px 0}.field label{font-size:12px;font-weight:750}.field input,.field select{width:100%;border:1px solid #cfd6df;border-radius:10px;padding:10px 11px;background:#fff}.field input:focus,.field select:focus{outline:2px solid #17202a22;border-color:#758190}
    .modal-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:18px;flex-wrap:wrap}
    .search-results{border:1px solid var(--line);border-radius:10px;max-height:230px;overflow:auto;margin-top:7px;display:none}.search-results.open{display:block}
    .result{padding:9px 10px;border-bottom:1px solid #edf0f3;cursor:pointer}.result:last-child{border-bottom:0}.result:hover{background:#f4f6f8}.result b{font-size:12px}.result span{font-size:12px;color:var(--muted);margin-left:5px}
    .row-config-list{display:flex;flex-direction:column;gap:7px}.row-config{display:grid;grid-template-columns:120px 1fr auto;gap:8px;align-items:center;padding:8px;border:1px solid #edf0f3;border-radius:10px}.row-config code{font-size:11px;color:#59616b;display:flex;flex-direction:column;gap:2px}.row-config code small{font:700 10px/1.1 Inter,ui-sans-serif,system-ui;color:#8a929b;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.row-config select{border:1px solid var(--line);border-radius:8px;padding:7px;background:#fff;min-width:0}.badge{padding:3px 6px;border-radius:999px;font-size:10px;font-weight:800;background:#eef2f5;color:#58606a}
    .toast{position:fixed;right:18px;bottom:18px;z-index:150;background:#17202a;color:#fff;padding:10px 13px;border-radius:10px;box-shadow:var(--shadow);font-size:13px;opacity:0;transform:translateY(10px);pointer-events:none;transition:.18s}.toast.show{opacity:1;transform:translateY(0)}
    .footer-note{text-align:center;padding:2px 18px 20px;color:#8a929b;font-size:11px}
    .stats-modal{width:min(760px,100%)}
    .date-range{display:grid;grid-template-columns:1fr 1fr auto;gap:10px;align-items:end}.date-range .field{margin:0}.date-range .btn{height:42px}
    .stats-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin:16px 0}.summary-card{border:1px solid var(--line);border-radius:12px;padding:10px;background:#fafbfc}.summary-card b{display:block;font-size:23px;line-height:1}.summary-card span{display:block;font-size:11px;color:var(--muted);margin-top:5px}
    .trend-list{display:flex;flex-direction:column;gap:10px}.trend-card{border:1px solid var(--line);border-radius:12px;padding:10px 12px;background:#fff}.trend-head{display:flex;justify-content:space-between;gap:10px;align-items:center;font-size:12px}.trend-head span{color:var(--muted);font-size:11px}.trend-chart{height:90px;margin-top:8px;overflow:hidden}.trend-chart svg{width:100%;height:100%;display:block}.chart-empty{height:100%;display:grid;place-items:center;color:#9aa2ab;font-size:12px;background:#fafbfc;border-radius:8px}
    @media (max-width:1024px){
      body{background:#fff}.topbar{padding:8px 10px;gap:8px}.brand{display:none}.hintbar{display:none}.footer-note{display:none}
      .stats{order:1;flex:1;display:grid;grid-template-columns:repeat(3,1fr);gap:5px}.stat{min-width:0;padding:6px 7px}.stat b{font-size:16px}.stat span{font-size:9px}
      .toolbar{order:2;width:auto;margin-left:auto}.toolbar .btn{display:none}.toolbar #statsBtn{display:block;padding:8px 10px}.quick-toggle{padding:5px 7px}.quick-toggle span:last-child{display:none}
      .warehouse-scroll{padding:0;overflow:visible}.warehouse{width:100%;min-width:0;margin:0;border:0;border-radius:0;box-shadow:none;padding:8px;display:flex;flex-direction:column;gap:10px}
      .warehouse > :not(.green-rack):not(.pink-rack){display:none!important}.rack{padding:5px;border-radius:7px}.rack-title{margin:0 2px 5px}.rack-grid{gap:4px}.rack-row{min-height:46px;gap:4px}.rack-slot{min-height:46px;border-radius:6px}.slot-main{font-size:10px}.slot-main small{font-size:7px}.slot-id{font-size:7px}.slot-edit{display:flex;width:20px;height:20px;font-size:12px}.slot-feedback{font-size:10px}.slot-feedback .feedback-icon{font-size:16px}
      .stats-summary{grid-template-columns:1fr 1fr}.date-range{grid-template-columns:1fr 1fr}.date-range .btn{grid-column:1/-1}.modal{max-height:92vh;padding:14px}
    }
    @media (max-width:520px){
      .topbar{position:sticky}.stats{width:100%;flex-basis:100%}.toolbar{width:100%;justify-content:flex-end}.warehouse{padding:5px}.rack-row{min-height:52px}.rack-slot{min-height:52px;padding:2px}.slot-main small{display:none}.slot-main{font-size:8.5px}.slot-id{font-size:6.5px}.stats-summary{grid-template-columns:1fr 1fr}
    }
