:root{
  /* ── PDF-matching palette ── */
  --navy:#1B2F5E;--navy-d:#0d1f42;--navy-m:#244d8f;--navy-l:#e8f0fb;--navy-xl:#f2f6fd;
  --gold:#F5C400;--gold-d:#d4a800;--gold-l:#fffbe6;
  --teal:#0e7490;--teal-l:#e0f2f8;
  --gray:#f5f7fa;--gray-m:#e8edf5;--gray-d:#c8d0e0;--gray-dk:#8896ad;
  --text:#0f1f3d;--text2:#2d3f5e;--text3:#6b7a99;
  --white:#fff;--green:#0f6b35;--green-l:#e6f5ee;--red:#b91c1c;
  /* Radius */
  --r:8px;--rl:10px;--rx:14px;
  /* Shadows */
  --sh:0 1px 4px rgba(27,47,94,.06),0 4px 14px rgba(27,47,94,.05);
  --sh2:0 6px 24px rgba(27,47,94,.10),0 2px 8px rgba(27,47,94,.07);
  --sh3:0 20px 60px rgba(27,47,94,.18);
  /* Transitions */
  --tr:.18s cubic-bezier(.4,0,.2,1);
  /* Layout — šířka hlavního obsahu a boční odsazení */
  --container-max:1180px;
  --container-px:20px;
  /* Typografie — škálovací tokeny (desktop je přepíše v media query) */
  --fs-base:13.5px;
  --fs-field:12.5px;
  --fs-label:9px;
  --fs-btn:11.5px;
  --fs-table:12px;
  --fs-table-h:9px;
  --fs-h1:16px;
  --fs-client:16px;
  --fs-meta:10.5px;
  --fs-small:11.5px;
  --fs-xs:11px;
  --fs-sm:12px;
  --fs-gtab:10px;
  --fs-section:13px;
  --fs-modal-h:13.5px;
  --fs-prev-name:17px;
  --fs-prev-tbl:10.5px;
  --fs-prev-tbl-h:8.5px;
  --fs-toast:13px;
  --row-min-h:30px;
  --field-py:7px;
  --modal-max:940px;
}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:'Source Sans 3',system-ui,sans-serif;font-size:var(--fs-base);background:#eef2f8;color:var(--text);min-height:100vh;-webkit-font-smoothing:antialiased}

/* ── TOPBAR ── */
.topbar{background:var(--navy-d);height:30px;display:flex;align-items:center;padding:0 28px;font-size:var(--fs-xs);color:rgba(255,255,255,.38);gap:16px;letter-spacing:.01em}
.topbar a{color:rgba(255,255,255,.5);text-decoration:none;transition:color var(--tr)}.topbar a:hover{color:var(--gold)}
.topbar-r{margin-left:auto;display:flex;gap:16px}

/* ── HEADER ── */
.hdr{background:linear-gradient(105deg,var(--navy-d) 0%,var(--navy) 60%,var(--navy-m) 100%);display:flex;align-items:center;padding:0 28px;min-height:68px;position:relative;box-shadow:0 4px 20px rgba(13,31,66,.25)}
.hdr::after{content:'';position:absolute;bottom:0;left:0;right:0;height:4px;background:linear-gradient(90deg,var(--gold) 0%,#f0c020 100%)}
.hdr-logo{background:#fff;height:68px;display:flex;align-items:center;padding:0 20px;margin-left:-28px;border-right:1px solid rgba(255,255,255,.1);flex-shrink:0;box-shadow:2px 0 10px rgba(13,31,66,.12)}
.hdr-logo img{height:36px;width:auto}
.hdr-title{padding:0 24px;flex:1}
.hdr-title h1{font-family:'Source Sans 3',sans-serif;font-size:var(--fs-h1);font-weight:700;color:#fff;letter-spacing:.01em;line-height:1.2}
.hdr-title p{font-size:var(--fs-meta);color:rgba(255,255,255,.42);margin-top:3px;letter-spacing:.02em}
.hdr-btns{display:flex;gap:8px;flex-shrink:0;flex-wrap:wrap}

/* ── BUTTONS ── */
.btn{display:inline-flex;align-items:center;gap:6px;padding:8px 16px;border-radius:var(--r);font-family:'Source Sans 3',sans-serif;font-size:var(--fs-btn);font-weight:600;border:none;cursor:pointer;transition:all var(--tr);white-space:nowrap;letter-spacing:.02em}
.btn:active{transform:scale(.97)}
.btn-ghost{background:rgba(255,255,255,.1);border:1.5px solid rgba(255,255,255,.2);color:rgba(255,255,255,.9)}.btn-ghost:hover{background:rgba(255,255,255,.18);border-color:rgba(255,255,255,.35)}
/* btn-orange → gold */
.btn-orange{background:var(--gold);color:var(--navy-d);box-shadow:0 2px 8px rgba(245,196,0,.35)}.btn-orange:hover{background:var(--gold-d);box-shadow:0 4px 14px rgba(245,196,0,.4);transform:translateY(-1px)}
.btn-navy{background:var(--navy-d);color:#fff;box-shadow:0 2px 6px rgba(13,31,66,.3)}.btn-navy:hover{background:var(--navy);transform:translateY(-1px)}
.btn-green{background:linear-gradient(135deg,var(--green) 0%,#1a8a46 100%);color:#fff;box-shadow:0 2px 8px rgba(15,107,53,.3)}.btn-green:hover{filter:brightness(1.08);transform:translateY(-1px)}
.btn-light{background:var(--white);color:var(--navy);border:1.5px solid var(--gray-d);font-weight:500}.btn-light:hover{background:var(--navy-xl);border-color:var(--navy-m)}
.btn-save{background:var(--navy);color:#fff;font-weight:500}.btn-save:hover{background:var(--navy-m);transform:translateY(-1px)}
.btn-sm{padding:5px 11px;font-size:var(--fs-xs)}
.btn svg{width:14px;height:14px;flex-shrink:0}
.btn-add{background:rgba(255,255,255,.1);border:1.5px dashed rgba(255,255,255,.3);color:rgba(255,255,255,.8);font-weight:500;font-size:var(--fs-btn);padding:6px 13px}.btn-add:hover{background:rgba(255,255,255,.18);border-color:rgba(255,255,255,.5);color:#fff}

/* ── MAIN ── */
.main{max-width:var(--container-max);margin:0 auto;padding:20px var(--container-px) 60px}

/* ── CARD ── */
.card{background:var(--white);border-radius:var(--rl);border:1px solid #dde5f0;box-shadow:var(--sh);margin-bottom:16px;overflow:hidden;transition:box-shadow var(--tr)}
.card:hover{box-shadow:var(--sh2)}
.card-hd{display:flex;align-items:center;gap:10px;padding:12px 18px;border-bottom:1px solid var(--gray-m);background:var(--gray)}
.card-hd-navy{background:linear-gradient(105deg,var(--navy-d) 0%,var(--navy) 100%);border-bottom:3px solid var(--gold)}
.card-hd-title{font-size:var(--fs-meta);font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--text3)}
.card-hd-navy .card-hd-title{color:rgba(255,255,255,.85)}
.card-hd-icon{width:28px;height:28px;background:var(--navy-l);border-radius:var(--r);display:flex;align-items:center;justify-content:center;flex-shrink:0}
.card-hd-navy .card-hd-icon{background:rgba(255,255,255,.15)}
.card-hd-icon svg{width:13px;height:13px;color:var(--navy)}
.card-hd-navy .card-hd-icon svg{color:#fff}
.card-body{padding:16px 18px}

/* ── RESTORE BAR ── */
.restore-bar{background:var(--white);border:1.5px solid var(--gray-m);border-left:4px solid var(--gold);border-radius:var(--rl);padding:10px 16px;display:flex;align-items:center;gap:10px;flex-wrap:wrap;box-shadow:var(--sh);margin-bottom:14px}
.restore-info{flex:1;font-size:var(--fs-small);color:var(--text2);min-width:120px}
.restore-info strong{color:var(--navy);font-weight:600}

/* ── KLIENT GRID ── */
.klient-grid{display:grid;grid-template-columns:2fr 0.7fr 2fr auto;gap:14px;align-items:end}
.field-g{display:flex;flex-direction:column;gap:4px}
.fl{font-size:var(--fs-label);font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--gray-dk)}
.fi{border:none;border-bottom:2px solid var(--gray-d);font-family:'Source Sans 3',sans-serif;font-size:var(--fs-client);font-weight:600;color:var(--navy);padding:3px 2px 4px;outline:none;background:transparent;width:100%;transition:border-color var(--tr)}
.fi.sm{font-size:var(--fs-base);font-weight:400}
.fi::placeholder{color:var(--gray-d);font-size:var(--fs-field);font-weight:400}
.fi:focus{border-bottom-color:var(--gold)}

/* ── MÍSTA POJIŠTĚNÍ LIST ── */
.mista-list{padding:12px 18px;display:flex;flex-direction:column;gap:7px}
.misto-list-item{display:flex;align-items:center;gap:10px;padding:8px 12px;background:var(--gray);border-radius:var(--r);border:1.5px solid var(--gray-m);transition:all var(--tr)}
.misto-list-item:hover{border-color:var(--gray-d);background:#eef1f7}
.misto-list-item.hlavni{background:var(--navy-l);border-color:rgba(27,47,94,.2)}
.misto-list-badge{font-size:var(--fs-label);font-weight:700;letter-spacing:.07em;text-transform:uppercase;color:var(--navy);background:rgba(27,47,94,.1);padding:3px 8px;border-radius:20px;white-space:nowrap;flex-shrink:0}
.misto-list-name{font-size:var(--fs-field);font-weight:600;color:var(--navy);flex:0 0 auto;min-width:80px}
.misto-list-addr{font-size:var(--fs-small);color:var(--text3);flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.misto-list-del{background:none;border:none;cursor:pointer;color:var(--gray-d);padding:4px;border-radius:6px;display:flex;align-items:center;flex-shrink:0;transition:all var(--tr)}
.misto-list-del:hover{color:var(--red);background:#fee8e8}

/* ── MÍSTA ZÁLOŽKY ── */
.mista-tabs-nav{display:flex;background:linear-gradient(105deg,var(--navy-d) 0%,var(--navy) 100%);overflow-x:auto;scrollbar-width:none;flex-wrap:nowrap;border-bottom:1px solid rgba(255,255,255,.06)}
.mista-tabs-nav::-webkit-scrollbar{display:none}
.misto-tab-btn{flex-shrink:0;padding:11px 18px;font-family:'Source Sans 3',sans-serif;font-size:var(--fs-btn);font-weight:500;color:rgba(255,255,255,.48);border:none;background:none;cursor:pointer;transition:all var(--tr);border-bottom:3px solid transparent;white-space:nowrap;text-align:left;border-right:1px solid rgba(255,255,255,.06)}
.misto-tab-btn:hover{color:rgba(255,255,255,.85);background:rgba(255,255,255,.07)}
.misto-tab-btn.active{color:#fff;border-bottom-color:var(--gold);background:rgba(255,255,255,.1)}
.misto-tab-btn.is-hlavni{font-size:var(--fs-field);font-weight:700}
.misto-tab-dot{display:inline-block;width:5px;height:5px;border-radius:50%;background:var(--gold);margin-left:5px;vertical-align:middle;opacity:0;transition:opacity .2s}
.misto-tab-btn.has-data .misto-tab-dot{opacity:1}
.misto-tab-btn-add{flex-shrink:0;padding:11px 16px;font-family:'Source Sans 3',sans-serif;font-size:var(--fs-xs);color:rgba(255,255,255,.45);border:none;border-left:1px dashed rgba(255,255,255,.18);background:none;cursor:pointer;transition:all var(--tr);white-space:nowrap;margin-left:auto}
.misto-tab-btn-add:hover{color:#fff;background:rgba(255,255,255,.08)}

.misto-panel{display:none}.misto-panel.active{display:block}
.misto-panel-top{display:grid;grid-template-columns:1fr 1fr;gap:12px;padding:16px 18px;background:var(--white)}
.misto-id-section{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;gap:12px}
.misto-rozsah-section{grid-column:1/-1;display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:10px;padding-top:12px;border-top:1px solid var(--gray-m)}

/* ── MÍSTO SUB-ZÁLOŽKY ── */
.misto-subtabs{border-top:1px solid var(--gray-m)}
.misto-subtabs-nav{display:flex;background:var(--navy-xl);border-bottom:1.5px solid var(--gray-m);padding:0 4px;gap:2px}
.misto-subtab-btn{padding:9px 16px;font-family:'Source Sans 3',sans-serif;font-size:var(--fs-xs);font-weight:500;color:var(--text3);border:none;background:none;cursor:pointer;transition:all var(--tr);border-bottom:2.5px solid transparent;white-space:nowrap;letter-spacing:.01em;margin-bottom:-1.5px;border-radius:var(--r) var(--r) 0 0}
.misto-subtab-btn:hover{color:var(--navy);background:rgba(27,47,94,.05)}
.misto-subtab-btn.active{color:var(--navy);border-bottom-color:var(--gold);font-weight:700;background:var(--white)}
.misto-subtab-dot{display:inline-block;width:5px;height:5px;border-radius:50%;background:var(--gold);margin-left:5px;vertical-align:middle;opacity:0;transition:opacity .2s}
.misto-subtab-btn.has-data .misto-subtab-dot{opacity:1}
.misto-subpanel{display:none;padding:12px 16px}.misto-subpanel.active{display:block}

/* ── FIELD BOX ── */
.fbox{display:flex;flex-direction:column;gap:4px}
.fbox label{font-size:var(--fs-label);font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--gray-dk)}
.fbox input,.fbox select,.fbox textarea{border:1.5px solid var(--gray-d);border-radius:var(--r);font-family:'Source Sans 3',sans-serif;font-size:var(--fs-field);color:var(--text);padding:var(--field-py) 10px;outline:none;background:var(--gray);transition:border-color var(--tr),background var(--tr),box-shadow var(--tr);width:100%}
.fbox input:focus,.fbox select:focus,.fbox textarea:focus{border-color:var(--navy);background:var(--white);box-shadow:0 0 0 3px rgba(27,47,94,.08)}
.fbox textarea{resize:vertical;min-height:54px;line-height:1.55}

/* ── POJISTNÉ TABULKY ── */
.pt{width:100%;border-collapse:collapse;table-layout:fixed;font-size:var(--fs-table)}
.pt colgroup .cname{width:35%}.pt colgroup .ccast{width:15%}.pt colgroup .cspol{width:12%}
.pt colgroup .cpoj{width:12%}.pt colgroup .cpozn{width:26%}
.pt thead th{padding:8px 10px;font-size:var(--fs-table-h);font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--navy);text-align:center;background:var(--navy-xl);border-bottom:2px solid #dde5f0;border-right:1px solid var(--gray-m);vertical-align:bottom;line-height:1.3}
.pt thead th:first-child{text-align:left;padding-left:12px}
.pt thead th:last-child{border-right:none}
.tr-sub td{background:linear-gradient(90deg,var(--navy-l) 0%,var(--navy-xl) 100%);padding:5px 12px;font-size:var(--fs-table-h);font-weight:700;color:var(--navy);letter-spacing:.07em;text-transform:uppercase;border-bottom:1px solid var(--gray-m);border-top:8px solid var(--gray)}
.tr-d{transition:background var(--tr)}.tr-d:hover{background:#f4f8ff}
.tr-d td{border-bottom:1px solid var(--gray-m);border-right:1px solid var(--gray-m);padding:0;height:32px;vertical-align:middle}
.tr-d td:last-child{border-right:none}
.td-n{padding:4px 8px 4px 12px!important;font-size:var(--fs-small);color:var(--text2);line-height:1.3}
.td-n-i{padding:4px 8px 4px 20px!important;font-size:var(--fs-xs);color:var(--text3);font-style:italic}
.tr-d td input[type="text"]{display:block;width:100%;height:100%;min-height:var(--row-min-h);border:none;outline:none;font-family:'Source Sans 3',sans-serif;font-size:var(--fs-table);color:var(--text);padding:4px 8px;background:transparent;text-align:right;transition:background var(--tr)}
.tr-d td input[type="text"]:focus{background:#edf3ff;outline:2px solid var(--navy);outline-offset:-2px;border-radius:4px}
.tr-d td select{display:block;width:100%;height:100%;min-height:var(--row-min-h);border:none;outline:none;font-family:'Source Sans 3',sans-serif;font-size:var(--fs-btn);color:var(--text);background:transparent;cursor:pointer;padding:0 6px;text-align:center}
.tr-d td select:focus{background:#edf3ff}
.num{font-variant-numeric:tabular-nums;text-align:right!important}

/* ── GLOBÁLNÍ SEKCE ── */
.global-tabs-nav{display:grid;grid-template-columns:repeat(6,1fr);background:linear-gradient(105deg,var(--navy-d) 0%,var(--navy) 100%)}
.gtab-btn{padding:12px 8px;font-family:'Source Sans 3',sans-serif;font-size:var(--fs-gtab);font-weight:600;color:rgba(255,255,255,.45);border:none;background:none;cursor:pointer;transition:all var(--tr);letter-spacing:.02em;text-transform:uppercase;border-bottom:3px solid transparent;white-space:normal;display:flex;flex-direction:column;align-items:center;gap:4px;text-align:center;line-height:1.25;min-height:56px;border-right:1px solid rgba(255,255,255,.06)}
.gtab-btn:hover{color:rgba(255,255,255,.85);background:rgba(255,255,255,.07)}
.gtab-btn.active{color:#fff;border-bottom-color:var(--gold);background:rgba(255,255,255,.1)}
.gtab-btn span.ico{font-size:16px}
.gtab-dot{display:inline-block;width:5px;height:5px;border-radius:50%;background:var(--gold);opacity:0;transition:opacity .2s;margin-left:3px;vertical-align:middle}
.gtab-btn.has-data .gtab-dot{opacity:1}
.gtab-panel{display:none;padding:16px 18px}.gtab-panel.active{display:block}
.gsec-hdr{display:flex;align-items:center;gap:10px;margin-bottom:14px;padding-bottom:10px;border-bottom:2px solid var(--navy-l)}
.gsec-icon{width:32px;height:32px;background:linear-gradient(135deg,var(--navy) 0%,var(--navy-m) 100%);border-radius:var(--r);display:flex;align-items:center;justify-content:center;flex-shrink:0;box-shadow:0 2px 8px rgba(27,47,94,.2)}
.gsec-icon svg{width:14px;height:14px;color:#fff}
.gsec-title{font-family:'Source Sans 3',sans-serif;font-size:var(--fs-section);font-weight:700;color:var(--navy);letter-spacing:.02em}
.gsec-desc{font-size:var(--fs-meta);color:var(--text3);margin-top:2px}

/* ── POJIŠŤOVNY ── */
.pojistovny-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(270px,1fr));gap:10px;margin-bottom:12px}
.poj-item{display:flex;align-items:center;gap:10px;padding:10px 12px;border:1.5px solid var(--gray-m);border-radius:var(--r);background:var(--white);transition:all var(--tr);cursor:pointer}
.poj-item:hover{border-color:var(--navy-m);background:var(--navy-xl);box-shadow:0 2px 8px rgba(27,47,94,.08)}
.poj-item.checked{border-color:var(--navy);background:var(--navy-l);box-shadow:0 2px 8px rgba(27,47,94,.12)}
.poj-item input[type="checkbox"]{width:15px;height:15px;cursor:pointer;accent-color:var(--navy);flex-shrink:0}
.poj-name{font-size:var(--fs-field);font-weight:600;color:var(--text2);flex:1}
.poj-email{font-size:var(--fs-meta);color:var(--text3);flex:1;overflow:hidden;text-overflow:ellipsis}
.poj-edit{background:none;border:none;cursor:pointer;color:var(--text3);padding:3px 5px;border-radius:5px;font-size:var(--fs-xs);flex-shrink:0;transition:all var(--tr)}
.poj-edit:hover{color:var(--navy);background:var(--navy-l)}
.email-extra-row{display:flex;align-items:center;gap:8px;padding:9px 14px;background:var(--gray);border-radius:var(--r);border:1.5px solid var(--gray-m);margin-bottom:8px}
.email-extra-row input{flex:1;border:1.5px solid var(--gray-d);border-radius:var(--r);font-family:'Source Sans 3',sans-serif;font-size:var(--fs-field);color:var(--text);padding:var(--field-py) 10px;outline:none;background:var(--white);transition:all var(--tr)}
.email-extra-row input:focus{border-color:var(--navy);box-shadow:0 0 0 3px rgba(27,47,94,.08)}

/* ── MODAL ── */
.modal-bg{display:none;position:fixed;inset:0;background:rgba(6,15,35,.65);z-index:1000;align-items:center;justify-content:center;padding:16px;backdrop-filter:blur(4px)}
.modal-bg.open{display:flex}
.modal-box{background:var(--white);border-radius:var(--rx);max-width:var(--modal-max);width:100%;max-height:93vh;overflow-y:auto;box-shadow:var(--sh3);animation:mIn .2s cubic-bezier(.34,1.56,.64,1)}
@keyframes mIn{from{opacity:0;transform:translateY(16px) scale(.96)}to{opacity:1;transform:none}}
.modal-hd{position:sticky;top:0;z-index:2;background:linear-gradient(105deg,var(--navy-d) 0%,var(--navy) 100%);border-bottom:3px solid var(--gold);padding:14px 20px;display:flex;justify-content:space-between;align-items:center;border-radius:var(--rx) var(--rx) 0 0}
.modal-hd h3{font-size:var(--fs-modal-h);font-weight:700;color:#fff;letter-spacing:.03em}
.modal-x{background:rgba(255,255,255,.12);border:none;color:#fff;width:28px;height:28px;border-radius:50%;cursor:pointer;font-size:16px;display:flex;align-items:center;justify-content:center;transition:all var(--tr)}
.modal-x:hover{background:rgba(255,255,255,.25)}
.modal-body{padding:18px}
.modal-ft{display:flex;gap:8px;padding:12px 18px;border-top:1.5px solid var(--gray-m);background:var(--gray);flex-wrap:wrap;justify-content:flex-end;border-radius:0 0 var(--rx) var(--rx)}
.prev-klient{margin-bottom:12px;padding-bottom:10px;border-bottom:2px solid var(--navy-l)}
.prev-name{font-size:var(--fs-prev-name);font-weight:700;color:var(--navy)}
.prev-sec-hd{font-size:var(--fs-label);font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:#fff;background:linear-gradient(90deg,var(--navy) 0%,var(--navy-m) 100%);padding:5px 10px;border-radius:var(--r) var(--r) 0 0;margin-top:12px}
.prev-tbl{width:100%;border-collapse:collapse;font-size:var(--fs-prev-tbl);border:1.5px solid var(--gray-d);border-top:none;margin-bottom:2px;border-radius:0 0 var(--r) var(--r);overflow:hidden}
.prev-tbl th{background:var(--navy-l);color:var(--navy);padding:5px 8px;border:1px solid var(--gray-d);font-size:var(--fs-prev-tbl-h);font-weight:700;letter-spacing:.06em;text-transform:uppercase;text-align:center}
.prev-tbl th:first-child{text-align:left}
.prev-tbl td{padding:5px 8px;border:1px solid var(--gray-m);color:var(--text2);vertical-align:middle}
.prev-tbl td:not(:first-child){text-align:right}
.prev-tbl tr:nth-child(even) td{background:#f6f8fd}
.ev{color:var(--text3);font-style:italic}

/* ── TOAST ── */
.toast{position:fixed;bottom:20px;right:20px;padding:11px 16px;border-radius:var(--rl);font-family:'Source Sans 3',sans-serif;font-size:var(--fs-toast);font-weight:500;z-index:9999;opacity:0;transform:translateY(12px);transition:all .22s cubic-bezier(.34,1.56,.64,1);pointer-events:none;max-width:360px;line-height:1.4;box-shadow:var(--sh2);display:flex;align-items:center;gap:8px}
.toast.show{opacity:1;transform:translateY(0)}
.toast-ok{background:linear-gradient(135deg,#0f6b35 0%,#1a8a46 100%);color:#fff}
.toast-err{background:linear-gradient(135deg,#991b1b 0%,#b91c1c 100%);color:#fff}

/* ── FOOTER ── */
.footer{background:var(--navy-d);color:rgba(255,255,255,.3);text-align:center;padding:14px 20px;font-size:var(--fs-meta);letter-spacing:.01em}
.footer a{color:rgba(255,255,255,.5);text-decoration:none;transition:color var(--tr)}.footer a:hover{color:var(--gold)}
.footer strong{color:rgba(255,255,255,.55)}

/* ── LEGENDA ── */
.fn-body{padding:12px 16px;display:flex;flex-direction:column;gap:6px}
.fn-item{display:flex;gap:8px;align-items:flex-start;font-size:var(--fs-small);color:var(--text3);line-height:1.55}
.fn-dot{width:5px;height:5px;border-radius:50%;background:var(--gold);flex-shrink:0;margin-top:7px}
.fn-item strong{color:var(--text2)}

/* ── INFO BOX ── */
.info-box{background:var(--navy-xl);border:1px solid var(--navy-l);border-left:3px solid var(--navy-m);border-radius:var(--r);padding:10px 14px;font-size:var(--fs-small);color:var(--text2);line-height:1.6;margin-top:10px}
.info-box strong{color:var(--navy)}

/* ── CAR/EAR SPECIAL ── */
.car-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:12px}
.car-grid-3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:12px;margin-bottom:12px}
.car-grid-4{display:grid;grid-template-columns:1fr 1fr 1fr 1fr;gap:12px;margin-bottom:12px}
.car-section-label{font-size:var(--fs-label);font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--navy);padding:8px 0 5px;border-bottom:2px solid var(--navy-l);margin-bottom:10px}

/* ── SECTION ROW COLORS ── */
.color-ziv td{background:#f0f7ff}.color-odci td{background:#fff7f0}.color-vand td{background:#fdf4ff}
.color-spec td{background:#f0fff6}.color-odp td{background:#fff6f6}.color-preru td{background:#f4f0ff}
.color-cyber td{background:#f0fbff}.color-zam td{background:#f0fff8}
.tr-d:hover td{filter:brightness(.97)}

/* ── SECTION LABEL (inline) ── */
.tr-sub td{background:linear-gradient(90deg,#eef3fc 0%,var(--navy-xl) 100%)!important;padding:5px 12px!important;font-size:var(--fs-table-h)!important;font-weight:700!important;color:var(--navy)!important;letter-spacing:.08em!important;text-transform:uppercase!important;border-bottom:1px solid var(--gray-m)!important;border-top:10px solid var(--gray)!important}

/* ── UPLOAD BUTTON ── */
.btn-upload{background:linear-gradient(135deg,#0e7490 0%,#0891b2 100%);color:#fff;box-shadow:0 2px 8px rgba(14,116,144,.35)}.btn-upload:hover{filter:brightness(1.08);transform:translateY(-1px)}

/* ── UPLOAD MODAL ── */
.upload-drop{border:2.5px dashed var(--gray-d);border-radius:var(--rl);padding:36px 24px;text-align:center;cursor:pointer;transition:all var(--tr);background:var(--gray);position:relative}
.upload-drop:hover,.upload-drop.drag{border-color:var(--navy);background:var(--navy-xl)}
.upload-drop input[type=file]{position:absolute;inset:0;opacity:0;cursor:pointer;width:100%;height:100%}
.upload-drop-icon{font-size:40px;margin-bottom:10px;display:block}
.upload-drop-title{font-size:14px;font-weight:700;color:var(--navy);margin-bottom:4px}
.upload-drop-sub{font-size:var(--fs-small);color:var(--text3)}
.upload-file-info{display:flex;align-items:center;gap:10px;padding:10px 14px;background:var(--navy-xl);border:1.5px solid var(--navy-l);border-radius:var(--r);margin-top:12px}
.upload-file-icon{font-size:24px;flex-shrink:0}
.upload-file-name{font-size:var(--fs-field);font-weight:600;color:var(--navy);flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.upload-file-size{font-size:var(--fs-xs);color:var(--text3);flex-shrink:0}
.upload-file-remove{background:none;border:none;cursor:pointer;color:var(--text3);padding:4px;border-radius:6px;transition:all var(--tr);flex-shrink:0}
.upload-file-remove:hover{color:var(--red);background:#fee8e8}
.upload-progress{height:4px;background:var(--gray-m);border-radius:10px;overflow:hidden;margin-top:14px;display:none}
.upload-progress-bar{height:100%;background:linear-gradient(90deg,var(--navy) 0%,var(--navy-m) 100%);border-radius:10px;width:0;transition:width .4s ease}
.upload-status{font-size:var(--fs-sm);color:var(--text3);margin-top:10px;text-align:center;min-height:18px;display:none}
.upload-result{background:var(--navy-xl);border:1.5px solid var(--navy-l);border-radius:var(--r);padding:12px 14px;margin-top:12px;font-size:var(--fs-sm);color:var(--text2);line-height:1.7;display:none;max-height:220px;overflow-y:auto}
.upload-result strong{color:var(--navy);font-weight:600}

/* ── DESKTOP — optimalizace pro Full HD (1920×1080) a větší monitory ── */
@media(min-width:1366px){
  :root{
    --container-max:1520px;
    --container-px:28px;
    --fs-base:15px;
    --fs-field:14px;
    --fs-label:10.5px;
    --fs-btn:13px;
    --fs-table:13px;
    --fs-table-h:10px;
    --fs-h1:18px;
    --fs-client:18px;
    --fs-meta:11.5px;
    --fs-small:12.5px;
    --fs-xs:12px;
    --fs-sm:13px;
    --fs-gtab:11px;
    --fs-section:14px;
    --fs-modal-h:15px;
    --fs-prev-name:19px;
    --fs-prev-tbl:11.5px;
    --fs-prev-tbl-h:9.5px;
    --fs-toast:14px;
    --row-min-h:34px;
    --field-py:8px;
    --modal-max:1100px;
  }
}
@media(min-width:1800px){
  :root{
    --container-max:1680px;
    --container-px:32px;
  }
}

/* ── TABLET — 4-sloupcové gridy na 2 sloupce ── */
@media(max-width:1100px){
  .car-grid-4{grid-template-columns:1fr 1fr}
}

@media(max-width:800px){
  .hdr{flex-wrap:wrap;min-height:auto;padding-bottom:10px}
  .hdr-logo{margin-left:-28px;height:58px}
  .hdr-btns{width:100%;padding-bottom:8px}
  .klient-grid{grid-template-columns:1fr 1fr}
  .main{padding:12px 10px 32px}
  .global-tabs-nav{grid-template-columns:repeat(3,1fr)}
}

/* ── DOPLŇKY PRO BACKEND VERZI ── */
/* Našeptávač adres z RÚIAN */
.ruian-dropdown{display:none;position:absolute;top:100%;left:0;right:0;background:var(--white);border:1.5px solid var(--gray-d);border-radius:var(--r);box-shadow:var(--sh2);z-index:100;max-height:220px;overflow-y:auto}
.ruian-dd-item{padding:8px 12px;font-size:var(--fs-sm);color:var(--text2);cursor:pointer;border-bottom:1px solid var(--gray-m)}
.ruian-dd-item:hover{background:var(--navy-l);color:var(--navy)}
.ruian-dd-item:last-child{border-bottom:none}
/* Info box s údaji o budově z RÚIAN */
.ruian-info{display:none;margin-top:6px;font-size:var(--fs-xs);color:var(--text2);background:var(--navy-xl);border:1px solid var(--navy-l);border-radius:var(--r);padding:6px 10px;line-height:1.5}
.ruian-info strong{color:var(--navy)}
/* Editovatelný náhled — mazání a přidávání řádků */
.prev-row-del{background:none;border:none;cursor:pointer;color:var(--gray-d);font-size:var(--fs-xs);padding:2px 4px;border-radius:4px}
.prev-row-del:hover{color:var(--red);background:#fee8e8}
.prev-tbl [contenteditable]{outline:none;display:inline-block;min-width:20px;min-height:14px;border-radius:3px;padding:0 2px}
.prev-tbl [contenteditable]:hover{background:rgba(245,196,0,.15)}
.prev-tbl [contenteditable]:focus{background:#fffbe6;outline:1.5px solid var(--gold)}
.prev-name[contenteditable]:focus,span[data-sync-id][contenteditable]:focus{background:#fffbe6;outline:1.5px solid var(--gold);border-radius:3px}
/* Quill editor v modalu odeslání */
#email-body-editor{border-radius:0 0 var(--r) var(--r)}
.ql-toolbar.ql-snow{border-radius:var(--r) var(--r) 0 0;border-color:var(--gray-d)}
.ql-container.ql-snow{border-color:var(--gray-d);font-family:'Source Sans 3',sans-serif;font-size:var(--fs-field)}
/* Extra řádek — tlačítko mazání v tabulce */
.row-del{font-size:var(--fs-gtab)}

/* ── NÁHLED ANONYMIZACE (AI extrakce, fáze kontroly) ── */
/* Editovatelný náhled textu, který se odešle do AI — zachovává odřádkování */
.anon-preview{background:#fff;border:1.5px solid var(--gray-d);border-radius:var(--r);padding:10px 12px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:var(--fs-xs);line-height:1.6;color:var(--text);white-space:pre-wrap;word-break:break-word;max-height:260px;overflow-y:auto;outline:none}
.anon-preview:focus{border-color:var(--navy);box-shadow:0 0 0 3px rgba(27,47,94,.08)}
/* Štítek zvýrazňující místo, kde anonymizace odstranila osobní údaj */
.anon-badge{background:#fee2e2;color:#b91c1c;border:1px solid #fca5a5;border-radius:4px;padding:0 4px;font-weight:700;font-size:var(--fs-gtab);white-space:nowrap}
