:root{color-scheme:light;--ink:#233b35;--muted:#62726d;--paper:#f6f4ef;--line:#dddcd5;--accent:#91632e}
*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.5 system-ui,sans-serif}a{color:inherit}button,input,textarea,select{font:inherit}button,a,input,select,textarea{outline-offset:4px}button{cursor:pointer;border:1px solid var(--line);border-radius:7px;padding:9px 14px;background:white;color:var(--ink)}button:hover{border-color:var(--accent);background:#faf7f0}button:disabled{opacity:.55;cursor:wait}.primary{background:var(--ink);color:white;border-color:var(--ink)}.primary:hover{background:#36554b;color:white}.quiet{background:transparent}.admin-header{display:flex;justify-content:space-between;gap:20px;align-items:center;padding:20px 28px;background:var(--ink);color:white}.admin-header a{text-decoration:none}.admin-header>a:first-child{font-weight:700;letter-spacing:2px}.admin-header span{font-weight:400;letter-spacing:0;margin-left:20px}.admin-shell{display:grid;grid-template-columns:230px minmax(0,1fr);max-width:1600px;margin:auto}.sidebar{min-width:0;padding:28px 20px;border-right:1px solid var(--line)}.sidebar nav{display:grid;gap:5px}.sidebar a{padding:10px;border-radius:6px;text-decoration:none}.sidebar a[aria-current]{background:#e4e9e4;font-weight:700}.sidebar form{margin-top:32px}.editor-main{padding:32px;min-width:0}h1{font-size:34px;line-height:1.2;margin:8px 0 16px;font-weight:650}h2{font-size:20px;margin:0}.eyebrow{text-transform:uppercase;letter-spacing:1.5px;font-size:12px;font-weight:700;color:var(--muted);margin:0 0 8px}.muted{color:var(--muted)}.toolbar{position:sticky;top:0;z-index:5;display:flex;align-items:center;gap:10px;flex-wrap:wrap;background:rgba(246,244,239,.98);padding:16px 0;border-bottom:1px solid var(--line);margin-bottom:24px}.toolbar>span{font-size:13px;margin-right:auto}.compact{display:flex;gap:8px;align-items:center;font-size:13px}.compact select{width:auto}.block-card{background:white;border:1px solid var(--line);border-radius:12px;padding:24px;margin:20px 0;scroll-margin-top:120px}.block-tools,.item-tools{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:20px}.block-tools h2,.item-tools strong{margin-right:auto}.block-tools button{font-size:13px;padding:7px 10px}.is-hidden{border-style:dashed;background:#eeefeb}.field-group{border:0;padding:0;margin:20px 0;min-width:0}.field-group>legend{font-weight:650;margin-bottom:9px;padding:0}.language-columns{display:grid;grid-template-columns:1fr 1fr;gap:20px}label{display:block;font-size:14px;color:var(--muted)}input:not([type=checkbox]),textarea,select{display:block;width:100%;border:1px solid #bfc8c2;border-radius:6px;background:white;color:var(--ink);padding:10px;margin-top:5px}textarea{resize:vertical}.checkbox{display:flex;align-items:center;gap:10px}.checkbox input{width:18px;height:18px}.image-preview{display:block;max-height:180px;max-width:100%;object-fit:contain;margin:12px 0;border-radius:6px}.image-preview[hidden]{display:none}.list-item{background:var(--paper);border:1px solid var(--line);border-radius:8px;padding:18px;margin:12px 0}.add-block{display:flex;align-items:end;gap:16px;padding:24px;background:#e8ede7;border-radius:12px}.add-block label{flex:1}.bottom-actions{margin:28px 0}.notice{padding:14px 18px;background:#e4efe5;border-radius:8px;margin:16px 0}.notice.error{background:#fae8e4;color:#6c3026}.login-card{max-width:500px;margin:10vh auto;background:white;padding:36px;border:1px solid var(--line);border-radius:14px}.login-card button{margin-top:20px;width:100%}dialog{width:min(900px,94vw);max-height:90vh;border:1px solid var(--line);border-radius:14px;padding:28px;color:var(--ink)}dialog::backdrop{background:#162a25aa}.dialog-heading{display:flex;justify-content:space-between;align-items:center;gap:20px}#upload-form{display:flex;align-items:end;gap:16px}#upload-form label{flex:1}#media-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:14px}.media-choice{text-align:left;overflow:hidden}.media-choice img{width:100%;height:140px;object-fit:cover}.media-choice span,.media-choice small{display:block;overflow-wrap:anywhere}
@media(max-width:850px){.admin-shell{grid-template-columns:minmax(0,1fr)}.sidebar{border:0;padding:15px}.sidebar nav{display:flex;overflow:auto}.sidebar a{white-space:nowrap}.sidebar form{margin:10px 0}.editor-main{padding:20px}.language-columns{grid-template-columns:1fr}.toolbar{position:relative}.admin-header{padding:16px}.admin-header span{display:none}.block-card{padding:16px}.login-card{margin:30px 16px;padding:24px}.add-block,#upload-form{align-items:stretch;flex-direction:column}}

.guests-main{max-width:1600px;margin:auto;padding:32px}.guest-totals{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:14px;margin:24px 0}.guest-totals>div{padding:20px;background:white;border:1px solid var(--line);border-radius:10px}.guest-totals strong{display:block;font-size:30px}.guest-totals span{font-size:14px;color:var(--muted)}.guest-filters{display:flex;flex-wrap:wrap;gap:16px;align-items:end;margin:24px 0}.guest-filters label{flex:1;min-width:180px}.guest-table-wrap{overflow-x:auto;background:white;border:1px solid var(--line);border-radius:10px}.guest-table{border-collapse:collapse;width:100%;min-width:1000px}.guest-table th,.guest-table td{padding:14px;text-align:left;vertical-align:top;border-bottom:1px solid var(--line);max-width:280px;overflow-wrap:anywhere}.guest-table thead{background:#e8ede7}.guest-table small{display:block;font-weight:400;color:var(--muted);margin-top:5px}.guest-status{display:inline-block;border-radius:20px;padding:3px 10px;white-space:nowrap;background:#fff1cc}.guest-status.accepted{background:#e4efe5}.guest-status.declined{background:#fae8e4}.admin-header nav{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end}@media(max-width:850px){.guests-main{padding:20px}.admin-header{align-items:flex-start}}

.crop-dialog canvas{display:block;max-width:100%;max-height:55vh;width:auto;height:auto;margin:16px auto;touch-action:none;cursor:crosshair}.crop-fields{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:16px 0}@media(max-width:575px){.crop-fields{grid-template-columns:repeat(2,minmax(0,1fr))}}
