*,:before,:after,::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:#3b82f680;--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }*,:before,:after{box-sizing:border-box;border:0 solid #e5e7eb}:before,:after{--tw-content:""}html,:host{-webkit-text-size-adjust:100%;tab-size:4;font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent;font-family:ui-sans-serif,system-ui,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;line-height:1.5}body{line-height:inherit;margin:0}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-feature-settings:normal;font-variation-settings:normal;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-feature-settings:inherit;font-variation-settings:inherit;font-family:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:#0000;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{margin:0;padding:0;list-style:none}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder{opacity:1;color:#9ca3af}textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.table{display:table}.transform{transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.resize{resize:both}.border{border-width:1px}.italic{font-style:italic}.underline{text-decoration-line:underline}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}:root{--ink:#28232b;--muted:#857f87;--line:#ece7eb;--purple:#715487;--purple-dark:#5c416f;--purple-light:#f2edf6;--paper:#fff;--bg:#faf8f8;--danger:#b34f55}*{box-sizing:border-box}html,body{min-height:100%;color:var(--ink);background:var(--bg);margin:0;font-family:Arial,Helvetica,sans-serif}button,input,select,textarea{font:inherit}button{cursor:pointer}a{color:inherit;text-decoration:none}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:Georgia,Times New Roman,serif;font-weight:500}h1{letter-spacing:-.035em;font-size:38px;line-height:1.12}h2{font-size:23px}h3{font-size:19px}.muted{color:var(--muted)}.eyebrow{letter-spacing:.19em;color:#9b77a4;margin-bottom:11px;font:700 11px Arial,Helvetica,sans-serif}.sr-only{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.btn{white-space:nowrap;border:1px solid #0000;border-radius:11px;justify-content:center;align-items:center;gap:9px;padding:11px 16px;font-size:13px;font-weight:700;transition:background .15s,transform .15s;display:inline-flex}.btn:hover:not(:disabled){transform:translateY(-1px)}.btn:disabled{opacity:.55;cursor:not-allowed}.btn-primary{background:var(--purple);color:#fff;box-shadow:0 4px 12px #6f4b8430}.btn-primary:hover:not(:disabled){background:var(--purple-dark)}.btn-secondary{color:#50465a;background:#fff;border-color:#e7dfea}.btn-secondary:hover:not(:disabled){background:#f8f5fa}.btn-danger-light{color:var(--danger);background:#fff5f5;border-color:#f0dcdc}.btn-danger{background:var(--danger);color:#fff}.btn-small{padding:7px 11px;font-size:12px}.full{width:100%}.form-error{color:#a23442;background:#fff1f1;border:1px solid #f0d6d9;border-radius:9px;padding:10px 12px;font-size:13px}.page-error{margin-top:20px}.icon-btn{color:#776c79;background:0 0;border:0;border-radius:8px;justify-content:center;align-items:center;width:34px;height:34px;display:inline-flex}.icon-btn:hover{background:#f2edf4}.login-page{background:#fff;grid-template-columns:1fr 1fr;min-height:100vh;display:grid}.login-decoration{color:#755b70;text-align:center;background:radial-gradient(circle at 20% 20%,#e7d9e3 0,#f3e9ec 38%,#f9eff0 100%);flex-direction:column;justify-content:center;align-items:center;padding:40px;display:flex}.login-story-title{color:#654568;margin:0;font:italic 500 clamp(30px,2.6vw,42px)/1.2 Georgia,serif}.login-story-subtitle{color:#846e80;margin:8px 0 0;font:italic 400 clamp(23px,2vw,30px)/1.35 Georgia,serif}.login-circle{color:#a9879b;background:#ffffff48;border:1px solid #d1bfc9;border-radius:50%;place-items:center;width:240px;height:240px;margin-bottom:35px;font-size:120px;display:grid}.login-card{width:100%;max-width:400px;margin:auto;padding:40px 20px}.brand-mark{color:#755985;letter-spacing:-.09em;margin-bottom:30px;font:italic 52px Georgia,serif}.brand-mark span{color:#bd9eaa}.brand-mark.small{margin:0;font-size:37px;line-height:1}.login-card h1{margin-bottom:10px}.login-card>.muted{margin-bottom:35px}.form-stack{gap:18px;display:grid}.form-stack label,.field-group label{color:#514954;gap:8px;font-size:13px;font-weight:700;display:grid}.form-stack input,.field-group input,.field-group select,.field-group textarea{width:100%;min-height:42px;color:var(--ink);background:#fff;border:1px solid #e4dfe4;border-radius:9px;outline:none;padding:10px 12px;font-size:14px;font-weight:400}.field-group textarea{resize:vertical}.form-stack input:focus,.field-group input:focus,.field-group select:focus,.field-group textarea:focus{border-color:#a78ab4;box-shadow:0 0 0 3px #9c78ae22}.form-stack .btn{margin-top:8px}.field-group b{color:var(--danger)}.optional{color:var(--muted);font-weight:400}.login-circle img{-o-object-fit:contain;object-fit:contain;width:180px;height:180px;display:block}.app-shell{min-height:100vh;display:flex}.sidebar{border-right:1px solid var(--line);background:#fff;flex-direction:column;flex:none;width:248px;height:100vh;display:flex;position:sticky;top:0}.sidebar-brand{align-items:center;gap:12px;padding:29px 23px 34px;display:flex}.sidebar-brand strong{white-space:nowrap;font-family:Georgia,serif;font-size:18px;font-weight:500;display:block}.sidebar-brand small{letter-spacing:.16em;color:#a797a3;margin-top:4px;font-size:9px;font-weight:700;display:block}.sidebar-section-label{color:#b2a9b0;letter-spacing:.15em;margin:0 23px 13px;font-size:10px;font-weight:700}.sidebar nav{padding:0 12px}.nav-link{color:#726b77;border-radius:10px;align-items:center;gap:12px;margin-bottom:3px;padding:12px 13px;font-size:14px;font-weight:600;display:flex}.nav-link.active{color:var(--purple);background:var(--purple-light)}.nav-chevron{margin-left:auto}.submenu{gap:3px;padding:2px 0 14px 41px;display:grid}.submenu a,.submenu-empty{color:#8b828e;white-space:nowrap;text-overflow:ellipsis;align-items:center;gap:10px;padding:7px 5px;font-size:12px;display:flex;overflow:hidden}.submenu a.selected{color:var(--purple);font-weight:700}.submenu-dot{background:#c9bbc9;border-radius:50%;flex:none;width:5px;height:5px}.sidebar-foot{border-top:1px solid var(--line);align-items:center;gap:10px;margin-top:auto;padding:17px;display:flex}.sidebar-foot .avatar,.guest-avatar{color:#725188;background:#f0e7f4;border-radius:10px;flex:none;justify-content:center;align-items:center;font-size:13px;font-weight:800;display:inline-flex}.sidebar-foot .avatar{width:34px;height:34px}.sidebar-foot strong,.sidebar-foot small{display:block}.sidebar-foot strong{font-size:13px}.sidebar-foot small{color:var(--muted);margin-top:3px;font-size:11px}.sidebar-foot button{color:#9b8e9a;background:0 0;border:0;margin-left:auto}.content-shell{flex:1;min-width:0}.main-content{max-width:1500px;margin:0 auto;padding:36px 38px 70px}.page-heading{justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:29px;display:flex}.page-heading h1{margin-bottom:9px}.page-heading .muted{margin:0;font-size:14px}.heading-count{color:#7b657e;background:#fff;border:1px solid #e8e0e9;border-radius:9px;align-items:center;gap:8px;margin-top:13px;padding:9px 12px;font-size:12px;font-weight:700;display:flex}.heading-actions{gap:10px;margin-top:12px;display:flex}.back-link{color:var(--purple);margin-bottom:22px;font-size:12px;font-weight:700;display:block}.stat-grid{grid-template-columns:1fr 1fr 1.65fr;gap:16px;margin-bottom:25px;display:grid}.stat-card{border:1px solid var(--line);background:#fff;border-radius:15px;min-height:172px;padding:21px 23px;box-shadow:0 5px 24px #2e183608}.stat-icon{border-radius:10px;justify-content:center;align-items:center;width:37px;height:37px;margin-bottom:14px;display:inline-flex}.stat-icon.violet{color:#7d6192;background:#f3edf7}.stat-icon.rose{color:#b46d84;background:#faeef2}.stat-icon.gold{color:#b08b51;background:#fcf5e8}.stat-title{color:#766b77;margin-bottom:5px;font-size:12px;font-weight:700;display:block}.stat-card>strong{font:500 31px Georgia,serif;display:block}.stat-card>strong small{color:#aaa0aa;font-size:21px}.stat-caption{color:#aaa0aa;font-size:11px}.confirmed-card{padding:19px 21px}.stat-card-header{align-items:center;gap:11px;display:flex}.stat-card-header .stat-icon,.stat-card-header .stat-title{margin:0}.event-count-list{max-height:94px;margin-top:12px;overflow:auto}.event-count-list>div{border-top:1px solid #f3eff1;align-items:center;gap:7px;padding:5px 0;font-size:12px;display:flex}.event-count-list .bullet{color:#b498b6;font-size:18px;line-height:8px}.count-name{text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.event-count-list strong{font-size:12px}.event-count-list strong span{color:#aba1ab;font-weight:500}.stat-empty{color:#aaa0aa;margin:14px 0;font-size:12px}.list-panel,.detail-card{border:1px solid var(--line);background:#fff;border-radius:15px;box-shadow:0 5px 24px #2e183605}.list-toolbar{justify-content:space-between;align-items:center;padding:22px 24px 17px;display:flex}.list-toolbar h2{margin:0 0 4px;font-size:21px}.list-toolbar p{color:#a196a1;margin:0;font-size:12px}.filters-row{flex-wrap:wrap;align-items:center;gap:9px;padding:0 24px 18px;display:flex}.search-box{color:#a296a3;border:1px solid #e9e4e9;border-radius:9px;flex:1;align-items:center;gap:8px;min-width:230px;max-width:270px;height:38px;padding:0 10px;display:flex}.search-box input{color:#4b414d;background:0 0;border:0;outline:0;flex:1;min-width:0;font-size:12px}.search-box button{color:#998d99;background:0 0;border:0;padding:2px}.filter-wrap{align-items:center;display:flex;position:relative}.filter-chip{color:#756a77;background:#fff;border:1px solid #e9e4e9;border-radius:9px;align-items:center;gap:7px;height:38px;padding:0 10px;font-size:12px;font-weight:600;display:flex}.filter-chip.chosen{color:#674679;background:#f2e9f6;border-color:#ccb4d4;padding-right:29px}.chip-clear{color:#674679;background:0 0;border:0;place-items:center;padding:0;display:grid;position:absolute;top:10px;right:8px}.filter-menu{z-index:10;border:1px solid var(--line);background:#fff;border-radius:10px;min-width:210px;padding:6px;position:absolute;top:43px;left:0;box-shadow:0 12px 30px #32223c20}.filter-menu button{text-align:left;color:#5a4b5e;background:0 0;border:0;justify-content:space-between;align-items:center;width:100%;padding:9px 10px;font-size:12px;display:flex}.filter-menu button:hover{background:#f8f4f9}.filter-menu label{cursor:pointer;align-items:center;gap:7px;padding:8px 10px;font-size:12px;display:flex}.filter-menu p{color:var(--muted);padding:10px;font-size:12px}.filter-menu .filter-done{border-top:1px solid var(--line);color:var(--purple);justify-content:center;margin-top:4px;font-weight:700}.table-scroll{overflow-x:auto}.guest-table{border-collapse:collapse;width:100%;min-width:980px}.guest-table th{text-align:left;color:#9a8e9a;text-transform:uppercase;letter-spacing:.09em;background:#fbf9fa;border-top:1px solid #f2eef1;border-bottom:1px solid #f2eef1;padding:14px 10px;font-size:10px;font-weight:700}.guest-table th:first-child,.guest-table td:first-child{padding-left:24px}.guest-table td{vertical-align:middle;border-bottom:1px solid #f2eef1;padding:16px 10px;font-size:12px}.guest-table tr:last-child td{border-bottom:0}.guest-link{color:#5b4070;white-space:nowrap;align-items:center;gap:10px;font-weight:700;display:flex}.guest-link:hover{text-decoration:underline}.guest-avatar{width:30px;height:30px}.muted-cell{color:#7f7580;white-space:nowrap}.yesno,.status-pill{white-space:nowrap;border-radius:20px;align-items:center;padding:5px 9px;font-size:11px;font-weight:700;display:inline-flex}.yesno.yes{color:#5b8a65;background:#eef5ed}.yesno.no{color:#817984;background:#f3f1f2}.status-pill.pending{color:#b98138;background:#fdf3e7}.status-pill.not-responded{color:#817985;background:#f2f1f3}.event-pills{flex-direction:column;gap:5px;display:flex}.event-pill-row{white-space:nowrap;gap:5px;display:flex}.event-pill{color:#6b4b78;white-space:nowrap;background:#f7f3f8;border:1px solid #ece3ee;border-radius:20px;align-items:center;gap:7px;padding:4px 5px 4px 10px;font-size:10px;font-weight:700;display:inline-flex}.event-pill b{background:#fff;border:1px solid #e4d9e8;border-radius:50%;place-items:center;min-width:20px;height:20px;font-size:10px;display:grid}.actions-cell{width:50px;position:relative}.action-menu{z-index:15;border:1px solid var(--line);background:#fff;border-radius:10px;width:200px;padding:6px;position:absolute;top:42px;right:22px;box-shadow:0 15px 30px #2d163521}.action-menu button{text-align:left;color:#584b5a;background:0 0;border:0;border-radius:6px;align-items:center;gap:9px;width:100%;padding:9px 10px;font-size:12px;display:flex}.action-menu button:hover:not(:disabled){background:#f6f2f7}.action-menu button:disabled{opacity:.45;cursor:not-allowed}.action-menu button small{margin-left:auto;font-size:9px}.action-menu button.danger{color:var(--danger)}.empty-state{text-align:center;background:#fff;border-radius:15px;padding:65px 25px}.empty-icon{color:#8b6a9a;background:#f5eff7;border-radius:16px;place-items:center;width:56px;height:56px;margin:0 auto 17px;display:grid}.empty-state h3{margin:0 0 8px}.empty-state p{color:#938892;margin-bottom:18px;font-size:13px}.event-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:19px;display:grid}.event-card{border:1px solid var(--line);background:#fff;border-radius:15px;transition:transform .15s,box-shadow .15s;overflow:hidden;box-shadow:0 5px 20px #2d183408}.event-card:hover{transform:translateY(-3px);box-shadow:0 10px 28px #2d183413}.event-card-media{background:#f3edf3;height:175px;overflow:hidden}.event-card-media img,.event-detail-image img{-o-object-fit:cover;object-fit:cover;width:100%;height:100%}.event-card-placeholder{color:#ad93ac;background:linear-gradient(135deg,#eee4ed,#f9f3f6);place-items:center;height:100%;display:grid}.event-card-content{padding:19px}.event-date-label{color:#a074a4;letter-spacing:.08em;text-transform:uppercase;margin-bottom:9px;font-size:11px;font-weight:700;display:inline-block}.event-card h2{margin:0 0 8px;font-size:23px}.event-card p{color:#8b808a;-webkit-line-clamp:2;-webkit-box-orient:vertical;min-height:38px;font-size:12px;line-height:1.5;display:-webkit-box;overflow:hidden}.event-card-footer{border-top:1px solid var(--line);color:#776e78;flex-wrap:wrap;gap:12px;padding-top:13px;font-size:11px;display:flex}.event-card-footer span{align-items:center;gap:5px;display:flex}.event-detail{max-width:800px;overflow:hidden}.event-detail-image{background:#f2ebf2;height:260px}.detail-pad{padding:28px}.event-detail h2{margin-bottom:13px;font-size:32px}.detail-description{color:#706674;white-space:pre-line;font-size:14px;line-height:1.65}.detail-facts{border-top:1px solid var(--line);grid-template-columns:1fr 1fr;gap:19px;margin-top:22px;padding-top:22px;display:grid}.detail-facts div,.detail-facts a{color:#8b6c92;align-items:flex-start;gap:10px;display:flex}.detail-facts span{color:#998d98;gap:4px;font-size:11px;display:grid}.detail-facts strong{color:#403543;font-size:13px}.detail-columns{grid-template-columns:1fr 1fr;gap:20px;display:grid}.detail-card h2{margin:0 0 22px}.detail-list{margin:0}.detail-list div{border-top:1px solid var(--line);justify-content:space-between;gap:15px;padding:13px 0;font-size:13px;display:flex}.detail-list dt{color:#928792}.detail-list dd{text-align:right;margin:0;font-weight:700}.detail-event-list>div,.stay-list>div{border-top:1px solid var(--line);align-items:center;gap:12px;padding:13px 0;font-size:13px;display:flex}.detail-event-list span,.stay-list span{flex:1}.detail-event-list strong,.stay-list strong{color:#775483;font-size:12px}.stay-list svg{color:#94739c}.top-gap{margin-top:20px}.drawer-overlay,.confirm-backdrop{z-index:40;background:#2b1d2d66;justify-content:flex-end;display:flex;position:fixed;inset:0}.drawer{background:#fff;flex-direction:column;width:min(540px,100vw);height:100vh;display:flex;box-shadow:-15px 0 40px #1f162b20}.drawer-wide{width:min(760px,100vw)}.drawer-head{border-bottom:1px solid var(--line);justify-content:space-between;align-items:flex-start;padding:25px 28px 20px;display:flex}.drawer-head h2{margin:0 0 6px;font-size:28px}.drawer-head .muted{margin:0;font-size:12px}.drawer-head .eyebrow{margin-bottom:7px}.drawer-body{flex:1;overflow:auto}.drawer-form{flex-direction:column;min-height:100%;padding:0 28px;display:flex}.field-group{border-bottom:1px solid var(--line);gap:17px;padding:25px 0;display:grid}.field-group:last-of-type{border-bottom:0}.field-row{grid-template-columns:1fr 1fr;gap:14px;display:grid}.section-title{align-items:flex-start;gap:11px;display:flex}.section-title h3{margin:0 0 4px}.section-title p{color:#9b909a;margin:0;font-size:12px}.section-number{color:#815c8b;background:#f4edf7;border-radius:7px;flex:none;place-items:center;width:25px;height:25px;font-size:10px;font-weight:700;display:grid}.field-group .check-field{border:1px solid var(--line);cursor:pointer;border-radius:10px;align-items:center;gap:11px;padding:13px;display:flex}.check-field input{width:17px;height:17px;min-height:0;accent-color:var(--purple)}.check-field span{gap:4px;display:grid}.check-field small{color:#988d98;font-size:11px;font-weight:400}.drawer-actions{border-top:1px solid var(--line);background:#fff;justify-content:flex-end;gap:9px;margin-top:auto;padding:20px 0;display:flex;position:sticky;bottom:0}.section-table-head{justify-content:space-between;align-items:center;font-size:12px;display:flex}.form-table{border-collapse:collapse;width:100%}.form-table th{text-align:left;text-transform:uppercase;letter-spacing:.06em;color:#938793;background:#fbf9fb;padding:10px;font-size:10px}.form-table td{border-bottom:1px solid #f1edf0;padding:8px 5px}.form-table td:last-child{width:30px}.form-table input,.form-table select{min-height:38px}.table-empty{text-align:center;color:#a095a0;background:#fcfafd;border:1px dashed #ddd0df;border-radius:10px;padding:22px;font-size:12px}.upload-zone{color:#97799f;background:#fcf9fc;border:1px dashed #d5c6d8;border-radius:12px;flex-direction:column;justify-content:center;align-items:center;gap:5px;min-height:120px;display:flex;position:relative;overflow:hidden}.upload-zone strong{font-size:12px}.upload-zone small{color:#ac9dac;font-size:10px}.upload-zone img{-o-object-fit:cover;object-fit:cover;width:100%;height:160px}.upload-zone input{opacity:0;cursor:pointer;width:100%;height:100%;position:absolute;inset:0}.confirm-backdrop{z-index:50;justify-content:center;align-items:center}.confirm-box{background:#fff;border-radius:14px;width:min(410px,100vw - 30px);padding:28px;box-shadow:0 20px 60px #160e1c35}.confirm-box .danger{color:var(--danger)}.confirm-box h2{margin:15px 0 7px}.confirm-box p{color:#8a7e8a;font-size:13px;line-height:1.5}.confirm-actions{justify-content:flex-end;gap:8px;margin-top:25px;display:flex}@media (max-width:1100px){.stat-grid{grid-template-columns:1fr 1fr}.confirmed-card{grid-column:span 2}.event-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:760px){.sidebar{width:200px}.main-content{padding:25px}.event-grid,.detail-columns,.stat-grid{grid-template-columns:1fr}.confirmed-card{grid-column:auto}.login-page{grid-template-columns:1fr}.login-decoration{display:none}}.event-detail-layout{grid-template-columns:minmax(0,1.65fr) minmax(270px,1fr);align-items:start;gap:24px;display:grid}.event-detail-layout .event-detail{max-width:none}.event-summary{gap:18px;display:grid}.event-summary-card{border:1px solid var(--line);background:#fff;border-radius:15px;min-height:155px;padding:22px 24px;box-shadow:0 5px 24px #2e183608}.event-summary-card .stat-icon{margin-bottom:9px}.event-summary-card>strong{font:500 34px/1.2 Georgia,serif;display:block}.event-summary-card>strong small{color:#aaa0aa;font-size:22px}.event-summary-card .stat-caption{margin-top:8px;line-height:1.5;display:block}.countdown-values{text-align:center;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-top:17px;display:grid}.countdown-values>div{background:#f7f1f7;border-radius:9px;padding:12px 3px 10px}.countdown-values strong{color:#674b77;font-variant-numeric:tabular-nums;font:500 25px Georgia,serif;display:block}.countdown-values span{color:#948697;text-transform:uppercase;letter-spacing:.05em;margin-top:4px;font-size:10px;font-weight:700;display:block}.nav-events{padding:0 4px 0 13px}.nav-events>a{flex:1;align-items:center;gap:12px;min-width:0;padding:12px 0;display:flex}.nav-events>button{color:inherit;cursor:pointer;background:0 0;border:0;border-radius:8px;place-items:center;width:34px;height:38px;display:grid}.nav-events>button:hover{background:#e8deee}.nav-events>button svg{transition:transform .18s}.nav-events>button svg.collapsed{transform:rotate(-90deg)}@media (max-width:1050px){.event-detail-layout{grid-template-columns:1fr}.event-summary{grid-template-columns:repeat(3,minmax(0,1fr))}.event-summary-card{min-height:175px}.countdown-values{gap:3px}.countdown-values strong{font-size:20px}}@media (max-width:760px){.event-summary{grid-template-columns:1fr}.heading-actions{flex-wrap:wrap}.event-detail-layout{gap:18px}}@media (max-width:1050px){.page-heading:has(.heading-actions){flex-direction:column}.page-heading .heading-actions{flex-wrap:wrap;margin-top:0}}.banner-field{gap:9px;display:grid}.banner-field-label{color:#514954;font-size:13px;font-weight:700}.banner-field-label .optional{margin-left:7px}.banner-replace-hint{color:#fff;text-align:center;pointer-events:none;background:#2e2031b8;padding:9px 12px;font-size:11px;font-weight:700;position:absolute;bottom:0;left:0;right:0}.banner-remove{color:var(--danger);justify-self:start}.action-menu-portal{z-index:60;position:fixed;right:auto}.event-export{position:relative}.event-export-menu{z-index:40;border:1px solid var(--line);background:#fff;border-radius:10px;min-width:220px;max-width:min(320px,90vw);padding:6px;position:absolute;top:calc(100% + 6px);right:0;box-shadow:0 15px 30px #2d163521}.event-export-menu a{color:#584b5a;white-space:nowrap;border-radius:6px;padding:10px 12px;font-size:12px;display:block}.event-export-menu a:hover,.event-export-menu a:focus-visible{background:#f6f2f7;outline:0}.field-label{white-space:nowrap;align-items:baseline;gap:4px;display:inline-flex}.guest-of-row{align-items:end}.field-group .guest-of-row .check-field{align-self:end;min-width:0;min-height:42px}@media (max-width:520px){.guest-of-row{grid-template-columns:1fr}}.settings-grid,.template-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;display:grid}.settings-fields{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.settings-fields label{color:#6d606d;gap:7px;font-size:12px;font-weight:700;display:grid}.settings-fields input,.inline-organizer input,.inline-organizer select,.date-entry input{border:1px solid var(--line);background:#fff;border-radius:8px;width:100%;min-height:40px;padding:8px 10px}.settings-organizers{margin-top:24px}.inline-organizer{align-items:center;gap:8px;display:flex}.inline-organizer input{max-width:320px}.inline-organizer select{max-width:150px}.accommodation-table td:first-child small{color:#9a8e9a;margin-top:5px;display:block}.availability-pills{flex-direction:column;gap:5px;display:flex}.availability-row{white-space:nowrap;gap:5px;display:flex}.availability-pill,.date-tags span{white-space:nowrap;border-radius:20px;padding:5px 9px;font-size:11px;font-weight:700}.available{color:#317c48;background:#e7f5eb}.partial{color:#a06a13;background:#fff3d9}.booked{color:#b34c53;background:#fbe7e8}.accommodation-actions{z-index:20;border:1px solid var(--line);background:#fff;border-radius:8px;width:120px;padding:5px;position:absolute;top:35px;right:25px;box-shadow:0 10px 25px #2d163521}.accommodation-actions button{text-align:left;background:0 0;border:0;width:100%;padding:8px;font-size:12px;display:block}.accommodation-actions button:hover{background:#f7f2f8}.date-entry{gap:8px;display:flex}.date-tags{border:1px solid var(--line);border-radius:8px;flex-wrap:wrap;gap:7px;min-height:44px;padding:9px;display:flex}.date-tags span{color:#795684;background:#f5eef7;align-items:center;gap:4px;display:flex}.date-tags button{color:inherit;background:0 0;border:0;place-items:center;display:grid}.template-card-head{justify-content:space-between;align-items:flex-start;gap:10px;display:flex}.template-card-head h2{margin:6px 0 20px}.template-editor .tiptap{color:#4b404d;outline:none;min-height:260px;font-size:13px;line-height:1.65}.template-editor .tiptap p{margin:0 0 14px}.template-editor .tiptap[contenteditable=true]{border:1px solid var(--line);border-radius:0 0 9px 9px;padding:15px}.template-editor-loading{color:var(--muted);padding:30px}.template-toolbar{border:1px solid var(--line);border-bottom:0;border-radius:9px 9px 0 0;gap:4px;padding:6px;display:flex}.template-toolbar button{color:#6d5a72;background:#fff;border:0;border-radius:5px;padding:6px}.template-toolbar button.active{background:#ede2f0}.template-drawer{padding:24px 28px}.template-drawer .muted{font-size:12px;line-height:1.7}.template-export{margin:18px 0}.template-export strong{font-size:12px}.template-export pre{white-space:pre-wrap;border:1px solid var(--line);background:#faf7fa;border-radius:8px;padding:12px;font-family:inherit;font-size:12px;line-height:1.5}.template-drawer>.template-editor>.btn{float:right}@media (max-width:900px){.settings-grid,.template-grid{grid-template-columns:1fr}}@media (max-width:520px){.settings-fields{grid-template-columns:1fr}.inline-organizer{flex-wrap:wrap}}.accommodation-actions-fixed{z-index:35;width:130px;position:fixed;right:auto}.required-label{white-space:nowrap;justify-self:start;align-items:baseline;gap:4px;display:inline-flex}.required-label b{color:var(--danger)}.field-heading{color:#514954;font-size:13px;font-weight:700}.save-confirmation{color:#4d8a5e;font-size:12px;font-weight:700}.wedding-title-section{grid-column:1/-1}.wedding-title-section .settings-fields{max-width:600px;display:block}.wedding-title-section .settings-fields label{display:grid}.accommodation-form-row{gap:16px;display:grid}.accommodation-form-row.equal{grid-template-columns:repeat(2,minmax(0,1fr))}.accommodation-form-row.capacity-address{grid-template-columns:minmax(0,1fr) minmax(0,2fr)}.booking-date-field{gap:9px;display:grid}.booking-date-input{border:1px solid var(--line);cursor:pointer;border-radius:9px;flex-wrap:wrap;align-items:center;gap:7px;min-height:48px;padding:7px 9px;display:flex}.booking-date-input:focus-within{border-color:#a78ab4;box-shadow:0 0 0 3px #9c78ae22}.booking-date-tag{color:#795684;white-space:nowrap;background:#f5eef7;border-radius:20px;align-items:center;gap:5px;padding:5px 8px 5px 10px;font-size:11px;font-weight:700;display:inline-flex}.booking-date-tag button{color:inherit;cursor:pointer;background:0 0;border:0;place-items:center;padding:0;display:grid}.booking-date-input input[type=date]{cursor:pointer;width:auto;min-width:130px;min-height:30px;box-shadow:none;background:0 0;border:0;outline:none;flex:130px;padding:0 4px}@media (max-width:760px){.accommodation-form-row.equal,.accommodation-form-row.capacity-address{grid-template-columns:1fr}}.status-pill.generated{color:#4c8661;background:#edf5ef}.message-modal-backdrop{z-index:70;background:#2b1d2d66;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.message-modal{background:#fff;border-radius:16px;flex-direction:column;width:min(650px,100%);max-height:min(760px,100vh - 40px);display:flex;overflow:hidden;box-shadow:0 24px 70px #24182940}.message-modal-head{border-bottom:1px solid var(--line);justify-content:space-between;align-items:flex-start;gap:16px;padding:24px 28px;display:flex}.message-modal-head h2{margin:0 0 7px;font-size:27px}.message-modal-head .muted{margin:0;font-size:12px}.message-modal-body{min-height:180px;padding:24px 28px;overflow:auto}.message-modal-body .template-editor .tiptap{min-height:0;font-size:14px}.message-modal-body .template-editor .tiptap[contenteditable=true]{min-height:250px}.message-modal-body .form-error{margin-top:18px}.message-modal-actions{border-top:1px solid var(--line);justify-content:flex-end;gap:9px;padding:18px 28px;display:flex}.app-toast{z-index:90;color:#fff;background:#45304f;border-radius:10px;padding:12px 18px;font-size:13px;font-weight:700;position:fixed;bottom:24px;right:24px;box-shadow:0 10px 30px #24182933}.status-pill.responded{color:#3f7655;background:#e9f3ed}.event-pill.rsvp-yes{color:#fff;background:#684578;border-color:#684578}.event-pill.rsvp-yes b{color:#684578;border-color:#fff}.event-pill.rsvp-no{color:#827b85;background:repeating-linear-gradient(135deg,#f0edf1 0 6px,#e5e0e7 6px 9px);border-color:#ded8df}.event-pill.rsvp-no b{color:#827b85;border-color:#ded8df}.detail-event-table-wrap{overflow-x:auto}.detail-event-table{border-collapse:collapse;width:100%;min-width:390px;font-size:12px}.detail-event-table th{text-align:left;color:#928792;text-transform:uppercase;letter-spacing:.05em;border-bottom:1px solid var(--line);padding:11px 8px;font-size:10px}.detail-event-table td{border-bottom:1px solid var(--line);padding:13px 8px}.detail-event-table td:first-child{color:#654b73;font-weight:700}.guest-invite-table-wrap{width:100%;overflow-x:auto}.guest-invite-table{min-width:680px}.guest-invite-table th,.guest-invite-table td{white-space:nowrap}.guest-invite-table th:first-child,.guest-invite-table td:first-child{min-width:205px}.guest-invite-table th:nth-child(2),.guest-invite-table td:nth-child(2){min-width:125px}.guest-invite-table td .invite-rsvp-value{border-radius:20px;align-items:center;padding:6px 9px;font-size:11px;font-weight:700;display:inline-flex}.invite-rsvp-value.attending{color:#644276;background:#eee5f1}.invite-rsvp-value.declined{color:#77707b;background:#f0edf1}.invite-rsvp-value.unanswered{color:#8c765a;background:#f7f3e9}.guest-invite-table .invite-confirmed-value{color:#604870;text-align:center;font-size:12px;font-weight:700}.invite-stat-grid{grid-template-columns:repeat(3,1fr)}.guest-filters{padding-top:22px}.guest-filters .search-box{flex:0 45%;width:45%;min-width:300px;max-width:none}.invite-table{min-width:700px}.invite-table td:first-child{font-size:12px}.invite-guest-name{color:#9b8f9b;margin-top:4px;display:block}.guest-of-subtext{color:#9b8f9b;margin-top:4px;font-size:11px;font-weight:400;display:block}.invite-actions{width:80px;position:relative}.invite-access-list{gap:9px;margin-top:10px;display:grid}.invite-access-list label{border:1px solid var(--line);border-radius:9px;align-items:center;gap:9px;padding:10px;font-size:13px;display:flex}.invite-access-list input{width:16px;min-height:0;accent-color:var(--purple)}.invite-detail-list{color:#6c606d;padding-left:20px;font-size:13px;line-height:2}.manual-rsvp-events{gap:16px;display:grid}.manual-rsvp-events fieldset{border:1px solid var(--line);border-radius:10px;flex-wrap:wrap;gap:16px;padding:15px;display:flex}.manual-rsvp-events legend{color:var(--purple);padding:0 5px;font-weight:700}.manual-rsvp-events label{align-items:center;gap:7px;font-size:13px;display:flex}.manual-rsvp-events label:last-child:has(input[type=number]){width:100%;display:grid}.manual-rsvp-events input[type=number]{border:1px solid var(--line);border-radius:8px;width:100%;min-height:38px;padding:8px}@media (max-width:760px){.invite-stat-grid{grid-template-columns:1fr}.guest-filters .search-box{min-width:100%}}.invite-respondents{gap:12px;display:grid}.invite-respondents>div{border:1px solid var(--line);border-radius:10px;padding:14px}.invite-answer-list{flex-wrap:wrap;gap:8px;margin-top:9px;display:flex}.invite-answer-list span{color:#6a4c76;background:#f6f0f7;border-radius:14px;padding:5px 9px;font-size:11px}.wedding-media-section{grid-column:1/-1}.wedding-media-section>p{color:var(--muted);margin:-5px 0 20px;font-size:12px}.wedding-media-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;display:grid}.slide-media-section{gap:16px;margin-top:24px;display:grid}.slide-media-section>p{color:var(--muted);margin:0;font-size:12px}.slide-media-section-fields{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.slide-media-field{align-content:start;gap:9px;min-width:0;display:grid}.slide-media-preview{border:1px solid var(--line);background:#f6f1f7;border-radius:10px;width:100%;overflow:hidden}.slide-media-preview.image,.slide-media-preview.video{aspect-ratio:9/16;max-height:260px}.slide-media-preview.metadata-image{aspect-ratio:1.91;max-height:260px}.slide-media-preview img,.slide-media-preview video{-o-object-fit:cover;object-fit:cover;width:100%;height:100%;display:block}.slide-media-preview.metadata-image img{-o-object-fit:contain;object-fit:contain}.slide-media-preview.audio{padding:12px}.slide-media-preview audio{width:100%;display:block}.slide-media-actions{flex-wrap:wrap;gap:8px;display:flex}.slide-media-upload{position:relative;overflow:hidden}.slide-media-upload input{opacity:0;cursor:pointer;width:100%;height:100%;position:absolute;inset:0}.slide-media-upload:has(input:disabled){opacity:.5;cursor:not-allowed}.slide-media-hint{color:var(--muted);font-size:11px}.slide-detail-toggle,.field-group .slide-detail-toggle{border:1px solid var(--line);color:#514954;cursor:pointer;border-radius:10px;align-items:flex-start;gap:11px;margin-top:18px;padding:13px 14px;font-size:13px;display:flex}.slide-detail-toggle input,.field-group .slide-detail-toggle input{width:17px;height:17px;min-height:17px;accent-color:var(--purple);flex:none;margin:1px 0 0}.slide-detail-toggle span{gap:4px;display:grid}.slide-detail-toggle small{color:var(--muted);font-size:11px;font-weight:400;line-height:1.5}.slide-detail-toggle:has(input:disabled){opacity:.65;cursor:not-allowed}@media (max-width:850px){.wedding-media-grid{grid-template-columns:1fr 1fr}}@media (max-width:620px){.wedding-media-grid,.slide-media-section-fields{grid-template-columns:1fr}}
