:root{color-scheme:light;--bg:#f7f7f2;--paper:#fffefa;--ink:#293b35;--muted:#68746d;--green:#286657;--green-hover:#1c5044;--soft:#eaf0e7;--line:#dfe4da;--sand:#eee5d4;--danger:#a03f39;--shadow:0 8px 28px #293b3506;font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-size:15px;line-height:1.5}
[data-theme=dark]{color-scheme:dark;--bg:#19241f;--paper:#223029;--ink:#e9eee5;--muted:#b0bfb2;--green:#93cbb2;--green-hover:#b4ddc9;--soft:#2d3e32;--line:#3b4a40;--sand:#3c3b2e;--danger:#ffaaa0;--shadow:none}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink)}button,input,select{font:inherit}button,a,input,select{-webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}button{cursor:pointer}a{color:var(--green);text-decoration:none}a:hover{text-decoration:underline}h1,h2,h3,p{margin:0}h1,h2,h3{font-weight:650;line-height:1.2;letter-spacing:-.035em;overflow-wrap:anywhere}h1{font-size:clamp(2rem,3.3vw,3rem)}h2{font-size:1.35rem}h3{font-size:1.45rem}p{margin-top:.6rem}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid var(--green);outline-offset:4px}input:not([type=checkbox]):not([type=hidden]),select{display:block;width:100%;min-width:0;border:1px solid var(--line);background:var(--paper);color:var(--ink);border-radius:10px;padding:11px 13px;min-height:44px;margin-top:6px}input[type=checkbox]{width:19px;height:19px;accent-color:var(--green);flex:none;margin:0;cursor:pointer}label{font-size:.88rem;font-weight:550}button:disabled{cursor:wait;opacity:.55}form{margin:0}small{font-size:.8rem}.muted{color:var(--muted)}.eyebrow{display:block;color:var(--green);font-size:.69rem;font-weight:750;letter-spacing:.15em;margin-bottom:12px}.grow{flex:1;min-width:0}.btn{min-height:44px;padding:11px 19px;display:inline-flex;align-items:center;justify-content:center;gap:16px;border-radius:10px;border:1px solid transparent;font-size:.87rem;font-weight:650;white-space:nowrap;text-decoration:none}.btn:hover{text-decoration:none}.btn-primary{background:var(--green);color:var(--paper)}.btn-primary:hover{background:var(--green-hover)}.btn-secondary{background:var(--paper);color:var(--green);border-color:var(--line)}.text-button{background:none;border:0;color:var(--green);padding:8px 0;font-size:.83rem;text-align:left;display:inline-block}.danger{color:var(--danger)!important}.icon-button{border:0;background:none;color:var(--muted);border-radius:8px;min-width:40px;min-height:40px;display:inline-flex;align-items:center;justify-content:center;font-size:1.2rem}.icon-button:hover{background:var(--soft);color:var(--green)}.sr-only,.skip-link:not(:focus){position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link:focus{position:fixed;z-index:100;top:10px;left:10px;background:var(--paper);padding:12px}.print-only{display:none!important}[hidden]{display:none!important}
.sidebar{position:fixed;inset:0 auto 0 0;width:246px;background:var(--paper);border-right:1px solid var(--line);padding:36px 25px 22px;display:flex;flex-direction:column;z-index:30;overflow-y:auto}.brand{display:flex;align-items:center;gap:13px;color:var(--ink);font-size:1.02rem;font-weight:700;line-height:1.35;letter-spacing:-.02em}.brand:hover{text-decoration:none}.brand-mark{background:var(--green);color:var(--paper);width:41px;height:46px;border-radius:13px;display:grid;place-items:center;font-size:1.9rem;font-weight:400;flex-shrink:0}.brand small{display:block;font-weight:400;font-size:.67rem;color:var(--muted);margin-top:7px;letter-spacing:0}.nav-label{font-size:.64rem;letter-spacing:.15em;color:var(--muted);margin:44px 10px 12px;font-weight:700}.nav-link{display:flex;justify-content:space-between;color:var(--muted);border-radius:10px;padding:12px;margin:4px 0;font-size:.87rem;font-weight:550}.nav-link.active,.nav-link:hover{background:var(--soft);color:var(--green);text-decoration:none}.sidebar-note{margin:38px 9px;padding:22px 0;border-top:1px solid var(--line)}.sidebar-note>span{font-size:2.7rem;color:#b28547;line-height:1}.sidebar-note p{font-family:Georgia,serif;font-size:1.6rem;line-height:1.25;letter-spacing:-.025em;margin:14px 0 10px}.sidebar-note small{color:var(--muted);font-size:.75rem}.sidebar-bottom{margin-top:auto;border-top:1px solid var(--line);padding-top:15px}.account{display:flex;align-items:center;gap:10px;margin:17px 0 8px;font-size:.85rem;overflow-wrap:anywhere}.account small{display:block;color:var(--muted);font-size:.68rem}.avatar{width:34px;height:34px;background:var(--sand);border-radius:50%;display:grid;place-items:center;flex:none}.main-content{margin-left:246px;min-width:0}.topbar{height:76px;border-bottom:1px solid var(--line);display:flex;align-items:center;gap:14px;justify-content:space-between;padding:0 42px;font-size:.76rem;color:var(--muted)}.breadcrumb{color:var(--ink);margin-left:10px}.topbar-note{font-size:.72rem;white-space:nowrap}.content-body{padding:38px 42px 60px;max-width:1510px;margin:0 auto}#hamburger,.menu-close{display:none}.overlay{position:fixed;inset:0;border:0;background:#10281e70;z-index:20}
.hero{border:1px solid var(--line);background:var(--soft);padding:38px 40px;border-radius:20px;display:flex;gap:24px;justify-content:space-between;align-items:center;margin-bottom:38px}.hero h1{font-family:Georgia,"Times New Roman",serif;font-weight:400;font-size:clamp(2rem,3vw,3rem)}.hero p{color:var(--muted);margin:14px 0 24px;font-size:.94rem}.hero-stamp{height:142px;width:142px;flex:none;display:flex;flex-direction:column;justify-content:center;align-items:center;border:1px solid #a7b99e;border-radius:50%;transform:rotate(9deg);color:var(--green)}.hero-stamp>span{font-size:3.8rem;line-height:1.15}.hero-stamp small{font-size:.56rem;text-align:center;letter-spacing:.17em;margin-top:5px}.section-heading{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:20px}.section-heading>.muted{font-size:.8rem}.count{display:inline-block;font-size:.78rem;background:var(--soft);padding:4px 9px;border-radius:7px;vertical-align:middle;margin-left:7px;letter-spacing:0;color:var(--green)}.vacation-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(280px,100%),1fr));gap:21px;margin-bottom:35px}.vacation-card{background:var(--paper);border:1px solid var(--line);border-radius:15px;box-shadow:var(--shadow);overflow:hidden;transition:box-shadow .2s,transform .2s}.vacation-card:hover{transform:translateY(-2px);box-shadow:0 10px 25px #293b350c}.vacation-card-main{display:block;color:inherit;padding:25px}.vacation-card-main:hover{text-decoration:none}.card-top{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:22px}.trip-icon{display:grid;place-items:center;background:var(--sand);border-radius:11px;width:45px;height:45px;font-size:1.7rem;color:var(--ink)}.badge{font-size:.66rem;color:var(--green);background:var(--soft);padding:5px 9px;border-radius:20px}.vacation-card p{font-size:.8rem;margin:9px 0 23px}.card-actions{border-top:1px solid var(--line);display:flex;gap:20px;padding:8px 25px;flex-wrap:wrap}.card-actions>form:last-child{margin-left:auto}.progress-caption{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:11px;font-size:.8rem}progress{appearance:none;display:block;width:100%;height:7px;border:0;border-radius:10px;overflow:hidden;background:var(--line);color:var(--green)}progress::-webkit-progress-bar{background:var(--line)}progress::-webkit-progress-value{background:var(--green);border-radius:10px}progress::-moz-progress-bar{background:var(--green);border-radius:10px}.card{background:var(--paper);border:1px solid var(--line);border-radius:15px;padding:25px;box-shadow:var(--shadow)}.new-trip{display:flex;flex-direction:column;gap:20px}.new-trip p,.new-list p{font-size:.84rem}.new-trip .add-form{max-width:750px}.add-form{display:flex;gap:12px;align-items:flex-end}.add-form input{margin-top:6px}.empty-state{grid-column:1/-1;background:var(--paper);border:1px dashed var(--line);border-radius:15px;text-align:center;padding:38px 20px}.empty-state>span{font-size:2rem;color:#b28547}.empty-state p{color:var(--muted);font-size:.9rem;max-width:470px;margin:14px auto 20px}
.detail-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:25px;margin-bottom:28px}.back-link{display:block;font-size:.78rem;margin-bottom:25px;color:var(--muted)}.detail-heading h1{font-size:clamp(2rem,3vw,2.7rem)}.detail-heading p{font-size:.88rem;margin-top:12px}.print-controls{display:flex;align-items:flex-end;gap:8px;flex-shrink:0}.print-controls label{font-size:.7rem;color:var(--muted)}.print-controls select{font-size:.79rem}.packing-progress{display:flex;align-items:center;gap:20px;background:var(--soft);border:1px solid var(--line);padding:22px 25px;border-radius:14px;margin-bottom:32px}.progress-symbol{display:grid;place-items:center;width:44px;height:44px;border:1px solid #a7b99e;border-radius:50%;color:var(--green);font-size:1.4rem;flex:none}.packing-progress .progress-caption{font-size:.84rem}.packing-progress small{display:block;font-size:.71rem;color:var(--muted);margin-top:10px}.packing-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:18px}.packing-toolbar .section-heading{margin:0}.check-label{display:flex;align-items:center;gap:9px;font-size:.78rem;color:var(--muted);font-weight:400}.persons-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(325px,100%),1fr));gap:24px;align-items:start}.person-card{background:var(--paper);border:1px solid var(--line);border-radius:15px;box-shadow:var(--shadow);overflow:hidden;scroll-margin-top:24px;min-width:0}.person-header{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:22px 23px 18px;border-bottom:1px solid var(--line)}.person-header .eyebrow{font-size:.58rem;margin-bottom:7px}.person-header h2{font-size:1.3rem}.person-count{font-size:.7rem;display:block;margin-top:7px}.person-actions{display:flex;align-items:center;flex-shrink:0;gap:0}.person-actions .icon-button{min-width:32px}.item-list{list-style:none;margin:0;padding:4px 23px}.item-row{display:flex;align-items:center;gap:6px;min-height:57px;border-bottom:1px solid var(--line);padding:7px 0;break-inside:avoid}.item-row:last-child{border:0}.item-label{display:flex;align-items:center;gap:12px;flex:1;min-width:0;cursor:pointer;font-weight:400;font-size:.87rem;padding:5px 0}.item-name{overflow-wrap:anywhere;flex:1;min-width:0}.quantity{font-size:.72rem;color:var(--muted);white-space:nowrap}.packed .item-name{color:var(--muted);text-decoration:line-through}.item-edit{font-size:1.4rem;min-width:32px}.empty-list{font-size:.82rem;padding:22px 0}.item-add{border-top:1px solid var(--line);padding:17px 21px;background:color-mix(in srgb,var(--soft) 30%,var(--paper))}.add-item-form{display:flex;gap:7px;align-items:center}.add-item-form input{font-size:.79rem;margin:0!important;padding:10px}.quantity-input{width:65px;flex-shrink:0}.add-item-form .btn{padding:8px 13px;font-size:1.2rem}.copy-to{margin-top:12px;font-size:.72rem;color:var(--muted)}.copy-to summary{cursor:pointer}.copy-to>div{display:flex;flex-wrap:wrap;gap:13px;margin-top:13px}.copy-to .check-label{font-size:.75rem}.is-collapsed .card-collapsible-content{display:none}.is-collapsed .collapse-toggle{transform:rotate(-90deg)}.remaining-only .packed{display:none}.all-packed{font-size:.79rem;padding:14px 23px}.new-list{margin-top:27px;display:flex;align-items:center;justify-content:space-between;gap:25px}.new-list h2{font-size:1.2rem}.new-list .add-form{flex:1;max-width:510px}.sync-banner{padding:14px 20px;border:1px solid #bfa66e;background:var(--sand);border-radius:10px;font-size:.85rem;margin-bottom:22px}.sync-banner button{margin-left:12px;font-weight:650}.toast{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);max-width:min(580px,90vw);width:max-content;border:1px solid var(--line);background:var(--ink);color:var(--paper);padding:15px 22px;border-radius:12px;box-shadow:0 8px 30px #0002;font-size:.87rem;z-index:90}
dialog{background:var(--paper);color:var(--ink);border:1px solid var(--line);border-radius:18px;padding:27px;width:min(440px,calc(100% - 30px));max-height:90vh;overflow:auto;box-shadow:0 20px 70px #0003}dialog::backdrop{background:#172b2470;backdrop-filter:blur(3px)}.dialog-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:22px}.stack{display:flex;flex-direction:column;gap:18px}.dialog-move{display:flex;gap:10px;align-items:flex-end;border-top:1px solid var(--line);margin-top:24px;padding-top:20px}.dialog-move label{flex:1;min-width:0}.delete-form{margin-top:18px}.page-heading{margin-bottom:30px}.password-card{max-width:560px}.password-card h2{margin-bottom:22px}.form-note{font-size:.76rem;color:var(--muted);line-height:1.6;margin:0}.error,.success{padding:13px 16px;border-radius:10px;margin:16px 0;font-size:.88rem}.error{background:#a03f3910;color:var(--danger);border:1px solid #a03f3940}.success{background:var(--soft);color:var(--green);border:1px solid var(--line)}
.login-page{min-height:100vh;display:grid;place-items:center;padding:40px 24px;background:var(--bg)}.login-layout{display:grid;grid-template-columns:1.1fr 1fr;gap:90px;align-items:center;max-width:1010px;width:100%}.login-intro{position:relative}.login-intro>.brand{margin-bottom:48px}.login-intro>.eyebrow{font-size:.66rem}.login-intro h1{font-family:Georgia,serif;font-weight:400;font-size:4.3rem;line-height:1.06;letter-spacing:-.045em}.login-intro h1 em{font-weight:400;color:var(--green)}.login-intro p{color:var(--muted);font-size:.94rem;margin:22px 0}.login-box{background:var(--paper);border:1px solid var(--line);padding:38px;border-radius:20px;box-shadow:var(--shadow);width:100%}.login-box h2{font-size:1.7rem}.login-box>.muted{font-size:.87rem;margin:16px 0 28px}.login-box>.form-note{margin-top:25px;text-align:center}.login-box .btn{margin-top:6px;justify-content:space-between}.travel-art{position:relative;height:180px;background:var(--soft);border-radius:100px 100px 12px 12px;overflow:hidden;max-width:365px;margin-top:30px}.sun{background:#d9ae62;width:55px;height:55px;border-radius:50%;position:absolute;top:22px;right:72px}.hill{position:absolute;bottom:-115px;left:-65px;width:410px;height:205px;background:#87a68b;border-radius:50%}.hill-back{left:160px;bottom:-84px;background:#bdcbb0}.suitcase{position:absolute;bottom:27px;left:83px;background:#e3c199;border:2px solid #967857;width:65px;height:75px;border-radius:13px;transform:rotate(-9deg);color:#5e755c;text-align:center;font-size:2rem;padding-top:11px}.suitcase:before{content:"";position:absolute;top:-13px;left:20px;width:22px;height:14px;border:3px solid #967857;border-bottom:0;border-radius:6px}.art-caption{position:absolute;bottom:14px;right:15px;font-size:.48rem;letter-spacing:.14em;color:#213b2d}
@media(min-width:1500px){.persons-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:1150px){.sidebar{width:216px;padding:30px 20px}.main-content{margin-left:216px}.content-body{padding:28px}.topbar{padding:0 28px}.hero{padding:30px}.hero-stamp{width:105px;height:105px}.hero-stamp>span{font-size:2.7rem}.detail-heading{align-items:flex-start;flex-direction:column}.new-list{align-items:stretch;flex-direction:column}.new-list .add-form{max-width:none}.login-layout{gap:45px}}
@media(max-width:760px){.sidebar{transform:translateX(-100%);width:260px;transition:transform .2s;visibility:hidden}.sidebar.active{transform:translateX(0);visibility:visible}.menu-close{display:flex;position:absolute;top:5px;right:5px}#hamburger{display:inline-flex}.main-content{margin-left:0}.topbar{height:62px;padding:0 15px;justify-content:flex-start}.topbar-note{display:none}.breadcrumb{display:none}.content-body{padding:24px 18px 40px}.hero{padding:26px 24px;gap:10px;margin-bottom:27px}.hero-stamp{display:none}.hero h1{font-size:2.25rem;max-width:340px}.hero p{font-size:.85rem}.section-heading>.muted{display:none}.section-heading h2{font-size:1.2rem}.new-trip{padding:22px}.add-form{flex-wrap:wrap;align-items:stretch}.add-form .grow{flex-basis:100%}.add-form .btn{width:100%}.detail-heading{gap:20px}.detail-heading h1{font-size:2.1rem}.packing-progress{padding:18px;gap:12px}.progress-symbol{display:none}.packing-progress .progress-caption{align-items:flex-start;font-size:.79rem}.progress-caption>span:last-child{white-space:nowrap}.packing-toolbar{flex-wrap:wrap}.persons-grid{grid-template-columns:minmax(0,1fr);gap:20px}.person-header{padding:20px}.item-list{padding:4px 20px}.item-add{padding:16px 18px}.print-controls{width:100%}.print-controls label{flex:1}.login-page{padding:30px 19px}.login-layout{grid-template-columns:1fr;gap:30px;max-width:440px}.login-intro>.brand{margin-bottom:28px}.login-intro h1{font-size:3rem}.login-intro h1 br{display:none}.login-intro h1 em:before{content:' '}.login-intro p,.travel-art{display:none}.login-box{padding:27px}.login-box h2{font-size:1.5rem}.login-intro>.eyebrow{font-size:.58rem}.sidebar-note{margin:24px 9px}.card-actions{gap:15px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
@media print{
@page{size:A4 portrait;margin:15mm 14mm 16mm}
:root,[data-theme=dark]{color-scheme:light;--ink:#171717;--muted:#555;--paper:#fff;--line:#ccc;--green:#222;--bg:#fff}
html,body,.main-content,.content-body,#packing-app{display:block!important;position:static!important;margin:0!important;padding:0!important;width:auto!important;max-width:none!important;height:auto!important;overflow:visible!important;background:#fff!important;color:#171717!important;font-size:10pt}
.sidebar,.topbar,.no-print,.skip-link,.toast,.overlay,dialog,.back-link{display:none!important}.print-only{display:block!important}.detail-heading{display:block;border-bottom:1.5pt solid #333;padding-bottom:12pt;margin-bottom:18pt}.detail-heading .eyebrow{font-size:7pt;letter-spacing:.13em;color:#555;margin-bottom:6pt}.detail-heading h1{font-size:24pt;color:#000}.detail-heading .muted{display:none}.detail-heading .print-meta{font-size:8.5pt;margin-top:9pt}.persons-grid{display:block!important;columns:2;column-gap:20pt}.person-card{display:block;border:0;border-radius:0;box-shadow:none;padding:0;margin:0 0 19pt;overflow:visible;break-inside:avoid}.person-header{padding:0 0 6pt;border-bottom:1pt solid #555;break-after:avoid;display:block}.person-header .eyebrow{display:none}.person-header h2{font-size:13pt;color:#000}.person-count{font-size:7.5pt;margin-top:3pt}.card-collapsible-content,.is-collapsed .card-collapsible-content{display:block!important}.item-list{padding:0;margin:0;display:block}.item-row,.remaining-only .packed{display:flex!important;min-height:0;padding:5pt 0;border-bottom:.5pt solid #ddd!important;break-inside:avoid;page-break-inside:avoid}.item-label{display:flex;align-items:flex-start;gap:7pt;font-size:9.5pt;line-height:1.35;padding:0;cursor:default}.item-label .chk-item{display:none!important}.item-name,.packed .item-name{color:#111;text-decoration:none;opacity:1}.quantity{font-size:8pt;color:#444;padding-top:1pt}.print-checkbox{width:10pt;height:10pt;border:.8pt solid #555;flex:0 0 10pt;font-size:9pt;line-height:9pt;text-align:center;margin-top:1pt}.packed .print-checkbox:empty:after{content:'✓'}.print-remaining .packed,.print-remaining .print-empty{display:none!important}.print-footer{border-top:.5pt solid #aaa;margin-top:16pt;padding-top:7pt;font-size:7pt;color:#666}.empty-list{font-size:8pt;padding:8pt 0}
}

/* Shared suite header replaces the former left navigation. */
.main-content{margin-left:0}.site-header{height:76px;display:flex;align-items:center;justify-content:space-between;gap:18px;border-bottom:1px solid var(--line);background:var(--paper);padding:0 38px}.header-controls{display:flex;gap:9px}.round-button{display:inline-grid;place-items:center;width:42px;height:42px;border:1px solid var(--line);border-radius:50%;background:var(--paper);color:var(--ink);font-size:20px;cursor:pointer}.guest-controls{position:absolute;right:24px;top:22px}.panel.narrow{background:var(--paper);border:1px solid var(--line);border-radius:18px;padding:28px;width:100%;max-width:540px;grid-column:1/-1;margin:auto}.panel.narrow form{display:grid;gap:10px;margin-top:20px}.panel.narrow .button{padding:12px;border-radius:8px;background:var(--green);color:var(--paper);border:0}.fine{font-size:.8rem;color:var(--muted)}@media(max-width:760px){.site-header{height:68px;padding:0 18px}.site-header .brand{font-size:.9rem;gap:8px}.site-header .brand-mark{width:32px;height:36px;font-size:1.4rem}.login-page{position:relative;padding-top:70px}}@media print{.site-header,.guest-controls{display:none!important}@page{size:A4 portrait;margin:18mm 16mm}}

/* Společný přihlašovací formulář (/suite/auth.css) přebírá barvy Dovolené ve světlém i tmavém režimu. */
.suite-auth{--auth-app-surface:var(--paper);--auth-app-field:var(--paper);--auth-app-text:var(--ink);--auth-app-muted:var(--muted);--auth-app-line:var(--line);--auth-app-accent:var(--green);--auth-app-on-button:var(--paper);--auth-app-error:var(--danger)}
