:root{--bg:#f6f7fb;--panel:#fff;--text:#111827;--muted:#6b7280;--line:#e5e7eb;--brand:#0f172a;--accent:#2563eb;--ok:#15803d;--warn:#b45309;--bad:#b91c1c;--soft:#f3f4f6}*{box-sizing:border-box}body{margin:0;font-family:Inter,Arial,sans-serif;background:var(--bg);color:var(--text);font-size:15px}.login-body{min-height:100vh;display:grid;place-items:center;background:linear-gradient(135deg,#0f172a,#1e293b)}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}.app{display:flex;min-height:100vh}.sidebar{width:260px;background:#0f172a;color:#e5e7eb;padding:22px 16px;position:sticky;top:0;height:100vh;overflow:auto}.brand{font-weight:800;font-size:20px;margin-bottom:20px;letter-spacing:-.02em}.nav a{display:block;color:#cbd5e1;padding:10px 12px;border-radius:10px;margin:2px 0;text-decoration:none}.nav a:hover,.nav a.active{background:#1e293b;color:#fff}.main{flex:1;min-width:0}.topbar{height:64px;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 28px;position:sticky;top:0;z-index:2}.content{padding:28px;max-width:1500px}.h1{font-size:28px;font-weight:800;letter-spacing:-.03em;margin:0 0 18px}.sub{color:var(--muted);margin-top:-10px;margin-bottom:20px}.card{background:var(--panel);border:1px solid var(--line);border-radius:16px;padding:20px;margin-bottom:18px;box-shadow:0 10px 30px rgba(15,23,42,.04)}.grid{display:grid;gap:16px}.grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-4{grid-template-columns:repeat(4,minmax(0,1fr))}.kpi{padding:18px;background:#fff;border:1px solid var(--line);border-radius:16px}.kpi .label{color:var(--muted);font-size:13px}.kpi .value{font-size:26px;font-weight:800;margin-top:8px}table{width:100%;border-collapse:collapse;background:#fff}th,td{border-bottom:1px solid var(--line);padding:11px 10px;text-align:left;vertical-align:top}th{font-size:12px;color:var(--muted);text-transform:uppercase;letter-spacing:.04em;background:#fafafa}.table-wrap{overflow:auto;border:1px solid var(--line);border-radius:14px;background:#fff}.btn{display:inline-flex;align-items:center;gap:6px;border:0;border-radius:10px;background:#111827;color:#fff;padding:9px 13px;font-weight:700;cursor:pointer;text-decoration:none;line-height:1.2}.btn:hover{text-decoration:none;background:#0b1220}.btn.secondary{background:#e5e7eb;color:#111827}.btn.ghost{background:transparent;color:#111827;border:1px solid var(--line)}.btn.danger{background:#b91c1c}.btn.small{padding:6px 9px;font-size:13px}.actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.form-row{display:grid;grid-template-columns:220px 1fr;gap:14px;align-items:start;margin:12px 0}.form-row label{font-weight:700;padding-top:9px}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 18px}input,select,textarea{width:100%;border:1px solid #d1d5db;border-radius:10px;padding:10px 11px;font:inherit;background:#fff;color:#111827}textarea{min-height:90px}input:focus,select:focus,textarea:focus{outline:2px solid rgba(37,99,235,.2);border-color:#2563eb}.help{font-size:12px;color:var(--muted);margin-top:5px}.badge{display:inline-flex;border-radius:999px;padding:4px 8px;font-size:12px;font-weight:800}.badge.ok{background:#dcfce7;color:var(--ok)}.badge.warn{background:#fef3c7;color:var(--warn)}.badge.bad{background:#fee2e2;color:var(--bad)}.badge.info{background:#dbeafe;color:#1d4ed8}.badge.muted{background:#f3f4f6;color:#4b5563}.flash{padding:12px 14px;border-radius:12px;margin-bottom:14px;font-weight:700}.flash.ok{background:#dcfce7;color:#14532d}.flash.error{background:#fee2e2;color:#7f1d1d}.flash.info{background:#dbeafe;color:#1e3a8a}.login-card{width:420px;background:#fff;border-radius:22px;padding:32px;box-shadow:0 25px 70px rgba(0,0,0,.35)}.login-title{font-size:28px;font-weight:900;margin:0 0 8px}.muted{color:var(--muted)}.invoice-items{width:100%;border-collapse:separate;border-spacing:0 8px}.invoice-items th,.invoice-items td{border:0;background:#fff;padding:5px}.invoice-items input,.invoice-items select{padding:8px;border-radius:8px}.right{text-align:right}.print-sheet{background:#fff;color:#111827;max-width:900px;margin:0 auto;padding:42px;border:1px solid var(--line)}.print-header{display:flex;justify-content:space-between;gap:30px;border-bottom:2px solid #111827;padding-bottom:20px;margin-bottom:22px}.print-logo{max-height:80px;max-width:220px}.print-title{font-size:32px;font-weight:900}.print-grid{display:grid;grid-template-columns:1fr 1fr;gap:30px;margin:24px 0}.print-total{font-size:22px;font-weight:900}.nowrap{white-space:nowrap}.empty{padding:30px;text-align:center;color:var(--muted)}.danger-zone{border-color:#fecaca;background:#fff7f7}.search-line{display:flex;gap:10px;margin-bottom:14px}.mini{font-size:12px;color:var(--muted)}@media(max-width:960px){.app{display:block}.sidebar{position:relative;width:auto;height:auto}.topbar{position:relative}.content{padding:16px}.grid-2,.grid-3,.grid-4,.form-grid{grid-template-columns:1fr}.form-row{grid-template-columns:1fr}.print-grid,.print-header{grid-template-columns:1fr;display:block}}@media print{body{background:#fff}.sidebar,.topbar,.no-print,.actions{display:none!important}.app,.main,.content{display:block;padding:0;margin:0}.print-sheet{border:0;box-shadow:none;max-width:none;margin:0;padding:20mm}.card{border:0;box-shadow:none}.table-wrap{border:0}}
/* Etapa 2 – profesionální tisková faktura podle vloženého vzoru, modrá barva zůstává. */
.compact-filter{padding:14px}.invoice-print-body{background:#e5e7eb}.invoice-a4{width:210mm;min-height:297mm;margin:0 auto;background:#fff;color:#111827;padding:13mm 6mm 8mm;position:relative;font-size:12px}.invoice-print-actions{position:sticky;top:0;background:#fff;padding:8px 0;margin:-8mm 0 8mm;z-index:10}.invoice-head{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:38mm}.invoice-logo-box{width:32mm;min-height:22mm;display:flex;align-items:flex-start}.invoice-logo-box img{max-width:28mm;max-height:24mm;object-fit:contain}.invoice-title{font-size:18px;font-weight:900;letter-spacing:-.02em;text-align:right}.invoice-title span{color:#777}.invoice-parties{display:grid;grid-template-columns:1fr 1fr;margin-top:-18mm}.invoice-parties>div{padding:8mm 6mm 7mm 0}.invoice-parties .invoice-customer{background:#f3f3f3;padding-left:7mm}.tiny-label{font-size:10px;color:#8b8b8b;margin-bottom:4mm}.invoice-parties h2{font-size:15px;margin:0 0 2mm;font-weight:900}.invoice-parties p{margin:0 0 3mm;line-height:1.45}.invoice-parties span{display:inline-block;color:#777;width:10mm}.invoice-paybar{background:#002b66;color:#fff;margin:0 -6mm 7mm;padding:7mm 58mm 7mm 6mm;position:relative;font-size:15px;line-height:1.55}.invoice-paybar strong{font-weight:900}.qr-placeholder{position:absolute;right:8mm;top:-5mm;width:34mm;height:34mm;background:#fff;color:#002b66;display:grid;place-items:center;text-align:center;font-weight:900;box-shadow:0 0 0 8px #fff}.qr-placeholder span{font-size:24px;border:4px solid #002b66;padding:4px}.qr-placeholder small{display:block;font-size:8px;color:#111}.invoice-meta{display:grid;grid-template-columns:1.1fr 1.4fr 1.1fr;gap:8mm;margin-bottom:19mm}.invoice-meta span{display:inline-block;width:28mm;color:#777;font-size:10px}.invoice-meta strong{font-size:10px}.invoice-table{font-size:12px}.invoice-table th{background:#fff;border-bottom:1px solid #ddd;text-transform:none;letter-spacing:0;color:#777;font-size:11px}.invoice-table td{border-bottom:1px solid #ddd;padding:3mm 2mm}.invoice-bottom{display:grid;grid-template-columns:1fr 58mm;gap:8mm;margin-top:8mm}.invoice-sum>div{display:flex;justify-content:space-between;border-bottom:1px solid #ddd;padding:2mm 0}.invoice-sum .invoice-total{font-size:20px;border-top:2px solid #111;border-bottom:0;font-weight:900}.invoice-footer{position:absolute;left:6mm;right:6mm;bottom:8mm;border-top:1px solid #e5e7eb;padding-top:5mm;display:flex;justify-content:space-between;align-items:flex-end}.invoice-footer div:first-child{margin-left:auto;margin-right:24mm;font-size:11px}.no-print{display:block}@media print{.invoice-print-body{background:#fff}.invoice-a4{width:auto;min-height:auto;margin:0;padding:13mm 6mm 8mm}.invoice-print-actions,.no-print{display:none!important}@page{size:A4;margin:0}}

/* Etapa 3 – oprava čitelnosti faktury, QR a drobné vylepšení tisku */
.invoice-a4{padding:13mm 8mm 10mm}
.invoice-head{margin-bottom:34mm;align-items:flex-start}
.invoice-title{display:flex;flex-direction:column;align-items:flex-end;gap:2mm;max-width:72mm;text-align:right}
.invoice-title-main{font-size:18px;font-weight:900;line-height:1}
.invoice-title-number{font-size:12px;color:#6b7280;line-height:1.2;word-break:break-word;max-width:72mm}
.invoice-parties{margin-top:-14mm}
.invoice-paybar{display:flex;align-items:center;justify-content:space-between;gap:8mm;background:#002b66;color:#fff;margin:0 -8mm 7mm;padding:7mm 8mm 7mm 8mm;position:relative;font-size:14px;line-height:1.5}
.invoice-paybar,.invoice-paybar *{color:#fff!important}
.invoice-paybar-text{flex:1;min-width:0;padding-right:4mm}
.invoice-paybar strong{font-weight:900}
.invoice-qr-box{width:35mm;min-width:35mm;background:#fff;color:#111827!important;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:2mm;box-shadow:0 0 0 6px #fff}
.invoice-qr-box img{display:block;width:30mm;height:30mm;object-fit:contain}
.invoice-qr-box small{display:block;font-size:8px;line-height:1.1;color:#111827!important;margin-top:1.5mm}
.invoice-meta{grid-template-columns:1fr 1.15fr 1fr;gap:6mm}
.invoice-table td,.invoice-table th{white-space:normal}
@media(max-width:960px){.invoice-paybar{flex-direction:column;align-items:flex-start}.invoice-qr-box{margin-top:4mm}}

/* Etapa 4 – záložky faktury a pokročilé opakování */
.form-tabs{display:flex;gap:8px;align-items:center;flex-wrap:wrap;border-bottom:1px solid var(--line);margin:-4px 0 18px;padding-bottom:10px}
.tab-btn{border:1px solid var(--line);background:#fff;color:#111827;border-radius:10px;padding:9px 14px;font-weight:800;cursor:pointer}
.tab-btn.active{background:#0f172a;color:#fff;border-color:#0f172a}
.tab-panel{display:none}
.tab-panel.active{display:block}
.recurring-enable{background:#f8fafc;border:1px solid var(--line);border-radius:14px;padding:14px;margin-bottom:14px;font-weight:800}
.recurring-box{transition:opacity .15s ease,filter .15s ease}
.recurring-box.is-disabled{opacity:.48;filter:grayscale(.2)}
.recurring-box.is-disabled input,.recurring-box.is-disabled select,.recurring-box.is-disabled textarea{pointer-events:none}
.form-actions-sticky{position:sticky;bottom:0;background:rgba(255,255,255,.94);backdrop-filter:blur(8px);border-top:1px solid var(--line);padding:14px 0 0;margin-top:18px;z-index:3}
@media(max-width:760px){.tab-btn{flex:1 1 auto}.form-actions-sticky{position:static}}

/* Etapa 5 – profesionální vydané faktury, akční menu, filtry, sdílení */
.pro-invoices th,.pro-invoices td{font-size:13px;vertical-align:middle}.pro-invoices .strong-link{font-weight:900;color:#0f172a}.pro-invoices tr.is-overdue{background:#fff1f2}.pro-invoices tr.is-unpaid{background:#fff}.pro-invoices tr.is-paid{background:#f0fdf4}.date-bad{color:#b91c1c;font-weight:900}.cashflow{font-size:12px;font-weight:900;border-radius:999px;padding:3px 7px;display:inline-flex}.cashflow.bad{background:#fee2e2;color:#991b1b}.cashflow.ok{background:#dcfce7;color:#166534}.row-actions{position:relative;display:inline-block}.dots{border:1px solid #cbd5e1;background:#fff;border-radius:8px;width:32px;height:32px;font-size:20px;line-height:1;cursor:pointer}.action-menu{display:none;position:absolute;left:0;top:36px;z-index:30;min-width:245px;background:#fff;border:1px solid #d8dee9;border-radius:12px;box-shadow:0 18px 45px rgba(15,23,42,.18);padding:7px}.action-menu.is-open{display:block}.action-menu a{display:block;padding:8px 10px;border-radius:8px;color:#111827;text-decoration:none;font-size:13px}.action-menu a:hover{background:#f1f5f9}.invoice-filter .form-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.bulkbar{display:flex;gap:8px;align-items:center;margin:0 0 10px}.bulkbar select{max-width:260px}.copy-line{display:flex}.copy-line input{border-radius:10px 0 0 10px}.copy-line .btn{border-radius:0 10px 10px 0}.editor-large{min-height:220px}.share-dialog input[readonly]{background:#f8fafc}.is-loading{opacity:.45}.badge.bad{background:#fee2e2;color:#b91c1c}.badge.warn{background:#fef3c7;color:#92400e}.badge.ok{background:#dcfce7;color:#166534}@media(max-width:1180px){.invoice-filter .form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:760px){.invoice-filter .form-grid{grid-template-columns:1fr}.action-menu{right:0;left:auto}}

/* Etapa 6 – přijaté faktury, přílohy, cashflow */
.filters{display:flex;gap:12px;align-items:end;flex-wrap:wrap}
.filters label{min-width:190px;font-weight:700}
.row-overdue{background:#fff1f2}
.kpi .value.small{font-size:18px;line-height:1.25}
.card table th:first-child{width:auto}
input[type=file]{padding:8px;background:#f8fafc}
@media(max-width:900px){.filters{display:block}.filters label{display:block;margin-bottom:10px}}

/* Etapa 7 – full-width pracovní plocha, odstranění zbytečných vnitřních posuvníků a viditelné akční menu */
:root{--sidebar-w:210px}
html,body{width:100%;min-width:0;overflow-x:hidden}
.app{grid-template-columns:var(--sidebar-w) minmax(0,1fr);width:100%;max-width:none}
.sidebar{width:var(--sidebar-w)}
.main{min-width:0;width:100%;max-width:none}
.content{width:100%;max-width:none;margin:0;padding:26px 30px 44px;box-sizing:border-box}
.card,.kpi,.flash,.invoice-filter{max-width:none;box-sizing:border-box}
.table-wrap{width:100%;max-width:none;overflow:visible;border-radius:12px}
.table-wrap table{width:100%;min-width:0;table-layout:auto}
.pro-invoices th,.pro-invoices td{font-size:12px;padding:10px 8px;white-space:normal;line-height:1.35}
.pro-invoices th:nth-child(1),.pro-invoices td:nth-child(1){width:34px;text-align:center}
.pro-invoices th:nth-child(2),.pro-invoices td:nth-child(2){width:52px}
.pro-invoices th:nth-child(3),.pro-invoices td:nth-child(3){width:118px}
.pro-invoices th:nth-child(4),.pro-invoices td:nth-child(4){width:78px}
.pro-invoices th:nth-child(6),.pro-invoices td:nth-child(6){min-width:160px}
.pro-invoices th:nth-child(8),.pro-invoices td:nth-child(8){width:115px;text-align:right}
.action-menu{position:fixed!important;left:auto;top:auto;z-index:9999;max-height:none;overflow:visible;min-width:270px}
.action-menu.is-open{display:block!important}
.row-actions{position:static}
.dots{position:relative;z-index:2}
.invoice-filter .form-grid{grid-template-columns:repeat(6,minmax(135px,1fr));gap:10px}
.invoice-filter label{font-size:12px}
.invoice-filter input,.invoice-filter select{padding:8px 9px;font-size:13px}
.bulkbar{width:100%}.bulkbar select{max-width:360px}
.layout-wide-note{display:block;color:#64748b;font-size:12px;margin:-8px 0 12px}
@media(min-width:1500px){.content{padding-left:36px;padding-right:36px}.pro-invoices th,.pro-invoices td{font-size:13px;padding:11px 9px}.invoice-filter .form-grid{grid-template-columns:repeat(6,minmax(150px,1fr))}}
@media(max-width:1280px){.invoice-filter .form-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.table-wrap{overflow-x:auto}.action-menu{position:fixed!important}}
@media(max-width:900px){:root{--sidebar-w:0px}.app{display:block}.sidebar{width:auto}.content{padding:16px}.invoice-filter .form-grid{grid-template-columns:1fr}.table-wrap{overflow-x:auto}.action-menu{left:12px!important;right:12px!important;top:90px!important;min-width:auto}}


/* Etapa 8 – oprávnění, uzávěrky, účetní bezpečnost */
.perm-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:10px;margin:10px 0 18px}
.perm-item{display:flex;gap:10px;align-items:flex-start;border:1px solid #e5e7eb;background:#fff;border-radius:10px;padding:10px;font-size:13px}
.perm-item input{width:auto;margin-top:3px}.perm-item small{display:block;color:#6b7280;margin-top:2px}
.clean-list{margin:0;padding-left:18px}.clean-list li{margin:8px 0}.lock-chip{display:inline-flex;gap:6px;align-items:center;padding:4px 8px;border-radius:999px;background:#fff7ed;color:#9a3412;font-weight:800;font-size:12px}
body .main{max-width:none}.content{max-width:none}.table-wrap{max-width:none}
@media(min-width:1400px){.form-grid{grid-template-columns:repeat(4,minmax(180px,1fr))}.grid-2{grid-template-columns:1fr 1fr}.grid-3{grid-template-columns:repeat(3,1fr)}.grid-4{grid-template-columns:repeat(4,1fr)}}

/* Etapa 9 – SaaS / white-label, tenant branding, licence, onboarding */
.brand{display:flex;align-items:center;gap:10px;color:#fff;line-height:1.15}
.brand-logo{max-width:34px;max-height:34px;object-fit:contain;background:#fff;border-radius:8px;padding:3px}
.tenant-pill{display:inline-flex;margin-left:12px;padding:4px 8px;border-radius:999px;background:#eef2ff;color:#3730a3;font-size:12px;font-weight:800;vertical-align:middle}
.sidebar{background:var(--brand)}
.nav a:hover,.nav a.active{background:rgba(255,255,255,.12);color:#fff}
a{color:var(--accent)}
input[type=color]{height:42px;padding:4px}
.value.small{font-size:16px;line-height:1.3;word-break:break-word}
.onboarding-progress{height:10px;border-radius:999px;background:#e5e7eb;overflow:hidden}.onboarding-progress span{display:block;height:100%;background:var(--accent)}
@media(min-width:1600px){.content{padding-left:42px;padding-right:42px}.grid-4{grid-template-columns:repeat(4,minmax(0,1fr))}}

/* Etapa 10 – finální produkční rozvržení, full-width, mobil a bez zbytečných vnitřních posuvníků */
html,body{width:100%;min-height:100%;overflow-x:hidden;background:var(--bg)}
.app{display:grid!important;grid-template-columns:var(--sidebar-w,210px) minmax(0,1fr)!important;width:100vw;max-width:none;min-height:100vh}
.sidebar{width:var(--sidebar-w,210px)!important;min-width:var(--sidebar-w,210px);height:100vh;position:sticky;top:0;overflow-y:auto;overflow-x:hidden}
.main{width:100%;max-width:none!important;min-width:0;display:flex;flex-direction:column}
.topbar{width:100%;z-index:50}
.content{width:100%!important;max-width:none!important;margin:0!important;padding:24px 28px 48px!important;box-sizing:border-box}
.content>.card,.content>.grid,.content>.kpi,.content>.flash,.invoice-filter{width:100%;max-width:none!important}
.table-wrap{width:100%!important;max-width:none!important;overflow:visible!important;border-radius:14px}
.table-wrap table{width:100%;min-width:0!important;max-width:none;table-layout:auto}
.pro-invoices{width:100%;table-layout:auto}
.pro-invoices th,.pro-invoices td{white-space:normal!important;word-break:normal;overflow:visible}
.pro-invoices .nowrap,.nowrap{white-space:nowrap!important}
.invoice-filter{padding:16px 18px!important}
.invoice-filter .form-grid{grid-template-columns:repeat(6,minmax(120px,1fr))!important;gap:10px!important}
.action-menu{position:fixed!important;z-index:100000!important;max-height:calc(100vh - 32px);overflow-y:auto!important;overscroll-behavior:contain;box-shadow:0 24px 70px rgba(15,23,42,.28)!important}
.action-menu.is-open{display:block!important}.row-actions{position:static!important;overflow:visible!important}.dots{z-index:4}
body.menu-open{overflow-x:hidden}.dashboard-safe-note{font-size:12px;color:#64748b;margin-top:-8px;margin-bottom:12px}
@media(min-width:1800px){:root{--sidebar-w:230px}.content{padding-left:36px!important;padding-right:36px!important}.pro-invoices th,.pro-invoices td{font-size:13px;padding:11px 9px}.invoice-filter .form-grid{grid-template-columns:repeat(7,minmax(130px,1fr))!important}.grid-4{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(min-width:2300px){.content{padding-left:44px!important;padding-right:44px!important}.invoice-filter .form-grid{grid-template-columns:repeat(8,minmax(140px,1fr))!important}.pro-invoices th,.pro-invoices td{font-size:14px}}
@media(max-width:1280px){.table-wrap{overflow-x:auto!important}.invoice-filter .form-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important}.pro-invoices{min-width:1180px}.action-menu{left:12px!important;right:auto!important}}
@media(max-width:900px){.app{display:block!important;width:100%!important}.sidebar{position:relative!important;width:100%!important;min-width:0;height:auto;max-height:none}.topbar{position:relative;height:auto;min-height:58px;padding:12px 16px;gap:12px;align-items:flex-start;flex-direction:column}.content{padding:14px!important}.grid-2,.grid-3,.grid-4,.form-grid{grid-template-columns:1fr!important}.invoice-filter .form-grid{grid-template-columns:1fr!important}.table-wrap{overflow-x:auto!important}.pro-invoices{min-width:1050px}.action-menu{left:10px!important;right:10px!important;top:76px!important;min-width:auto!important;max-height:calc(100vh - 100px)}}


/* HOTFIX – ochrana levého brandingu po nahrání velkého loga */
.sidebar{overflow-x:hidden!important}
.sidebar .brand{display:flex!important;align-items:center!important;gap:10px!important;min-height:46px!important;height:auto!important;max-height:none!important;overflow:hidden!important}
.sidebar .brand img,.sidebar .brand-logo{display:block!important;width:44px!important;height:44px!important;min-width:44px!important;max-width:44px!important;min-height:44px!important;max-height:44px!important;object-fit:contain!important;background:#fff!important;border-radius:8px!important;padding:4px!important}
.sidebar .brand span{display:block!important;min-width:0!important;overflow:hidden!important;text-overflow:ellipsis!important;white-space:normal!important;line-height:1.15!important}
.sidebar img:not(.invoice-logo-box img):not(.print-logo){max-width:100%!important}

/* =========================================================
   Release 11.0 – aplikační shell / produktový facelift
   Cíl: méně webová administrace, více profesionální účetní aplikace.
   ========================================================= */
:root{--ui-bg:#f4f7fb;--ui-panel:#fff;--ui-border:#d9e2ef;--ui-text:#0f172a;--ui-muted:#64748b;--ui-soft:#eef4fb;--ui-danger:#dc2626;--ui-ok:#15803d;--sidebar-w:248px;--topbar-h:68px;--radius:12px;--radius-sm:8px;--shadow-soft:0 12px 34px rgba(15,23,42,.07)}
body.app-shell{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;background:var(--ui-bg)!important;color:var(--ui-text);font-size:13px;line-height:1.35}
.app-shell .app{grid-template-columns:var(--sidebar-w) minmax(0,1fr)!important;background:var(--ui-bg)!important;min-height:100vh;width:100vw}
.app-shell .app-sidebar{background:#0b1730!important;color:#dbeafe!important;border-right:1px solid rgba(255,255,255,.06);box-shadow:none!important;padding:14px 11px!important;overflow-y:auto!important}
.app-shell.sidebar-blue .app-sidebar{background:linear-gradient(180deg,var(--brand),#07152d)!important}
.app-shell.sidebar-light .app-sidebar{background:#fff!important;color:#0f172a!important;border-right:1px solid var(--ui-border)}
.app-shell .app-brand{height:auto!important;min-height:58px!important;padding:6px 6px 14px!important;margin-bottom:4px!important;display:flex!important;gap:10px!important;align-items:center!important;border-bottom:1px solid rgba(255,255,255,.09)}
.app-shell.sidebar-light .app-brand{border-bottom-color:#e5e7eb}.app-shell .brand-mark{width:42px;height:42px;min-width:42px;border-radius:12px;background:#fff;display:flex;align-items:center;justify-content:center;text-decoration:none;overflow:hidden;box-shadow:0 9px 24px rgba(0,0,0,.16)}
.app-shell .brand-logo{display:block!important;width:42px!important;height:42px!important;min-width:42px!important;max-width:42px!important;min-height:42px!important;max-height:42px!important;object-fit:contain!important;padding:4px!important;background:#fff!important;border-radius:12px!important}.app-shell .brand-initial{font-weight:900;color:var(--brand);font-size:18px}.app-shell .brand-copy{min-width:0}.app-shell .brand-copy strong{display:block;color:#fff;font-size:14px;line-height:1.1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.app-shell.sidebar-light .brand-copy strong{color:#0f172a}.app-shell .brand-copy small{display:block;color:#94a3b8;font-size:11px;margin-top:3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.app-shell.sidebar-light .brand-copy small{color:#64748b}
.app-shell .nav-groups{padding:4px 0 16px!important}.app-shell .nav-section{margin:7px 0;border-radius:12px}.app-shell .nav-section summary{list-style:none;cursor:pointer;color:#93a4bb;text-transform:uppercase;font-size:10px;letter-spacing:.08em;font-weight:800;padding:7px 8px 5px;display:flex;align-items:center;justify-content:space-between}.app-shell .nav-section summary::-webkit-details-marker{display:none}.app-shell .nav-section summary:after{content:'›';transform:rotate(90deg);font-size:14px;opacity:.8}.app-shell .nav-section:not([open]) summary:after{transform:rotate(0)}.app-shell.sidebar-light .nav-section summary{color:#64748b}.app-shell .nav-section-items{display:grid;gap:2px}.app-shell .nav-section-items a{height:34px!important;padding:0 9px!important;border-radius:9px!important;display:flex!important;align-items:center!important;gap:9px!important;color:#dce8f8!important;text-decoration:none!important;font-size:12.5px!important;font-weight:650!important;line-height:1!important;background:transparent!important}.app-shell.sidebar-light .nav-section-items a{color:#253047!important}.app-shell .nav-section-items a:hover{background:rgba(255,255,255,.08)!important;color:#fff!important}.app-shell.sidebar-light .nav-section-items a:hover{background:#f1f5f9!important;color:#0f172a!important}.app-shell .nav-section-items a.active{background:linear-gradient(90deg,var(--accent),rgba(37,99,235,.64))!important;color:#fff!important;box-shadow:0 10px 22px rgba(37,99,235,.28)}.app-shell .nav-ico{width:22px;height:22px;border-radius:7px;display:inline-flex;align-items:center;justify-content:center;background:rgba(255,255,255,.09);font-size:11px;font-weight:900;color:#fff}.app-shell.sidebar-light .nav-ico{background:#eaf1fb;color:#1e3a8a}.app-shell a.active .nav-ico{background:rgba(255,255,255,.22);color:#fff}
.app-shell .app-main{background:var(--ui-bg)!important;min-width:0}.app-shell .app-topbar{height:var(--topbar-h)!important;min-height:var(--topbar-h);background:rgba(255,255,255,.88)!important;backdrop-filter:blur(14px);border-bottom:1px solid var(--ui-border)!important;display:grid!important;grid-template-columns:auto minmax(220px,420px) auto auto;align-items:center;gap:16px;padding:10px 22px!important;position:sticky;top:0;z-index:120}.app-shell .topbar-left{display:flex;align-items:center;gap:10px;min-width:0}.app-shell .mobile-nav-toggle{display:none;border:0;background:#eaf1fb;color:#0f172a;border-radius:10px;height:36px;width:38px;font-weight:900}.app-shell .page-title{min-width:0}.app-shell .page-title strong{display:block;font-size:14px;line-height:1.1}.app-shell .page-title small{display:block;font-size:11px;color:var(--ui-muted);margin-top:3px}.app-shell .top-search{width:100%;min-width:0}.app-shell .top-search input{height:38px;border-radius:12px;background:#f8fafc;border:1px solid #dbe4f0;padding:0 13px;font-size:12.5px;width:100%}.app-shell .top-search input:focus{background:#fff;border-color:var(--accent);box-shadow:0 0 0 3px rgba(37,99,235,.12);outline:0}.app-shell .top-indicators{display:flex;align-items:center;gap:7px;white-space:nowrap}.app-shell .top-chip{display:flex;align-items:center;gap:5px;height:34px;padding:0 9px;border-radius:11px;background:#f1f5f9;color:#334155;text-decoration:none;font-size:11px}.app-shell .top-chip strong{font-size:14px;color:#0f172a}.app-shell .top-chip.danger{background:#fff1f2;color:#be123c}.app-shell .top-chip.danger strong{color:#be123c}.app-shell .top-actions{display:flex;align-items:center;gap:10px;justify-content:flex-end}.app-shell .top-create{height:36px!important;display:inline-flex!important;align-items:center!important;border-radius:11px!important;padding:0 13px!important;font-size:12px!important}.app-shell .profile-menu{position:relative}.app-shell .profile-menu summary{list-style:none;cursor:pointer;display:flex;align-items:center;gap:8px}.app-shell .profile-menu summary::-webkit-details-marker{display:none}.app-shell .avatar{width:34px;height:34px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;background:#0f172a;color:#fff;font-size:12px;font-weight:900}.app-shell .profile-name{font-size:12px;font-weight:800;max-width:135px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.app-shell .profile-dropdown{position:absolute;right:0;top:42px;width:190px;background:#fff;border:1px solid var(--ui-border);border-radius:13px;box-shadow:0 18px 48px rgba(15,23,42,.18);padding:7px;z-index:200}.app-shell .profile-dropdown a{display:block;padding:9px 10px;border-radius:9px;color:#0f172a;text-decoration:none;font-weight:700;font-size:12px}.app-shell .profile-dropdown a:hover{background:#f1f5f9}
.app-shell .app-content{padding:20px 24px 44px!important;max-width:none!important;width:100%!important}.app-shell .h1{font-size:22px!important;letter-spacing:-.03em;margin:0 0 14px!important}.app-shell .sub{font-size:12.5px;color:var(--ui-muted);margin-top:-6px}.app-shell .card{border:1px solid var(--ui-border)!important;border-radius:16px!important;background:#fff!important;box-shadow:var(--shadow-soft)!important;padding:16px!important}.app-shell .grid{gap:14px!important}.app-shell .kpi{border:1px solid var(--ui-border)!important;border-radius:15px!important;background:#fff!important;box-shadow:0 8px 22px rgba(15,23,42,.05)!important;padding:14px!important}.app-shell .kpi .value{font-size:22px!important;letter-spacing:-.03em}.app-shell .table-wrap{background:#fff!important;border:1px solid var(--ui-border)!important;border-radius:15px!important;box-shadow:0 8px 22px rgba(15,23,42,.04)!important}.app-shell table{border-collapse:separate!important;border-spacing:0!important}.app-shell th{font-size:10.5px!important;text-transform:uppercase!important;letter-spacing:.055em!important;color:#64748b!important;background:#f8fafc!important;padding:9px 10px!important}.app-shell td{font-size:12.5px!important;padding:9px 10px!important;border-bottom:1px solid #edf2f7!important}.app-shell tr:hover td{background:#fbfdff}.app-shell .btn{border-radius:10px!important;height:34px;padding:0 12px!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;gap:6px;font-size:12px!important;font-weight:800!important;box-shadow:none!important}.app-shell .btn.small{height:28px!important;padding:0 9px!important;font-size:11px!important}.app-shell .btn.secondary{background:#edf2f7!important;color:#172033!important;border:1px solid #d7e1ee!important}.app-shell .btn.ghost{background:transparent!important;color:#64748b!important;border:1px solid transparent!important}.app-shell .actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin:0 0 12px!important}.app-shell input,.app-shell select,.app-shell textarea{border-radius:10px!important;border:1px solid #d7e1ee!important;background:#fff;font-size:12.5px!important;min-height:36px}.app-shell label{font-size:12px!important;font-weight:750!important;color:#253047!important}.app-shell .form-grid{gap:10px 12px!important}.app-shell .form-grid.compact{grid-template-columns:repeat(4,minmax(160px,1fr))!important}.app-shell label.wide{grid-column:span 2}.app-shell .checkline,.app-shell label:has(input[type=checkbox]){display:flex!important;align-items:center!important;justify-content:flex-start!important;gap:8px!important;min-height:34px!important;width:auto!important}.app-shell input[type=checkbox]{width:16px!important;height:16px!important;min-height:16px!important;margin:0!important;accent-color:var(--accent)}.app-shell .field-check{align-self:end;background:#f8fafc;border:1px solid #e2e8f0;border-radius:10px;padding:0 10px!important}.app-shell .color-compact{height:38px!important;width:88px!important;padding:3px!important}.app-shell .settings-section{border-bottom:1px solid #e8eef6;padding:0 0 16px;margin:0 0 16px}.app-shell .settings-section h2{font-size:14px;margin:0 0 10px}.app-shell .sticky-actions{position:sticky;bottom:0;background:linear-gradient(180deg,rgba(255,255,255,.1),#fff 30%);padding:14px 0 0}.app-shell .badge{border-radius:999px;padding:4px 8px;font-size:11px;font-weight:900}.app-shell .flash{border-radius:13px!important;border:1px solid #dbeafe!important;padding:11px 13px!important;font-size:12.5px!important}.app-shell .invoice-filter .form-grid{grid-template-columns:repeat(6,minmax(120px,1fr))!important}.app-shell .action-menu{border-radius:13px!important}.app-shell .tenant-pill,.app-shell .layout-wide-note{display:none!important}
body.login-product{min-height:100vh;background:#0b1324;background-size:cover;background-position:center;color:#fff;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;overflow:hidden}.login-product:before{content:"";position:fixed;inset:0;background:radial-gradient(circle at 20% 20%,rgba(37,99,235,.30),transparent 32%),linear-gradient(120deg,rgba(2,6,23,.88),rgba(15,23,42,.45));z-index:0}.login-stage{position:relative;z-index:1;min-height:100vh;display:grid;grid-template-columns:minmax(0,1fr) 430px;gap:42px;align-items:stretch;padding:48px 66px}.login-hero{display:flex;flex-direction:column;justify-content:space-between;padding:8px 0 42px}.login-brandline{display:flex;align-items:center;gap:13px;font-weight:900}.login-brandline img,.login-brandline span{width:44px;height:44px;border-radius:13px;background:#fff;color:var(--brand);display:flex;align-items:center;justify-content:center;object-fit:contain;padding:4px}.login-copy{max-width:760px;animation:loginFloat .75s ease-out both}.login-copy .eyebrow{color:#a6c8ff;text-transform:uppercase;font-size:12px;letter-spacing:.14em;font-weight:900}.login-copy h1{font-size:clamp(42px,5.2vw,76px);line-height:.95;letter-spacing:-.06em;margin:12px 0 18px}.login-copy>p:not(.eyebrow){font-size:18px;line-height:1.55;color:#dbeafe;max-width:620px}.login-points{display:flex;gap:9px;flex-wrap:wrap;margin-top:28px}.login-points span{border:1px solid rgba(255,255,255,.22);background:rgba(255,255,255,.08);border-radius:999px;padding:8px 12px;font-size:12px;font-weight:850}.login-panel-wrap{display:flex;align-items:center;justify-content:flex-end}.login-product-card{width:100%;max-width:390px;background:rgba(255,255,255,.94)!important;color:#0f172a;border:1px solid rgba(255,255,255,.7);border-radius:24px!important;padding:28px!important;box-shadow:0 28px 90px rgba(0,0,0,.32)!important;backdrop-filter:blur(18px)}.login-product-card h2{font-size:26px;margin:0 0 4px;letter-spacing:-.04em}.login-product-card label{display:block;margin-top:14px;font-size:12px;font-weight:850;color:#334155}.login-product-card input{width:100%;height:44px;border-radius:12px;border:1px solid #d7e1ee;padding:0 12px;font-size:14px}.login-product-card input:focus{outline:0;border-color:var(--accent);box-shadow:0 0 0 4px rgba(37,99,235,.12)}.login-row{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:13px 0}.login-row .checkline{margin:0!important;display:flex!important;align-items:center!important;gap:7px!important;font-size:12px!important;color:#64748b!important}.login-row input[type=checkbox]{width:15px;height:15px;margin:0}.login-help{font-size:12px;font-weight:800;color:var(--accent);text-decoration:none;white-space:nowrap}.login-submit{width:100%;height:44px!important;margin-top:4px}.login-layout-clean_panel .login-stage{grid-template-columns:1fr;place-items:center}.login-layout-clean_panel .login-hero{display:none}.login-layout-dark_split .login-stage{grid-template-columns:1fr 1fr}.login-layout-dark_split .login-panel-wrap{justify-content:center}@keyframes loginFloat{from{opacity:0;transform:translateY(28px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:1380px){.app-shell .app-topbar{grid-template-columns:auto minmax(180px,1fr) auto}.app-shell .top-indicators{display:none}.app-shell .profile-name{display:none}.app-shell .form-grid.compact{grid-template-columns:repeat(2,minmax(160px,1fr))!important}}
@media(max-width:980px){:root{--sidebar-w:0px}.app-shell .app{display:block!important}.app-shell .app-sidebar{position:fixed!important;left:0;top:0;bottom:0;width:286px!important;min-width:286px!important;height:100vh!important;z-index:300;transform:translateX(-102%);transition:.22s ease}.app-shell.nav-open .app-sidebar{transform:translateX(0)}.app-shell .mobile-nav-toggle{display:inline-flex;align-items:center;justify-content:center}.app-shell .app-topbar{grid-template-columns:auto 1fr!important;height:auto!important;min-height:62px;padding:11px 14px!important}.app-shell .top-search{grid-column:1/-1}.app-shell .top-actions{justify-content:flex-start}.app-shell .app-content{padding:14px!important}.app-shell .form-grid.compact{grid-template-columns:1fr!important}.app-shell label.wide{grid-column:auto}.login-stage{grid-template-columns:1fr;padding:26px;gap:18px}.login-hero{min-height:260px;padding-bottom:10px}.login-panel-wrap{justify-content:center}.login-copy h1{font-size:38px}.login-copy>p:not(.eyebrow){font-size:15px}.login-product{overflow:auto}}

/* Release 11.1 – pracovní obrazovky: dashboard, faktury, zákazníci, katalog, role */
.app-shell{--ui-compact-font:12.5px;--ui-tight:8px;--ui-blue:#1d4ed8;--ui-blue-soft:#eff6ff;--ui-red-soft:#fff1f2;--ui-green-soft:#ecfdf5}.page-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin:0 0 14px}.page-head .h1{margin-bottom:3px!important}.page-head .actions{margin:0!important}.card-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 0 12px}.card-head h2{font-size:15px;line-height:1.2;margin:0;letter-spacing:-.02em}.card-head a{font-size:12px;font-weight:800;color:var(--accent)}.dash-grid{display:grid;grid-template-columns:1.45fr repeat(3,minmax(180px,1fr));gap:12px;margin-bottom:14px}.dash-kpi{background:#fff;border:1px solid var(--ui-border);border-radius:18px;padding:16px;box-shadow:var(--shadow-soft)}.dash-kpi span{display:block;color:#64748b;font-size:11px;font-weight:900;text-transform:uppercase;letter-spacing:.06em}.dash-kpi strong{display:block;font-size:24px;letter-spacing:-.04em;margin:7px 0 4px}.dash-kpi small{color:#64748b;font-size:12px;font-weight:700}.dash-kpi.primary{background:linear-gradient(135deg,var(--brand),#1e3a8a);color:#fff}.dash-kpi.primary span,.dash-kpi.primary small{color:#dbeafe}.dash-kpi.danger strong{color:#be123c}.progress{height:7px;background:#e2e8f0;border-radius:999px;overflow:hidden;margin-top:8px}.progress i{display:block;height:100%;background:linear-gradient(90deg,var(--accent),#22c55e);border-radius:999px}.dash-layout{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(360px,.9fr);gap:14px;margin-bottom:14px}.chart-card{min-height:250px}.bar-chart{height:190px;display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px;align-items:end;padding-top:8px}.bar-col{display:flex;flex-direction:column;align-items:center;gap:5px;min-width:0}.bar-wrap{height:120px;width:100%;max-width:46px;background:#eef2ff;border-radius:13px;display:flex;align-items:flex-end;overflow:hidden}.bar-wrap i{width:100%;background:linear-gradient(180deg,#60a5fa,#1d4ed8);border-radius:13px 13px 0 0}.bar-col span{font-size:11px;font-weight:900;color:#334155}.bar-col small{font-size:10px;color:#64748b;text-align:center;white-space:nowrap}.stack-list{display:grid;gap:13px}.stack-row{display:grid;grid-template-columns:90px 1fr;gap:8px;align-items:center}.stack-row span{font-size:12px;color:#475569;font-weight:800}.stack-row strong{font-size:13px;text-align:right}.stack-row .progress{grid-column:1/-1;margin-top:0}.timeline-list{display:grid;gap:7px}.timeline-item{display:grid;grid-template-columns:72px 1fr auto;gap:8px;align-items:center;padding:9px 10px;border-radius:12px;background:#f8fafc;text-decoration:none;color:#0f172a}.timeline-item:hover{background:#eff6ff;text-decoration:none}.timeline-item span{font-size:11px;color:#64748b;font-weight:900}.timeline-item strong{font-size:12px}.timeline-item em{font-style:normal;font-size:12px;font-weight:900}.timeline-item.is-danger{background:#fff1f2}.timeline-item.is-danger em{color:#be123c}.customer-rank{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px}.rank-row{display:block;border:1px solid var(--ui-border);border-radius:14px;padding:11px;text-decoration:none;color:#0f172a;background:#fff}.rank-row:hover{text-decoration:none;background:#f8fafc}.rank-row span{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:12px;font-weight:850}.rank-row strong{display:block;margin-top:7px;font-size:15px}.empty.slim{padding:18px!important;text-align:center;color:#64748b}.filter-panel{padding:12px!important}.filter-chips{display:flex;gap:7px;flex-wrap:wrap;margin:0 0 10px}.filter-chips.invoice-chips{margin-bottom:12px}.chip{display:inline-flex;align-items:center;height:30px;border-radius:999px;background:#fff;border:1px solid #dbe3ef;padding:0 11px;font-size:12px;font-weight:850;color:#334155;text-decoration:none}.chip:hover,.chip.active{background:var(--ui-blue-soft);border-color:#bfdbfe;text-decoration:none;color:#1d4ed8}.chip.danger{background:#fff1f2;border-color:#fecdd3;color:#be123c}.pro-bulkbar{display:flex;align-items:center;gap:8px;margin:0 0 10px;padding:10px 12px;border:1px solid var(--ui-border);border-radius:14px;background:#fff}.pro-bulkbar span{font-size:12px;font-weight:900;color:#64748b;text-transform:uppercase;letter-spacing:.04em}.pro-bulkbar select{max-width:240px}.pro-table th,.pro-table td{white-space:nowrap}.pro-table td:first-child{white-space:normal}.compact-table table td,.compact-table table th{padding:8px 9px!important}.icon-btn{width:31px;height:31px;display:inline-flex;align-items:center;justify-content:center;border-radius:9px;border:1px solid #dbe3ef;background:#fff;color:#172033;text-decoration:none;font-weight:900;font-size:13px;margin-left:4px;vertical-align:middle}.icon-btn:hover{background:#eff6ff;border-color:#bfdbfe;text-decoration:none;color:#1d4ed8}.icon-btn.primary{background:#0f172a;color:#fff;border-color:#0f172a}.icon-btn.primary:hover{background:#1d4ed8}.inline-field{display:flex;gap:8px}.inline-field input{min-width:0}.inline-action-form{display:flex;justify-content:flex-end;align-items:center;gap:8px}.inline-action-form select{width:auto;min-width:135px;height:31px;min-height:31px;padding:0 8px}.form-compact .form-grid.compact{grid-template-columns:repeat(4,minmax(150px,1fr))!important}.form-compact textarea{min-height:76px}.customer-profile{background:#fff;border:1px solid var(--ui-border);border-radius:18px;padding:16px;margin-bottom:12px;box-shadow:var(--shadow-soft)}.profile-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px}.profile-head .eyebrow{display:block;font-size:10px;text-transform:uppercase;letter-spacing:.08em;color:#64748b;font-weight:900}.profile-head p{margin:3px 0 0;color:#64748b;font-size:12.5px}.metric-strip{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;background:#e8eef6;border-radius:14px;overflow:hidden;margin-top:14px}.metric-strip>div{background:#f8fafc;padding:11px 12px}.metric-strip span{display:block;font-size:10px;text-transform:uppercase;letter-spacing:.06em;color:#64748b;font-weight:900}.metric-strip strong{display:block;margin-top:4px;font-size:16px}.ok-text{color:#15803d!important}.compact-info-line{display:flex;gap:18px;align-items:center;flex-wrap:wrap;background:#fff;border:1px solid var(--ui-border);border-radius:14px;padding:10px 12px;margin:0 0 12px;color:#475569;font-size:12.5px}.detail-tabs{display:flex;gap:6px;margin:4px 0 10px}.detail-tabs a{display:inline-flex;height:31px;align-items:center;padding:0 12px;border-radius:999px;background:#fff;border:1px solid #dbe3ef;color:#475569;font-size:12px;font-weight:850;text-decoration:none}.detail-tabs a.active{background:#0f172a;color:#fff;border-color:#0f172a}.role-strip{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:10px;margin:0 0 14px}.role-card{display:block;background:#fff;border:1px solid var(--ui-border);border-radius:15px;padding:12px;text-decoration:none;color:#0f172a;box-shadow:0 8px 22px rgba(15,23,42,.04)}.role-card.active{background:#0f172a;color:#fff;border-color:#0f172a}.role-card strong{display:block;font-size:14px}.role-card span{display:block;margin-top:3px;font-size:11px;color:#64748b}.role-card.active span{color:#cbd5e1}.permission-matrix{padding:14px!important}.perm-section{border-top:1px solid #e8eef6;padding:12px 0}.perm-section:first-of-type{border-top:0}.perm-section h3{font-size:13px;margin:0 0 8px}.perm-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:7px}.perm-row{display:flex!important;align-items:center!important;gap:9px!important;border:1px solid #e2e8f0;border-radius:11px;padding:8px!important;background:#f8fafc}.perm-row span{display:block}.perm-row strong{display:block;font-size:12px}.perm-row small{display:block;font-size:10.5px;color:#64748b}.user-mini{display:inline-flex;align-items:center;gap:8px}.user-mini span{width:28px;height:28px;border-radius:50%;background:#e0ecff;color:#1d4ed8;display:inline-flex;align-items:center;justify-content:center;font-weight:900;font-size:12px}.user-mini strong{font-size:12.5px}.app-shell .form-actions-sticky{position:sticky;bottom:0;background:linear-gradient(180deg,rgba(255,255,255,.1),#fff 36%);padding-top:14px;margin-top:12px!important}.app-shell .invoice-filter .form-grid{grid-template-columns:repeat(5,minmax(130px,1fr))!important}.app-shell .invoice-filter label:has(input[type=checkbox]){align-self:end;background:#f8fafc;border:1px solid #e2e8f0;border-radius:10px;padding:0 10px!important}
@media(max-width:1280px){.dash-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.dash-layout{grid-template-columns:1fr}.customer-rank{grid-template-columns:repeat(2,minmax(0,1fr))}.form-compact .form-grid.compact{grid-template-columns:repeat(2,minmax(150px,1fr))!important}.app-shell .invoice-filter .form-grid{grid-template-columns:repeat(3,minmax(130px,1fr))!important}}
@media(max-width:760px){.page-head,.profile-head{display:block}.page-head .actions,.profile-head .actions{margin-top:10px!important}.dash-grid,.metric-strip{grid-template-columns:1fr}.customer-rank{grid-template-columns:1fr}.timeline-item{grid-template-columns:1fr}.form-compact .form-grid.compact,.app-shell .invoice-filter .form-grid{grid-template-columns:1fr!important}.perm-list{grid-template-columns:1fr}.top-create{display:none!important}}


/* Release 11.1.2 stabilizace UX */
.app-shell .nav-section:not([open]) .nav-section-items{display:none}
.app-shell .profile-menu .avatar img,.app-shell .avatar img{width:28px;height:28px;border-radius:50%;object-fit:cover;display:block}
.app-shell .editor-large{min-height:260px!important;line-height:1.5;resize:vertical}
.app-shell .share-dialog .editor-large{min-height:300px!important}
.app-shell .action-menu{background:#fbfdff;border-color:#cbd5e1;box-shadow:0 22px 60px rgba(15,23,42,.22)}
.app-shell .action-menu a{border-bottom:1px solid #edf2f7}.app-shell .action-menu a:last-child{border-bottom:0}
.app-shell .checkline,input[type=checkbox]+span{vertical-align:middle}.app-shell label.checkline{display:flex!important;align-items:center!important;gap:8px!important;width:auto!important}.app-shell label.checkline input[type=checkbox],.app-shell label input[type=checkbox]{width:16px!important;height:16px!important;min-width:16px!important;padding:0!important;margin:0 6px 0 0!important}
.app-shell .payment-compact-grid{display:grid;grid-template-columns:160px 160px 220px 1fr;gap:10px;align-items:end}.app-shell .payment-compact-grid textarea{min-height:42px}
.app-shell .advanced-toggle{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:850;border:1px solid #dbe3ef;background:#fff;border-radius:999px;padding:6px 10px;cursor:pointer}.app-shell details.advanced-filter summary{list-style:none}.app-shell details.advanced-filter summary::-webkit-details-marker{display:none}
.app-shell .table-wrap{overflow:visible}.app-shell .pro-table-wrap{overflow:visible!important}.app-shell .action-menu.is-open{z-index:500;background:#f8fafc}
@media(max-width:980px){.app-shell .payment-compact-grid{grid-template-columns:1fr}.app-shell .editor-large{min-height:220px!important}}

/* Release 11.1.3 – branding preview, jednoduchý/rozšířený filtr, řazení a stránkování */
.smart-filter{padding:14px 16px!important;margin-bottom:14px!important}
.quick-filter-line{display:grid;grid-template-columns:minmax(260px,1fr) auto auto auto;gap:10px;align-items:end}
.quick-filter-line .quick-search{font-weight:700}
.advanced-filter{border-top:1px solid var(--line);margin-top:14px;padding-top:14px}
.advanced-filter[hidden]{display:none!important}
.sort-link{color:inherit;text-decoration:none;display:inline-flex;align-items:center;gap:4px}
.sort-link:hover{color:var(--accent);text-decoration:none}
.pager{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:12px 4px 0;color:#64748b;font-size:13px;flex-wrap:wrap}
.pager-per,.pager-pages{display:flex;gap:6px;align-items:center}
.pager a{display:inline-flex;min-width:30px;height:30px;padding:0 9px;border:1px solid var(--line);border-radius:9px;align-items:center;justify-content:center;background:#fff;color:#111827;text-decoration:none;font-weight:700}
.pager a.active,.pager a:hover{background:var(--accent);border-color:var(--accent);color:#fff;text-decoration:none}
.branding-preview{display:flex;align-items:center;gap:14px;margin-top:12px;padding:12px;border:1px solid var(--line);background:#f8fafc;border-radius:12px;color:#334155}
.branding-preview img{max-width:160px;max-height:74px;object-fit:contain;border-radius:10px;background:#fff;border:1px solid #e5e7eb;padding:6px}
.branding-preview-bg{align-items:flex-start;flex-direction:column}
.branding-preview-bg img{max-width:100%;width:420px;max-height:180px;object-fit:cover}
.pro-table th a,.pro-invoices th a{font-weight:900}
.pro-invoices th:nth-child(8),.pro-invoices td:nth-child(8){width:88px}
@media(max-width:800px){.quick-filter-line{grid-template-columns:1fr}.pager{align-items:flex-start;flex-direction:column}.branding-preview-bg img{width:100%}}

/* Release 11.1.4 – více firem / přepínač firem */
.company-brand{position:relative;gap:10px;align-items:center;overflow:visible!important}
.company-switcher{margin-left:auto;position:relative;z-index:40}
.company-switcher>summary{list-style:none;cursor:pointer;width:26px;height:26px;border-radius:8px;display:flex;align-items:center;justify-content:center;background:rgba(255,255,255,.08);color:#cbd5e1;font-size:14px;line-height:1;transition:.16s ease}
.company-switcher>summary::-webkit-details-marker{display:none}
.company-switcher>summary:hover{background:rgba(255,255,255,.16);color:#fff}
.company-switcher[open]>summary{background:var(--accent);color:#fff}
.company-switch-menu{position:absolute;left:auto;right:0;top:34px;min-width:260px;background:#fff;color:#0f172a;border:1px solid #dbe3ef;border-radius:14px;box-shadow:0 24px 60px rgba(15,23,42,.24);padding:8px;z-index:120}
.company-switch-title{font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:#64748b;font-weight:800;padding:8px 10px}
.company-switch-menu a{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:10px 10px;border-radius:10px;color:#0f172a;text-decoration:none;font-size:13px;font-weight:750}
.company-switch-menu a:hover{background:#f1f5f9}
.company-switch-menu a.active{background:#eef2ff;color:#1d4ed8}
.company-switch-menu a em{font-style:normal;font-size:11px;color:#16a34a;background:#dcfce7;border-radius:999px;padding:2px 7px}
.company-switch-foot{border-top:1px solid #e5e7eb;margin-top:6px;padding-top:6px}
.company-switch-foot a{font-weight:850;color:#334155}
.company-list{display:flex;flex-direction:column;gap:8px}
.company-list-row{display:flex;align-items:center;justify-content:space-between;gap:12px;border:1px solid #e2e8f0;border-radius:14px;padding:12px;background:#fff}
.company-list-row.active{border-color:#93c5fd;background:#eff6ff}
.company-list-row strong{display:block;font-size:14px}
.company-list-row small{display:block;color:#64748b;margin-top:2px}
.company-list-row .row-actions{display:flex;gap:6px;align-items:center;white-space:nowrap}
.btn.tiny{padding:6px 9px;font-size:12px;min-height:28px}
.sidebar-light .company-switcher>summary{background:#f1f5f9;color:#334155}
.sidebar-light .company-switcher>summary:hover{background:#e2e8f0;color:#0f172a}
@media(max-width:760px){.company-switch-menu{right:-12px;min-width:230px}.company-list-row{align-items:flex-start;flex-direction:column}.company-list-row .row-actions{width:100%;justify-content:flex-start}}


/* Release 11.1.5 – profil, ARES, role/oprávnění */
.profile-password-section{margin-top:22px;border-top:1px solid var(--line,#e2e8f0);padding-top:18px}
.profile-password-section h2{margin:0 0 4px;font-size:16px}.profile-password-section .sub{margin:0 0 12px;color:#64748b;font-size:13px}
.inline-field{display:flex;gap:8px;align-items:center}.inline-field input{min-width:0}.inline-field .btn{white-space:nowrap}.help[data-ares-status]{display:block;margin-top:5px;color:#64748b;font-size:12px;min-height:16px}
.role-manager{margin-bottom:18px}.role-summary-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:10px;margin:10px 0 16px}.role-pill{border:1px solid #dbe3ef;border-radius:14px;background:#fff;padding:11px 12px}.role-pill strong{display:block;font-size:14px}.role-pill span{display:block;font-size:11px;color:#64748b;margin-top:3px}.role-add-form{display:grid;grid-template-columns:1.2fr .9fr .9fr auto;gap:10px;align-items:end}.role-add-form label{font-size:12px;font-weight:750;color:#334155}.role-add-form input,.role-add-form select{margin-top:5px;width:100%}
.wide-permission-matrix{padding:0;overflow:hidden}.wide-permission-matrix>.card-head{padding:16px 18px;border-bottom:1px solid #e2e8f0}.perm-section{border-bottom:1px solid #e2e8f0}.perm-section h3{margin:0;padding:11px 18px;background:#eef2f7;font-size:13px;text-transform:uppercase;letter-spacing:.04em;color:#334155}.permission-table-scroll{overflow:auto}.permission-grid{width:100%;border-collapse:collapse;font-size:13px;background:#fff}.permission-grid th,.permission-grid td{border-bottom:1px solid #edf2f7;padding:10px 12px;vertical-align:middle}.permission-grid thead th{position:sticky;top:0;background:#fff;z-index:2;text-align:center;color:#334155;white-space:nowrap}.permission-grid thead th:first-child{text-align:left;left:0;z-index:3}.permission-grid td:first-child{position:sticky;left:0;background:#fff;z-index:1;min-width:280px}.permission-grid tr:hover td{background:#f8fafc}.permission-grid tr:hover td:first-child{background:#f8fafc}.permission-grid small{display:block;color:#64748b;font-size:11px;margin-top:2px}.permission-grid .center{text-align:center}.permission-grid input[type=checkbox]{width:16px;height:16px;accent-color:var(--accent,#2563eb)}.permission-grid input[disabled]{opacity:.45}
@media(max-width:900px){.role-add-form{grid-template-columns:1fr}.permission-grid td:first-child,.permission-grid thead th:first-child{position:static}.permission-grid th,.permission-grid td{padding:9px 10px}}


/* Release 11.1.6 – firemní přepínač s logem a logo z nastavení firmy */
.app-sidebar{overflow-x:visible!important}
.company-brand{overflow:visible!important;position:relative}
.company-switcher{z-index:250}
.company-switcher[open] .company-switch-menu{position:fixed;left:14px;top:72px;width:340px;max-width:calc(100vw - 28px);max-height:70vh;overflow:auto;display:block}
.company-switch-menu .company-option{display:grid;grid-template-columns:34px minmax(0,1fr) auto;align-items:center;gap:10px;padding:10px;border-radius:12px;color:#0f172a;text-decoration:none}
.company-switch-menu .company-option:hover{background:#f1f5f9;text-decoration:none}
.company-switch-menu .company-option.active{background:#eef2ff;color:#1d4ed8}
.company-option-logo{width:34px;height:34px;border-radius:10px;background:#f8fafc;border:1px solid #e2e8f0;display:flex;align-items:center;justify-content:center;overflow:hidden;flex:0 0 34px}
.company-option-logo img{width:100%;height:100%;object-fit:contain;background:#fff;padding:3px}
.company-option-logo b{font-size:14px;font-weight:900;color:#1d4ed8}
.company-option-text{min-width:0;display:block}
.company-option-text strong{display:block;font-size:13px;font-weight:900;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:1.2}
.company-option-text small{display:block;margin-top:2px;font-size:11px;font-weight:650;color:#64748b;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.company-switch-menu .company-option em{font-style:normal;font-size:10.5px;color:#16a34a;background:#dcfce7;border-radius:999px;padding:3px 7px;white-space:nowrap}
@media(max-width:760px){.company-switcher[open] .company-switch-menu{left:10px;right:10px;top:68px;width:auto;max-width:none}}


/* Release 11.1.7 – users, roles, permission matrix */
.profile-password-box{margin-top:22px;border-top:1px solid var(--line,#e5e7eb);padding-top:18px}.user-access-editor .settings-section{margin-top:22px}.company-access-table th,.company-access-table td{vertical-align:middle}.company-access-table select{width:100%;min-width:180px}.tenant-role-list{display:flex;flex-wrap:wrap;gap:6px}.tenant-role-chip{display:inline-flex;gap:6px;align-items:center;border:1px solid #dbe3ef;background:#f8fafc;border-radius:999px;padding:4px 8px;font-size:12px}.tenant-role-chip b{color:#1d4ed8}.role-manager .role-summary-row{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:16px}.role-pill{border:1px solid #dbe3ef;background:#f8fafc;border-radius:12px;padding:9px 12px;display:flex;flex-direction:column;gap:3px;min-width:160px}.role-pill span{font-size:11px;color:#64748b}.role-add-form{display:grid;grid-template-columns:1.2fr 1fr 1fr auto;gap:10px;align-items:end}.pmc-permission-board{padding:18px}.pmc-permission-board .card-head{position:sticky;top:0;background:#fff;z-index:5;padding-bottom:12px;border-bottom:1px solid #e5e7eb}.permission-table-scroll{overflow:auto;max-width:100%;border:1px solid #dde5ef;border-radius:12px;background:#fff}.permission-grid.publicmc-like{width:max-content;min-width:100%;border-collapse:separate;border-spacing:0;font-size:13px}.permission-grid.publicmc-like th,.permission-grid.publicmc-like td{border-bottom:1px solid #e8edf4;padding:10px 12px;background:#fff}.permission-grid.publicmc-like thead th{position:sticky;top:0;background:#f8fafc;z-index:3;text-align:center;color:#334155;font-weight:800}.permission-grid.publicmc-like .perm-name-col{left:0;z-index:4;text-align:left;min-width:340px}.permission-grid.publicmc-like .perm-name{position:sticky;left:0;background:#fff;z-index:2;min-width:340px}.permission-grid.publicmc-like .perm-name strong{display:block;font-weight:800;color:#0f172a}.permission-grid.publicmc-like .perm-name small{display:block;font-size:11px;color:#64748b;margin-top:2px}.permission-grid.publicmc-like .role-col{min-width:145px}.permission-grid.publicmc-like .role-col small{display:block;font-size:10px;color:#64748b;margin-top:3px}.permission-grid.publicmc-like .perm-group-row td{position:sticky;left:0;background:#eaf0f7!important;color:#334155;font-weight:900;letter-spacing:.05em;font-size:12px;z-index:2;border-top:2px solid #d9e2ec}.permission-grid.publicmc-like tr:hover td:not(.perm-group-row td){background:#f8fbff}.permission-grid.publicmc-like td.center{text-align:center}.permission-grid.publicmc-like input[type="checkbox"]{width:16px;height:16px;accent-color:#7c3aed}.permission-grid.publicmc-like input[disabled]{opacity:.45}.form-actions-sticky{position:sticky;bottom:0;background:linear-gradient(180deg,rgba(255,255,255,.85),#fff);padding:14px 0 0;margin-top:12px;border-top:1px solid #e5e7eb}@media(max-width:900px){.role-add-form{grid-template-columns:1fr}.permission-grid.publicmc-like .perm-name-col,.permission-grid.publicmc-like .perm-name{min-width:240px}.permission-grid.publicmc-like .role-col{min-width:120px}}

/* Release 12.0-A – Centrum nápovědy */
.top-help{white-space:nowrap}.help-head{margin-bottom:14px}.help-search-hero{background:linear-gradient(135deg,#0f172a,#1e293b);border-radius:22px;padding:26px;margin-bottom:18px;box-shadow:0 20px 45px rgba(15,23,42,.12)}.help-search-hero form{display:grid;grid-template-columns:1fr auto;gap:12px;align-items:center}.help-search-hero input{border:0;border-radius:14px;padding:15px 16px;font-size:16px}.help-search-hero .btn{background:#fff;color:#0f172a;border-radius:14px;padding:15px 18px}.help-home-grid{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(320px,.75fr);gap:18px}.help-category-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:10px}.help-category{border:1px solid #e2e8f0;border-radius:15px;background:#fff;padding:13px 14px;display:grid;grid-template-columns:34px 1fr;gap:9px;align-items:center;color:#0f172a;text-decoration:none}.help-category:hover,.help-category.active{border-color:#93c5fd;background:#eff6ff;text-decoration:none}.help-category span{width:34px;height:34px;border-radius:11px;background:#f1f5f9;display:grid;place-items:center;font-weight:900;color:#1d4ed8}.help-category strong{display:block;font-size:14px}.help-category small{display:block;color:#64748b;font-size:12px;grid-column:2}.help-quick-list,.help-related-list{display:flex;flex-direction:column;gap:8px}.help-quick-list a,.help-related-list a{display:block;border:1px solid #e2e8f0;border-radius:14px;padding:12px;text-decoration:none;color:#0f172a;background:#fff}.help-quick-list a:hover,.help-related-list a:hover{border-color:#93c5fd;background:#f8fbff}.help-quick-list strong,.help-related-list strong{display:block;font-size:14px}.help-quick-list span,.help-related-list span{display:block;color:#64748b;font-size:12px;margin-top:3px;line-height:1.35}.section-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.section-head h2{margin:0}.help-article-list{display:flex;flex-direction:column;gap:8px}.help-list-item{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;border:1px solid #e2e8f0;border-radius:15px;padding:14px 15px;color:#0f172a;background:#fff;text-decoration:none}.help-list-item:hover{border-color:#93c5fd;background:#f8fbff;text-decoration:none}.help-list-item strong{font-size:15px}.help-list-item p{margin:5px 0 0;color:#64748b;line-height:1.45}.help-list-item>span{font-size:12px;color:#1d4ed8;background:#dbeafe;border-radius:999px;padding:4px 8px;white-space:nowrap}.help-context-strip{border:1px solid #bfdbfe;background:#eff6ff;border-radius:14px;padding:12px 14px;margin-bottom:18px;color:#1e3a8a}.help-context-strip a{float:right;font-weight:800}.help-layout{display:grid;grid-template-columns:260px minmax(0,900px);gap:20px;align-items:start}.help-side{position:sticky;top:84px;display:flex;flex-direction:column;gap:10px}.help-meta-card{border:1px solid #e2e8f0;background:#fff;border-radius:14px;padding:12px}.help-meta-card strong{display:block;font-size:12px;text-transform:uppercase;letter-spacing:.05em;color:#64748b}.help-meta-card span{display:block;margin-top:4px;font-weight:800}.help-article{padding:30px}.help-article h1{font-size:34px;letter-spacing:-.04em;line-height:1.08;margin:10px 0 10px}.help-article h2{font-size:22px;margin:28px 0 10px}.help-article h3{font-size:17px;margin:20px 0 8px}.help-lead{font-size:17px;line-height:1.55;color:#475569;margin:0 0 20px}.help-breadcrumb{font-size:12px;color:#64748b}.help-article p{line-height:1.65}.help-steps{counter-reset:helpstep;list-style:none;padding:0;margin:16px 0;display:flex;flex-direction:column;gap:10px}.help-steps li{position:relative;border:1px solid #e2e8f0;background:#fff;border-radius:14px;padding:12px 14px 12px 48px;line-height:1.45}.help-steps li:before{counter-increment:helpstep;content:counter(helpstep);position:absolute;left:12px;top:10px;width:24px;height:24px;border-radius:50%;background:#0f172a;color:#fff;display:grid;place-items:center;font-size:12px;font-weight:900}.help-callout{border:1px solid #e2e8f0;border-left:5px solid #64748b;border-radius:14px;background:#f8fafc;padding:13px 15px;margin:16px 0}.help-callout strong{display:block;margin-bottom:4px}.help-callout p{margin:0}.help-callout.tip{border-left-color:#2563eb;background:#eff6ff}.help-callout.warning{border-left-color:#b45309;background:#fffbeb}.help-callout.note{border-left-color:#64748b;background:#f8fafc}.help-list{line-height:1.65}.help-figure{margin:20px 0;border:1px solid #e2e8f0;border-radius:16px;overflow:hidden;background:#fff}.help-figure img{display:block;width:100%;height:auto}.help-figure figcaption{padding:10px 12px;font-size:12px;color:#64748b;background:#f8fafc}.help-related{border-top:1px solid #e5e7eb;margin-top:30px;padding-top:18px}.help-feedback{border-top:1px solid #e5e7eb;margin-top:24px;padding-top:16px;display:flex;align-items:center;gap:8px;flex-wrap:wrap}.help-feedback span{font-weight:800;margin-right:4px}.help-empty-state{max-width:760px}.help-empty-state h2{margin-top:0}@media(max-width:1100px){.help-home-grid,.help-layout{grid-template-columns:1fr}.help-side{position:static;order:2}.help-article{padding:22px}.help-search-hero form{grid-template-columns:1fr}.top-help{display:none}.help-context-strip a{float:none;display:block;margin-top:6px}}@media(max-width:700px){.help-list-item{flex-direction:column}.help-list-item>span{white-space:normal}.help-article h1{font-size:28px}.help-category-grid{grid-template-columns:1fr}}

/* Release 12.0-B – Kontextová nápověda */
.help-drawer-backdrop{position:fixed;inset:0;background:rgba(15,23,42,.28);z-index:90;opacity:0;pointer-events:none;transition:opacity .18s ease}.help-drawer-backdrop.is-open{opacity:1;pointer-events:auto}.help-drawer{position:fixed;top:0;right:0;width:min(520px,calc(100vw - 22px));height:100vh;background:#fff;border-left:1px solid #e2e8f0;box-shadow:-24px 0 70px rgba(15,23,42,.22);z-index:100;transform:translateX(104%);transition:transform .22s ease;display:flex;flex-direction:column}.help-drawer.is-open{transform:translateX(0)}.help-drawer-head{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px 20px;border-bottom:1px solid #e5e7eb;background:#f8fafc}.help-drawer-head strong{display:block;font-size:18px;letter-spacing:-.02em}.help-drawer-head span{display:block;margin-top:3px;color:#64748b;font-size:12px}.help-drawer-close{width:36px;height:36px;border:1px solid #cbd5e1;background:#fff;border-radius:10px;font-size:22px;line-height:1;cursor:pointer}.help-drawer-body{overflow:auto;padding:20px}.help-drawer-loading{border:1px solid #e2e8f0;background:#f8fafc;border-radius:14px;padding:16px;color:#475569}.help-panel-kicker{text-transform:uppercase;letter-spacing:.12em;font-size:11px;font-weight:900;color:#2563eb}.help-panel-title{font-size:25px;line-height:1.1;margin:6px 0 16px;letter-spacing:-.04em}.help-panel-search{display:grid;grid-template-columns:1fr auto;gap:8px;margin-bottom:18px}.help-panel-search input{border:1px solid #cbd5e1;border-radius:12px;padding:11px 12px;min-width:0}.help-panel-section{margin-top:18px}.help-panel-section h3{font-size:14px;text-transform:uppercase;letter-spacing:.06em;color:#64748b;margin:0 0 9px}.help-panel-list,.help-panel-compact{display:flex;flex-direction:column;gap:8px}.help-panel-list a{display:block;border:1px solid #e2e8f0;border-radius:14px;background:#fff;padding:12px;text-decoration:none;color:#0f172a}.help-panel-list a:hover{border-color:#93c5fd;background:#f8fbff}.help-panel-list strong{display:block;font-size:14px}.help-panel-list span{display:block;margin-top:4px;color:#64748b;font-size:12px;line-height:1.4}.help-panel-compact a{display:block;border-bottom:1px solid #e5e7eb;padding:8px 0;color:#0f172a;text-decoration:none;font-weight:750}.help-panel-compact a:hover{color:#1d4ed8}.help-panel-empty{border:1px solid #e2e8f0;background:#f8fafc;border-radius:14px;padding:14px;color:#334155}.help-panel-empty strong{display:block;color:#0f172a}.help-panel-empty p{margin:6px 0 0;line-height:1.45}.help-panel-foot{position:sticky;bottom:0;background:linear-gradient(180deg,rgba(255,255,255,0),#fff 26%);padding-top:28px;margin-top:10px}.help-panel-foot .btn{width:100%;justify-content:center}.body-help-open{overflow:hidden}@media(max-width:700px){.help-drawer{width:100vw}.help-drawer-body{padding:16px}.help-panel-search{grid-template-columns:1fr}.help-drawer-head{padding:15px 16px}}

/* Release 12.0-C – Správa nápovědy */
.help-admin-tabs{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 16px}.help-admin-tabs a{display:inline-flex;align-items:center;gap:8px;border:1px solid #dbe3ef;background:#fff;border-radius:999px;padding:9px 13px;color:#334155;text-decoration:none;font-weight:850;font-size:13px}.help-admin-tabs a:hover,.help-admin-tabs a.active{border-color:#93c5fd;background:#eff6ff;color:#1d4ed8;text-decoration:none}.help-admin-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:0 0 16px}.help-admin-stats>div{border:1px solid #e2e8f0;background:#fff;border-radius:16px;padding:14px 16px}.help-admin-stats strong{display:block;font-size:28px;line-height:1;letter-spacing:-.05em;color:#0f172a}.help-admin-stats span{display:block;color:#64748b;font-size:12px;text-transform:uppercase;letter-spacing:.06em;font-weight:850;margin-top:5px}.help-admin-excerpt{max-width:520px;color:#64748b;font-size:12px;line-height:1.35;margin-top:4px}.help-admin-form{display:flex;flex-direction:column;gap:16px}.help-context-checkboxes{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:8px}.help-context-checkboxes label{border:1px solid #e2e8f0;background:#fff;border-radius:13px;padding:10px 11px;display:grid;grid-template-columns:auto 1fr;gap:7px;align-items:start;cursor:pointer}.help-context-checkboxes input{margin-top:2px}.help-context-checkboxes span{font-weight:850;color:#0f172a}.help-context-checkboxes small{grid-column:2;display:block;color:#64748b;font-size:11px;margin-top:2px}.help-extra-contexts{display:block;margin-top:12px;font-weight:850}.help-editor-grid{display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:18px}.help-body-editor{width:100%;min-height:520px;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono",monospace;font-size:13px;line-height:1.55;border:1px solid #cbd5e1;border-radius:14px;padding:14px;background:#fff;color:#0f172a}.help-editor-help{border:1px solid #e2e8f0;background:#f8fafc;border-radius:16px;padding:14px;align-self:start;position:sticky;top:82px}.help-editor-help h3{margin:0 0 10px;font-size:15px}.help-editor-help p{margin:0 0 8px;color:#475569;font-size:12px;line-height:1.45}.inline-action-form{display:inline-flex;margin:0}.inline-action-form .btn{font-family:inherit}.row-actions{display:flex;gap:6px;align-items:center;flex-wrap:wrap}.field-check{align-self:end}.badge.muted{background:#f1f5f9;color:#64748b}@media(max-width:1000px){.help-editor-grid{grid-template-columns:1fr}.help-editor-help{position:static}.help-admin-stats{grid-template-columns:1fr}.help-context-checkboxes{grid-template-columns:1fr}}


/* Release 12.0-D1 – login branding fix: pozadí loginu a odstranění loga z levého horního rohu */
body.login-product{background-repeat:no-repeat;background-size:cover;background-position:center center}
.login-product:before{background:radial-gradient(circle at 20% 20%,rgba(37,99,235,.16),transparent 32%),linear-gradient(120deg,rgba(2,6,23,.46),rgba(15,23,42,.18))}
.login-hero{justify-content:flex-end}
.login-brandline{display:none!important}

/* Release 12.0-D2 – odkaz na obchodní prezentaci */
.app-shell .top-presentation-link{height:36px;min-width:42px;padding:0 9px;border:1px solid #dbe4f0;border-radius:11px;background:#ffffff;color:#0f172a;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;gap:4px;font-size:12px;font-weight:900;box-shadow:0 1px 2px rgba(15,23,42,.04)}
.app-shell .top-presentation-link span{font-size:15px;line-height:1;transform:translateY(-1px)}
.app-shell .top-presentation-link em{font-style:normal;font-size:10px;letter-spacing:.04em;color:#475569}
.app-shell .top-presentation-link:hover{border-color:#93c5fd;background:#eff6ff;color:#1d4ed8;text-decoration:none}
.help-presentation-card{display:flex;align-items:center;justify-content:space-between;gap:18px;border:1px solid #dbe4f0;background:#fff;border-radius:18px;padding:16px 18px;margin:-4px 0 18px;box-shadow:0 10px 26px rgba(15,23,42,.05)}
.help-presentation-main{display:flex;align-items:center;gap:14px;min-width:0}
.help-presentation-icon{width:48px;height:48px;border-radius:14px;background:#0f172a;color:#fff;display:inline-grid;place-items:center;font-size:12px;font-weight:900;letter-spacing:.06em;flex:0 0 auto}
.help-presentation-main strong{display:block;font-size:16px;color:#0f172a;margin-bottom:3px}
.help-presentation-main p{margin:0;color:#64748b;line-height:1.45;font-size:13px}
@media(max-width:1100px){.app-shell .top-presentation-link{display:none}.help-presentation-card{align-items:flex-start;flex-direction:column}.help-presentation-card .btn{width:100%;justify-content:center}}

/* Release 12.0-D4 – profil: elegantní avatar, drag & drop a samostatná změna hesla */
.profile-card-modern{padding:20px;overflow:hidden}
.profile-modern-layout{display:grid;grid-template-columns:300px minmax(0,1fr);gap:24px;align-items:start}
.profile-avatar-panel{display:flex;flex-direction:column;gap:14px;align-items:stretch}
.profile-avatar-xl,.profile-avatar-preview{width:168px;height:168px;border-radius:50%;background:linear-gradient(135deg,#0f172a,#334155);color:#fff;display:grid;place-items:center;font-size:44px;font-weight:900;letter-spacing:-.04em;overflow:hidden;box-shadow:0 16px 40px rgba(15,23,42,.18);margin:0 auto}
.profile-avatar-xl img,.profile-avatar-preview img{width:100%;height:100%;display:block;object-fit:cover}
.profile-avatar-dropzone{position:relative;border:1px dashed #b9c7d8;background:#f8fafc;border-radius:18px;padding:18px;text-align:center;cursor:pointer;transition:border-color .15s ease,background .15s ease,transform .15s ease;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;min-height:132px;color:#334155}
.profile-avatar-dropzone:hover,.profile-avatar-dropzone.is-dragover{border-color:#2563eb;background:#eff6ff;transform:translateY(-1px)}
.profile-avatar-dropzone input{position:absolute;inline-size:1px;block-size:1px;opacity:0;pointer-events:none}
.profile-avatar-drop-icon{width:42px;height:42px;border-radius:14px;background:#0f172a;color:#fff;display:grid;place-items:center;font-size:24px;font-weight:900;line-height:1}
.profile-avatar-dropzone strong{display:block;font-size:14px;color:#0f172a}
.profile-avatar-dropzone small{display:block;font-size:12px;line-height:1.35;color:#64748b;max-width:220px}
.profile-fields-panel{min-width:0;padding-top:4px}
.profile-form-note{margin:13px 0 0;color:#64748b;font-size:12px;line-height:1.45;border-top:1px solid #e5eaf1;padding-top:12px}
.profile-password-details{margin-top:16px;padding:0;overflow:hidden}
.profile-password-details summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px 18px;font-weight:900;color:#0f172a;background:#fff}
.profile-password-details summary::-webkit-details-marker{display:none}
.profile-password-details summary span{display:inline-flex;align-items:center;gap:8px}
.profile-password-details summary span:before{content:'🔒';font-size:14px}
.profile-password-details summary small{font-weight:700;color:#64748b;font-size:12px;text-align:right}
.profile-password-details[open] summary{border-bottom:1px solid #e5eaf1;background:#f8fafc}
.profile-password-form{padding:18px}.profile-password-form .actions{margin-top:12px}
@media(max-width:900px){.profile-modern-layout{grid-template-columns:1fr}.profile-avatar-panel{align-items:center}.profile-avatar-dropzone{width:100%;max-width:360px}.profile-password-details summary{align-items:flex-start;flex-direction:column}.profile-password-details summary small{text-align:left}}

/* Release 12.0-D5 – drobné UX opravy */
.user-mini .user-list-avatar{width:32px;height:32px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;overflow:hidden;background:#e0ecff;color:#1d4ed8;font-weight:900;font-size:12px;flex:0 0 32px}
.user-mini .user-list-avatar img{width:100%;height:100%;display:block;object-fit:cover}
.user-mini .user-list-avatar-fallback{background:#e0ecff;color:#1d4ed8}
.accounting-periods-note{color:#64748b;font-size:13px;line-height:1.55}

/* Release 12.0-D6 – horní audio průvodce */
.app-shell .top-audio-wrap{position:relative;display:inline-flex;align-items:center}
.app-shell .top-audio-link{height:36px;min-width:58px;padding:0 10px;border:1px solid #dbe4f0;border-radius:11px;background:#fff;color:#0f172a;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;gap:5px;font-size:12px;font-weight:900;box-shadow:0 1px 2px rgba(15,23,42,.04)}
.app-shell .top-audio-link span{font-size:13px;line-height:1;transform:translateY(-1px)}
.app-shell .top-audio-link em{font-style:normal;font-size:10px;letter-spacing:.04em;color:#475569;text-transform:uppercase}
.app-shell .top-audio-link:hover,.app-shell .top-audio-link.is-playing{border-color:#86efac;background:#f0fdf4;color:#15803d;text-decoration:none}
.app-shell .top-audio-link.is-playing em{color:#15803d}
.app-shell .top-audio-popover{position:absolute;right:0;top:44px;width:360px;background:#fff;border:1px solid #dbe4f0;border-radius:16px;box-shadow:0 22px 60px rgba(15,23,42,.22);padding:12px;z-index:260}
.app-shell .top-audio-title{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:8px;color:#0f172a;font-size:12px}
.app-shell .top-audio-title button{width:26px;height:26px;border:0;border-radius:8px;background:#f1f5f9;color:#0f172a;cursor:pointer;font-weight:900;line-height:1}
.app-shell .top-audio-title button:hover{background:#e2e8f0}
.app-shell .top-audio-popover audio{width:100%;height:36px;display:block}
.app-shell .top-audio-popover[hidden]{display:none!important}
@media(max-width:1100px){.app-shell .top-audio-wrap{display:none}}

/* Release 13.1 – Zákazníci: panel sloupců */
.customer-columns-panel{margin-top:0!important;margin-bottom:14px!important;padding:13px 14px!important;border-color:#dbe4f0!important;box-shadow:0 10px 26px rgba(15,23,42,.06)!important}
.customer-columns-panel[hidden]{display:none!important}.customer-columns-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:10px}.customer-columns-head strong{display:block;font-size:14px;color:#0f172a}.customer-columns-head span{display:block;margin-top:2px;color:#64748b;font-size:12px}.customer-column-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:8px}.customer-column-row{display:grid;grid-template-columns:24px 1fr auto;align-items:center;gap:7px;border:1px solid #e2e8f0;background:#fff;border-radius:12px;padding:8px 9px;min-height:39px;cursor:grab}.customer-column-row:active{cursor:grabbing}.customer-column-row.is-dragging{opacity:.55;border-color:#93c5fd;background:#eff6ff}.customer-column-row label{display:flex;align-items:center;gap:7px;margin:0;font-size:12.5px;font-weight:850;color:#0f172a}.customer-column-row input[type=checkbox]{width:auto;margin:0}.customer-column-row em{font-style:normal;font-size:10px;color:#64748b;background:#f1f5f9;border-radius:999px;padding:3px 6px}.column-drag{color:#94a3b8;font-size:14px;line-height:1;text-align:center}.customer-columns-actions{display:flex;align-items:center;gap:8px;justify-content:flex-end;margin-top:12px}.customer-columns-actions form{margin:0}.customer-table-wrap{position:relative}.customer-column-table th.right a{justify-content:flex-end}.customer-column-table td.right,.customer-column-table th.right{text-align:right}@media(max-width:760px){.customer-column-list{grid-template-columns:1fr}.customer-columns-head{display:flex}.customer-columns-actions{justify-content:flex-start;flex-wrap:wrap}}


/* Release 13.2 – customer export menu */
.export-dropdown{position:relative;display:inline-block}
.export-dropdown summary{list-style:none;cursor:pointer;user-select:none}
.export-dropdown summary::-webkit-details-marker{display:none}
.export-dropdown-menu{position:absolute;right:0;top:calc(100% + 8px);z-index:30;min-width:170px;background:#fff;border:1px solid #e5e7eb;border-radius:14px;box-shadow:0 18px 45px rgba(15,23,42,.16);padding:6px}
.export-dropdown-menu a{display:flex;align-items:center;gap:8px;padding:9px 11px;border-radius:10px;color:#0f172a;text-decoration:none;font-weight:700;font-size:13px;white-space:nowrap}
.export-dropdown-menu a:hover{background:#f8fafc}
@media(max-width:760px){.export-dropdown-menu{left:0;right:auto}}


/* Release 13.3 / Fáze 4 – import zákazníků */
.import-grid .card { min-height: 220px; }
.import-field-cloud { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 12px; }
.import-field-cloud span { display: inline-flex; align-items: center; min-height: 28px; padding: 4px 10px; border: 1px solid var(--line); border-radius: 10px; background: #fff; font-size: 12px; color: var(--muted); }
.import-mapping-grid { display: grid; grid-template-columns: repeat(4, minmax(180px, 1fr)); gap: 10px; margin-top: 12px; }
.import-mapping-grid label { display: grid; gap: 5px; }
.import-mapping-grid label span { font-size: 12px; font-weight: 700; color: #334155; }
.import-mapping-grid label em { font-style: normal; color: #ef4444; font-size: 11px; margin-left: 6px; }
.import-result-strip { margin: 14px 0; }
.danger-zone { border-color: #fecaca; background: #fff7f7; }
.danger-zone p { color: #64748b; margin: 6px 0 12px; }
.btn.danger { background: #dc2626; color: #fff; border-color: #dc2626; }
@media (max-width: 1100px) { .import-mapping-grid { grid-template-columns: repeat(2, minmax(180px, 1fr)); } }
@media (max-width: 720px) { .import-mapping-grid { grid-template-columns: 1fr; } }


/* Release 13.4 / Fáze 5 – mapa zákazníků */
.customer-map-layout{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:16px;align-items:start}.customer-map-card{padding:0!important;overflow:hidden}.customer-map-toolbar{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:14px 16px;border-bottom:1px solid #e5eaf1;background:#fff}.customer-map-toolbar strong{display:block;font-size:14px;color:#0f172a}.customer-map-toolbar span{display:block;margin-top:2px;color:#64748b;font-size:12px}.map-legend{display:flex;align-items:center;gap:10px;flex-wrap:wrap;justify-content:flex-end}.map-legend span{display:inline-flex!important;align-items:center;gap:5px;margin:0!important;font-size:11px;font-weight:800;color:#475569}.pin{width:10px;height:10px;border-radius:50%;display:inline-block;background:#2563eb}.pin.active{background:#16a34a}.pin.debt{background:#dc2626}.pin.deal{background:#f59e0b}.pin.archived{background:#64748b}.customer-map{height:620px;min-height:420px;background:#eef2f7;position:relative}.customer-map-empty{position:absolute;inset:0;display:grid;place-items:center;text-align:center;color:#64748b;font-weight:800;padding:22px}.customer-map-side{display:flex;flex-direction:column;gap:12px}.map-stats{display:grid;grid-template-columns:1fr;gap:8px}.map-stats div{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #eef2f7;padding:8px 0}.map-stats div:last-child{border-bottom:0}.map-stats span{font-size:12px;color:#64748b;font-weight:800}.map-stats strong{font-size:18px;color:#0f172a}.map-missing-list{display:flex;flex-direction:column;gap:7px;max-height:320px;overflow:auto}.map-missing-list a{display:block;border:1px solid #e5eaf1;border-radius:12px;padding:9px 10px;color:#0f172a;text-decoration:none;background:#fff}.map-missing-list a:hover{background:#f8fafc;border-color:#cbd5e1}.map-missing-list strong{display:block;font-size:13px}.map-missing-list span{display:block;margin-top:2px;font-size:12px;color:#64748b}.map-missing-list em{display:inline-block;margin-top:5px;font-style:normal;font-size:10px;color:#475569;background:#f1f5f9;border-radius:999px;padding:2px 7px}.customer-map-marker{background:transparent;border:0}.customer-map-marker span{display:block;width:22px;height:22px;border-radius:50%;border:3px solid #fff;box-shadow:0 4px 14px rgba(15,23,42,.35);background:#2563eb}.customer-map-marker.active span{background:#16a34a}.customer-map-marker.debt span{background:#dc2626}.customer-map-marker.deal span{background:#f59e0b}.customer-map-marker.archived span,.customer-map-marker.muted span{background:#64748b}.customer-map-popup{min-width:240px}.customer-map-popup strong{display:block;font-size:15px;color:#0f172a;margin-bottom:4px}.customer-map-popup p{margin:0 0 8px;color:#64748b;font-size:12px;line-height:1.35}.customer-map-popup dl{display:grid;grid-template-columns:82px 1fr;gap:4px 8px;margin:0 0 10px;font-size:12px}.customer-map-popup dt{color:#64748b;font-weight:800}.customer-map-popup dd{margin:0;color:#0f172a}.popup-actions{display:flex;gap:7px}.popup-actions a{display:inline-flex;align-items:center;justify-content:center;min-height:30px;padding:5px 9px;border-radius:9px;background:#0f172a;color:#fff!important;text-decoration:none;font-size:12px;font-weight:900}.popup-actions a+ a{background:#eef2ff;color:#1d4ed8!important}.leaflet-container{font:inherit}.leaflet-popup-content-wrapper{border-radius:14px}.leaflet-popup-content{margin:12px 14px}@media(max-width:1120px){.customer-map-layout{grid-template-columns:1fr}.customer-map-side{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}.customer-map-side .card:last-child{grid-column:1/-1}}@media(max-width:760px){.customer-map-toolbar{align-items:flex-start;flex-direction:column}.map-legend{justify-content:flex-start}.customer-map{height:520px}.customer-map-side{grid-template-columns:1fr}}


/* Release 13.5 / Fáze 6: CRM detail zákazníka */
.customer-crm-page{display:flex;flex-direction:column;gap:16px}.customer-crm-hero{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:18px 20px;border:1px solid #e5eaf1;border-radius:18px;background:linear-gradient(135deg,#fff,#f8fafc);box-shadow:0 12px 28px rgba(15,23,42,.05)}.customer-crm-hero h1{margin-bottom:5px}.customer-crm-hero p{margin:0;color:#64748b}.customer-crm-badges{display:flex;gap:7px;flex-wrap:wrap;margin-top:10px}.grid.grid-5{grid-template-columns:repeat(5,minmax(0,1fr))}.customer-crm-kpis .kpi{min-height:86px}.customer-crm-layout{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:16px;align-items:start}.customer-crm-main{display:flex;flex-direction:column;gap:16px}.customer-crm-side{display:flex;flex-direction:column;gap:16px}.customer-crm-card h2{margin:0 0 12px;font-size:15px;color:#0f172a}.customer-crm-card label{display:block;margin-bottom:10px}.customer-crm-card select,.customer-crm-card input,.customer-crm-card textarea{width:100%}.customer-crm-dl{display:grid;grid-template-columns:95px 1fr;gap:8px 12px;margin:0}.customer-crm-dl dt{color:#64748b;font-size:12px;font-weight:900}.customer-crm-dl dd{margin:0;color:#0f172a;font-size:13px;overflow-wrap:anywhere}.customer-timeline{display:flex;flex-direction:column;gap:8px}.timeline-row{border-left:3px solid #6366f1;background:#f8fafc;border-radius:12px;padding:9px 12px}.timeline-row.muted{border-left-color:#cbd5e1}.timeline-row span{display:block;color:#64748b;font-size:11px;font-weight:800}.timeline-row strong{display:block;color:#0f172a;font-size:13px;margin-top:2px}.timeline-row p{margin:3px 0 0;color:#475569;font-size:12px;line-height:1.4}.customer-detail-map{height:260px;min-height:220px;background:#eef2f7;border-radius:14px;overflow:hidden;position:relative;border:1px solid #e5eaf1}.customer-detail-map .customer-map-empty{border-radius:14px}@media(max-width:1180px){.grid.grid-5{grid-template-columns:repeat(2,minmax(0,1fr))}.customer-crm-layout{grid-template-columns:1fr}.customer-crm-side{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.customer-crm-side .card:last-child{grid-column:1/-1}}@media(max-width:760px){.customer-crm-hero{flex-direction:column}.grid.grid-5,.customer-crm-side{grid-template-columns:1fr}.customer-crm-dl{grid-template-columns:1fr}.customer-crm-dl dt{margin-top:5px}}


/* Release 13.6 / Fáze 7 – CRM UX stabilizace + levý navigační sloupec přes celou výšku
   Cíl: při dlouhém detailu zákazníka nesmí vlevo vznikat vysekaný světlý pruh pod tmavým menu.
   Nemění strukturu HTML ani funkce. Řeší pouze kaskádový vzhled shellu a CRM detailu. */
body.app-shell{
  min-height:100vh!important;
  background:linear-gradient(90deg,#0b1730 0 var(--sidebar-w,248px),var(--ui-bg,#f4f7fb) var(--sidebar-w,248px) 100%)!important;
}
.app-shell .app{
  min-height:100vh!important;
  align-items:stretch!important;
  background:linear-gradient(90deg,#0b1730 0 var(--sidebar-w,248px),var(--ui-bg,#f4f7fb) var(--sidebar-w,248px) 100%)!important;
}
.app-shell.sidebar-blue .app,
body.app-shell.sidebar-blue{
  background:linear-gradient(90deg,var(--brand,#0b1730) 0 var(--sidebar-w,248px),var(--ui-bg,#f4f7fb) var(--sidebar-w,248px) 100%)!important;
}
.app-shell.sidebar-light .app,
body.app-shell.sidebar-light{
  background:linear-gradient(90deg,#fff 0 var(--sidebar-w,248px),var(--ui-bg,#f4f7fb) var(--sidebar-w,248px) 100%)!important;
}
.app-shell .app-sidebar{
  min-height:100vh!important;
  height:100vh!important;
  max-height:100vh!important;
  position:sticky!important;
  top:0!important;
  align-self:start!important;
  z-index:20;
}
.app-shell .app-main{
  min-height:100vh!important;
  background:var(--ui-bg,#f4f7fb)!important;
}
.app-shell .app-content{
  min-height:calc(100vh - var(--topbar-h,68px))!important;
}
.app-shell .customer-crm-page{
  padding-bottom:34px;
}
.app-shell .customer-crm-layout{
  align-items:start;
}
.app-shell .customer-crm-side{
  position:relative;
}
.app-shell .customer-crm-card,
.app-shell .customer-profile,
.app-shell .card.customer-crm-card{
  box-shadow:0 12px 30px rgba(15,23,42,.055);
}
.app-shell .customer-detail-map{
  box-shadow:inset 0 0 0 1px rgba(15,23,42,.03);
}
@media(max-width:900px){
  body.app-shell,
  body.app-shell.sidebar-blue,
  body.app-shell.sidebar-light,
  .app-shell .app,
  .app-shell.sidebar-blue .app,
  .app-shell.sidebar-light .app{
    background:var(--ui-bg,#f4f7fb)!important;
  }
  .app-shell .app-sidebar{
    height:auto!important;
    min-height:0!important;
    max-height:none!important;
    position:relative!important;
    align-self:auto!important;
  }
}
@media print{
  body.app-shell,
  .app-shell .app{
    background:#fff!important;
  }
}


/* =========================================================
   Release 13.6.1 / Fáze 7 – sjednocení barvy levého sloupce
   Problém: při dlouhém detailu zákazníka se pod reálným sidebar menu zobrazoval
   jiný modrý odstín z pozadí stránky. Vypadalo to jako useknutý sloupec.
   Řešení: celý levý pruh za navigací používá stejnou tmavou barvu jako sidebar.
   Funkce, HTML struktura ani data se nemění.
   ========================================================= */
:root{
  --sidebar-bg-solid:#0b1730;
  --sidebar-bg-deep:#07152d;
}
body.app-shell,
body.app-shell.sidebar-blue,
.app-shell .app,
.app-shell.sidebar-blue .app{
  background:linear-gradient(90deg,var(--sidebar-bg-solid) 0 var(--sidebar-w,248px),var(--ui-bg,#f4f7fb) var(--sidebar-w,248px) 100%)!important;
}
.app-shell .app{
  position:relative!important;
}
body.app-shell:before{
  content:"";
  position:fixed;
  left:0;
  top:0;
  bottom:0;
  width:var(--sidebar-w,248px);
  background:linear-gradient(180deg,var(--sidebar-bg-solid) 0%,var(--sidebar-bg-deep) 100%)!important;
  z-index:0;
  pointer-events:none;
}
.app-shell .app-sidebar{
  background:linear-gradient(180deg,var(--sidebar-bg-solid) 0%,var(--sidebar-bg-deep) 100%)!important;
  background-color:var(--sidebar-bg-solid)!important;
  min-height:100vh!important;
  height:100vh!important;
  max-height:100vh!important;
  position:sticky!important;
  top:0!important;
  z-index:30!important;
}
.app-shell.sidebar-blue .app-sidebar{
  background:linear-gradient(180deg,var(--sidebar-bg-solid) 0%,var(--sidebar-bg-deep) 100%)!important;
  background-color:var(--sidebar-bg-solid)!important;
}
.app-shell .app-main{
  position:relative!important;
  z-index:1!important;
  background:var(--ui-bg,#f4f7fb)!important;
}
.app-shell.sidebar-light:before{
  background:#fff!important;
}
.app-shell.sidebar-light .app-sidebar{
  background:#fff!important;
  background-color:#fff!important;
}
@media(max-width:900px){
  body.app-shell:before{display:none!important}
  body.app-shell,
  body.app-shell.sidebar-blue,
  .app-shell .app,
  .app-shell.sidebar-blue .app{
    background:var(--ui-bg,#f4f7fb)!important;
  }
}
@media print{
  body.app-shell:before{display:none!important}
}


/* Release 13.7 / Fáze 8 – uložené pohledy a rozšířené CRM filtry */
.saved-filter-strip{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:10px 0 12px;padding:10px 12px;background:#fff;border:1px solid #e4e9f2;border-radius:14px;box-shadow:0 10px 24px rgba(15,23,42,.04)}
.saved-filter-left{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.saved-filter-title{font-size:12px;font-weight:800;color:#64748b;text-transform:uppercase;letter-spacing:.04em;margin-right:4px}.saved-filter-chip{display:inline-flex;align-items:center;gap:6px;padding:6px 10px;border:1px solid #e5eaf3;border-radius:999px;background:#f8fafc;color:#1e293b;font-size:12px;font-weight:700;text-decoration:none}.saved-filter-chip:hover{border-color:#cbd5e1;background:#fff}.saved-filter-chip.active{background:#eef2ff;border-color:#818cf8;color:#3730a3}.saved-filter-chip.user{background:#f5fbff}.saved-filter-user-wrap{display:inline-flex;align-items:center}.saved-filter-user-wrap form{margin-left:-4px}.saved-filter-user-wrap button{width:22px;height:22px;border:0;border-radius:999px;background:#e2e8f0;color:#475569;font-weight:900;cursor:pointer}.saved-filter-user-wrap button:hover{background:#fecaca;color:#991b1b}.saved-filter-save{position:relative}.saved-filter-save summary{cursor:pointer;list-style:none;font-size:12px;font-weight:800;color:#111827;border:1px solid #d9e2ef;border-radius:10px;padding:7px 10px;background:#f8fafc}.saved-filter-save summary::-webkit-details-marker{display:none}.saved-filter-save[open] summary{background:#fff}.saved-filter-save form{position:absolute;right:0;top:36px;z-index:30;width:280px;display:flex;gap:8px;padding:10px;background:#fff;border:1px solid #dbe3ef;border-radius:14px;box-shadow:0 20px 50px rgba(15,23,42,.16)}.saved-filter-save input[name="name"]{min-width:0;flex:1;border:1px solid #dbe3ef;border-radius:10px;padding:8px 10px}.crm-advanced-filter{grid-template-columns:repeat(4,minmax(0,1fr))}.crm-advanced-filter label{min-width:0}@media(max-width:1100px){.saved-filter-strip{align-items:flex-start;flex-direction:column}.saved-filter-save form{left:0;right:auto}.crm-advanced-filter{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:640px){.crm-advanced-filter{grid-template-columns:1fr}.saved-filter-chip{font-size:11px;padding:5px 8px}}

/* =========================================================
   Release 13.7.1 / mezifáze – návrat schváleného barevného sidebaru
   Cíl: vrátit klientem schválený dvoubarevný/přechodový levý sloupec,
   ale zachovat opravu z Fáze 7: pruh musí pokračovat přes celou výšku
   dlouhých CRM stránek. Funkce, HTML struktura, faktury, zákaznická data,
   importy, exporty ani mapa se nemění.
   ========================================================= */
:root{
  --sidebar-gradient-approved:linear-gradient(180deg,var(--brand,#0b1730) 0%,#0b2a4f 48%,#07152d 100%);
  --sidebar-gradient-approved-soft:linear-gradient(180deg,rgba(37,99,235,.18) 0%,rgba(37,99,235,.06) 32%,rgba(7,21,45,0) 72%),linear-gradient(180deg,var(--brand,#0b1730) 0%,#0b2a4f 48%,#07152d 100%);
}
body.app-shell:not(.sidebar-light),
.app-shell:not(.sidebar-light) .app{
  background:linear-gradient(90deg,#07152d 0 var(--sidebar-w,248px),var(--ui-bg,#f4f7fb) var(--sidebar-w,248px) 100%)!important;
}
body.app-shell:not(.sidebar-light):before{
  content:"";
  position:fixed;
  left:0;
  top:0;
  bottom:0;
  width:var(--sidebar-w,248px);
  background:var(--sidebar-gradient-approved-soft)!important;
  z-index:0;
  pointer-events:none;
}
.app-shell:not(.sidebar-light) .app-sidebar,
.app-shell.sidebar-blue .app-sidebar{
  background:var(--sidebar-gradient-approved-soft)!important;
  background-color:#0b1730!important;
  min-height:100vh!important;
  height:100vh!important;
  max-height:100vh!important;
  position:sticky!important;
  top:0!important;
  z-index:30!important;
}
.app-shell .app-main{
  position:relative!important;
  z-index:1!important;
}
.app-shell.sidebar-light:before{display:none!important}
@media(max-width:900px){
  body.app-shell:not(.sidebar-light):before{display:none!important}
  body.app-shell:not(.sidebar-light),
  .app-shell:not(.sidebar-light) .app{background:var(--ui-bg,#f4f7fb)!important}
  .app-shell:not(.sidebar-light) .app-sidebar{height:auto!important;min-height:0!important;max-height:none!important;position:relative!important}
}
@media print{body.app-shell:before{display:none!important}}


/* Release 13.8 / Fáze 9 – zákazníci: hromadné CRM akce */
.customer-bulk-form{margin:0;}
.customer-bulkbar{display:flex;flex-direction:column;gap:10px;margin:14px 0;border:1px solid rgba(148,163,184,.25);background:rgba(255,255,255,.92);box-shadow:0 10px 26px rgba(15,23,42,.05);}
.customer-bulkbar .bulkbar-main{display:flex;align-items:center;gap:10px;flex-wrap:wrap;}
.customer-bulkbar .bulkbar-main span{font-weight:800;color:#0f172a;}
.customer-bulkbar select,.customer-bulkbar input{min-height:34px;border:1px solid rgba(148,163,184,.35);border-radius:10px;background:#fff;padding:6px 10px;font-size:13px;}
.customer-bulk-extra{display:grid;grid-template-columns:repeat(5,minmax(120px,1fr));gap:8px;align-items:end;}
.customer-bulk-extra label{font-size:11px;font-weight:800;color:#64748b;text-transform:uppercase;letter-spacing:.03em;display:flex;flex-direction:column;gap:4px;}
.customer-check-col{width:34px;text-align:center;white-space:nowrap;}
.customer-check-col input{width:16px;height:16px;vertical-align:middle;accent-color:#4f46e5;}
.customer-column-table tr:has(.customer-check-col input:checked){background:rgba(79,70,229,.045);}
@media (max-width:1100px){.customer-bulk-extra{grid-template-columns:repeat(2,minmax(120px,1fr));}}
@media (max-width:720px){.customer-bulk-extra{grid-template-columns:1fr}.customer-bulkbar .bulkbar-main{align-items:stretch}.customer-bulkbar .bulkbar-main select,.customer-bulkbar .bulkbar-main button{width:100%;}}


/* =========================================================
   Release 13.8.1 / mezifáze – zarovnání hromadných operací
   Cíl: Fáze 9 byla funkčně správně, ale panel byl vizuálně rozházený.
   Tato úprava pouze srovná horní CRM panel hromadných operací do jedné
   čisté pracovní lišty. Funkce, výběr řádků, importy, exporty, mapa,
   faktury a zákaznická data se nemění.
   ========================================================= */
.customer-bulk-form{
  margin:0!important;
}
.customer-bulkbar{
  display:grid!important;
  grid-template-columns:minmax(150px,190px) minmax(240px,340px) auto repeat(5,minmax(118px,1fr));
  align-items:end!important;
  gap:8px 10px!important;
  margin:10px 0 12px!important;
  padding:10px 12px!important;
  border:1px solid #dfe7f1!important;
  border-radius:14px!important;
  background:linear-gradient(180deg,#ffffff 0%,#f8fafc 100%)!important;
  box-shadow:0 8px 22px rgba(15,23,42,.045)!important;
}
.customer-bulkbar .bulkbar-main,
.customer-bulkbar .customer-bulk-extra{
  display:contents!important;
}
.customer-bulkbar .bulkbar-main span{
  display:flex!important;
  align-items:center!important;
  min-height:34px!important;
  margin:0!important;
  font-size:12px!important;
  line-height:1.15!important;
  font-weight:900!important;
  color:#0f172a!important;
  letter-spacing:-.01em!important;
  white-space:nowrap!important;
}
.customer-bulkbar .bulkbar-main span:before{
  content:"☑";
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:22px;
  height:22px;
  margin-right:8px;
  border-radius:8px;
  background:#eef2ff;
  color:#4f46e5;
  font-size:12px;
  font-weight:900;
}
.customer-bulkbar select,
.customer-bulkbar input{
  width:100%!important;
  max-width:none!important;
  min-width:0!important;
  min-height:34px!important;
  height:34px!important;
  border:1px solid #d9e2ef!important;
  border-radius:10px!important;
  background:#fff!important;
  padding:6px 10px!important;
  font-size:12.5px!important;
  line-height:1.2!important;
  box-shadow:none!important;
}
.customer-bulkbar .bulkbar-main select{
  grid-column:auto!important;
}
.customer-bulkbar .bulkbar-main button{
  min-height:34px!important;
  height:34px!important;
  align-self:end!important;
  white-space:nowrap!important;
  padding:0 13px!important;
  border-radius:10px!important;
}
.customer-bulk-extra label{
  display:flex!important;
  flex-direction:column!important;
  gap:3px!important;
  margin:0!important;
  min-width:0!important;
  font-size:10.5px!important;
  line-height:1.1!important;
  font-weight:900!important;
  color:#64748b!important;
  text-transform:uppercase!important;
  letter-spacing:.035em!important;
}
.customer-bulkbar > .mini{
  grid-column:1/-1!important;
  margin:0!important;
  padding-top:2px!important;
  color:#64748b!important;
  font-size:11.5px!important;
  line-height:1.25!important;
  text-align:left!important;
}
.customer-table-wrap{
  margin-top:0!important;
}
@media (max-width:1500px){
  .customer-bulkbar{
    grid-template-columns:minmax(150px,190px) minmax(220px,1fr) auto repeat(3,minmax(130px,1fr))!important;
  }
}
@media (max-width:1100px){
  .customer-bulkbar{
    grid-template-columns:1fr 1fr auto!important;
  }
  .customer-bulkbar .bulkbar-main span{
    grid-column:1/-1!important;
  }
}
@media (max-width:720px){
  .customer-bulkbar{
    display:flex!important;
    flex-direction:column!important;
    align-items:stretch!important;
  }
  .customer-bulkbar .bulkbar-main,
  .customer-bulkbar .customer-bulk-extra{
    display:flex!important;
    flex-direction:column!important;
    gap:8px!important;
  }
  .customer-bulkbar .bulkbar-main button,
  .customer-bulkbar .bulkbar-main select{
    width:100%!important;
  }
}


/* Release 13.9 / Fáze 10 – CRM aktivity */
.customer-activity-kpis{margin-bottom:16px}.customer-activity-filter{padding:14px 16px}.customer-activity-filter .activity-chips{margin:0 0 12px}.customer-activity-search{display:grid;grid-template-columns:minmax(220px,1fr) 260px auto;gap:10px;align-items:end}.customer-activity-search label{font-size:12px;font-weight:900;color:#475569;text-transform:uppercase;letter-spacing:.04em}.customer-activity-table table{min-width:1080px}.customer-activity-table td{vertical-align:middle}.customer-activity-table .strong-link{font-weight:900}.activity-row-actions{display:flex;gap:6px;align-items:center;flex-wrap:wrap}.activity-row-actions form{margin:0;display:inline-flex}.activity-row-actions .btn{white-space:nowrap}@media(max-width:900px){.customer-activity-search{grid-template-columns:1fr}.customer-activity-kpis{grid-template-columns:repeat(2,minmax(0,1fr))!important}}


/* Release 13.10 / Fáze 11 – kontaktní osoby zákazníků */
.customer-contact-kpis{margin-bottom:16px}.customer-contact-toolbar{padding:14px 16px;margin-bottom:14px}.customer-contact-toolbar .filter-chips{margin:0 0 12px}.customer-contact-search{display:grid;grid-template-columns:minmax(260px,1fr) auto auto;gap:10px;align-items:end}.customer-contact-search label{font-size:12px;font-weight:900;color:#475569;text-transform:uppercase;letter-spacing:.04em}.customer-contacts-table table{min-width:980px}.customer-contacts-table td{vertical-align:middle}.customer-contact-form{max-width:none}.check-grid{display:flex;gap:16px;align-items:center;flex-wrap:wrap;margin:10px 0}.card-title-row{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px}.card-title-row h2{margin:0}.contact-person-list{display:flex;flex-direction:column;gap:10px}.contact-person-card{border:1px solid rgba(148,163,184,.22);background:linear-gradient(180deg,#fff 0%,#f8fafc 100%);border-radius:14px;padding:10px 12px;display:grid;gap:6px}.contact-person-card strong{font-weight:900;color:#0f172a}.contact-person-card a{font-size:12.5px;color:#4f46e5;text-decoration:none;word-break:break-word}.contact-person-card p{margin:0;color:#64748b;font-size:12.5px;line-height:1.35}.contact-person-meta{display:flex;gap:6px;align-items:center;flex-wrap:wrap}.contact-person-actions{display:flex;justify-content:flex-end}.row-actions{display:flex;gap:6px;justify-content:flex-end;align-items:center;flex-wrap:wrap}.row-actions form{display:inline-flex;margin:0}@media(max-width:900px){.customer-contact-search{grid-template-columns:1fr}.customer-contact-kpis{grid-template-columns:repeat(2,minmax(0,1fr))!important}.card-title-row{align-items:flex-start;flex-direction:column}.row-actions{justify-content:flex-start}}


/* Release 13.11 / Fáze 12 – štítky zákazníků */
.customer-tag-list{display:flex;align-items:center;gap:5px;flex-wrap:wrap}.customer-tag-chip{display:inline-flex;align-items:center;min-height:22px;border-radius:999px;background:#eef2ff;color:#3730a3;border:1px solid #c7d2fe;padding:3px 8px;font-size:11px;font-weight:850;text-decoration:none;line-height:1.15}.customer-tag-chip:hover{text-decoration:none;background:#e0e7ff;border-color:#a5b4fc}.customer-tags-card label{margin-top:10px}.customer-tags-current{margin:0 0 10px}.customer-tag-kpis{margin-bottom:16px}.customer-tag-assign h2{margin-top:0}.customer-tag-assign .form-grid{align-items:end}.customer-column-table td .customer-tag-list{max-width:250px}.customer-crm-badges .customer-tag-list{display:inline-flex}.customer-crm-badges .customer-tag-chip{background:#f8fafc;color:#334155;border-color:#dbe4f0}


/* Release 13.12 / Fáze 13 – CRM Kanban zákazníků */
.customer-kanban-kpis{margin-bottom:16px}.customer-kanban-filter{display:grid;grid-template-columns:minmax(260px,1.4fr) minmax(160px,.8fr) minmax(170px,.8fr) minmax(170px,.8fr) auto auto;gap:10px;align-items:end;margin-bottom:16px}.customer-kanban-filter label{font-size:11px;font-weight:900;text-transform:uppercase;letter-spacing:.04em;color:#64748b}.customer-kanban-filter input,.customer-kanban-filter select{margin-top:4px}.customer-kanban-board{display:grid;grid-template-columns:repeat(6,minmax(230px,1fr));gap:12px;align-items:start;overflow-x:auto;padding-bottom:12px}.kanban-column{background:rgba(255,255,255,.78);border:1px solid rgba(148,163,184,.22);border-radius:18px;box-shadow:0 14px 28px rgba(15,23,42,.05);min-height:360px;display:flex;flex-direction:column}.kanban-column header{display:flex;justify-content:space-between;align-items:center;padding:12px 13px;border-bottom:1px solid rgba(148,163,184,.18);background:linear-gradient(180deg,#fff 0%,#f8fafc 100%);border-radius:18px 18px 0 0}.kanban-column h2{font-size:13px;margin:0;color:#0f172a;font-weight:950}.kanban-column header span{display:inline-flex;align-items:center;justify-content:center;min-width:24px;height:24px;border-radius:999px;background:#eef2ff;color:#4338ca;font-size:12px;font-weight:950}.kanban-column-body{display:flex;flex-direction:column;gap:10px;padding:10px;min-height:300px}.kanban-card{border:1px solid rgba(148,163,184,.22);background:#fff;border-radius:15px;padding:10px 11px;box-shadow:0 10px 22px rgba(15,23,42,.06);display:flex;flex-direction:column;gap:8px}.kanban-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:8px}.kanban-card-head .strong-link{font-size:13px;font-weight:950;line-height:1.22}.kanban-card-meta{font-size:11.5px;color:#64748b;line-height:1.3}.kanban-card-stats{display:grid;grid-template-columns:1fr auto;gap:3px 8px;margin:0;padding:7px 8px;background:#f8fafc;border-radius:11px}.kanban-card-stats dt{font-size:10.5px;color:#64748b;text-transform:uppercase;font-weight:900}.kanban-card-stats dd{margin:0;font-size:12px;font-weight:900;color:#0f172a;text-align:right}.kanban-tags .customer-tag-list{margin-top:0}.kanban-move-form{display:grid;grid-template-columns:1fr auto;gap:6px;align-items:center;margin:0}.kanban-move-form select{min-height:32px;font-size:12px}.kanban-card-actions{display:flex;gap:6px;justify-content:flex-end}.kanban-empty{border:1px dashed rgba(148,163,184,.35);border-radius:14px;padding:18px 10px;text-align:center;color:#64748b;font-size:12px;background:rgba(248,250,252,.8)}.kanban-phase-won header span{background:#dcfce7;color:#166534}.kanban-phase-lost header span{background:#fee2e2;color:#991b1b}.kanban-phase-offer header span,.kanban-phase-negotiation header span{background:#fef3c7;color:#92400e}@media(max-width:1450px){.customer-kanban-board{grid-template-columns:repeat(6,240px)}.customer-kanban-filter{grid-template-columns:1fr 1fr 1fr}}@media(max-width:900px){.customer-kanban-filter{grid-template-columns:1fr}.customer-kanban-board{grid-template-columns:1fr;overflow-x:visible}.kanban-column{min-height:0}}


/* Release 13.13 / Fáze 14 – CRM dashboard zákazníků */
.customer-dashboard-kpis{margin-bottom:12px}.secondary-kpis{margin-bottom:16px}.customer-dashboard-grid{display:grid;grid-template-columns:1.25fr 1fr 1fr;gap:14px;align-items:start}.crm-dashboard-card{min-height:240px}.crm-dashboard-card .section-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:10px}.crm-dashboard-card h2{font-size:15px;margin:0;color:#0f172a}.crm-funnel-list,.crm-list,.crm-segment-list{display:flex;flex-direction:column;gap:8px}.crm-funnel-row,.crm-list-row,.crm-segment-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(110px,220px) auto;gap:10px;align-items:center;text-decoration:none;color:#0f172a;border:1px solid rgba(148,163,184,.18);background:#fff;border-radius:14px;padding:9px 10px;transition:.15s ease}.crm-list-row{grid-template-columns:minmax(0,1fr) auto}.crm-funnel-row:hover,.crm-list-row:hover,.crm-segment-row:hover{border-color:rgba(99,102,241,.35);box-shadow:0 10px 22px rgba(15,23,42,.06);transform:translateY(-1px)}.crm-funnel-row strong,.crm-list-row strong,.crm-segment-row span{display:block;font-size:13px;font-weight:950}.crm-funnel-row small,.crm-list-row small{display:block;font-size:11px;color:#64748b;margin-top:2px}.crm-funnel-row em,.crm-list-row em,.crm-segment-row em{font-style:normal;font-size:12px;font-weight:950;color:#334155;white-space:nowrap}.crm-bar{display:block;height:8px;border-radius:999px;background:#e2e8f0;overflow:hidden}.crm-bar i{display:block;height:100%;border-radius:999px;background:linear-gradient(90deg,#6366f1,#14b8a6)}.crm-segment-row{grid-template-columns:minmax(120px,.7fr) minmax(120px,1fr) auto}.compact-timeline .timeline-row{padding:8px 10px}.compact-timeline .timeline-row span{font-size:11px}@media(max-width:1350px){.customer-dashboard-grid{grid-template-columns:1fr 1fr}.crm-funnel-row,.crm-segment-row{grid-template-columns:minmax(0,1fr) minmax(100px,1fr) auto}}@media(max-width:900px){.customer-dashboard-grid{grid-template-columns:1fr}.crm-funnel-row,.crm-segment-row{grid-template-columns:1fr}.crm-funnel-row em,.crm-segment-row em{text-align:left}.secondary-kpis,.customer-dashboard-kpis{grid-template-columns:1fr!important}}


/* Release 13.14 / Phase 15 - customer documents */
.customer-docs-layout{align-items:start;margin-bottom:14px}
.customer-doc-mini-list{display:grid;gap:8px;margin:10px 0 12px}
.customer-doc-mini-list a{display:block;text-decoration:none;color:inherit;border:1px solid var(--line);border-radius:12px;padding:10px;background:rgba(248,250,252,.85)}
.customer-doc-mini-list a strong{display:block;font-size:13px;color:#111827;margin-bottom:3px}
.customer-doc-mini-list a span{font-size:12px;color:var(--muted)}
.customer-doc-mini-upload{border-top:1px solid var(--line);padding-top:10px;display:grid;gap:8px}
.customer-doc-mini-upload input[type=file]{font-size:12px}
.inline-form{display:inline-block;margin-left:6px}
@media (max-width: 900px){.customer-docs-layout{grid-template-columns:1fr}.inline-form{display:block;margin:6px 0 0}}


/* Release 13.15 / Phase 16 - customer communication */
.customer-communication-layout{align-items:start;margin-bottom:14px}
.customer-communication-mini-list{display:grid;gap:8px;margin:10px 0 12px}
.customer-communication-mini-list div{border:1px solid var(--line);border-radius:12px;padding:10px;background:rgba(248,250,252,.85)}
.customer-communication-mini-list strong{display:block;font-size:13px;color:#111827;margin-bottom:3px}
.customer-communication-mini-list span{font-size:12px;color:var(--muted)}
.customer-communication-mini-form{border-top:1px solid var(--line);padding-top:10px;display:grid;gap:8px}
.customer-communication-mini-form input,.customer-communication-mini-form textarea{width:100%}
.text-danger{color:#b91c1c;font-weight:700}
@media (max-width: 900px){.customer-communication-layout{grid-template-columns:1fr}}


/* Release 13.16 / Fáze 17 - obchodní příležitosti */
.customer-opportunity-layout { align-items: start; }
.opportunity-table .opportunity-inline { display:flex; gap:6px; justify-content:flex-end; align-items:center; flex-wrap:wrap; }
.opportunity-table .opportunity-inline select { min-width:120px; }
.tiny-input { width:64px !important; min-width:64px !important; text-align:right; }
.mini-list { display:flex; flex-direction:column; gap:8px; }
.mini-list-row { display:flex; justify-content:space-between; gap:10px; padding:8px 0; border-bottom:1px solid rgba(15,23,42,.08); }
.mini-list-row:last-child { border-bottom:0; }
.mini-list-row span { display:flex; flex-direction:column; gap:2px; min-width:0; }
.mini-list-row small { color:#64748b; }
.mini-list-row em { font-style:normal; font-weight:800; white-space:nowrap; }
@media (max-width: 1100px){ .opportunity-table .opportunity-inline{justify-content:flex-start}.opportunity-table .opportunity-inline select{min-width:100%}.tiny-input{width:100% !important} }


/* Release 13.17 / Fáze 18 - služby zákazníků */
.customer-service-layout { align-items: start; }
.customer-service-table .service-inline { display: inline-flex; gap: 8px; align-items: center; justify-content: flex-end; flex-wrap: wrap; }
.customer-service-table .service-inline select { min-width: 120px; }
.customer-service-table .service-inline input[type="date"] { width: 145px; }
.customer-service-table td { vertical-align: top; }
@media (max-width: 1100px) {
  .customer-service-table .service-inline { justify-content: flex-start; }
}


/* Release 13.18 / Fáze 19 - fakturace služeb */
.customer-service-billing-form .section-head {
  align-items: flex-end;
  gap: 18px;
}
.customer-service-billing-form .section-head .actions {
  display: flex;
  flex-wrap: wrap;
  align-items: end;
  justify-content: flex-end;
  gap: 10px;
}
.customer-service-billing-form .section-head label {
  font-size: 12px;
  color: var(--muted);
  display: grid;
  gap: 5px;
  margin: 0;
}
.customer-service-billing-form .section-head input,
.customer-service-billing-form .section-head select {
  min-width: 140px;
}
.service-billing-table th:first-child,
.service-billing-table td:first-child {
  width: 38px;
  text-align: center;
}
.service-billing-table .badge.warn {
  background: #fff7ed;
  color: #9a3412;
}
@media (max-width: 1100px) {
  .customer-service-billing-form .section-head { align-items: stretch; }
  .customer-service-billing-form .section-head .actions { justify-content: flex-start; }
}

/* Release 13.19 / Fáze 20 - výhled fakturace služeb */
.customer-forecast-kpis{margin-bottom:14px}
.customer-forecast-filter{margin-bottom:14px}
.customer-forecast-months{margin-bottom:14px}
.forecast-month-grid{display:grid;grid-template-columns:repeat(6,minmax(180px,1fr));gap:10px}
.forecast-month-card{display:grid;gap:8px;border:1px solid rgba(148,163,184,.22);border-radius:15px;background:linear-gradient(180deg,#fff 0%,#f8fafc 100%);padding:11px 12px;box-shadow:0 10px 22px rgba(15,23,42,.04)}
.forecast-month-card strong{display:block;font-size:13px;font-weight:950;color:#0f172a}
.forecast-month-card span{display:block;margin-top:2px;font-size:11.5px;color:#64748b}
.forecast-month-card em{font-style:normal;font-weight:950;font-size:15px;color:#0f172a}
.forecast-month-card b{display:block;height:7px;border-radius:999px;background:#e2e8f0;overflow:hidden}
.forecast-month-card b i{display:block;height:100%;border-radius:999px;background:linear-gradient(90deg,#6366f1,#14b8a6)}
.service-forecast-table td{vertical-align:top}
.service-forecast-table .btn.small{white-space:nowrap}
@media(max-width:1450px){.forecast-month-grid{grid-template-columns:repeat(4,minmax(170px,1fr))}}
@media(max-width:900px){.forecast-month-grid{grid-template-columns:1fr}.customer-forecast-kpis{grid-template-columns:repeat(2,minmax(0,1fr))!important}}

/* Release 13.20 / Fáze 21 - rizika služeb zákazníků */
.grid.grid-6{grid-template-columns:repeat(6,minmax(0,1fr))}.customer-risk-kpis{grid-template-columns:repeat(6,minmax(0,1fr))!important;gap:12px!important;align-items:stretch;margin-bottom:14px}.customer-risk-kpis .kpi{min-height:72px;padding:13px 14px!important}.customer-risk-kpis .kpi .label{font-size:12px!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.customer-risk-kpis .kpi .value{font-size:21px!important;line-height:1.15;margin-top:5px!important;white-space:nowrap}.customer-risk-filter{margin-bottom:14px}.customer-risk-overview{margin-bottom:14px}.customer-risk-table-card{margin-top:0}.customer-risk-table td{vertical-align:top}.customer-risk-table .badge{margin:0 4px 4px 0}.badge.warn{background:#fff7ed;color:#9a3412}.risk-link{text-decoration:none;color:inherit;border-bottom:1px solid rgba(15,23,42,.08)!important}.risk-link:hover{text-decoration:none;background:#f8fafc}.customer-risk-table tr.risk-high td:first-child{border-left:3px solid #ef4444}.customer-risk-table tr.risk-medium td:first-child{border-left:3px solid #f59e0b}.customer-risk-table tr.risk-ok td:first-child{border-left:3px solid #22c55e}.customer-risk-table .btn.small{white-space:nowrap}.text-danger{color:#b91c1c!important}@media(max-width:1350px){.customer-risk-kpis{grid-template-columns:repeat(3,minmax(0,1fr))!important}.customer-risk-kpis .kpi .value{font-size:20px!important}}@media(max-width:1050px){.customer-risk-overview{grid-template-columns:1fr!important}.customer-risk-kpis{grid-template-columns:repeat(2,minmax(0,1fr))!important}}@media(max-width:560px){.customer-risk-kpis{grid-template-columns:1fr!important}}

/* Release 13.28: central-domain Update manager shortcut in fixed sidebar footer. */
.app-shell .app-sidebar{padding-bottom:84px!important}
.app-shell .sidebar-update-manager-slot{position:fixed;left:11px;bottom:14px;width:calc(var(--sidebar-w,248px) - 22px);z-index:245;pointer-events:none}
.app-shell .sidebar-update-manager{pointer-events:auto;display:flex;align-items:center;justify-content:center;gap:7px;width:100%;min-height:40px;border:1px solid rgba(147,197,253,.28);border-radius:12px;background:linear-gradient(135deg,#111827,#1d4ed8);color:#fff;text-decoration:none!important;font-size:12px;font-weight:900;letter-spacing:.01em;box-shadow:0 16px 34px rgba(15,23,42,.32)}
.app-shell .sidebar-update-manager span{font-size:14px;line-height:1;transform:translateY(-1px)}
.app-shell .sidebar-update-manager strong{font-size:12px;font-weight:900;text-transform:none;white-space:nowrap}
.app-shell .sidebar-update-manager:hover{background:linear-gradient(135deg,#020617,#2563eb);color:#fff;text-decoration:none!important;border-color:rgba(191,219,254,.55)}
.app-shell.sidebar-light .sidebar-update-manager{background:#0f172a;color:#fff;border-color:#0f172a;box-shadow:0 12px 26px rgba(15,23,42,.18)}
@media(max-width:900px){.app-shell .app-sidebar{padding-bottom:14px!important}.app-shell .sidebar-update-manager-slot{position:static;width:100%;padding:8px 0 0;pointer-events:auto}.app-shell .sidebar-update-manager{min-height:38px}}
