:root{
  --bg:#f5f6f8;--panel:#fff;--ink:#17202b;--muted:#5d6878;--line:#e2e5ea;--accent:#1d4ed8;--accent-ink:#fff;
  --ok:#15803d;--ok-bg:#e8f6ec;--warn:#a15c00;--warn-bg:#fff4e0;--bad:#b42318;--bad-bg:#fdecea;--info:#334155;--info-bg:#eef1f5;
  --line-strong:#c9ced6;--radius-sm:6px;--mono:ui-monospace,"SF Mono",Menlo,Consolas,monospace;
  --radius:10px;font-family:system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;font-size:15px;color:var(--ink);
}
*{box-sizing:border-box}
body{margin:0;background:var(--bg)}
a{color:var(--accent)}
.top{display:flex;align-items:center;gap:20px;padding:10px 20px;background:var(--panel);border-bottom:1px solid var(--line);flex-wrap:wrap}
.brand{font-weight:700;text-decoration:none;color:var(--ink);font-size:17px}
#nav{display:flex;gap:14px;flex:1}
#nav a{text-decoration:none;color:var(--muted);padding:4px 2px;border-bottom:2px solid transparent}
#nav a.active{color:var(--ink);border-color:var(--accent)}
#who{color:var(--muted);font-size:14px;display:flex;gap:10px;align-items:center}
.devbar{background:var(--warn-bg);color:var(--warn);text-align:center;font-size:13px;padding:4px 16px}
main{max-width:1180px;margin:0 auto;padding:20px 16px 60px}
h1{font-size:22px;margin:4px 0 14px}
h2{font-size:17px;margin:0 0 12px}
h3{font-size:15px;margin:14px 0 8px}
.panel{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:16px;margin-bottom:16px}
.muted{color:var(--muted)}
.small{font-size:13px}
.grid{display:grid;gap:12px;grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}
.card{border:1px solid var(--line);border-radius:var(--radius);padding:12px;background:var(--panel);text-decoration:none;color:inherit;display:block}
.card:hover{border-color:var(--accent)}
.row{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.spacer{flex:1}
table{border-collapse:collapse;width:100%}
th,td{text-align:left;padding:7px 8px;border-bottom:1px solid var(--line);vertical-align:middle}
th{font-size:12px;text-transform:uppercase;letter-spacing:.03em;color:var(--muted);font-weight:600}
td.num,th.num{text-align:right;font-variant-numeric:tabular-nums}
.scroll{overflow-x:auto}
.history{max-height:65vh;overflow:auto}
.history thead th{position:sticky;top:0;background:var(--panel);z-index:1;box-shadow:0 1px var(--line)}
.save-row{margin-top:18px}
.test-filter{margin:8px 0 14px;color:var(--muted);font-size:13px}
.test-filter label{display:block;margin-top:8px}
.switch{position:relative;display:inline-flex;align-items:center;width:38px;height:22px;cursor:pointer}
.switch input{position:absolute;opacity:0;width:100%;height:100%;margin:0;cursor:pointer}
.switch span{width:38px;height:22px;background:#aab3c0;border-radius:20px;transition:background .15s}
.switch span::after{content:"";display:block;width:16px;height:16px;margin:3px;background:white;border-radius:50%;transition:transform .15s}
.switch input:checked+span{background:var(--accent)}
.switch input:checked+span::after{transform:translateX(16px)}
.switch input:focus-visible+span{outline:2px solid var(--accent);outline-offset:2px}
select[data-f=payment]{padding-right:25px}
.scroll-hint{display:none}
@media(max-width:900px){.scroll-hint{display:block}}
input,select,button,textarea{font:inherit}
input[type=text],input[type=email],input[type=password],input[type=number],input[type=date],select,textarea{
  border:1px solid #c9ced6;border-radius:7px;padding:6px 8px;background:#fff;min-width:0}
input.price{width:90px;text-align:right}
input.label{width:150px}
button{border:1px solid var(--accent);background:var(--accent);color:var(--accent-ink);border-radius:7px;padding:7px 13px;cursor:pointer}
button.secondary{background:#fff;color:var(--accent)}
button.danger{border-color:var(--bad);background:#fff;color:var(--bad)}
button:disabled{opacity:.5;cursor:not-allowed}
.pill{display:inline-block;border-radius:999px;padding:2px 9px;font-size:12px;font-weight:600;white-space:nowrap}
.pill.ok{background:var(--ok-bg);color:var(--ok)}.pill.warn{background:var(--warn-bg);color:var(--warn)}
.pill.bad{background:var(--bad-bg);color:var(--bad)}.pill.info{background:var(--info-bg);color:var(--info)}
.status{list-style:none;margin:0;padding:0}
.status li{display:flex;gap:10px;padding:6px 0;border-bottom:1px solid var(--line)}
.status li:last-child{border:0}
.status .k{width:150px;flex:none;color:var(--muted)}
.dot{width:10px;height:10px;border-radius:50%;flex:none;margin-top:5px}
.dot.ok{background:var(--ok)}.dot.warn{background:#e0a100}.dot.bad{background:var(--bad)}.dot.info{background:#94a3b8}
.notice{border-radius:var(--radius);padding:10px 12px;margin:10px 0;font-size:14px}
.notice.warn{background:var(--warn-bg);color:#6b3d00;border:1px solid #f1c98a}
.notice.bad{background:var(--bad-bg);color:var(--bad);border:1px solid #f3b4ad}
.notice.info{background:var(--info-bg);color:var(--info)}
.stats{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:10px;margin-bottom:12px}
.stat{border:1px solid var(--line);border-radius:var(--radius);padding:10px 12px}
.stat .v{font-size:20px;font-weight:700;font-variant-numeric:tabular-nums}
.stat .l{font-size:12px;color:var(--muted)}
tr.storno td{color:var(--bad)}
tr.test td:first-child::after{content:" test";font-size:11px;color:var(--warn);margin-left:4px}
tr.changed{background:#fffbea}
form.stack{display:grid;gap:8px;max-width:420px}
form.stack label{display:grid;gap:3px;font-size:13px;color:var(--muted)}
.login{max-width:380px;margin:60px auto}
#toast{position:fixed;left:50%;bottom:24px;transform:translateX(-50%);background:#17202b;color:#fff;padding:10px 16px;border-radius:8px;display:none;max-width:90vw}
#toast.show{display:block}
dialog{border:1px solid var(--line);border-radius:var(--radius);max-width:520px}
dialog::backdrop{background:rgba(0,0,0,.35)}
.token{font-family:ui-monospace,monospace;background:var(--info-bg);padding:8px;border-radius:6px;word-break:break-all}
@media (max-width:640px){.status .k{width:110px}th,td{padding:6px 5px}}
/* sekvence z klávesnice tiskárny (každý znak = jedna klávesa), legenda a nedokončená sekvence */
.keys{display:inline-flex;gap:3px;vertical-align:middle;white-space:nowrap}
.key{display:inline-block;min-width:22px;padding:0 5px;border:1px solid var(--line-strong);border-bottom-width:2px;border-radius:var(--radius-sm);
  background:var(--panel);color:var(--ink);font:600 13px/19px var(--mono);text-align:center}
.key.pos{color:var(--accent)}
.keys.ref .key{color:var(--muted);border-color:var(--line)}
tr.action td{color:var(--muted)}
td.op{min-width:180px}
td.time,td.num{white-space:nowrap}
.legend{display:grid;grid-template-columns:max-content 1fr;gap:8px 14px;align-items:baseline;margin:0 0 10px;font-size:13px}
.legend dt,.legend dd{margin:0}
.pending p{margin:6px 0 0}
.pending .pill{background:var(--panel)}
.pending.lapsed{background:var(--info-bg);color:var(--info);border-color:var(--line)}
.pending.lapsed .wait,.pending:not(.lapsed) .gone{display:none}
@media (max-width:640px){.legend{grid-template-columns:1fr;gap:4px}.legend dd{margin-bottom:8px}td.time{white-space:normal}}

/* Account and administration forms. */
#nav{flex-wrap:wrap}
.form-error,[role="alert"]{color:var(--bad)}
details>summary{cursor:pointer;font-weight:600;padding:12px 0}
.tenant-edit,.site-edit,.env-edit{max-width:600px;margin-bottom:20px}

/* CoreUI-inspired shell adapted to the existing framework-free dashboard. */
:root{--accent:#5856d6;--bg:#f3f4f7;--ink:#303640;--muted:#6b7280;--line:#dfe3e8;--radius:8px}
.sidebar{display:none;position:fixed;inset:0 auto 0 0;width:256px;background:#212631;color:#d2d6df;z-index:40;flex-direction:column;border-right:1px solid #303744}
.signed-in .sidebar{display:flex}
.sidebar-brand{height:72px;display:flex;align-items:center;padding:0 26px;font-size:25px;font-weight:750;letter-spacing:-1px;text-decoration:none;color:white;border-bottom:1px solid #343a46}
.sidebar-brand span{color:#a7a5ff;margin-left:3px}
.sidebar-label{font-size:10px;letter-spacing:1.4px;color:#8f98ab;padding:30px 24px 12px;font-weight:700}
#nav{display:flex;flex-direction:column;flex-wrap:nowrap;gap:5px;padding:0 12px;overflow-y:auto;flex:1}
#nav a{display:flex;align-items:center;gap:14px;color:#c3c8d3;padding:13px 14px;border:0;border-radius:6px;font-size:14px}
#nav a:hover{background:#303744;color:white}
#nav a.active{color:white;background:#5856d6}
.nav-icon{width:22px;text-align:center;font-size:20px;line-height:1;font-weight:400}
.sidebar-footer{padding:20px 25px;border-top:1px solid #343a46;color:#9da5b5;font-size:12px}
.top{min-height:72px;flex-wrap:nowrap;gap:18px;padding:14px 28px;position:sticky;top:0;z-index:20;box-shadow:0 1px 3px #00000005}
.signed-in .top,.signed-in .devbar{margin-left:256px}
.brand{font-size:15px;font-weight:600;color:#596273;white-space:nowrap}
#who{margin-left:auto;font-size:12px;flex-wrap:wrap;justify-content:flex-end}
#who button{font-size:12px;padding:6px 10px;color:#596273;border-color:var(--line)}
.devbar{padding:9px 20px;text-align:left;border-bottom:1px solid #f0debb;font-size:12px}
main{max-width:1440px;padding:28px 30px 60px}
.signed-in main{margin-left:256px;margin-right:0}
h1{font-size:26px;letter-spacing:-.6px;font-weight:650;margin:0 0 24px}
h2{font-size:18px;font-weight:650}h3{font-weight:600;margin:22px 0 12px}
.panel{padding:24px;margin-bottom:24px;box-shadow:0 2px 4px #21263103}
.panel>.row:first-child{border-bottom:1px solid var(--line);padding-bottom:12px;margin-bottom:14px}
.panel>.row:first-child h2{margin-bottom:0}
.grid{gap:18px;grid-template-columns:repeat(auto-fill,minmax(260px,1fr))}
.card{padding:20px;border-top:3px solid var(--accent);transition:box-shadow .15s,border-color .15s}
.card:hover{box-shadow:0 5px 16px #21263112}
.card .small{margin-top:10px;font-size:12px;line-height:1.5}
.stats{gap:16px;margin-bottom:24px}
.stat{background:white;padding:22px 20px;border-top:3px solid var(--accent);box-shadow:0 2px 4px #21263103}
.stat:nth-child(2){border-top-color:#3399ff}.stat:nth-child(3){border-top-color:#2eb85c}.stat:nth-child(4){border-top-color:#f9b115}
.stat .v{font-size:28px;font-weight:650;letter-spacing:-.8px}.stat .l{font-size:12px;margin-top:7px}
th{background:#f7f8fa;font-size:11px;letter-spacing:.04em;padding:13px 12px;white-space:nowrap}
td{padding:13px 12px;font-size:13px}tbody tr:hover{background:#f8f9fc}
input[type=text],input[type=email],input[type=password],input[type=number],input[type=date],select,textarea{padding:9px 11px;border-radius:5px}
button{padding:9px 15px;border-radius:5px;font-weight:500;font-size:13px}
button.secondary{border-color:#cbcbdc;background:white;color:var(--accent)}
form.stack{gap:14px}form.stack label{gap:7px;font-weight:500}
.save-row{justify-content:flex-end;border-top:1px solid var(--line);padding-top:18px}
.login{max-width:440px;margin:64px auto;padding:32px}.login h1{font-size:25px}.login button{padding:12px}
.login form.stack{max-width:none}
.notice{padding:14px 16px;line-height:1.5}
.pill{padding:4px 10px;font-size:11px}.status li{padding:11px 0}
.menu-toggle{display:none;background:transparent;border:0;color:#667085;font-size:22px;padding:4px 8px}
.sidebar-backdrop{display:none}a:focus-visible,button:focus-visible{outline:3px solid #aaa8ff;outline-offset:3px}
@media(max-width:1000px){
 .sidebar{transform:translateX(-100%);transition:transform .2s}
 .signed-in .top,.signed-in .devbar,.signed-in main{margin-left:0}
 .signed-in .menu-toggle{display:block}.menu-open .sidebar{transform:translateX(0)}
 .menu-open .sidebar-backdrop:not([hidden]){display:block;position:fixed;inset:0;background:#11182770;border:0;border-radius:0;z-index:35}
 main{padding:24px 20px}.top{padding:12px 18px}
}
@media(max-width:640px){
  #ui13-eet .printer-choice{flex-direction:column;align-items:stretch}
 .top{gap:8px;align-items:center}.brand{display:none}.signed-in #who{font-size:11px;gap:6px}
 main{padding:20px 12px}.panel{padding:16px;margin-bottom:16px}h1{font-size:23px}
 .stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.stat{padding:15px 12px}.stat .v{font-size:22px}
 .grid{grid-template-columns:1fr}.login{margin:35px auto;padding:24px}.devbar{font-size:11px;padding:8px 12px}
}
@media(prefers-reduced-motion:reduce){.sidebar,.card{transition:none}}

/* Ticketprint branding, original logo proportions preserved. */
.sidebar-brand{height:auto;min-height:112px;flex-direction:column;align-items:flex-start;justify-content:center;gap:10px;padding:22px 26px;letter-spacing:normal}
.sidebar-brand .brand-logo{display:block;width:170px;max-width:100%;height:auto}
.sidebar-brand .interface-name{font-size:13px;line-height:1.4;font-weight:500;color:#c3c8d3;margin:0;letter-spacing:.4px}

/* Client directory and focused creation */
.clients-heading { display:flex; align-items:center; justify-content:space-between; gap:16px; margin-bottom:20px; }
.clients-heading h1, .clients-heading h2 { margin:0; }
.clients-heading .button { background:var(--primary, #5856d6); color:white; text-decoration:none; padding:12px 18px; border-radius:7px; }
.client-search { display:block; max-width:none; }
.client-search input { width:100%; margin-top:8px; }
.client-directory table { width:100%; }
.client-link { background:none; border:0; color:#5856d6; padding:0; text-align:left; font-weight:600; box-shadow:none; }
.client-link:hover { background:none; text-decoration:underline; }
.client-pagination { display:flex; align-items:center; justify-content:space-between; gap:16px; margin-top:20px; }
#client-detail { scroll-margin-top:100px; }
.create-tabs { display:flex; gap:10px; margin:24px 0; flex-wrap:wrap; }
.create-tabs button { background:white; color:#555; border:1px solid #ddd; }
.create-tabs button.active { background:#5856d6; color:white; border-color:#5856d6; }
.create-content { max-width:900px; }
.create-content .stack { max-width:640px; }
.create-content section[hidden] { display:none; }
@media(max-width:600px) { .clients-heading {align-items:flex-start; flex-direction:column;} .client-pagination {gap:8px; font-size:13px;} }

/* Standalone client profile */
.client-profile { padding:0; overflow:visible; }
.client-profile-top { display:flex; justify-content:space-between; align-items:flex-start; gap:24px; padding:32px; }
.client-profile-top h1 { margin:0; font-size:32px; }
.client-actions { display:flex; align-items:flex-start; gap:28px; }
.client-actions a, .client-actions button, .client-more summary { display:flex; flex-direction:column; align-items:center; gap:6px; padding:0; background:none; border:0; color:#5856d6; text-decoration:none; font-size:14px; cursor:pointer; white-space:nowrap; }
.client-actions span { font-size:34px; line-height:40px; }
.client-actions button:hover, .client-actions a:hover { background:none; color:#403ec4; }
.client-more { position:relative; }
.client-more summary { list-style:none; }
.client-more summary::-webkit-details-marker { display:none; }
.client-more>div { position:absolute; top:70px; right:0; z-index:5; width:230px; padding:12px; background:white; border:1px solid #ddd; border-radius:8px; box-shadow:0 6px 20px #0002; }
.client-more>div button { align-items:flex-start; padding:10px; white-space:normal; width:100%; text-align:left; }
.client-profile-summary { display:flex; flex-wrap:wrap; gap:24px; margin:0 32px; padding:22px 0; border-top:1px solid #e2e4e9; }
.client-address { border-top:1px solid #e2e4e9; padding:20px 32px; }
.client-address summary { text-align:center; color:#5856d6; cursor:pointer; }
.client-address dl { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; }
.client-address dt { color:#768192; font-size:13px; }
.client-address dd { margin:4px 0; overflow-wrap:anywhere; }
.fiscal-proof { overflow-wrap:anywhere; }
#profile-settings form[hidden], #profile-settings h2[hidden] { display:none; }
#profile-settings .tenant-edit { scroll-margin-top:100px; }
@media(max-width:700px) { .client-profile-top {flex-direction:column; padding:24px;} .client-profile-top h1 {font-size:26px;} .client-address dl {grid-template-columns:1fr;} .client-profile-summary {margin:0 24px;} }

/* Public authentication screens – Ticket Print branding, Webglobe-style layout. */
.auth-brand{display:none}
body:not(.signed-in){background:#ececec;color:#080909}
body:not(.signed-in) .top,body:not(.signed-in) .devbar,body:not(.signed-in) .sidebar{display:none}
body:not(.signed-in) .auth-brand{display:flex;flex-direction:column;align-items:center;gap:12px;padding:42px 20px 0}
.auth-brand img{width:280px;max-width:75vw;height:auto}
.auth-brand div{font-size:18px;color:#52525b;font-weight:500}
body:not(.signed-in) main{max-width:580px;margin:0 auto;padding:38px 20px 48px}
body:not(.signed-in) .login{max-width:none;margin:0;padding:52px 54px 38px;background:#fff;border:0;border-radius:18px;box-shadow:0 18px 65px #00000008}
body:not(.signed-in) .login h1{text-align:center;font-size:30px;font-weight:700;letter-spacing:-.5px;margin:0 0 42px}
body:not(.signed-in) .login form.stack{gap:22px}
body:not(.signed-in) .login input{width:100%;min-width:0;height:60px;border:1px solid #828491;border-radius:999px;padding:0 24px;font-size:17px;color:#080909;background:white}
body:not(.signed-in) .login input::placeholder{color:#999}
body:not(.signed-in) .login input:focus{outline:3px solid #3459d633;outline-offset:2px;border-color:#3459d6}
body:not(.signed-in) .login button{min-height:60px;border:0;border-radius:999px;background:#3459d6;color:#fff;font-size:19px;font-weight:650;padding:14px 24px}
body:not(.signed-in) .login button:hover{background:#2749be}
body:not(.signed-in) .login button:disabled{opacity:.6;cursor:wait}
body:not(.signed-in) .login a{color:#3459d6;font-weight:600}
body:not(.signed-in) .forgot-password{align-self:flex-end;font-size:16px;text-decoration:none;margin:-4px 0 0}
body:not(.signed-in) .forgot-password:hover{text-decoration:underline}
body:not(.signed-in) .login p:empty{display:none}
body:not(.signed-in) .login [role=alert]{color:#b42318;margin:0;line-height:1.5}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(max-width:480px){
 body:not(.signed-in) .auth-brand{padding-top:32px}
 .auth-brand img{width:240px}
 body:not(.signed-in) main{padding:30px 16px}
 body:not(.signed-in) .login{padding:36px 24px 30px}
 body:not(.signed-in) .login h1{font-size:27px;margin-bottom:32px}
 body:not(.signed-in) .login input{padding:0 20px;font-size:16px}
}

/* Language placeholders and company footer on authentication screens. */
.auth-footer{display:none}
body:not(.signed-in) main{padding-bottom:0}
body:not(.signed-in) .auth-footer{display:block;text-align:center;color:#90919b;font-size:13px;line-height:1.6;padding:24px 16px 32px}
.auth-footer a{color:inherit;text-decoration:none}
.auth-footer a:hover{text-decoration:underline}
.footer-company{display:inline-block;margin-left:18px}
body:not(.signed-in) .auth-languages{text-align:center;color:#777;font-size:17px;margin-top:48px;padding:4px 0 16px}
.auth-languages [aria-disabled=true]{text-decoration:underline;cursor:default}
body:not(.signed-in) .auth-back{display:inline-block;color:#3459d6;text-decoration:none;font-weight:650;font-size:17px;margin-bottom:22px}
body:not(.signed-in) .verification h1{font-size:28px;line-height:1.25;margin-bottom:26px}
body:not(.signed-in) .verification-intro,body:not(.signed-in) .verification-email{text-align:center;color:#555;font-size:16px;line-height:1.5}
body:not(.signed-in) .verification-email{overflow-wrap:anywhere;margin:16px 0 38px}
body:not(.signed-in) .verification-resend{text-align:center;font-size:14px;line-height:1.6;margin-top:22px}
.verification-resend a[aria-disabled=true]{opacity:.5;cursor:wait}
body:not(.signed-in) .forgot-password{text-align:right;display:block}
@media(max-width:480px){.footer-company{display:block;margin-left:0}body:not(.signed-in) .verification h1{font-size:25px}}

/* One terms document, public reading page and in-dashboard reading view. */
.sidebar-terms{display:block;color:#c3c8d3;text-decoration:none;font-size:13px;margin-bottom:16px}
.sidebar-terms:hover,.sidebar-terms:focus-visible{color:#fff;text-decoration:underline}
.legal-header{max-width:920px;margin:0 auto;padding:28px 24px;display:flex;justify-content:space-between;gap:16px;align-items:center}
.legal-header a{text-decoration:none}
body.legal-public:not(.signed-in) main.legal-document{max-width:920px;margin:0 auto;padding:36px;background:white;border:1px solid #e2e5ea;border-radius:12px}
.legal-document h1{font-size:30px;line-height:1.25;margin-bottom:12px}
.legal-document h2{font-size:18px;line-height:1.45;margin-bottom:16px}
.legal-document p{line-height:1.75;margin:0 0 14px}
.legal-document .meta{font-size:14px;color:#657287}
.legal-document .company{background:#f3f5f8;border-radius:8px;padding:20px;margin:28px 0}
.legal-document .company p{margin:0}
.legal-document section{padding:24px 0;border-top:1px solid #e2e5ea}
.legal-footer{text-align:center;color:#657287;font-size:13px;padding:24px}
.legal-footer a{color:inherit}
@media(max-width:640px){body.legal-public:not(.signed-in) main.legal-document{margin:0 12px;padding:24px 20px}.legal-document h1{font-size:26px}.legal-header{padding:22px 16px;font-size:13px}}
@media print{.legal-header,.legal-footer,.signed-in .sidebar,.signed-in .top{display:none}.signed-in main{margin:0;padding:0}.legal-document{border:0;box-shadow:none}.legal-document h2{break-after:avoid}}

/* Client editing: explicit removal actions. */
.client-removal{border-left:3px solid #b42318}
.removal-printer{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:16px 0;border-top:1px solid var(--line)}
button.danger{background:#fff;color:#b42318;border:1px solid #b42318}
button.danger:hover{background:#fff0ee}
@media(max-width:640px){.removal-printer{align-items:flex-start;flex-direction:column}}

/* Accessible printer selectors and client device settings. */
:root{--space-0:0;--space-1:2px;--space-2:4px;--space-3:6px;--space-4:8px;--space-5:10px;--space-6:12px;--space-7:14px;--space-8:16px;--space-10:20px;--space-12:24px;--border-thin:1px;--focus-ring:3px;--focus-offset:3px;--account-form-width:600px;--account-select-min:140px;--account-anchor-offset:100px;--weight-strong:600}
.printer-choice{display:flex;align-items:center;justify-content:space-between;gap:var(--space-8);padding:var(--space-7) var(--space-0);border-bottom:var(--border-thin) solid var(--line)}
.printer-choice:last-child{border-bottom:none}
.printer-choice>span:first-child{display:flex;flex-direction:column;gap:var(--space-1);min-width:0;overflow-wrap:anywhere}
.printer-choice .switch{flex:none}
.printer-choice .switch input:focus-visible+span{outline:var(--focus-ring) solid var(--accent);outline-offset:var(--focus-offset)}
#ui13-eet .printer-choice{flex-wrap:wrap}
#ui13-eet .printer-choice>span:first-child{flex:1;min-width:var(--account-select-min)}

/* Accounting report form */
:root{--account-control-size:44px}
.account-field{display:grid;gap:var(--space-3);max-width:var(--account-form-width);margin-bottom:var(--space-8)}
.account-field select{width:100%;min-width:0;min-height:var(--account-control-size)}
.account-scope{min-width:0;margin:var(--space-8) var(--space-0);padding:var(--space-6) var(--space-8);border:var(--border-thin) solid var(--line);border-radius:var(--radius)}
.account-scope[hidden]{display:none}
.account-scope legend{font-weight:var(--weight-strong);padding-inline:var(--space-2)}
.account-choice{display:flex;gap:var(--space-6);align-items:center;min-height:var(--account-control-size);padding-block:var(--space-4);cursor:pointer}
.account-choice input{flex:none;margin:var(--space-0);accent-color:var(--accent)}
.account-choice>span{display:grid;gap:var(--space-1);min-width:0;overflow-wrap:anywhere}
.account-field select:focus-visible,.account-choice input:focus-visible,.report-dates input:focus-visible{outline:var(--focus-ring) solid var(--accent);outline-offset:var(--focus-offset)}
.report-form .report-dates{display:flex;flex-wrap:wrap;gap:var(--space-8);align-items:end;margin-top:var(--space-12)}
.report-dates label{display:flex;flex-direction:column;gap:var(--space-3)}
.report-dates input{min-width:0;width:100%}
.report-dates input,.report-dates button{min-height:var(--account-control-size)}
#account-company,#account-result{overflow-wrap:anywhere}
#account-result .stat{border-top:var(--border-thin) solid var(--line)}
.account-metadata{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(var(--account-select-min),100%),1fr));gap:var(--space-8);margin-block:var(--space-8) var(--space-12)}
.account-metadata dt{color:var(--muted)}
.account-metadata dd{margin:var(--space-3) var(--space-0) var(--space-0)}
.account-selection pre{white-space:pre-wrap;overflow-wrap:anywhere;font-family:var(--mono)}
.account-recap h3,.account-exports h3{margin:var(--space-0) var(--space-0) var(--space-8)}
.account-recap dl{margin:var(--space-0)}
.account-recap dl>div{display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-8);padding-block:var(--space-6);border-bottom:var(--border-thin) solid var(--line)}
.account-recap dl>div:last-child{border-bottom:0}
.account-recap dd{margin:var(--space-0);text-align:end;font-variant-numeric:tabular-nums;font-weight:var(--weight-strong)}
.account-breakdown tbody th{background:var(--panel);text-transform:none;letter-spacing:normal;white-space:normal;font-size:inherit;color:var(--ink)}
.account-breakdown td{overflow-wrap:anywhere}
.account-corrections{margin-top:var(--space-12)}
.account-corrections table{table-layout:fixed}
.account-corrections th,.account-corrections td{white-space:normal;overflow-wrap:anywhere}
.account-exports .row a{display:inline-flex;align-items:center;min-height:var(--account-control-size);padding:var(--space-6) var(--space-8);border:var(--border-thin) solid var(--line);border-radius:var(--radius);font-weight:var(--weight-strong);text-decoration:none}
.account-exports .row a:hover{background:var(--info-bg)}
@media(max-width:640px){
  .report-form .report-dates label{flex-basis:100%}
  .account-breakdown thead{position:absolute;inline-size:var(--space-1);block-size:var(--space-1);overflow:hidden;clip-path:inset(50%);white-space:nowrap}
  .account-breakdown tr{display:block;padding-block:var(--space-6);border-bottom:var(--border-thin) solid var(--line)}
  .account-breakdown th,.account-breakdown td{display:block;border:0;padding:var(--space-2) var(--space-0);text-align:start}
  .account-breakdown td::before{content:attr(data-label) ": ";color:var(--muted)}
  .account-exports .row a{width:100%}
}

/* Client account self-service */
.account-settings{margin-top:var(--space-12)}
.account-settings .panel{scroll-margin-top:var(--account-anchor-offset)}

/* Member management rows */
.ui13-member-row{padding:var(--space-10) var(--space-12);margin-bottom:var(--space-6)}
.ui13-member-row .row{flex-wrap:wrap;gap:var(--space-6)}
.ui13-member-row .row+.row{margin-top:var(--space-6);align-items:end}
.ui13-member-row strong{overflow-wrap:anywhere}
.ui13-member-row label{display:flex;flex-direction:column;gap:var(--space-3)}
.ui13-member-row select{min-width:var(--account-select-min)}

/* Scope fieldsets */
.ui13-scope{border:var(--border-thin) solid var(--line);border-radius:var(--radius);padding:var(--space-6) var(--space-8);margin:var(--space-4) var(--space-0);min-width:0}
.ui13-scope legend{font-weight:var(--weight-strong);color:var(--muted);padding:var(--space-0) var(--space-2)}
.ui13-scope label{display:block;padding:var(--space-2) var(--space-0);overflow-wrap:anywhere}
.ui13-scope input[type=checkbox]{margin-right:var(--space-3);accent-color:var(--accent)}
.ui13-scope input:focus-visible{outline:var(--focus-ring) solid var(--accent);outline-offset:var(--focus-offset)}

/* Site settings in account */
.ui13-site{max-width:var(--account-form-width);padding-bottom:var(--space-8);border-bottom:var(--border-thin) solid var(--line);margin-bottom:var(--space-8)}
.ui13-site:last-child{border-bottom:none;margin-bottom:var(--space-0)}

@media(max-width:640px){
  .report-form .report-dates{gap:var(--space-5)}
  .report-dates label{flex:1;min-width:0}
  .report-dates button{width:100%}
  .ui13-member-row{padding:var(--space-8)}
  .ui13-member-row select{min-width:0;width:100%}
  .ui13-scope{padding:var(--space-5) var(--space-6)}
}

/* Read-only venue overview; scoped to keep device and accounting screens unchanged. */
.overview-controls{margin-bottom:12px}
.overview-client{margin:24px 0 12px}
.overview-site>.row h2{margin:0}
.overview-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:18px 0}
.overview-stat{border:1px solid var(--line);border-radius:9px;padding:16px 12px;background:var(--panel)}
.overview-stat:nth-child(2){border-top:3px solid var(--accent);padding-top:14px}
.overview-stat strong{display:block;font-size:clamp(19px,2vw,28px);margin:10px 0;overflow-wrap:anywhere;font-variant-numeric:tabular-nums}
.overview-table td,.overview-table th{padding:13px 12px}
.overview-table tbody tr{cursor:pointer}
.overview-table tbody tr:hover,.overview-table tbody tr:focus-within{background:var(--bg)}
.overview-table a{font-weight:600;text-decoration:none}
.overview-table a:hover{text-decoration:underline}
.overview-table tfoot{background:var(--bg);font-weight:700}
@media(max-width:1000px){.overview-stats{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:500px){.overview-stat{padding:12px 9px}.overview-table{min-width:490px}.overview-controls label{width:100%}}


/* Shared fleet and client printer directory. */
.directory-tabs{display:flex;gap:24px;border-bottom:1px solid #dfe3e9;margin:0 0 24px;flex-wrap:wrap}
.directory-tabs a{padding:12px 4px;text-decoration:none;color:#667085;border-bottom:3px solid transparent}
.directory-tabs a[aria-current=page]{border-color:#5856d6;color:#5856d6;font-weight:600}
.printer-filters{display:flex;flex-wrap:wrap;gap:16px;align-items:end;margin-bottom:24px}
.printer-filters label{flex:1;min-width:150px;margin:0}
.printer-filters label:first-child{flex:2;min-width:220px}
.printer-filters input,.printer-filters select{width:100%;margin-top:8px;min-height:42px}
.printer-table{width:100%;min-width:850px}
.printer-table td{padding:18px 14px;vertical-align:middle}
.printer-table th{padding:14px;text-align:left}
.printer-group th{background:#f0f1fa;color:#414658;font-weight:600}
.text-action,.uid-copy{background:none!important;color:#5856d6!important;border:0!important;padding:6px!important;box-shadow:none!important;font-size:inherit;white-space:nowrap}
.uid-copy{font-family:monospace;color:#525966!important}
.printer-row-actions{display:flex;align-items:center;gap:12px}
.printer-menu summary{cursor:pointer;font-size:24px;color:#5856d6;list-style:none;padding:4px 10px}
.printer-menu summary::-webkit-details-marker{display:none}
.printer-menu[open]{position:relative}
.printer-menu>div{position:fixed;right:32px;z-index:40;min-width:200px;padding:8px;background:white;border:1px solid #dfe3e9;box-shadow:0 6px 20px #0002;border-radius:8px}
.printer-menu button{display:block;width:100%;text-align:left;background:white;color:#404555;border:0;margin:2px 0;padding:12px}
.printer-menu .danger{color:#b42318}
.printer-editor{border:1px solid #dfe3e9;border-radius:12px;padding:28px;width:min(500px,90vw);max-height:90vh}
.printer-editor::backdrop{background:#10182877}
.printer-editor .stack{max-width:none}
.printer-add-panel{margin-bottom:24px}
.printer-add-panel>summary{cursor:pointer;color:#5856d6;font-weight:600;padding:14px 0}
.inline-site{padding:14px 0;max-width:620px}
.inline-site summary{cursor:pointer;color:#5856d6}
.inline-site form{padding-top:20px}
.client-profile-top{padding:24px;align-items:center}
.client-profile-top h1{font-size:28px}
.client-profile-summary{margin:0 24px;padding:14px 0;gap:20px}
.client-actions{gap:18px;align-items:center}
.client-actions a,.client-actions button,.client-more summary{flex-direction:row;font-size:14px;gap:8px}
.client-actions span{font-size:22px;line-height:24px}
.client-address>summary{padding:14px 24px}
@media(max-width:700px){.printer-filters{display:grid;grid-template-columns:1fr}.printer-filters label,.printer-filters label:first-child{min-width:0}.printer-menu>div{right:16px}.client-actions{flex-wrap:wrap}.client-profile-top{align-items:flex-start}.printer-table-wrap{padding-bottom:12px}.client-pagination{flex-wrap:wrap;gap:12px}.printer-editor{padding:20px}}
.printer-filters input[type=search]{padding:10px 12px;border:1px solid var(--line);border-radius:5px;background:white;font:inherit}
.printer-menu>div{max-height:calc(100vh - 16px);overflow-y:auto}
@media(prefers-reduced-motion:reduce){.sidebar{transition:none}}
.printer-mobile-meta{display:none}
@media(max-width:700px){
 .printer-table{min-width:0;display:block}.printer-table thead{display:none}.printer-table tbody{display:block}
 .printer-table tbody tr{display:grid;grid-template-columns:minmax(0,1fr) auto;border-bottom:1px solid var(--line);padding:14px 0;gap:8px}
 .printer-table td{padding:0 4px;border:0}.printer-table td:first-child{grid-column:1 / -1;overflow-wrap:anywhere}
 .printer-table td:nth-child(2),.printer-table td:nth-child(3),.printer-table td:nth-child(5){display:none}
 .printer-table td:nth-child(4){align-self:center}.printer-table td:last-child{justify-self:end}
 .printer-mobile-meta{display:flex;flex-direction:column;gap:4px;font-size:12px;color:#667085;margin-top:6px}
 .printer-mobile-meta .uid-copy{align-self:flex-start;padding:0!important;font-size:12px}
 .printer-table .printer-group th{grid-column:1 / -1}
}


/* Client dashboard and read-only trend chart. */
.dashboard-heading{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:24px}
.dashboard-heading h1{margin:0 0 6px}.dashboard-heading p{margin:0}
.dashboard-controls{display:flex;align-items:center;gap:20px;flex-wrap:wrap;margin-bottom:18px}
.dashboard-controls>label{display:flex;align-items:center;gap:10px;margin:0}.dashboard-controls select{max-width:400px}
.dashboard-segment{display:inline-flex;flex-wrap:wrap;border:1px solid var(--line);background:white;border-radius:8px;padding:4px;gap:4px}
.dashboard-segment button{border:0;background:transparent;color:#525966;box-shadow:none;padding:9px 15px}
.dashboard-segment button[aria-pressed=true]{background:#5856d6;color:white}
#dashboard-dates{flex-basis:100%;gap:18px;align-items:end}#dashboard-dates[hidden]{display:none}
.dashboard-stats{margin-bottom:12px}.dashboard-stats .overview-stat strong{font-size:28px}
.dashboard-stats .overview-stat{border-top:3px solid transparent}.dashboard-stats .overview-stat:first-child{border-top-color:#5856d6}
.dashboard-chart-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.dashboard-chart-head h2{margin:0}
.dashboard-chart svg{display:block;width:100%;height:auto;overflow:visible;margin:20px 0 8px}
.chart-grid{stroke:#e7e9ef;stroke-width:1}.chart-label{fill:#667085;font-size:12px}
.chart-area{fill:#5856d6;opacity:.10}.chart-line{fill:none;stroke:#5856d6;stroke-width:2.5;stroke-linejoin:round}
.chart-dot{fill:#5856d6;stroke:white;stroke-width:2;cursor:pointer}.chart-dot:hover,.chart-dot:focus{fill:#312da5;stroke:#aaa8ff;stroke-width:5;outline:none}
.dashboard-point{min-height:22px;color:#42405d;font-variant-numeric:tabular-nums}
.dashboard-data-table>summary{cursor:pointer;color:#5856d6;font-size:13px;padding:8px 0}
.dashboard-data-table table{width:100%}.dashboard-site+.dashboard-site{border-top:1px solid var(--line);margin-top:24px;padding-top:10px}
.dashboard-site-heading{display:flex;justify-content:space-between;align-items:center;gap:18px;flex-wrap:wrap;margin:8px 0 16px}.dashboard-site-heading h3{margin:0}
.dashboard-health{margin-top:8px;max-width:400px;white-space:normal}.dashboard-health summary{cursor:pointer;font-size:12px;color:#667085}
.dashboard-health ul{margin:8px 0;padding-left:16px;font-size:12px}.dashboard-health li{margin-bottom:6px}
.sync-error{color:#b42318}.sync-warning{color:#925c00}
.dashboard-printers{width:100%}.dashboard-printers td:first-child{white-space:normal}
@media(max-width:700px){
 .dashboard-controls{gap:12px;align-items:stretch}.dashboard-controls>.dashboard-segment{width:100%;justify-content:space-between}
 .dashboard-controls .dashboard-segment button{padding:8px 9px}.dashboard-controls>label{width:100%;flex-direction:column;align-items:stretch}.dashboard-controls select{width:100%;max-width:none}
 .dashboard-heading{align-items:flex-start}.dashboard-stats .overview-stat strong{font-size:22px}.dashboard-stats .overview-stat{padding:16px 12px}
 .dashboard-chart-head{align-items:flex-start}.dashboard-chart-head .dashboard-segment button{padding:6px 10px}
 .dashboard-site-heading{gap:8px}.dashboard-printers{min-width:0}.dashboard-printers thead{display:none}.dashboard-printers tbody tr{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;padding:16px 0;border-bottom:1px solid var(--line)}
 .dashboard-printers td{border:0;padding:0;text-align:left}.dashboard-printers td:first-child{grid-column:1/-1}.dashboard-printers td:nth-child(2)::before{content:'Položky: ';color:#667085}.dashboard-printers td:nth-child(3){text-align:right}.dashboard-printers td:last-child{grid-column:1/-1;display:flex;align-items:center;gap:10px}
 #dashboard-dates label{flex:1;min-width:120px}#dashboard-dates input{width:100%}
}
.dashboard-health.has-issue summary{color:#925c00;font-weight:600}
@media(max-width:700px){.dashboard-chart .chart-label{font-size:16px}}


/* Personal report subscriptions */
.report-settings { min-width:0; }
.report-rule { display:flex;align-items:center;gap:16px;flex-wrap:wrap;padding:18px 0;border-bottom:1px solid var(--line,#e3e7ee); }
.report-rule>div:first-child {flex:1 1 240px;}
.report-rule p {margin:7px 0 0;}
.report-history-row {display:grid;gap:8px;padding:16px 0;border-bottom:1px solid var(--line,#e3e7ee);}
.report-site-choice {display:block;margin:10px 0;}
.report-email-preview {width:100%;height:820px;border:1px solid #e3e7ee;border-radius:8px;background:#f2f5fa;}
#report-form {margin-top:22px;padding-top:12px;}
#report-form fieldset {border:1px solid var(--line,#e3e7ee);border-radius:8px;padding:12px;}
#report-form [hidden] {display:none;}
.report-history-row button {justify-self:start;}
.report-settings fieldset label,.report-settings .report-toggle-label {display:flex;align-items:center;gap:10px;margin:10px 0;}
.report-settings input[type=checkbox],.report-settings input[type=radio] {width:auto;flex:0 0 auto;margin:0;}
.report-settings input[type=time] {font:inherit;border:1px solid var(--line);border-radius:5px;padding:10px 12px;color:var(--text);background:var(--panel);}
.report-settings #report-form>label {max-width:100%;}
.report-settings select,.report-settings input[type=text] {max-width:100%;}
.report-settings #report-default {width:100%;}
.report-settings #report-editor {scroll-margin-top:20px;}

/* Account security is a compact header action, not a full-page login panel. */
.account-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-bottom:20px}
.account-heading h1{margin:0 0 6px}.account-heading p{margin:0}
.account-password-dialog{box-sizing:border-box;width:min(480px,calc(100% - 32px));max-height:calc(100dvh - 32px);overflow:auto;border:1px solid var(--line);border-radius:12px;padding:24px;background:var(--panel);color:var(--text)}
.account-password-dialog::backdrop{background:#17203370}
.account-password-heading{margin-bottom:18px}.account-password-heading h2{margin:0}
.account-password-dialog .stack{margin-bottom:0}.account-password-dialog p{line-height:1.6}
.account-password-dialog #password-box input{box-sizing:border-box;max-width:100%}
@media(max-width:480px){.account-heading{align-items:flex-start}.account-heading>div{flex:1 1 180px;min-width:0}.account-heading p{overflow-wrap:anywhere}.account-password-dialog{padding:20px}}

/* Operational device status and purchase rows share the existing panel and state language. */
.operational-status{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(12rem,100%),1fr));gap:var(--space-6);margin-block:var(--space-8)}
.operational-status>div{display:flex;flex-direction:column;align-items:flex-start;gap:var(--space-4);padding:var(--space-8);border:var(--border-thin) solid var(--line);border-radius:var(--radius)}
.purchases{table-layout:fixed}
.purchases td{vertical-align:top;overflow-wrap:anywhere}
.purchases th:nth-child(2){width:28%}
.purchases .purchase-detail td{padding:var(--space-8);background:var(--bg)}
.purchases .purchase-toggle{margin-block-start:var(--space-4);display:block}
.purchases .purchase-toggle[aria-expanded=true]{background:var(--info-bg)}
.purchase-evidence-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(18rem,100%),1fr));gap:var(--space-12)}
.purchase-evidence h4{font-size:inherit;margin:0 0 var(--space-4);color:var(--ink)}
.purchase-evidence summary{color:var(--accent);cursor:pointer}
.purchase-evidence ul{padding-inline-start:var(--space-8);margin-block:var(--space-6)}
.purchase-evidence li{padding-block:var(--space-2);overflow-wrap:anywhere}
.purchase-evidence button{min-block-size:44px}
.purchase-evidence summary:focus-visible,.purchase-evidence button:focus-visible,.purchase-toggle:focus-visible{outline:var(--focus-ring) solid var(--accent);outline-offset:var(--focus-offset)}
.purchase-id{font-family:var(--mono);white-space:normal;overflow-wrap:anywhere}
.purchases td:nth-child(5) .pill{white-space:normal;max-inline-size:100%;box-sizing:border-box;overflow-wrap:anywhere}
.purchase-eet{overflow-wrap:anywhere;min-inline-size:0}
.purchase-eet .pill{white-space:normal}
@media(max-width:640px){
  .purchases,.purchases tbody{display:block;inline-size:100%}
  .purchases thead{position:absolute;inset-inline-start:0;inline-size:var(--space-1);block-size:var(--space-1);overflow:hidden;clip-path:inset(50%);white-space:nowrap}
  .purchases tr{display:block;border:var(--border-thin) solid var(--line);border-radius:var(--radius);padding:var(--space-6);margin-bottom:var(--space-6)}
  .purchases td{display:block;border:0;padding:var(--space-2) 0;text-align:start}
  .purchases td::before{content:attr(data-label);display:block;color:var(--muted);font-size:13px}
  .purchases .purchase-detail td{padding:var(--space-6)}
  .purchases .purchase-detail td::before{display:none}
  .purchases tr[hidden]{display:none}
  .purchases td.num{text-align:start}
}
