@import url('https://fonts.googleapis.com/css2?family=Comfortaa:wght@300;400;500;600;700&display=swap');
:root{--bg:#f6f1ea;--paper:#fff;--paper-soft:#fbf7f1;--ink:#171614;--muted:#726a5f;--line:#e5dacb;--accent:#9b6f45;--accent-dark:#7c5532;--success:#285945;--danger:#8c3b35;--shadow:0 20px 50px rgba(45,33,20,.08);--radius:24px}
*{box-sizing:border-box}html,body{margin:0;padding:0}body{background:radial-gradient(circle at top right, rgba(155,111,69,.12), transparent 30%),linear-gradient(180deg,#f8f4ee 0%,var(--bg) 100%);color:var(--ink);font-family:'Comfortaa',system-ui,sans-serif;line-height:1.5}a{color:inherit;text-decoration:none}h1,h2,h3{font-family:'Comfortaa',system-ui,sans-serif;font-weight:600;line-height:1.05;margin:0;letter-spacing:.01em}h1{font-size:clamp(2.3rem,4vw,4rem)}h2{font-size:clamp(1.9rem,3vw,2.7rem)}h3{font-size:1.7rem}small.eyebrow,.eyebrow{display:block;text-transform:uppercase;letter-spacing:.16em;font-size:.72rem;color:var(--accent);margin-bottom:.8rem}.shell{display:grid;grid-template-columns:300px 1fr;min-height:100vh}.sidebar{border-right:1px solid rgba(122,98,70,.12);background:rgba(255,255,255,.65);backdrop-filter:blur(16px);padding:28px;display:flex;flex-direction:column;gap:28px}.brand{display:flex;align-items:center;gap:16px}.brand-mark{width:52px;height:52px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(135deg,var(--accent),#d8b089);color:#fff;font-weight:700;letter-spacing:.08em}.nav{display:grid;gap:8px}.nav a{padding:12px 14px;border-radius:14px;color:var(--muted);transition:.2s ease}.nav a:hover{background:rgba(155,111,69,.08);color:var(--ink)}.sidebar-footer{margin-top:auto;display:grid;gap:14px}.profile-card{padding:16px;border-radius:20px;background:var(--paper-soft);border:1px solid var(--line);display:grid;gap:4px}.content{padding:40px 48px 56px}.page-header{display:flex;justify-content:space-between;align-items:flex-end;gap:18px;margin-bottom:28px}.header-actions,.filter-actions,.form-actions,.inline-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.panel,.auth-card,.stat-card{background:rgba(255,255,255,.9);border:1px solid rgba(122,98,70,.12);border-radius:var(--radius);box-shadow:var(--shadow)}.panel{padding:24px}.panel-head{display:flex;justify-content:space-between;align-items:center;gap:18px;margin-bottom:18px}.hero-panel{display:grid;grid-template-columns:1.4fr .9fr;gap:24px;background:linear-gradient(135deg, rgba(255,255,255,.88), rgba(255,248,239,.9));border-radius:32px;padding:32px;margin-bottom:24px;border:1px solid rgba(122,98,70,.12);box-shadow:var(--shadow)}.hero-panel p{max-width:68ch;color:var(--muted)}.hero-metrics{display:grid;gap:16px;align-content:start}.hero-metrics div,.stat-card{padding:18px 20px;background:rgba(255,255,255,.78);border-radius:20px;border:1px solid var(--line)}.hero-metrics strong,.stat-card strong{display:block;font-size:1.6rem;font-family:'Comfortaa',system-ui,sans-serif}.hero-metrics span,.stat-card small{color:var(--muted)}.grid{display:grid;gap:20px;margin-bottom:20px}.grid-4{grid-template-columns:repeat(4,1fr)}.grid-2{grid-template-columns:repeat(2,1fr)}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse;font-size:.95rem}thead th{text-align:left;padding:12px 14px;border-bottom:1px solid var(--line);color:var(--muted);font-weight:600;font-size:.85rem}tbody td{padding:14px;border-bottom:1px solid rgba(229,218,203,.7);vertical-align:top}tbody tr:last-child td{border-bottom:none}.sub-row td{padding-top:0;color:var(--muted);font-size:.92rem}.button,.link-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:12px 18px;border:none;border-radius:999px;cursor:pointer;background:linear-gradient(135deg,var(--accent),var(--accent-dark));color:#fff;font-weight:600;transition:transform .15s ease;box-shadow:0 10px 22px rgba(155,111,69,.2)}.button:hover,.link-button:hover{transform:translateY(-1px)}.button-ghost,.link-button{background:transparent;color:var(--ink);border:1px solid var(--line);box-shadow:none}.button-danger{background:linear-gradient(135deg,var(--danger),#b14d45);color:#fff;border:none;box-shadow:0 10px 22px rgba(140,59,53,.22)}.button-small{padding:10px 14px;font-size:.92rem}.small-note{font-size:.85rem}.users-table th,.users-table td{vertical-align:middle}.users-table .actions-col{text-align:right}.user-actions{justify-content:flex-end}.user-actions form{margin:0}.switch-card{align-items:center}.switch-card input{width:auto}.switch-card span{display:grid;gap:4px}.switch-card strong{font-size:1rem}.switch-card small{color:var(--muted)}.button-full{width:100%}.link{color:var(--accent-dark);font-weight:600}.badge{display:inline-flex;align-items:center;gap:8px;padding:7px 12px;border-radius:999px;font-size:.78rem;font-weight:600;border:1px solid transparent}.badge-muted{background:#f1ece6;color:#6a6052}.badge-success{background:#e6f2eb;color:var(--success)}.badge-info{background:#edf1f9;color:#426182}.badge-dark{background:#ece7e0;color:#3f352d}.badge-danger{background:#faece9;color:var(--danger)}.alert{margin-bottom:18px;padding:16px 18px;border-radius:18px;border:1px solid var(--line)}.alert-success{background:#ebf6f0;color:#22533f}.alert-error{background:#fff0ed;color:#8c3b35}.filters,.form-grid,.stack,.stack-lg{display:grid;gap:16px}.stack-lg{gap:24px}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.span-2{grid-column:span 2}label{display:grid;gap:8px}input,select,textarea{width:100%;padding:13px 14px;border-radius:16px;border:1px solid var(--line);background:rgba(255,255,255,.9);font-size:.96rem;color:var(--ink)}textarea{min-height:110px;resize:vertical}.checkbox-card,.checkbox-inline{display:flex;gap:12px;align-items:flex-start}.checkbox-card{padding:14px;border:1px solid var(--line);border-radius:18px;background:var(--paper-soft)}.checkbox-card input{width:auto;margin-top:3px}.share-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.feature-list,.audit-list{display:grid;gap:10px;margin:0;padding-left:18px}.audit-item{background:var(--paper-soft);border:1px solid var(--line);border-radius:20px;padding:16px}.audit-item pre{background:#1d1b18;color:#f2ebe1;border-radius:16px;padding:14px;overflow:auto;font-size:.82rem}.definition-list{display:grid;gap:12px;margin:0}.definition-list div{display:flex;justify-content:space-between;gap:12px;padding:10px 0;border-bottom:1px solid rgba(229,218,203,.7)}.definition-list div:last-child{border-bottom:none}.definition-list dt{color:var(--muted)}.definition-list dd{margin:0;text-align:right;font-weight:600}.notes-block{display:grid;gap:8px}.notes-block p{margin:0 0 12px;padding:14px;border-radius:16px;background:var(--paper-soft);border:1px solid var(--line)}.break-all{word-break:break-all}.muted{color:var(--muted)}.auth-page{min-height:100vh;display:grid;place-items:center;padding:24px}.auth-wrap{width:min(1180px,100%);display:grid;grid-template-columns:1.1fr .9fr;gap:24px;align-items:stretch}.auth-visual{padding:48px;border-radius:32px;color:#fff;background:linear-gradient(135deg, rgba(26,23,20,.82), rgba(52,39,27,.7));box-shadow:var(--shadow);display:grid;align-content:end}.auth-visual h1{font-size:clamp(2.8rem,5vw,4.7rem);max-width:11ch}.auth-visual p{max-width:58ch;color:rgba(255,255,255,.8)}.hero-notes{display:flex;gap:10px;flex-wrap:wrap;margin-top:18px}.hero-notes span{padding:10px 14px;border-radius:999px;background:rgba(255,255,255,.12);backdrop-filter:blur(10px)}.auth-card{padding:34px;max-width:520px;width:100%}button,input,select,textarea{font:inherit}code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace}@media (max-width:1100px){.shell{grid-template-columns:1fr}.sidebar{border-right:none;border-bottom:1px solid rgba(122,98,70,.12)}.content{padding:24px}.grid-4,.grid-2,.share-grid,.auth-wrap,.hero-panel,.form-grid{grid-template-columns:1fr}.page-header{align-items:flex-start;flex-direction:column}}

.mfa-panel p{max-width:72ch}.mfa-qr-layout{display:grid;grid-template-columns:minmax(240px,280px) 1fr;gap:24px;align-items:start}.mfa-qr-card{display:grid;gap:12px;justify-items:center;padding:18px;border:1px solid var(--line);border-radius:24px;background:var(--paper-soft)}.mfa-qr-code{width:240px;min-height:240px;display:grid;place-items:center;padding:12px;border-radius:20px;background:#fff;border:1px solid var(--line);box-shadow:inset 0 0 0 1px rgba(0,0,0,.02)}.mfa-qr-code svg{display:block;width:100%;height:auto}.mfa-qr-caption{margin:0;text-align:center;color:var(--muted);font-size:.93rem}.mfa-definition-list{align-self:stretch}@media (max-width:1100px){.mfa-qr-layout{grid-template-columns:1fr}}

.mfa-definition-list dd{text-align:left;max-width:100%;overflow-wrap:anywhere}.mfa-otp-form{align-content:start}.mfa-otp-block{gap:12px}.mfa-otp-inputs{display:flex;gap:12px;flex-wrap:wrap}.mfa-otp-digit{width:58px;min-width:58px;height:64px;padding:0;border-radius:18px;text-align:center;font-size:1.4rem;font-weight:700;letter-spacing:0;background:#fff}.mfa-otp-digit:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 4px rgba(155,111,69,.12)}.mfa-submit{justify-self:start;min-width:220px}@media (max-width:640px){.mfa-otp-inputs{gap:10px}.mfa-otp-digit{width:50px;min-width:50px;height:58px;font-size:1.2rem}.mfa-submit{min-width:180px}}


.event-form{max-width:none}
.event-form-section{padding:28px 28px 30px}
.event-header-card{display:grid;gap:24px;padding:24px;border:1px solid var(--line);border-radius:24px;background:linear-gradient(135deg,rgba(255,255,255,.95),rgba(255,248,239,.85))}
.event-header-brand{display:flex;justify-content:space-between;gap:16px;align-items:center}
.event-header-brand h2{font-size:clamp(2rem,3vw,3rem)}
.event-header-logo{width:72px;height:72px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(135deg,var(--accent),var(--accent-dark));color:#fff;font-weight:700;font-size:1.4rem;letter-spacing:.08em;box-shadow:0 10px 24px rgba(155,111,69,.2)}
.event-form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.event-block{padding:20px;border-radius:22px;border:1px solid var(--line);background:rgba(255,255,255,.72);display:grid;gap:16px}
.event-block h4{font-size:1.45rem}
.event-table{width:100%;border-collapse:separate;border-spacing:0 10px}
.event-table thead th{padding:0 12px 8px;border-bottom:1px solid var(--line)}
.event-table tbody tr{background:var(--paper-soft)}
.event-table tbody td{padding:10px 12px;border-top:1px solid rgba(229,218,203,.65);border-bottom:1px solid rgba(229,218,203,.65)}
.event-table tbody td:first-child{border-left:1px solid rgba(229,218,203,.65);border-top-left-radius:18px;border-bottom-left-radius:18px}
.event-table tbody td:last-child{border-right:1px solid rgba(229,218,203,.65);border-top-right-radius:18px;border-bottom-right-radius:18px}
.event-table strong{white-space:nowrap}
.section-total{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:16px 18px;border-radius:18px;background:#faf3ee;border:1px solid rgba(155,111,69,.16)}
.section-total strong{font-size:1.2rem;font-family:'Comfortaa',system-ui,sans-serif}
.summary-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.summary-grid.compact{grid-template-columns:repeat(4,minmax(0,1fr))}
.summary-card{padding:18px 20px;border-radius:22px;border:1px solid rgba(155,111,69,.18);background:#fff3ee;display:grid;gap:8px}
.summary-card small{color:var(--muted);font-size:.92rem}
.summary-card strong{font-size:1.6rem;font-family:'Comfortaa',system-ui,sans-serif;line-height:1}
.event-meta-grid,.todo-grid{display:grid;gap:16px}
.event-meta-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.todo-columns{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.todo-column{display:grid;gap:12px}
.todo-row{display:grid;gap:8px;max-width:320px}
.settings-grid{max-width:720px}
.details-grid{align-items:start}
@media (max-width:1100px){
  .event-form-grid,.event-meta-grid,.summary-grid,.summary-grid.compact,.todo-columns,.settings-grid{grid-template-columns:1fr}
  .event-header-brand{align-items:flex-start;flex-direction:column}
}

/* Compact event form and history table */
.panel{padding:20px}
.event-form-section{padding:22px 22px 24px}
.event-header-card{gap:18px}
.event-table{border-spacing:0 8px}
.event-table thead th{padding:0 10px 6px}
.event-table tbody td{padding:8px 10px}
.event-table tbody td:first-child{border-top-left-radius:14px;border-bottom-left-radius:14px}
.event-table tbody td:last-child{border-top-right-radius:14px;border-bottom-right-radius:14px}
input,select,textarea{padding:9px 11px;border-radius:12px;font-size:.9rem;line-height:1.25}
textarea{min-height:88px}
label{gap:6px}
.form-grid,.stack,.stack-lg,.filters{gap:12px}
.summary-card{padding:14px 16px;border-radius:18px;gap:6px}
.summary-card small{font-size:.86rem}
.summary-card strong{font-size:1.35rem}
.hero-metrics div,.stat-card{padding:14px 16px}
.checkbox-card{padding:10px 12px;border-radius:14px}
.button,.link-button{padding:10px 16px}
.button-small{padding:8px 12px;font-size:.88rem}
.audit-table-wrap{margin-top:4px}
.audit-table th,.audit-table td{vertical-align:top}
.audit-table tbody td{padding:10px 12px}
.audit-table tbody tr:nth-child(odd){background:rgba(155,111,69,.04)}
input[readonly]{background:#f7f2eb;color:#6a6052}


.recipient-grid,.recipient-user-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.event-table input[type="datetime-local"]{min-width:172px}
.audit-table .actions-col{text-align:right;white-space:nowrap}
@media (max-width:1100px){
  .recipient-grid,.recipient-user-grid{grid-template-columns:1fr}
}

.is-hidden{display:none!important}
.settings-grid-full{grid-template-columns:repeat(2,minmax(0,1fr));max-width:none}
.collaboration-alert{padding:12px 16px;border-radius:16px;border:1px solid rgba(191,139,39,.28);background:#fff4df;color:#775415}
.collaboration-toast{display:grid;gap:12px}
.collaboration-toast__header{display:flex;align-items:center;justify-content:space-between;gap:12px}
.collaboration-toast__body p{margin:0 0 8px}
.collaboration-toast__list{margin:0;padding-left:18px;display:grid;gap:6px}
@media (max-width:1100px){.settings-grid-full{grid-template-columns:1fr}.collaboration-toast__header{align-items:flex-start;flex-direction:column}}
.autosave-status{padding:8px 2px;font-size:13px}
.autosave-status--success{color:#24613e}
.autosave-status--warning{color:#8b5e19}
.autosave-status--error{color:#a2463f;font-weight:600}


.inline-field-actions{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:center}
.event-form{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:18px;align-items:start}
.event-form > .autosave-status,.event-form > .collaboration-alert,.event-form > .collaboration-modal,.event-form > .form-actions,.event-form > datalist,.event-form > script,.event-form > input[type="hidden"]{grid-column:1 / -1}
.event-section--header{grid-column:1 / -1;order:1}
.event-section--notes{grid-column:1;order:2}
.event-section--todo{grid-column:2;order:3}
.event-section--summary{grid-column:1 / -1;order:4}
.event-section--costs{grid-column:1;order:5}
.event-section--sales{grid-column:2;order:6}
.event-section--staff{grid-column:1 / -1;order:7}
.collaboration-modal{position:fixed;inset:0;z-index:120;display:grid;place-items:center;padding:24px}
.collaboration-modal__backdrop{position:absolute;inset:0;background:rgba(23,22,20,.48)}
.collaboration-modal__dialog{position:relative;z-index:1;width:min(640px,calc(100vw - 32px));padding:24px 24px 20px;border-radius:24px;background:#fff;border:1px solid rgba(122,98,70,.14);box-shadow:0 24px 50px rgba(20,15,10,.28);display:grid;gap:14px}
.collaboration-modal__close{position:absolute;top:14px;right:14px;width:40px;height:40px;border:none;border-radius:999px;background:#f3ede5;color:#43382e;font-size:1.5rem;line-height:1;cursor:pointer}
.collaboration-modal__header strong{display:block;font-size:1.35rem;font-family:'Comfortaa',system-ui,sans-serif}
.collaboration-modal__body p{margin:0 0 10px}
.collaboration-toast__list{margin:0;padding-left:18px;display:grid;gap:6px}
@media (max-width:1100px){.event-form{grid-template-columns:1fr}.event-section--header,.event-section--notes,.event-section--todo,.event-section--summary,.event-section--costs,.event-section--sales,.event-section--staff,.event-form > .autosave-status,.event-form > .collaboration-alert,.event-form > .collaboration-modal,.event-form > .form-actions{grid-column:1}.event-form > .form-actions{grid-column:1}}


/* Event form UX refinements */
.badge-muted{background:#dde8f4;color:#152538;border-color:#c3d3e6}
.badge-info{background:#dff6f2;color:#114a42;border-color:#b8e5dc}
.badge-success{background:#d9eccf;color:#234a26;border-color:#bdd9ae}
.badge-danger{background:#f2c5c2;color:#6e1d1d;border-color:#e5a4a0}
.badge-dark{background:#d8d8d8;color:#383838;border-color:#c1c1c1}

.brand-mark--image,.event-header-logo--image{background:#fff;border:1px solid rgba(122,98,70,.14);box-shadow:0 10px 24px rgba(45,33,20,.08)}
.brand-mark--image{padding:8px}
.brand-mark--image img,.event-header-logo--image img{display:block;width:100%;height:100%;object-fit:contain}
.event-header-logo--image{padding:10px}

.status-select{font-weight:600;color:#2d1b12;border-width:1px}
.status-select--confirmed{background:#b7d39b;border-color:#7ea05c}
.status-select--draft{background:#dbe7f3;border-color:#97aec8}
.status-select--planned{background:#d8f1ea;border-color:#7fb7a9}
.status-select--cancelled{background:#ec8b85;border-color:#cf5f58;color:#311313}
.status-select--completed{background:#d7d7d7;border-color:#a8a8a8;color:#2b2b2b}

.event-section{position:relative;overflow:hidden}
.event-section--header{background:linear-gradient(180deg,rgba(247,241,234,.96),rgba(255,255,255,.92))}
.event-section--costs{background:linear-gradient(180deg,rgba(252,238,235,.92),rgba(255,255,255,.94))}
.event-section--staff{background:linear-gradient(180deg,rgba(236,246,241,.92),rgba(255,255,255,.94))}
.event-section--todo{background:linear-gradient(180deg,rgba(241,238,251,.92),rgba(255,255,255,.94))}
.event-section--notes{background:linear-gradient(180deg,rgba(248,241,230,.92),rgba(255,255,255,.94))}
.event-section--sales{background:linear-gradient(180deg,rgba(235,243,248,.92),rgba(255,255,255,.94))}

.event-block{--block-bg:rgba(255,255,255,.72);--block-border:rgba(122,98,70,.12);background:var(--block-bg);border-color:var(--block-border)}
.event-block--costs-drinks,.event-block--sales-drinks{--block-bg:rgba(249,224,224,.72);--block-border:rgba(191,97,97,.24)}
.event-block--costs-menu,.event-block--sales-menu{--block-bg:rgba(223,241,232,.72);--block-border:rgba(64,138,105,.22)}
.event-block--costs-staff{--block-bg:rgba(255,239,217,.74);--block-border:rgba(184,124,52,.22)}
.event-block--costs-other_included,.event-block--sales-other_included{--block-bg:rgba(229,239,247,.72);--block-border:rgba(90,133,173,.22)}
.event-block--costs-other_excluded,.event-block--sales-other_excluded{--block-bg:rgba(239,238,234,.82);--block-border:rgba(133,126,116,.2)}
.event-block .section-total{background:rgba(255,255,255,.62)}

.event-block > .panel-head{align-items:flex-start;gap:14px}
.section-title-input{flex:1 1 auto;width:100%;min-width:0;max-width:none;padding:9px 12px;border-radius:14px;border:2px solid rgba(21,130,92,.95);background:rgba(255,255,255,.78);font-size:clamp(1.02rem,1.15vw,1.38rem);font-weight:700;line-height:1.12;text-transform:uppercase;letter-spacing:0;color:#0d2834}
.section-title-input:focus{outline:none;box-shadow:0 0 0 4px rgba(21,130,92,.12)}

.event-table thead th,.event-table tbody td{vertical-align:middle}
.event-table tbody td{text-align:center}
.event-table tbody td input,.event-table tbody td select{margin-inline:auto;text-align:center}
.event-table tbody td strong,.event-table tbody td .small-note{display:inline-block;width:100%;text-align:center}
.event-table tbody td:last-child{width:74px}
.event-table [data-sales-vat]{min-width:74px;padding-right:22px;font-weight:600}
.event-table input[type="text"]{text-align:center}
.event-table input[type="number"],.event-table input[type="datetime-local"],.event-table input[type="time"],.event-table select{font-weight:500}

/* Section ordering and readability refinements */
.event-section--summary{grid-column:1 / -1;order:4;background:linear-gradient(180deg,rgba(239,244,221,.96),rgba(255,255,255,.94))}
.event-section--costs{order:5}
.event-section--sales{order:6}
.event-section--staff{grid-column:1 / -1;order:7}

.section-stack{gap:18px}
.section-head-actions{flex:0 0 auto;display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap}
.section-move-actions{display:inline-flex;align-items:center;gap:8px}
.section-move-actions .button{min-width:42px;padding-inline:12px}
.section-move-actions .button:disabled{opacity:.45;cursor:not-allowed;transform:none}

.event-table{table-layout:fixed}
.event-table col.col-actions{width:62px}
.event-table--cost-general col.col-label{width:50%}
.event-table--cost-general col.col-qty{width:14%}
.event-table--cost-general col.col-unit{width:14%}
.event-table--cost-general col.col-total{width:22%}
.event-table--cost-staff col.col-label{width:38%}
.event-table--cost-staff col.col-hours{width:12%}
.event-table--cost-staff col.col-count{width:10%}
.event-table--cost-staff col.col-rate{width:15%}
.event-table--cost-staff col.col-total{width:25%}
.event-table--sales col.col-label{width:38%}
.event-table--sales col.col-qty{width:9%}
.event-table--sales col.col-unit{width:11%}
.event-table--sales col.col-total{width:11%}
.event-table--sales col.col-vat{width:9%}
.event-table--sales col.col-total-vat{width:22%}

.event-table input,.event-table select{min-width:0;max-width:100%}
.event-table input[type="text"]{font-size:.78rem;padding:8px 10px}
.event-table input[type="number"],.event-table input[type="datetime-local"],.event-table input[type="time"],.event-table select{font-size:.8rem;padding:8px 10px}
.event-table tbody td:first-child input[type="text"]{text-align:left;padding-inline:10px;font-size:.77rem}
.event-table strong{font-size:1rem}
.event-table thead th{font-size:.8rem}

.summary-grid{align-items:stretch}
.summary-card{min-height:104px}
.summary-card strong{line-height:1.05}

@media (max-width:1400px){
  .event-table--sales col.col-label{width:40%}
  .event-table--sales col.col-qty{width:9%}
  .event-table--sales col.col-unit{width:10%}
  .event-table--sales col.col-total{width:11%}
  .event-table--sales col.col-vat{width:8%}
  .event-table--sales col.col-total-vat{width:22%}
  .event-table input[type="text"]{font-size:.76rem}
}
@media (max-width:1280px){
  .section-title-input{font-size:1rem;padding:8px 10px}
  .section-head-actions .button{padding:9px 12px}
}
@media (max-width:1100px){
  .event-section--summary,.event-section--header,.event-section--staff,.event-form > .autosave-status,.event-form > .collaboration-alert,.event-form > .collaboration-modal,.event-form > .form-actions{grid-column:1}
  .section-head-actions{justify-content:flex-start}
}

.presence-live-toast{position:fixed;top:24px;right:24px;z-index:140;min-width:min(360px,calc(100vw - 32px));padding:16px 18px;border-radius:18px;border:1px solid rgba(36,97,62,.2);background:rgba(235,246,240,.98);color:#1f5a38;box-shadow:0 18px 34px rgba(23,22,20,.14);opacity:0;transform:translateY(-10px);pointer-events:none;transition:opacity .2s ease,transform .2s ease}
.presence-live-toast.is-visible{opacity:1;transform:translateY(0)}
.users-table [data-presence-cell]{min-width:220px}


/* Event form layout hard-fix: Sekce 2 a Sekce 6 musí být vedle sebe */
.event-form{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr);
  grid-template-areas:
    "header header"
    "notes todo"
    "summary summary"
    "costs sales"
    "staff staff"
    "actions actions";
  gap:18px;
  align-items:start;
}
.event-form > .autosave-status,
.event-form > .collaboration-alert,
.event-form > .collaboration-modal,
.event-form > datalist,
.event-form > script,
.event-form > input[type="hidden"]{grid-column:1 / -1}
.event-form > .form-actions{grid-area:actions;grid-column:1 / -1}
.event-section--header{grid-area:header;grid-column:1 / -1}
.event-section--notes{grid-area:notes;grid-column:auto}
.event-section--todo{grid-area:todo;grid-column:auto}
.event-section--summary{grid-area:summary;grid-column:1 / -1}
.event-section--costs{grid-area:costs;grid-column:auto}
.event-section--sales{grid-area:sales;grid-column:auto}
.event-section--staff{grid-area:staff;grid-column:1 / -1}

.event-block > .panel-head{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  align-items:start;
  gap:12px;
}
.section-head-actions{
  min-width:0;
  gap:6px;
}
.section-head-actions .button.button-small{
  padding:8px 11px;
  font-size:.82rem;
}
.section-move-actions .button{
  min-width:36px;
  padding-inline:10px;
}
.section-title-input{
  width:100%;
  min-width:0;
  padding:8px 11px;
  font-size:clamp(.88rem,.9vw,1.05rem);
  line-height:1.04;
  letter-spacing:-.01em;
}
.event-block h4{
  font-size:clamp(1rem,1vw,1.18rem);
  line-height:1.08;
}

@media (max-width:1280px){
  .section-title-input{font-size:.86rem;padding:8px 10px}
  .event-block > .panel-head{grid-template-columns:minmax(0,1fr);}
  .section-head-actions{justify-content:flex-start}
}
@media (max-width:1100px){
  .event-form{
    grid-template-columns:1fr;
    grid-template-areas:
      "header"
      "notes"
      "todo"
      "summary"
      "costs"
      "sales"
      "staff"
      "actions";
  }
  .event-section--notes,
  .event-section--todo,
  .event-section--summary,
  .event-section--costs,
  .event-section--sales,
  .event-section--staff,
  .event-form > .form-actions{grid-column:1 / -1}
}

/* Event form final layout and readability refinements */
.event-form{
  display:grid !important;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr) !important;
  gap:18px;
  align-items:start;
}
.event-form > .autosave-status,
.event-form > .collaboration-alert,
.event-form > .collaboration-modal,
.event-form > datalist,
.event-form > script,
.event-form > input[type="hidden"],
.event-form > .form-actions,
.event-section--header,
.event-section--summary,
.event-section--staff{grid-column:1 / -1 !important}
.event-section--notes,.event-section--costs{grid-column:1 !important}
.event-section--todo,.event-section--sales{grid-column:2 !important}

.has-custom-section-color{
  background:var(--section-custom-bg) !important;
  border-color:var(--section-custom-border) !important;
}
.section-color-control{
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:6px 10px;
  border:1px solid var(--line);
  border-radius:999px;
  background:rgba(255,255,255,.75);
}
.section-color-control span{
  font-size:.72rem;
  color:var(--muted);
  font-weight:600;
  letter-spacing:.03em;
}
.section-color-control input[type="color"]{
  width:34px;
  height:34px;
  padding:0;
  border:none;
  background:transparent;
  border-radius:999px;
  cursor:pointer;
}
.section-title-input{
  min-height:46px;
  resize:none;
  overflow:hidden;
  white-space:normal;
  font-size:clamp(.76rem,.8vw,.95rem) !important;
  line-height:1.05;
  padding:8px 12px;
}
.event-block h4{
  font-size:clamp(.84rem,.9vw,1.02rem) !important;
  line-height:1.1;
  text-transform:uppercase;
  overflow-wrap:anywhere;
}
.section-head-actions{
  align-items:flex-start;
}
.section-formula-note,
.inline-note{
  font-size:.76rem;
  color:var(--muted);
}
.section-formula-note{margin:-6px 0 0}
.event-cell-note{
  text-align:center;
  color:var(--muted);
  font-size:.76rem;
}

.event-table thead th{
  font-size:.72rem;
  padding:0 8px 6px;
}
.event-table tbody td{
  padding:7px 8px;
}
.event-table input[type="text"]{
  font-size:.72rem !important;
}
.event-table input[type="number"],
.event-table input[type="datetime-local"],
.event-table input[type="time"],
.event-table select{
  font-size:.76rem !important;
  padding:7px 9px !important;
}
.event-table strong{font-size:.92rem}
.event-table--cost-general col.col-label{width:40%}
.event-table--cost-general col.col-qty{width:12%}
.event-table--cost-general col.col-unit{width:12%}
.event-table--cost-general col.col-total{width:24%}
.event-table--cost-staff col.col-label{width:32%}
.event-table--cost-staff col.col-hours{width:10%}
.event-table--cost-staff col.col-count{width:10%}
.event-table--cost-staff col.col-rate{width:14%}
.event-table--cost-staff col.col-total{width:24%}
.event-table--sales col.col-label{width:32%}
.event-table--sales col.col-qty{width:9%}
.event-table--sales col.col-unit{width:12%}
.event-table--sales col.col-total{width:14%}
.event-table--sales col.col-vat{width:11%}
.event-table--sales col.col-total-vat{width:16%}
.event-table--cost-other-excluded col.col-label{width:52%}
.event-table--cost-other-excluded col.col-value{width:20%}
.event-table--cost-other-excluded col.col-total{width:20%}

.event-section--summary .summary-grid{
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:10px;
}
.event-section--summary .summary-card,
.summary-card--tiny{
  padding:10px 12px;
  min-height:76px;
  border-radius:16px;
}
.event-section--summary .summary-card small,
.summary-card--tiny small{
  font-size:.75rem;
}
.event-section--summary .summary-card strong,
.summary-card--tiny strong{
  font-size:1.05rem;
}
.event-section--summary .settings-grid{
  max-width:none;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
}

@media (max-width:1280px){
  .section-color-control span{display:none}
  .event-section--summary .summary-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media (max-width:1100px){
  .event-form{grid-template-columns:1fr !important}
  .event-section--notes,
  .event-section--todo,
  .event-section--costs,
  .event-section--sales{grid-column:1 / -1 !important}
  .event-section--summary .summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:700px){
  .event-section--summary .summary-grid{grid-template-columns:1fr}
}


/* v7 readability override: values in quantity/price/date fields must always remain visible */
.event-table{
  table-layout: fixed !important;
}
.event-table thead th,
.event-table tbody td{
  white-space: normal;
  overflow: visible;
}
.event-table input,
.event-table select,
.event-table textarea{
  min-width: 0;
  max-width: 100%;
}
.event-table input[type="number"],
.event-table input[type="datetime-local"],
.event-table input[type="date"],
.event-table input[type="time"],
.event-table select{
  font-variant-numeric: tabular-nums;
}
.event-table input[type="number"]::-webkit-outer-spin-button,
.event-table input[type="number"]::-webkit-inner-spin-button{
  -webkit-appearance: none;
  margin: 0;
}
.event-table input[type="number"]{
  -moz-appearance: textfield;
  appearance: textfield;
}
.event-table tbody td:first-child input[type="text"]{
  text-align: left;
  font-size: .7rem !important;
  line-height: 1.16;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.event-table [data-sales-qty],
.event-table [data-cost-qty],
.event-table [data-staff-hours],
.event-table [data-staff-count],
.event-table [data-plan-count]{
  min-width: 4.35rem !important;
  padding-inline: 6px !important;
  font-size: .82rem !important;
}
.event-table [data-sales-unit],
.event-table [data-cost-unit],
.event-table [data-staff-rate],
.event-table [data-plan-rate]{
  min-width: 4.85rem !important;
  padding-inline: 6px !important;
  font-size: .82rem !important;
}
.event-table [data-sales-vat]{
  min-width: 4.8rem !important;
  padding-inline: 6px !important;
}
.event-table--sales col.col-label{width: 30% !important}
.event-table--sales col.col-qty{width: 11% !important}
.event-table--sales col.col-unit{width: 12% !important}
.event-table--sales col.col-total{width: 13% !important}
.event-table--sales col.col-vat{width: 11% !important}
.event-table--sales col.col-total-vat{width: 15% !important}
.event-table--cost-general col.col-label{width: 42% !important}
.event-table--cost-general col.col-qty{width: 14% !important}
.event-table--cost-general col.col-unit{width: 14% !important}
.event-table--cost-general col.col-total{width: 18% !important}
.event-table--cost-staff col.col-label{width: 30% !important}
.event-table--cost-staff col.col-hours{width: 12% !important}
.event-table--cost-staff col.col-count{width: 11% !important}
.event-table--cost-staff col.col-rate{width: 15% !important}
.event-table--cost-staff col.col-total{width: 22% !important}
.event-table--cost-other-excluded col.col-label{width: 48% !important}
.event-table--cost-other-excluded col.col-value{width: 20% !important}
.event-table--cost-other-excluded col.col-total{width: 20% !important}
.event-table col.col-actions{width: 58px !important}
.event-form-grid input[type="date"],
.event-form-grid input[type="datetime-local"],
.event-meta-grid input[type="date"],
.event-meta-grid input[type="datetime-local"]{
  min-width: 0;
  font-size: .9rem;
  padding: 11px 12px;
}
@media (max-width: 1450px){
  .event-table thead th{font-size: .69rem !important}
  .event-table tbody td{padding: 7px 6px !important}
  .event-table tbody td:first-child input[type="text"]{font-size: .68rem !important}
}
@media (max-width: 1320px){
  .event-table--sales col.col-label{width: 28% !important}
  .event-table--sales col.col-qty{width: 12% !important}
  .event-table--sales col.col-unit{width: 13% !important}
  .event-table--sales col.col-total{width: 13% !important}
  .event-table--sales col.col-vat{width: 12% !important}
  .event-table--sales col.col-total-vat{width: 14% !important}
  .event-table--cost-general col.col-label{width: 39% !important}
  .event-table--cost-general col.col-qty{width: 15% !important}
  .event-table--cost-general col.col-unit{width: 15% !important}
  .event-table--cost-general col.col-total{width: 19% !important}
}


/* v9 compact section headers + sticky sidebar */
.shell{
  grid-template-columns:260px minmax(0,1fr) !important;
  align-items:start;
}
.content{
  min-width:0;
}
.sidebar{
  position:sticky;
  top:0;
  align-self:start;
  height:100vh;
  max-height:100vh;
  overflow-y:auto;
  padding:18px 16px 18px;
  gap:18px;
}
.sidebar-top,
.sidebar-account{
  display:grid;
  gap:12px;
}
.sidebar-account{
  margin-top:auto;
  padding-top:12px;
}
.brand{
  align-items:flex-start;
  gap:12px;
}
.brand strong{
  display:block;
  font-size:1rem;
  line-height:1.2;
}
.nav{
  gap:4px;
}
.nav a{
  padding:10px 12px;
}
.profile-card{
  padding:12px 14px;
  border-radius:18px;
}
.button-full{
  min-height:40px;
}

.event-block > .panel-head{
  gap:8px !important;
  margin-bottom:12px;
  align-items:center !important;
}
.section-head-actions{
  gap:5px !important;
  align-items:center !important;
}
.section-title-input,
.event-block h4{
  min-height:36px !important;
  margin:0;
  padding:6px 12px !important;
  border-radius:13px;
  line-height:1.02 !important;
}
.section-title-input{
  font-size:clamp(.74rem,.78vw,.9rem) !important;
}
.event-block h4{
  display:flex;
  align-items:center;
  font-size:clamp(.76rem,.8vw,.94rem) !important;
  border:2px solid rgba(21,130,92,.95);
  background:rgba(255,255,255,.78);
  color:#0d2834;
  flex:1 1 auto;
}
.section-color-control{
  min-height:36px;
  gap:6px;
  padding:4px 10px;
}
.section-color-control span{
  font-size:.68rem;
}
.section-color-control input[type="color"]{
  width:24px;
  height:24px;
}
.section-head-actions .button.button-small{
  min-height:36px;
  padding:7px 11px;
  font-size:.8rem;
}
.section-move-actions .button{
  width:32px;
  min-width:32px;
  height:32px;
  padding:0 !important;
}

@media (max-width:1100px){
  .shell{
    grid-template-columns:1fr !important;
  }
  .sidebar{
    position:static;
    height:auto;
    max-height:none;
    overflow:visible;
    padding:18px;
  }
}

/* Lokální verze cenových nabídek a výběr řádků klientské kalkulace. */
body:not(.auth-page--login) .event-form .event-table.event-table--sales col.col-actions{
  width:68px !important;
}
body:not(.auth-page--login) .event-form .event-table.event-table--sales th:last-child,
body:not(.auth-page--login) .event-form .event-table.event-table--sales td:last-child{
  min-width:68px;
}
body:not(.auth-page--login) .event-form .event-table.event-table--cost-staff col.col-actions{
  width:68px !important;
}
body:not(.auth-page--login) .event-form .event-table.event-table--cost-staff th:last-child,
body:not(.auth-page--login) .event-form .event-table.event-table--cost-staff td:last-child{
  min-width:68px;
}
body:not(.auth-page--login) .event-form .event-table.event-table--cost-general col.col-actions,
body:not(.auth-page--login) .event-form .event-table.event-table--cost-other-excluded col.col-actions,
body:not(.auth-page--login) .event-form .event-table.event-table--staff-plan col.col-actions{width:68px !important;}
body:not(.auth-page--login) .event-form .event-table.event-table--cost-general th:last-child,
body:not(.auth-page--login) .event-form .event-table.event-table--cost-general td:last-child,
body:not(.auth-page--login) .event-form .event-table.event-table--cost-other-excluded th:last-child,
body:not(.auth-page--login) .event-form .event-table.event-table--cost-other-excluded td:last-child,
body:not(.auth-page--login) .event-form .event-table.event-table--staff-plan th:last-child,
body:not(.auth-page--login) .event-form .event-table.event-table--staff-plan td:last-child{min-width:68px;}
.sales-offer-controls{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:6px;
  min-width:52px;
}
body:not(.auth-page--login) .event-form .offer-row-visibility{
  display:flex !important;
  align-items:center;
  gap:0;
  margin:0;
  white-space:nowrap;
  cursor:pointer;
  color:#2e5f47;
  width:16px;
}
body:not(.auth-page--login) .event-form .offer-row-visibility input[type="checkbox"]{
  width:16px !important;
  min-width:16px;
  height:16px;
  margin:0;
  accent-color:#2f815d;
}
.event-offer-versions{
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:7px;
  padding:5px 9px;
  border:1px solid var(--line);
  border-radius:999px;
  background:rgba(255,255,255,.86);
}
.event-offer-versions__label{
  color:var(--muted);
  font-size:.68rem;
  font-weight:700;
}
.event-offer-versions__items{
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:5px;
}
.event-offer-version-button{
  display:inline-flex;
  align-items:center;
  min-height:27px;
  padding:4px 9px;
  border-radius:999px;
  border:1px solid rgba(155,111,69,.3);
  background:#fff;
  color:var(--accent-dark);
  font-size:.68rem;
  font-weight:700;
}
.event-offer-version-button:hover{
  background:#f7eee4;
}
.offer-snapshot-banner{
  display:flex;
  align-items:center;
  gap:14px;
  padding:14px 18px;
  border:1px solid #c69b59;
  border-radius:14px;
  background:#fff8e8;
  color:#4d3821;
}
.event-form > .offer-snapshot-banner{
  grid-column:1 / -1 !important;
}
.event-form [data-offer-new-link][hidden],
.event-form .form-actions > button[hidden]{
  display:none !important;
}
.offer-snapshot-banner > div{
  display:grid;
  gap:3px;
}
.offer-snapshot-banner small{
  color:#93652f;
  font-size:.68rem;
  font-weight:800;
  letter-spacing:.08em;
}
.offer-snapshot-banner strong{
  font-size:1rem;
}
.offer-snapshot-banner span{
  font-size:.76rem;
}
[data-offer-snapshot-active] input:disabled,
[data-offer-snapshot-active] select:disabled,
[data-offer-snapshot-active] textarea:disabled{
  opacity:1;
  color:inherit;
  -webkit-text-fill-color:currentColor;
  cursor:default;
}
[data-offer-snapshot-active] button:disabled{
  opacity:.4;
}

/* Session inactivity countdown */
.session-timer{
  display:grid;
  grid-template-columns:28px minmax(0,1fr) auto;
  align-items:center;
  gap:8px;
  padding:9px 10px;
  border:1px solid rgba(122,98,70,.16);
  border-radius:14px;
  background:rgba(255,255,255,.72);
  color:var(--ink);
  text-align:left;
  transition:background-color .2s ease,border-color .2s ease,color .2s ease;
}
.session-timer__icon{
  width:28px;
  height:28px;
  display:grid;
  place-items:center;
  border-radius:50%;
  background:rgba(155,111,69,.1);
  color:var(--accent-dark);
}
.session-timer__icon svg{width:17px;height:17px}
.session-timer__copy{display:grid;gap:1px;min-width:0}
.session-timer__copy > span{font-size:.68rem;font-weight:700;line-height:1.2}
.session-timer__copy small{color:var(--muted);font-size:.61rem;line-height:1.2}
.session-timer__countdown{
  min-width:46px;
  color:var(--accent-dark);
  font-family:ui-monospace,SFMono-Regular,Consolas,monospace;
  font-size:.86rem;
  font-variant-numeric:tabular-nums;
  letter-spacing:.02em;
  text-align:right;
}
.session-timer.is-expiring{
  border-color:rgba(140,59,53,.38);
  background:#fff0ed;
  color:#6f2925;
}
.session-timer.is-expiring .session-timer__icon{background:rgba(140,59,53,.12);color:var(--danger)}
.session-timer.is-expiring .session-timer__copy small,
.session-timer.is-expiring .session-timer__countdown{color:var(--danger)}
.session-timer.is-expired{opacity:.78}

@media (max-width:1100px){
  .session-timer{max-width:300px;width:100%;justify-self:center}
}


/* v13 section title centering + dashboard row centering */
.event-block > .panel-head{
  display:flex !important;
  align-items:center !important;
  gap:10px !important;
  flex-wrap:nowrap;
}
.event-block > .panel-head > .section-title-input,
.event-block > .panel-head > .section-title-display,
.event-block > .panel-head > h4{
  flex:0 1 auto;
  width:auto;
  min-width:220px;
  max-width:min(100%, calc(100% - 210px));
  margin:0;
}
.section-title-input,
.section-title-display,
.event-block h4{
  border-radius:13px;
  border:2px solid rgba(21,130,92,.95);
  background:rgba(255,255,255,.78);
  color:#0d2834;
  text-transform:uppercase;
  overflow-wrap:anywhere;
  word-break:break-word;
}
.section-title-input{
  min-height:36px !important;
  padding:0 12px !important;
  line-height:34px !important;
  white-space:pre-wrap;
  overflow:hidden;
  resize:none;
}
.section-title-input.is-multiline{
  padding:7px 12px !important;
  line-height:1.12 !important;
}
.section-title-display,
.event-block h4{
  display:flex;
  align-items:center;
  min-height:36px !important;
  padding:0 12px !important;
  line-height:1.1 !important;
}
.section-head-actions{
  margin-left:auto;
  flex:0 0 auto;
}
.section-color-control{
  min-height:34px !important;
  padding:3px 9px !important;
}
.section-color-control input[type="color"]{
  width:22px !important;
  height:22px !important;
}
.section-head-actions .button.button-small{
  min-height:34px !important;
  padding:6px 10px !important;
}
.section-move-actions .button{
  width:30px !important;
  min-width:30px !important;
  height:30px !important;
}

.dashboard-events-table th,
.dashboard-events-table td{
  text-align:center;
  vertical-align:middle !important;
}
.dashboard-events-table td{
  padding-top:12px;
  padding-bottom:12px;
}
.dashboard-events-table__actions{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  white-space:nowrap;
}
.dashboard-events-table__actions form{
  margin:0;
}
.dashboard-events-table__delete{
  min-height:32px;
  padding:7px 12px !important;
  font-size:.82rem !important;
}

@media (max-width:1280px){
  .event-block > .panel-head{
    flex-wrap:wrap;
    align-items:flex-start !important;
  }
  .event-block > .panel-head > .section-title-input,
  .event-block > .panel-head > .section-title-display,
  .event-block > .panel-head > h4{
    max-width:100%;
  }
}

/* v14 top-level section colors + title sizing + dashboard action centering */
.panel-head--section-controls{
  align-items:flex-start;
}
.panel-head--section-controls .section-head-actions--top-level{
  margin-left:auto;
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:8px;
}
.event-section-surface{
  padding:18px;
  border-radius:26px;
  border:1px solid rgba(122,98,70,.12);
  background:var(--section-custom-bg, rgba(255,255,255,.36));
  box-shadow:inset 0 1px 0 rgba(255,255,255,.35);
}
.event-section-surface.has-custom-section-color{
  background:var(--section-custom-bg, rgba(255,255,255,.36)) !important;
  border-color:var(--section-custom-border, rgba(122,98,70,.18)) !important;
}
.event-section--notes .event-section-surface .form-grid,
.event-section--todo .event-section-surface .todo-grid,
.event-section--summary .event-section-surface .summary-grid,
.event-section--summary .event-section-surface .settings-grid{
  margin:0;
}
#section-title-measure{
  position:absolute;
  left:-9999px;
  top:-9999px;
  visibility:hidden;
  white-space:pre;
  pointer-events:none;
}
.event-block > .panel-head > .section-title-input,
.event-block > .panel-head > .section-title-display,
.event-block > .panel-head > h4{
  min-width:0 !important;
}
.section-title-display,
.event-block h4{
  width:max-content;
  max-width:min(100%, calc(100% - 210px));
  justify-content:flex-start;
}
.section-title-input,
.section-title-display,
.event-block h4{
  align-self:center;
}
.section-title-input,
.section-title-display,
.event-block h4,
.event-block h4 span{
  vertical-align:middle;
}
.dashboard-events-table{
  table-layout:fixed;
}
.dashboard-events-table th,
.dashboard-events-table td{
  vertical-align:middle !important;
}
.dashboard-events-table__actions-wrap{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  white-space:nowrap;
}
.dashboard-events-table__actions-wrap form{
  margin:0;
}
.dashboard-events-table__delete{
  min-height:28px;
  padding:5px 10px !important;
  font-size:.78rem !important;
}
@media (max-width:1280px){
  .section-title-display,
  .event-block h4{
    max-width:100%;
  }
}
@media (max-width:1100px){
  .panel-head--section-controls{
    flex-wrap:wrap;
  }
  .panel-head--section-controls .section-head-actions--top-level{
    margin-left:0;
    width:100%;
    justify-content:flex-start;
  }
  .event-section-surface{
    padding:16px;
  }
}


/* v15 dashboard actions + flat section backgrounds */
.event-section--header{background:#f7f1ea !important}
.event-section--notes{background:#f8f1e6 !important}
.event-section--todo{background:#f1eefb !important}
.event-section--summary{background:#eef4dd !important}
.event-section--costs{background:#fceeeb !important}
.event-section--sales{background:#ebf3f8 !important}
.event-section--staff{background:#ecf6f1 !important}

.event-block > .panel-head > .section-title-input,
.event-block > .panel-head > .section-title-display,
.event-block > .panel-head > h4{
  display:flex !important;
  align-items:center !important;
  min-height:36px !important;
  padding-top:0 !important;
  padding-bottom:0 !important;
}
.section-title-input,
.section-title-display,
.event-block h4{
  line-height:1 !important;
}
.section-title-input.is-multiline,
.section-title-display.is-multiline,
.event-block h4.is-multiline{
  min-height:36px !important;
  padding-top:7px !important;
  padding-bottom:7px !important;
  line-height:1.12 !important;
  align-items:flex-start !important;
}

.dashboard-events-table{
  table-layout:auto !important;
}
.dashboard-events-table tbody td{
  padding-top:16px !important;
  padding-bottom:16px !important;
  vertical-align:middle !important;
}
.dashboard-events-table__actions{
  text-align:center;
}
.dashboard-events-table__actions-wrap{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  gap:8px !important;
  white-space:nowrap;
}
.dashboard-events-table__actions-wrap form{
  display:inline-flex;
  align-items:center;
  margin:0;
}
.dashboard-events-table__action-pill{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:34px;
  padding:7px 14px;
  border-radius:999px;
  border:1px solid transparent;
  font-size:.82rem;
  font-weight:700;
  line-height:1;
  white-space:nowrap;
}
.dashboard-events-table__action-pill--detail{
  background:#eef4dd;
  border-color:#b5cfa1;
  color:#2b4d1f;
}
.dashboard-events-table__action-pill--delete{
  background:linear-gradient(135deg,var(--danger),#b14d45);
  border-color:#a84d46;
  color:#fff;
  cursor:pointer;
  box-shadow:none;
}
.dashboard-events-table__action-pill--delete:hover{
  transform:none;
}

/* v17 saved client picker + deterministic section title alignment */
.inline-field-stack{
  display:grid;
  gap:8px;
}
.inline-field-stack select,
.inline-field-stack input{
  width:100%;
}

.event-block > .panel-head > .section-title-input,
.event-block > .panel-head > .section-title-display{
  flex:0 1 auto !important;
  width:auto;
  max-width:calc(100% - 210px);
  align-self:center !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:flex-start !important;
  white-space:normal !important;
  overflow-wrap:anywhere;
  word-break:break-word;
  vertical-align:middle;
}

.section-title-display,
.section-title-input{
  margin:0;
  line-height:1.08 !important;
}

.section-title-display.is-multiline,
.section-title-input.is-multiline{
  align-items:flex-start !important;
}

/* v18 section shell colors + stronger title vertical centering */
.event-section.has-custom-panel-color{
  background:var(--section-panel-bg) !important;
  border-color:var(--section-panel-border, rgba(155,111,69,.18)) !important;
}

.section-head-actions--top-level{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:8px;
  flex-wrap:wrap;
}

.section-color-control--shell span{
  min-width:auto;
}

.event-block > .panel-head > .section-title-input{
  display:block !important;
  box-sizing:border-box;
  min-height:40px !important;
  height:40px;
  padding:8px 14px 7px !important;
  line-height:1.1 !important;
  vertical-align:middle;
}

.event-block > .panel-head > .section-title-input.is-multiline{
  height:auto;
  padding:9px 14px !important;
  line-height:1.14 !important;
}

.event-block > .panel-head > .section-title-display,
.event-block > .panel-head > h4{
  display:flex !important;
  align-items:center !important;
  min-height:40px !important;
  padding:0 14px !important;
  line-height:1.1 !important;
}

.event-block > .panel-head > .section-title-display.is-multiline,
.event-block > .panel-head > h4.is-multiline{
  align-items:flex-start !important;
  padding-top:9px !important;
  padding-bottom:9px !important;
}

.template-apply-existing{padding:10px 14px;border:1px solid var(--line);border-radius:999px;background:rgba(255,255,255,.86);align-items:center}.template-apply-existing input{width:auto;margin:0}.template-apply-existing span{font-weight:600;color:var(--ink)}.template-apply-date{display:grid;gap:6px;padding:8px 14px;border:1px solid var(--line);border-radius:20px;background:rgba(255,255,255,.86);min-width:190px}.template-apply-date span{font-weight:600;color:var(--ink);font-size:.88rem}.template-apply-date input{min-width:160px;padding:10px 12px;border-radius:14px}


/* v21 centered section titles + centered sidebar account */
.event-block > .panel-head > .section-title-input,
.event-block > .panel-head > .section-title-display,
.event-block > .panel-head > h4{
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  text-align:center !important;
}
.event-block > .panel-head > .section-title-input{
  text-align:center !important;
  padding-left:14px !important;
  padding-right:14px !important;
}
.event-block > .panel-head > .section-title-input.is-multiline,
.event-block > .panel-head > .section-title-display.is-multiline,
.event-block > .panel-head > h4.is-multiline{
  justify-content:center !important;
  text-align:center !important;
}
.sidebar-account{
  text-align:center;
}
.profile-card{
  justify-items:center;
  text-align:center;
}
.profile-card__name{
  display:block;
  width:100%;
  text-align:center;
  line-height:1.25;
}
.sidebar-account .badge{
  justify-self:center;
}
.sidebar-account form{
  display:block;
}
.sidebar-account .button-full{
  justify-content:center;
}

/* v22 compact application interface */
html{font-size:var(--app-font-size,14px)}
html.app-font-size-12{--app-font-size:12px}
html.app-font-size-13{--app-font-size:13px}
html.app-font-size-14{--app-font-size:14px}
html.app-font-size-15{--app-font-size:15px}
html.app-font-size-16{--app-font-size:16px}
body:not(.auth-page--login){font-size:.94rem;line-height:1.42}
body:not(.auth-page--login) .shell{grid-template-columns:232px minmax(0,1fr) !important}
body:not(.auth-page--login) .sidebar{padding:14px 12px;gap:14px}
body:not(.auth-page--login) .brand{gap:10px}
body:not(.auth-page--login) .brand-mark{width:44px;height:44px}
body:not(.auth-page--login) .brand-mark--image{padding:6px}
body:not(.auth-page--login) .brand strong{font-size:.9rem;line-height:1.18}
body:not(.auth-page--login) .eyebrow,
body:not(.auth-page--login) small.eyebrow{font-size:.64rem;letter-spacing:.14em;margin-bottom:.5rem}
body:not(.auth-page--login) .nav{gap:2px}
body:not(.auth-page--login) .nav a{padding:8px 10px;border-radius:11px;font-size:.86rem}
body:not(.auth-page--login) .sidebar-account{gap:8px;padding-top:8px}
body:not(.auth-page--login) .profile-card{padding:10px 12px;border-radius:14px}
body:not(.auth-page--login) .profile-card__name{font-size:.86rem}
body:not(.auth-page--login) .badge{padding:5px 9px;font-size:.7rem}
body:not(.auth-page--login) .content{padding:24px 28px 34px}
body:not(.auth-page--login) .page-header{gap:12px;margin-bottom:17px}
body:not(.auth-page--login) .page-header h1{font-size:clamp(2.15rem,3.5vw,3.35rem)}
body:not(.auth-page--login) h2{font-size:clamp(1.65rem,2.6vw,2.25rem)}
body:not(.auth-page--login) h3{font-size:1.38rem}
body:not(.auth-page--login) .panel{padding:16px;border-radius:19px}
body:not(.auth-page--login) .panel-head{gap:12px;margin-bottom:12px}
body:not(.auth-page--login) .hero-panel{grid-template-columns:1.45fr .8fr;gap:16px;padding:22px;margin-bottom:16px;border-radius:24px}
body:not(.auth-page--login) .hero-panel p{margin:.7rem 0 0}
body:not(.auth-page--login) .hero-metrics{gap:10px}
body:not(.auth-page--login) .hero-metrics div,
body:not(.auth-page--login) .stat-card{padding:12px 14px;border-radius:15px}
body:not(.auth-page--login) .hero-metrics strong,
body:not(.auth-page--login) .stat-card strong{font-size:1.35rem}
body:not(.auth-page--login) .grid{gap:12px;margin-bottom:12px}
body:not(.auth-page--login) .button,
body:not(.auth-page--login) .link-button{gap:6px;padding:8px 13px;font-size:.84rem;box-shadow:0 7px 16px rgba(155,111,69,.16)}
body:not(.auth-page--login) .button-small{padding:7px 10px;font-size:.78rem}
body:not(.auth-page--login) .button-full{min-height:36px}
body:not(.auth-page--login) .alert{margin-bottom:12px;padding:11px 14px;border-radius:13px}
body:not(.auth-page--login) .filters,
body:not(.auth-page--login) .form-grid,
body:not(.auth-page--login) .stack{gap:10px}
body:not(.auth-page--login) .stack-lg{gap:16px}
body:not(.auth-page--login) label{gap:5px}
body:not(.auth-page--login) input,
body:not(.auth-page--login) select,
body:not(.auth-page--login) textarea{padding:7px 9px;border-radius:10px;font-size:.83rem;line-height:1.22}
body:not(.auth-page--login) textarea{min-height:76px}
body:not(.auth-page--login) table{font-size:.8rem}
body:not(.auth-page--login) thead th{padding:8px 9px;font-size:.72rem}
body:not(.auth-page--login) tbody td{padding:9px}
body:not(.auth-page--login) .sub-row td{font-size:.78rem}
body:not(.auth-page--login) .small-note{font-size:.76rem}
body:not(.auth-page--login) .definition-list{gap:8px}
body:not(.auth-page--login) .definition-list div{padding:7px 0}
body:not(.auth-page--login) .event-form{gap:12px !important}
body:not(.auth-page--login) .event-form-section{padding:16px 16px 18px}
body:not(.auth-page--login) .event-header-card{gap:14px;padding:16px;border-radius:18px}
body:not(.auth-page--login) .event-header-logo{width:58px;height:58px;padding:8px}
body:not(.auth-page--login) .event-block{gap:10px;padding:13px;border-radius:16px}
body:not(.auth-page--login) .event-table{border-spacing:0 5px}
body:not(.auth-page--login) .event-table thead th{padding:0 7px 5px;font-size:.67rem !important}
body:not(.auth-page--login) .event-table tbody td{padding:6px 7px}
body:not(.auth-page--login) .event-table input[type="text"],
body:not(.auth-page--login) .event-table input[type="number"],
body:not(.auth-page--login) .event-table input[type="datetime-local"],
body:not(.auth-page--login) .event-table input[type="time"],
body:not(.auth-page--login) .event-table select{padding:6px 7px;font-size:.69rem !important}
body:not(.auth-page--login) .summary-grid{gap:10px}
body:not(.auth-page--login) .summary-card{min-height:82px;padding:10px 12px;border-radius:14px}
body:not(.auth-page--login) .summary-card small{font-size:.74rem}
body:not(.auth-page--login) .summary-card strong{font-size:1.18rem}
body:not(.auth-page--login) .section-total{padding:10px 12px;border-radius:13px}
body:not(.auth-page--login) .section-total strong{font-size:1rem}

@media (max-width:1100px){
  body:not(.auth-page--login) .shell{grid-template-columns:1fr !important}
  body:not(.auth-page--login) .sidebar{position:static;height:auto;max-height:none;overflow:visible;padding:14px}
  body:not(.auth-page--login) .content{padding:18px}
  body:not(.auth-page--login) .hero-panel{grid-template-columns:1fr}
}

/* ServiceDesk-inspired login */
.auth-page--login{
  min-height:100vh;
  display:grid;
  place-items:center;
  padding:28px;
  overflow-x:hidden;
  background:
    radial-gradient(circle at 8% 12%,rgba(155,111,69,.13),transparent 29%),
    radial-gradient(circle at 92% 88%,rgba(124,85,50,.1),transparent 31%),
    #f3eee7;
}
.login-shell{
  position:relative;
  z-index:1;
  width:min(1120px,100%);
  min-height:min(720px,calc(100vh - 56px));
  display:grid;
  grid-template-columns:minmax(0,1.08fr) minmax(410px,.92fr);
  overflow:hidden;
  border:1px solid rgba(92,72,50,.12);
  border-radius:30px;
  background:#fff;
  box-shadow:0 30px 80px rgba(49,37,24,.16);
}
.login-intro{
  position:relative;
  min-width:0;
  padding:34px 38px;
  display:flex;
  flex-direction:column;
  color:#fff;
  overflow:hidden;
  background:
    radial-gradient(circle at 82% 18%,rgba(201,153,105,.2),transparent 26%),
    linear-gradient(145deg,#2c2925 0%,#4a4037 58%,#6a5240 100%);
}
.login-intro::after{
  content:"";
  position:absolute;
  right:-130px;
  bottom:-170px;
  width:420px;
  height:420px;
  border:1px solid rgba(255,255,255,.11);
  border-radius:50%;
  box-shadow:0 0 0 48px rgba(255,255,255,.025),0 0 0 96px rgba(255,255,255,.018);
  pointer-events:none;
}
.login-brand{
  position:relative;
  z-index:1;
  display:flex;
  align-items:center;
  gap:13px;
}
.login-brand__logo{
  width:48px;
  height:48px;
  display:grid;
  place-items:center;
  padding:7px;
  border-radius:15px;
  background:#fff;
  box-shadow:0 12px 28px rgba(0,0,0,.15);
}
.login-brand__logo img{display:block;width:100%;height:100%;object-fit:contain}
.login-brand__text{display:grid;gap:2px}
.login-brand__text small{
  color:#dcb486;
  font-size:.66rem;
  font-weight:700;
  letter-spacing:.16em;
  text-transform:uppercase;
}
.login-brand__text strong{font-size:.98rem;line-height:1.2}
.login-intro__content{
  position:relative;
  z-index:1;
  max-width:570px;
  margin:auto 0;
  padding:56px 0 34px;
}
.login-intro__eyebrow{
  display:block;
  margin-bottom:16px;
  color:#e4b987;
  font-size:.7rem;
  font-weight:700;
  letter-spacing:.2em;
  text-transform:uppercase;
}
.login-intro h1{
  max-width:9ch;
  color:#fff;
  font-size:clamp(3rem,5.2vw,5.1rem);
  line-height:.92;
  letter-spacing:-.025em;
}
.login-intro__content > p{
  max-width:48ch;
  margin:24px 0 0;
  color:rgba(255,255,255,.73);
  font-size:1rem;
  line-height:1.65;
}
.login-benefits{
  display:grid;
  gap:13px;
  max-width:500px;
  margin-top:32px;
}
.login-benefit{
  display:flex;
  align-items:center;
  gap:13px;
  padding:13px 15px;
  border:1px solid rgba(255,255,255,.11);
  border-radius:16px;
  background:rgba(255,255,255,.055);
  backdrop-filter:blur(10px);
}
.login-benefit__icon{
  flex:0 0 auto;
  width:37px;
  height:37px;
  display:grid;
  place-items:center;
  border-radius:12px;
  color:#efc493;
  background:rgba(255,255,255,.09);
}
.login-benefit__icon svg{width:20px;height:20px}
.login-benefit > span:last-child{display:grid;gap:1px}
.login-benefit strong{font-size:.84rem}
.login-benefit small{color:rgba(255,255,255,.62);font-size:.73rem;line-height:1.35}
.login-panel{
  position:relative;
  min-width:0;
  display:grid;
  place-items:center;
  padding:48px 52px;
  background:linear-gradient(180deg,#fff 0%,#fcfaf7 100%);
}
.login-panel__inner{width:min(390px,100%)}
.login-header{margin-bottom:28px}
.login-security{
  display:inline-flex;
  align-items:center;
  margin-bottom:16px;
  padding:6px 10px;
  border:1px solid #eadac8;
  border-radius:999px;
  color:#865d38;
  background:#fbf5ee;
  font-size:.66rem;
  font-weight:700;
  letter-spacing:.11em;
  text-transform:uppercase;
}
.login-header h2{
  font-size:clamp(2.45rem,4vw,3.4rem);
  line-height:.95;
  letter-spacing:-.02em;
}
.login-header p{margin:13px 0 0;color:var(--muted);font-size:.88rem}
.login-panel .alert{margin:0 0 18px;padding:11px 13px;border-radius:12px;font-size:.8rem}
.login-form{display:grid;gap:16px}
.login-field{display:grid;gap:7px}
.login-field > span,
.login-field__heading{color:#2a2520;font-size:.8rem;font-weight:600}
.login-field > span small{color:var(--muted);font-size:.7rem;font-weight:500}
.login-field__heading{display:flex;align-items:center;justify-content:space-between;gap:12px}
.login-field__heading a{color:var(--accent-dark);font-size:.72rem;font-weight:600}
.login-field__heading a:hover{text-decoration:underline;text-underline-offset:3px}
.login-field input{
  min-height:47px;
  padding:11px 13px;
  border:1px solid #dfd5c8;
  border-radius:12px;
  background:#fff;
  color:var(--ink);
  font-size:.9rem;
  line-height:1.2;
  transition:border-color .18s ease,box-shadow .18s ease,background .18s ease;
}
.login-field input:hover{border-color:#cbb8a4}
.login-field input:focus{
  outline:none;
  border-color:var(--accent);
  box-shadow:0 0 0 4px rgba(155,111,69,.12);
}
.login-field input::placeholder{color:#aaa096}
.login-password-control{
  position:relative;
  display:block;
  min-width:0;
  color:inherit;
  font:inherit;
}
.login-password-control input{
  width:100%;
  padding-right:48px;
}
.login-password-control__toggle{
  position:absolute;
  top:50%;
  right:7px;
  display:grid;
  width:36px;
  height:36px;
  place-items:center;
  padding:0;
  border:0;
  border-radius:9px;
  background:transparent;
  color:#76685b;
  cursor:pointer;
  transform:translateY(-50%);
  transition:background .18s ease,color .18s ease,box-shadow .18s ease;
}
.login-password-control__toggle:hover{
  background:rgba(155,111,69,.1);
  color:var(--accent-dark);
}
.login-password-control__toggle:focus-visible{
  outline:none;
  box-shadow:0 0 0 3px rgba(155,111,69,.18);
}
.login-password-control__icon{
  width:21px;
  height:21px;
}
.login-password-control__icon--hide{display:none}
.login-password-control__toggle[aria-pressed="true"] .login-password-control__icon--show{display:none}
.login-password-control__toggle[aria-pressed="true"] .login-password-control__icon--hide{display:block}
.login-submit{
  min-height:47px;
  margin-top:3px;
  border-radius:12px;
  font-size:.87rem;
  box-shadow:0 12px 24px rgba(124,85,50,.2);
}
.login-authorized{
  margin:20px 0 0;
  color:#958a7e;
  font-size:.68rem;
  line-height:1.45;
  text-align:center;
}

@media (max-width:900px){
  .auth-page--login{padding:18px}
  .login-shell{min-height:auto;grid-template-columns:1fr;border-radius:24px}
  .login-intro{padding:24px 26px}
  .login-intro__content{padding:42px 0 12px}
  .login-intro h1{max-width:none;font-size:clamp(2.7rem,10vw,4.2rem)}
  .login-benefits{grid-template-columns:repeat(2,minmax(0,1fr));margin-top:24px}
  .login-benefit{align-items:flex-start}
  .login-panel{padding:38px 28px}
}
@media (max-width:620px){
  .auth-page--login{padding:0;background:#fff}
  .login-shell{width:100%;min-height:100vh;border:0;border-radius:0;box-shadow:none}
  .login-intro{padding:20px 20px 24px}
  .login-intro__content{padding:34px 0 6px}
  .login-intro__content > p{margin-top:16px;font-size:.86rem}
  .login-benefits{display:none}
  .login-panel{padding:34px 22px 42px}
  .login-header{margin-bottom:24px}
}

/* v23 Comfortaa + scrollable dashboard news */
body,
button,
input,
select,
textarea{
  font-family:'Comfortaa',system-ui,sans-serif;
}

h1,h2,h3,h4,h5,h6,
.hero-metrics strong,
.stat-card strong,
.summary-card strong,
.section-total strong,
.collaboration-modal__header strong{
  font-family:'Comfortaa',system-ui,sans-serif;
}

.dashboard-overview{
  grid-template-columns:minmax(0,1.55fr) minmax(250px,.65fr);
  align-items:stretch;
}

.dashboard-news{
  min-width:0;
  display:flex;
  flex-direction:column;
  gap:12px;
}

.dashboard-news__header{
  position:relative;
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:16px;
}

.dashboard-news__header .eyebrow{
  margin-bottom:.35rem !important;
}

.dashboard-news__header h2{
  font-size:1.55rem !important;
  line-height:1.15;
}

.dashboard-news__feed{
  min-height:0;
  max-height:238px;
  overflow-y:auto;
  overscroll-behavior:contain;
  display:grid;
  gap:9px;
  padding:1px 7px 1px 1px;
  scrollbar-width:thin;
  scrollbar-color:rgba(155,111,69,.55) rgba(155,111,69,.08);
}

.dashboard-news__feed::-webkit-scrollbar{width:8px}
.dashboard-news__feed::-webkit-scrollbar-track{background:rgba(155,111,69,.08);border-radius:999px}
.dashboard-news__feed::-webkit-scrollbar-thumb{background:rgba(155,111,69,.5);border-radius:999px}

.news-card__columns{
  position:sticky;
  z-index:2;
  top:0;
  display:grid;
  grid-template-columns:minmax(0,1fr) 14px;
  align-items:center;
  gap:10px;
  padding:3px 12px 2px;
  background:rgba(255,253,250,.96);
  color:#8a7c6f;
  font-size:.58rem;
  font-weight:700;
  letter-spacing:.07em;
  line-height:1.25;
  text-transform:uppercase;
}

.news-card__columns-line{
  min-width:0;
  display:grid;
  grid-template-columns:minmax(90px,28%) minmax(155px,34%) minmax(0,1fr);
}

.news-card__columns-line>span{
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}

.news-card__columns-line>span:nth-child(2),
.news-card__columns-line>span:nth-child(3){
  padding-left:12px;
}

.dashboard-news__empty{
  min-height:120px;
  display:grid;
  place-content:center;
  gap:5px;
  padding:20px;
  text-align:center;
  color:var(--muted);
  border:1px dashed var(--line);
  border-radius:16px;
  background:rgba(255,255,255,.46);
}

.dashboard-news__empty strong{
  color:var(--ink);
  font-size:.9rem;
}

.dashboard-news__empty span{
  font-size:.78rem;
}

.news-card{
  padding:0;
  border:1px solid var(--line);
  border-radius:12px;
  background:rgba(255,255,255,.78);
  transition:border-color .16s ease,background .16s ease,box-shadow .16s ease;
}

.news-card.is-unread{
  border-color:rgba(155,111,69,.48);
  background:#fffaf4;
}

.news-card__open{
  width:100%;
  min-height:44px;
  display:grid;
  grid-template-columns:minmax(0,1fr) 14px;
  align-items:center;
  gap:10px;
  padding:9px 12px;
  border:0;
  border-radius:inherit;
  background:transparent;
  color:var(--ink);
  text-align:left;
  cursor:pointer;
  box-shadow:none;
}

.news-card__open:hover{
  background:rgba(155,111,69,.07);
}

.news-card__open:focus-visible{
  outline:2px solid rgba(155,111,69,.7);
  outline-offset:2px;
}

.news-card__line{
  min-width:0;
  display:grid;
  grid-template-columns:minmax(90px,28%) minmax(155px,34%) minmax(0,1fr);
  align-items:center;
}

.news-card__title{
  min-width:0;
  display:block;
  overflow:hidden;
  padding-right:12px;
  color:var(--ink);
  font-size:.78rem;
  font-weight:700;
  line-height:1.35;
  text-overflow:ellipsis;
  white-space:nowrap;
}

.news-card.is-read .news-card__title{
  font-weight:600;
}

.news-card__creator{
  min-width:0;
  display:flex;
  align-items:center;
  gap:5px;
  overflow:hidden;
  padding-left:12px;
  border-left:1px solid var(--line);
  color:#786b5e;
  font-size:.63rem;
  line-height:1.35;
  white-space:nowrap;
}

.news-card__creator>span:first-child{
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
}

.news-card__creator time{
  flex:0 0 auto;
  color:var(--muted);
}

.news-card__excerpt{
  min-width:0;
  overflow:hidden;
  padding-left:12px;
  border-left:1px solid var(--line);
  color:var(--muted);
  font-size:.7rem;
  line-height:1.35;
  text-overflow:ellipsis;
  white-space:nowrap;
}

.news-card__arrow{
  color:var(--accent-dark);
  font-size:1.25rem;
  line-height:1;
  text-align:center;
}

.news-card__meta{
  display:flex;
  flex-wrap:wrap;
  gap:5px;
  margin:4px 0 0;
  color:var(--muted);
  font-size:.66rem;
  line-height:1.4;
}

.news-dialog{
  width:min(920px,calc(100vw - 32px));
  max-width:920px;
  max-height:min(88vh,900px);
  margin:auto;
  padding:0;
  overflow:hidden;
  border:1px solid rgba(121,95,66,.25);
  border-radius:22px;
  background:#fff;
  color:var(--ink);
  box-shadow:0 30px 80px rgba(35,26,18,.3);
}

.news-dialog--composer{
  width:min(1100px,calc(100vw - 32px));
  max-width:1100px;
}

.news-dialog[open]{
  display:flex;
  flex-direction:column;
}

.news-dialog::backdrop{
  background:rgba(34,27,21,.58);
  backdrop-filter:blur(4px);
}

.news-dialog__header{
  flex:0 0 auto;
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:18px;
  padding:20px 22px 17px;
  border-bottom:1px solid var(--line);
  background:linear-gradient(135deg,#fff 0%,#fff9f2 100%);
}

.news-dialog__header .eyebrow{
  margin-bottom:5px!important;
}

.news-dialog h3{
  margin:0;
  font-size:1.35rem!important;
  line-height:1.25;
}

.news-dialog__close{
  width:34px;
  height:34px;
  min-height:34px;
  flex:0 0 34px;
  display:grid;
  place-items:center;
  padding:0;
  border:1px solid var(--line);
  border-radius:50%;
  background:#fff;
  color:var(--ink);
  font:inherit;
  font-size:1.3rem;
  line-height:1;
  cursor:pointer;
}

.news-dialog__close:hover{
  border-color:rgba(155,111,69,.55);
  background:#fff7ed;
}

.news-dialog__body{
  min-height:0;
  overflow:auto;
  padding:18px 22px 22px;
}

.news-dialog .news-composer__form{
  position:static;
  width:100%;
  max-width:none;
  padding:0;
  border:0;
  border-radius:0;
  background:transparent;
  box-shadow:none;
}

.news-dialog__content{
  margin-top:13px;
  color:#4d463e;
  font-size:.82rem;
  line-height:1.55;
  overflow-wrap:anywhere;
}

.news-read-confirmation{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  margin-top:18px;
  padding:12px 14px;
  border:1px solid rgba(155,111,69,.28);
  border-radius:13px;
  background:#fff8ef;
}

.news-read-confirmation label{
  display:flex;
  align-items:center;
  gap:9px;
  margin:0;
  font-size:.78rem;
  font-weight:700;
  cursor:pointer;
}

.news-read-confirmation input{
  width:18px;
  height:18px;
  margin:0;
  accent-color:var(--accent);
}

.news-read-confirmation input:disabled{
  cursor:wait;
}

.news-read-confirmation__status{
  color:var(--success);
  font-size:.68rem;
  text-align:right;
}

.news-read-confirmation__status.is-error{
  color:var(--danger);
}

.news-readers{
  margin-top:15px;
  padding:13px 14px;
  border:1px solid var(--line);
  border-radius:13px;
  background:var(--paper-soft);
}

.news-readers__header{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
}

.news-readers__header h4{
  margin:0;
  font-size:.8rem;
}

.news-readers__header span{
  min-width:26px;
  padding:3px 8px;
  border-radius:999px;
  background:#fff;
  color:var(--accent-dark);
  font-size:.68rem;
  font-weight:700;
  text-align:center;
}

.news-readers__list{
  max-height:190px;
  display:grid;
  gap:6px;
  margin:10px 0 0;
  padding:0;
  overflow:auto;
  list-style:none;
}

.news-readers__list[hidden],
.news-readers__empty[hidden]{
  display:none!important;
}

.news-readers__list li{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  padding:8px 9px;
  border-radius:9px;
  background:#fff;
}

.news-readers__list li>span{
  min-width:0;
  display:grid;
  gap:1px;
}

.news-readers__list strong{
  overflow:hidden;
  font-size:.72rem;
  text-overflow:ellipsis;
  white-space:nowrap;
}

.news-readers__list small,
.news-readers__list time{
  color:var(--muted);
  font-size:.62rem;
}

.news-readers__list time{
  flex:0 0 auto;
}

.news-readers__empty{
  margin:9px 0 0;
  color:var(--muted);
  font-size:.68rem;
}

body.has-open-news-dialog{
  overflow:hidden;
}

.news-card__actions{
  display:flex;
  align-items:flex-start;
  gap:7px;
  flex-wrap:wrap;
  margin-top:10px;
  padding-top:9px;
  border-top:1px solid rgba(229,218,203,.72);
}

.news-card__actions form{
  margin:0;
}

.news-dialog .news-edit__form{
  width:100%;
}

.news-composer{
  position:static;
}

.news-edit{
  position:relative;
}

.news-composer > summary,
.news-edit > summary{
  list-style:none;
}

.news-composer > summary::-webkit-details-marker,
.news-edit > summary::-webkit-details-marker{
  display:none;
}

.news-composer__form{
  position:absolute;
  z-index:30;
  top:calc(100% + 8px);
  right:0;
  left:0;
  width:100%;
  max-width:none;
  padding:15px;
  border:1px solid var(--line);
  border-radius:17px;
  background:#fff;
  box-shadow:0 22px 48px rgba(45,33,20,.18);
}

.news-composer__form label,
.news-edit__form label{
  font-size:.74rem;
  font-weight:600;
}

.news-composer__form textarea,
.news-edit__form textarea{
  min-height:90px !important;
  resize:vertical;
}

.news-edit{
  max-width:100%;
}

.news-edit__form{
  width:min(520px,100%);
  margin-top:9px;
  padding:11px;
  border:1px solid var(--line);
  border-radius:13px;
  background:var(--paper-soft);
}

.news-edit[open]{
  flex-basis:100%;
}

@media (max-width:1100px){
  .dashboard-overview{
    grid-template-columns:1fr !important;
  }
  .dashboard-news__feed{
    max-height:280px;
  }
}

@media (max-width:640px){
  .dashboard-news__header{
    align-items:stretch;
    flex-direction:column;
  }
  .news-composer__form{
    position:static;
    width:100%;
    margin-top:8px;
  }
  .dashboard-news__feed{
    max-height:320px;
  }
  .news-card__line,
  .news-card__columns-line{
    grid-template-columns:minmax(90px,40%) minmax(0,1fr);
  }
  .news-card__columns-line>span:nth-child(2){padding-left:8px}
  .news-card__columns-line>span:nth-child(3){display:none}
  .news-card__creator{
    min-width:0;
    max-width:none;
    padding-left:8px;
  }
  .news-card__excerpt{
    display:none;
  }
  .news-dialog{
    width:calc(100vw - 14px);
    max-height:94vh;
    border-radius:16px;
  }
  .news-dialog__header{
    padding:15px 16px 13px;
  }
  .news-dialog__body{
    padding:14px 16px 17px;
  }
  .news-read-confirmation{
    align-items:flex-start;
    flex-direction:column;
  }
  .news-read-confirmation__status{
    text-align:left;
  }
  .news-readers__list li{
    align-items:flex-start;
    flex-direction:column;
    gap:3px;
  }
}

/* CZ / EN language selector */
.language-switch{position:relative;z-index:80;flex:0 0 auto}
.language-switch__button{display:inline-flex;align-items:center;gap:7px;min-height:36px;padding:7px 11px;border:1px solid rgba(111,86,61,.35);border-radius:999px;background:rgba(255,255,255,.92);color:var(--ink);font:inherit;font-size:.78rem;font-weight:600;cursor:pointer;box-shadow:0 8px 20px rgba(54,39,24,.08)}
.language-switch__button:hover,.language-switch.is-open .language-switch__button{background:#fff;border-color:rgba(111,86,61,.58)}
.language-switch__flag,.language-switch__option-flag{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto}
.language-switch__flag{width:23px;height:16px}
.language-switch__flag-svg{display:block;width:23px;height:16px;border-radius:2px;box-shadow:0 0 0 1px rgba(20,25,36,.16);overflow:hidden}
.language-switch__flag[data-language-current-flag="cs"] .language-switch__flag-svg--en,
.language-switch__flag[data-language-current-flag="en"] .language-switch__flag-svg--cs{display:none}
.language-switch__current{min-width:20px;text-align:left}
.language-switch__chevron{font-size:.85rem;line-height:1;transition:transform .18s ease}
.language-switch.is-open .language-switch__chevron{transform:rotate(180deg)}
.language-switch__menu{position:absolute;right:0;top:calc(100% + 8px);display:none;min-width:174px;padding:7px;border:1px solid var(--line);border-radius:14px;background:#fff;box-shadow:0 18px 40px rgba(42,30,18,.16)}
.language-switch.is-open .language-switch__menu{display:grid;gap:3px}
.language-switch__option{display:grid;grid-template-columns:25px 28px 1fr;align-items:center;gap:8px;width:100%;padding:9px 10px;border:0;border-radius:10px;background:transparent;color:var(--ink);font:inherit;font-size:.8rem;text-align:left;text-decoration:none;cursor:pointer}
.language-switch__option:hover{background:rgba(155,111,69,.09)}
.language-switch__option.is-active{background:rgba(155,111,69,.13);color:#7d532e}
.language-switch__option-flag .language-switch__flag-svg{width:23px;height:16px}
.language-switch__option-code{font-weight:700;letter-spacing:.02em}
.language-switch__option-label{color:var(--muted);font-size:.68rem;white-space:nowrap}
.language-switch__option.is-active .language-switch__option-label{color:inherit;opacity:.72}
.auth-language-switch{position:absolute;top:22px;right:22px;z-index:100}
.auth-page--login .auth-language-switch .language-switch__button{background:rgba(255,255,255,.94)}

/* Rich editor for dashboard news */
.news-editor-field{display:grid;gap:6px}
.news-editor-field__label{font-size:.74rem;font-weight:600}
.news-editor{position:relative;width:100%;min-width:0;overflow:visible;border:1px solid var(--line);border-radius:13px;background:#fff}
.news-editor:focus-within{border-color:rgba(155,111,69,.68);box-shadow:0 0 0 3px rgba(155,111,69,.11)}
.news-editor__toolbar{position:relative;display:flex;align-items:center;gap:4px;flex-wrap:wrap;padding:7px;border-bottom:1px solid var(--line);border-radius:12px 12px 0 0;background:#f8f4ef}
.news-editor__gallery-setting{display:inline-flex;align-items:center;gap:5px;min-height:30px;margin:0;padding:3px 5px 3px 8px;border:1px solid rgba(121,95,66,.2);border-radius:7px;background:#fff;color:#5f5145;font-size:.66rem;white-space:nowrap}
.news-editor__gallery-setting select{width:auto;min-width:38px;min-height:22px;margin:0;padding:1px 16px 1px 5px;border:1px solid rgba(121,95,66,.2);border-radius:5px;background-color:#fff;color:#312a23;font:inherit;box-shadow:none}
.news-editor__table-picker{position:relative;display:inline-flex}
.news-editor__table-menu[hidden]{display:none!important}
.news-editor__table-menu{position:absolute;z-index:90;top:calc(100% + 7px);left:0;width:max-content;min-width:236px;padding:10px;border:1px solid var(--line);border-radius:12px;background:#fff;box-shadow:0 18px 40px rgba(45,33,20,.2)}
.news-editor__table-picker-head{display:grid;gap:2px;margin-bottom:8px;color:#312a23}
.news-editor__table-picker-head strong{font-size:.72rem}
.news-editor__table-picker-head span{color:var(--muted);font-size:.62rem}
.news-editor__table-grid{display:grid;grid-template-columns:repeat(10,18px);gap:3px;touch-action:none;user-select:none}
.news-editor__table-cell{width:18px;height:18px;min-height:0;padding:0;border:1px solid #cdbda9;border-radius:2px;background:#fff;cursor:crosshair;box-shadow:none}
.news-editor__table-cell:hover,.news-editor__table-cell:focus-visible,.news-editor__table-cell.is-selected{border-color:#9b6f45;background:#ead8c2;outline:0}
.news-editor__image-tools[hidden]{display:none!important}
.news-editor__image-tools{display:grid;gap:6px;padding:7px 10px;border-bottom:1px solid var(--line);background:#fffaf4;color:#4e4034;font-size:.69rem}
.news-editor__image-tools-row{display:flex;align-items:center;gap:7px;flex-wrap:wrap}
.news-editor__image-tools-row>strong{font-size:.7rem;white-space:nowrap}
.news-editor__image-layout{align-items:stretch}
.news-editor__image-layout-group{display:flex;align-items:center;gap:5px;flex-wrap:wrap;padding:5px 6px;border:1px solid rgba(121,95,66,.16);border-radius:9px;background:#fff}
.news-editor__image-layout-group--wrap{border-color:rgba(155,111,69,.35);background:#fff7ed}
.news-editor__image-layout-label{color:#6f6154;font-size:.65rem;font-weight:700;white-space:nowrap}
.news-editor__image-resize-help{align-self:center;color:var(--muted);font-size:.62rem;line-height:1.35}
.news-editor__image-presets{display:flex;gap:4px;flex-wrap:wrap}
.news-editor__image-preset,.news-editor__image-reset,.news-editor__image-layout-button{min-height:27px;padding:4px 8px;border:1px solid rgba(121,95,66,.24);border-radius:7px;background:#fff;color:#312a23;font:inherit;font-size:.67rem;cursor:pointer}
.news-editor__image-preset:hover,.news-editor__image-reset:hover,.news-editor__image-layout-button:hover{border-color:rgba(121,95,66,.55);background:#f7ede2}
.news-editor__image-preset:disabled,.news-editor__image-reset:disabled,.news-editor__image-layout-button:disabled{opacity:.48;cursor:not-allowed}
.news-editor__image-preset.is-active,.news-editor__image-layout-button.is-active{border-color:var(--accent);background:var(--accent);color:#fff}
.news-editor__image-slider{display:flex;align-items:center;gap:6px;min-width:220px;margin:0}
.news-editor__image-slider>span{white-space:nowrap}
.news-editor__image-slider input[type=range]{width:130px;min-height:auto;margin:0;padding:0;border:0;background:transparent;box-shadow:none}
.news-editor__image-slider output{min-width:38px;text-align:right;font-weight:600}
.news-editor__surface img[data-editor-selected="1"]{outline:0;cursor:default}
.news-editor__image-resizer[hidden]{display:none!important}
.news-editor__image-resizer{position:absolute;z-index:35;box-sizing:border-box;border:1px solid #9b6f45;border-radius:10px;pointer-events:none}
.news-editor__image-resize-handle{position:absolute;width:12px;height:12px;min-width:12px;min-height:12px;padding:0;border:2px solid #fff;border-radius:50%;background:#9b6f45;box-shadow:0 1px 4px rgba(46,31,17,.32);pointer-events:auto;touch-action:none}
.news-editor__image-resize-handle--nw{top:-7px;left:-7px;cursor:nwse-resize}
.news-editor__image-resize-handle--ne{top:-7px;right:-7px;cursor:nesw-resize}
.news-editor__image-resize-handle--sw{bottom:-7px;left:-7px;cursor:nesw-resize}
.news-editor__image-resize-handle--se{right:-7px;bottom:-7px;cursor:nwse-resize}
body.is-resizing-news-image{cursor:nwse-resize;user-select:none}
.news-editor__tool,.news-editor__select,.news-editor__color{min-height:30px;border:1px solid rgba(121,95,66,.2);border-radius:7px;background:#fff;color:#312a23;font:inherit;font-size:.7rem;box-shadow:none}
.news-editor__tool{display:inline-flex;align-items:center;justify-content:center;min-width:30px;padding:5px 8px;cursor:pointer}
.news-editor__tool:hover{border-color:rgba(121,95,66,.48);background:#fffaf4}
.news-editor__tool:disabled{opacity:.55;cursor:wait}
.news-editor__select{width:auto;max-width:125px;padding:4px 23px 4px 7px}
.news-editor__select--size{max-width:85px}
.news-editor__color{position:relative;display:inline-grid;place-items:center;width:31px;padding:0;overflow:hidden;cursor:pointer;font-weight:700}
.news-editor__color input{position:absolute;inset:0;width:100%;height:100%;padding:0;border:0;opacity:0;cursor:pointer}
.news-editor__color--background{background:linear-gradient(180deg,#fff 0 58%,#fff2a8 58%)}
.news-editor__surface{width:100%;min-width:0;min-height:150px;max-height:350px;overflow:auto;padding:12px 13px;outline:0;color:#312b25;font-size:.79rem;line-height:1.55;white-space:normal}
.news-editor__surface:empty::before{content:attr(data-placeholder);color:#a39a91;pointer-events:none}
.news-editor__surface p{width:auto;max-width:none!important;margin:.35rem 0}
.news-editor__surface h2,.news-editor__surface h3,.news-editor__surface h4{margin:.7rem 0 .35rem;line-height:1.25}
.news-editor__surface h2{font-size:1.35rem!important}.news-editor__surface h3{font-size:1.13rem!important}.news-editor__surface h4{font-size:.98rem!important}
.news-editor__surface blockquote{margin:.6rem 0;padding:8px 12px;border-left:3px solid var(--accent);background:#faf5ef;color:#5c5147}
.news-editor__surface table,.rich-content table{width:100%;margin:.65rem 0;border-collapse:collapse}
.news-editor__surface th,.news-editor__surface td,.rich-content th,.rich-content td{padding:7px 8px;border:1px solid #d8cabb;vertical-align:top}
.news-editor__surface img,.rich-content img{max-width:100%;height:auto;border-radius:10px}
.news-editor__surface [data-image-gallery="1"],.rich-content [data-image-gallery="1"]{display:grid!important;width:100%;max-width:none;clear:both;grid-template-columns:repeat(3,minmax(0,1fr));gap:.6rem;margin:.65rem 0}
.news-editor__surface [data-image-gallery="1"][data-image-columns="1"],.rich-content [data-image-gallery="1"][data-image-columns="1"]{grid-template-columns:repeat(1,minmax(0,1fr))}
.news-editor__surface [data-image-gallery="1"][data-image-columns="2"],.rich-content [data-image-gallery="1"][data-image-columns="2"]{grid-template-columns:repeat(2,minmax(0,1fr))}
.news-editor__surface [data-image-gallery="1"][data-image-columns="3"],.rich-content [data-image-gallery="1"][data-image-columns="3"]{grid-template-columns:repeat(3,minmax(0,1fr))}
.news-editor__surface [data-image-gallery="1"][data-image-columns="4"],.rich-content [data-image-gallery="1"][data-image-columns="4"]{grid-template-columns:repeat(4,minmax(0,1fr))}
.news-editor__surface [data-image-gallery="1"][data-image-columns="5"],.rich-content [data-image-gallery="1"][data-image-columns="5"]{grid-template-columns:repeat(5,minmax(0,1fr))}
.news-editor__surface [data-image-gallery="1"][data-image-columns="6"],.rich-content [data-image-gallery="1"][data-image-columns="6"]{grid-template-columns:repeat(6,minmax(0,1fr))}
.news-editor__surface [data-image-gallery="1"]>img,.rich-content [data-image-gallery="1"]>img{float:none!important;display:block!important;width:100%!important;max-width:100%!important;height:auto;margin:0!important;clear:none!important;object-fit:contain}
.news-editor__surface img:not([style*="float"]):not([style*="inline-block"]),.rich-content img:not([style*="float"]):not([style*="inline-block"]){display:block;margin:.65rem auto}
.news-editor__surface img[data-image-layout="left"],.rich-content img[data-image-layout="left"]{float:none!important;display:block!important;margin:.65rem auto .65rem 0!important}
.news-editor__surface img[data-image-layout="center"],.rich-content img[data-image-layout="center"]{float:none!important;display:block!important;margin:.65rem auto!important}
.news-editor__surface img[data-image-layout="right"],.rich-content img[data-image-layout="right"]{float:none!important;display:block!important;margin:.65rem 0 .65rem auto!important}
.news-editor__surface img[style*="float: left"],.rich-content img[style*="float: left"],.news-editor__surface img[data-image-layout="float-left"],.rich-content img[data-image-layout="float-left"]{float:left!important;margin:.2rem .5rem .65rem 0}
.news-editor__surface img[style*="float: right"],.rich-content img[style*="float: right"],.news-editor__surface img[data-image-layout="float-right"],.rich-content img[data-image-layout="float-right"]{float:right!important;margin:.2rem 0 .65rem .5rem}
.news-editor__surface img[style*="inline-block"],.rich-content img[style*="inline-block"]{display:inline-block!important;vertical-align:middle}
.news-editor__surface img[data-image-layout="inline"],.rich-content img[data-image-layout="inline"]{float:none!important;display:inline-block!important;vertical-align:middle}
.news-editor__surface img{cursor:pointer}
.news-editor__surface::after,.rich-content::after{content:"";display:block;clear:both}
.news-editor__surface a,.rich-content a{color:#7d4f27;text-decoration:underline;text-underline-offset:2px}
.news-editor__status{min-height:0;padding:0 10px;color:#35634e;font-size:.67rem}
.news-editor__status:not(:empty){padding-top:6px;padding-bottom:7px;border-top:1px solid rgba(229,218,203,.7)}
.news-editor__status.is-error{color:var(--danger)}
.news-editor__input{display:none!important}
.news-composer__form{width:100%;max-width:none}
.news-edit__form{width:100%;max-width:none}
.news-editor-field{width:100%;min-width:0}
.news-card__content.rich-content{display:block}
.rich-content p{width:auto;max-width:none!important;margin:.35rem 0}
.rich-content h2{font-size:1.18rem!important}.rich-content h3{font-size:1.02rem!important}.rich-content h4{font-size:.9rem!important}
.rich-content ul,.rich-content ol{margin:.45rem 0;padding-left:1.35rem}
.rich-content blockquote{margin:.5rem 0;padding:7px 10px;border-left:3px solid var(--accent);background:#faf5ef}

@media (max-width:1100px){
  .news-composer__form{width:100%}
}
@media (max-width:640px){
  .auth-language-switch{top:14px;right:14px}
  .language-switch__menu{right:0}
  .news-editor__toolbar{max-height:none;overflow:visible}
  .news-editor__table-menu{left:auto;right:0;max-width:calc(100vw - 48px)}
  .news-editor__image-tools-row{align-items:flex-start}
  .news-editor__image-layout-group{width:100%}
  .news-editor__image-layout-label{width:100%;margin-top:2px}
  .news-editor__image-slider{width:100%;min-width:0}
  .news-editor__image-slider input[type=range]{flex:1;width:auto}
  .news-editor__surface{min-height:135px}
  .news-composer__form{width:100%}
}

/* Password recovery page */
.auth-page--forgot .auth-visual{align-content:center}
.auth-page--forgot .auth-visual h1{font-size:clamp(2rem,3.4vw,3.65rem);line-height:1.16;max-width:15ch;overflow-wrap:normal;word-break:normal}
@media (max-width:1100px){.auth-page--forgot .auth-visual h1{max-width:none}}

/* Login autofill control and persistent sign-in */
.auth-autofill-trap{
  position:fixed!important;
  left:-10000px!important;
  top:-10000px!important;
  width:1px!important;
  height:1px!important;
  overflow:hidden!important;
  opacity:0!important;
  pointer-events:none!important;
}
.login-remember{
  display:flex;
  align-items:center;
  gap:9px;
  width:max-content;
  max-width:100%;
  color:#4d453d;
  font-size:.76rem;
  font-weight:600;
  cursor:pointer;
}
.login-remember input{
  width:17px;
  height:17px;
  min-height:0;
  margin:0;
  padding:0;
  accent-color:var(--accent-dark);
}

/* Settings: global interface font size */
.settings-font-block{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(220px,320px);
  align-items:end;
  gap:20px;
}
.settings-font-block h4{margin:0 0 5px}
.settings-font-block p{margin:0;max-width:68ch}
.settings-font-control{align-self:end}

/* Password recovery language selector inside the form card */
.auth-card--forgot{
  position:relative;
  padding-top:78px;
}
.auth-card--forgot .auth-language-switch{
  top:22px;
  right:22px;
}

@media (max-width:720px){
  .settings-font-block{grid-template-columns:1fr;align-items:stretch}
  .auth-card--forgot{padding-top:70px}
  .auth-card--forgot .auth-language-switch{top:16px;right:16px}
}

/* Supplier and customer directories */
.nav-section{
  display:grid;
  gap:2px;
  margin:4px 0;
  padding:7px 0 5px;
  border-top:1px solid rgba(122,98,70,.12);
  border-bottom:1px solid rgba(122,98,70,.12);
}
.nav-section__label{
  padding:0 10px 3px;
  color:var(--accent-dark);
  font-size:.68rem;
  font-weight:700;
  letter-spacing:.12em;
  text-transform:uppercase;
}
body:not(.auth-page--login) .nav .nav-section a{
  padding-left:22px;
}
.contact-directory__intro{
  margin:.45rem 0 0;
  max-width:72ch;
}
.contacts-table th,
.contacts-table td{
  vertical-align:middle;
}
.contacts-table .actions-col{
  text-align:right;
}
.contact-actions{
  justify-content:flex-end;
}
.contact-actions form{
  margin:0;
}
.contact-directory__empty{
  padding:28px 14px;
  text-align:center;
}
.contact-form{
  max-width:980px;
}
.field-copy-button{
  justify-self:start;
  padding-block:8px;
}

@media (max-width:720px){
  .contact-directory .panel-head{
    align-items:flex-start;
    flex-direction:column;
  }
  .contact-actions{
    align-items:flex-end;
    flex-direction:column;
  }
}

/* v24 dense spreadsheet-like Event form for compact notebook screens */
body:not(.auth-page--login) .event-form{
  gap:8px !important;
  font-size:.86rem;
}
body:not(.auth-page--login) .event-form .event-form-section{
  padding:9px 10px 10px !important;
  border-radius:10px !important;
}
body:not(.auth-page--login) .event-form .panel-head{
  gap:6px !important;
  margin-bottom:6px !important;
}
body:not(.auth-page--login) .event-form .panel-head h3{
  font-size:1.05rem;
  line-height:1.08;
}
body:not(.auth-page--login) .event-form .panel-head .eyebrow{
  margin-bottom:2px;
  font-size:.58rem;
}
body:not(.auth-page--login) .event-form .event-header-card{
  gap:8px !important;
  padding:9px !important;
  border-radius:7px !important;
}
body:not(.auth-page--login) .event-form .event-header-brand{
  gap:8px;
}
body:not(.auth-page--login) .event-form .event-header-brand h2{
  font-size:1.45rem;
}
body:not(.auth-page--login) .event-form .event-header-brand p{
  margin:4px 0 0;
  font-size:.72rem;
  line-height:1.2;
}
body:not(.auth-page--login) .event-form .event-header-logo{
  width:42px;
  height:42px;
  padding:5px;
}
body:not(.auth-page--login) .event-form .event-form-grid,
body:not(.auth-page--login) .event-form .form-grid{
  column-gap:8px;
  row-gap:5px;
}
body:not(.auth-page--login) .event-form label{
  gap:2px;
}
body:not(.auth-page--login) .event-form label > span{
  font-size:.72rem;
  line-height:1.08;
}
body:not(.auth-page--login) .event-form input:not([type="color"]):not([type="checkbox"]):not([type="hidden"]),
body:not(.auth-page--login) .event-form select,
body:not(.auth-page--login) .event-form textarea{
  min-height:28px;
  padding:4px 7px !important;
  border-radius:5px !important;
  font-size:.75rem;
  line-height:1.1;
}
body:not(.auth-page--login) .event-form .inline-field-stack{
  gap:4px;
}
body:not(.auth-page--login) .event-form .inline-field-actions{
  gap:4px;
}
body:not(.auth-page--login) .event-form .inline-field-actions .button,
body:not(.auth-page--login) .event-form .field-copy-button{
  min-height:28px;
  padding:4px 8px !important;
  border-radius:5px;
  font-size:.69rem;
  box-shadow:none;
}
body:not(.auth-page--login) .event-form .event-section-surface{
  padding:7px !important;
  border-radius:7px !important;
  box-shadow:none;
}
body:not(.auth-page--login) .event-form .event-section--notes textarea{
  min-height:50px;
}
body:not(.auth-page--login) .event-form .todo-grid,
body:not(.auth-page--login) .event-form .todo-columns,
body:not(.auth-page--login) .event-form .todo-column{
  gap:5px;
}
body:not(.auth-page--login) .event-form .todo-row{
  gap:2px;
}
body:not(.auth-page--login) .event-form .checkbox-card{
  min-height:27px;
  gap:6px;
  padding:4px 6px;
  border-radius:5px;
}
body:not(.auth-page--login) .event-form .checkbox-card input[type="checkbox"]{
  width:13px;
  height:13px;
  margin-top:0;
}
body:not(.auth-page--login) .event-form .checkbox-card strong{
  font-size:.7rem;
  line-height:1.05;
}
body:not(.auth-page--login) .event-form .section-stack{
  gap:7px;
}
body:not(.auth-page--login) .event-form .event-block{
  gap:5px !important;
  padding:7px !important;
  border-radius:7px !important;
}
body:not(.auth-page--login) .event-form .event-block > .panel-head > .section-title-input,
body:not(.auth-page--login) .event-form .event-block > .panel-head > .section-title-display,
body:not(.auth-page--login) .event-form .event-block > .panel-head > h4{
  min-width:125px !important;
  min-height:27px !important;
  padding:3px 7px !important;
  border-width:1px;
  border-radius:5px;
  font-size:.7rem !important;
  line-height:1.08 !important;
}
body:not(.auth-page--login) .event-form .section-color-control,
body:not(.auth-page--login) .event-form .section-head-actions .button.button-small{
  min-height:27px !important;
  padding:3px 7px !important;
  border-radius:5px;
  font-size:.66rem;
}
body:not(.auth-page--login) .event-form .section-color-control input[type="color"]{
  width:18px !important;
  height:18px !important;
}
body:not(.auth-page--login) .event-form .section-move-actions .button{
  width:25px !important;
  min-width:25px !important;
  height:25px !important;
  border-radius:5px;
}
body:not(.auth-page--login) .event-form .event-table{
  border-collapse:collapse !important;
  border-spacing:0 !important;
}
body:not(.auth-page--login) .event-form .event-table thead th{
  padding:2px 4px !important;
  border-bottom:1px solid rgba(122,98,70,.25);
  font-size:.61rem !important;
  line-height:1.05;
}
body:not(.auth-page--login) .event-form .event-table tbody tr{
  background:rgba(255,255,255,.62);
}
body:not(.auth-page--login) .event-form .event-table tbody td,
body:not(.auth-page--login) .event-form .event-table tbody td:first-child,
body:not(.auth-page--login) .event-form .event-table tbody td:last-child{
  height:27px;
  padding:2px !important;
  border:1px solid rgba(122,98,70,.2) !important;
  border-radius:0 !important;
}
body:not(.auth-page--login) .event-form .event-table input:not([type="hidden"]),
body:not(.auth-page--login) .event-form .event-table select{
  min-width:0 !important;
  min-height:22px;
  padding:2px 4px !important;
  border-radius:3px !important;
  font-size:.68rem !important;
  line-height:1.05;
}
body:not(.auth-page--login) .event-form .event-table tbody td:first-child input[type="text"]{
  padding-inline:4px !important;
  font-size:.66rem !important;
}
body:not(.auth-page--login) .event-form .event-table [data-sales-qty],
body:not(.auth-page--login) .event-form .event-table [data-cost-qty],
body:not(.auth-page--login) .event-form .event-table [data-staff-hours],
body:not(.auth-page--login) .event-form .event-table [data-staff-count],
body:not(.auth-page--login) .event-form .event-table [data-plan-count]{
  min-width:3.2rem !important;
}
body:not(.auth-page--login) .event-form .event-table [data-sales-unit],
body:not(.auth-page--login) .event-form .event-table [data-cost-unit],
body:not(.auth-page--login) .event-form .event-table [data-staff-rate],
body:not(.auth-page--login) .event-form .event-table [data-plan-rate],
body:not(.auth-page--login) .event-form .event-table [data-sales-vat]{
  min-width:3.6rem !important;
}
body:not(.auth-page--login) .event-form .event-table strong,
body:not(.auth-page--login) .event-form .event-table .small-note{
  font-size:.7rem;
  line-height:1.05;
}
body:not(.auth-page--login) .event-form .event-table col.col-actions{
  width:34px !important;
}
body:not(.auth-page--login) .event-form .event-table .button{
  min-width:23px;
  min-height:23px;
  padding:2px 4px !important;
  border-radius:4px;
  box-shadow:none;
  font-size:.68rem;
}
body:not(.auth-page--login) .event-form .section-total{
  gap:7px;
  padding:5px 7px !important;
  border-radius:4px !important;
  font-size:.72rem;
}
body:not(.auth-page--login) .event-form .section-total strong{
  font-size:.78rem;
}
body:not(.auth-page--login) .event-form .summary-grid{
  gap:5px;
}
body:not(.auth-page--login) .event-form .summary-card,
body:not(.auth-page--login) .event-form .summary-card--tiny{
  min-height:48px;
  gap:3px;
  padding:6px 7px;
  border-radius:5px;
}
body:not(.auth-page--login) .event-form .summary-card small,
body:not(.auth-page--login) .event-form .summary-card--tiny small{
  font-size:.64rem;
}
body:not(.auth-page--login) .event-form .summary-card strong,
body:not(.auth-page--login) .event-form .summary-card--tiny strong{
  font-size:.84rem;
}

@media (max-width:700px){
  body:not(.auth-page--login) .event-form input:not([type="color"]):not([type="checkbox"]):not([type="hidden"]),
  body:not(.auth-page--login) .event-form select{
    min-height:32px;
  }
}

/* v25 reduced row heights for 14-inch notebook screens */
body:not(.auth-page--login) .event-form .event-form-grid,
body:not(.auth-page--login) .event-form .form-grid{
  row-gap:3px;
}
body:not(.auth-page--login) .event-form label{
  gap:1px;
}
body:not(.auth-page--login) .event-form input:not([type="color"]):not([type="checkbox"]):not([type="hidden"]),
body:not(.auth-page--login) .event-form select,
body:not(.auth-page--login) .event-form textarea{
  min-height:24px;
  padding:2px 5px !important;
  border-radius:3px !important;
  line-height:1.05;
}
body:not(.auth-page--login) .event-form .inline-field-stack,
body:not(.auth-page--login) .event-form .inline-field-actions{
  gap:2px;
}
body:not(.auth-page--login) .event-form .inline-field-actions .button,
body:not(.auth-page--login) .event-form .field-copy-button{
  min-height:24px;
  padding:2px 6px !important;
  border-radius:3px;
}
body:not(.auth-page--login) .event-form .event-section-surface{
  padding:5px !important;
  border-radius:5px !important;
}
body:not(.auth-page--login) .event-form .event-section--notes textarea{
  min-height:36px;
  padding:3px 5px !important;
  line-height:1.05;
}
body:not(.auth-page--login) .event-form .todo-grid,
body:not(.auth-page--login) .event-form .todo-columns,
body:not(.auth-page--login) .event-form .todo-column{
  gap:3px;
}
body:not(.auth-page--login) .event-form .todo-row{
  gap:1px;
}
body:not(.auth-page--login) .event-form .checkbox-card{
  min-height:22px;
  gap:5px;
  padding:2px 4px;
  border-radius:3px;
}
body:not(.auth-page--login) .event-form .checkbox-card input[type="checkbox"]{
  width:12px;
  height:12px;
}
body:not(.auth-page--login) .event-form .section-stack{
  gap:5px;
}
body:not(.auth-page--login) .event-form .event-block{
  gap:3px !important;
  padding:5px !important;
  border-radius:5px !important;
}
body:not(.auth-page--login) .event-form .event-block > .panel-head > .section-title-input,
body:not(.auth-page--login) .event-form .event-block > .panel-head > .section-title-display,
body:not(.auth-page--login) .event-form .event-block > .panel-head > h4,
body:not(.auth-page--login) .event-form .section-color-control,
body:not(.auth-page--login) .event-form .section-head-actions .button.button-small{
  min-height:23px !important;
  padding-block:2px !important;
  border-radius:3px;
}
body:not(.auth-page--login) .event-form .section-move-actions .button{
  width:22px !important;
  min-width:22px !important;
  height:22px !important;
  min-height:22px !important;
  border-radius:3px;
}
body:not(.auth-page--login) .event-form .event-table thead th{
  padding:1px 3px !important;
  line-height:1;
}
body:not(.auth-page--login) .event-form .event-table tbody td,
body:not(.auth-page--login) .event-form .event-table tbody td:first-child,
body:not(.auth-page--login) .event-form .event-table tbody td:last-child{
  height:23px;
  padding:1px !important;
}
body:not(.auth-page--login) .event-form .event-table input:not([type="hidden"]),
body:not(.auth-page--login) .event-form .event-table select{
  height:20px;
  min-height:20px;
  padding:1px 3px !important;
  border-radius:2px !important;
  line-height:1;
}
body:not(.auth-page--login) .event-form .event-table tbody td:first-child input[type="text"]{
  padding-inline:3px !important;
}
body:not(.auth-page--login) .event-form .event-table col.col-actions{
  width:30px !important;
}
body:not(.auth-page--login) .event-form .event-table .button{
  min-width:20px;
  width:20px;
  min-height:20px;
  height:20px;
  padding:1px 3px !important;
  border-radius:2px;
}
body:not(.auth-page--login) .event-form .section-total{
  min-height:23px;
  padding:3px 5px !important;
  border-radius:2px !important;
}

@media (max-width:700px){
  body:not(.auth-page--login) .event-form input:not([type="color"]):not([type="checkbox"]):not([type="hidden"]),
  body:not(.auth-page--login) .event-form select{
    min-height:30px;
  }
  body:not(.auth-page--login) .event-form .event-table input:not([type="hidden"]),
  body:not(.auth-page--login) .event-form .event-table select{
    height:25px;
    min-height:25px;
  }
  body:not(.auth-page--login) .event-form .event-table tbody td,
  body:not(.auth-page--login) .event-form .event-table tbody td:first-child,
  body:not(.auth-page--login) .event-form .event-table tbody td:last-child{
    height:28px;
  }
  body:not(.auth-page--login) .event-form .checkbox-card{
    min-height:27px;
  }
  body:not(.auth-page--login) .event-form .event-section--notes textarea{
    min-height:44px;
  }
}

/* v26 vertically center every compact Event form row and cell */
body:not(.auth-page--login) .event-form input:not([type="color"]):not([type="checkbox"]):not([type="hidden"]),
body:not(.auth-page--login) .event-form select{
  height:24px;
  padding-top:0 !important;
  padding-bottom:0 !important;
  line-height:22px !important;
  vertical-align:middle;
}
body:not(.auth-page--login) .event-form textarea{
  padding-top:3px !important;
  padding-bottom:3px !important;
  vertical-align:middle;
}
body:not(.auth-page--login) .event-form .event-table thead th,
body:not(.auth-page--login) .event-form .event-table tbody td,
body:not(.auth-page--login) .event-form .event-table tbody td:first-child,
body:not(.auth-page--login) .event-form .event-table tbody td:last-child{
  vertical-align:middle !important;
}
body:not(.auth-page--login) .event-form .event-table tbody td{
  line-height:18px;
}
body:not(.auth-page--login) .event-form .event-table input:not([type="hidden"]),
body:not(.auth-page--login) .event-form .event-table select{
  height:20px;
  padding-top:0 !important;
  padding-bottom:0 !important;
  line-height:18px !important;
  vertical-align:middle !important;
}
body:not(.auth-page--login) .event-form .event-table strong,
body:not(.auth-page--login) .event-form .event-table .small-note,
body:not(.auth-page--login) .event-form .event-cell-note{
  vertical-align:middle;
  line-height:18px;
}
body:not(.auth-page--login) .event-form .checkbox-card,
body:not(.auth-page--login) .event-form .checkbox-inline{
  align-items:center !important;
}
body:not(.auth-page--login) .event-form .checkbox-card input[type="checkbox"],
body:not(.auth-page--login) .event-form .checkbox-inline input[type="checkbox"]{
  flex:0 0 auto;
  align-self:center;
  margin-top:0 !important;
  margin-bottom:0 !important;
}
body:not(.auth-page--login) .event-form .checkbox-card > span,
body:not(.auth-page--login) .event-form .checkbox-inline > span{
  display:flex;
  min-height:16px;
  align-items:center;
  line-height:1;
}
body:not(.auth-page--login) .event-form .checkbox-card strong,
body:not(.auth-page--login) .event-form .checkbox-inline strong{
  line-height:1 !important;
  vertical-align:middle;
}
body:not(.auth-page--login) .event-form .section-total,
body:not(.auth-page--login) .event-form .section-head-actions,
body:not(.auth-page--login) .event-form .section-move-actions{
  align-items:center;
}
body:not(.auth-page--login) .event-form .summary-card,
body:not(.auth-page--login) .event-form .summary-card--tiny{
  align-content:center;
}

@media (max-width:700px){
  body:not(.auth-page--login) .event-form input:not([type="color"]):not([type="checkbox"]):not([type="hidden"]),
  body:not(.auth-page--login) .event-form select{
    height:30px;
    line-height:28px !important;
  }
  body:not(.auth-page--login) .event-form .event-table input:not([type="hidden"]),
  body:not(.auth-page--login) .event-form .event-table select{
    height:25px;
    line-height:23px !important;
  }
}

/* v27 compact, vertically centered calculation section headers */
body:not(.auth-page--login) .event-form .event-block > .panel-head{
  min-height:28px;
  margin-bottom:0 !important;
  gap:4px !important;
  align-items:center !important;
}
body:not(.auth-page--login) .event-form .event-block > .panel-head > .section-title-input{
  height:28px;
  min-height:28px !important;
  margin:0 !important;
  padding:0 8px !important;
  line-height:26px !important;
  text-align:center !important;
  vertical-align:middle !important;
}
body:not(.auth-page--login) .event-form .event-block > .panel-head > .section-title-input.is-multiline{
  min-height:28px !important;
  padding:3px 8px !important;
  line-height:1.1 !important;
}
body:not(.auth-page--login) .event-form .event-block > .panel-head > .section-title-display,
body:not(.auth-page--login) .event-form .event-block > .panel-head > h4{
  min-height:28px !important;
  margin:0 !important;
  padding:0 8px !important;
  align-items:center !important;
  justify-content:center !important;
  line-height:1 !important;
  text-align:center !important;
}
body:not(.auth-page--login) .event-form .event-block > .panel-head > .section-head-actions{
  min-height:28px;
  margin-top:0;
  margin-bottom:0;
  align-self:center;
  align-items:center !important;
  justify-content:flex-end;
}

@media (max-width:700px){
  body:not(.auth-page--login) .event-form .event-block > .panel-head{
    min-height:32px;
  }
  body:not(.auth-page--login) .event-form .event-block > .panel-head > .section-title-input,
  body:not(.auth-page--login) .event-form .event-block > .panel-head > .section-title-display,
  body:not(.auth-page--login) .event-form .event-block > .panel-head > h4{
    min-height:32px !important;
  }
  body:not(.auth-page--login) .event-form .event-block > .panel-head > .section-title-input{
    height:32px;
    line-height:30px !important;
  }
}

/* Unified template management */
.nav-link--templates{display:flex!important;align-items:center;gap:10px}.nav-link__icon{display:inline-grid;place-items:center;width:24px;height:24px;border-radius:8px;background:rgba(155,111,69,.1);color:var(--accent-dark);font-size:14px}.template-type-switch{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.template-type-card{position:relative;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:16px;padding:20px 22px;border-radius:24px;border:1px solid var(--line);background:rgba(255,255,255,.76);box-shadow:0 12px 34px rgba(67,48,30,.08);transition:.2s ease}.template-type-card:hover{transform:translateY(-2px);border-color:rgba(155,111,69,.35)}.template-type-card.is-active{background:linear-gradient(135deg,rgba(155,111,69,.14),rgba(255,255,255,.95));border-color:rgba(155,111,69,.42);box-shadow:0 16px 38px rgba(111,76,43,.14)}.template-type-card__icon{display:grid;place-items:center;width:52px;height:52px;border-radius:18px;background:#f2e9df;color:var(--accent-dark);font-size:27px;font-weight:700}.template-type-card__icon--money{background:#e7f1ea;color:#257047;font-family:Georgia,serif}.template-type-card strong{display:block;font-size:1.08rem}.template-type-card small{display:block;margin-top:4px;color:var(--muted);line-height:1.45}.template-type-card__count{display:grid;place-items:center;min-width:34px;height:34px;padding:0 9px;border-radius:999px;background:var(--paper-soft);font-weight:700}.templates-panel-head{align-items:flex-start}.template-heading-money{display:inline-grid;place-items:center;width:38px;height:38px;margin-right:8px;border-radius:12px;background:#e7f1ea;color:#257047;font-family:Georgia,serif;font-size:1.4rem;vertical-align:middle}.template-card-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.template-card{overflow:hidden;border:1px solid var(--line);border-radius:24px;background:rgba(255,255,255,.92);box-shadow:0 12px 34px rgba(67,48,30,.08)}.template-card__preview{height:150px;display:grid;place-items:center;border-bottom:1px solid var(--line);background:linear-gradient(145deg,#f7f1e9,#eee4d8)}.template-card__preview--calculation{grid-template-columns:auto 1fr;gap:22px;padding:26px;background:linear-gradient(145deg,#eef5f0,#dfece4)}.template-mini-sheet{width:180px;height:104px;padding:14px;border-radius:8px;background:#fff;box-shadow:0 14px 28px rgba(57,40,25,.15);display:grid;grid-template-columns:repeat(2,1fr);gap:8px}.template-mini-sheet span{border-radius:4px;background:#eadfd3}.template-mini-sheet span:first-child{grid-column:span 2;height:18px;background:#c8a57e}.template-card__money{display:grid;place-items:center;width:64px;height:64px;border-radius:20px;background:#fff;color:#257047;font:700 38px/1 Georgia,serif;box-shadow:0 12px 24px rgba(26,89,54,.12)}.template-mini-lines{display:grid;gap:10px;width:100%}.template-mini-lines span{height:13px;border-radius:999px;background:rgba(37,112,71,.18)}.template-mini-lines span:nth-child(2){width:78%}.template-mini-lines span:nth-child(3){width:58%}.template-card__body{display:grid;gap:16px;padding:20px}.template-card__title-row{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.template-card__title-row h3{font-size:1.3rem}.template-card__meta{display:grid;gap:8px;margin:0}.template-card__meta div{display:flex;justify-content:space-between;gap:14px;padding-bottom:8px;border-bottom:1px dashed rgba(122,98,70,.18)}.template-card__meta div:last-child{border-bottom:none}.template-card__meta dt{color:var(--muted)}.template-card__meta dd{margin:0;text-align:right;font-weight:600}.template-card__actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.template-card__actions form{margin:0}.template-preview-dialog{width:min(1180px,calc(100vw - 34px));height:min(880px,calc(100vh - 34px));padding:0;border:0;border-radius:26px;background:#fff;box-shadow:0 30px 90px rgba(24,19,14,.34)}.template-preview-dialog::backdrop{background:rgba(20,17,14,.62);backdrop-filter:blur(5px)}.template-preview-dialog[open]{display:grid;grid-template-rows:auto 1fr auto}.template-preview-dialog__header,.template-preview-dialog__footer{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px 22px;background:#fff}.template-preview-dialog__header{border-bottom:1px solid var(--line)}.template-preview-dialog__header h2{font-size:1.55rem}.template-preview-dialog__footer{justify-content:flex-end;border-top:1px solid var(--line)}.template-preview-dialog__close{border:0;background:#f3eee8;color:var(--ink);width:42px;height:42px;border-radius:50%;font-size:28px;line-height:1;cursor:pointer}.template-preview-dialog__body{position:relative;min-height:0;background:#ddd5cc}.template-preview-dialog iframe{width:100%;height:100%;border:0;background:#f4f0eb}.template-preview-loading{position:absolute;inset:0;z-index:2;display:grid;place-items:center;background:rgba(244,240,235,.88);font-weight:700;color:var(--muted)}.template-editor-meta,.event-template-picker-panel{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(300px,.7fr);gap:24px;align-items:center}.template-editor-meta__fields{display:grid;gap:12px}.template-default-option{margin:0}.event-template-picker-panel label{max-width:480px;justify-self:end;width:100%}

/* Standalone Event form template preview */
.template-preview-page{margin:0;padding:22px;background:#d7d0c8}.event-template-preview-document{display:grid;gap:22px;max-width:1320px;margin:0 auto}.event-template-preview-sheet{min-height:720px;padding:42px;border-radius:12px;background:#fff;box-shadow:0 18px 48px rgba(34,26,18,.18);break-after:page}.event-template-preview-sheet--cover{min-height:760px;display:flex;flex-direction:column;justify-content:space-between;background:linear-gradient(135deg,#fff 0%,#f6efe7 58%,#dfc9b2 100%)}.event-template-preview-brand{display:flex;align-items:center;gap:14px;text-transform:uppercase;letter-spacing:.15em;font-size:.78rem}.event-template-preview-brand img,.event-template-preview-sheet__header img{width:62px;height:62px;object-fit:contain}.event-template-preview-cover-copy{max-width:750px}.event-template-preview-cover-copy small{color:var(--accent);text-transform:uppercase;letter-spacing:.15em}.event-template-preview-cover-copy h1{margin-top:18px;font-size:clamp(3rem,7vw,6.5rem);line-height:.95}.event-template-preview-cover-copy p{max-width:620px;color:var(--muted);font-size:1.15rem}.event-template-preview-cover-meta{display:flex;align-items:center;justify-content:space-between;gap:16px;color:var(--muted)}.event-template-preview-sheet__header{display:flex;align-items:center;justify-content:space-between;gap:20px;padding-bottom:22px;margin-bottom:26px;border-bottom:2px solid #1f1b18}.event-template-preview-sheet__header small{display:block;color:var(--accent);text-transform:uppercase;letter-spacing:.14em;margin-bottom:8px}.event-template-preview-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.event-template-preview-fields>div,.event-template-preview-notes>div{padding:15px 17px;border-radius:16px;background:#f7f3ee;border:1px solid #e8ddd2}.event-template-preview-fields .span-2{grid-column:span 2}.event-template-preview-fields span,.event-template-preview-notes span,.event-template-preview-summary-grid span{display:block;color:#75695d;font-size:.78rem;text-transform:uppercase;letter-spacing:.08em}.event-template-preview-fields strong{display:block;margin-top:6px}.event-template-preview-notes{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:20px}.event-template-preview-notes p{margin:8px 0 0}.event-template-preview-sections{display:grid;gap:18px}.event-template-preview-section{padding:18px;border-radius:18px;border:1px solid #eadfd4;background:#fbf8f4}.event-template-preview-section h3{font-size:1.12rem;margin-bottom:12px}.preview-table-wrap{overflow:auto}.preview-table{font-size:.82rem}.preview-table th,.preview-table td{padding:9px 10px}.preview-empty{margin:0;color:var(--muted)}.event-template-preview-total{font-size:1.55rem}.event-template-preview-summary-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:22px}.event-template-preview-summary-grid>div{padding:18px;border:1px solid #ddd0c4;border-radius:16px}.event-template-preview-summary-grid strong{display:block;margin-top:8px;font-size:1.35rem}.event-template-preview-summary-grid .is-primary{background:#111;color:#fff;border-color:#111}.event-template-preview-summary-grid .is-primary span{color:#ddd}

@media (max-width:900px){.template-type-switch,.template-card-grid,.template-editor-meta,.event-template-picker-panel{grid-template-columns:1fr}.event-template-picker-panel label{justify-self:stretch}.event-template-preview-fields,.event-template-preview-notes,.event-template-preview-summary-grid{grid-template-columns:1fr}.event-template-preview-fields .span-2{grid-column:auto}.template-preview-dialog{width:calc(100vw - 16px);height:calc(100vh - 16px)}}
@media print{.template-preview-page{padding:0;background:#fff}.event-template-preview-document{display:block;max-width:none}.event-template-preview-sheet{min-height:0;border-radius:0;box-shadow:none;margin:0;page-break-after:always}.event-template-preview-sheet:last-child{page-break-after:auto}}
.template-preview-loading[hidden]{display:none!important}
.nav-section--templates>a{display:flex;align-items:center;gap:9px}.nav-template-icon{display:inline-grid;place-items:center;width:24px;height:24px;border-radius:8px;background:rgba(155,111,69,.1);color:var(--accent-dark);font-size:14px;font-weight:700}.nav-template-icon--money{background:#e7f1ea;color:#257047;font-family:Georgia,serif}

/* Itinerář – správa skladových položek */
.itinerary-create-form{grid-template-columns:minmax(280px,2fr) minmax(190px,.8fr) minmax(230px,1fr) auto;align-items:end}
.itinerary-create-form .form-actions{align-self:end}
.itinerary-row-form{display:grid;grid-template-columns:minmax(280px,2fr) minmax(170px,.7fr) minmax(130px,.55fr) auto;gap:12px;align-items:center}
.itinerary-row-form .checkbox-inline{align-items:center;margin:0}
.itinerary-row-form .inline-actions{justify-content:flex-end;flex-wrap:nowrap}
.event-table--itinerary .col-label{width:auto}.event-table--itinerary .col-qty{width:180px}.event-table--itinerary .col-actions{width:150px}
@media (max-width:1100px){.itinerary-create-form,.itinerary-row-form{grid-template-columns:1fr}.itinerary-row-form .inline-actions{justify-content:flex-start}}

/* v31 Itinerář: Sekce 7 je vždy přímo pod Sekcí 6 a před Personálem. */
body:not(.auth-page--login) .event-form{
  grid-template-areas:
    "header header"
    "notes todo"
    "summary summary"
    "costs sales"
    "itinerary itinerary"
    "staff staff"
    "actions actions" !important;
}
body:not(.auth-page--login) .event-section--itinerary{
  grid-area:itinerary;
  grid-column:1 / -1 !important;
  order:7;
}
body:not(.auth-page--login) .event-section--staff{
  order:8;
}
body:not(.auth-page--login) .event-form > .form-actions{
  order:9;
}

/* Itinerář – kategorie, sklad a objednávkové požadavky. */
.itinerary-create-form{
  grid-template-columns:minmax(150px,.75fr) minmax(260px,1.5fr) minmax(150px,.7fr) minmax(150px,.7fr) minmax(220px,1fr) auto;
  align-items:end;
}
.itinerary-row-form{
  display:grid;
  grid-template-columns:minmax(260px,1.55fr) minmax(120px,.55fr) minmax(120px,.55fr) minmax(105px,.45fr) minmax(120px,.55fr) auto;
  gap:10px;
  align-items:center;
}
.itinerary-row-form .inline-actions{justify-content:flex-end;flex-wrap:nowrap}
.itinerary-stock-state{display:flex;align-items:center;justify-content:center}
.itinerary-category-panel{margin-top:14px}
.itinerary-category-actions{justify-content:flex-end}
.itinerary-category-actions form{margin:0}
.itinerary-order-panel{border-color:rgba(162,70,63,.34);background:linear-gradient(180deg,rgba(255,244,241,.98),rgba(255,255,255,.98))}
.itinerary-order-table th,.itinerary-order-table td{vertical-align:middle}
.itinerary-order-table th:not(:nth-child(2)):not(:nth-child(3)),
.itinerary-order-table td:not(:nth-child(2)):not(:nth-child(3)){text-align:center}
.itinerary-order-check{width:48px;text-align:center!important}
.itinerary-order-check input{width:18px;height:18px}

@media (max-width:1100px){
  body:not(.auth-page--login) .event-form{
    grid-template-areas:
      "header"
      "notes"
      "todo"
      "summary"
      "costs"
      "sales"
      "itinerary"
      "staff"
      "actions" !important;
  }
  .itinerary-create-form,.itinerary-row-form{grid-template-columns:1fr}
  .itinerary-row-form .inline-actions{justify-content:flex-start}
  .itinerary-stock-state{justify-content:flex-start}
}

/* v33 – Itinerář bez vodorovného posuvníku a s viditelným nastavením pozadí. */
body:not(.auth-page--login) .event-form .table-wrap--itinerary{
  width:100%;
  max-width:100%;
  overflow-x:hidden !important;
  overflow-y:visible;
}
body:not(.auth-page--login) .event-form .event-table--itinerary{
  width:100% !important;
  min-width:0 !important;
  table-layout:fixed;
}
body:not(.auth-page--login) .event-form .event-table--itinerary .col-label{width:auto}
body:not(.auth-page--login) .event-form .event-table--itinerary .col-qty{width:120px}
body:not(.auth-page--login) .event-form .event-table--itinerary .col-actions{width:92px}
body:not(.auth-page--login) .event-form .event-table--itinerary th,
body:not(.auth-page--login) .event-form .event-table--itinerary td{
  min-width:0 !important;
  overflow:hidden;
}
body:not(.auth-page--login) .event-form .event-table--itinerary select,
body:not(.auth-page--login) .event-form .event-table--itinerary input{
  width:100% !important;
  min-width:0 !important;
  max-width:100%;
}
body:not(.auth-page--login) .event-form .event-section--itinerary .panel-head--section-controls{
  flex-wrap:wrap;
}
body:not(.auth-page--login) .event-form .event-section--itinerary .section-head-actions--top-level{
  display:flex !important;
  margin-left:auto;
  overflow:visible;
}
body:not(.auth-page--login) .event-form .event-section--itinerary .section-color-control--shell{
  display:inline-flex !important;
  align-items:center;
  gap:5px;
  min-width:max-content;
  opacity:1 !important;
  visibility:visible !important;
}
body:not(.auth-page--login) .event-form .event-section--itinerary .section-color-control--shell span{
  display:inline !important;
}

/* Každá skladová položka má upravitelnou kategorii, název, stav skladu i minimum. */
.itinerary-row-form{
  grid-template-columns:minmax(145px,.75fr) minmax(230px,1.35fr) minmax(110px,.55fr) minmax(110px,.55fr) minmax(100px,.45fr) minmax(118px,.55fr) auto !important;
}
.itinerary-row-form > select,
.itinerary-row-form > input{
  min-width:0;
}
@media (max-width:1250px){
  .itinerary-row-form{grid-template-columns:repeat(2,minmax(0,1fr)) !important}
  .itinerary-row-form .inline-actions{justify-content:flex-start}
}
@media (max-width:700px){
  body:not(.auth-page--login) .event-form .event-table--itinerary .col-qty{width:82px}
  body:not(.auth-page--login) .event-form .event-table--itinerary .col-actions{width:72px}
  .itinerary-row-form{grid-template-columns:1fr !important}
}


/* v34 – Sekce 7: checkbox i tlačítko minus musí být vždy plně viditelné. */
body:not(.auth-page--login) .event-form .event-table--itinerary .col-qty{width:110px !important}
body:not(.auth-page--login) .event-form .event-table--itinerary .col-actions{width:128px !important}
body:not(.auth-page--login) .event-form .event-table--itinerary th:last-child,
body:not(.auth-page--login) .event-form .event-table--itinerary td:last-child{
  width:128px !important;
  min-width:128px !important;
  overflow:visible !important;
  padding-left:6px !important;
  padding-right:6px !important;
}
body:not(.auth-page--login) .event-form .event-table--itinerary .sales-offer-controls{
  display:grid !important;
  grid-template-columns:22px 34px;
  justify-content:end;
  align-items:center;
  gap:8px;
  width:100%;
  min-width:0;
  overflow:visible;
}
body:not(.auth-page--login) .event-form .event-table--itinerary .sales-offer-controls .button[data-remove-row]{
  display:inline-grid !important;
  width:32px !important;
  min-width:32px !important;
  height:30px !important;
  place-items:center;
  padding:0 !important;
  overflow:visible;
  opacity:1 !important;
  visibility:visible !important;
}
body:not(.auth-page--login) .event-form .event-table--itinerary .offer-row-visibility{
  width:18px !important;
  min-width:18px !important;
}
@media (max-width:700px){
  body:not(.auth-page--login) .event-form .event-table--itinerary .col-qty{width:86px !important}
  body:not(.auth-page--login) .event-form .event-table--itinerary col.col-actions,
  body:not(.auth-page--login) .event-form .event-table--itinerary .col-actions,
  body:not(.auth-page--login) .event-form .event-table--itinerary th:last-child,
  body:not(.auth-page--login) .event-form .event-table--itinerary td:last-child{width:112px !important;min-width:112px !important}
}


/* v36 – Sekce 7 je skutečně hned pod Sekcí 6 v pravém sloupci. */
body:not(.auth-page--login) .event-form{
  grid-template-areas:
    "header header"
    "notes todo"
    "summary summary"
    "commercial commercial"
    "staff staff"
    "actions actions" !important;
}
body:not(.auth-page--login) .event-form-commercial-columns{
  grid-area:commercial;
  grid-column:1 / -1;
  order:5;
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr);
  gap:18px;
  align-items:start;
  min-width:0;
}
body:not(.auth-page--login) .event-form-commercial-columns--operations-only{
  grid-template-columns:minmax(0,1fr);
}

body:not(.auth-page--login) .event-form-commercial-columns--operations-only .event-form-commercial-columns__right{
  grid-column:1;
}

body:not(.auth-page--login) .event-form-commercial-columns__right{
  display:grid;
  grid-template-columns:minmax(0,1fr);
  gap:18px;
  align-content:start;
  min-width:0;
}
body:not(.auth-page--login) .event-form-commercial-columns .event-section--costs,
body:not(.auth-page--login) .event-form-commercial-columns .event-section--sales,
body:not(.auth-page--login) .event-form-commercial-columns .event-section--itinerary{
  grid-area:auto !important;
  grid-column:1 !important;
  order:initial !important;
  min-width:0;
}
body:not(.auth-page--login) .event-section--staff{order:6}
body:not(.auth-page--login) .event-form > .form-actions{order:7}

/* Sekce 7 používá stejné zaškrtnutí a stejné ovládání jako prodejní kalkulace. */
body:not(.auth-page--login) .event-form .event-table--itinerary .col-qty{width:110px !important}
body:not(.auth-page--login) .event-form .event-table--itinerary .col-actions{width:74px !important}
body:not(.auth-page--login) .event-form .event-table--itinerary th:last-child,
body:not(.auth-page--login) .event-form .event-table--itinerary td:last-child{
  width:74px !important;
  min-width:74px !important;
  overflow:visible !important;
  padding-left:4px !important;
  padding-right:4px !important;
}
body:not(.auth-page--login) .event-form .event-table--itinerary .sales-offer-controls{
  display:flex !important;
  align-items:center;
  justify-content:flex-end;
  gap:6px;
  width:100%;
  min-width:52px;
  overflow:visible;
}
body:not(.auth-page--login) .event-form .event-table--itinerary .offer-row-visibility{
  width:16px !important;
  min-width:16px !important;
}
body:not(.auth-page--login) .event-form .event-table--itinerary .offer-row-visibility input[type="checkbox"]{
  width:16px !important;
  min-width:16px !important;
  height:16px !important;
  margin:0 !important;
  accent-color:#2f815d;
}
body:not(.auth-page--login) .event-form .event-table--itinerary .sales-offer-controls .button[data-remove-row]{
  display:inline-grid !important;
  width:28px !important;
  min-width:28px !important;
  height:28px !important;
  place-items:center;
  padding:0 !important;
  opacity:1 !important;
  visibility:visible !important;
}
@media (max-width:1100px){
  body:not(.auth-page--login) .event-form{
    grid-template-areas:
      "header"
      "notes"
      "todo"
      "summary"
      "commercial"
      "staff"
      "actions" !important;
  }
  body:not(.auth-page--login) .event-form-commercial-columns{
    grid-template-columns:minmax(0,1fr);
  }
}

/* v38 – potvrzení objednání zásob včetně uživatele a času. */
.itinerary-order-table .itinerary-order-action-heading,
.itinerary-order-table .itinerary-order-action{
  width:220px;
  min-width:220px;
}
.itinerary-order-action{
  text-align:center !important;
}
.itinerary-ordered-button{
  min-width:108px;
  white-space:nowrap;
}
.itinerary-ordered-meta{
  display:inline-grid;
  justify-items:center;
  gap:3px;
  max-width:210px;
  padding:7px 10px;
  border:1px solid rgba(77,137,66,.28);
  border-radius:14px;
  background:#e6f3df;
  color:#245f2d;
  line-height:1.25;
}
.itinerary-ordered-meta strong{
  font-size:.78rem;
}
.itinerary-ordered-meta small{
  display:block;
  color:#3d6842;
  font-size:.68rem;
  white-space:normal;
  overflow-wrap:anywhere;
}

/* Sekce 7 – checkbox a tlačítko odebrat se nesmějí oříznout pravým okrajem tabulky. */
body:not(.auth-page--login) .event-form .table-wrap--itinerary{
  overflow:visible !important;
  padding-right:2px;
}
body:not(.auth-page--login) .event-form .event-table--itinerary col.col-actions,
body:not(.auth-page--login) .event-form .event-table--itinerary .col-actions{
  width:104px !important;
  min-width:104px !important;
}
body:not(.auth-page--login) .event-form .event-table--itinerary th:last-child,
body:not(.auth-page--login) .event-form .event-table--itinerary td:last-child{
  width:104px !important;
  min-width:104px !important;
  padding-left:6px !important;
  padding-right:6px !important;
  overflow:visible !important;
}
body:not(.auth-page--login) .event-form .event-table--itinerary .sales-offer-controls{
  display:grid !important;
  grid-template-columns:18px 32px;
  align-items:center;
  justify-content:end;
  gap:8px;
  width:100%;
  min-width:58px;
  overflow:visible !important;
}
body:not(.auth-page--login) .event-form .event-table--itinerary .itinerary-row-remove{
  display:inline-grid !important;
  flex:0 0 32px;
  width:32px !important;
  min-width:32px !important;
  max-width:32px !important;
  height:30px !important;
  min-height:30px !important;
  place-items:center;
  margin:0 !important;
  padding:0 !important;
  font-size:1.05rem;
  line-height:1;
  opacity:1 !important;
  visibility:visible !important;
  overflow:visible !important;
}

@media (max-width:700px){
  .itinerary-order-table .itinerary-order-action-heading,
  .itinerary-order-table .itinerary-order-action{
    width:185px;
    min-width:185px;
  }
  body:not(.auth-page--login) .event-form .event-table--itinerary .col-actions,
  body:not(.auth-page--login) .event-form .event-table--itinerary th:last-child,
  body:not(.auth-page--login) .event-form .event-table--itinerary td:last-child{
    width:96px !important;
    min-width:96px !important;
  }
}

/* v39 – historie objednání, zrušení potvrzení a přesně zarovnané skladové sloupce. */
.itinerary-ordered-actions,
.itinerary-pending-order-actions{
  display:grid;
  justify-items:center;
  gap:7px;
}
.itinerary-cancel-ordered-button{
  min-width:142px;
  padding:7px 11px;
  border-color:rgba(140,59,53,.28);
  color:var(--danger);
  font-size:.72rem;
  line-height:1.15;
  white-space:nowrap;
}
.itinerary-cancel-ordered-button:hover{
  background:#fff0ed;
}
.itinerary-order-number{
  font-variant-numeric:tabular-nums;
  white-space:nowrap;
}
.itinerary-order-table{
  min-width:1220px;
}
.itinerary-order-table .itinerary-order-action-heading,
.itinerary-order-table .itinerary-order-action{
  width:238px;
  min-width:238px;
}

.itinerary-history-panel{
  border-color:rgba(66,97,130,.22);
  background:linear-gradient(180deg,rgba(246,249,253,.97),rgba(255,255,255,.98));
}
.itinerary-history-empty{
  margin:0;
  padding:16px 18px;
  border:1px dashed rgba(122,98,70,.25);
  border-radius:16px;
  background:rgba(255,255,255,.65);
}
.itinerary-history-wrap{
  max-height:520px;
  overflow:auto;
  border:1px solid rgba(122,98,70,.12);
  border-radius:18px;
  background:rgba(255,255,255,.72);
}
.itinerary-history-table{
  min-width:1120px;
  table-layout:fixed;
}
.itinerary-history-table th,
.itinerary-history-table td{
  vertical-align:middle;
}
.itinerary-history-table th:nth-child(1){width:145px}
.itinerary-history-table th:nth-child(2){width:220px}
.itinerary-history-table th:nth-child(3){width:145px}
.itinerary-history-table th:nth-child(4){width:205px}
.itinerary-history-table th:nth-child(5){width:95px;text-align:center}
.itinerary-history-table th:nth-child(6){width:170px;text-align:center}
.itinerary-history-table th:nth-child(7){width:170px}
.itinerary-history-date,
.itinerary-history-quantity{
  font-variant-numeric:tabular-nums;
  white-space:nowrap;
}
.itinerary-history-quantity{
  text-align:center;
  font-weight:700;
}
.itinerary-history-stock{
  text-align:center;
  white-space:nowrap;
  font-variant-numeric:tabular-nums;
}
.itinerary-history-stock > span{
  display:inline-grid;
  justify-items:center;
  gap:1px;
  min-width:54px;
  vertical-align:middle;
}
.itinerary-history-stock > span[aria-hidden="true"]{
  display:inline-block;
  min-width:10px;
  color:var(--muted);
}
.itinerary-history-stock small{
  color:var(--muted);
  font-size:.62rem;
  line-height:1;
  text-transform:uppercase;
  letter-spacing:.05em;
}
.itinerary-history-stock strong{
  font-size:.88rem;
}

.itinerary-row-submit-form{
  display:none;
}
.itinerary-admin-table-wrap{
  overflow-x:auto;
  overflow-y:visible;
  border:1px solid rgba(122,98,70,.12);
  border-radius:18px;
}
.itinerary-table{
  min-width:1180px;
  table-layout:fixed;
}
.itinerary-table col.itinerary-col-category{width:16%}
.itinerary-table col.itinerary-col-name{width:25%}
.itinerary-table col.itinerary-col-stock{width:12%}
.itinerary-table col.itinerary-col-minimum{width:12%}
.itinerary-table col.itinerary-col-active{width:10%}
.itinerary-table col.itinerary-col-status{width:10%}
.itinerary-table col.itinerary-col-actions{width:15%}
.itinerary-table th,
.itinerary-table td{
  vertical-align:middle;
}
.itinerary-table th{
  padding:11px 10px;
  white-space:nowrap;
}
.itinerary-table td{
  padding:9px 8px;
}
.itinerary-table select,
.itinerary-table input[type="text"],
.itinerary-table input[type="number"]{
  width:100%;
  min-width:0;
  margin:0;
  padding:10px 11px;
  border-radius:12px;
}
.itinerary-table .itinerary-stock-heading,
.itinerary-table .itinerary-stock-quantity-cell{
  background:rgba(54,121,82,.055);
}
.itinerary-table .itinerary-minimum-heading,
.itinerary-table .itinerary-minimum-quantity-cell{
  background:rgba(155,111,69,.07);
}
.itinerary-quantity-cell input{
  text-align:right;
  font-variant-numeric:tabular-nums;
}
.itinerary-active-cell,
.itinerary-stock-state,
.itinerary-admin-actions{
  text-align:center;
}
.itinerary-active-control{
  justify-content:center;
  align-items:center;
  gap:7px;
  margin:0;
  white-space:nowrap;
}
.itinerary-active-control input{
  width:18px;
  height:18px;
  margin:0;
}
.itinerary-admin-actions .inline-actions{
  justify-content:center;
  flex-wrap:nowrap;
  gap:7px;
}
.itinerary-admin-actions .button{
  min-width:68px;
  padding:8px 11px;
}

@media (max-width:700px){
  .itinerary-order-table .itinerary-order-action-heading,
  .itinerary-order-table .itinerary-order-action{
    width:220px;
    min-width:220px;
  }
}

/* v40 – historie skladových pohybů, mazání záznamů a vazba na schválené eventy. */
.itinerary-history-form{
  margin:0;
}
.itinerary-history-wrap{
  max-height:620px;
}
.itinerary-history-table{
  min-width:1540px;
  table-layout:fixed;
}
.itinerary-history-table th:nth-child(1){width:48px;text-align:center}
.itinerary-history-table th:nth-child(2){width:145px}
.itinerary-history-table th:nth-child(3){width:190px}
.itinerary-history-table th:nth-child(4){width:125px}
.itinerary-history-table th:nth-child(5){width:240px}
.itinerary-history-table th:nth-child(6){width:90px;text-align:center}
.itinerary-history-table th:nth-child(7){width:235px;text-align:center}
.itinerary-history-table th:nth-child(8){width:150px}
.itinerary-history-table th:nth-child(9){width:160px}
.itinerary-history-table th:nth-child(10){width:105px;text-align:center}
.itinerary-history-check{
  width:48px;
  min-width:48px;
  text-align:center !important;
}
.itinerary-history-check input{
  width:18px;
  height:18px;
  margin:0;
}
.itinerary-history-note{
  display:block;
  margin-top:5px;
  color:var(--muted);
  font-size:.68rem;
  line-height:1.3;
}
.itinerary-history-quantity.is-negative{
  color:var(--danger);
}
.itinerary-history-quantity.is-positive{
  color:#2c6b36;
}
.itinerary-history-stock{
  display:table-cell;
}
.itinerary-history-stock .itinerary-history-minimum{
  margin-left:8px;
  padding-left:8px;
  border-left:1px solid rgba(122,98,70,.18);
}
.itinerary-history-event a{
  color:var(--text);
  text-decoration:none;
}
.itinerary-history-event a:hover{
  text-decoration:underline;
}
.itinerary-history-actions{
  text-align:center;
}
.itinerary-history-actions .button{
  min-width:76px;
}
.itinerary-history-bulk-actions{
  justify-content:flex-end;
}
.itinerary-history-bulk-actions .button{
  min-width:155px;
}

/* v41 – přesné sloupce itineráře, vyhledávání položek a filtrování/export historie. */
.itinerary-table{
  min-width:1260px;
}
.itinerary-table col.itinerary-col-id{width:6%}
.itinerary-table col.itinerary-col-category{width:14%}
.itinerary-table col.itinerary-col-name{width:24%}
.itinerary-table col.itinerary-col-stock{width:11%}
.itinerary-table col.itinerary-col-minimum{width:11%}
.itinerary-table col.itinerary-col-active{width:10%}
.itinerary-table col.itinerary-col-status{width:10%}
.itinerary-table col.itinerary-col-actions{width:14%}
.itinerary-id-heading,
.itinerary-item-id,
.itinerary-active-heading,
.itinerary-status-heading,
.itinerary-actions-heading,
.itinerary-active-cell,
.itinerary-stock-state,
.itinerary-admin-actions{
  text-align:center !important;
  vertical-align:middle !important;
}
.itinerary-active-cell,
.itinerary-stock-state,
.itinerary-admin-actions{
  display:table-cell !important;
}
.itinerary-item-id{
  color:var(--muted);
  font-variant-numeric:tabular-nums;
  white-space:nowrap;
}
.itinerary-item-id strong{
  display:inline-flex;
  min-width:48px;
  justify-content:center;
  padding:6px 8px;
  border:1px solid rgba(66,97,130,.18);
  border-radius:10px;
  background:rgba(231,240,250,.72);
  color:#24496c;
}
.itinerary-active-control{
  display:inline-flex !important;
  width:auto;
  min-height:40px;
  justify-content:center !important;
  vertical-align:middle;
}
.itinerary-stock-state .badge{
  display:inline-flex;
  justify-content:center;
  min-width:88px;
}

.itinerary-autocomplete{
  position:relative;
  display:grid;
  grid-template-columns:minmax(0,1fr);
  gap:3px;
  width:100%;
}
body:not(.auth-page--login) .event-form .event-table--itinerary .itinerary-autocomplete input[data-itinerary-autocomplete]{
  width:100% !important;
  min-width:0 !important;
  padding-right:34px;
  background-color:#fff;
  background-image:linear-gradient(45deg,transparent 50%,#8b6b50 50%),linear-gradient(135deg,#8b6b50 50%,transparent 50%);
  background-position:calc(100% - 17px) 50%,calc(100% - 12px) 50%;
  background-size:5px 5px,5px 5px;
  background-repeat:no-repeat;
}
.itinerary-autocomplete-status{
  display:block;
  min-height:0;
  color:#47705a;
  font-size:.62rem;
  line-height:1.2;
}
.itinerary-autocomplete-status:empty{display:none}
.itinerary-autocomplete-status.is-error{color:var(--danger)}

.itinerary-history-filter{
  display:grid;
  grid-template-columns:minmax(320px,1.5fr) minmax(220px,.7fr) auto;
  gap:12px;
  align-items:end;
  padding:14px;
  border:1px solid rgba(66,97,130,.16);
  border-radius:16px;
  background:rgba(255,255,255,.76);
}
.itinerary-history-filter label{
  display:grid;
  gap:6px;
  margin:0;
}
.itinerary-history-filter label > span{
  color:var(--muted);
  font-size:.72rem;
  text-transform:uppercase;
  letter-spacing:.04em;
}
.itinerary-history-filter input,
.itinerary-history-filter select{
  width:100%;
  min-height:42px;
  margin:0;
}
.itinerary-history-filter-actions{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:8px;
  flex-wrap:wrap;
}
.itinerary-history-export::before{
  content:'X';
  display:inline-grid;
  width:19px;
  height:19px;
  margin-right:6px;
  place-items:center;
  border-radius:4px;
  background:#217346;
  color:#fff;
  font-size:.68rem;
  font-weight:800;
  line-height:1;
}
.itinerary-history-item-id{
  display:block;
  margin-top:3px;
  color:#56708a;
  font-size:.67rem;
  font-variant-numeric:tabular-nums;
}
@media (max-width:1100px){
  .itinerary-history-filter{grid-template-columns:1fr 1fr}
  .itinerary-history-filter-actions{grid-column:1 / -1;justify-content:flex-start}
}
@media (max-width:700px){
  .itinerary-history-filter{grid-template-columns:1fr}
  .itinerary-history-filter-actions{grid-column:auto}
}

/* v42 – objednané a skutečně naskladněné kusy + horní hromadné mazání historie. */
.itinerary-order-table{
  min-width:1580px;
}
.itinerary-order-table .itinerary-restock-heading,
.itinerary-order-table .itinerary-restock-action{
  width:230px;
  min-width:230px;
}
.itinerary-order-table .itinerary-order-action-heading,
.itinerary-order-table .itinerary-order-action{
  width:238px;
  min-width:238px;
}
.itinerary-ordered-quantity strong{
  display:inline-flex;
  min-width:54px;
  justify-content:center;
  padding:6px 9px;
  border:1px solid rgba(66,97,130,.18);
  border-radius:10px;
  background:rgba(231,240,250,.72);
  color:#24496c;
}
.itinerary-restock-action{
  text-align:center !important;
}
.itinerary-restock-control{
  display:grid;
  grid-template-columns:minmax(82px,96px) auto;
  gap:7px;
  align-items:end;
  justify-content:center;
}
.itinerary-restock-control label{
  display:grid;
  gap:3px;
  margin:0;
}
.itinerary-restock-control label > span{
  color:var(--muted);
  font-size:.64rem;
  line-height:1;
  white-space:nowrap;
}
.itinerary-restock-control input{
  width:100%;
  min-width:0;
  margin:0;
  padding:8px 9px;
  text-align:right;
  font-variant-numeric:tabular-nums;
}
.itinerary-restock-control .button{
  min-width:108px;
  white-space:nowrap;
}
.itinerary-history-head-actions{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:10px;
  flex-wrap:wrap;
}
.itinerary-history-head-actions .button{
  min-width:155px;
}
@media (max-width:700px){
  .itinerary-history-head-actions{
    width:100%;
    justify-content:flex-start;
  }
}

/* v44 – sjednocené zarovnání administrace itineráře a stejně malé tlačítko odebrání jako v ostatních tabulkách Event formu. */
.itinerary-table th,
.itinerary-table td{
  box-sizing:border-box;
  vertical-align:middle !important;
}
.itinerary-table .itinerary-id-heading,
.itinerary-table .itinerary-item-id{
  text-align:center !important;
}
.itinerary-table th:nth-child(2),
.itinerary-table th:nth-child(3){
  padding-left:19px !important;
  text-align:left !important;
}
.itinerary-table th:nth-child(4),
.itinerary-table th:nth-child(5){
  padding-right:19px !important;
  text-align:right !important;
}
.itinerary-table .itinerary-active-heading,
.itinerary-table .itinerary-status-heading,
.itinerary-table .itinerary-actions-heading,
.itinerary-table .itinerary-active-cell,
.itinerary-table .itinerary-stock-state,
.itinerary-table .itinerary-admin-actions{
  padding-left:10px !important;
  padding-right:10px !important;
  text-align:center !important;
  vertical-align:middle !important;
}
body:not(.auth-page--login) .event-form .event-table--itinerary .sales-offer-controls{
  display:grid !important;
  grid-template-columns:16px 20px !important;
  justify-content:end !important;
  align-items:center !important;
  gap:6px !important;
}
body:not(.auth-page--login) .event-form .event-table--itinerary .itinerary-row-remove,
body:not(.auth-page--login) .event-form .event-table--itinerary .sales-offer-controls .button[data-remove-row]{
  display:inline-grid !important;
  place-items:center !important;
  flex:0 0 20px !important;
  width:20px !important;
  min-width:20px !important;
  max-width:20px !important;
  height:20px !important;
  min-height:20px !important;
  max-height:20px !important;
  margin:0 !important;
  padding:0 !important;
  border-radius:2px !important;
  font-size:.68rem !important;
  line-height:1 !important;
}

/* v47 – čitelná historie inventáře pro všechna oprávnění a šířky obrazovky. */
.itinerary-history-panel,
.itinerary-history-form,
.itinerary-history-wrap,
.itinerary-admin-table-wrap{
  min-width:0;
  max-width:100%;
}
.itinerary-history-panel{
  container-name:itinerary-history;
  container-type:inline-size;
}
.itinerary-history-panel > .panel-head{
  align-items:flex-start;
}
.itinerary-history-panel > .panel-head > div:first-child{
  min-width:0;
}
.itinerary-history-panel > .panel-head p{
  max-width:100%;
  margin-bottom:0;
}
.itinerary-history-wrap{
  max-height:none !important;
  overflow-x:auto !important;
  overflow-y:visible !important;
  overscroll-behavior-inline:contain;
  scrollbar-gutter:stable;
}
.itinerary-history-table{
  width:100% !important;
  min-width:1060px !important;
  table-layout:auto !important;
}
.itinerary-history-table--editable{
  min-width:1240px !important;
}
.itinerary-history-table th,
.itinerary-history-table td{
  min-width:0 !important;
  padding:10px 11px !important;
  vertical-align:middle !important;
  overflow-wrap:break-word;
  word-break:normal;
}
.itinerary-history-table th{
  white-space:normal;
}
.itinerary-history-table th.itinerary-history-col-check,
.itinerary-history-table td.itinerary-history-cell-check{
  width:44px !important;
  min-width:44px !important;
  text-align:center !important;
}
.itinerary-history-table th.itinerary-history-col-date,
.itinerary-history-table td.itinerary-history-cell-date{
  width:126px !important;
  min-width:126px !important;
}
.itinerary-history-table th.itinerary-history-col-item,
.itinerary-history-table td.itinerary-history-cell-item{
  width:150px !important;
  min-width:150px !important;
}
.itinerary-history-table th.itinerary-history-col-category,
.itinerary-history-table td.itinerary-history-cell-category{
  width:112px !important;
  min-width:112px !important;
}
.itinerary-history-table th.itinerary-history-col-activity,
.itinerary-history-table td.itinerary-history-cell-activity{
  width:215px !important;
  min-width:215px !important;
}
.itinerary-history-table th.itinerary-history-col-change,
.itinerary-history-table td.itinerary-history-cell-change{
  width:78px !important;
  min-width:78px !important;
  text-align:center !important;
}
.itinerary-history-table th.itinerary-history-col-stock,
.itinerary-history-table td.itinerary-history-cell-stock{
  width:176px !important;
  min-width:176px !important;
  text-align:center !important;
}
.itinerary-history-table th.itinerary-history-col-event,
.itinerary-history-table td.itinerary-history-cell-event{
  width:155px !important;
  min-width:155px !important;
}
.itinerary-history-table th.itinerary-history-col-user,
.itinerary-history-table td.itinerary-history-cell-user{
  width:145px !important;
  min-width:145px !important;
}
.itinerary-history-table th.itinerary-history-col-actions,
.itinerary-history-table td.itinerary-history-cell-actions{
  width:92px !important;
  min-width:92px !important;
  text-align:center !important;
}
.itinerary-history-date{
  white-space:normal !important;
}
.itinerary-history-date-value{
  display:grid;
  gap:2px;
  font-variant-numeric:tabular-nums;
  line-height:1.2;
}
.itinerary-history-date-value small{
  color:var(--muted);
  font-size:.72rem;
}
.itinerary-history-cell-item strong,
.itinerary-history-cell-event strong,
.itinerary-history-cell-user{
  overflow-wrap:anywhere;
}
.itinerary-history-cell-activity > .badge{
  max-width:100%;
  white-space:normal;
  text-align:left;
  line-height:1.25;
}
.itinerary-history-quantity{
  white-space:nowrap !important;
}
.itinerary-history-stock{
  display:table-cell !important;
  white-space:nowrap !important;
}
.itinerary-history-stock > span{
  min-width:42px !important;
}
.itinerary-history-actions .button{
  min-width:0 !important;
  width:auto;
  max-width:100%;
  padding:7px 9px;
  white-space:nowrap;
}
.itinerary-history-filter{
  grid-template-columns:minmax(260px,1.35fr) minmax(190px,.65fr) minmax(285px,auto) !important;
  width:100%;
  max-width:100%;
}
.itinerary-history-filter > *{
  min-width:0;
}
.itinerary-history-filter-actions{
  min-width:0;
  flex-wrap:wrap;
}
.itinerary-history-filter-actions .button{
  min-width:0;
  padding-left:12px;
  padding-right:12px;
  white-space:nowrap;
}
.itinerary-order-table{
  width:100% !important;
  min-width:0 !important;
  table-layout:fixed !important;
}
.itinerary-order-table th,
.itinerary-order-table td{
  min-width:0 !important;
  padding-left:7px !important;
  padding-right:7px !important;
  overflow-wrap:anywhere;
}
.itinerary-order-table .itinerary-restock-heading,
.itinerary-order-table .itinerary-restock-action,
.itinerary-order-table .itinerary-order-action-heading,
.itinerary-order-table .itinerary-order-action{
  width:auto !important;
  min-width:0 !important;
}
@container itinerary-history (max-width:920px){
  .itinerary-history-panel > .panel-head{
    align-items:stretch;
    flex-direction:column;
  }
  .itinerary-history-head-actions{
    width:100%;
    justify-content:flex-start;
  }
  .itinerary-history-filter{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  }
  .itinerary-history-filter-actions{
    grid-column:1 / -1;
    justify-content:flex-start;
  }
}
@container itinerary-history (max-width:560px){
  .itinerary-history-filter{
    grid-template-columns:1fr !important;
  }
  .itinerary-history-filter-actions{
    grid-column:auto;
    align-items:stretch;
    flex-direction:column;
  }
  .itinerary-history-filter-actions .button,
  .itinerary-history-head-actions .button{
    width:100%;
  }
}
@media (max-width:1200px){
  .itinerary-history-filter{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  }
  .itinerary-history-filter-actions{
    grid-column:1 / -1;
    justify-content:flex-start;
  }
}
@media (max-width:980px){
  .itinerary-history-panel > .panel-head{
    align-items:stretch;
    flex-direction:column;
  }
  .itinerary-history-head-actions{
    width:100%;
    justify-content:flex-start;
  }
  .itinerary-history-wrap{
    overflow:visible !important;
    border:0;
    border-radius:0;
    background:transparent;
  }
  .itinerary-history-table,
  .itinerary-history-table--editable,
  .itinerary-history-table--readonly,
  .itinerary-history-table tbody{
    display:block;
    width:100% !important;
    min-width:0 !important;
  }
  .itinerary-history-table thead{
    position:absolute !important;
    width:1px !important;
    height:1px !important;
    padding:0 !important;
    margin:-1px !important;
    overflow:hidden !important;
    clip:rect(0,0,0,0) !important;
    clip-path:inset(50%) !important;
    white-space:nowrap !important;
    border:0 !important;
  }
  .itinerary-history-table tbody{
    display:grid;
    gap:12px;
  }
  .itinerary-history-table tbody tr{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:0 16px;
    padding:12px 14px;
    border:1px solid rgba(66,97,130,.18);
    border-radius:16px;
    background:rgba(255,255,255,.9);
    box-shadow:0 8px 22px rgba(58,43,29,.06);
  }
  .itinerary-history-table tbody td,
  .itinerary-history-table td.itinerary-history-cell-check,
  .itinerary-history-table td.itinerary-history-cell-date,
  .itinerary-history-table td.itinerary-history-cell-item,
  .itinerary-history-table td.itinerary-history-cell-category,
  .itinerary-history-table td.itinerary-history-cell-activity,
  .itinerary-history-table td.itinerary-history-cell-change,
  .itinerary-history-table td.itinerary-history-cell-stock,
  .itinerary-history-table td.itinerary-history-cell-event,
  .itinerary-history-table td.itinerary-history-cell-user,
  .itinerary-history-table td.itinerary-history-cell-actions{
    display:block !important;
    width:auto !important;
    min-width:0 !important;
    padding:9px 0 !important;
    border-bottom:1px dashed rgba(122,98,70,.18);
    text-align:left !important;
    white-space:normal !important;
  }
  .itinerary-history-table tbody td::before{
    content:attr(data-label);
    display:block;
    margin-bottom:4px;
    color:var(--muted);
    font-size:.64rem;
    font-weight:700;
    line-height:1.2;
    letter-spacing:.06em;
    text-transform:uppercase;
  }
  .itinerary-history-table tbody tr > td:last-child{
    border-bottom:0;
  }
  .itinerary-history-cell-item,
  .itinerary-history-cell-activity{
    grid-column:1 / -1;
  }
  .itinerary-history-table td.itinerary-history-cell-check{
    display:flex !important;
    align-items:center;
    gap:10px;
  }
  .itinerary-history-table td.itinerary-history-cell-check::before{
    margin:0;
  }
  .itinerary-history-stock{
    display:flex !important;
    align-items:flex-end;
    justify-content:flex-start;
    gap:5px;
    flex-wrap:wrap;
  }
  .itinerary-history-stock::before{
    flex:0 0 100%;
  }
  .itinerary-history-stock .itinerary-history-minimum{
    margin-left:6px;
    padding-left:8px;
  }
  .itinerary-history-actions .button{
    width:100%;
  }
  .itinerary-admin-table-wrap{
    overflow-x:auto !important;
  }
  .itinerary-order-table{
    min-width:1180px !important;
  }
}
@media (max-width:560px){
  .itinerary-history-filter{
    grid-template-columns:1fr !important;
  }
  .itinerary-history-filter-actions{
    grid-column:auto;
    align-items:stretch;
    flex-direction:column;
  }
  .itinerary-history-filter-actions .button,
  .itinerary-history-head-actions .button{
    width:100%;
  }
  .itinerary-history-table tbody tr{
    grid-template-columns:1fr;
  }
  .itinerary-history-cell-item,
  .itinerary-history-cell-activity{
    grid-column:auto;
  }
}

/* v46 – kompaktní ovládání objednání a oddělené objednané / přijaté množství. */
.visually-hidden{
  position:absolute !important;
  width:1px !important;
  height:1px !important;
  padding:0 !important;
  margin:-1px !important;
  overflow:hidden !important;
  clip:rect(0,0,0,0) !important;
  white-space:nowrap !important;
  border:0 !important;
}
.itinerary-order-table th:nth-child(1){width:3%}
.itinerary-order-table th:nth-child(2){width:8%}
.itinerary-order-table th:nth-child(3){width:14%}
.itinerary-order-table th:nth-child(4),
.itinerary-order-table th:nth-child(5),
.itinerary-order-table th:nth-child(6){width:6.5%}
.itinerary-order-table th:nth-child(7){width:8%}
.itinerary-order-table th:nth-child(8){width:16%}
.itinerary-order-table th:nth-child(9){width:14%}
.itinerary-order-table th:nth-child(10){width:17.5%}
.itinerary-order-quantity-control{
  display:inline-block;
  margin:0;
}
.itinerary-order-quantity-control input{
  width:72px;
  min-width:0;
  margin:0;
  padding:7px 8px;
  text-align:right;
  font-variant-numeric:tabular-nums;
}
.itinerary-restock-control{
  grid-template-columns:minmax(64px,78px) 34px !important;
  gap:6px !important;
  align-items:end !important;
}
.itinerary-restock-control .button,
.itinerary-icon-button{
  display:inline-grid !important;
  place-items:center !important;
  width:34px !important;
  min-width:34px !important;
  max-width:34px !important;
  height:34px !important;
  min-height:34px !important;
  max-height:34px !important;
  margin:0 !important;
  padding:0 !important;
  border-radius:10px !important;
}
.itinerary-icon-button svg{
  width:18px;
  height:18px;
  pointer-events:none;
}
.itinerary-icon-button--restock,
.itinerary-icon-button--ordered{
  border-color:#946438 !important;
  background:#946438 !important;
  color:#fff !important;
}
.itinerary-icon-button--restock:hover,
.itinerary-icon-button--ordered:hover{
  background:#7f542e !important;
}
.itinerary-icon-button--cancel{
  border:1px solid rgba(140,59,53,.32) !important;
  background:#fff !important;
  color:var(--danger) !important;
}
.itinerary-icon-button--cancel:hover{
  background:#fff0ed !important;
}
.itinerary-ordered-actions,
.itinerary-pending-order-actions{
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  gap:7px !important;
  flex-wrap:nowrap !important;
}
.itinerary-ordered-meta{
  max-width:165px !important;
  padding:6px 8px !important;
}
.itinerary-ordered-meta small{
  font-size:.62rem !important;
  line-height:1.2 !important;
}
.itinerary-order-table .badge{
  max-width:100%;
  white-space:normal;
  line-height:1.2;
}
@media (max-width:1100px){
  .itinerary-order-table{min-width:1120px !important}
}


/* v47: evidence částečně dodaných objednávek */
.itinerary-ordered-quantity{
  display:table-cell;
  vertical-align:middle;
}
.itinerary-ordered-quantity > strong{
  display:block;
}
.itinerary-undelivered-badge{
  display:inline-flex;
  margin-top:5px;
  border-color:#e0b15f !important;
  background:#fff1cf !important;
  color:#7a4b00 !important;
  white-space:nowrap !important;
}
.itinerary-history-undelivered{
  display:inline-flex;
  margin:4px 0 0;
  border-color:#e0b15f !important;
  background:#fff1cf !important;
  color:#7a4b00 !important;
  white-space:nowrap;
}
.itinerary-history-delivery-summary{
  display:block;
  margin-top:4px;
  color:var(--muted);
  font-size:.68rem;
  line-height:1.25;
}

/* v50 – lokální nabídku lze odstranit přímo z Event formu. */
.event-offer-version-chip{
  display:inline-flex;
  align-items:center;
  overflow:hidden;
  border:1px solid rgba(155,111,69,.3);
  border-radius:999px;
  background:#fff;
}
.event-offer-version-chip .event-offer-version-button{
  min-height:27px;
  border:0;
  border-radius:0;
}
.event-offer-version-chip .event-offer-version-button:hover{
  background:#f7eee4;
}
.event-offer-version-delete{
  display:inline-grid;
  width:28px;
  min-width:28px;
  height:27px;
  place-items:center;
  padding:0;
  border:0;
  border-left:1px solid rgba(155,111,69,.22);
  background:#fff;
  color:#a9433c;
  cursor:pointer;
}
.event-offer-version-delete:hover{
  background:#fff0ed;
  color:#8c302a;
}
.event-offer-version-delete:disabled{
  cursor:wait;
  opacity:.5;
}
.event-offer-version-delete svg{
  width:13px;
  height:13px;
  pointer-events:none;
}

/* Event header, multiple payers and current event statuses. */
.page-header--actions-only{
  justify-content:flex-end;
  min-height:0;
}
.event-form > .event-template-picker-panel,
.event-form > .template-editor-meta{
  grid-column:1 / -1;
}
.event-template-picker-panel{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(280px,420px);
  align-items:end;
  gap:22px;
  border:2px solid rgba(155,111,69,.28);
  background:linear-gradient(135deg,rgba(255,255,255,.98),rgba(250,239,224,.94));
}
.event-header-brand--compact{
  min-height:62px;
}
.event-header-brand--compact .eyebrow{
  margin-bottom:4px;
}
.event-header-brand--compact p{
  margin:0;
}
.event-header-primary-grid{
  display:grid;
  grid-template-columns:minmax(0,1.35fr) minmax(300px,.65fr);
  gap:18px;
  align-items:start;
}
.event-header-column{
  display:grid;
  gap:12px;
  min-width:0;
}
.event-header-column--right{
  padding-left:18px;
  border-left:1px solid var(--line);
}
.event-header-row{
  display:grid;
  gap:10px;
  min-width:0;
}
.event-header-row--three{
  grid-template-columns:minmax(140px,.72fr) minmax(190px,1fr) minmax(190px,1fr);
}
.event-header-row--two{
  grid-template-columns:repeat(2,minmax(0,1fr));
}
.event-header-secondary-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:14px;
  padding-top:16px;
  border-top:1px solid var(--line);
}
.field-label{
  display:block;
  font-size:.9rem;
  font-weight:600;
}
.field-help{
  display:block;
  color:var(--muted);
  font-size:.76rem;
  line-height:1.4;
}
.payer-editor{
  display:grid;
  gap:12px;
  padding:14px;
  border:1px solid var(--line);
  border-radius:16px;
  background:rgba(255,255,255,.58);
}
.payer-editor__head{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:14px;
}
.payer-rows{
  display:grid;
  gap:10px;
}
.payer-row{
  position:relative;
  display:grid;
  grid-template-columns:minmax(250px,1.35fr) minmax(210px,.65fr) 42px;
  gap:10px;
  align-items:end;
  padding:12px;
  border:1px solid rgba(122,98,70,.16);
  border-radius:14px;
  background:#fff;
}
.payer-row__address{
  grid-column:1 / 3;
  min-height:18px;
  color:var(--muted);
  font-size:.76rem;
  line-height:1.35;
}
.payer-row__remove{
  grid-column:3;
  grid-row:1;
  align-self:end;
  width:38px;
  height:38px;
  border:1px solid #e3c7c4;
  border-radius:999px;
  background:#fff3f1;
  color:#8c3b35;
  cursor:pointer;
  font-size:1.25rem;
}
.status-select--offer{
  background:#dbe7f3;
  border-color:#97aec8;
}
.status-select--offer_sent{
  background:#e7e0f4;
  border-color:#b5a3d0;
}
.status-select--in_progress{
  background:#d8f1ea;
  border-color:#7fb7a9;
}
.status-select--confirmed{
  background:#b7d39b;
  border-color:#7ea05c;
}
.status-select--closed{
  background:#d7d7d7;
  border-color:#a8a8a8;
  color:#2b2b2b;
}
.status-select--cancelled_no_realization,
.status-select--cancelled_no_response,
.status-select--cancelled_capacity,
.status-select--cancelled_competition,
.status-select--cancelled_budget{
  background:#ec8b85;
  border-color:#cf5f58;
  color:#311313;
}
@media (max-width:1280px){
  .event-header-primary-grid{
    grid-template-columns:1fr;
  }
  .event-header-column--right{
    padding-left:0;
    padding-top:14px;
    border-left:0;
    border-top:1px solid var(--line);
  }
}
@media (max-width:900px){
  .event-template-picker-panel,
  .event-header-secondary-grid,
  .event-header-row--three,
  .event-header-row--two{
    grid-template-columns:1fr;
  }
  .event-header-secondary-grid .span-2,
  .payer-editor.span-2{
    grid-column:1;
  }
  .payer-row{
    grid-template-columns:1fr 44px;
  }
  .payer-row > label{
    grid-column:1;
  }
  .payer-row__address{
    grid-column:1;
  }
  .payer-row__remove{
    grid-column:2;
    grid-row:1;
  }
  .payer-editor__head{
    flex-direction:column;
  }
}


/* v43 – výběr šablony je vždy první blok nového eventu. */
body:not(.auth-page--login) .event-form.event-form--with-template-panel{
  grid-template-areas:
    "template template"
    "header header"
    "notes todo"
    "summary summary"
    "commercial commercial"
    "staff staff"
    "actions actions" !important;
}
body:not(.auth-page--login) .event-form.event-form--with-template-panel > .event-template-picker-panel,
body:not(.auth-page--login) .event-form.event-form--with-template-panel > .template-editor-meta{
  grid-area:template;
  grid-column:1 / -1 !important;
  align-self:start;
}
@media (max-width:1100px){
  body:not(.auth-page--login) .event-form.event-form--with-template-panel{
    grid-template-areas:
      "template"
      "header"
      "notes"
      "todo"
      "summary"
      "commercial"
      "staff"
      "actions" !important;
  }
}


/* v59 DB firem: hromadné mazání pouze nepoužitých záznamů */
.contact-directory__head-actions{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:10px;
  flex-wrap:wrap;
}
.contact-directory__head-actions form{margin:0}
.contact-select-col{
  width:42px;
  text-align:center !important;
}
.contact-select-col input[type="checkbox"]{
  width:17px;
  height:17px;
  margin:0;
}
.contacts-table tr:has([data-contact-select]:checked){
  background:rgba(155,111,69,.08);
}
@media (max-width:720px){
  .contact-directory__head-actions{
    width:100%;
    justify-content:flex-start;
  }
}

/* v60 – Sekce 4/5, více rolí a samostatný TO-DO LIST. */
body:not(.auth-page--login) .event-form .section-five-grid{
  display:grid !important;
  grid-template-columns:minmax(0,1fr) !important;
  gap:12px !important;
}
body:not(.auth-page--login) .event-form .section-five-grid > label,
body:not(.auth-page--login) .event-form .section-five-grid > .span-2{
  grid-column:1 !important;
  width:100%;
  min-width:0;
}
body:not(.auth-page--login) .event-form .section-five-grid textarea{
  width:100%;
}
.todo-section-groups{
  display:grid;
  grid-template-columns:minmax(0,1fr);
  gap:12px;
}
.todo-section-card{
  display:grid;
  gap:12px;
  padding:14px;
  border:1px solid rgba(122,98,70,.18);
  border-radius:16px;
  background:rgba(255,255,255,.66);
}
.todo-section-card__head{
  display:grid;
  gap:4px;
}
.todo-section-card__head h4,
.todo-section-card__head p{
  margin:0;
}
.todo-section-card__head h4{
  font-size:1.05rem;
}
.todo-section-card__tasks{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:8px;
}
.todo-task-card{
  min-width:0;
  min-height:52px;
  align-items:center;
}
.todo-task-card > span{
  min-width:0;
  overflow-wrap:anywhere;
}
.todo-shared-notes{
  display:grid;
  gap:8px;
  margin-top:14px;
  padding-top:14px;
  border-top:1px solid rgba(122,98,70,.2);
}
.todo-shared-notes > span{
  font-weight:700;
  letter-spacing:.08em;
}
.event-template-preview-notes--single{
  grid-template-columns:minmax(0,1fr) !important;
}

.toolbar-actions{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:10px;
  flex-wrap:wrap;
}
.panel-head--compact{
  align-items:flex-start;
  margin-bottom:0;
}
.empty-state{
  padding:24px;
  border:1px dashed rgba(122,98,70,.28);
  border-radius:18px;
  background:rgba(251,247,241,.72);
  color:var(--muted);
  text-align:center;
}
.center{
  text-align:center !important;
}

.todo-page-head{
  display:grid;
  gap:18px;
  margin-bottom:20px;
}
.todo-page-head > .panel-head{
  align-items:flex-start;
  margin-bottom:0;
}
.todo-page-head h3{
  margin-bottom:6px;
}
.todo-page-head p{
  margin:0;
}
.todo-tabs{
  display:flex;
  gap:8px;
  flex-wrap:wrap;
  padding:6px;
  border:1px solid var(--line);
  border-radius:18px;
  background:rgba(251,247,241,.74);
}
.todo-tab{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:42px;
  padding:9px 15px;
  border-radius:13px;
  color:var(--muted);
  font-weight:700;
}
.todo-tab:hover{
  background:rgba(155,111,69,.08);
  color:var(--ink);
}
.todo-tab.is-active{
  background:linear-gradient(135deg,var(--accent),var(--accent-dark));
  color:#fff;
  box-shadow:0 8px 18px rgba(155,111,69,.2);
}
.todo-filter-form{
  display:grid;
  gap:16px;
  padding:16px;
  border:1px solid rgba(122,98,70,.16);
  border-radius:20px;
  background:rgba(255,255,255,.58);
}
.form-grid--todo-filters{
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:12px;
}
.email-template-card__body fieldset{
  min-width:0;
  margin:0;
  padding:14px;
  border:1px solid var(--line);
  border-radius:16px;
}
.email-template-card__body legend{
  padding:0 8px;
  font-weight:700;
}
.todo-filter-form .toolbar-actions{
  justify-content:flex-start;
}
.todo-table-wrap{
  max-width:100%;
}
.todo-event-table{
  min-width:1040px;
}
.todo-event-table.has-task-columns{
  min-width:1160px;
}
.todo-event-table th,
.todo-event-table td,
.todo-plan-table th,
.todo-plan-table td{
  vertical-align:top;
}
.todo-event-table th:nth-child(1),
.todo-event-table td:nth-child(1){
  min-width:150px;
}
.todo-event-table th:nth-child(4),
.todo-event-table td:nth-child(4){
  min-width:190px;
}
.todo-event-table th:nth-child(5),
.todo-event-table td:nth-child(5){
  min-width:240px;
}
.todo-check-cell{
  min-width:118px;
  text-align:center;
}
.todo-check-cell form{
  margin:0;
}
.todo-status-toggle{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  min-width:96px;
  padding:8px 10px;
  border:1px solid var(--line);
  border-radius:999px;
  background:var(--paper-soft);
  cursor:pointer;
  white-space:nowrap;
}
.todo-status-toggle:has(input:checked){
  border-color:rgba(40,89,69,.28);
  background:#e6f2eb;
  color:var(--success);
}
.todo-status-toggle input{
  width:17px;
  height:17px;
  margin:0;
  flex:0 0 auto;
}
.todo-status-toggle span{
  font-size:.78rem;
  font-weight:700;
}
.todo-notes-cell{
  min-width:270px;
}
.todo-notes-cell form{
  display:grid;
  gap:8px;
  margin:0;
}
.todo-notes-cell textarea{
  min-height:76px;
  padding:10px 11px;
  border-radius:12px;
  font-size:.84rem;
}
.todo-notes-cell .button{
  justify-self:start;
}
.todo-long-copy{
  min-width:260px;
  max-width:420px;
  white-space:normal;
  overflow-wrap:anywhere;
  line-height:1.55;
}
.todo-plan-table{
  min-width:1100px;
}
.todo-plan-table tr.is-complete{
  background:rgba(40,89,69,.045);
}
.todo-plan-table tr.is-complete td{
  color:#5b6b63;
}

.todo-settings-table{
  min-width:1050px;
}
.todo-settings-table td:first-child{
  min-width:220px;
}
.todo-settings-table input[type="number"],
.todo-settings-table input[type="time"]{
  min-width:120px;
  padding:10px 11px;
  border-radius:12px;
}
.todo-settings-table input[type="checkbox"]{
  width:19px;
  height:19px;
}
.email-template-stack{
  display:grid;
  gap:12px;
}
.email-template-card{
  overflow:hidden;
  border:1px solid var(--line);
  border-radius:18px;
  background:rgba(255,255,255,.72);
}
.email-template-card > summary{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:15px 17px;
  cursor:pointer;
  list-style:none;
}
.email-template-card > summary::-webkit-details-marker{
  display:none;
}
.email-template-card > summary::after{
  content:"+";
  display:grid;
  place-items:center;
  width:30px;
  height:30px;
  border-radius:50%;
  background:var(--paper-soft);
  font-weight:700;
}
.email-template-card[open] > summary::after{
  content:"−";
}
.email-template-card > summary > span{
  display:grid;
  gap:3px;
}
.email-template-card > summary small{
  color:var(--muted);
}
.email-template-card__body{
  padding:0 17px 17px;
  border-top:1px solid rgba(229,218,203,.72);
}
.email-template-card__body > :first-child{
  margin-top:16px;
}
.user-role-block .recipient-grid,
.email-template-card__body .recipient-grid{
  grid-template-columns:repeat(3,minmax(0,1fr));
}

@media (max-width:1280px){
  .form-grid--todo-filters{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .user-role-block .recipient-grid,
  .email-template-card__body .recipient-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}
@media (max-width:900px){
  .todo-section-card__tasks,
  .form-grid--todo-filters,
  .user-role-block .recipient-grid,
  .email-template-card__body .recipient-grid{
    grid-template-columns:minmax(0,1fr);
  }
  .form-grid--todo-filters .span-2{
    grid-column:1;
  }
  .todo-page-head > .panel-head{
    align-items:flex-start;
    flex-direction:column;
  }
  .todo-page-head .toolbar-actions{
    justify-content:flex-start;
  }
}
@media (max-width:640px){
  .todo-tabs{
    display:grid;
    grid-template-columns:minmax(0,1fr);
  }
  .todo-tab{
    justify-content:flex-start;
  }
  .toolbar-actions{
    justify-content:flex-start;
  }
  .toolbar-actions .button{
    width:100%;
  }
}

/* Dynamic Section 4 / TO-DO administration */
.todo-selection-help{
  margin:0 0 14px;
  padding:11px 13px;
  border:1px solid rgba(155,111,69,.2);
  border-radius:14px;
  background:rgba(255,255,255,.54);
}
.form-error{
  margin:14px 0 0;
  padding:11px 13px;
  border:1px solid rgba(140,59,53,.28);
  border-radius:13px;
  background:#fff0ed;
  color:#8c3b35;
  font-weight:600;
}
.todo-task-settings .table-wrap{
  overflow:visible;
}
.todo-task-admin-table{
  width:100%;
  min-width:0;
  table-layout:fixed;
  font-size:.74rem;
}
.todo-task-admin-table th,
.todo-task-admin-table td{
  min-width:0;
  padding:7px 5px;
  vertical-align:middle;
  overflow-wrap:anywhere;
}
.todo-task-admin-table th{
  font-size:.68rem;
  line-height:1.2;
}
.todo-task-admin-table th:nth-child(1){width:18%}
.todo-task-admin-table th:nth-child(2){width:12%}
.todo-task-admin-table th:nth-child(3){width:5%}
.todo-task-admin-table th:nth-child(4){width:7%}
.todo-task-admin-table th:nth-child(5){width:9%}
.todo-task-admin-table th:nth-child(6){width:10%}
.todo-task-admin-table th:nth-child(7){width:10%}
.todo-task-admin-table th:nth-child(8){width:10%}
.todo-task-admin-table th:nth-child(9){width:8%}
.todo-task-admin-table th:nth-child(10){width:11%}
.todo-task-admin-table td small{
  display:block;
  margin-top:4px;
  font-size:.61rem;
  line-height:1.25;
}
.todo-task-admin-table input[type="text"],
.todo-task-admin-table input[type="number"],
.todo-task-admin-table input[type="time"],
.todo-task-admin-table select{
  width:100%;
  min-width:0 !important;
  padding:7px 6px !important;
  border-radius:10px !important;
  font-size:.72rem !important;
}
.todo-task-admin-table input[type="checkbox"]{
  width:16px;
  height:16px;
}
.todo-task-admin-table .button-small{
  width:100%;
  min-width:0;
  padding:7px 6px;
  font-size:.68rem;
  white-space:normal;
  line-height:1.15;
}
.todo-task-admin-table tr.is-hidden-task{
  background:rgba(106,96,82,.055);
}
.todo-task-admin-table tr.is-hidden-task td:not(:last-child){
  opacity:.62;
}
.todo-task-admin-table tr.is-hidden-task td:last-child{
  opacity:1;
}
.todo-task-admin-table tr[data-new-todo-task="1"]{
  background:rgba(230,242,235,.5);
}
.outlook-calendar-settings .panel-head{
  align-items:flex-start;
}
.outlook-settings-grid{
  grid-template-columns:repeat(2,minmax(0,1fr));
}
.badge-warning{
  background:#fff4d8;
  color:#765512;
  border-color:#ead39c;
}
.alert-warning{
  background:#fff7df;
  color:#6f5419;
  border-color:#ead49b;
}
.todo-check-cell.is-not-selected{
  background:rgba(106,96,82,.035);
}
.todo-not-selected{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:34px;
  padding:7px 10px;
  border:1px dashed rgba(106,96,82,.28);
  border-radius:999px;
  color:var(--muted);
  font-size:.78rem;
  white-space:nowrap;
}

@media (max-width:1200px){
  .todo-task-settings .table-wrap{overflow:visible}
  .todo-task-admin-table,
  .todo-task-admin-table tbody,
  .todo-task-admin-table tr{
    display:block;
    width:100%;
  }
  .todo-task-admin-table thead{display:none}
  .todo-task-admin-table tbody{
    display:grid;
    gap:12px;
  }
  .todo-task-admin-table tr{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:9px 12px;
    padding:12px;
    border:1px solid var(--line);
    border-radius:16px;
    background:rgba(255,255,255,.62);
  }
  .todo-task-admin-table td{
    display:grid;
    align-content:start;
    gap:5px;
    width:auto !important;
    padding:0;
    border:0;
    opacity:1 !important;
  }
  .todo-task-admin-table td::before{
    content:attr(data-label);
    color:var(--muted);
    font-size:.66rem;
    font-weight:600;
    line-height:1.2;
  }
  .todo-task-admin-table td.center{
    justify-items:start;
    text-align:left;
  }
  .todo-task-admin-table td[data-label="Název položky"],
  .todo-task-admin-table td[data-label="Akce"]{
    grid-column:1 / -1;
  }
  .todo-task-admin-table .button-small{width:auto;min-width:110px}
}
@media (max-width:640px){
  .todo-task-admin-table tr{grid-template-columns:minmax(0,1fr)}
  .todo-task-admin-table td[data-label="Název položky"],
  .todo-task-admin-table td[data-label="Akce"]{grid-column:1}
}

@media (max-width:900px){
  .outlook-settings-grid{grid-template-columns:minmax(0,1fr)}
  .outlook-settings-grid .span-2{grid-column:1}
}


/* v66 compact calculation summary and task completion action */
.summary-ledger{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr);
  gap:12px;
  align-items:start;
}
.summary-ledger__column{
  min-width:0;
  overflow:hidden;
  border:1px solid rgba(137,105,73,.2);
  border-radius:8px;
  background:rgba(255,255,255,.56);
}
.summary-ledger__header,
.summary-ledger__row{
  display:grid;
  align-items:center;
  min-height:30px;
  border-bottom:1px solid rgba(137,105,73,.16);
}
.summary-ledger__header:last-child,
.summary-ledger__row:last-child{
  border-bottom:0;
}
.summary-ledger__header--costs,
.summary-ledger__column--costs .summary-ledger__row{
  grid-template-columns:minmax(150px,1.6fr) minmax(92px,.8fr) minmax(76px,.58fr);
}
.summary-ledger__header--revenue,
.summary-ledger__row--revenue{
  grid-template-columns:minmax(170px,1.7fr) minmax(105px,.85fr);
}
.summary-ledger__header{
  min-height:32px;
  background:rgba(157,105,58,.1);
  font-size:.7rem;
  letter-spacing:.035em;
  text-transform:uppercase;
}
.summary-ledger__header > *,
.summary-ledger__row > *{
  min-width:0;
  margin:0;
  padding:5px 8px;
}
.summary-ledger__header > * + *,
.summary-ledger__row > * + *{
  border-left:1px solid rgba(137,105,73,.14);
}
.summary-ledger__row{
  font-size:.74rem;
  line-height:1.2;
}
.summary-ledger__row > span:first-child{
  font-weight:600;
}
.summary-ledger__row > strong{
  font-size:.76rem;
  white-space:nowrap;
}
.summary-ledger__row.is-over-limit > strong{
  color:#b42318;
  background:rgba(180,35,24,.08);
}
.summary-ledger__percent-input{
  display:flex !important;
  align-items:center;
  gap:3px !important;
  min-width:0;
  padding:2px 6px !important;
}
.summary-ledger__percent-input input[type="number"]{
  width:100% !important;
  min-width:0 !important;
  min-height:24px !important;
  height:24px !important;
  padding:2px 5px !important;
  border-radius:4px !important;
  font-size:.72rem !important;
  text-align:right;
}
.summary-ledger__percent-input > span{
  flex:0 0 auto;
  font-size:.7rem;
  font-weight:700;
}
.summary-ledger__empty{
  color:var(--muted);
  text-align:center;
}
.todo-plan-action-cell{
  min-width:82px;
  text-align:center;
}
.todo-plan-action-cell form{
  margin:0;
}
.todo-plan-done-button{
  min-width:70px;
  padding:6px 10px !important;
}
.todo-plan-complete-label{
  color:var(--success);
  font-size:.75rem;
  font-weight:700;
}
@media (max-width:900px){
  .summary-ledger{grid-template-columns:1fr}
}
@media (max-width:560px){
  .summary-ledger__header--costs,
  .summary-ledger__column--costs .summary-ledger__row{
    grid-template-columns:minmax(120px,1.35fr) minmax(84px,.8fr) minmax(68px,.58fr);
  }
  .summary-ledger__header--revenue,
  .summary-ledger__row--revenue{
    grid-template-columns:minmax(145px,1.4fr) minmax(96px,.8fr);
  }
  .summary-ledger__header > *,
  .summary-ledger__row > *{padding:5px 6px}
}

/* Event form row controls: add new rows below the table, directly above totals. */
body:not(.auth-page--login) .event-form .section-row-actions{
  display:flex;
  justify-content:flex-end;
  align-items:center;
  min-height:28px;
  margin-top:-2px;
}
body:not(.auth-page--login) .event-form .section-row-actions .button{
  margin:0;
}
body:not(.auth-page--login) .event-form .row-action-controls{
  display:flex;
  align-items:center;
  justify-content:center;
  min-height:24px;
}
body:not(.auth-page--login) .event-form .event-table-action-heading{
  padding-left:4px !important;
  padding-right:4px !important;
}
body:not(.auth-page--login) .event-form .event-table--cost-general col.col-actions,
body:not(.auth-page--login) .event-form .event-table--cost-other-excluded col.col-actions,
body:not(.auth-page--login) .event-form .event-table--cost-staff col.col-actions{
  width:42px !important;
}


/* Event collaboration: active editors in the header, no blocking pop-up. */
.event-section--header .panel-head--section-controls{
  display:grid;
  grid-template-columns:auto minmax(320px,1fr) auto;
  align-items:start;
  column-gap:18px;
  row-gap:10px;
}
.event-collaboration-head{
  min-width:0;
  display:grid;
  grid-template-columns:auto minmax(0,1fr);
  align-items:center;
  gap:6px 10px;
  padding:7px 10px;
  border:1px solid rgba(122,98,70,.16);
  border-radius:14px;
  background:rgba(255,255,255,.58);
}
.event-collaboration-head__label{
  color:var(--muted);
  font-size:.72rem;
  white-space:nowrap;
}
.event-collaboration-editors{
  min-width:0;
  display:flex;
  align-items:center;
  gap:6px;
  flex-wrap:wrap;
}
.event-collaboration-editor{
  display:inline-flex;
  align-items:center;
  gap:5px;
  min-height:24px;
  padding:3px 8px;
  border:1px solid rgba(122,98,70,.16);
  border-radius:999px;
  background:#fff;
  font-size:.72rem;
  line-height:1.1;
}
.event-collaboration-editor i{
  width:7px;
  height:7px;
  border-radius:50%;
  background:#45a06b;
  box-shadow:0 0 0 3px rgba(69,160,107,.12);
}
.event-collaboration-editor strong{font-size:.74rem;font-weight:600}
.event-collaboration-editor small{color:var(--muted);font-size:.66rem}
.event-collaboration-editor.is-current{background:#eef7f1;border-color:#cce5d5}
.event-collaboration-editor--loading{color:var(--muted);background:rgba(255,255,255,.5)}
.event-collaboration-editor--loading i{display:none}
.event-collaboration-editor__changed{
  display:inline-flex;
  align-items:center;
  min-height:17px;
  padding:2px 6px;
  border-radius:999px;
  background:#f4dfbf;
  color:#77501f;
  font-size:.62rem;
  font-weight:700;
  white-space:nowrap;
}
.event-collaboration-head__status{
  grid-column:1 / -1;
  padding:0;
  font-size:.7rem;
  line-height:1.2;
}
.event-section--header .panel-head--section-controls .section-head-actions--top-level{
  margin-left:0;
}
@media (max-width:1280px){
  .event-section--header .panel-head--section-controls{
    grid-template-columns:auto minmax(0,1fr);
  }
  .event-section--header .panel-head--section-controls .section-head-actions--top-level{
    grid-column:1 / -1;
    justify-content:flex-end;
  }
}
@media (max-width:820px){
  .event-section--header .panel-head--section-controls{
    grid-template-columns:1fr;
  }
  .event-collaboration-head,
  .event-section--header .panel-head--section-controls .section-head-actions--top-level{
    grid-column:1;
    width:100%;
  }
  .event-collaboration-head{grid-template-columns:1fr}
  .event-collaboration-head__status{grid-column:1}
  .event-section--header .panel-head--section-controls .section-head-actions--top-level{justify-content:flex-start}
}

/* v39 - Sekce 3, polovicni plan personalu a sprava seznamu obleceni. */
body:not(.auth-page--login) .event-form-commercial-columns__left{
  display:grid;
  grid-template-columns:minmax(0,1fr);
  gap:18px;
  align-content:start;
  min-width:0;
}
body:not(.auth-page--login) .event-form-commercial-columns .event-section--staff{
  grid-area:auto !important;
  grid-column:1 !important;
  order:initial !important;
  min-width:0;
}
body:not(.auth-page--login) .event-form .event-meta-grid--staff{
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:12px;
}
body:not(.auth-page--login) .event-form .event-meta-grid--staff .span-2{grid-column:span 2}
body:not(.auth-page--login) .event-form .event-meta-grid--staff .span-3{grid-column:1 / -1}
body:not(.auth-page--login) .event-form .clothing-set{
  min-width:0;
  margin:0;
  padding:12px;
  border:1px solid rgba(47,129,93,.22);
  border-radius:14px;
  background:rgba(255,255,255,.62);
}
body:not(.auth-page--login) .event-form .clothing-set legend{
  padding:0 7px;
  color:#275f49;
  font-size:.8rem;
  font-weight:700;
}
body:not(.auth-page--login) .event-form .clothing-set__grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:8px;
}
body:not(.auth-page--login) .event-form .clothing-set__grid label{
  min-width:0;
  display:grid;
  gap:5px;
}
body:not(.auth-page--login) .event-form .clothing-set__grid label > span{
  min-height:2.5em;
  font-size:.65rem;
  line-height:1.25;
}
body:not(.auth-page--login) .event-form .clothing-set__grid input{
  min-width:0;
  width:100%;
  padding:7px 8px;
  font-size:.7rem;
}
body:not(.auth-page--login) .event-form .event-section--staff .summary-grid.compact{
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:8px;
}
body:not(.auth-page--login) .event-form .event-section--staff .summary-card{
  min-width:0;
  padding:10px 11px;
  border-radius:14px;
}
body:not(.auth-page--login) .event-form .event-section--staff .summary-card small{
  font-size:.64rem;
  line-height:1.25;
}
body:not(.auth-page--login) .event-form .event-section--staff .summary-card strong{font-size:.92rem}
body:not(.auth-page--login) .event-form .event-table--staff-plan{
  width:100%;
  min-width:0;
  table-layout:fixed;
}
body:not(.auth-page--login) .event-form .event-table--staff-plan col.col-position{width:14.5%}
body:not(.auth-page--login) .event-form .event-table--staff-plan col.col-count{width:6.25%}
body:not(.auth-page--login) .event-form .event-table--staff-plan col.col-rate{width:7.25%}
body:not(.auth-page--login) .event-form .event-table--staff-plan col.col-arrival,
body:not(.auth-page--login) .event-form .event-table--staff-plan col.col-departure{width:20.75%}
body:not(.auth-page--login) .event-form .event-table--staff-plan col.col-hours-total{width:7.25%}
body:not(.auth-page--login) .event-form .event-table--staff-plan col.col-per-person-total{width:9%}
body:not(.auth-page--login) .event-form .event-table--staff-plan col.col-grand-total{width:9%}
body:not(.auth-page--login) .event-form .event-table.event-table--staff-plan col.col-actions{width:4.5% !important}
body:not(.auth-page--login) .event-form .event-table--staff-plan th,
body:not(.auth-page--login) .event-form .event-table--staff-plan td{
  min-width:0 !important;
  padding:3px 2px !important;
  font-size:.58rem;
  line-height:1.15;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
body:not(.auth-page--login) .event-form .event-table--staff-plan th:last-child,
body:not(.auth-page--login) .event-form .event-table--staff-plan td:last-child{
  width:auto !important;
  min-width:0 !important;
}
body:not(.auth-page--login) .event-form .event-table.event-table--staff-plan input:not([type="hidden"]){
  width:100%;
  min-width:0 !important;
  padding:3px 2px !important;
  font-size:.61rem !important;
}
body:not(.auth-page--login) .event-form .event-table.event-table--staff-plan [data-plan-count],
body:not(.auth-page--login) .event-form .event-table.event-table--staff-plan [data-plan-rate]{
  min-width:0 !important;
}
body:not(.auth-page--login) .event-form .event-table--staff-plan strong{
  display:block;
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  font-size:.58rem;
  text-align:center;
  font-variant-numeric:tabular-nums;
}
body:not(.auth-page--login) .event-form .event-table--staff-plan .plan-datetime-heading{
  white-space:nowrap;
}
body:not(.auth-page--login) .event-form .event-table--staff-plan .plan-datetime-heading small{
  display:inline;
  font-size:inherit;
  font-weight:inherit;
}
body:not(.auth-page--login) .event-form .event-table--staff-plan .plan-datetime{
  min-width:0;
  display:grid;
  grid-template-columns:minmax(0,1.7fr) minmax(0,1fr);
  gap:2px;
  align-items:center;
}
body:not(.auth-page--login) .event-form .event-table.event-table--staff-plan input[type="date"],
body:not(.auth-page--login) .event-form .event-table.event-table--staff-plan input[type="time"]{
  min-width:0 !important;
  width:100%;
  padding:2px 1px !important;
  font-size:.55rem !important;
  font-variant-numeric:tabular-nums;
}
body:not(.auth-page--login) .event-form .event-table.event-table--staff-plan input[type="date"]::-webkit-calendar-picker-indicator,
body:not(.auth-page--login) .event-form .event-table.event-table--staff-plan input[type="time"]::-webkit-calendar-picker-indicator{
  width:12px;
  height:12px;
  margin:0;
  padding:0;
}
body:not(.auth-page--login) .event-form .event-table--staff-plan .row-action-controls .button{
  width:22px;
  min-width:22px;
  height:22px;
  padding:0;
}
body:not(.auth-page--login) .event-form .event-section--staff .table-wrap{
  overflow-x:hidden;
}
body:not(.auth-page--login) .event-form .section-row-actions--staff-plan,
body:not(.auth-page--login) .event-form .section-row-actions--itinerary{
  margin-top:8px;
}

.clothing-settings-genders{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:18px;
}
.clothing-settings-card,
.clothing-settings-gender{
  min-width:0;
  display:grid;
  gap:12px;
  padding:16px;
  border:1px solid var(--line);
  border-radius:18px;
  background:rgba(255,255,255,.72);
}
.clothing-settings-card h4,
.clothing-settings-gender h5{margin:0}
.clothing-settings-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
}
.clothing-settings-grid label{
  min-width:0;
  display:grid;
  gap:6px;
}
.clothing-settings-grid textarea{
  width:100%;
  min-height:150px;
  resize:vertical;
}

@media (max-width:1350px){
  body:not(.auth-page--login) .event-form .clothing-set__grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  body:not(.auth-page--login) .event-form .clothing-set__grid label > span{min-height:auto}
}
@media (max-width:1100px){
  body:not(.auth-page--login) .event-form .event-meta-grid--staff{grid-template-columns:repeat(2,minmax(0,1fr))}
  body:not(.auth-page--login) .event-form .event-meta-grid--staff .span-2,
  body:not(.auth-page--login) .event-form .event-meta-grid--staff .span-3{grid-column:1 / -1}
}
@media (max-width:900px){
  .clothing-settings-genders{grid-template-columns:1fr}
}
@media (max-width:700px){
  body:not(.auth-page--login) .event-form .event-meta-grid--staff,
  body:not(.auth-page--login) .event-form .clothing-set__grid,
  body:not(.auth-page--login) .event-form .event-section--staff .summary-grid.compact,
  .clothing-settings-grid{grid-template-columns:1fr}
  body:not(.auth-page--login) .event-form .event-meta-grid--staff .span-2,
  body:not(.auth-page--login) .event-form .event-meta-grid--staff .span-3{grid-column:1}
  body:not(.auth-page--login) .event-form .event-table--staff-plan{min-width:760px}
  body:not(.auth-page--login) .event-form .event-section--staff .table-wrap{overflow-x:auto}
}


/* Statistiky – stabilní rozložení filtrů, exportu a výsledků na všech šířkách. */
.analytics-filter-panel{
  container-name:analytics-filter;
  container-type:inline-size;
  min-width:0;
  padding:18px 20px;
  overflow:visible;
}
.analytics-form{
  display:grid !important;
  grid-template-columns:minmax(0,1fr) !important;
  gap:16px;
  min-width:0;
  max-width:100%;
}
.analytics-form > *{
  min-width:0;
}
.analytics-form > .analytics-filters,
.analytics-form > .analytics-export-builder,
.analytics-form > .analytics-filter-actions{
  grid-column:1 / -1 !important;
  width:100%;
}
.analytics-filters{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(150px,1fr)) !important;
  gap:12px;
  align-items:end;
  min-width:0;
  width:100%;
}
.analytics-filters label{
  min-width:0;
  gap:6px;
}
.analytics-filters label > span{
  min-width:0;
  color:var(--muted);
  font-size:.78rem;
  line-height:1.25;
  white-space:normal !important;
  overflow-wrap:anywhere;
}
.analytics-filters input,
.analytics-filters select{
  width:100%;
  min-width:0;
  padding:10px 11px;
  border-radius:12px;
  font-size:.86rem;
}
.analytics-filter-search{
  grid-column:span 2;
}
.analytics-filter-actions{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:9px;
  flex-wrap:wrap !important;
  padding-bottom:1px;
}
.analytics-filter-actions .button{
  min-width:0;
  padding:10px 14px;
  font-size:.84rem;
  white-space:nowrap;
}
.analytics-export-builder{
  min-width:0;
  border-top:1px solid var(--line);
  padding-top:14px;
}
.analytics-export-head{
  display:grid !important;
  grid-template-columns:minmax(0,1fr) minmax(340px,520px);
  align-items:end !important;
  gap:18px;
  margin-bottom:12px;
}
.analytics-export-copy{
  min-width:0;
  max-width:76ch;
}
.analytics-export-copy p{
  margin-bottom:0;
}
.analytics-export-add{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:9px;
  align-items:center;
  width:100%;
  min-width:0;
}
.analytics-export-add select{
  width:100%;
  min-width:0;
}
.analytics-export-add .button{
  white-space:nowrap;
}
.analytics-export-fields{
  display:grid;
  gap:8px;
  min-width:0;
}
.analytics-export-field{
  display:grid;
  grid-template-columns:34px minmax(0,1fr) auto auto;
  align-items:center;
  gap:10px;
  min-width:0;
  padding:9px 10px;
  border:1px solid var(--line);
  border-radius:12px;
  background:rgba(255,255,255,.72);
}
.analytics-export-field-index{
  font-weight:700;
  color:var(--muted);
  text-align:center;
}
.analytics-export-field > strong{
  min-width:0;
  overflow-wrap:anywhere;
}
.analytics-export-field > .badge{
  justify-self:start;
  white-space:nowrap;
}
.analytics-export-field-actions{
  display:flex;
  gap:5px;
  justify-content:flex-end;
  min-width:0;
}
.analytics-export-field-actions .button{
  width:34px;
  min-width:34px;
  height:34px;
  padding:0;
}
.analytics-export-field-actions .button:disabled{
  opacity:.35;
  cursor:not-allowed;
}
.analytics-results-panel{
  container-name:analytics-results;
  container-type:inline-size;
  min-width:0;
  margin-top:18px;
}
.analytics-empty-state{
  display:grid;
  gap:4px;
  margin:0;
}
.analytics-results-wrap{
  max-width:100%;
  overflow-x:auto;
  overscroll-behavior-inline:contain;
  scrollbar-gutter:stable;
}
.analytics-results-table{
  width:100%;
  min-width:920px;
  table-layout:auto;
}
.analytics-results-table th,
.analytics-results-table td{
  min-width:0;
  vertical-align:middle;
  overflow-wrap:break-word;
}
.analytics-results-table .analytics-result-date,
.analytics-results-table .analytics-result-count{
  white-space:nowrap;
  font-variant-numeric:tabular-nums;
}
.analytics-results-table .analytics-result-count{
  text-align:right;
}
.analytics-results-table .analytics-result-code{
  min-width:120px;
}
@container analytics-filter (max-width:1120px){
  .analytics-export-head{
    grid-template-columns:1fr;
    align-items:stretch !important;
  }
  .analytics-export-add{
    max-width:none;
  }
}
@container analytics-filter (max-width:900px){
  .analytics-filters{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  }
  .analytics-filter-search{
    grid-column:1 / -1;
  }
  .analytics-filter-actions{
    justify-content:flex-start;
  }
}
@container analytics-filter (max-width:560px){
  .analytics-filters{
    grid-template-columns:1fr !important;
  }
  .analytics-filter-search{
    grid-column:auto;
  }
  .analytics-export-add{
    grid-template-columns:1fr;
  }
  .analytics-export-add .button,
  .analytics-filter-actions .button{
    width:100%;
  }
  .analytics-filter-actions{
    align-items:stretch;
    flex-direction:column;
  }
  .analytics-export-field{
    grid-template-columns:26px minmax(0,1fr);
    align-items:start;
  }
  .analytics-export-field > .badge{
    grid-column:2;
  }
  .analytics-export-field-actions{
    grid-column:1 / -1;
    padding-top:7px;
    border-top:1px dashed rgba(122,98,70,.18);
  }
}
@media (max-width:1100px){
  .analytics-filters{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  }
  .analytics-filter-search{
    grid-column:1 / -1;
  }
  .analytics-export-head{
    grid-template-columns:1fr;
    align-items:stretch !important;
  }
  .analytics-filter-actions{
    justify-content:flex-start;
  }
}
@media (max-width:980px){
  .analytics-results-panel > .panel-head{
    align-items:flex-start;
    flex-direction:column;
  }
  .analytics-results-wrap{
    overflow:visible;
  }
  .analytics-results-table,
  .analytics-results-table tbody{
    display:block;
    width:100%;
    min-width:0;
  }
  .analytics-results-table thead{
    position:absolute !important;
    width:1px !important;
    height:1px !important;
    padding:0 !important;
    margin:-1px !important;
    overflow:hidden !important;
    clip:rect(0,0,0,0) !important;
    clip-path:inset(50%) !important;
    white-space:nowrap !important;
    border:0 !important;
  }
  .analytics-results-table tbody{
    display:grid;
    gap:12px;
  }
  .analytics-results-table tbody tr{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:0 16px;
    padding:12px 14px;
    border:1px solid var(--line);
    border-radius:16px;
    background:rgba(255,255,255,.9);
  }
  .analytics-results-table tbody td{
    display:block;
    min-width:0;
    padding:9px 0 !important;
    border-bottom:1px dashed rgba(122,98,70,.18);
    text-align:left !important;
    white-space:normal !important;
  }
  .analytics-results-table tbody td::before{
    content:attr(data-label);
    display:block;
    margin-bottom:4px;
    color:var(--muted);
    font-size:.64rem;
    font-weight:700;
    line-height:1.2;
    letter-spacing:.06em;
    text-transform:uppercase;
  }
  .analytics-results-table tbody tr > td:last-child{
    border-bottom:0;
  }
  .analytics-results-table tbody td[data-label="Finální klient"],
  .analytics-results-table tbody td[data-label="Odběratelé"]{
    grid-column:1 / -1;
  }
}
@media (max-width:560px){
  .analytics-filter-panel{
    padding:14px;
  }
  .analytics-filters{
    grid-template-columns:1fr !important;
  }
  .analytics-filter-search{
    grid-column:auto;
  }
  .analytics-export-add{
    grid-template-columns:1fr;
  }
  .analytics-export-add .button,
  .analytics-filter-actions .button{
    width:100%;
  }
  .analytics-filter-actions{
    align-items:stretch;
    flex-direction:column;
  }
  .analytics-export-field{
    grid-template-columns:26px minmax(0,1fr);
    align-items:start;
  }
  .analytics-export-field > .badge{
    grid-column:2;
  }
  .analytics-export-field-actions{
    grid-column:1 / -1;
    padding-top:7px;
    border-top:1px dashed rgba(122,98,70,.18);
  }
  .analytics-results-table tbody tr{
    grid-template-columns:1fr;
  }
  .analytics-results-table tbody td[data-label="Finální klient"],
  .analytics-results-table tbody td[data-label="Odběratelé"]{
    grid-column:auto;
  }
}

.event-header-row--four{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.summary-ledger__row.is-negative > strong{color:#b42318;background:rgba(180,35,24,.08)}
@media (max-width:1100px){.event-header-row--four{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:640px){.event-header-row--four{grid-template-columns:1fr}}

/* Nastavení doručování e-mailů a Gmail OAuth2. */
.email-delivery-settings{display:grid;gap:16px}
.email-settings-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.settings-details{
  border:1px solid var(--line);
  border-radius:16px;
  background:var(--paper-soft);
  overflow:hidden;
}
.settings-details summary{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:14px 16px;
  cursor:pointer;
  list-style:none;
}
.settings-details summary::-webkit-details-marker{display:none}
.settings-details summary small{color:var(--muted);font-weight:400;text-align:right}
.settings-details[open] summary{border-bottom:1px solid var(--line)}
.settings-details>.form-grid,
.settings-details>.google-oauth-actions,
.settings-details>p{margin:14px 16px}
.google-oauth-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.email-test-row{display:grid;grid-template-columns:minmax(240px,1fr) auto;gap:12px;align-items:end}
.email-test-row .button{white-space:nowrap}
@media (max-width:760px){
  .email-settings-grid,.email-test-row{grid-template-columns:1fr}
  .email-settings-grid .span-2{grid-column:auto}
  .settings-details summary{align-items:flex-start;flex-direction:column}
}
.env-example{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:14px 16px}
.env-example code{display:block;padding:9px 11px;border:1px solid var(--line);border-radius:10px;background:rgba(255,255,255,.8);overflow-wrap:anywhere}
@media (max-width:760px){.env-example{grid-template-columns:1fr}}

/* Section color controls: always show/edit an explicit HEX value. */
body:not(.auth-page--login) .event-form .section-color-control .section-color-hex{
  width:78px !important;
  min-width:78px !important;
  height:24px !important;
  min-height:24px !important;
  padding:2px 6px !important;
  border:1px solid var(--line) !important;
  border-radius:4px !important;
  background:#fff !important;
  color:var(--text) !important;
  font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;
  font-size:.68rem !important;
  line-height:1 !important;
  text-transform:uppercase;
}
body:not(.auth-page--login) .event-form .section-color-control .section-color-hex.is-invalid{
  border-color:var(--danger) !important;
  box-shadow:0 0 0 2px rgba(177,77,69,.12);
}
@media (max-width:900px){
  body:not(.auth-page--login) .event-form .section-color-control .section-color-hex{
    width:72px !important;
    min-width:72px !important;
  }
}
.outlook-recipient-settings{
  min-width:0;
  margin:2px 0 0;
  padding:16px;
  border:1px solid var(--line);
  border-radius:18px;
  background:rgba(255,255,255,.46);
}
.outlook-recipient-settings legend{
  padding:0 8px;
  font-weight:700;
  color:var(--ink);
}
.outlook-recipient-settings>.small-note{
  margin:0 0 12px;
}
@media (max-width:760px){
  .outlook-settings-grid{grid-template-columns:1fr}
}

/* v31 dashboard calendar with agenda */
.dashboard-overview--news{
  grid-template-columns:minmax(0,1fr) !important;
}

.dashboard-calendar{
  --calendar-in-progress:#747b80;
  --calendar-in-progress-soft:#eef0f1;
  --calendar-confirmed:#39785d;
  --calendar-confirmed-soft:#e8f4ed;
  --calendar-preparation:#39785d;
  --calendar-preparation-soft:#e8f4ed;
  --calendar-cancelled:#b44740;
  --calendar-cancelled-soft:#fae9e7;
  margin-bottom:20px;
  overflow:hidden;
}

.dashboard-calendar__header,
.dashboard-calendar__toolbar{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
}

.dashboard-calendar__header{
  padding-bottom:18px;
  border-bottom:1px solid var(--line);
}

.dashboard-calendar__header .eyebrow{
  margin-bottom:.35rem;
}

.dashboard-calendar__header h2{
  font-size:clamp(1.65rem,2.4vw,2.2rem);
}

.dashboard-calendar__header-actions,
.dashboard-calendar__views,
.dashboard-calendar__period-nav,
.dashboard-calendar__legend{
  display:flex;
  align-items:center;
}

.dashboard-calendar__header-actions{
  gap:10px;
  flex-wrap:wrap;
  justify-content:flex-end;
}

.dashboard-calendar__views{
  padding:4px;
  border:1px solid var(--line);
  border-radius:999px;
  background:#f5f0e9;
}

.dashboard-calendar__view,
.dashboard-calendar__today,
.dashboard-calendar__nav{
  appearance:none;
  border:0;
  cursor:pointer;
  color:var(--ink);
  font:inherit;
}

.dashboard-calendar__view{
  padding:9px 15px;
  border-radius:999px;
  background:transparent;
  color:var(--muted);
  font-size:.82rem;
  font-weight:700;
  transition:background .18s ease,color .18s ease,box-shadow .18s ease;
}

.dashboard-calendar__view:hover{
  color:var(--ink);
}

.dashboard-calendar__view.is-active{
  background:#fff;
  color:var(--accent-dark);
  box-shadow:0 5px 14px rgba(72,52,34,.1);
}

.dashboard-calendar__today{
  padding:10px 16px;
  border:1px solid var(--line);
  border-radius:999px;
  background:#fff;
  font-size:.82rem;
  font-weight:700;
}

.dashboard-calendar__today:hover{
  border-color:rgba(155,111,69,.5);
  color:var(--accent-dark);
}

.dashboard-calendar__toolbar{
  min-height:62px;
  padding:12px 0;
}

.dashboard-calendar__period-nav{
  min-width:270px;
  gap:12px;
}

.dashboard-calendar__period-nav strong{
  min-width:180px;
  text-align:center;
  font-size:1rem;
}

.dashboard-calendar__nav{
  width:36px;
  height:36px;
  display:grid;
  place-items:center;
  border:1px solid var(--line);
  border-radius:50%;
  background:#fff;
  font-size:1.45rem;
  line-height:1;
}

.dashboard-calendar__nav:hover{
  border-color:rgba(155,111,69,.5);
  color:var(--accent-dark);
  background:#fffaf4;
}

.dashboard-calendar__legend{
  justify-content:flex-end;
  flex-wrap:wrap;
  gap:8px 14px;
  color:var(--muted);
  font-size:.72rem;
  font-weight:700;
}

.dashboard-calendar__legend span{
  display:inline-flex;
  align-items:center;
  gap:6px;
  white-space:nowrap;
}

.dashboard-calendar__dot{
  width:8px;
  height:8px;
  border-radius:50%;
  background:var(--accent);
}

.dashboard-calendar__dot--in-progress{background:var(--calendar-in-progress)}
.dashboard-calendar__dot--confirmed{background:var(--calendar-confirmed)}
.dashboard-calendar__dot--preparation{background:var(--calendar-preparation)}
.dashboard-calendar__dot--cancelled{background:var(--calendar-cancelled)}

.dashboard-calendar__layout{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(285px,330px);
  height:clamp(590px,72vh,760px);
  min-height:0;
  border:1px solid var(--line);
  border-radius:22px;
  overflow:hidden;
  background:#fff;
}

.dashboard-calendar__main{
  min-width:0;
  min-height:0;
  overflow:auto;
  background:#fff;
}

.dashboard-calendar__grid{
  min-width:720px;
  width:100%;
  height:100%;
  min-height:0;
}

.dashboard-calendar__agenda{
  min-width:0;
  min-height:0;
  display:flex;
  flex-direction:column;
  overflow:hidden;
  border-left:1px solid var(--line);
  background:linear-gradient(180deg,#fbf8f4 0%,#f7f1e9 100%);
}

.dashboard-calendar__agenda-head{
  padding:20px 20px 16px;
  border-bottom:1px solid var(--line);
}

.dashboard-calendar__agenda-head small{
  display:block;
  margin-bottom:4px;
  color:var(--accent-dark);
  font-size:.68rem;
  font-weight:700;
  letter-spacing:.12em;
  text-transform:uppercase;
}

.dashboard-calendar__agenda-head h3{
  font-size:1.05rem;
  line-height:1.3;
}

.dashboard-calendar__agenda-list{
  min-height:0;
  display:grid;
  align-content:start;
  gap:10px;
  padding:16px;
  overflow-y:auto;
}

.calendar-agenda-card{
  position:relative;
  display:grid;
  grid-template-columns:5px minmax(0,1fr);
  gap:11px;
  padding:13px;
  border:1px solid var(--line);
  border-radius:15px;
  background:rgba(255,255,255,.9);
  box-shadow:0 7px 18px rgba(78,57,37,.05);
  transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease;
}

.calendar-agenda-card:hover{
  transform:translateY(-1px);
  border-color:rgba(155,111,69,.38);
  box-shadow:0 10px 22px rgba(78,57,37,.09);
}

.calendar-agenda-card__bar{
  border-radius:999px;
  background:var(--calendar-in-progress);
}

.calendar-agenda-card--confirmed .calendar-agenda-card__bar{background:var(--calendar-confirmed)}
.calendar-agenda-card--preparation .calendar-agenda-card__bar{background:var(--calendar-preparation)}
.calendar-agenda-card--cancelled .calendar-agenda-card__bar{background:var(--calendar-cancelled)}

.calendar-agenda-card__body{
  min-width:0;
  display:grid;
  gap:5px;
}

.calendar-agenda-card__time{
  color:var(--accent-dark);
  font-size:.68rem;
  font-weight:700;
}

.calendar-agenda-card__title{
  overflow:hidden;
  color:var(--ink);
  font-size:.82rem;
  font-weight:700;
  line-height:1.35;
  text-overflow:ellipsis;
}

.calendar-agenda-card__meta{
  display:grid;
  gap:2px;
  color:var(--muted);
  font-size:.67rem;
  line-height:1.35;
}

.calendar-agenda-card__status{
  width:max-content;
  max-width:100%;
  margin-top:2px;
  padding:4px 8px;
  border-radius:999px;
  background:var(--calendar-in-progress-soft);
  color:#555d62;
  font-size:.61rem;
  font-weight:700;
}

.calendar-agenda-card--confirmed .calendar-agenda-card__status{background:var(--calendar-confirmed-soft);color:var(--calendar-confirmed)}
.calendar-agenda-card--preparation .calendar-agenda-card__status{background:var(--calendar-preparation-soft);color:var(--calendar-preparation)}
.calendar-agenda-card--cancelled .calendar-agenda-card__status{background:var(--calendar-cancelled-soft);color:var(--calendar-cancelled)}

.calendar-agenda-empty{
  min-height:190px;
  display:grid;
  place-content:center;
  gap:7px;
  padding:22px;
  text-align:center;
  color:var(--muted);
  border:1px dashed rgba(155,111,69,.28);
  border-radius:16px;
  background:rgba(255,255,255,.5);
}

.calendar-agenda-empty strong{
  color:var(--ink);
  font-size:.84rem;
}

.calendar-agenda-empty span{
  font-size:.7rem;
}

.calendar-month{
  height:100%;
  min-height:0;
  display:grid;
  grid-template-rows:auto minmax(0,1fr);
  overflow:hidden;
}

.calendar-month__weekdays,
.calendar-month__days{
  display:grid;
  grid-template-columns:repeat(7,minmax(100px,1fr));
}

.calendar-month__weekdays{
  position:sticky;
  top:0;
  z-index:3;
  border-bottom:1px solid var(--line);
  background:#f8f4ee;
}

.calendar-month__weekday{
  padding:11px 10px;
  color:var(--muted);
  text-align:center;
  font-size:.67rem;
  font-weight:700;
  letter-spacing:.08em;
  text-transform:uppercase;
}

.calendar-month__days{
  min-height:0;
  grid-template-rows:repeat(6,minmax(0,1fr));
  overflow:hidden;
}

.calendar-month__cell{
  min-width:0;
  min-height:0;
  padding:8px;
  overflow:hidden;
  border-right:1px solid var(--line);
  border-bottom:1px solid var(--line);
  background:#fff;
  cursor:pointer;
  transition:background .14s ease,box-shadow .14s ease;
}

.calendar-month__cell:nth-child(7n){border-right:0}
.calendar-month__cell:hover{background:#fffaf4}
.calendar-month__cell.is-outside{background:#faf8f5;color:#aaa096}
.calendar-month__cell.is-selected{box-shadow:inset 0 0 0 2px rgba(155,111,69,.58)}
.calendar-month__cell.is-today .calendar-month__number{background:var(--accent-dark);color:#fff}

.calendar-month__cell-head{
  min-height:25px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:6px;
  margin-bottom:3px;
}

.calendar-month__number{
  min-width:25px;
  height:25px;
  display:grid;
  place-items:center;
  border-radius:50%;
  color:inherit;
  font-size:.7rem;
  font-weight:700;
}

.calendar-month__count{
  color:var(--muted);
  font-size:.58rem;
  font-weight:700;
}

.calendar-month__events{
  min-height:0;
  display:grid;
  gap:3px;
  overflow:hidden;
}

.calendar-event{
  width:100%;
  min-width:0;
  display:flex;
  align-items:center;
  gap:5px;
  padding:4px 6px;
  border:0;
  border-left:3px solid var(--calendar-in-progress);
  border-radius:6px;
  background:var(--calendar-in-progress-soft);
  color:#4f565b;
  cursor:pointer;
  font:inherit;
  text-align:left;
}

.calendar-event:hover{filter:brightness(.98)}
.calendar-event--confirmed{border-left-color:var(--calendar-confirmed);background:var(--calendar-confirmed-soft);color:#285b45}
.calendar-event--preparation{border-left-color:var(--calendar-preparation);background:var(--calendar-preparation-soft);color:#285b45}
.calendar-event--cancelled{border-left-color:var(--calendar-cancelled);background:var(--calendar-cancelled-soft);color:#8b3e39;text-decoration:line-through}

.calendar-event__time{
  flex:none;
  font-size:.55rem;
  font-weight:700;
}

.calendar-event__title{
  min-width:0;
  overflow:hidden;
  font-size:.6rem;
  font-weight:700;
  text-overflow:ellipsis;
  white-space:nowrap;
}

.calendar-month__more{
  padding:2px 5px;
  color:var(--accent-dark);
  font-size:.58rem;
  font-weight:700;
}

.calendar-week{
  height:100%;
  min-height:0;
  display:grid;
  grid-template-rows:auto minmax(0,1fr);
  overflow:hidden;
}

.calendar-week__headers,
.calendar-week__columns{
  display:grid;
  grid-template-columns:repeat(7,minmax(120px,1fr));
}

.calendar-week__headers{
  position:sticky;
  top:0;
  z-index:3;
  border-bottom:1px solid var(--line);
  background:#f8f4ee;
}

.calendar-week__header{
  padding:12px 8px;
  border-right:1px solid var(--line);
  text-align:center;
}

.calendar-week__header:last-child{border-right:0}
.calendar-week__header small{display:block;color:var(--muted);font-size:.62rem;font-weight:700;text-transform:uppercase}
.calendar-week__header strong{width:31px;height:31px;display:grid;place-items:center;margin:3px auto 0;border-radius:50%;font-size:.83rem}
.calendar-week__header.is-today strong{background:var(--accent-dark);color:#fff}
.calendar-week__header.is-selected{background:#fff7ee}

.calendar-week__columns{
  min-height:0;
  overflow:hidden;
}

.calendar-week__column{
  min-width:0;
  min-height:0;
  padding:9px 7px;
  overflow:hidden;
  border-right:1px solid var(--line);
  background:#fff;
  cursor:pointer;
}

.calendar-week__column:last-child{border-right:0}
.calendar-week__column:hover{background:#fffaf4}
.calendar-week__column.is-selected{box-shadow:inset 0 0 0 2px rgba(155,111,69,.42)}

.calendar-week__events{
  height:100%;
  min-height:0;
  display:grid;
  align-content:start;
  gap:6px;
  padding-right:2px;
  overflow-y:auto;
  overscroll-behavior:contain;
  scrollbar-width:thin;
}

.calendar-week .calendar-event{
  align-items:flex-start;
  flex-direction:column;
  gap:1px;
  padding:8px;
  border-left-width:4px;
}

.calendar-week .calendar-event__time{font-size:.59rem}
.calendar-week .calendar-event__title{width:100%;font-size:.66rem;white-space:normal;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3}

.calendar-week__empty{
  padding:16px 5px;
  color:#b0a69b;
  text-align:center;
  font-size:.62rem;
}

.calendar-day-view{
  min-height:100%;
  background:#fff;
}

.calendar-day-view__head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  padding:18px 22px;
  border-bottom:1px solid var(--line);
  background:#f8f4ee;
}

.calendar-day-view__head small{display:block;color:var(--muted);font-size:.67rem;font-weight:700;text-transform:uppercase}
.calendar-day-view__head strong{font-size:1.15rem}
.calendar-day-view__date-number{width:46px;height:46px;display:grid;place-items:center;border-radius:50%;background:var(--accent-dark);color:#fff;font-size:1.05rem;font-weight:700}

.calendar-day-view__list{
  padding:18px 22px 28px;
}

.calendar-day-view__item{
  display:grid;
  grid-template-columns:85px minmax(0,1fr);
  gap:18px;
  min-height:78px;
}

.calendar-day-view__time{
  padding-top:13px;
  color:var(--muted);
  text-align:right;
  font-size:.7rem;
  font-weight:700;
}

.calendar-day-view__content{
  position:relative;
  padding:11px 0 15px 22px;
  border-left:1px solid var(--line);
}

.calendar-day-view__content::before{
  content:"";
  position:absolute;
  top:17px;
  left:-5px;
  width:9px;
  height:9px;
  border-radius:50%;
  background:var(--calendar-in-progress);
  box-shadow:0 0 0 4px #fff;
}

.calendar-day-view__item--confirmed .calendar-day-view__content::before{background:var(--calendar-confirmed)}
.calendar-day-view__item--preparation .calendar-day-view__content::before{background:var(--calendar-preparation)}
.calendar-day-view__item--cancelled .calendar-day-view__content::before{background:var(--calendar-cancelled)}

.calendar-day-view__card{
  display:block;
  padding:13px 15px;
  border:1px solid var(--line);
  border-left:5px solid var(--calendar-in-progress);
  border-radius:13px;
  background:var(--calendar-in-progress-soft);
}

.calendar-day-view__item--confirmed .calendar-day-view__card{border-left-color:var(--calendar-confirmed);background:var(--calendar-confirmed-soft)}
.calendar-day-view__item--preparation .calendar-day-view__card{border-left-color:var(--calendar-preparation);background:var(--calendar-preparation-soft)}
.calendar-day-view__item--cancelled .calendar-day-view__card{border-left-color:var(--calendar-cancelled);background:var(--calendar-cancelled-soft)}
.calendar-day-view__card strong{display:block;font-size:.83rem;line-height:1.35}
.calendar-day-view__card span{display:block;margin-top:4px;color:var(--muted);font-size:.68rem}

.calendar-day-view__empty{
  min-height:420px;
  display:grid;
  place-content:center;
  gap:6px;
  color:var(--muted);
  text-align:center;
}

.calendar-day-view__empty strong{color:var(--ink);font-size:.9rem}
.calendar-day-view__empty span{font-size:.72rem}

@media (max-width:1200px){
  .dashboard-calendar__layout{
    grid-template-columns:minmax(0,1fr) 285px;
  }
}

@media (max-width:980px){
  .dashboard-calendar__header,
  .dashboard-calendar__toolbar{
    align-items:flex-start;
    flex-direction:column;
  }
  .dashboard-calendar__header-actions,
  .dashboard-calendar__legend{
    justify-content:flex-start;
  }
  .dashboard-calendar__period-nav{
    min-width:0;
  }
  .dashboard-calendar__layout{
    height:auto;
    min-height:0;
    grid-template-columns:1fr;
  }
  .dashboard-calendar__main{
    height:590px;
  }
  .dashboard-calendar__agenda{
    max-height:390px;
    border-top:1px solid var(--line);
    border-left:0;
  }
}

@media (max-width:640px){
  .dashboard-calendar{
    padding:17px;
    border-radius:20px;
  }
  .dashboard-calendar__header-actions{
    width:100%;
  }
  .dashboard-calendar__views{
    flex:1;
  }
  .dashboard-calendar__view{
    flex:1;
    padding-inline:10px;
  }
  .dashboard-calendar__today{
    width:100%;
  }
  .dashboard-calendar__period-nav{
    width:100%;
    justify-content:space-between;
  }
  .dashboard-calendar__period-nav strong{
    min-width:0;
    flex:1;
  }
  .dashboard-calendar__main{
    height:520px;
  }
  .dashboard-calendar__grid{
    min-width:680px;
  }
}


/* Explicit schedule save: date/time changes never participate in general autosave. */
.event-schedule-save{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  padding:13px 15px;
  border:1px solid var(--line);
  border-radius:16px;
  background:rgba(255,255,255,.68);
  transition:border-color .18s ease,background .18s ease,box-shadow .18s ease;
}
.event-schedule-save__copy{
  display:grid;
  gap:3px;
  min-width:0;
}
.event-schedule-save__copy strong{font-size:.86rem}
.event-schedule-save__copy span{color:var(--muted);font-size:.72rem;line-height:1.42}
.event-schedule-save__button{flex:0 0 auto;white-space:nowrap}
.event-schedule-save.is-dirty{
  border-color:#c89555;
  background:#fff8ed;
  box-shadow:0 0 0 3px rgba(200,149,85,.1);
}
.event-schedule-save.is-dirty .event-schedule-save__copy span{color:#805419}
.event-schedule-save.is-success{border-color:#9fc9ac;background:#f1f8f2}
.event-schedule-save.is-error{border-color:#d8a29e;background:#fff2f1}
.event-schedule-save.is-error .event-schedule-save__copy span{color:#9a403a}
.event-schedule-save.is-saving{opacity:.82}
.event-status-save{
  align-items:stretch;
  flex-direction:column;
  gap:10px;
  margin-bottom:12px;
}
.event-status-save__button{width:100%}
@media (max-width:720px){
  .event-schedule-save{align-items:stretch;flex-direction:column}
  .event-schedule-save__button{width:100%}
}

/* User menu permissions */
.user-permission-group__title{
  margin:4px 0 0;
  padding-top:2px;
  font-size:.82rem;
  font-weight:700;
  letter-spacing:.06em;
  text-transform:uppercase;
  color:var(--muted);
}
.user-permission-grid + .user-permission-group__title{
  margin-top:10px;
}
.checkbox-card--locked{
  background:rgba(25,124,91,.055);
  border-color:rgba(25,124,91,.28);
}
.checkbox-card--locked input[type="checkbox"]{
  accent-color:#167d59;
}

/* Receptury / MENU */
.event-section--recipes{
  --recipe-accent:#718c50;
}
.event-section--recipes .panel-head{
  align-items:flex-start;
}
.table-wrap--recipes{
  margin-top:14px;
}
.event-table--recipes .col-label{width:58%}
.event-table--recipes .col-qty{width:18%}
.event-table--recipes .col-actions{width:24%}
.event-recipe-ingredients{
  display:block;
  margin-top:5px;
  color:var(--muted);
  font-size:.72rem;
  line-height:1.35;
}
.section-row-actions--recipes{
  margin-top:12px;
}
.recipe-page-intro .panel-head{
  align-items:flex-start;
}
.recipe-page-intro p{
  max-width:920px;
  margin-bottom:0;
}
.recipe-ingredients-head{
  margin-top:8px;
  padding-top:14px;
  border-top:1px solid var(--line);
}
.recipe-ingredients-table th:first-child,
.recipe-ingredients-table td:first-child{
  min-width:300px;
}
.recipe-ingredients-table th:nth-child(2),
.recipe-ingredients-table td:nth-child(2){min-width:150px}
.recipe-ingredients-table th:nth-child(3),
.recipe-ingredients-table td:nth-child(3){min-width:100px}
.recipe-card-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(300px,1fr));
  gap:14px;
}
.recipe-card{
  display:flex;
  flex-direction:column;
  min-width:0;
  padding:16px;
  border:1px solid var(--line);
  border-radius:18px;
  background:rgba(255,255,255,.78);
  box-shadow:0 8px 24px rgba(82,62,43,.055);
}
.recipe-card.is-inactive{
  opacity:.67;
  background:rgba(244,241,236,.78);
}
.recipe-card__head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px;
}
.recipe-card__head h4{
  margin:0 0 7px;
  font-size:1rem;
}
.recipe-card__head > strong{
  flex:0 0 auto;
  color:var(--muted);
  font-size:.76rem;
  white-space:nowrap;
}
.recipe-ingredient-summary{
  display:grid;
  gap:7px;
  margin:12px 0 0;
  padding:0;
  list-style:none;
}
.recipe-ingredient-summary li{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px;
  padding:8px 10px;
  border:1px solid rgba(167,139,105,.2);
  border-radius:11px;
  background:rgba(248,245,240,.7);
  font-size:.78rem;
}
.recipe-ingredient-summary li strong{
  flex:0 0 auto;
  font-size:.74rem;
  text-align:right;
}
.recipe-card__actions{
  display:flex;
  align-items:center;
  gap:8px;
  margin-top:auto;
  padding-top:14px;
}
.recipe-card__actions form{margin:0}

/* Kontrola zabalení inventáře */
.todo-plan-action-cell{
  min-width:175px;
}
.todo-plan-action-cell > form,
.todo-plan-action-cell > button{
  margin:2px 0;
}
.packing-dialog{
  width:min(920px,calc(100vw - 32px));
  max-height:min(86vh,820px);
  padding:0;
  border:1px solid rgba(150,118,83,.28);
  border-radius:22px;
  background:#fffdfa;
  color:var(--text);
  box-shadow:0 28px 90px rgba(46,36,27,.28);
}
.packing-dialog::backdrop{
  background:rgba(27,24,21,.48);
  backdrop-filter:blur(3px);
}
.packing-dialog__head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:20px;
  padding:20px 22px 16px;
  border-bottom:1px solid var(--line);
  background:linear-gradient(180deg,#fffdf9 0%,#fbf6ef 100%);
}
.packing-dialog__head h3{
  margin:3px 0 5px;
}
.packing-dialog__head p{
  max-width:720px;
  margin:0;
}
.packing-dialog__close{
  display:grid;
  place-items:center;
  width:36px;
  height:36px;
  flex:0 0 36px;
  padding:0;
  border:1px solid var(--line);
  border-radius:50%;
  background:#fff;
  color:var(--text);
  font-size:1.35rem;
  line-height:1;
  cursor:pointer;
}
.packing-dialog form{
  display:flex;
  flex-direction:column;
  min-height:0;
}
.packing-checklist{
  display:grid;
  gap:9px;
  max-height:55vh;
  overflow:auto;
  padding:18px 22px;
}
.packing-checklist__row{
  display:grid;
  grid-template-columns:auto minmax(0,1fr) auto;
  align-items:center;
  gap:12px;
  padding:12px 14px;
  border:1px solid rgba(153,129,101,.25);
  border-radius:14px;
  background:#fff;
  cursor:pointer;
}
.packing-checklist__row:has(input:checked){
  border-color:rgba(54,137,88,.38);
  background:rgba(226,244,231,.55);
}
.packing-checklist__row.has-shortage{
  border-color:rgba(187,91,74,.38);
  background:rgba(255,241,237,.62);
}
.packing-checklist__row input{
  width:19px;
  height:19px;
  accent-color:#2d865a;
}
.packing-checklist__copy{
  display:grid;
  gap:3px;
  min-width:0;
}
.packing-checklist__copy strong{
  font-size:.86rem;
}
.packing-checklist__copy small{
  color:var(--muted);
  line-height:1.35;
}
.packing-checklist__state{
  padding:5px 9px;
  border-radius:999px;
  background:#eef1ed;
  color:var(--muted);
  font-size:.7rem;
  font-weight:700;
  white-space:nowrap;
}
.packing-checklist__row:has(input:checked) .packing-checklist__state{
  background:#d9efd9;
  color:#286b3d;
}
.packing-shortage{
  color:#a34437 !important;
  font-weight:700;
}
.packing-dialog__footer{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  padding:14px 22px 18px;
  border-top:1px solid var(--line);
  background:#fbf8f3;
}
.packing-dialog__progress{
  color:var(--muted);
  font-size:.78rem;
  font-weight:700;
}
.packing-dialog [data-packing-complete]:disabled{
  opacity:.45;
  cursor:not-allowed;
}

@media (max-width:760px){
  .event-table--recipes .col-label,
  .event-table--recipes .col-qty,
  .event-table--recipes .col-actions{width:auto}
  .recipe-card-grid{grid-template-columns:1fr}
  .packing-dialog{width:calc(100vw - 18px)}
  .packing-dialog__head{padding:16px}
  .packing-checklist{padding:14px;max-height:52vh}
  .packing-checklist__row{grid-template-columns:auto minmax(0,1fr)}
  .packing-checklist__state{grid-column:2;justify-self:start}
  .packing-dialog__footer{align-items:stretch;flex-direction:column;padding:14px 16px}
  .packing-dialog__footer .toolbar-actions{display:grid;grid-template-columns:1fr}
  .packing-dialog__footer .button{width:100%}
}

/* Sklad surovin a přímá gramáž receptur */
.recipe-stock-panel .panel-head,
.recipe-stock-panel .recipe-stock-tools{
  align-items:flex-start;
}
.recipe-stock-tools{
  display:grid;
  gap:8px;
  margin:14px 0;
  padding:14px;
  border:1px solid var(--line);
  border-radius:16px;
  background:rgba(248,245,240,.72);
}
.recipe-stock-import{
  display:flex;
  align-items:flex-end;
  flex-wrap:wrap;
  gap:10px;
}
.recipe-stock-import label{
  min-width:min(360px,100%);
}
.recipe-stock-create{
  margin:16px 0;
  padding:16px;
  border:1px solid rgba(150,118,83,.22);
  border-radius:16px;
  background:#fff;
}
.recipe-stock-create__grid{
  grid-template-columns:repeat(4,minmax(140px,1fr));
}
.recipe-stock-table-wrap{
  margin-top:14px;
}
.recipe-stock-table{
  min-width:1320px;
}
.recipe-stock-table input{
  min-width:92px;
}
.recipe-stock-table td:nth-child(2) input,
.recipe-stock-table td:nth-child(7) input{
  min-width:200px;
}
.recipe-stock-table .is-muted-row{
  opacity:.62;
}
.recipe-stock-actions{
  display:flex;
  gap:6px;
}
.recipe-main-fields{
  grid-template-columns:repeat(3,minmax(0,1fr));
}
.input-with-unit{
  display:flex;
  align-items:center;
  gap:8px;
}
.input-with-unit input{
  flex:1 1 auto;
}
.input-with-unit > span{
  flex:0 0 auto;
  color:var(--muted);
  font-weight:700;
}
.recipe-ingredients-table{
  min-width:1180px;
}
.recipe-ingredients-table th:first-child,
.recipe-ingredients-table td:first-child{
  min-width:320px;
}
.recipe-ingredients-table th:nth-child(2),
.recipe-ingredients-table td:nth-child(2){min-width:190px}
.recipe-ingredients-table th:nth-child(3),
.recipe-ingredients-table td:nth-child(3){min-width:100px}
.recipe-ingredients-table th:nth-child(4),
.recipe-ingredients-table td:nth-child(4){min-width:190px}
.recipe-ingredients-table td:nth-child(4){
  display:grid;
  gap:3px;
}
.recipe-unit-pill{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:54px;
  padding:7px 10px;
  border:1px solid var(--line);
  border-radius:999px;
  background:#f8f5f0;
  font-size:.78rem;
  font-weight:700;
}
.recipe-calculation-summary{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:10px;
  margin-top:14px;
}
.recipe-calculation-summary article,
.recipe-card__metrics span{
  display:grid;
  gap:4px;
  padding:12px 14px;
  border:1px solid rgba(133,157,95,.24);
  border-radius:14px;
  background:rgba(238,245,232,.62);
}
.recipe-calculation-summary small,
.recipe-card__metrics span{
  color:var(--muted);
  font-size:.74rem;
}
.recipe-calculation-summary strong,
.recipe-card__metrics strong{
  color:var(--text);
  font-size:.94rem;
}
.recipe-card__metrics{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:7px;
  margin:12px 0;
}
.recipe-card__metrics span{
  padding:8px 10px;
}
.recipe-ingredient-summary li > span{
  display:grid;
  gap:3px;
}
.recipe-ingredient-summary li small{
  color:var(--muted);
  font-size:.7rem;
}

/* Automatické podklady pro kuchyň v TO-DO LISTU */
.todo-task-card--automatic{
  border-color:rgba(48,126,84,.28);
  background:rgba(226,244,231,.52);
}
.todo-task-card--automatic input[disabled]{
  opacity:1;
}
.kitchen-plan-dialog{
  width:min(1040px,calc(100vw - 32px));
  max-height:min(88vh,900px);
  padding:0;
  border:1px solid rgba(150,118,83,.28);
  border-radius:22px;
  background:#fffdfa;
  color:var(--text);
  box-shadow:0 28px 90px rgba(46,36,27,.28);
}
.kitchen-plan-dialog::backdrop{
  background:rgba(27,24,21,.48);
  backdrop-filter:blur(3px);
}
.kitchen-plan-list{
  display:grid;
  gap:14px;
  max-height:64vh;
  overflow:auto;
  padding:18px 22px;
}
.kitchen-plan-recipe{
  overflow:hidden;
  border:1px solid var(--line);
  border-radius:16px;
  background:#fff;
}
.kitchen-plan-recipe__head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:16px;
  padding:14px 16px;
  background:rgba(238,245,232,.72);
}
.kitchen-plan-recipe__head h4{
  margin:0 0 4px;
}
.kitchen-plan-recipe__head p{
  margin:0;
}
.kitchen-plan-table{
  width:100%;
  min-width:720px;
  border-collapse:collapse;
}
.kitchen-plan-table th,
.kitchen-plan-table td{
  padding:10px 12px;
  border-top:1px solid var(--line);
  text-align:left;
  vertical-align:top;
  font-size:.78rem;
}
.kitchen-plan-table th{
  color:var(--muted);
  font-size:.7rem;
  text-transform:uppercase;
  letter-spacing:.04em;
}
.kitchen-plan-shortage{
  color:#a34437;
  font-weight:700;
}

@media (max-width:900px){
  .recipe-stock-create__grid,
  .recipe-main-fields,
  .recipe-calculation-summary,
  .recipe-card__metrics{
    grid-template-columns:1fr;
  }
  .recipe-stock-import{
    align-items:stretch;
    flex-direction:column;
  }
  .recipe-stock-import .button{
    width:100%;
  }
  .kitchen-plan-dialog{
    width:calc(100vw - 18px);
  }
  .kitchen-plan-list{
    padding:14px;
  }
}

/* Přímá syrová gramáž receptury a jednotky skladu */
.input-with-unit--compact{
  min-width:150px;
  gap:5px;
}
.input-with-unit--compact input{
  min-width:78px;
}
.recipe-stock-table .input-with-unit > span{
  white-space:nowrap;
  font-size:.72rem;
}
.recipe-ingredients-table--direct{
  min-width:1060px;
}
.recipe-ingredients-table--direct th:first-child,
.recipe-ingredients-table--direct td:first-child{
  min-width:330px;
}
.recipe-ingredients-table--direct th:nth-child(2),
.recipe-ingredients-table--direct td:nth-child(2){
  min-width:230px;
}
.recipe-ingredients-table--direct th:nth-child(3),
.recipe-ingredients-table--direct td:nth-child(3){
  min-width:210px;
}
.recipe-ingredients-table--direct td:nth-child(3){
  display:grid;
  gap:3px;
}
.recipe-ingredients-table--direct td:nth-child(4){
  display:table-cell;
  min-width:210px;
}
.recipe-calculation-summary strong.is-warning{
  color:#a05b21;
}

/* Filtr a akce seznamu receptur */
.recipe-list-filter{
  display:grid;
  grid-template-columns:minmax(280px,1fr) auto;
  align-items:end;
  gap:14px;
  margin:0 0 10px;
  padding:14px;
  border:1px solid var(--line);
  border-radius:16px;
  background:rgba(248,245,240,.72);
}
.recipe-list-filter__actions{justify-content:flex-end}
.recipe-list-filter__result{margin:0 0 10px}
.recipe-list-actions-heading,
.recipe-list-actions-cell{text-align:right}
.recipe-list-actions{justify-content:flex-end;flex-wrap:nowrap}
.recipe-list-actions form{margin:0}
@media (max-width:760px){
  .recipe-list-filter{grid-template-columns:1fr;align-items:stretch}
  .recipe-list-filter__actions{justify-content:flex-start}
  .recipe-list-actions{justify-content:flex-start;flex-wrap:wrap}
  .recipe-list-actions-heading,
  .recipe-list-actions-cell{text-align:left}
}

/* Poznámky eventu vždy zobrazují celý obsah bez vnitřního posuvníku. */
body:not(.auth-page--login) .event-form .event-section--notes textarea[data-event-note-autosize]{
  min-height:0;
  height:auto;
  overflow-y:hidden;
  resize:none;
}

/* Event - historicky import */
.nav-section--templates>a.nav-item--sub{margin-left:34px;padding:9px 12px;font-size:.9rem;position:relative;background:rgba(155,111,69,.045);border:1px solid rgba(155,111,69,.08)}
.nav-section--templates>a.nav-item--sub::before{content:"";position:absolute;left:-17px;top:-14px;width:16px;height:32px;border-left:1px solid rgba(155,111,69,.45);border-bottom:1px solid rgba(155,111,69,.45);border-bottom-left-radius:9px;pointer-events:none}
.nav-section--templates>a.nav-item--sub .nav-template-icon{width:22px;height:22px;border-radius:7px}
.nav-template-icon--import{background:#edf1f9;color:#426182}
.nav-template-icon--import svg{width:15px;height:15px;display:block}
.event-import-intro,.event-import-upload,.event-import-preview,.event-import-result{margin-bottom:20px}
.event-import-intro p{max-width:90ch}
.event-import-rules{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:18px}
.event-import-rules article{display:grid;gap:7px;padding:16px;border-radius:18px;border:1px solid var(--line);background:var(--paper-soft)}
.event-import-rules article strong{color:var(--accent-dark)}
.event-import-rules article span{font-size:.9rem;color:var(--muted)}
.event-import-upload__form{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:14px;align-items:end}
.event-import-upload__form label{min-width:0}
.event-import-file-list{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}
.event-import-file-list .badge{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.event-import-preview .panel-head p{margin:8px 0 0}
.event-import-table{min-width:1420px}
.event-import-table th{white-space:nowrap}
.event-import-table td{min-width:145px}
.event-import-table td:nth-child(2){min-width:275px}
.event-import-table td:nth-child(5){min-width:230px}
.event-import-table td:nth-child(6){min-width:205px}
.event-import-table td:nth-child(7){min-width:250px}
.event-import-table tbody tr{transition:background .15s ease}
.event-import-table tbody tr:hover{background:rgba(155,111,69,.035)}
.event-import-row--duplicate{background:rgba(140,59,53,.035)}
.event-import-row--duplicate input,.event-import-row--duplicate select{opacity:.72}
.event-import-table__select{min-width:105px!important}
.event-import-check{display:flex;gap:9px;align-items:flex-start;font-weight:600;white-space:normal}
.event-import-check input{width:auto;margin-top:3px}
.event-import-check__source{display:grid;gap:2px;max-width:185px;line-height:1.25;overflow-wrap:anywhere}
.event-import-check__source small{font-size:.72rem;color:var(--muted);font-weight:500}
.event-import-field{gap:5px}
.event-import-field>span{font-size:.76rem;color:var(--muted)}
.event-import-field input,.event-import-field select{padding:10px 11px;border-radius:12px;min-width:130px}
.event-import-event-meta{display:grid;gap:3px;margin-top:10px;font-size:.82rem}
.event-import-event-meta span{color:var(--muted)}
.event-import-counts{display:grid;gap:7px;font-size:.82rem;color:var(--muted)}
.event-import-counts span{display:flex;justify-content:space-between;gap:10px;padding-bottom:5px;border-bottom:1px solid rgba(229,218,203,.65)}
.event-import-counts strong{color:var(--ink)}
.event-import-warning{display:grid;gap:4px;padding:9px 10px;margin-bottom:7px;border-radius:12px;background:#fff8ea;border:1px solid #ead8b3;font-size:.8rem;color:#75591d}
.event-import-warning--duplicate{background:#fff0ed;border-color:#ecc8c2;color:#8c3b35}
.event-import-warning:last-child{margin-bottom:0}
.event-import-confirmation{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-top:20px;padding:18px;border-radius:20px;background:var(--paper-soft);border:1px solid var(--line)}
.event-import-confirmation>div{display:grid;gap:5px;max-width:74ch}
.event-import-confirmation span{color:var(--muted);font-size:.9rem}
.event-import-result__group{padding:16px;border-radius:18px;background:var(--paper-soft);border:1px solid var(--line);margin-top:12px}
.event-import-result__group--success{background:#ebf6f0;border-color:#cde6d8}
.event-import-result__group--error{background:#fff0ed;border-color:#ecc8c2}
.event-import-result__group h4{margin:0 0 10px;font-size:1rem}
.event-import-result__group ul{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.event-import-result__group li{display:flex;justify-content:space-between;gap:14px;align-items:center;padding-bottom:8px;border-bottom:1px solid rgba(122,98,70,.12)}
.event-import-result__group li:last-child{padding-bottom:0;border-bottom:0}
@media (max-width:1100px){
  .event-import-rules{grid-template-columns:1fr}
  .event-import-upload__form{grid-template-columns:1fr}
  .event-import-upload__form .button{justify-self:start}
  .event-import-confirmation{align-items:flex-start;flex-direction:column}
}
.event-import-skipped-files{
  display:grid;
  gap:10px;
  margin-top:14px;
}
.event-import-skipped-files>strong{
  color:inherit;
}
.event-import-skipped-files ul{
  list-style:none;
  display:grid;
  gap:7px;
  margin:0;
  padding:0;
}
.event-import-skipped-files li{
  display:grid;
  grid-template-columns:minmax(180px,auto) minmax(0,1fr);
  gap:12px;
  align-items:start;
  padding-top:7px;
  border-top:1px solid rgba(111,84,25,.16);
}
.event-import-skipped-files li span{
  color:inherit;
  opacity:.86;
}
.event-import-skipped-files p{
  margin:0;
  font-size:.88rem;
}
@media (max-width:760px){
  .event-import-skipped-files li{grid-template-columns:1fr;gap:3px}
}

/* Přehled eventů: skutečný typ akce a bezpečné hromadné mazání. */
.event-directory__toolbar{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  margin-bottom:16px;
  padding-bottom:14px;
  border-bottom:1px solid var(--line);
}
.event-directory__toolbar-copy{
  display:grid;
  gap:3px;
}
.event-directory__toolbar-copy strong{
  color:var(--ink);
}
.event-directory__toolbar form{
  margin:0;
}
.event-select-col{
  width:44px;
  min-width:44px;
  text-align:center !important;
}
.event-select-col input[type="checkbox"]{
  width:17px;
  height:17px;
  margin:0;
  cursor:pointer;
}
.event-directory .dashboard-events-table tr:has([data-event-select]:checked){
  background:rgba(155,111,69,.08);
}
.event-type-cell{
  min-width:135px;
  max-width:210px;
  white-space:normal;
  overflow-wrap:anywhere;
}
.event-directory__empty{
  padding:28px 18px !important;
  text-align:center !important;
}
@media (max-width:720px){
  .event-directory__toolbar{
    align-items:flex-start;
    flex-direction:column;
  }
}


/* Centrální oprávnění rolí */
.role-permission-intro{margin-bottom:20px}
.role-permission-intro__notice{margin-top:14px}
.role-permission-card{padding:0;overflow:hidden}
.role-permission-card>summary{display:flex;justify-content:space-between;align-items:center;gap:18px;padding:18px 20px;cursor:pointer;list-style:none;background:var(--paper-soft);border-bottom:1px solid transparent}
.role-permission-card[open]>summary{border-bottom-color:var(--line)}
.role-permission-card>summary::-webkit-details-marker{display:none}
.role-permission-card>summary>span:first-child{display:grid;gap:4px}
.role-permission-card>summary small{color:var(--muted);font-weight:400}
.role-permission-card__body{padding:16px}
.role-permission-table{min-width:1020px}
.role-permission-table th,.role-permission-table td{vertical-align:middle}
.role-permission-table__action{width:94px;text-align:center!important}
.role-permission-table__group th{padding-top:18px;background:rgba(155,111,69,.06);color:var(--accent-dark);text-transform:uppercase;letter-spacing:.08em;font-size:.72rem}
.role-action-check{display:inline-flex;align-items:center;justify-content:center;width:auto;height:auto;padding:0;border:0;border-radius:0;background:transparent;box-shadow:none;cursor:pointer}
.role-action-check input{width:17px;height:17px;margin:0;cursor:pointer}
.role-action-check--locked{background:transparent;cursor:not-allowed;opacity:.7}
.role-action-check--locked input{cursor:not-allowed}
.role-notification-panel{margin-top:4px}
.role-notification-table{min-width:1220px}
.role-notification-table th:not(:first-child),.role-notification-table td:not(:first-child){text-align:center}
.role-notification-table td:first-child{min-width:300px}
.role-notification-table td:first-child>small{display:block;margin-top:5px;color:var(--muted);line-height:1.45}
.role-notification-channels{display:flex;gap:6px;flex-wrap:wrap;margin-top:8px}
.role-notification-checks{display:flex;justify-content:center;gap:7px}
.role-notification-checks label{display:grid;place-items:center;gap:3px;cursor:pointer}
.role-notification-checks input{width:17px;height:17px;margin:0}
.role-notification-checks span{font-size:.72rem;font-weight:700;color:var(--muted)}
.role-permission-savebar{position:sticky;bottom:12px;z-index:8;padding:14px 16px;border:1px solid var(--line);border-radius:16px;background:rgba(255,255,255,.95);box-shadow:0 10px 30px rgba(58,43,29,.12);backdrop-filter:blur(8px)}
.role-readonly-form input:disabled,.role-readonly-form select:disabled,.role-readonly-form textarea:disabled{opacity:1;color:var(--ink);background:rgba(248,245,240,.8);cursor:default}
.role-readonly-form button:disabled{opacity:.45;cursor:not-allowed}
@media (max-width:760px){
  .role-permission-card>summary{align-items:flex-start;flex-direction:column}
  .role-permission-savebar{bottom:6px}
}


/* v46 - Kompaktní jednořádkový přehled eventů a vytvoření kopie. */
.event-directory .table-wrap{
  overflow-x:auto;
  overscroll-behavior-inline:contain;
}
.event-directory .event-directory-table{
  width:100%;
  min-width:1260px;
  table-layout:auto !important;
  font-size:.74rem;
}
.event-directory .event-directory-table th,
.event-directory .event-directory-table td{
  height:42px;
  padding:7px 8px !important;
  line-height:1.1;
  white-space:nowrap !important;
  vertical-align:middle !important;
}
.event-directory .event-directory-table thead th{
  font-size:.68rem;
  font-weight:600;
}
.event-directory .event-select-col{
  width:30px;
  min-width:30px;
  padding-left:4px !important;
  padding-right:4px !important;
}
.event-directory .event-date-cell{width:82px}
.event-directory .event-code-cell,
.event-directory .event-client-cell,
.event-directory .event-payer-cell,
.event-directory .event-manager-cell,
.event-directory .event-type-cell{
  overflow:hidden;
  text-overflow:ellipsis;
}
.event-directory .event-code-cell{max-width:230px}
.event-directory .event-client-cell{max-width:180px}
.event-directory .event-payer-cell{max-width:180px}
.event-directory .event-manager-cell{max-width:145px}
.event-directory .event-type-cell{
  min-width:0;
  max-width:165px;
  overflow-wrap:normal;
}
.event-directory .event-number-cell,
.event-directory .event-revenue-cell,
.event-directory .event-margin-cell{
  text-align:center;
  font-variant-numeric:tabular-nums;
}
.event-directory .event-revenue-cell{min-width:92px}
.event-directory .event-margin-cell{min-width:62px}
.event-directory .dashboard-events-table__actions{
  display:table-cell !important;
  width:190px;
  min-width:190px;
  text-align:center;
}
.event-directory .dashboard-events-table__actions-wrap{
  gap:5px !important;
}
.event-directory .dashboard-events-table__action-pill{
  min-height:28px;
  padding:5px 9px;
  font-size:.71rem;
}
.dashboard-events-table__action-pill--copy{
  background:#f6eadb;
  border-color:#d8b992;
  color:#6f4827;
  cursor:pointer;
}
.dashboard-events-table__action-pill--copy:hover{
  transform:none;
  background:#f0dfca;
}

/* v48 – tabulky zůstávají v jednom řádku; jejich posuvník je trvale dostupný u spodní hrany okna. */
.table-scroll-floating{
  position:fixed;
  z-index:1200;
  bottom:max(8px, env(safe-area-inset-bottom));
  height:24px;
  overflow-x:auto;
  overflow-y:hidden;
  overscroll-behavior-inline:contain;
  scrollbar-gutter:stable both-edges;
  scrollbar-color:var(--accent-dark) rgba(255,255,255,.95);
  border:1px solid rgba(122,98,70,.24);
  border-radius:999px;
  background:rgba(255,255,255,.96);
  box-shadow:0 8px 24px rgba(45,33,20,.2);
  backdrop-filter:blur(10px);
}
.table-scroll-floating[hidden]{display:none!important}
.table-scroll-floating__spacer{height:1px;min-width:100%}
.table-scroll-floating::-webkit-scrollbar{height:14px}
.table-scroll-floating::-webkit-scrollbar-track{background:rgba(155,111,69,.1);border-radius:999px}
.table-scroll-floating::-webkit-scrollbar-thumb{background:linear-gradient(90deg,var(--accent),var(--accent-dark));border:2px solid rgba(255,255,255,.92);border-radius:999px}
body.has-floating-table-scroll .content{padding-bottom:72px}
.table-wrap{
  max-width:100%;
  overflow-x:auto!important;
  overflow-y:visible;
  overscroll-behavior-inline:contain;
  scrollbar-gutter:stable both-edges;
  -webkit-overflow-scrolling:touch;
}
.table-wrap>table{
  width:max-content!important;
  min-width:100%!important;
  table-layout:auto!important;
}
.table-wrap>table th,
.table-wrap>table td,
.table-wrap>table th *,
.table-wrap>table td *{
  white-space:nowrap!important;
  overflow-wrap:normal!important;
  word-break:normal!important;
}
.table-wrap>table td ul,
.table-wrap>table td ol{display:inline-block;margin-top:0;margin-bottom:0}

/* Zrušení dřívějšího převodu tabulek na mobilní karty. Mobil používá vodorovný posun. */
@media (max-width:980px){
  .itinerary-history-wrap,
  .analytics-results-wrap{overflow-x:auto!important;overflow-y:visible!important;border:inherit;border-radius:inherit;background:inherit}
  .itinerary-history-table,
  .itinerary-history-table--editable,
  .itinerary-history-table--readonly,
  .analytics-results-table{display:table!important;width:max-content!important;min-width:1060px!important}
  .itinerary-history-table--editable{min-width:1240px!important}
  .analytics-results-table{min-width:920px!important}
  .itinerary-history-table thead,
  .analytics-results-table thead{display:table-header-group!important;position:static!important;width:auto!important;height:auto!important;margin:0!important;clip:auto!important;clip-path:none!important;overflow:visible!important}
  .itinerary-history-table tbody,
  .analytics-results-table tbody{display:table-row-group!important;width:auto!important}
  .itinerary-history-table tbody tr,
  .analytics-results-table tbody tr{display:table-row!important;padding:0!important;border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important}
  .itinerary-history-table tbody td,
  .analytics-results-table tbody td{display:table-cell!important;width:auto!important;padding:10px 11px!important;border-bottom:1px solid rgba(229,218,203,.7)!important;text-align:inherit!important;white-space:nowrap!important}
  .itinerary-history-table tbody td::before,
  .analytics-results-table tbody td::before{display:none!important;content:none!important}
  .itinerary-history-stock{display:table-cell!important}
  .itinerary-history-actions .button{width:auto!important}
}
@media (max-width:1200px){
  .todo-task-settings .table-wrap{overflow-x:auto!important;overflow-y:visible!important}
  .todo-task-admin-table{display:table!important;width:max-content!important;min-width:980px!important}
  .todo-task-admin-table thead{display:table-header-group!important}
  .todo-task-admin-table tbody{display:table-row-group!important;width:auto!important}
  .todo-task-admin-table tr{display:table-row!important;padding:0!important;border:0!important;border-radius:0!important;background:transparent!important}
  .todo-task-admin-table td{display:table-cell!important;width:auto!important;padding:10px 11px!important;border-bottom:1px solid rgba(229,218,203,.7)!important;text-align:inherit!important;white-space:nowrap!important}
  .todo-task-admin-table td::before{display:none!important;content:none!important}
  .todo-task-admin-table td[data-label="Název položky"],
  .todo-task-admin-table td[data-label="Akce"]{grid-column:auto!important}
}

/* Tlačítko návratu a sbalená historie eventu. */
.page-header__title-group{display:flex;align-items:center;gap:16px;min-width:0}
.page-back-button{display:inline-flex;align-items:center;justify-content:center;min-height:40px;padding:9px 14px;border:1px solid var(--line);border-radius:999px;background:rgba(255,255,255,.86);box-shadow:0 6px 18px rgba(58,43,29,.08);font-weight:600;white-space:nowrap}
.page-header--actions-only.page-header--with-back{justify-content:space-between}
.event-history-details{padding:0;overflow:hidden}
.event-history-details__summary{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:20px 24px;cursor:pointer;list-style:none}
.event-history-details__summary::-webkit-details-marker{display:none}
.event-history-details__summary>span:first-child{display:flex;align-items:center;gap:12px;min-width:0}
.event-history-details__summary .eyebrow{margin:0}
.event-history-details__summary strong{font-size:1.1rem}
.event-history-details__body{padding:0 24px 24px;border-top:1px solid var(--line)}
.event-history-details__hide{display:none}
.event-history-details[open] .event-history-details__show{display:none}
.event-history-details[open] .event-history-details__hide{display:inline}
@media (max-width:640px){
  .page-header__title-group{align-items:flex-start;flex-direction:column}
  .event-history-details__summary{align-items:stretch;flex-direction:column;padding:16px}
  .event-history-details__summary>span:first-child{align-items:flex-start;flex-direction:column;gap:4px}
  .event-history-details__toggle{width:100%}
  .event-history-details__body{padding:0 16px 16px}
}

/* Přehlednější ovládání práv rolí a správné mezery mezi názvem a štítkem. */
.role-permission-intro .panel-head{align-items:center}
.role-permission-intro .panel-head>.button{align-self:center;flex:0 0 auto}
.role-permission-table td:first-child{gap:8px}
.role-permission-table td:first-child>strong+.badge{margin-left:8px}
.role-notification-table .checkbox-card--compact{align-items:center;gap:10px}
.role-notification-table .checkbox-card--compact span{display:grid;gap:3px}
.template-apply-manager{min-width:220px}

/* v49 – dokončení ovládání šablon a zarovnání pomocných akcí. */
.template-apply-manager{
  display:grid;
  gap:6px;
  min-width:240px;
  padding:8px 14px;
  border:1px solid var(--line);
  border-radius:20px;
  background:rgba(255,255,255,.86);
}
.template-apply-manager > span{
  color:var(--ink);
  font-size:.88rem;
  font-weight:600;
}
.template-apply-manager select{
  min-width:205px;
  padding:10px 12px;
  border-radius:14px;
}
.template-apply-manager .field-help{
  max-width:36ch;
  color:var(--muted);
  font-size:.76rem;
  line-height:1.35;
  white-space:normal!important;
}
.role-permission-intro .panel-head{
  display:flex;
  align-items:center!important;
  justify-content:space-between;
}
.role-permission-intro .panel-head > .button{
  align-self:center!important;
  min-height:42px;
  line-height:1.2;
  text-align:center;
  white-space:nowrap;
}
@media (max-width:720px){
  .template-apply-existing,
  .template-apply-date,
  .template-apply-manager{
    width:100%;
    min-width:0;
  }
  .template-apply-date input,
  .template-apply-manager select{
    width:100%;
    min-width:0;
  }
  .role-permission-intro .panel-head{
    align-items:stretch!important;
    flex-direction:column;
  }
  .role-permission-intro .panel-head > .button{
    width:100%;
  }
}

/* Více hodnot uvnitř jedné buňky zůstává také na jednom vodorovném řádku. */
.table-wrap>table td ul,
.table-wrap>table td ol{
  display:inline-flex;
  align-items:center;
  gap:10px;
  margin:0;
  padding:0;
  list-style:none;
}
.table-wrap>table td ul>li+li::before,
.table-wrap>table td ol>li+li::before{
  content:"•";
  margin-right:10px;
  color:var(--muted);
}

/* Text a vysvětlení uvnitř karet checkboxů se neslévají. */
.checkbox-card > span{
  display:grid;
  gap:4px;
  min-width:0;
}
.checkbox-card > span > small{
  color:var(--muted);
  line-height:1.4;
}

/* v50 – opravy dashboardu, detailu eventu a stále dostupného vodorovného posunu. */
.dashboard-recent-events .dashboard-recent-events__table{
  min-width:1040px;
}
.dashboard-recent-events .event-code-cell{max-width:230px}
.dashboard-recent-events .event-client-cell{max-width:190px}
.dashboard-recent-events .event-manager-cell{max-width:155px}
.dashboard-recent-events .dashboard-recent-events__location{
  max-width:260px;
  overflow:hidden;
  text-overflow:ellipsis;
}
.dashboard-recent-events .dashboard-recent-events__status{
  min-width:120px;
  text-align:center;
}
.dashboard-recent-events .dashboard-events-table__actions{
  width:138px;
  min-width:138px;
}
.dashboard-recent-events .dashboard-events-table__actions-wrap{
  gap:5px!important;
}
.dashboard-recent-events .dashboard-events-table__action-pill{
  min-height:28px;
  padding:5px 9px;
  font-size:.71rem;
}

.event-header-brand__actions{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:10px;
  flex:0 0 auto;
}
.page-back-button--event{
  min-height:36px;
  padding:8px 14px;
  border-color:var(--accent-dark);
  background:linear-gradient(135deg,var(--accent),var(--accent-dark));
  color:#fff;
  box-shadow:0 8px 18px rgba(124,85,50,.24);
}
.page-back-button--event:hover{
  color:#fff;
  transform:translateY(-1px);
}
@media (max-width:1100px){
  .event-header-brand__actions{
    align-self:flex-end;
  }
}
@media (max-width:520px){
  .event-header-brand__actions{
    width:100%;
    justify-content:space-between;
  }
  .page-back-button--event{
    flex:1 1 auto;
  }
}


/* Animated floating labels on the login form, inspired by the supplied reference video. */
.auth-page--login .login-field--floating{
  gap:6px;
}
.auth-page--login .login-floating-control{
  --login-control-background:#fff;
  position:relative;
  display:block;
  min-width:0;
  border-radius:12px;
}
.auth-page--login .login-floating-control::after{
  content:"";
  position:absolute;
  z-index:2;
  right:50%;
  bottom:0;
  left:50%;
  height:2px;
  border-radius:999px;
  background:var(--accent);
  opacity:0;
  pointer-events:none;
  transition:left .24s ease,right .24s ease,opacity .18s ease;
}
.auth-page--login .login-floating-control:focus-within::after{
  right:12px;
  left:12px;
  opacity:.72;
}
.auth-page--login .login-floating-control input{
  width:100%;
  min-height:52px;
  padding:17px 14px 9px;
  background:var(--login-control-background);
}
.auth-page--login .login-floating-control input::placeholder{
  color:transparent;
}
.auth-page--login .login-floating-label{
  position:absolute;
  z-index:3;
  top:50%;
  left:14px;
  max-width:calc(100% - 28px);
  margin:0;
  padding:0;
  overflow:hidden;
  color:#8d8175;
  background:transparent;
  font-size:.82rem;
  font-weight:600;
  line-height:1;
  text-overflow:ellipsis;
  white-space:nowrap;
  pointer-events:none;
  transform:translateY(-50%) scale(1);
  transform-origin:left center;
  transition:top .2s cubic-bezier(.2,.75,.25,1),left .2s ease,transform .2s cubic-bezier(.2,.75,.25,1),padding .2s ease,color .18s ease,background-color .18s ease;
}
.auth-page--login .login-floating-control input:focus + .login-floating-label,
.auth-page--login .login-floating-control input:not(:placeholder-shown) + .login-floating-label,
.auth-page--login .login-floating-control input:-webkit-autofill + .login-floating-label{
  top:0;
  left:12px;
  max-width:calc(100% - 24px);
  padding:0 6px;
  color:#6f6256;
  background:var(--login-control-background);
  transform:translateY(-50%) scale(.82);
}
.auth-page--login .login-floating-control input:focus + .login-floating-label{
  color:var(--accent-dark);
}
.auth-page--login .login-password-control .login-floating-label{
  max-width:calc(100% - 62px);
}
.auth-page--login .login-password-control input:focus + .login-floating-label,
.auth-page--login .login-password-control input:not(:placeholder-shown) + .login-floating-label,
.auth-page--login .login-password-control input:-webkit-autofill + .login-floating-label{
  max-width:calc(100% - 74px);
}
.auth-page--login .login-field__footer{
  display:flex;
  min-height:18px;
  align-items:center;
  justify-content:flex-end;
}
.auth-page--login .login-field__footer a{
  color:var(--accent-dark);
  font-size:.72rem;
  font-weight:600;
}
.auth-page--login .login-field__footer a:hover{
  text-decoration:underline;
  text-underline-offset:3px;
}
@media (prefers-reduced-motion:reduce){
  .auth-page--login .login-floating-control::after,
  .auth-page--login .login-floating-label{
    transition:none;
  }
}

/* Two-step MFA sign-in: the OTP field is shown only after the password is verified. */
.auth-page--login .login-mfa-context{
  display:flex;
  align-items:flex-start;
  gap:12px;
  padding:13px 14px;
  border:1px solid #eadac8;
  border-radius:14px;
  background:#fbf5ee;
  color:#4d4034;
}
.auth-page--login .login-mfa-context__icon{
  flex:0 0 auto;
  width:36px;
  height:36px;
  display:grid;
  place-items:center;
  border-radius:11px;
  background:#fff;
  color:var(--accent-dark);
  box-shadow:0 7px 18px rgba(124,85,50,.1);
}
.auth-page--login .login-mfa-context__icon svg{
  width:20px;
  height:20px;
}
.auth-page--login .login-mfa-context > span:last-child{
  display:grid;
  gap:2px;
  min-width:0;
}
.auth-page--login .login-mfa-context strong{
  font-size:.78rem;
  line-height:1.35;
}
.auth-page--login .login-mfa-context small{
  color:#7b6b5c;
  font-size:.68rem;
  line-height:1.45;
}
.auth-page--login .login-otp-input{
  letter-spacing:.24em;
  font-variant-numeric:tabular-nums;
  font-weight:700;
}
.auth-page--login .login-field__footer--hint{
  justify-content:flex-start;
}
.auth-page--login .login-field__footer--hint span{
  color:var(--muted);
  font-size:.67rem;
  line-height:1.45;
}
.auth-page--login .login-mfa-actions{
  display:grid;
  gap:10px;
}
.auth-page--login .login-mfa-actions .login-submit{
  margin-top:3px;
}
.auth-page--login .login-mfa-cancel{
  min-height:44px;
  border-radius:12px;
  font-size:.8rem;
}
.mfa-wide-panel{grid-column:1/-1}.mfa-recovery-panel{border-color:rgba(40,89,69,.28);background:linear-gradient(135deg,rgba(235,246,240,.92),rgba(255,255,255,.95))}.mfa-recovery-codes{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.mfa-recovery-codes code{display:block;padding:12px 14px;border:1px solid var(--line);border-radius:14px;background:#fff;font-size:.95rem;letter-spacing:.06em;overflow-wrap:anywhere}.mfa-danger-zone{margin-top:8px;padding-top:22px;border-top:1px solid var(--line)}button:disabled{opacity:.55;cursor:not-allowed;box-shadow:none}@media(max-width:720px){.mfa-recovery-codes{grid-template-columns:1fr}}
.auth-page--login .login-recovery-option{border:1px solid rgba(122,98,70,.18);border-radius:16px;background:rgba(255,255,255,.62);overflow:hidden}.auth-page--login .login-recovery-option summary{cursor:pointer;padding:12px 14px;color:var(--accent-dark);font-weight:600;list-style-position:inside}.auth-page--login .login-recovery-option__body{display:grid;gap:10px;padding:4px 14px 14px}.auth-page--login .login-recovery-option__body label{font-size:.86rem;color:var(--muted)}.auth-page--login .login-recovery-option__body input{text-transform:uppercase;letter-spacing:.06em}
.user-mfa-reset-panel{margin-top:20px;border-color:rgba(140,59,53,.28);background:linear-gradient(135deg,rgba(255,240,237,.9),rgba(255,255,255,.95))}.user-mfa-reset-panel textarea{min-height:100px}
