:root{color-scheme:light;--bg:#f7f6f2;--paper:#fff;--ink:#152126;--muted:#58656a;--teal:#174e4b;--line:#e3e4df;--soft:#edf5f2;--gold:#96691f;--red:#c93742;font-family:Arial,Helvetica,sans-serif;color:var(--ink);font-synthesis:none}
*{box-sizing:border-box}body{margin:0;background:#eaece7}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{opacity:.55;cursor:wait}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid #b68945;outline-offset:3px}button,a{touch-action:manipulation}svg{width:22px;height:22px;display:block;flex-shrink:0}[hidden]{display:none!important}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.preview-bar{max-width:1100px;margin:0 auto 24px;padding:20px;display:flex;gap:14px;align-items:end;flex-wrap:wrap;font-size:13px;color:#42504c}.preview-bar>div{flex:1;min-width:210px}.preview-bar strong,.preview-bar span{display:block}.preview-bar strong{font-size:17px;margin-bottom:6px}.preview-bar label{display:grid;gap:5px}.preview-bar select,.preview-reset{min-height:40px;padding:8px;border:1px solid #bdc8c2;border-radius:6px;background:white;color:#253c36}.preview-reset{font-size:12px}.device{width:min(var(--preview-width,390px),100%);margin:0 auto 50px;background:var(--bg);box-shadow:0 16px 70px #1c342022;border:1px solid #d5dcd5;border-radius:22px;overflow:clip}.app{min-height:820px;position:relative;background:var(--bg)}
.app-header{padding:20px 19px 18px;display:flex;align-items:center;gap:10px;border-bottom:1px solid var(--line);background:var(--bg)}.brand-mark{width:34px;flex:0 0 34px}.brand-mark svg{width:34px;height:39px}.brand-copy{min-width:0;flex:1}.brand-copy strong{font-size:15px;line-height:1.35;display:block;overflow-wrap:anywhere}.brand-copy>span{font-size:13px;color:var(--muted);display:block;margin-top:4px}.logout{min-height:48px;min-width:48px;display:grid;justify-items:center;gap:3px;background:none;border:0;padding:3px;color:var(--ink);font-size:11px}.logout svg{width:22px;height:22px}main{padding:25px 18px 0}.title-row{display:flex;align-items:center;justify-content:space-between;gap:10px}h1{font-size:29px;line-height:1.18;letter-spacing:-1px;margin:0;font-weight:750;overflow-wrap:anywhere}.icon-button{display:grid;place-items:center;background:transparent;border:0;color:var(--teal);min-width:44px;min-height:44px}.icon-button svg{width:19px;height:19px}.section-intro{font-size:14px;line-height:1.5;color:var(--muted);margin:9px 0 22px}.tabs{display:flex;border-bottom:1px solid #dce1dc;margin:17px 0 21px;gap:4px}.tabs button{position:relative;background:transparent;border:0;min-height:52px;padding:7px 5px 13px;color:#425353;flex:1;font-size:14px;line-height:1.35;white-space:nowrap}.tabs button[aria-selected=true]{color:var(--teal);font-weight:700}.tabs button[aria-selected=true]:after{content:'';position:absolute;left:0;right:0;bottom:-1px;height:3px;border-radius:3px;background:var(--teal)}.count{display:inline-flex;min-width:21px;height:21px;padding:0 5px;align-items:center;justify-content:center;background:var(--red);color:#fff;border-radius:20px;font-size:12px;margin-left:3px;font-variant-numeric:tabular-nums}.count.zero{background:#e3e9e4;color:#53655f}.stats{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:0 0 20px}.stat{position:relative;display:block;text-align:left;background:#fff;border:1px solid var(--line);border-radius:12px;padding:15px 14px;min-height:99px;color:var(--ink)}.stat>span:first-child{font-size:13px;display:block;max-width:100px;line-height:1.4}.stat strong{display:block;color:var(--teal);font-size:29px;line-height:1.1;margin-top:9px;font-variant-numeric:tabular-nums}.stat:first-child strong{color:var(--gold)}.stat-icon{position:absolute;right:12px;bottom:14px;background:#e8f2ed;border-radius:50%;padding:9px;color:var(--teal)}.stat-icon.gold{background:#fbf1dc;color:var(--gold)}.stat-icon svg{height:18px;width:18px}.stat[aria-pressed=true]{border-color:var(--teal);background:#eef5f2;box-shadow:inset 0 0 0 1px var(--teal)}
input,select,textarea{width:100%;min-width:0;color:var(--ink);border:1px solid #cbd2ce;background:#fff;border-radius:8px;min-height:48px;padding:12px;font-size:16px;line-height:1.45}input::placeholder,textarea::placeholder{color:#75817e;opacity:1}textarea{resize:vertical}select{padding-right:26px}.filters{display:grid;gap:11px}.search{display:flex;align-items:center;gap:9px;position:relative}.search>span{position:absolute;left:13px;color:#657772;pointer-events:none}.search input{padding-left:43px;background:#fff}.search svg{width:20px;height:20px}.list-meta{display:flex;align-items:center;justify-content:space-between;min-height:43px;font-size:12px;color:var(--muted);gap:6px}.list-meta button{border:0;background:none;color:var(--teal);text-decoration:underline;min-height:44px;padding:7px 2px;font-size:12px}.guest-list{display:grid;gap:12px}.guest-card{display:flex;gap:12px;align-items:center;border:1px solid var(--line);border-radius:12px;background:#fff;width:100%;padding:12px;text-align:left;color:var(--ink);min-height:126px}.guest-card:hover{border-color:#91b2a9}.thumb{width:76px;height:90px;flex:0 0 76px;border-radius:8px;background:#eeeae0;object-fit:cover}.placeholder-thumb{display:grid;place-items:center;color:#86978d;background:#edf1eb}.placeholder-thumb svg{width:28px;height:28px}.card-body{flex:1;min-width:0}.card-body strong{display:block;font-size:17px;line-height:1.3;overflow-wrap:anywhere;letter-spacing:-.2px}.card-body p{font-size:13px;color:var(--muted);line-height:1.4;margin:6px 0 8px;overflow-wrap:anywhere}.badge{display:inline-block;background:#fcf0d7;color:#775515;border-radius:20px;font-size:11px;line-height:1.3;padding:6px 9px;font-weight:600}.badge.blue{background:#e6eff8;color:#35566f}.badge.teal{background:#e2f1eb;color:#205c51}.badge.gray{background:#edf0ec;color:#57645c}.chevron{color:#59706a;flex:0 0 14px}.chevron svg{width:14px;height:20px}.card-date,.card-owner{display:block;font-size:11px;line-height:1.4;color:#61716a;margin-top:7px}.list-footer{text-align:center;color:#718078;font-size:11px;line-height:1.5;padding:24px 0 14px}.empty{border:1px dashed #bdcfc5;border-radius:12px;background:#f1f6f1;padding:28px 18px;text-align:center}.empty svg{margin:0 auto 12px;color:#577c6d;width:28px;height:28px}.empty h2{font-size:18px;margin:0 0 8px}.empty p{font-size:14px;line-height:1.6;color:var(--muted);margin:0}.pool-info{padding:13px 14px;border-radius:9px;background:#eaf3ef;border:1px solid #cfdfd5;color:#315b4f;font-size:14px;line-height:1.55;margin:0 0 18px}.field{display:grid;gap:8px;font-size:14px;font-weight:600;margin-bottom:20px}.field small{font-size:12px;line-height:1.5;color:var(--muted);font-weight:400}.colleague-field{margin-bottom:19px}.colleague-field select{font-weight:400}.back{display:flex;align-items:center;gap:8px;min-height:44px;padding:0;background:none;border:0;color:var(--teal);font-size:14px;margin:-10px 0 15px}.back svg{width:18px}.detail-heading{position:relative;padding-right:0}.detail-heading h1{font-size:29px;margin-bottom:10px}.eyebrow{font-size:11px;letter-spacing:1.3px;font-weight:600;color:#6f7e77;margin:0 0 10px}.detail-spec{font-size:14px;line-height:1.5;color:var(--muted);margin:13px 0 18px;overflow-wrap:anywhere}.gallery{display:flex;gap:8px;overflow-x:auto;margin:0 0 16px;border-radius:10px;scroll-snap-type:x mandatory}.gallery button{position:relative;flex:0 0 66%;height:166px;padding:0;background:#eae6dc;border:0;border-radius:10px;overflow:hidden;scroll-snap-align:start}.gallery button:only-child{flex-basis:100%;height:210px}.gallery img{width:100%;height:100%;object-fit:cover}.gallery .image-label{position:absolute;bottom:8px;right:8px;display:flex;align-items:center;gap:4px;padding:5px 7px;background:#fffffff0;border-radius:5px;font-size:11px;color:#2f4740}.image-label svg{width:14px;height:14px}.idea{margin:0 0 14px;background:#fff;border:1px solid var(--line);border-radius:9px;padding:13px;font-size:14px;line-height:1.6;white-space:pre-wrap;overflow-wrap:anywhere}.contact-actions{display:flex;gap:10px;margin:18px 0 21px}.contact-actions a{min-height:48px;display:flex;align-items:center;justify-content:center;gap:9px;flex:1;border:1px solid var(--teal);border-radius:8px;font-size:15px;font-weight:600;color:var(--teal);text-decoration:none}.contact-actions a:first-child{background:var(--teal);color:white}.contact-actions a svg{width:20px}.contact-actions:empty{display:none}.owner{font-size:13px;color:var(--muted);margin:0 0 20px}.date-fields{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:8px}.date-fields input{padding:11px 8px;min-height:49px;font-size:15px}.date-fields input::-webkit-date-and-time-value{text-align:left}.primary,.secondary{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:50px;padding:13px 14px;font-size:15px;font-weight:600;border-radius:8px;border:1px solid var(--teal);background:var(--teal);color:#fff;line-height:1.4}.secondary{background:transparent;color:var(--teal);border-color:#c5d2ca}.wide{width:100%}#edit-fields{border:0;margin:0;padding:0;min-width:0}.save-bar{position:sticky;bottom:0;background:linear-gradient(#f7f6f2ed,var(--bg) 20%);padding:14px 0 max(18px,env(safe-area-inset-bottom));z-index:2}#detail-screen{padding-top:20px}#detail-form{margin:0}.error{color:#a42d35;font-size:14px;line-height:1.5;margin:12px 0}.toast{position:fixed;left:50%;bottom:22px;transform:translateX(-50%);max-width:min(350px,calc(100vw - 30px));background:#163e35;color:white;box-shadow:0 4px 25px #0002;padding:13px 17px;border-radius:10px;font-size:14px;line-height:1.5;z-index:30}.signed-out{text-align:center;padding:90px 25px}.signed-out>span svg{margin:0 auto 20px;color:var(--teal);width:34px;height:34px}.signed-out h1{font-size:26px}.signed-out p{font-size:15px;line-height:1.6;color:var(--muted);margin-bottom:25px}body:has(dialog[open]){overflow:hidden}dialog{color:var(--ink)}dialog::backdrop{background:#142820c9}.lightbox{padding:0;border:0;border-radius:12px;width:min(94vw,700px);background:#fcfbf7}.lightbox-top,.lightbox-bottom{display:flex;align-items:center;justify-content:space-between;padding:10px 15px;font-size:14px;gap:12px}.lightbox button{min-width:44px;min-height:44px;border:0;border-radius:6px;background:#e8ede7;color:var(--teal);display:grid;place-items:center}.lightbox img{display:block;width:100%;height:min(63dvh,650px);object-fit:contain;background:#e9e5da}.leave-dialog{border:1px solid var(--line);border-radius:14px;width:min(350px,calc(100vw - 30px));padding:23px}.leave-dialog h2{font-size:21px;line-height:1.3;margin:0 0 12px}.leave-dialog p{font-size:14px;line-height:1.6;color:var(--muted)}.leave-dialog button{margin-top:10px}#load-more{margin-top:18px}
@media(max-width:600px){body{background:var(--bg)}.preview-bar{margin-bottom:0;padding:12px;font-size:11px;gap:10px;border-bottom:1px dashed #b6c4bb}.preview-bar>div{flex-basis:100%}.preview-bar strong{font-size:13px}.preview-bar label{flex:1}.preview-bar select{font-size:12px;width:100%}.preview-bar .width-control{display:none}.preview-reset{font-size:11px;min-height:40px}.device{width:100%;border:0;border-radius:0;box-shadow:none;margin:0}.app{min-height:calc(100dvh - 140px)}}
@media(prefers-reduced-motion:no-preference){button,a{transition:background-color .15s,border-color .15s}.guest-card:active{background:#edf4ef}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}

.date-fields input{font-size:16px}.badge{font-size:12px}.card-date,.card-owner{font-size:12px}.embedded .preview-bar{display:none}.embedded .device{width:100%;margin:0;border:0;border-radius:0;box-shadow:none}.embedded .app{min-height:100dvh}

input,select,textarea{font-weight:400}
/* PC layout: same data and controls; two panes instead of a separate page. */
body.desktop-mode .width-control{display:none}
@media(min-width:800px){
 body.desktop-mode{background:#f0f1eb}
 .desktop-mode .preview-bar{max-width:1450px;margin-bottom:6px}
 .desktop-mode .device{width:calc(100% - 64px);max-width:1380px;border-radius:16px;margin-bottom:32px;box-shadow:0 10px 40px #233e2810}
 .desktop-mode .app{display:grid;grid-template-columns:minmax(280px,.9fr) minmax(0,1.3fr);gap:0;min-height:850px;background:#f7f6f2}
 .desktop-mode .app-header{grid-column:1/-1;padding:22px 30px;min-height:95px;background:#fff;gap:13px}
 .desktop-mode .brand-mark{width:40px;flex-basis:40px}.desktop-mode .brand-mark svg{width:40px;height:43px}
 .desktop-mode .brand-copy strong{font-size:19px}.desktop-mode .brand-copy>span{font-size:14px}
 .desktop-mode .logout{display:flex;gap:8px;font-size:13px;min-height:44px;padding:10px 15px;border:1px solid #e0e4de;border-radius:8px}
 .desktop-mode #list-screen{grid-column:1;grid-row:2;padding:30px 24px 0;border-right:1px solid #dce3dc;align-self:start}
 .desktop-mode #detail-screen{grid-column:2;grid-row:2;margin:24px;padding:24px 26px 0;border:1px solid #e1e6df;border-radius:12px;background:#fff;align-self:start;min-width:0;box-shadow:0 4px 15px #173e2b05}
 .desktop-mode h1{font-size:30px}.desktop-mode .title-row .icon-button{flex-shrink:0}
 .desktop-mode .section-intro{max-width:430px;margin-bottom:20px;line-height:1.6}
 .desktop-mode .tabs{margin-top:14px}.desktop-mode .tabs button{font-size:14px}
 .desktop-mode .stats{gap:12px}.desktop-mode .stat{min-height:94px;padding:14px 16px}.desktop-mode .stat strong{font-size:30px}
 .desktop-mode .filters{grid-template-columns:minmax(0,1fr);gap:10px}.desktop-mode .guest-card{padding:13px;min-height:120px}
 .desktop-mode .guest-card.selected{border-color:#79a49a;background:#edf5f1;box-shadow:inset 0 0 0 1px #79a49a}
 .desktop-mode .thumb{height:84px;width:72px;flex-basis:72px}.desktop-mode .card-body strong{font-size:17px}
 .desktop-mode .card-body p{margin:5px 0 7px}.desktop-mode .list-footer{padding-top:28px}
 .desktop-mode .detail-heading{padding-right:110px}.desktop-mode .detail-heading .badge{position:absolute;right:0;top:27px}
 .desktop-mode .detail-heading h1{font-size:28px;margin:0}.desktop-mode .detail-spec{margin-top:11px;margin-bottom:18px}
 .desktop-mode .back{min-height:32px;margin:-6px 0 16px;font-size:12px}
 .desktop-mode .gallery{margin-bottom:16px;display:grid;grid-template-columns:1fr 1fr;gap:10px;overflow:visible}
 .desktop-mode .gallery button,.desktop-mode .gallery button:only-child{height:170px;width:100%;min-width:0}
 .desktop-mode .gallery button:only-child{grid-column:1/-1;height:210px}
 .desktop-mode .idea{font-size:14px;padding:11px 13px;background:#fafbf8;margin-bottom:10px}
 .desktop-mode .contact-actions{margin:15px 0 20px;max-width:390px}.desktop-mode .contact-actions a{min-height:44px;font-size:14px}
 .desktop-mode #edit-fields{display:grid;grid-template-columns:1fr 1fr;gap:0 14px}
 .desktop-mode #edit-fields>.field:first-child,.desktop-mode #edit-fields>.field:nth-child(2){grid-column:1/-1}
 .desktop-mode #edit-fields .field{margin-bottom:16px;font-size:13px}.desktop-mode textarea{min-height:77px}
 .desktop-mode .field small{font-size:11px}.desktop-mode .date-fields{grid-template-columns:minmax(0,1.2fr) minmax(0,1fr)}
 .desktop-mode .save-bar{padding:12px 0 20px;background:#fff;position:sticky;bottom:0}
 .desktop-mode .save-bar .primary{min-height:48px}.desktop-mode .toast{bottom:28px}
 .desktop-mode .detail-placeholder{display:flex;grid-column:2;grid-row:2;align-items:center;justify-content:center;margin:24px;min-height:680px;padding:45px;border:1px dashed #c9d8cd;border-radius:12px;background:#f9faf6;text-align:center}
 .desktop-mode .detail-placeholder>div{max-width:340px}.desktop-mode .detail-placeholder svg{width:38px;height:38px;margin:0 auto 22px;color:#547b69}
 .desktop-mode .detail-placeholder .eyebrow{font-size:10px;letter-spacing:1.3px}.desktop-mode .detail-placeholder h2{font-size:25px;line-height:1.3;letter-spacing:-.6px;margin:14px 0}
 .desktop-mode .detail-placeholder p{font-size:14px;line-height:1.7;color:#617369}.desktop-mode .detail-placeholder .placeholder-hint{font-size:12px;margin-top:20px}
 .desktop-mode .signed-out{grid-column:1/-1;min-height:650px;padding-top:150px}
 .embedded.desktop-mode .device{width:100%;max-width:1600px;margin:0 auto;border-radius:0;border:0;box-shadow:none}
}
@media(min-width:1280px){.desktop-mode #list-screen{padding:34px 30px 0}.desktop-mode #detail-screen{margin:28px;padding:26px 30px 0}.desktop-mode .filters{grid-template-columns:minmax(0,1fr) 175px}.desktop-mode .filters input{font-size:14px}.desktop-mode .filters select{font-size:14px}.desktop-mode .card-body p{font-size:14px}.desktop-mode .app{grid-template-columns:minmax(420px,.95fr) minmax(0,1.2fr)}}
@media(min-width:800px){.desktop-mode .save-bar{position:static}.desktop-mode .gallery button{height:145px}.desktop-mode #list-screen{position:sticky;top:0;max-height:100dvh;overflow-y:auto;scrollbar-width:thin}}
@media(min-width:800px){.desktop-mode #edit-fields{align-items:start}}
.time-picker{display:flex;align-items:center;gap:5px;min-width:0}.time-picker select{min-width:0;padding:11px 3px;font-size:16px;flex:1;height:49px}.time-picker>span{font-size:16px;font-weight:400}.gallery img{object-fit:contain}
.hungarian-date{display:flex;min-width:0;position:relative}.hungarian-date input[type=text]{padding:12px 38px 12px 10px;min-width:0;font-size:16px}.hungarian-date>button{position:absolute;right:0;top:0;bottom:0;background:transparent;border:0;min-width:38px;min-height:48px;display:grid;place-items:center;color:var(--teal);padding:5px}.hungarian-date svg{width:19px;height:19px}.calendar-dialog{border:1px solid #ccd7cd;background:#fafbf6;border-radius:14px;padding:16px;width:min(354px,calc(100vw - 24px))}.calendar-header{display:flex;align-items:center;gap:4px}.calendar-header h2{font-size:17px;flex:1;text-align:center;margin:0;line-height:1.3}.calendar-header button,.calendar-footer button{background:transparent;border:0;color:var(--teal);min-width:36px;min-height:44px;font-size:24px;border-radius:6px}.calendar-header button:hover,.calendar-footer button:hover{background:#e4efe7}.calendar-week,.calendar-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:3px}.calendar-week span{text-align:center;font-size:12px;color:#64756b;padding:10px 0}.calendar-days button{min-width:0;min-height:43px;border:1px solid transparent;border-radius:7px;background:transparent;font-size:15px;color:var(--ink)}.calendar-days button:hover{background:#e0eee5}.calendar-days button[aria-current=date]{border-color:#91b4a2}.calendar-days button[aria-pressed=true]{background:var(--teal);color:white}.calendar-footer{display:flex;justify-content:space-between;border-top:1px solid var(--line);margin-top:10px;padding-top:6px}.calendar-footer button{font-size:14px;padding:8px 12px}.calendar-dialog>p{font-size:12px;line-height:1.6;color:var(--muted);margin:8px 0 0}

.demo-home{display:block;padding:12px 20px;background:#123b38;color:#fff;font-size:14px;text-decoration:none}.embedded .demo-home{display:none}
