:root{--ink:#153b49;--blue:#146b82;--muted:#5a707a;--line:#cfdee3;--paper:#fff;--wash:#f0f6f8}*{box-sizing:border-box}[hidden]{display:none!important}body{margin:0;font:16px/1.5 system-ui,sans-serif;color:var(--ink);background:var(--wash)}header{height:80px;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;padding:0 4vw;background:white}.brand{color:var(--ink);font:32px Georgia;text-decoration:none}.brand span{font:13px system-ui;letter-spacing:.1em;margin-left:12px;text-transform:uppercase}main{max-width:1500px;margin:auto;padding:30px 4vw 80px}h1,h2,h3{font-family:Georgia,serif;font-weight:400;line-height:1.15}h1{font-size:40px;margin:0 0 24px}h2{font-size:28px}h3{font-size:22px}.eyebrow{text-transform:uppercase;font-size:12px;letter-spacing:.15em;color:var(--blue)}.panel{background:white;border:1px solid var(--line);padding:28px;border-radius:12px}.login{max-width:520px;margin:6vh auto}.login h1{font-size:42px}label{display:block;font-size:14px;margin-bottom:14px}input,select,textarea{display:block;width:100%;margin-top:6px;padding:10px 12px;font:16px system-ui;border:1px solid #aabfc8;border-radius:5px;color:var(--ink);background:white}textarea{min-height:100px;resize:vertical}button{font:600 14px system-ui;border:1px solid #a9c1c9;border-radius:5px;padding:10px 15px;background:white;color:var(--ink);cursor:pointer}button:hover{background:#e9f4f8}.primary{background:var(--blue);border-color:var(--blue);color:white}.primary:hover{background:#105268}button:disabled{opacity:.55;cursor:wait}:focus-visible{outline:3px solid #c48937;outline-offset:3px}.heading,.actions{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.workspace{display:grid;grid-template-columns:260px minmax(0,1fr);gap:26px}.wedding-item{display:block;width:100%;text-align:left;margin-bottom:9px;padding:16px}.wedding-item.active{border-color:var(--blue);background:#dceef4}.wedding-item small{display:block;color:var(--muted);font-weight:400;margin-top:5px}.grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 18px}.check{display:flex;align-items:center;gap:9px}.check input{width:auto;margin:0}fieldset{border:1px solid var(--line);padding:18px;margin:18px 0;border-radius:7px}legend{padding:0 8px}#notice{position:sticky;top:8px;z-index:6;background:#def1e8;padding:12px 18px;border-radius:7px;white-space:pre-wrap}#notice:empty{display:none}#notice.error,.dialog-error{color:#922f37;background:#fff0f1}.dialog-error:empty{display:none}p.help,small{color:var(--muted)}.help{font-size:14px}.toolbar{position:sticky;top:0;z-index:4;background:#ffffffed;border-bottom:1px solid var(--line);padding:10px 0;backdrop-filter:blur(8px)}details{border-top:1px solid var(--line);margin-top:24px;padding-top:18px}summary{cursor:pointer;font:24px Georgia}details>.grid{margin-top:20px}.stats{display:flex;gap:12px;flex-wrap:wrap;margin:22px 0}.stats div{padding:12px 18px;background:var(--wash);border-radius:5px}.stats b{display:block;font-size:24px}.table-list,.guest-list{display:grid;gap:8px}.row{padding:12px;border:1px solid var(--line);border-radius:5px;display:flex;justify-content:space-between;gap:12px;align-items:center}.row small{display:block}.badge{font-size:12px;background:#eef2f3;border-radius:4px;padding:3px 6px}.photos{display:flex;flex-wrap:wrap;gap:12px;margin:15px 0}.photos figure{margin:0;width:150px}.photos img{width:150px;height:120px;object-fit:cover;border-radius:5px}.photos button{margin-top:5px}.floor{position:relative;background:white;aspect-ratio:929/409;margin:20px 0}.floor>img{width:100%;display:block}.floor button{position:absolute;transform:translate(-50%,-50%);width:3.4%;height:auto;aspect-ratio:1;border:0;border-radius:50%;background:transparent;padding:0}.floor button:hover,.floor button:focus{background:#146b8244;outline:2px solid #146b82}.floor button.head{width:6.5%;aspect-ratio:2}.floor .tip{display:none;position:absolute;bottom:calc(100% + 10px);left:50%;transform:translateX(-50%);width:230px;padding:12px;background:#153b49;color:white;font:14px/1.5 system-ui;text-align:left;pointer-events:none;border-radius:5px;z-index:10}.floor button:hover,.floor button:focus{z-index:9}.floor button:hover .tip,.floor button:focus .tip{display:block}.floor :is(svg){width:17px;height:17px;vertical-align:middle;fill:none;stroke:currentColor;stroke-width:1.7}.floor :is(svg) circle{fill:currentColor}.plan-panel:fullscreen{background:white;padding:30px;overflow:auto;display:flex;flex-direction:column;justify-content:center}.plan-panel:fullscreen .floor{width:min(100%,calc((100vh - 150px)*2.27));margin:15px auto}.warning{border-left:3px solid #c48937;padding:10px 15px;background:#fff8eb}.preview{width:min(1200px,95vw);height:90vh;max-width:95vw}.preview iframe{width:100%;height:calc(100% - 80px);border:1px solid var(--line)}dialog{border:1px solid var(--line);border-radius:12px;padding:24px;width:620px;max-width:94vw;max-height:92vh;overflow:auto}dialog::backdrop{background:#102d3db3}@media(max-width:800px){.workspace{grid-template-columns:1fr}.grid{grid-template-columns:1fr}main{padding:22px 15px}.panel{padding:20px}h1{font-size:32px}.brand span{font-size:11px}.row{align-items:flex-start}.floor{min-width:580px}.plan-panel{overflow-x:auto}.plan-panel:fullscreen .floor{min-width:580px}.toolbar{position:static}}
:is(.workspace>aside,.workspace>section,.row>div){min-width:0}.row>div{overflow-wrap:anywhere}.plan-panel{max-width:100%}input[type=file]{max-width:100%}
