:root{--bg:#f5f6f2;--panel:#fff;--ink:#15201b;--muted:#68736d;--line:#dfe4df;--accent:#2f6b45;--accent2:#e4efe7;--danger:#a63434;--warn:#9a6517;--shadow:0 12px 36px rgba(20,40,28,.08);font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink)}button,input,select,textarea{font:inherit}button{cursor:pointer}.hidden{display:none!important}.app{min-height:100vh;display:grid;grid-template-columns:250px 1fr}.sidebar{background:#18251e;color:#fff;padding:20px 14px;display:flex;flex-direction:column;position:sticky;top:0;height:100vh}.brand{display:flex;gap:12px;align-items:center;padding:4px 8px 22px}.brand span{display:block;color:#9fb2a5;font-size:12px}.brand-mark{width:58px;height:58px;border-radius:18px;display:grid;place-items:center;background:#dcefe0;color:#1b5531;font-weight:900;font-size:22px}.brand-mark.small{width:42px;height:42px;border-radius:13px;font-size:16px}nav{display:grid;gap:5px}nav button{border:0;background:transparent;color:#c9d5cc;text-align:left;padding:11px 13px;border-radius:10px}nav button:hover,nav button.active{background:#2a3b31;color:#fff}.sidebar-footer{margin-top:auto;border-top:1px solid #34483b;padding:16px 8px 0;display:grid;gap:3px}.sidebar-footer small{color:#9fb2a5}.ghost{margin-top:8px;background:transparent;color:inherit;border:1px solid #4c6253;border-radius:8px;padding:7px}.main{min-width:0}.topbar{height:92px;padding:20px 28px;border-bottom:1px solid var(--line);background:rgba(255,255,255,.86);backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:space-between;position:sticky;top:0;z-index:5}.topbar h1{margin:0;font-size:25px}.topbar p{margin:3px 0 0;color:var(--muted);font-size:13px}.content{padding:24px 28px 50px}.cards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.card,.panel{background:var(--panel);border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow)}.card{padding:18px}.card .label{color:var(--muted);font-size:13px}.card .value{font-size:28px;font-weight:800;margin-top:8px}.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:16px}.panel{padding:18px}.panel h2{font-size:17px;margin:0 0 14px}.toolbar{display:flex;gap:10px;align-items:center;margin-bottom:14px;flex-wrap:wrap}.toolbar input,.toolbar select{min-width:190px}.primary,.secondary,.danger,.small-btn{border:0;border-radius:9px;padding:9px 13px;font-weight:700}.primary{background:var(--accent);color:#fff}.secondary{background:var(--accent2);color:#1d5a34}.danger{background:#f6dddd;color:var(--danger)}.small-btn{padding:5px 8px;font-size:12px;background:#edf1ed;color:#26372c}.full{width:100%}.table-wrap{overflow:auto;border:1px solid var(--line);border-radius:12px;background:#fff}table{width:100%;border-collapse:collapse;min-width:760px}th,td{text-align:left;padding:10px 11px;border-bottom:1px solid #edf0ed;font-size:13px;vertical-align:top}th{background:#f7f9f7;color:#546159;font-weight:700;position:sticky;top:0}tr:last-child td{border-bottom:0}.num{text-align:right;font-variant-numeric:tabular-nums}.muted{color:var(--muted)}.badge{display:inline-block;padding:4px 8px;border-radius:999px;background:#edf1ed;font-size:11px;font-weight:800}.badge.ok{background:#dff0e4;color:#24603a}.badge.warn{background:#f9ebc9;color:#875512}.badge.danger{background:#f5dede;color:#963434}.badge.info{background:#e0ebf6;color:#305e88}.actions{display:flex;gap:5px;flex-wrap:wrap}label{display:grid;gap:5px;font-size:13px;font-weight:700}input,select,textarea{border:1px solid #cfd7d1;border-radius:9px;padding:9px 10px;background:#fff;color:var(--ink)}textarea{min-height:80px;resize:vertical}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.form-grid .wide{grid-column:1/-1}.line-items{display:grid;gap:8px}.line-item{display:grid;grid-template-columns:2fr .7fr .9fr auto;gap:8px;align-items:end;padding:10px;border:1px solid var(--line);border-radius:10px;background:#fafbfa}.auth-screen{min-height:100vh;display:grid;place-items:center;padding:20px;background:radial-gradient(circle at top,#eaf3ec,#f5f6f2 55%)}.auth-card{width:min(420px,100%);background:#fff;border:1px solid var(--line);border-radius:20px;padding:30px;box-shadow:var(--shadow)}.auth-card .brand-mark{margin:auto}.auth-card h1{text-align:center;margin:15px 0 4px}.auth-card form{display:grid;gap:13px;margin-top:22px}.alert{padding:10px 12px;border-radius:9px;margin-top:12px;font-size:13px}.alert.error{background:#f8dede;color:#8e2929}.toast{position:fixed;right:24px;top:105px;background:#18251e;color:white;padding:12px 15px;border-radius:10px;z-index:30;box-shadow:var(--shadow)}dialog{border:0;border-radius:16px;padding:0;width:min(820px,94vw);max-height:90vh;box-shadow:0 30px 80px rgba(0,0,0,.25)}dialog::backdrop{background:rgba(12,22,16,.5)}.modal-shell{margin:0}.modal-shell>header,.modal-shell>footer{padding:15px 18px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.modal-shell>footer{border-top:1px solid var(--line);border-bottom:0;justify-content:flex-end;gap:8px}.modal-shell h2{margin:0;font-size:19px}.modal-body{padding:18px;overflow:auto;max-height:68vh}.icon-btn{border:0;background:transparent;font-size:25px}.empty{padding:35px;text-align:center;color:var(--muted)}.kpi-detail{font-size:12px;color:var(--muted);margin-top:4px}.status-row{display:flex;gap:8px;align-items:center}.section-note{padding:12px;background:#eef4ef;border-radius:10px;color:#3f5546;font-size:13px;margin-bottom:14px}.file-drop{border:2px dashed #cbd5cd;padding:24px;border-radius:12px;text-align:center}.stack{display:grid;gap:12px}.nowrap{white-space:nowrap}
@media(max-width:1100px){.cards{grid-template-columns:repeat(2,1fr)}.grid-2{grid-template-columns:1fr}}
@media(max-width:760px){.app{grid-template-columns:1fr}.sidebar{position:static;height:auto}.sidebar nav{grid-template-columns:repeat(2,1fr)}.sidebar-footer{display:none}.topbar{position:static}.content{padding:16px}.cards{grid-template-columns:1fr}.form-grid{grid-template-columns:1fr}.line-item{grid-template-columns:1fr 1fr}.topbar{padding:16px;height:auto}.topbar h1{font-size:21px}}

.modal-error{margin:14px 18px 0}.field-error{display:block;color:#a12d2d;font-size:12px;font-weight:600;line-height:1.3}.invalid{border-color:#c83f3f!important;box-shadow:0 0 0 3px rgba(200,63,63,.12)!important}.check-label{display:flex!important;grid-template-columns:auto 1fr!important;align-items:center;justify-content:flex-start;gap:8px}.check-label input{width:auto}.modal-shell>header{position:sticky;top:0;background:#fff;z-index:2}.modal-shell>footer{position:sticky;bottom:0;background:#fff;z-index:2}.modal-shell button:disabled{opacity:.65;cursor:wait}
.field-help{display:block;color:var(--muted);font-size:11px;font-weight:500;line-height:1.35}
.filter-panel{padding:16px 18px}.product-filters{display:grid;grid-template-columns:repeat(3,minmax(180px,1fr));gap:12px}.filter-actions{margin:12px 0 0;justify-content:space-between}.link-btn{border:0;background:transparent;color:#1b6b3a;text-decoration:underline;padding:0;font-weight:800;white-space:nowrap}.link-btn:hover{text-decoration:none}.clamp{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;max-width:280px}.modal-body .table-wrap{max-height:52vh}
@media(max-width:1000px){.product-filters{grid-template-columns:repeat(2,minmax(180px,1fr))}}
@media(max-width:720px){.app{grid-template-columns:1fr}.sidebar{position:static;height:auto}.topbar{position:static}.content{padding:16px}.cards,.grid-2,.form-grid,.product-filters{grid-template-columns:1fr}.line-item{grid-template-columns:1fr}.form-grid .wide{grid-column:auto}dialog{width:96vw}}

/* v0.3.0 */
.sidebar-footer{gap:7px}.sidebar-footer #logoutBtn{display:block!important;width:100%;background:#fff;color:#18251e;border:2px solid #dcefe0;font-weight:800;padding:9px 12px}.sidebar-footer #logoutBtn:hover{background:#dcefe0}
.column-list{display:grid;gap:8px}.column-row{display:flex;align-items:center;justify-content:space-between;padding:10px 12px;border:1px solid var(--line);border-radius:10px;background:#fafbfa}.column-row .check-label{flex:1}
.order-detail-head{display:grid;grid-template-columns:1fr 1fr;gap:18px;padding:14px;background:#f6f8f6;border:1px solid var(--line);border-radius:12px;margin-bottom:16px}.order-detail-head .badge{margin-left:4px}
.suggestion-list{display:grid;gap:7px}.suggestion-row{display:grid;grid-template-columns:auto minmax(240px,1fr) 100px 45px 110px;align-items:center;gap:9px;background:#fff;border:1px solid #d8e2da;border-radius:10px;padding:9px;font-weight:500}.suggestion-row>input[type=checkbox]{width:auto}.suggestion-row .suggestion-qty{min-width:0}.suggestion-row small{color:var(--muted)}
.receipt-product{border:1px solid var(--line);border-radius:12px;padding:12px;background:#fafbfa}.receipt-product-head{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-bottom:10px}.batch-receipt-lines{display:grid;gap:8px}.batch-receipt-row{display:grid;grid-template-columns:.65fr 1fr 1fr 1fr .9fr auto;gap:8px;align-items:end;padding:9px;border-radius:9px;background:#fff;border:1px solid #e2e7e3}.receipt-total{margin-top:8px;text-align:right}.over-limit{color:var(--danger)!important;font-weight:800}.price-cell{width:140px;text-align:right}.audit-details{display:block;max-width:440px;white-space:pre-wrap;word-break:break-word;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:11px;color:#536159}
@media(max-width:900px){.suggestion-row{grid-template-columns:auto 1fr 100px}.suggestion-row>span:nth-last-child(-n+2){display:none}.batch-receipt-row{grid-template-columns:1fr 1fr}.order-detail-head{grid-template-columns:1fr}}
@media(max-width:760px){.sidebar-footer{display:grid!important}.sidebar{height:auto}.sidebar-footer #logoutBtn{width:100%}}


/* VermiCore ERP v0.4.0 */
.openable-row { cursor: pointer; }
.openable-row:hover { background: rgba(47,107,69,.08); }
.dashboard-return { font-weight: 700; }
.input-with-button { display: grid; grid-template-columns: minmax(0,1fr) auto; gap: 8px; }
.detail-grid { display:grid; grid-template-columns:minmax(120px,180px) minmax(0,1fr); gap:10px 16px; align-items:start; }
.detail-grid b { color:#456; }
.needs-review, .review-field { border-color:#c96 !important; background:#fff8e8 !important; }


/* VermiCore ERP v0.4.3 – měnitelné šířky sloupců a pevná výška řádků */
.resizable-table-wrap{position:relative}
.resizable-table{table-layout:fixed}
.resizable-table col{min-width:60px}
.resizable-table thead tr,.resizable-table tbody tr{height:42px;max-height:42px}
.resizable-table th,.resizable-table td{position:relative;height:42px;max-height:42px;white-space:nowrap!important;overflow:hidden;text-overflow:ellipsis;vertical-align:middle;padding-top:9px;padding-bottom:9px}
.resizable-table th{padding-right:18px;user-select:none}
.resizable-table td br{display:none}
.resizable-table td .clamp,.resizable-table td .audit-details{display:block;max-width:none;white-space:nowrap!important;overflow:hidden;text-overflow:ellipsis;word-break:normal;-webkit-line-clamp:unset}
.resizable-table td .actions{display:flex;flex-wrap:nowrap;overflow:hidden;white-space:nowrap}
.resizable-table td .actions>*{flex:0 0 auto}
.column-resizer{position:absolute;right:0;top:0;width:8px;height:100%;cursor:col-resize;touch-action:none;z-index:3}
.column-resizer::after{content:"";position:absolute;right:3px;top:7px;bottom:7px;width:1px;background:#c6d0c8;opacity:.75}
.column-resizer:hover::after,.resizable-table.is-resizing .column-resizer::after{width:2px;background:var(--accent);opacity:1}
.column-resize-active,.column-resize-active *{cursor:col-resize!important;user-select:none!important}

/* VermiCore ERP v0.5.0 */
.subpanel { background: var(--surface, #fff); border: 1px solid var(--line); box-shadow: none; }
.totals-box { display:flex; flex-wrap:wrap; justify-content:flex-end; gap:18px; margin:16px 0; padding:12px 16px; background:var(--soft,#f5f7f5); border-radius:10px; }
.section-note.success { border-color:#69a877; background:#edf8ef; color:#1e6330; }
.section-note.error { border-color:#d88b8b; background:#fff1f1; color:#8a1f1f; }
.danger-btn { background:#fff1f1; border:1px solid #d88b8b; color:#8a1f1f; }

/* v0.6.0 – oprava postranního menu a nové přehledy */
.sidebar{height:100dvh;min-height:0;overflow:hidden;padding-bottom:12px}
.sidebar .brand{flex:0 0 auto;padding-bottom:14px}
.sidebar nav{display:flex;flex:1 1 auto;min-height:0;overflow-y:auto;overflow-x:hidden;flex-direction:column;gap:4px;padding-right:4px;scrollbar-width:thin;scrollbar-color:#52685a transparent}
.sidebar nav::-webkit-scrollbar{width:7px}.sidebar nav::-webkit-scrollbar-thumb{background:#52685a;border-radius:8px}
.sidebar nav button{flex:0 0 auto;white-space:nowrap}
.sidebar-footer{flex:0 0 auto;margin-top:10px;background:#18251e;position:relative;z-index:2}
.smtp-diagnostics{white-space:pre-wrap;line-height:1.55}.smtp-diagnostics.success{background:#dff0e4;color:#24603a}.smtp-diagnostics.error{background:#f8dede;color:#8e2929}
.compact-lines{display:grid;gap:7px}.compact-line{display:grid;grid-template-columns:minmax(220px,2fr) minmax(110px,.7fr) auto;gap:8px;align-items:end}
.financial-positive{color:#24603a}.financial-negative{color:#963434}.price-history{max-height:280px;overflow:auto}
@media(max-width:760px){.sidebar{height:auto;overflow:visible}.sidebar nav{overflow:visible;display:grid}.compact-line{grid-template-columns:1fr}}

/* v0.7.0 */
.compact-line .wide{flex:1}.detail-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;margin-bottom:16px}.detail-grid>div{background:#f7f8fa;padding:10px;border-radius:8px}.detail-grid span{display:block;font-size:12px;color:#667085;margin-bottom:4px}


/* VermiCore ERP v0.8.0-test.1 – jednoznačné označení testovacího prostředí */
.test-env-banner{position:fixed;inset:0 0 auto 0;height:34px;display:flex;align-items:center;justify-content:center;padding:0 12px;background:#b42318;color:#fff;font-size:12px;font-weight:900;letter-spacing:.05em;z-index:9999;box-shadow:0 2px 8px rgba(0,0,0,.22)}
body.test-environment{padding-top:34px}
body.test-environment .app,body.test-environment .auth-screen{min-height:calc(100vh - 34px)}
body.test-environment .sidebar{top:34px;height:calc(100dvh - 34px)}
body.test-environment .topbar{top:34px}
.test-chip{display:inline-block;margin-left:7px;padding:3px 7px;border-radius:999px;background:#b42318;color:#fff;font-size:12px;vertical-align:middle}
@media(max-width:760px){.test-env-banner{height:auto;min-height:34px;text-align:center;line-height:1.25}.test-environment .sidebar{top:0;height:auto}.test-environment .topbar{top:0}}


/* v0.8.0 – seskupené menu, ekonomické centrum a HR */
.nav-group{border:1px solid rgba(255,255,255,.08);border-radius:10px;overflow:hidden;background:rgba(255,255,255,.025);flex:0 0 auto}
.nav-group summary{list-style:none;cursor:pointer;padding:10px 12px;color:#fff;font-size:13px;font-weight:800;display:flex;align-items:center;justify-content:space-between;user-select:none}
.nav-group summary::-webkit-details-marker{display:none}.nav-group summary::after{content:'›';font-size:18px;transform:rotate(0);transition:.15s}.nav-group[open] summary::after{transform:rotate(90deg)}
.nav-items{display:grid;gap:2px;padding:0 5px 6px}.nav-items button{padding:8px 10px 8px 22px!important;font-size:12.5px}.nav-home{font-weight:800}
.nav-group:has(button.active){border-color:#63806d;background:rgba(255,255,255,.055)}
.economic-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.metric-card{padding:16px;border:1px solid var(--line);border-radius:12px;background:#fff}.metric-card .metric-value{font-size:24px;font-weight:900;margin-top:6px}.metric-card .metric-label{color:var(--muted);font-size:12px}.financial-positive{color:#24603a}.financial-negative{color:#963434}
.bar-list{display:grid;gap:10px}.bar-row{display:grid;grid-template-columns:110px 1fr 110px;gap:10px;align-items:center;font-size:13px}.bar-track{height:12px;border-radius:999px;background:#edf1ed;overflow:hidden}.bar-fill{height:100%;background:#4c7a5c;border-radius:999px;min-width:2px}.stat-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.subtabs{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:14px}.subtabs button.active{background:#18251e;color:#fff}.overdue{background:#fff3f3}.due-soon{background:#fff9e8}.hr-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:16px}.hr-summary .card{padding:14px}.status-open{color:#875512}.status-done{color:#24603a}.nav-section-note{font-size:11px;color:#9fb2a5;padding:2px 10px}
@media(max-width:1050px){.economic-grid,.hr-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.stat-grid{grid-template-columns:1fr}}
@media(max-width:760px){.nav-group{grid-column:1/-1}.economic-grid,.hr-summary{grid-template-columns:1fr}.bar-row{grid-template-columns:85px 1fr 85px}}

.test-env-banner.data-warning{background:#7a271a;animation:testWarningPulse 1.2s ease-in-out infinite alternate}
@keyframes testWarningPulse{from{opacity:1}to{opacity:.72}}


/* VermiCore ERP v0.9.0-test.1 */
.brand-logo{width:54px;height:54px;object-fit:contain;background:#fff;border-radius:12px;padding:3px;flex:0 0 auto}.brand-logo.auth-logo{display:block;width:150px;height:118px;margin:0 auto;background:transparent;border-radius:0;padding:0}.app-footer{display:flex;justify-content:space-between;gap:18px;padding:16px 28px 22px;color:var(--muted);font-size:12px;border-top:1px solid var(--line);background:rgba(255,255,255,.45)}
.detail-tabs-v90{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:16px}.detail-tabs-v90 button.active{background:#18251e;color:#fff}.fixed-component{padding:11px 12px;border:1px solid var(--line);border-radius:9px;background:#f4f7f4;font-weight:600}.product-filters-v90{grid-template-columns:repeat(4,minmax(155px,1fr))}.modal-body h3{margin-top:22px;margin-bottom:10px}.modal-body h3:first-child{margin-top:0}.detail-tab-v90{min-height:120px}
@media(max-width:1100px){.product-filters-v90{grid-template-columns:repeat(2,minmax(160px,1fr))}}@media(max-width:720px){.app-footer{display:grid;padding:14px 16px}.product-filters-v90{grid-template-columns:1fr}.brand-logo{width:48px;height:48px}}


/* VermiCore ERP v0.10.0-test.1 */
.receive-progress-v100{height:8px;min-width:120px;background:#e8ece5;border-radius:999px;overflow:hidden;margin-bottom:5px}.receive-progress-v100>div{height:100%;background:#6b8b00;border-radius:999px}.payment-panel-v100{border:1px solid #ccd8c4;background:#f7faf5;border-radius:10px;padding:14px;margin-bottom:16px}.payment-panel-v100 h3{margin-top:0}.blocking-warning-v100{margin-top:10px;padding:10px;border-radius:8px;background:#fff0dc;border:1px solid #eead54;color:#753b00}.audit-details-v100{white-space:pre-wrap;word-break:break-word;font-family:inherit;font-size:11px}.compact-number{width:100px!important;min-width:85px!important}.complaint-legend-v100{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 12px}.complaint-legend-v100 span{padding:7px 10px;border-radius:7px;border:1px solid transparent}.complaint-warning-v100{background:#fff8da!important}.complaint-critical-v100{background:#ffe9cd!important}.complaint-overdue-v100{background:#ffe0e0!important}.complaint-legend-v100 .complaint-warning-v100{border-color:#e8cb50}.complaint-legend-v100 .complaint-critical-v100{border-color:#e99434}.complaint-legend-v100 .complaint-overdue-v100{border-color:#d45c5c}.complaint-head-v100{display:flex;justify-content:space-between;gap:14px;padding:12px;border-radius:8px;margin-bottom:14px}.dashboard-complaints-v100{margin-top:16px;border-left:5px solid #d58324}.hidden{display:none!important}


/* VermiCore ERP v0.11.0-test.1 – kompaktní režim, větší dialogy, řazení a filtry */
body{font-size:12.5px}.content{padding:16px 20px}.panel{padding:14px}.topbar{min-height:58px}.sidebar nav button{padding-top:7px!important;padding-bottom:7px!important}.cards{gap:10px}.card{padding:12px}.card .value{font-size:21px}.resizable-table thead tr,.resizable-table tbody tr{height:34px;max-height:34px}.resizable-table th,.resizable-table td{height:34px;max-height:34px;padding-top:5px;padding-bottom:5px;font-size:12px}input,select,textarea,button{font-size:12px;padding:7px 9px}.modal{width:min(96vw,1500px)!important;max-width:1500px!important;height:min(92vh,980px);max-height:92vh}.modal-body{max-height:calc(92vh - 145px)!important;overflow:auto}.form-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.form-grid .wide{grid-column:1/-1}.table-tools-v110{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin:7px 0;padding:6px 8px;border:1px solid var(--line);border-radius:8px;background:#f7f9f6}.filter-list-v110{display:flex;gap:5px;flex-wrap:wrap}.filter-chip-v110{display:inline-grid;grid-template-columns:minmax(105px,145px) minmax(105px,170px) 28px;gap:3px;align-items:center}.filter-chip-v110 select,.filter-chip-v110 input,.filter-chip-v110 button{height:29px;padding:4px 6px}.sortable-v110{cursor:pointer}.sortable-v110::after{content:' ↕';opacity:.35}.sortable-v110.sort-asc-v110::after{content:' ▲';opacity:1}.sortable-v110.sort-desc-v110::after{content:' ▼';opacity:1}.stat-grid{align-items:start}@media(max-width:900px){.form-grid{grid-template-columns:1fr 1fr}}@media(max-width:650px){.form-grid{grid-template-columns:1fr}.filter-chip-v110{grid-template-columns:1fr 1fr 28px}}

/* ===== v0.12.0-test.2 ===== */
.form-section-v120{border:1px solid var(--border,#dfe5df);border-radius:12px;padding:14px 16px;margin:4px 0 12px;background:rgba(255,255,255,.42)}
.form-section-v120 legend{font-weight:750;padding:0 8px;color:var(--text,#203027)}
.form-section-v120>.form-grid{margin-top:4px}
.legacy-address-v120{display:none!important}
.warehouse-stock-v120{padding-top:10px}
.nav-saved-views-v120{display:grid;gap:2px;margin:-2px 0 5px 14px;padding-left:8px;border-left:2px solid rgba(255,255,255,.18)}
.nav-saved-views-v120 button{font-size:.82rem!important;padding:6px 9px!important;opacity:.88;text-align:left}
.nav-saved-views-v120 button:hover{opacity:1}
.ok-text-v120{color:#176f3a}.danger-text-v120{color:#a72b2b}
#modal .modal-shell{max-width:min(1180px,96vw)}
#roleFormV120 .table-wrap{max-height:430px;overflow:auto}
#roleFormV120 td:nth-child(2),#roleFormV120 td:nth-child(3){text-align:center}
.compensation-line-v120{grid-template-columns:minmax(220px,1.7fr) repeat(5,minmax(110px,.7fr)) 42px}
.supplier-complaint-line-v120{grid-template-columns:minmax(260px,1.6fr) minmax(110px,.5fr) minmax(180px,1fr) 42px}
.reservation-line-v120{grid-template-columns:minmax(280px,1.7fr) minmax(120px,.5fr) 42px}
@media(max-width:900px){.compensation-line-v120,.supplier-complaint-line-v120,.reservation-line-v120{grid-template-columns:1fr}.nav-saved-views-v120{margin-left:6px}}


/* ===== v0.12.0-test.3 – větší modální okna a zarovnání formulářů ===== */
dialog#modal{
  width:min(1500px,96vw);
  max-width:96vw;
  height:min(940px,94vh);
  max-height:94vh;
}
#modal .modal-shell{
  width:100%;
  height:100%;
  max-width:none;
  display:grid;
  grid-template-rows:auto auto minmax(0,1fr) auto;
}
#modal .modal-body{
  min-height:0;
  max-height:none!important;
  overflow:auto;
}
#partnerForm.partner-form-aligned-v123 .form-grid>label,
#partnerForm.partner-form-aligned-v123>label{
  align-self:start;
  align-content:start;
  grid-auto-rows:max-content;
}
.product-search-toolbar-v123 input[type="search"]{
  flex:1 1 520px;
  min-width:min(520px,100%);
}
@media(max-width:720px){
  dialog#modal{width:98vw;max-width:98vw;height:96vh;max-height:96vh}
  .product-search-toolbar-v123 input[type="search"]{min-width:100%}
}

/* ===== SCHILLER ONE v0.12.0-test.6 – produktový branding ===== */
:root{
  --bg:#f5f7fa;--panel:#fff;--ink:#0b1b36;--muted:#667085;--line:#dfe5ee;
  --accent:#1c69d3;--accent2:#e8f1fc;--danger:#a63434;--warn:#9a6517;
  --shadow:0 12px 36px rgba(6,24,52,.08)
}
.sidebar{background:#07182f}
nav button{color:#c6d3e6}
nav button:hover,nav button.active{background:#122c50;color:#fff}
.nav-group{border-color:rgba(255,255,255,.10);background:rgba(255,255,255,.025)}
.nav-group:has(button.active){border-color:#3e78bd;background:rgba(75,140,220,.10)}
.sidebar-footer{border-top-color:#24405f}.sidebar-footer small,.nav-section-note{color:#95a9c3}.ghost{border-color:#395677}
.primary{background:#1c69d3;color:#fff}.secondary{background:#e8f1fc;color:#174f91}
.bar-fill{background:#4b8bdc}.subtabs button.active{background:#07182f;color:#fff}
.brand.schiller-one-brand{display:block;padding:2px 0 18px;overflow:hidden}
.brand-logo.schiller-one-sidebar-logo{display:block;width:100%;max-width:220px;height:auto;max-height:82px;object-fit:contain;object-position:left center;background:transparent;border-radius:0;padding:0;flex:0 0 auto}
.brand-logo.schiller-one-auth{width:min(390px,85%);height:auto;max-height:110px;object-fit:contain}
.auth-card h1{color:#07182f}
.app-footer{color:#667085}

/* ===== v0.12.0-test.6 – tabulky ve výšce okna a údaje dodavatele ===== */
.viewport-table-v126{overflow:auto;overscroll-behavior:contain}
.viewport-table-v126 thead th{position:sticky;top:0;z-index:2}
.field-help{display:block;color:var(--muted);font-size:11px;font-weight:500;line-height:1.35;margin-top:3px}
@media(max-width:760px){.brand-logo.schiller-one-sidebar-logo{max-width:220px}}

/* ===== v0.12.0-test.7 – řízení prodejních objednávek ===== */
.badge.attention{background:#fff0c2;color:#704d00;border:1px solid #e4b94f}
.order-handling-panel-v127{margin:0 0 16px;padding:14px;border:1px solid #c9d8eb;border-left:5px solid #1c69d3;border-radius:10px;background:#f7faff}
.customer-note-box-v127{margin-top:12px;padding:12px 14px;border:1px solid #e4b94f;border-radius:9px;background:#fff8df;color:#4e3900}
.customer-note-box-v127 p{margin:6px 0 0;white-space:pre-wrap}
.order-note-preview-v127{display:block;max-width:240px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin-top:4px;color:var(--muted)}
.order-handling-panel-v127 .detail-grid{margin-bottom:0}

/* ===== SCHILLER ONE v0.12.0-test.8 – mobilní aplikace ===== */
.mobile-menu-btn,.mobile-nav-backdrop{display:none}
.pwa-install{margin-top:10px}
.auth-card>.pwa-install{margin-top:14px}
.topbar-title{min-width:0}
body.test-environment{padding-top:calc(34px + env(safe-area-inset-top,0px))}
.test-env-banner{top:env(safe-area-inset-top,0px)}
body.test-environment .sidebar,body.test-environment .topbar{top:calc(34px + env(safe-area-inset-top,0px))}
@media(display-mode:standalone){
  body{overscroll-behavior-y:none}
}
@media(max-width:760px){
  .app{display:block}
  .sidebar{
    display:flex;position:fixed!important;inset:calc(34px + env(safe-area-inset-top,0px)) auto 0 0!important;
    width:min(88vw,340px);height:calc(100dvh - 34px - env(safe-area-inset-top,0px))!important;
    padding:16px max(14px,env(safe-area-inset-left,0px)) max(12px,env(safe-area-inset-bottom,0px));
    overflow:hidden!important;z-index:120;transform:translateX(-105%);transition:transform .2s ease;
    box-shadow:18px 0 45px rgba(0,0,0,.28)
  }
  body.mobile-nav-open{overflow:hidden}
  body.mobile-nav-open .sidebar{transform:translateX(0)}
  .sidebar nav{display:flex!important;overflow-y:auto!important;overflow-x:hidden!important}
  .sidebar nav button,.nav-group summary{min-height:44px}
  .sidebar-footer{display:grid!important}
  .mobile-nav-backdrop{position:fixed;inset:calc(34px + env(safe-area-inset-top,0px)) 0 0;background:rgba(3,13,26,.55);border:0;z-index:110}
  body.mobile-nav-open .mobile-nav-backdrop{display:block!important}
  .topbar{
    position:sticky!important;top:calc(34px + env(safe-area-inset-top,0px))!important;z-index:90;
    display:grid;grid-template-columns:44px minmax(0,1fr);gap:10px;padding:10px 14px;height:auto;min-height:64px
  }
  .mobile-menu-btn{display:grid;width:44px;height:44px;padding:10px;border:1px solid var(--line);border-radius:10px;background:#fff;align-content:center;gap:4px}
  .mobile-menu-btn span{display:block;height:2px;border-radius:2px;background:#07182f}
  .topbar-title{align-self:center}
  .topbar h1{font-size:19px;line-height:1.15}
  .topbar p{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  #topActions{grid-column:1/-1;display:flex;gap:8px;overflow-x:auto;padding-bottom:2px}
  #topActions:empty{display:none}
  #topActions button{min-height:44px;flex:0 0 auto}
  .content{padding:14px max(12px,env(safe-area-inset-right,0px)) calc(28px + env(safe-area-inset-bottom,0px)) max(12px,env(safe-area-inset-left,0px))}
  .card,.panel{border-radius:12px}
  button,input,select{min-height:44px}
  textarea{min-height:96px}
  .toolbar input,.toolbar select{min-width:min(100%,220px);flex:1 1 180px}
  .table-wrap{max-width:calc(100vw - 24px);-webkit-overflow-scrolling:touch}
  dialog#modal{margin:auto;width:calc(100vw - 12px);max-width:calc(100vw - 12px);height:calc(100dvh - 20px);max-height:calc(100dvh - 20px)}
  .modal-body{max-height:calc(100dvh - 158px)!important;padding:14px}
  .modal-shell>header,.modal-shell>footer{padding:12px 14px}
  .modal-shell>footer{overflow-x:auto;justify-content:flex-start}
  .modal-shell>footer button{min-height:44px;flex:0 0 auto}
  .auth-screen{padding:16px max(16px,env(safe-area-inset-right,0px)) calc(16px + env(safe-area-inset-bottom,0px)) max(16px,env(safe-area-inset-left,0px))}
  .auth-card{padding:24px 20px;border-radius:16px}
  .auth-card input,.auth-card button{min-height:48px}
  .app-footer{padding-bottom:calc(14px + env(safe-area-inset-bottom,0px))}
}
