.wedding-app .row-menu-trigger{color:#526952;background:0 0;border:0;border-radius:8px;flex:none;justify-content:center;align-items:center;width:44px;min-width:44px;height:44px;min-height:44px;padding:0;display:inline-flex}.wedding-app .row-menu-trigger:hover{background:#edf3e8}.row-menu-trigger:focus-visible{outline:2px solid var(--w-primary);outline-offset:2px}.row-menu-popup{width:220px;max-width:calc(100vw - 24px);box-shadow:var(--w-shadow-popup);color:#294b36;background:#fffefb;border:1px solid #e2e7df}.row-menu-popup [role=menuitem]{cursor:pointer;gap:10px;min-height:44px;padding:10px 12px;font-size:14px}.row-menu-popup [data-variant=destructive]{color:#a04436}.wedding-app .suite-record{align-items:flex-start}.wedding-app .task-row .grow>span,.wedding-app .suite-record h3,.wedding-app .run-detail h4{font-size:16px;font-weight:600;line-height:1.5}.wedding-app .task-row small,.wedding-app .guest-row small{color:#63715f;font-size:13px}.wedding-app .task-row .badge{font-size:12px}.invitation-row-actions{align-items:center}.invitation-row>div:first-child{overflow-wrap:anywhere;min-width:0}@media (hover:hover){.wedding-app .task-row:hover,.wedding-app .invitation-row:hover,.wedding-app .run-event:hover{background:#f8fbf4}}@media (max-width:767px){.wedding-app .invitation-row-actions{flex-flow:wrap;gap:8px}.wedding-app .task-row{gap:12px}.wedding-app .task-row .grow{flex:calc(100% - 112px)}.wedding-app .suite-record>.row-actions{align-self:flex-start}.wedding-app .run-detail{min-width:0}}.wedding-app .budget-table{table-layout:auto;border-collapse:collapse;font-variant-numeric:tabular-nums;width:100%;min-width:980px;font-size:14px}.wedding-app .budget-table th,.wedding-app .budget-table td{vertical-align:middle;padding:14px 16px;line-height:1.5}.wedding-app .budget-table .budget-amount{text-align:right;white-space:nowrap;min-width:135px}.wedding-app .budget-table .budget-index{text-align:center;width:60px}.wedding-app .budget-table .budget-name{text-align:left;white-space:normal;overflow-wrap:anywhere;min-width:240px}.wedding-app .budget-table .budget-date{text-align:center;white-space:nowrap;min-width:145px}.wedding-app .budget-table .budget-actions{text-align:center;white-space:nowrap;width:76px}.wedding-app .budget-table .budget-actions button{vertical-align:middle}.wedding-app .budget-table tfoot th,.wedding-app .budget-table tfoot td{background:#edf3e5;border-top:2px solid #d6e2cb;font-weight:700}.wedding-app .guest-table-scroll:has(.budget-table){overflow-x:auto}.wedding-app .toolbar .clearable-search{flex:1;min-width:0;position:relative}.wedding-app .clearable-search input{width:100%;padding-right:48px}.wedding-app .clearable-search button{color:#627263;background:0 0;border:0;border-radius:8px;justify-content:center;align-items:center;width:44px;min-width:44px;height:44px;min-height:44px;padding:0;display:flex;position:absolute;top:50%;right:0;transform:translateY(-50%)}.wedding-app .clearable-search button:hover{color:#246347;background:#edf2e7}.wedding-app .clearable-search button:focus-visible{outline-offset:-3px;outline:2px solid #246347}.wedding-app .wedding-banner.couple-banner{color:#fffaf0;isolation:isolate;background:linear-gradient(115deg,#163e32,#527363 70%,#b6c6ad);border:0;border-radius:20px;gap:28px;height:280px;min-height:280px;padding:28px 32px;box-shadow:0 14px 34px #163e321c,inset 0 1px #ffffff80}.wedding-app .wedding-banner.couple-banner .cover-photo{transform-origin:52%;animation:1.2s cubic-bezier(.2,.7,.2,1) both cover-settle}.wedding-app .wedding-banner.couple-banner .cover-veil{background:linear-gradient(90deg,rgba(14,50,39,calc(.78 + var(--cover-shade,.78)*.08)) 0%,rgba(18,56,43,calc(.58 + var(--cover-name-alpha,.55)*.18)) 31%,#163e3245 54%,#0c271e14 76%),linear-gradient(0deg,#0a231b2e,transparent 45%);opacity:1!important}.wedding-app .wedding-banner.couple-banner>div.couple-copy{box-shadow:none;text-shadow:0 2px 10px #102f26b8;background:0 0;border-radius:0;min-width:0;max-width:50%;padding:0}.wedding-app .wedding-banner.couple-banner h2{color:#fffdf7;text-shadow:0 3px 14px #0b2b21c7;letter-spacing:-.4px;overflow-wrap:anywhere;text-wrap:balance;margin:12px 0;font:600 clamp(40px,3.25vw,50px)/1.06 Georgia,Times New Roman,serif;position:relative}.wedding-app .wedding-banner.couple-banner h2:after{content:attr(data-shine-text);color:#0000;text-shadow:none;pointer-events:none;background:linear-gradient(105deg,#0000 38%,#f2d391 47%,#fffdf2 50%,#f2d391 53%,#0000 62%) 135% 0/250% 100%;-webkit-background-clip:text;background-clip:text;animation:9s ease-in-out 1.2s infinite couple-name-shine;position:absolute;inset:0}.wedding-app .wedding-banner.couple-banner .banner-kicker{letter-spacing:1.2px;color:#f3e8d1;font-size:10px;font-weight:600}.couple-banner .couple-subtitle{color:#fffaf0;margin:0 0 16px;font-size:14px;line-height:1.5}.wedding-app .wedding-banner.couple-banner .banner-date{color:#fffaf0;gap:12px;font-size:15px;font-weight:500}.couple-banner .banner-date>span{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#102f2645;border:1px solid #ffffff24;border-radius:8px;align-items:center;gap:8px;padding:7px 10px;display:flex}.wedding-app .wedding-banner.couple-banner .banner-date button{color:#fffaf0;background:#ffffff16;border:1px solid #fff8;border-radius:8px;min-height:40px;padding:8px 12px;font-size:13px;text-decoration:none;transition:background .15s}.wedding-app .wedding-banner.couple-banner .banner-date button:hover{background:#ffffff30}.wedding-app .wedding-banner.couple-banner .banner-date button:focus-visible{outline-offset:3px;outline:3px solid #fff0c9}.wedding-app .wedding-banner.couple-banner>div.countdown{color:#fffaf0;background:rgba(14,48,37,calc(.52 + var(--cover-count-alpha,.55)*.32));-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);text-shadow:0 1px 5px #102f26;text-align:center;border:1px solid #ffffff59;border-radius:18px;flex-shrink:0;align-self:flex-start;width:216px;max-width:216px;margin-top:-8px;padding:15px 16px;box-shadow:0 12px 28px #0a2a2060,inset 0 1px #ffffff2e}.couple-banner .countdown-main>strong{font-variant-numeric:tabular-nums;font:600 56px/1 Segoe UI,Arial,sans-serif;display:block}.couple-banner .countdown-main>span,.couple-banner .countdown-main>small{letter-spacing:1px;text-shadow:0 1px 5px #071f18;display:block}.couple-banner .countdown-main>span{margin-top:7px;font-size:11px;font-weight:700}.couple-banner .countdown-main>small{margin-top:3px;font-size:9px;font-weight:700}.couple-banner .countdown-clock{font-variant-numeric:tabular-nums;border-top:1px solid #ffffff38;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr) auto minmax(0,1fr);align-items:start;gap:5px;margin-top:12px;padding-top:10px;display:grid}.couple-banner .countdown-clock>span{gap:5px;min-width:0;display:grid}.couple-banner .countdown-clock b{min-width:2ch;font:650 17px/1.15 Segoe UI,Arial,sans-serif}.couple-banner .clock-digits{background:linear-gradient(#ffffff18 0 49%,#061c1629 50% 100%);border:1px solid #ffffff24;border-radius:7px;grid-template-columns:repeat(2,1ch);place-content:center;width:100%;height:32px;display:grid;position:relative;overflow:hidden;box-shadow:0 5px 12px #071f1838,inset 0 1px #ffffff17}.couple-banner .clock-digits:after{content:"";z-index:0;background:#071c164f;height:1px;position:absolute;top:50%;left:0;right:0;box-shadow:0 1px #ffffff0d}.couple-banner .clock-digit-slot{z-index:1;height:1.15em;font:inherit;letter-spacing:0;perspective:90px;place-items:center;display:grid;position:relative;overflow:hidden}.couple-banner .clock-digit{font:inherit;-webkit-backface-visibility:hidden;backface-visibility:hidden;transform-origin:50% 100%;will-change:transform,opacity;font-style:normal;animation:.26s cubic-bezier(.22,.75,.28,1) countdown-digit-in;display:block}.couple-banner .countdown-clock small{letter-spacing:.75px;color:#e4c77b;text-shadow:0 1px 4px #071f18;font-size:9px;font-weight:700;line-height:1}.couple-banner .countdown-clock i{opacity:.72;align-self:start;margin-top:8px;font:600 15px/1 Segoe UI,Arial,sans-serif}.couple-banner .countdown strong.countdown-message{text-wrap:balance;font-size:25px;line-height:1.3}@media (min-width:761px) and (max-width:1100px){.wedding-app .wedding-banner.couple-banner{gap:16px;height:270px;padding:24px}.wedding-app .wedding-banner.couple-banner h2{font-size:34px}.wedding-app .wedding-banner.couple-banner>div.couple-copy{max-width:55%}.couple-banner .countdown-main>strong{font-size:48px}.wedding-app .wedding-banner.couple-banner>div.countdown{width:176px;max-width:176px;padding:14px 12px}.couple-banner .couple-subtitle{display:none}}@media (max-width:760px){.wedding-app .wedding-banner.couple-banner{background:#163e32;flex-direction:column;justify-content:flex-end;align-items:stretch;gap:16px;height:auto;min-height:420px;padding:180px 20px 22px;display:flex}.wedding-app .wedding-banner.couple-banner .cover-photo{object-fit:cover;background:#163e32;height:auto;max-height:205px}.wedding-app .wedding-banner.couple-banner .cover-veil{background:linear-gradient(#0000 26%,#163e3299 42%,#163e32 51% 100%)}.wedding-app .wedding-banner.couple-banner>div.couple-copy{max-width:100%;padding:0}.wedding-app .wedding-banner.couple-banner h2{margin:8px 0 12px;font-size:32px}.couple-banner .couple-subtitle{display:none}.wedding-app .wedding-banner.couple-banner>div.countdown{text-align:left;border-radius:13px;grid-template-columns:minmax(90px,.8fr) minmax(165px,1.2fr);align-self:stretch;align-items:center;gap:14px;width:auto;max-width:none;margin-top:0;padding:12px 14px;display:grid}.couple-banner .countdown-main>strong{font-size:42px}.couple-banner .countdown-main>span{margin-top:3px;font-size:10px}.couple-banner .countdown-main>small{font-size:9px}.couple-banner .countdown-clock{text-align:center;border-top:0;border-left:1px solid #ffffff38;margin:0;padding:0 0 0 14px}.couple-banner .countdown-clock b{font-size:18px}.couple-banner .countdown strong.countdown-message{font-size:22px}.wedding-app .wedding-banner.couple-banner:not(:has(.cover-photo)){min-height:360px;padding-top:30px}}@keyframes cover-settle{0%{filter:saturate(.94);transform:scale(1.025)}to{filter:saturate();transform:scale(1)}}@keyframes countdown-digit-in{0%{opacity:.38;transform:translateY(-18%)rotateX(-58deg)}to{opacity:1;transform:none}}@keyframes couple-name-shine{0%,84%{background-position:135% 0}95%,to{background-position:-45% 0}}@media (prefers-reduced-motion:reduce){.wedding-app .wedding-banner.couple-banner .cover-photo,.couple-banner .clock-digit{animation:none}.wedding-app .wedding-banner.couple-banner h2:after{display:none}.wedding-app .wedding-banner.couple-banner .banner-date button{transition:none}}@media (max-width:760px){.wedding-app .wedding-banner.couple-banner{justify-content:flex-start;gap:18px;min-height:0;padding:0 0 20px}.wedding-app .wedding-banner.couple-banner .cover-photo{z-index:0;flex:none;width:100%;height:auto;max-height:none;display:block;position:relative;inset:auto}.wedding-app .wedding-banner.couple-banner .cover-veil{display:none}.wedding-app .wedding-banner.couple-banner>div.couple-copy{padding:0 20px}.wedding-app .wedding-banner.couple-banner>div.countdown{margin:0 20px}.wedding-app .wedding-banner.couple-banner:not(:has(.cover-photo)){min-height:0;padding-top:24px}}.wedding-app .app-shell{grid-template-columns:auto minmax(0,1fr)}.wedding-app .app-shell:has(.sidebar-collapsed){grid-template-columns:78px minmax(0,1fr)}.grouped-sidebar{width:var(--sidebar-width,280px);background:#fefdf8;border-right:1px solid #edf0e8;flex-direction:column;min-width:250px;max-width:min(360px,30vw);height:calc(100dvh - 68px);min-height:0;padding:12px 18px;display:flex;position:sticky;top:68px}.grouped-sidebar.sidebar-collapsed{width:78px;min-width:78px;max-width:78px;padding-inline:12px}.sidebar-resizer{z-index:3;cursor:col-resize;touch-action:none;border:0;outline:0;width:12px;height:100%;margin:0;padding:0;position:absolute;top:0;right:-6px}.sidebar-resizer:after{content:"";background:#dfe7df;border-radius:2px;width:2px;transition:background .15s;position:absolute;top:12px;bottom:12px;left:5px}.sidebar-resizer:hover:after,.sidebar-resizing .sidebar-resizer:after{background:#7aa08a}.sidebar-resizer:focus-visible:after{background:#7aa08a}.sidebar-resizing,.sidebar-resizing *{cursor:col-resize!important;-webkit-user-select:none!important;user-select:none!important}.grouped-sidebar .sidebar-toggle{flex-shrink:0;align-self:flex-end}.grouped-sidebar button,.sidebar-drawer button{cursor:pointer;font:14px Segoe UI,Arial,sans-serif}.grouped-sidebar .sidebar-toggle,.sidebar-drawer .drawer-heading button{color:#2d5b40;background:#f8faf6;border:1px solid #dbe4da;border-radius:10px;width:42px;height:42px;padding:10px;transition:background .15s,border-color .15s}.grouped-sidebar .sidebar-toggle:hover,.sidebar-drawer .drawer-heading button:hover{background:#edf3ea;border-color:#c8d7c9}.sidebar-picker{flex-shrink:0;padding:8px 0 16px}.sidebar-picker .wedding-picker{letter-spacing:.8px;padding:0 4px;font-size:10px}.sidebar-picker .plan-picker-button{overflow-wrap:anywhere;white-space:normal;width:100%}.grouped-menu{scrollbar-width:thin;flex:1;min-height:0;padding:0 2px;overflow:hidden auto}.sidebar-group{margin:22px 0 0}.sidebar-group h2{letter-spacing:.045em;color:#4d5e51;margin:0 8px 9px;font:650 12.5px/1.4 Segoe UI,Arial,sans-serif}.grouped-sidebar .grouped-link,.sidebar-drawer .grouped-link{color:#3f5848;text-align:left;width:100%;min-height:44px;box-shadow:none;background:0 0;border:0;border-radius:10px;align-items:center;gap:10px;padding:10px;line-height:1.35;transition:background .15s,transform .15s,color .15s;display:flex}.grouped-link svg{color:#587061;flex-shrink:0}.grouped-link span{min-width:0}.grouped-sidebar .grouped-link:hover,.sidebar-drawer .grouped-link:hover{color:#214e39;box-shadow:none;background:#eaf1e8;transform:translate(2px)}.grouped-sidebar .grouped-link[aria-current=page],.sidebar-drawer .grouped-link[aria-current=page]{color:#fff;background:#184e36;font-weight:600;box-shadow:0 5px 14px #184e361f}.grouped-sidebar .grouped-link[aria-current=page] svg,.sidebar-drawer .grouped-link[aria-current=page] svg{color:#fff}:is(.grouped-sidebar button:focus-visible,.sidebar-drawer button:focus-visible){outline-offset:-2px;outline:2px solid #246347}.grouped-sidebar .sidebar-add,.sidebar-drawer .sidebar-add{color:#315b40;background:0 0;border:0;flex-shrink:0;justify-content:center;align-items:center;gap:8px;min-height:44px;margin-top:8px;font-weight:500;display:flex}.sidebar-collapsed .sidebar-group h2,.sidebar-collapsed .grouped-link span,.sidebar-collapsed .sidebar-add span{display:none}.sidebar-collapsed .grouped-link{justify-content:center;padding:10px}.sidebar-collapsed .sidebar-picker{display:none}.sidebar-collapsed .sidebar-group{margin:0 0 12px}.sidebar-collapsed .sidebar-toggle{align-self:center}.mobile-menu-toggle{display:none!important}.sidebar-drawer{flex-direction:column;background:#fefdf8!important;border-radius:0 16px 16px 0!important;gap:0!important;width:min(340px,92vw)!important;max-width:92vw!important;height:100dvh!important;padding:18px!important;animation:none!important;display:flex!important;top:0!important;left:0!important;transform:translate(0,0)!important}.drawer-heading{flex-shrink:0;justify-content:space-between;align-items:center;display:flex}.drawer-heading h2{font-size:18px}.sidebar-drawer .wedding-picker{display:block}.sidebar-drawer .wedding-picker select{width:100%;max-width:100%;margin-top:8px}.sidebar-drawer .grouped-menu{margin-top:8px}@media (max-width:1000px){:is(.wedding-app .app-shell,.wedding-app .app-shell:has(.sidebar-collapsed)){display:block}.grouped-sidebar{display:none}.mobile-menu-toggle{color:#246347;justify-content:center;align-items:center;min-width:40px;min-height:40px;background:0 0!important;border:0!important;padding:8px!important;display:inline-flex!important}.unified-brand{margin-right:auto}.topbar{gap:8px}}@media (prefers-reduced-motion:reduce){.sidebar-resizer:after{transition:none}}.grouped-sidebar .grouped-link,.sidebar-drawer .grouped-link{font-size:16px}.grouped-menu{scrollbar-color:#dfe5df transparent}.grouped-menu:hover{scrollbar-color:#a6b6aa transparent}@supports selector(::-webkit-scrollbar){.grouped-menu{scrollbar-width:auto}.grouped-menu::-webkit-scrollbar{width:4px}.grouped-menu::-webkit-scrollbar-track{background:0 0}.grouped-menu::-webkit-scrollbar-thumb{background:#dfe5df;border-radius:6px}.grouped-menu:hover::-webkit-scrollbar-thumb{background:#a6b6aa}}.wedding-app .grouped-sidebar .sidebar-toggle{box-sizing:border-box;justify-content:center;align-items:center;width:44px;height:44px;min-height:44px;margin:0 0 4px;padding:0;display:flex;overflow:visible}.wedding-app .grouped-sidebar .sidebar-toggle svg{flex-shrink:0;width:20px;height:20px;display:block}.grouped-sidebar .sidebar-footer,.sidebar-drawer .sidebar-footer{background:#fefdf8;border-top:1px solid #edf0e9;flex:none;margin-top:8px;padding-top:8px}.grouped-sidebar .sidebar-footer .sidebar-add,.sidebar-drawer .sidebar-footer .sidebar-add{width:100%;margin-top:0}.grouped-menu::-webkit-scrollbar-button{width:0;height:0;display:none}.wedding-app .app-shell{align-items:stretch;width:100%;min-width:0;max-width:none;min-height:calc(100dvh - 68px);margin:0}.wedding-app .app-shell>.workspace{box-sizing:border-box;flex-direction:column;min-width:0;max-width:100%;min-height:calc(100dvh - 68px);display:flex}.wedding-app .app-shell>.workspace>.workspace-footer{margin-top:auto}.grouped-sidebar{box-sizing:border-box;align-self:start}.grouped-sidebar>.sidebar-picker,.grouped-sidebar>.sidebar-footer{flex-shrink:0;position:relative}.grouped-sidebar>.grouped-menu,.sidebar-drawer>.grouped-menu{box-sizing:border-box;flex:1;min-width:0;min-height:0;padding-bottom:12px;overflow-y:auto}.sidebar-drawer{box-sizing:border-box;min-height:0}.sidebar-footer{min-width:0}@media (max-width:1000px){.wedding-app .app-shell,.wedding-app .app-shell>.workspace{min-height:calc(100dvh - 64px)}}@media (prefers-reduced-motion:reduce){.grouped-sidebar .grouped-link,.sidebar-drawer .grouped-link{transition:none}.grouped-sidebar .grouped-link:hover,.sidebar-drawer .grouped-link:hover{transform:none}}.sidebar-drawer{max-height:100dvh;height:100vh!important;height:100dvh!important;padding-bottom:max(16px,env(safe-area-inset-bottom))!important}.invitation-manager{margin:22px 0}.invitation-manager .panel-heading p{color:#65765e;margin-top:8px;font-size:14px}.invitation-manager>.local-note{margin:16px 20px}.invitation-stats{flex-wrap:wrap;gap:10px;padding:0 20px;display:flex}.invitation-stats button{color:#294b36;background:#f5f8f0;border:1px solid #d7e2d2;border-radius:10px;padding:12px}.invitation-stats button[aria-pressed=true]{color:#fff;background:#246347}.invitation-stats b{margin-right:7px;font-size:22px}.invitation-row{border-top:1px solid #e6ebdf;justify-content:space-between;align-items:center;gap:12px;padding:15px 20px;display:flex}.invitation-row small{color:#65765e;margin-top:5px;font-size:13px;display:block}.invitation-buttons{flex-wrap:wrap;gap:10px;display:flex}.invitation-dialog{font-family:Segoe UI,Arial,sans-serif}.invitation-message-preview,.invitation-more-actions{background:#fff;border:1px solid #dbe5d4;border-radius:12px;margin:4px 0}.invitation-message-preview>summary,.invitation-more-actions>summary{cursor:pointer;color:#315d43;padding:13px 15px;font-weight:650}.invitation-message-preview[open]>summary,.invitation-more-actions[open]>summary{border-bottom:1px solid #e4eadf}.invitation-message-preview .field{margin:0;padding:14px}.invitation-message-preview textarea{margin-top:8px}.invitation-more-actions .invitation-buttons{padding:14px}.invitation-share-box{background:#f6f9f2;border:1px solid #c9d9c1;border-radius:14px;gap:8px;margin:12px 0;padding:14px;display:grid}.invitation-share-primary{width:100%;min-height:50px;font-size:16px}.desktop-share-picker{background:#fff;border:1px solid #c8d8c1;border-radius:13px;gap:12px;padding:14px;display:grid;box-shadow:0 12px 30px #284b3720}.desktop-share-picker-heading{color:#244d36;justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.desktop-share-picker-heading b,.desktop-share-picker-heading small{display:block}.desktop-share-picker-heading small{color:#65765e;margin-top:3px;font-size:12px;font-weight:400}.desktop-share-picker-heading>button{color:#315d43;cursor:pointer;background:#f1f5ed;border:0;border-radius:9px;place-items:center;width:34px;height:34px;display:grid}.desktop-share-options{grid-template-columns:1fr 1fr;gap:10px;display:grid}.share-platform-option{color:#fff;text-align:left;cursor:pointer;min-height:70px;font:inherit;border:0;border-radius:12px;flex-direction:column;justify-content:center;align-items:flex-start;padding:13px 15px;display:flex;box-shadow:0 7px 18px #1733211c}.share-platform-option b,.share-platform-option small{display:block}.share-platform-option b{font-size:15px}.share-platform-option small{opacity:.88;color:#fff!important;margin-top:5px!important;font-size:12px!important}.share-platform-zalo{background:#0877ff}.share-platform-messenger{background:linear-gradient(135deg,#0877ff,#7b36ff)}.share-platform-option:hover{filter:brightness(.97);transform:translateY(-1px)}.share-config-note{background:#fff7df;border-radius:9px;padding:10px 12px;color:#765c19!important}.embedded-share-guide{color:#315d43;align-items:flex-start;gap:11px;padding:4px;display:flex}.embedded-share-guide>svg{flex:none;margin-top:2px}.embedded-share-guide b{margin-bottom:7px;font-size:15px;display:block}.invitation-share-box p{color:#5b6f60;margin:0;font-size:13px;line-height:1.5}.invitation-feedback{color:#246347;min-height:20px;margin-top:10px;font-size:13px;line-height:1.5;display:block}.rsvp-preview{color:#294b36;text-align:center;background:#fbf8f0;border:1px solid #dbe5d4;border-radius:18px;padding:24px}.rsvp-preview>svg{color:#246347;margin:0 auto 12px}.rsvp-preview h2{font-size:25px;font-weight:700;line-height:1.4}.rsvp-preview h3{margin:8px 0;font-size:27px;font-weight:700}.rsvp-preview p{margin:10px 0}.rsvp-eyebrow{letter-spacing:2px;font-size:11px}.rsvp-preview fieldset{text-align:left;margin-top:24px}.rsvp-preview legend{margin-bottom:12px;font-size:17px;font-weight:700}.rsvp-choices{gap:10px;display:grid}.rsvp-choices label{cursor:pointer;background:#fff;border:1px solid #b7cbb0;border-radius:10px;align-items:center;gap:10px;padding:14px;display:flex}.rsvp-choices input{accent-color:#246347;width:20px;height:20px}.rsvp-preview .field,.rsvp-preview details,.rsvp-preview .form-note{text-align:left}.rsvp-preview details{margin:18px 0;font-size:14px}.rsvp-preview summary{cursor:pointer;line-height:1.5}.rsvp-preview>button{width:100%;min-height:48px}.rsvp-preview input,.rsvp-preview textarea{border:1px solid #c6d5bd;border-radius:8px;width:100%;padding:10px;font-size:16px}.rsvp-preview input[type=radio]{width:20px}.rsvp-thanks small{margin-bottom:20px;display:block}@media (max-width:760px){.invitation-row{flex-wrap:wrap}.invitation-stats{grid-template-columns:1fr;width:100%;display:grid}.rsvp-preview{padding:18px}.invitation-buttons>*{width:100%}.invitation-message-preview textarea{font-size:16px}.desktop-share-options{grid-template-columns:1fr}}.invitation-total{color:#345743;overflow-wrap:anywhere;margin:12px 20px;font-size:15px;line-height:1.5}.wedding-app .guest-side-tabs .button{white-space:normal;text-align:center}.invitation-reset-message{width:calc(100% - 28px);margin:0 14px 14px}.linked-invitation{background:#f6f9f3;border:1px solid #d7e2d2;border-radius:14px;gap:12px;margin-bottom:4px;padding:16px;display:grid}.linked-invitation-title{color:#244d36;align-items:flex-start;gap:10px;display:flex}.linked-invitation-title svg{flex:none;margin-top:2px}.linked-invitation-title small{color:#65765e;margin-top:3px;font-weight:400;line-height:1.45;display:block}.linked-invitation .field{margin:0}.linked-invitation .field select{margin-top:6px}.linked-ready{color:#246347;align-items:center;gap:7px;margin:0;font-weight:600;display:flex}.linked-empty{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.linked-empty p{margin:0}.invitation-dialog .button[href]{justify-content:center;align-items:center;text-decoration:none;display:inline-flex}@media (max-width:760px){.linked-empty .button{width:100%}}.guest-filter-panel{padding:20px}.guest-filter-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;margin-bottom:16px;display:grid}.guest-filter-grid label,.guest-group-row label{gap:6px;min-width:0;display:grid}.guest-filter-grid input,.guest-filter-grid select,.guest-group-row input,.guest-group-row select{width:100%;min-width:0}.guest-group-filter{margin-bottom:16px}.guest-group-filter fieldset{border:0;flex-wrap:wrap;gap:12px;padding:12px 0;display:flex}.guest-filter-panel summary{cursor:pointer;padding:10px 0;font-weight:600}.guest-filter-totals{padding:16px 0;font-weight:600;display:block}.guest-filter-panel td{font-variant-numeric:tabular-nums;text-align:right}.guest-filter-panel th{white-space:nowrap}.guest-group-row{border-bottom:1px solid #dfe5dc;padding:12px 0}.guest-group-row form,.guest-bulk-toolbar{flex-wrap:wrap;align-items:end;gap:12px;display:flex}.guest-group-row label{flex:1;min-width:160px}.guest-bulk-toolbar{align-items:center;margin:16px 0}.guest-group-row small{display:block}.guest-filter-panel .check-field{align-items:center;gap:8px;display:flex}.guest-filter-panel input[type=checkbox]{width:auto}.guest-groups-dialog{max-height:calc(100dvh - 32px);scroll-padding:24px;overflow-y:auto}.guest-table .check-field{align-items:center;gap:8px;min-height:44px;margin-right:10px;display:inline-flex}.guest-table .check-field input[type=checkbox]{flex:0 0 24px;width:24px;height:24px}.guest-group-filter .check-field,.guest-bulk-toolbar .check-field{min-height:44px}.guest-group-row input,.guest-group-row select{color:#243e30;background:#fff;border:1px solid #cbd6c6;border-radius:8px;min-height:44px;padding:10px 12px}.guest-group-row>label{margin-bottom:10px}.guest-groups-dialog .guest-group-row{min-width:0}.guest-groups-dialog .guest-group-row form{align-items:center}.guest-groups-dialog .guest-group-row small{color:#4e6257}.guest-filter-panel .guest-group-stats{border-collapse:collapse;table-layout:fixed;width:100%}.guest-filter-panel .guest-group-stats th,.guest-filter-panel .guest-group-stats td{white-space:normal;overflow-wrap:anywhere;vertical-align:middle;border-bottom:1px solid #dfe5dc;padding:12px 16px}.guest-filter-panel .guest-group-stats thead th{text-align:right;background:#f3f6f0;font-weight:600}.guest-filter-panel .guest-group-stats th:first-child{text-align:left;width:34%}.guest-group-stats .text-button{white-space:normal;overflow-wrap:anywhere;text-align:left;max-width:100%;min-height:44px}@media (max-width:767px){.guest-filter-panel .guest-group-stats,.guest-group-stats tbody{width:100%;display:block}.guest-group-stats thead{clip-path:inset(50%);width:1px;height:1px;padding:0;position:absolute;overflow:hidden}.guest-group-stats tbody tr{border-bottom:1px solid #dfe5dc;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 16px;padding:16px 0;display:grid}.guest-filter-panel .guest-group-stats tbody th:first-child{border:0;grid-column:1/-1;width:auto;padding:0}.guest-filter-panel .guest-group-stats td{text-align:left;border:0;flex-direction:column;gap:4px;padding:0;font-weight:600;display:flex}.guest-group-stats td:before{content:attr(data-label);color:#4e6257;font-size:13px;font-weight:400}.guest-group-stats tbody tr:last-child{border-bottom:0}}.wedding-app .guest-search-row{max-width:720px;margin:20px 0}.guest-search-label{margin-bottom:8px;font-weight:600;display:block}.guest-search-control{position:relative}.guest-search-control>svg{pointer-events:none;color:#52695b;z-index:1;position:absolute;top:14px;left:14px}.wedding-app .guest-search-control .clearable-search{min-width:0;position:relative}.wedding-app .guest-filter-panel .guest-search-control input{color:#243e30;box-sizing:border-box;background:#fff;border:1px solid #92a999;border-radius:10px;width:100%;min-width:0;height:48px;padding:10px 48px 10px 44px;font-size:16px}.wedding-app .guest-search-row p{color:#52695b;margin:8px 0 0;font-size:13px}.wedding-app .guest-filter-grid{grid-template-columns:repeat(4,minmax(0,1fr));align-items:end;gap:16px;margin:0 0 20px}.wedding-app .guest-filter-grid>label{gap:8px;font-size:14px;font-weight:600}.wedding-app .guest-filter-grid select{color:#243e30;box-sizing:border-box;background:#fff;border:1px solid #a8b9ad;border-radius:8px;height:44px;padding:8px 12px;font-size:15px;font-weight:400}.wedding-app .guest-filter-panel :is(.guest-search-control input,.guest-filter-grid select):focus-visible{outline-offset:2px;border-color:#246347;outline:2px solid #246347}.wedding-app .guest-group-filter{background:#f8faf6;border:1px solid #dce5dc;border-radius:10px;padding:4px 14px}.wedding-app .guest-group-filter summary{overflow-wrap:anywhere}.wedding-app .guest-group-filter fieldset{gap:8px 16px}.wedding-app .guest-filter-totals{border-top:1px solid #dfe5dc;margin:16px 0 8px;line-height:1.7}@media (max-width:900px){.wedding-app .guest-filter-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:480px){.wedding-app .guest-filter-grid{grid-template-columns:minmax(0,1fr);gap:12px}.wedding-app .guest-filter-grid select{font-size:16px}.wedding-app .guest-search-row{margin:16px 0}}@media (max-width:600px){.wedding-app .guest-filter-panel .panel-heading{flex-direction:column;align-items:flex-start;gap:12px}.wedding-app .guest-filter-panel .panel-heading .button{white-space:nowrap}}@media (min-width:768px){.wedding-app .guest-details-table :is(th,td):is(:nth-child(7),:nth-child(8),:nth-child(10),:nth-child(11)){text-align:right;font-variant-numeric:tabular-nums}.wedding-app .guest-details-table :is(th,td):is(:first-child,:last-child){text-align:center}}.wedding-app{--green:#246347;--cream:#fbf8f0;--peach:#f4dfd1;color:#243e30;background:var(--cream);min-height:100vh;font-family:Arial,sans-serif;font-size:16px;line-height:1.55}.wedding-app *{box-sizing:border-box}.wedding-app button,.wedding-app select,.wedding-app input{font:inherit}.wedding-app button{cursor:pointer}.topbar{background:#fff;border-bottom:1px solid #e5e8de;justify-content:space-between;align-items:center;gap:20px;height:88px;padding:0 36px;display:flex}.brand{color:#246347;align-items:center;gap:12px;font:26px Segoe UI,Arial,sans-serif;text-decoration:none;display:flex}.brand-mark{color:#fff;background:#246347;border-radius:16px;place-items:center;width:45px;height:45px;display:grid}.brand small{letter-spacing:2px;margin-top:6px;font:10px Arial;display:block}.top-actions{align-items:center;gap:18px;display:flex}.demo-pill,.badge{color:#385842;background:#e8efdf;border-radius:7px;padding:5px 10px;font-size:13px}.avatar,.guest-avatar{background:#f4dfd1;border-radius:50%;flex-shrink:0;place-items:center;width:38px;height:38px;font-size:14px;display:grid}.app-shell{grid-template-columns:245px 1fr;max-width:1600px;margin:auto;display:grid}.side{background:#fefdf8;border-right:1px solid #e5e8de;flex-direction:column;min-height:calc(100vh - 88px);padding:30px 20px;display:flex}.wedding-picker{letter-spacing:1.3px;color:#637464;padding:0 10px 25px;font-size:10px}.wedding-picker select{color:#294631;letter-spacing:0;background:0 0;border:0;width:100%;margin-top:8px;font-size:17px;font-weight:600;display:block}.main-nav{width:100%;background:0 0!important;flex-direction:column!important;gap:7px!important;height:auto!important;padding:0!important;display:flex!important}.nav-item{width:100%;color:#607061!important;border-radius:10px!important;justify-content:flex-start!important;gap:12px!important;height:auto!important;padding:13px 16px!important;font-size:15px!important}.nav-item[data-active],.nav-item[data-state=active]{color:#fff!important;box-shadow:none!important;background:#246347!important}.new-wedding{color:#456247;background:0 0;border:1px dashed #b4c4ad;border-radius:10px;justify-content:center;align-items:center;gap:8px;margin-top:25px;padding:12px;display:flex;font-size:14px!important}.side-note{color:#73816d;margin-top:auto;padding:65px 10px 10px;font-size:13px}.side-note svg{color:#ae7c62}.workspace{min-width:0;padding:24px 38px 16px}.local-note{color:#69715e;background:#f1f0e7;border-radius:6px;padding:9px 12px;font-size:12px;line-height:1.5}.page-heading{justify-content:space-between;align-items:center;gap:20px;margin:25px 0 24px;display:flex}.eyebrow{letter-spacing:2px;color:#71816c;font-size:10px}.page-heading h1{color:#274c37;margin:8px 0;font-family:Segoe UI,Arial,sans-serif;font-size:35px;line-height:1.2}.page-heading p{color:#74806e;margin:7px 0 0;font-size:14px}.button{cursor:pointer;border:1px solid #0000;border-radius:8px;justify-content:center;align-items:center;gap:9px;padding:10px 16px;display:inline-flex;font-size:14px!important}.primary{color:#fff;background:#246347}.primary:hover{background:#184c35}.quiet{color:#45614b;background:0 0;border-color:#dbe3d5}.wedding-banner{color:#295138;background:#e4eddb;border:1px solid #d9e4ce;border-radius:18px;justify-content:space-between;align-items:center;gap:20px;padding:30px 36px;display:flex}.banner-kicker{letter-spacing:2px;font-size:10px}.wedding-banner h2{margin:9px 0 17px;font:45px Segoe UI,Arial,sans-serif}.banner-date{flex-wrap:wrap;align-items:center;gap:9px;font-size:14px;display:flex}.banner-date button{background:0 0;border:0;font-size:12px;text-decoration:underline}.countdown{text-align:center;border-left:1px solid #c5d4b8;padding-left:35px}.countdown strong{font:64px/1.1 Segoe UI,Arial,sans-serif;display:block}.countdown span{letter-spacing:1.5px;font-size:10px}.metric-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:17px;margin:22px 0;display:grid}.metric{text-align:left;background:#fff;border:1px solid #e4e7dd;border-radius:13px;min-width:0;padding:19px 21px}.metric>span{color:#6b7969;align-items:center;gap:9px;font-size:13px;display:flex}.metric svg{color:#57815e;width:17px;height:17px}.metric strong{overflow-wrap:anywhere;margin:12px 0 8px;font:28px Segoe UI,Arial,sans-serif;display:block}.metric em{color:#7e8878;font:15px Arial}.metric small{color:#798271;font-size:12px}.metric [data-slot=progress]{background:#edf1e7;height:5px;margin-top:16px}.metric [data-slot=progress-indicator]{background:#769b6b}.overview-grid{grid-template-columns:1.4fr 1fr;gap:22px;display:grid}.panel{background:#fff;border:1px solid #e5e8de;border-radius:14px;overflow:hidden}.panel-heading{justify-content:space-between;align-items:center;gap:12px;padding:20px 23px;display:flex}.panel h2,.payment-panel h2{margin:0;font:21px Segoe UI,Arial,sans-serif}.panel-heading>span{color:#6f7a69;font-size:13px}.text-button{color:#4f754e;background:0 0;border:0;align-items:center;gap:5px;display:flex;font-size:12px!important}.task-row,.guest-row{border-top:1px solid #eef0e8;align-items:center;gap:12px;padding:17px 23px;font-size:14px;display:flex}.grow{overflow-wrap:anywhere;flex:1;min-width:0}.task-row small,.guest-row small,.cost-row small{color:#7c8475;margin-top:5px;font-size:12px;display:block}.completed{color:#87917d;text-decoration:line-through}.badge{white-space:nowrap;font-size:11px}.peach{color:#9b553a;background:#f8e6d9}.add-inline{color:#557e54;background:#fff;border:0;border-top:1px solid #eef0e8;justify-content:center;align-items:center;gap:7px;width:100%;padding:16px;display:flex;font-size:13px!important}.payment-panel{background:#f4e5d8;border:1px solid #eedbcc;border-radius:14px;padding:24px}.payment-panel .eyebrow{color:#927460}.payment-panel h2{margin:10px 0 22px}.payment-label{color:#7b7566;font-size:13px}.payment-panel>strong{margin:6px 0 18px;font:32px Segoe UI,Arial,sans-serif;display:block}.payment-split,.payment-due{border-top:1px solid #e6d4c4;justify-content:space-between;gap:10px;padding:10px 0;font-size:12px;display:flex}.payment-due small{color:#827461;font-size:11px;display:block}.payment-panel .button{width:100%;margin-top:16px}.toolbar{gap:12px;padding:20px;display:flex}.toolbar input{flex:1;min-width:0}.toolbar input,.toolbar select,.field input,.field select{color:#304a38;background:#fff;border:1px solid #dce3d7;border-radius:8px;width:100%;padding:10px 12px;font-size:14px}.toolbar select{width:auto}.row-actions{gap:5px;display:flex}.row-actions button{color:#73816c;background:0 0;border:0;border-radius:6px;padding:8px}.row-actions button:hover{background:#edf1e7}.cost-row{border-top:1px solid #edf0e7;grid-template-columns:1.4fr 1fr 1fr auto;gap:15px;padding:20px 23px;font-size:14px;display:grid}.cost-row h3,.guest-row h3{margin:0;font-size:15px;font-weight:500}.cost-row span,.cost-row b{margin-top:5px;display:block}.cost-row .badge{font-size:11px;display:inline-block}.list-foot{color:#71806b;border-top:1px solid #edf0e7;margin:0;padding:16px 23px;font-size:13px}.alert{color:#924927;background:#f5ddcb;border-radius:10px;margin-bottom:20px;padding:14px 18px}.warning,.form-error{color:#a9502c!important}.empty{color:#728067;text-align:center;padding:32px;font-size:14px}.workspace-footer{color:#829079;flex-wrap:wrap;justify-content:space-between;gap:20px;padding:25px 0 10px;font-size:11px;display:flex}.settings-grid{grid-template-columns:1fr 1fr;gap:24px;display:grid}.settings-panel{padding:25px}.settings-panel p{color:#74816d;font-size:14px}.settings-panel h2{margin-bottom:20px}.field{color:#40563f;flex-direction:column;gap:7px;margin:16px 0;font:14px Arial;display:flex}.field input,.field select{min-height:42px;font:16px Arial}.permission-row{gap:10px;padding:12px 0;font-size:14px;display:flex}.settings-icon{color:#568259;margin-bottom:15px}.settings-panel .local-note{margin-top:20px}.editor-dialog{max-height:90dvh;overflow-y:auto}.dialog-actions{justify-content:flex-end;gap:12px;margin-top:20px;display:flex}.check-field{align-items:center;gap:10px;font-size:14px;display:flex}.form-note{color:#738069;font-size:12px}:is(.wedding-app button:focus-visible,.wedding-app input:focus-visible,.wedding-app select:focus-visible){outline-offset:3px;outline:3px solid #bd9761}@media (max-width:1150px){.app-shell{grid-template-columns:205px 1fr}.workspace{padding:22px}.overview-grid{grid-template-columns:1fr}.metric{padding:17px}.metric strong{font-size:24px}.side{padding:25px 12px}}@media (max-width:760px){.topbar{height:75px;padding:0 16px}.brand{font-size:21px}.brand small{letter-spacing:1px;font-size:8px}.brand-mark{border-radius:12px;width:36px;height:36px}.top-actions{gap:10px}.demo-pill,.avatar,.top-actions .button span{display:none}.app-shell{display:block}.side{border-bottom:1px solid #e4e7da;border-right:0;min-height:0;padding:14px 12px}.wedding-picker{justify-content:space-between;align-items:center;gap:8px;padding:0 5px 12px;font-size:9px;display:flex}.wedding-picker select{width:auto;max-width:60%;margin:0;font-size:14px}.main-nav{flex-direction:row!important;gap:4px!important}.nav-item{flex:1;flex-direction:column!important;gap:5px!important;padding:10px 3px!important;font-size:11px!important}.nav-item svg{width:18px}.new-wedding{margin:12px 0 0;padding:7px;font-size:12px!important}.side-note{display:none}.workspace{padding:17px 14px}.page-heading{flex-wrap:wrap;margin:20px 0}.page-heading h1{font-size:30px}.eyebrow{letter-spacing:1px;font-size:9px}.wedding-banner{border-radius:12px;padding:23px 20px}.wedding-banner h2{font-size:32px}.banner-kicker{letter-spacing:1px;font-size:8px}.countdown{padding-left:15px}.countdown strong{font-size:43px}.countdown span{letter-spacing:.5px;font-size:8px}.metric-grid{grid-template-columns:1fr;gap:8px;margin:16px 0}.metric{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;padding:15px;display:flex}.metric>span{font-size:13px}.metric strong{margin:0;font-size:22px}.metric small,.metric [data-slot=progress]{width:100%;margin:0}.overview-grid{gap:16px}.panel-heading{padding:18px 15px}.task-row,.guest-row{flex-wrap:wrap;gap:9px;padding:15px}.task-row .grow,.guest-row .grow{min-width:150px}.badge{font-size:10px}.panel h2{font-size:20px}.toolbar{flex-direction:column;padding:15px}.toolbar select{width:100%}.cost-row{grid-template-columns:1fr 1fr;gap:12px;padding:18px 15px}.cost-row>div:first-child{grid-column:1/-1}.cost-row .row-actions{grid-column:1/-1;justify-content:flex-end}.settings-grid{grid-template-columns:1fr}.local-note,.workspace-footer{font-size:11px}.button{min-height:42px}.row-actions button{min-width:40px;min-height:40px}}.nav-label-mobile{display:none}.wedding-app :is(h1,h2,h3,h4),.editor-dialog [data-slot=dialog-title]{letter-spacing:normal;font-family:Segoe UI,Arial,sans-serif;line-height:1.45}.wedding-app .page-heading h1,.wedding-app .wedding-banner h2{letter-spacing:normal;font-weight:700}.wedding-app .panel h2,.wedding-app .payment-panel h2,.wedding-app .suite-record h3,.wedding-app .run-detail h4{font-weight:700}.wedding-app .cost-row h3,.wedding-app .guest-row h3,.wedding-app .suite-link strong,.wedding-app .guide summary{font-weight:650}.editor-dialog [data-slot=dialog-title]{font-weight:700}@media (hover:hover) and (pointer:fine){.wedding-app :is(.button,.nav-item,.suite-link,.central-metrics>button,.metric,.table-card,.suite-record,.new-wedding){transition:transform .18s,box-shadow .18s,border-color .18s,background-color .18s}.wedding-app :is(.suite-link,.central-metrics>button,.metric,.table-card,.suite-record):not(:disabled):not([aria-disabled=true]):hover{border-color:#91af99;transform:translateY(-3px);box-shadow:0 8px 22px #234d3514}.wedding-app :is(.button,.nav-item,.new-wedding):not(:disabled):not([aria-disabled=true]):hover{transform:translateY(-2px);box-shadow:0 4px 10px #234d351a}.wedding-app :is(.task-row,.guest-row,.cost-row,.dashboard-event,.packing-row,.ledger-entry){transition:background-color .18s,box-shadow .18s}.wedding-app :is(.task-row,.guest-row,.cost-row,.dashboard-event,.packing-row,.ledger-entry):hover{background-color:#f2f6ed;box-shadow:0 2px 8px #234d350a}.wedding-app :is(.button,.nav-item,.suite-link,.central-metrics>button):not(:disabled):active{box-shadow:none;transform:translateY(0)}}@media (prefers-reduced-motion:reduce){.wedding-app :is(.button,.nav-item,.suite-link,.central-metrics>button,.metric,.table-card,.suite-record,.new-wedding,.task-row,.guest-row,.cost-row,.dashboard-event,.packing-row,.ledger-entry){transition:none!important;transform:none!important}}@media (max-width:760px){.wedding-app .main-nav{z-index:30;border-top:1px solid #dbe3d5;border-radius:0;grid-template-columns:repeat(5,minmax(0,1fr));width:100%;position:fixed;inset:auto 0 0;box-shadow:0 -4px 18px #243e3008;padding:8px max(10px,env(safe-area-inset-right)) calc(8px + env(safe-area-inset-bottom)) max(10px,env(safe-area-inset-left))!important;background:#fefdf8!important;gap:4px!important;display:grid!important}.wedding-app .main-nav .nav-item{white-space:normal;text-align:center;min-width:0;min-height:54px;line-height:1.4;border-radius:9px!important;justify-content:center!important;padding:7px 2px!important;font-size:12px!important}.wedding-app .main-nav .nav-item svg{width:20px;height:20px}.nav-label-desktop{display:none}.nav-label-mobile{display:inline}.wedding-app .workspace{padding-bottom:calc(100px + env(safe-area-inset-bottom))}.wedding-app .side>[data-slot=tabs]{height:0;min-height:0}.wedding-app .new-wedding{margin-top:0}html{scroll-padding-bottom:calc(100px + env(safe-area-inset-bottom))}}.wedding-banner{isolation:isolate;position:relative;overflow:hidden}.wedding-banner .cover-photo{object-fit:cover;z-index:-2;width:100%;height:100%;position:absolute;inset:0}.wedding-banner .cover-veil{z-index:-1;background:#e4eddb;position:absolute;inset:0}.cover-preview{min-height:160px}.cover-preview h2{font-size:28px}.settings-panel input[type=range]{accent-color:#246347;width:100%}.cover-private{display:block}.wedding-app .topbar{flex-wrap:wrap;height:auto;min-height:88px;padding-top:14px;padding-bottom:14px}.header-verse{color:#385c47;flex:1;min-width:260px;max-width:510px;margin:0 auto;font-family:Georgia,Times New Roman,serif;animation:1.3s ease-out both verse-arrive}.header-verse p{text-align:center;text-wrap:balance;margin:0;font-size:17px;font-style:italic;line-height:1.6}.header-verse cite{text-align:right;letter-spacing:.5px;color:#6c7965;margin-top:4px;font:12px Segoe UI,Arial,sans-serif;display:block}@keyframes verse-arrive{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@media (max-width:1100px){.header-verse{flex-basis:100%;order:3;min-width:0;max-width:none}.header-verse cite{text-align:center}.wedding-app .topbar{gap:10px 12px}.header-verse p{font-size:16px}}@media (prefers-reduced-motion:reduce){.header-verse{animation:none}}.verse-preview{background:#f5f7ef;border-radius:12px;margin:16px 0;padding:18px}.verse-preview .header-verse{min-width:0}.header-verse p{overflow-wrap:anywhere}.header-verse.verse-static{animation:none}.header-verse.verse-light p{color:#0000;background:linear-gradient(100deg,#385c47 0% 38%,#a16d27 48%,#385c47 58% 100%) 0 0/250% 100%;-webkit-background-clip:text;background-clip:text;animation:5s ease-in-out infinite alternate verse-light-sweep}@keyframes verse-light-sweep{0%{background-position:0%}to{background-position:100%}}@media (prefers-reduced-motion:reduce){.header-verse.verse-light p{color:#385c47;background:0 0;animation:none}}.guest-table-scroll{max-width:100%;overflow-x:auto}.guest-table{border-collapse:collapse;width:100%;min-width:1400px;font-size:14px}.guest-table th,.guest-table td{text-align:left;vertical-align:top;overflow-wrap:anywhere;border-bottom:1px solid #e5e8de;max-width:300px;padding:12px}.guest-table th{color:#295138;white-space:nowrap;background:#edf2e5}.guest-table tbody tr:nth-child(2n){background:#fafbf7}.guest-table td:nth-child(4){white-space:nowrap}.budget-table{min-width:1050px}.budget-table td:nth-child(n+3):nth-child(-n+6){text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums}.budget-table tfoot{background:#e4eddb;font-weight:700}.guest-side-tabs{flex-wrap:wrap;gap:10px;margin:0 0 20px;display:flex}.guest-side-tabs button{flex:1;min-width:100px}.invitation-row .badge{margin-left:8px;display:inline-block}.wedding-app .guest-side-tabs button[aria-pressed=true]{font-weight:700;box-shadow:0 3px 9px #184e3626;color:#fff!important;background:#184e36!important;border:2px solid #123e2b!important}.wedding-app .guest-side-tabs button[aria-pressed=false]{box-shadow:none;color:#365b44!important;background:#fff!important;border:2px solid #d6e2d0!important}.wedding-app .guest-side-tabs button[aria-pressed=false]:hover{background:#edf4e7!important;border-color:#87a88d!important}.wedding-app .nav-item[data-state=active],.wedding-app .nav-item[data-active]{color:#fff!important;background:#184e36!important;font-weight:700!important;box-shadow:inset 4px 0 #b8d5a2!important}.wedding-banner:has(.cover-photo)>div{background:#fbf8f0e6;border-radius:12px;max-width:100%;padding:16px 20px;box-shadow:0 2px 12px #123e2b18}.wedding-banner:has(.cover-photo) h2{color:#163f2b;text-shadow:0 1px #fff;overflow-wrap:anywhere;margin-top:6px;font-weight:700}:is(.wedding-banner:has(.cover-photo) .banner-kicker,.wedding-banner:has(.cover-photo) .banner-date,.wedding-banner:has(.cover-photo) .countdown){color:#163f2b;font-weight:600}.wedding-banner:has(.cover-photo) .countdown{border-left:0;flex-shrink:0}:is(.cover-private:has(.cover-photo)>h2,.cover-private:has(.cover-photo)>p){color:#163f2b;background:#fbf8f0f0;border-radius:8px;padding:10px}@media (max-width:760px){.wedding-banner:has(.cover-photo){flex-wrap:wrap;gap:12px}.wedding-banner:has(.cover-photo)>div{padding:12px 14px}}.wedding-banner:has(.cover-photo)>div{background:rgba(251,248,240,var(--cover-name-alpha,.55))}.wedding-banner:has(.cover-photo)>div.countdown{background:rgba(251,248,240,var(--cover-count-alpha,.55))}:is(.cover-private:has(.cover-photo)>h2,.cover-private:has(.cover-photo)>p){background:rgba(251,248,240,var(--cover-name-alpha,.55))}.cover-preview{flex-wrap:wrap}.invitation-row-actions{flex-wrap:wrap;flex-shrink:0;justify-content:flex-end;gap:8px;display:flex}@media (max-width:760px){.invitation-row{flex-wrap:wrap}.invitation-row-actions{justify-content:flex-start;width:100%}.invitation-row-actions button{flex:1;min-height:40px}}.dashboard-verse{flex:1;min-width:0;max-width:620px;margin-left:auto;padding:0 24px}.dashboard-verse .header-verse{min-width:0;max-width:560px;margin:0 auto}.wedding-app .dashboard-verse .header-verse p{line-height:1.65}.dashboard-verse .header-verse cite{text-align:right;margin-top:8px;font-size:13px}.dashboard-verse:empty{display:none}@media (max-width:900px){.dashboard-verse{flex-basis:100%;max-width:none;margin:0;padding:8px 0 0}.page-heading:has(.dashboard-verse){flex-wrap:wrap}.dashboard-verse .header-verse{max-width:none}.dashboard-verse .header-verse p{text-align:left}.dashboard-verse .header-verse cite{text-align:right}}.wedding-app .app-shell{--color-border-subtle:#e2e7e1;--color-border-control:#c7d3cc;--color-surface:#fff;--color-surface-hover:#f1f5f1;--shadow-card:0 4px 16px #163e320d}.wedding-app .app-shell .side .nav-item{color:#52665b;background:0 0;min-height:44px;transition:background .15s;border:0!important;border-radius:11px!important}.wedding-app .app-shell .side .nav-item:hover{box-shadow:none;background:var(--color-surface-hover)!important}.wedding-app .app-shell .side .nav-item[data-state=active],.wedding-app .app-shell .side .nav-item[data-active]{color:#fff!important;box-shadow:none!important;background:#184e36!important}.wedding-app .app-shell .side .nav-item:disabled{opacity:.5;cursor:not-allowed}.wedding-app .app-shell .new-wedding,.wedding-app .app-shell .plan-picker-button{background:0 0;border:0}.wedding-app .app-shell .new-wedding:hover,.wedding-app .app-shell .plan-picker-button:hover{background:var(--color-surface-hover);box-shadow:none}.wedding-app .app-shell .panel:not(.wedding-banner),.wedding-app .app-shell .central-metrics>button{box-shadow:var(--shadow-card);border-color:#0000;border-radius:16px}.wedding-app .app-shell .task-row,.wedding-app .app-shell .guest-row,.wedding-app .app-shell .cost-row{border-top-color:#f0f2ec}.wedding-app .app-shell .task-row:hover,.wedding-app .app-shell .guest-row:hover,.wedding-app .app-shell .cost-row:hover{background:#f8faf6}.wedding-app .app-shell .badge{border:0}.wedding-app .app-shell .button.primary{color:#fff;background:#246347;border-color:#0000}.wedding-app .app-shell .button.primary:hover{background:#184e36}.wedding-app .app-shell .button.quiet{border-color:var(--color-border-control);background:#fff}.wedding-app .app-shell .row-actions button,.wedding-app .app-shell .text-button,.wedding-app .app-shell .invitation-row-actions button{box-shadow:none;background:0 0;border-color:#0000;min-height:40px}.wedding-app .app-shell .row-actions button:hover,.wedding-app .app-shell .text-button:hover,.wedding-app .app-shell .invitation-row-actions button:hover{background:var(--color-surface-hover)}.wedding-app .app-shell button[aria-label=Xóa],.wedding-app .app-shell .invitation-row-actions button:nth-child(2){color:#984c40}.wedding-app .app-shell :is(.toolbar,.smart-controls,.field) :is(input:not([type=range]):not([type=checkbox]),select,textarea){border:1px solid var(--color-border-control);border-radius:10px;min-height:44px}.wedding-app .app-shell :is(input,select,textarea):hover{border-color:#92ac9c}.wedding-app .app-shell :is(input,select,textarea,button):focus-visible{outline-offset:3px;outline:2px solid #246347}.wedding-app .app-shell input::placeholder{color:#738277}.wedding-app .app-shell .guest-side-tabs button[aria-pressed]{min-height:44px;box-shadow:none!important;border:0!important}.wedding-app .app-shell .guest-side-tabs button[aria-pressed=false]{background:#f0f4ec!important}.wedding-app .app-shell .attention-strip{border-top-color:#0000;border-bottom-color:#0000;border-right-color:#0000}.wedding-app .app-shell .dashboard-payments{box-shadow:var(--shadow-card);border-top-color:#0000;border-bottom-color:#0000;border-right-color:#0000}.wedding-app .app-shell .readiness button,.wedding-app .app-shell .dashboard-event{box-shadow:none;border:0;border-bottom:1px solid #eff2eb}.wedding-app .app-shell .readiness button:last-child,.wedding-app .app-shell .dashboard-event:last-child{border-bottom:0}@media (prefers-reduced-motion:reduce){.wedding-app .app-shell .side .nav-item{transition:none}}.suite-menu{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.suite-link{text-align:left;color:#294b36;background:#fff;border:1px solid #dde5d6;border-radius:14px;align-items:center;gap:15px;padding:24px;display:flex}.suite-link>span:nth-child(2){flex:1}.suite-link b{font-size:17px;display:block}.suite-link small{color:#66795f;margin-top:6px;font-size:14px;display:block}.suite-icon{color:#246347;background:#e4eddb;border-radius:12px;padding:14px}.suite-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:20px;margin-bottom:22px;display:flex}.suite-toolbar p{color:#66795f;max-width:530px;margin:0;font-size:15px}.suite-actions{flex-wrap:wrap;gap:10px;display:flex}.suite-record{border-top:1px solid #e6ebdf;gap:18px;padding:23px;display:flex}.suite-record :is(h2,h3){margin:0 0 8px;font:21px Segoe UI,Arial,sans-serif}.suite-record small{color:#65735f;margin-top:7px;font-size:14px;display:block}.record-tags{flex-wrap:wrap;gap:7px;display:flex}.record-notes{white-space:pre-wrap;color:#566850;margin:10px 0;font-size:14px}.vendor-price{color:#246347;margin:12px 0;font-size:22px;display:block}.timeline-time{color:#246347;min-width:90px;font-size:23px}.timeline-time small{font-size:12px}.seat-summary{background:#e4eddb;border-radius:12px;flex-wrap:wrap;gap:25px;margin-bottom:15px;padding:18px 24px;display:flex}.seat-summary b{margin-right:6px;font:26px Segoe UI,Arial,sans-serif}.table-map{background:#fff;border:1px solid #dde5d6;border-radius:14px;margin:15px 0 24px;padding:25px}.stage{text-align:center;letter-spacing:3px;background:#f4dfd1;border-radius:6px;max-width:380px;margin:0 auto 28px;padding:12px;font-size:12px}.table-grid{grid-template-columns:repeat(auto-fit,minmax(145px,1fr));gap:22px;display:grid}.table-card{text-align:center;flex-direction:column;align-items:center;gap:8px;display:flex}.table-circle{background:#edf3e7;border:2px solid #a8bf97;border-radius:50%;flex-direction:column;justify-content:center;align-items:center;gap:5px;width:138px;height:138px;padding:10px;display:flex}.table-circle strong{overflow-wrap:anywhere;max-width:110px;font-size:16px}.table-circle span{font-size:13px}.over-capacity .table-circle{background:#f8dfd2;border-color:#bc7757}.seat-guest{border-top:1px solid #e6ebdf;justify-content:space-between;align-items:center;gap:18px;padding:16px 23px;display:flex}.seat-guest b{font-size:15px;font-weight:500}.seat-guest small{color:#687762;font-size:13px;display:block}.seat-guest select,.field textarea{color:#304a38;background:#fff;border:1px solid #dce3d7;border-radius:8px;padding:10px;font-size:16px}.field textarea{resize:vertical;width:100%}.planning-suite .form-error:empty{display:none}.nav-item.extra-nav{font-size:14px!important}.suite-record a{margin-top:10px}.page-heading h1{overflow-wrap:anywhere}.main-nav{max-height:none}.form-error{font-size:14px}@media (max-width:760px){.suite-menu{grid-template-columns:1fr}.suite-link{padding:18px}.suite-link small{font-size:13px}.suite-record{flex-wrap:wrap;gap:12px;padding:17px}.suite-record .grow{min-width:170px}.timeline-time{min-width:70px}.seat-guest{flex-wrap:wrap;padding:16px}.seat-guest select{width:100%}.table-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 8px}.table-map{padding:18px 10px}.table-circle{width:120px;height:120px}.seat-summary{gap:12px;padding:16px;font-size:13px}.seat-summary b{font-size:23px}.wedding-app .main-nav .extra-nav{display:none!important}}.ledger{margin-top:24px}.ledger>.local-note{margin:0 20px 15px}.ledger-entry{border-top:1px solid #e6ebdf;justify-content:space-between;gap:15px;padding:18px 23px;display:flex}.ledger-entry small{color:#65735f;margin-top:4px;font-size:13px;display:block}.ledger-entry b{font-size:15px}.ledger-entry strong{white-space:nowrap;color:#246347}.idea-board{background:0 0;border:0;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;padding:18px;display:grid}.idea-board>.toolbar,.idea-board>.empty{grid-column:1/-1;padding:0}.idea-board>.suite-record{background:#fff;border:1px solid #dfe6d8;border-radius:13px;flex-direction:column;gap:12px;padding:0 0 16px;display:flex;overflow:hidden}.idea-board .grow,.idea-board .row-actions{padding:0 16px}.idea-image{color:#67845e;background:#e8efdf;justify-content:center;align-items:center;height:210px;display:flex}.idea-image img{object-fit:cover;width:100%;height:100%}.idea-preview{object-fit:contain;background:#edf2e7;border-radius:8px;width:100%;max-height:200px}.idea-board .suite-record :is(h2,h3){font-size:19px}.guide{background:#fff;border:1px solid #dce5d3;border-radius:12px;margin:18px 0;padding:16px 20px}.guide summary{cursor:pointer;color:#246347;font-weight:500}.guide ol{margin:12px 0;padding-left:20px}.guide li{color:#53664d;margin:9px 0;font-size:14px}.guide a{color:#246347}@media (max-width:1000px){.idea-board{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:560px){.idea-board{grid-template-columns:1fr;padding:0}.idea-image{height:235px}}.wedding-app .nav-item .nav-label-desktop{white-space:normal;text-align:left;line-height:1.35}.menus-note{color:#65735f;padding:15px;font-size:13px}.banquet-lock{background:#f4f7ee;border:1px solid #d7e2cc;border-radius:12px;margin:15px 0;padding:18px}.banquet-lock h4{font-size:18px;font-weight:700}.banquet-lock p{margin:12px 0;font-size:14px;line-height:1.65}.banquet-lock details{margin-top:16px;font-size:13px}.banquet-lock summary{cursor:pointer}.central-metrics{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin:20px 0;display:grid}.central-metrics>button{text-align:left;color:#294b36;background:#fff;border:1px solid #dfe6d8;border-radius:13px;min-width:0;padding:20px}.central-metrics svg{color:#5b8056;width:19px;height:19px;margin-bottom:10px}.central-metrics span,.central-metrics small{color:#64715d;font-size:13px;display:block}.central-metrics strong{overflow-wrap:anywhere;margin:8px 0;font:25px Segoe UI,Arial,sans-serif;display:block}.central-metrics [data-slot=progress]{height:5px;margin-top:12px}.attention-strip{background:#f3e6d9;border-radius:10px;flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:22px;padding:15px 19px;display:flex}.attention-strip>span{letter-spacing:1px;margin-right:5px;font-size:11px}.attention-strip button{background:#fffcf6;border:1px solid #e9d7c7;border-radius:7px;padding:7px 10px;font-size:13px}.attention-strip b{color:#875139}.dashboard-bottom{grid-template-columns:1.4fr 1fr;gap:22px;margin-top:22px;display:grid}.dashboard-event{text-align:left;background:#fff;border:0;border-top:1px solid #e6ebdf;gap:18px;width:100%;padding:17px 23px;display:flex}.dashboard-event>b{color:#246347;font:22px Segoe UI,Arial,sans-serif}.dashboard-event small{color:#66765e;margin-top:4px;font-size:13px;display:block}.readiness h2{margin-bottom:14px}.readiness button{text-align:left;background:#fff;border:0;border-bottom:1px solid #e6ebdf;justify-content:space-between;gap:12px;width:100%;padding:16px 0;font-size:14px;display:flex}.readiness button b{color:#246347}.empty .button{margin:12px auto 0;display:flex}.smart-heading{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:15px;padding:23px;display:flex}.smart-heading h2{margin:0}.smart-heading p{color:#63735d;max-width:570px;margin:8px 0 0;font-size:13px}.smart-controls{flex-wrap:wrap;gap:10px;padding:0 23px 20px;display:flex}.smart-controls input,.smart-controls select{color:#304a38;background:#fff;border:1px solid #dce3d7;border-radius:8px;min-width:0;padding:10px;font-size:14px}.smart-controls input{flex:1;min-width:180px}.task-row small,.payment-due,.payment-due small{font-size:13px}.task-row .badge{font-size:12px}@media (max-width:1150px){.central-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-bottom{grid-template-columns:1fr}}@media (max-width:760px){.central-metrics{gap:10px}.central-metrics>button{padding:14px}.central-metrics strong{font-size:22px}.central-metrics span,.central-metrics small{font-size:12px}.attention-strip{gap:8px;padding:12px}.attention-strip>span{width:100%}.attention-strip button{min-height:40px}.smart-heading,.smart-controls{padding:17px}.smart-heading{padding-bottom:0}.smart-controls select{flex:1}.smart-checklist .row-actions button{font-size:13px}.dashboard-event{padding:17px}.dashboard-event>b{font-size:20px}.central-metrics svg{margin-bottom:7px}}.day-schedule{padding:0 23px 23px}.runsheet-heading{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:15px;margin-bottom:20px;display:flex}.day-group+.day-group{margin-top:22px}.day-group>h3{color:#355b43;background:#edf3e9;border:1px solid #dce6d9;border-radius:9px;justify-content:space-between;align-items:center;gap:12px;margin:0 0 10px;padding:11px 15px;font-size:14px;display:flex}.day-group>h3 span{font-weight:650}.day-group>h3 small{color:#657668;font-size:12px;font-weight:500}.run-event{background:#fff;border:1px solid #e0e7dd;border-radius:10px;grid-template-columns:minmax(100px,.72fr) minmax(260px,2.15fr) minmax(210px,1.7fr) minmax(210px,1.45fr) 44px;align-items:center;gap:18px;min-height:94px;margin-top:8px;padding:15px 14px;transition:border-color .18s,box-shadow .18s,transform .18s;display:grid}.run-event:hover{border-color:#c9d8ca;transform:translateY(-1px);box-shadow:0 8px 22px #264b3510}.run-time{color:#1f6647;white-space:nowrap;grid-template-columns:max-content 18px max-content;justify-content:start;align-items:center;display:grid;position:relative}.run-time b{font:600 22px/1.2 Segoe UI,Arial,sans-serif}.run-time i{background:#98aa9a;width:14px;height:1px;margin:0 2px;position:relative}.run-time i:after{content:"";border-top:1px solid #78907c;border-right:1px solid #78907c;width:5px;height:5px;position:absolute;top:-2px;right:0;transform:rotate(45deg)}.run-time small{color:#486854;font-size:15px;font-weight:600}.run-detail{min-width:0}.run-detail>.badge{margin-bottom:7px;display:inline-flex}.run-detail h4{color:#143f2e;margin:0;font-size:17px;line-height:1.4}.run-detail p{white-space:pre-wrap;color:#617064;margin:7px 0 0;font-size:13px;line-height:1.5}.run-meta{min-width:0}.run-meta>small{color:#738178;letter-spacing:.06em;text-transform:uppercase;margin-bottom:7px;font-size:11px;font-weight:650;display:block}.run-meta>span{color:#405f4b;align-items:flex-start;gap:8px;min-width:0;font-size:13px;line-height:1.5;display:flex}.run-meta svg{color:#63806b;flex:none;margin-top:2px}.run-meta em{color:#68776d;margin-top:3px;font-size:12px;font-style:normal;display:block}.run-contact-line{align-items:flex-start;gap:8px;min-width:0;display:flex}.run-contact-list{flex-wrap:wrap;align-items:baseline;gap:4px 12px;min-width:0;display:flex}.run-contact-list>span{color:#405f4b;white-space:nowrap;align-items:baseline;gap:5px;min-width:0;font-size:13px;line-height:1.4;display:inline-flex}.run-contact-list>span+span:before{content:"·";color:#8b9a8f;margin-right:7px;font-weight:400}.run-contact-list b{color:#31533f;font-size:13px;font-weight:650;display:inline}.run-contact-list em{margin:0;display:inline}.run-event>.row-actions{justify-self:end}.packing-panel{margin-top:24px}.packing-panel .panel-heading p{color:#63765c;margin:6px 0 0;font-size:13px}.packing-row{border-top:1px solid #e6ebdf;align-items:center;gap:12px;padding:16px 23px;display:flex}.packing-row small{color:#63765c;margin-top:5px;font-size:13px;display:block}@media (max-width:1100px){.run-event{grid-template-columns:110px minmax(0,1fr) minmax(0,1fr) 44px;grid-template-areas:"time detail detail actions"".place owner.";align-items:start}.run-time{grid-area:time}.run-detail{grid-area:detail}.run-place{grid-area:place}.run-owner{grid-area:owner}.run-event>.row-actions{grid-area:actions}.run-meta>small{margin-bottom:4px}}@media (max-width:760px){.day-schedule{padding:0 15px 15px}.runsheet-heading{align-items:flex-start}.day-group>h3{flex-direction:column;align-items:flex-start;gap:3px}.run-event{grid-template-columns:1fr 44px;grid-template-areas:"time actions""detail detail""place place""owner owner";gap:13px;padding:16px}.run-time{min-width:0}.run-time b{font-size:20px}.run-time small{font-size:14px}.run-detail h4{font-size:16px}.run-detail>.badge{margin-bottom:6px}.run-place,.run-owner{border-top:1px solid #edf0eb;padding-top:11px}.run-contact-list{gap:7px;display:grid}.run-contact-list>span{white-space:normal}.run-contact-list>span+span:before{display:none}.run-event>.row-actions{align-self:start}.packing-row{padding:15px}}@media (prefers-reduced-motion:reduce){.run-event{transition:none}.run-event:hover{transform:none}}.suite-status{color:#246347;font-size:14px}.suite-status:empty{display:none}.wedding-app .central-metrics{gap:16px;margin:24px 0}.wedding-app .central-metrics>button{background:linear-gradient(145deg,#fff 62%,#f8faf6);border-color:#dce4dc;border-radius:16px;flex-direction:column;align-items:flex-start;gap:8px;padding:22px;transition:background .15s,transform .15s,box-shadow .15s;display:flex;position:relative;overflow:hidden;box-shadow:0 6px 20px #1f44320b}.wedding-app .central-metrics>button:after{content:"";opacity:.52;pointer-events:none;background:#edf4ea;border-radius:50%;width:90px;height:90px;position:absolute;top:-36px;right:-28px}.wedding-app .central-metrics>button:nth-child(2):after{background:#f6eddf}.wedding-app .central-metrics>button:hover{background:#fff;transform:translateY(-2px);box-shadow:0 10px 28px #163e3217}.wedding-app .central-metrics .metric-icon{z-index:1;color:#326848;background:#eaf2e8;border-radius:11px;place-items:center;width:38px;height:38px;margin-bottom:2px;display:grid;position:relative}.wedding-app .central-metrics>button:nth-child(2) .metric-icon{color:#8a6d3e;background:#f4eadb}.wedding-app .central-metrics svg{color:currentColor;width:19px;height:19px;margin:0}.wedding-app .central-metrics span{color:#4f6256;font-size:14px}.wedding-app .central-metrics strong{color:#214e39;font-variant-numeric:tabular-nums;margin:0;font:600 28px/1.25 Segoe UI,Arial,sans-serif;text-decoration:none}.wedding-app .central-metrics small{color:#59695e;font-size:13px;line-height:1.5}.wedding-app .central-metrics [data-slot=progress]{background:#e9eee8;width:100%;height:7px;margin-top:auto}.wedding-app .central-metrics [data-slot=progress-indicator]{background:#246347}.wedding-app .attention-strip{background:linear-gradient(110deg,#fbf3e4,#fffaf2);border:1px solid #e7d5b5;border-left:4px solid #b78542;border-radius:14px;gap:10px;margin:0 0 24px;padding:18px 20px;box-shadow:0 7px 22px #7050230e}.attention-strip h2{color:#604621;flex-basis:100%;align-items:center;gap:10px;margin:0 0 4px;font-size:20px;font-weight:650;display:flex}.wedding-app .attention-strip button{text-align:left;border:1px solid #0000;align-items:center;gap:8px;min-height:44px;padding:10px 14px;font-size:14px;font-weight:500;display:inline-flex}.wedding-app .attention-strip button b{color:inherit;font-size:20px;font-weight:600}.wedding-app .attention-strip button>svg:last-child{opacity:.72;margin-left:auto}.wedding-app .attention-strip button:hover{filter:brightness(.975);box-shadow:0 3px 10px #4d371817}.wedding-app .attention-strip button:focus-visible{outline-offset:2px;outline:2px solid #8b6a34}.wedding-app .attention-strip .status-urgent,.dashboard-actions .status-urgent{color:#84372d;background:#f7e3dd;border-color:#eac2b8}.wedding-app .attention-strip .status-soon,.dashboard-actions .status-soon{color:#6f4d1e;background:#f3e5c9;border-color:#e5cfa0}.wedding-app .attention-strip .status-waiting,.dashboard-actions .status-waiting{color:#624a13;background:#f5e8bd;border-color:#e7d08e}.wedding-app .attention-strip .status-clear{color:#526158;background:#f1f4ef;border-color:#dce4dc;font-size:13px}.wedding-app .attention-strip .status-clear b{font-size:16px;font-weight:500}.wedding-app .dashboard-columns{grid-template-columns:minmax(0,1.65fr) minmax(340px,1fr);grid-template-areas:"priority payment""priority readiness";align-items:stretch;gap:24px;display:grid}.priority-panel{grid-area:priority;min-width:0}.dashboard-payments{grid-area:payment;min-width:0}.readiness{grid-area:readiness;min-width:0}.wedding-app .dashboard-actions h2{font:600 21px/1.3 Segoe UI,Arial,sans-serif}.dashboard-actions .panel-heading{flex-wrap:wrap;padding:24px}.dashboard-actions .text-button{color:#234f39;background:#fff;border:1px solid #d5dfd4;border-radius:8px;min-height:40px;padding:8px 12px;font-weight:500;font-size:14px!important}.dashboard-actions .text-button:hover{background:#f0f5ed}.dashboard-actions .task-row{gap:12px;min-height:78px;padding:14px 24px}.dashboard-actions .task-row:hover{background:#fafbf6}.dashboard-actions .task-row .grow>span{font-size:15px;font-weight:600;line-height:1.5}.dashboard-actions .task-row small{color:#58685d;font-size:13px;line-height:1.5}.dashboard-actions .task-overdue small{color:#903e31}.dashboard-actions .task-soon small{color:#795525}.dashboard-actions .task-row [role=checkbox]{background:#fff;border-color:#8fa28f;min-width:36px;min-height:36px}.dashboard-actions .badge{border:1px solid;border-radius:6px;padding:5px 9px;font-size:12px;font-weight:500}.wedding-app .dashboard-payments{background:#fffefa;border:1px solid #e6e3d9;border-left:4px solid #c5a471;border-radius:14px;padding:20px 22px}.dashboard-payments .eyebrow{letter-spacing:.75px;color:#765f3b;font-size:11.5px}.wedding-app .dashboard-payments h2{margin:6px 0 14px}.dashboard-payments .payment-due{border-color:#eee9dd;align-items:start;gap:12px;padding:16px 0}.dashboard-payments .payment-due>span{overflow-wrap:anywhere;min-width:0;font-size:14px;font-weight:500}.dashboard-payments .payment-due small{color:#5f6b60;margin:6px 0;font-size:13px}.dashboard-payments .payment-due>b{text-align:right;color:#294e3a;white-space:nowrap;font-size:15px;font-weight:600}.dashboard-payments .payment-due .badge{display:inline-block}.wedding-app .dashboard-payments>.button{width:auto;min-height:42px;margin-top:14px}.dashboard-payments>p{color:#59695d;font-size:14px}.dashboard-empty{color:#28583a;background:#f1f7ef;border:1px solid #cfe0cf;border-radius:11px;align-items:center;gap:12px;padding:15px;display:flex}.dashboard-empty>svg{flex:none;width:22px;height:22px}.dashboard-empty>span,.dashboard-empty small{display:block}.dashboard-empty b{font-size:14px;font-weight:600}.dashboard-empty small{color:#59695d;margin-top:3px;font-size:13px}.timeline-panel .panel-heading{align-items:center}.timeline-panel .panel-heading>div{min-width:0}.timeline-panel .panel-heading h2,.readiness-heading h2{margin:6px 0 0}.timeline-panel .eyebrow,.readiness-heading .eyebrow{color:#775f39;letter-spacing:1px;font-size:11px}.dashboard-timeline-wide{margin-top:24px}.dashboard-timeline-list{border-top:1px solid #e6ebdf;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));display:grid}.dashboard-timeline-list>.dashboard-event,.timeline-add-card{min-height:112px;border-top:0!important;border-right:1px solid #e6ebdf!important}.dashboard-timeline-list>:last-child{border-right:0!important}.dashboard-timeline-list>.empty{grid-column:1/-1}.wedding-app .dashboard-event{align-items:center;gap:14px;padding:18px 22px;position:relative}.dashboard-event .event-icon{color:#3c704f;background:#edf3e9;border-radius:50%;flex:0 0 36px;place-items:center;width:36px;height:36px;display:grid}.dashboard-event .event-icon svg{width:17px;height:17px}.dashboard-event>b{font-variant-numeric:tabular-nums;min-width:58px;font-size:20px!important}.dashboard-event>span:last-child{min-width:0;font-weight:600;line-height:1.45}.dashboard-event>span:last-child small{color:#59695d;font-weight:400}.timeline-add-card{color:#294e3a;text-align:left;background:#fbfcf8;align-items:center;gap:14px;padding:18px 22px;display:flex}.timeline-add-card:hover{background:#f3f7ef}.timeline-add-card>span:nth-child(2){flex:1;min-width:0}.timeline-add-card b,.timeline-add-card small{display:block}.timeline-add-card b{font-size:14px;font-weight:600}.timeline-add-card small{color:#59695d;margin-top:4px;font-size:13px;line-height:1.45}.timeline-add-card>svg{flex:none}.timeline-add-icon{color:#876a39;background:#f4eadb;border-radius:50%;flex:0 0 36px;place-items:center;width:36px;height:36px;display:grid}.timeline-add-icon svg{width:17px;height:17px}.readiness{padding:0 20px 2px!important}.readiness-heading{padding:18px 0 6px}.readiness .readiness-label{align-items:center;gap:10px;min-width:0;display:flex}.readiness-label svg{color:#54745d;flex:none;width:18px;height:18px}.readiness button{border-radius:9px;margin:0 -8px;padding:12px 8px!important}.readiness button:hover{background:#f4f7f1}.readiness button:hover .readiness-label{color:#184e36}.readiness button b{white-space:nowrap;color:#20543a;font-size:14px;font-weight:600}@media (max-width:1100px){.wedding-app .dashboard-columns{flex-direction:column;align-items:stretch;display:flex}.priority-panel,.dashboard-payments,.timeline-panel,.readiness{width:100%}.priority-panel{order:1}.dashboard-payments{order:2}.readiness{order:3}.wedding-app .central-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:600px){.wedding-app .central-metrics{grid-template-columns:1fr}.wedding-app .central-metrics>button{padding:20px}.wedding-app .central-metrics>button:hover{transform:none}.wedding-app .attention-strip{padding:18px 16px}.wedding-app .attention-strip button{width:100%}.dashboard-columns .panel-heading,.dashboard-columns .task-row,.dashboard-timeline-wide .panel-heading,.wedding-app .dashboard-payments{padding:20px 16px}.dashboard-columns .task-row .grow{flex-basis:calc(100% - 60px);min-width:0}.dashboard-columns .task-row [role=checkbox]{min-width:40px;min-height:40px}.dashboard-columns .task-row>.badge{margin-left:52px}.dashboard-payments .payment-due{flex-wrap:wrap}.dashboard-payments .payment-due>b{margin-left:auto}.dashboard-timeline-list{grid-template-columns:1fr}.dashboard-timeline-list>.dashboard-event,.timeline-add-card{border-bottom:1px solid #e6ebdf!important;border-right:0!important}.dashboard-timeline-list>:last-child{border-bottom:0!important}.wedding-app .dashboard-event{align-items:flex-start;gap:10px;padding:17px 16px}.dashboard-event .event-icon{display:none}.dashboard-event>b{min-width:52px;font-size:18px!important}.timeline-add-card{padding:17px 16px}.readiness{padding-inline:16px!important}.readiness button{flex-wrap:wrap;align-items:flex-start}.readiness button b{white-space:normal;text-align:left;margin-left:28px}}@media (prefers-reduced-motion:reduce){.wedding-app .central-metrics>button{transition:none}.wedding-app .central-metrics>button:hover{transform:none}}.smart-calendar-page{gap:18px;display:grid}.smart-calendar-summary{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;display:grid}.smart-calendar-summary>div{background:#fff;border:1px solid #dfe6d9;border-radius:13px;align-items:center;gap:13px;padding:18px 20px;display:flex}.smart-calendar-summary svg{color:#32704e;width:22px;height:22px}.smart-calendar-summary span{align-items:baseline;gap:8px;min-width:0;display:flex}.smart-calendar-summary b{color:#174d35;font-size:24px}.smart-calendar-summary small{color:#647267;font-size:13px}.smart-calendar-summary .has-alert{background:#fff8ed;border-color:#ebd4a8}.smart-calendar-summary .has-alert svg,.smart-calendar-summary .has-alert b{color:#9a5c18}.smart-calendar-guide{background:#f8fbf5;border:1px solid #d9e3d7;border-radius:12px;padding:0 18px}.smart-calendar-guide summary{cursor:pointer;color:#205a3d;padding:15px 0;font-weight:650}.smart-calendar-guide ol{margin:0 0 10px;padding-left:22px}.smart-calendar-guide li,.smart-calendar-guide p{color:#536459;margin:8px 0;font-size:14px;line-height:1.55}.smart-calendar-guide p{border-top:1px solid #dfe7da;padding:12px 0 14px}.smart-calendar-panel{overflow:hidden}.calendar-toolbar{border-bottom:1px solid #e3e8df;justify-content:space-between;align-items:center;gap:16px;padding:20px 22px;display:flex}.calendar-period,.calendar-view-switch{align-items:center;gap:8px;display:flex}.calendar-period h2{text-align:center;min-width:164px;margin:0;font:600 20px/1.3 Segoe UI,Arial,sans-serif}.calendar-period button,.calendar-view-switch button{color:#28543e;background:#fff;border:1px solid #d5dfd4;border-radius:8px;place-items:center;min-width:40px;min-height:40px;padding:8px 12px;display:grid}.calendar-period svg{width:18px}.calendar-period .calendar-today{margin-left:4px;display:block}.calendar-view-switch{background:#f4f7f1;border:1px solid #d8e1d6;border-radius:10px;padding:3px}.calendar-view-switch button{background:0 0;border:0;min-height:34px}.calendar-view-switch button[aria-pressed=true]{color:#fff;background:#1d6244;box-shadow:0 1px 3px #174d3526}.calendar-filters{background:#fffefa;border-bottom:1px solid #e3e8df;flex-wrap:wrap;align-items:center;gap:8px;padding:14px 22px;display:flex}.calendar-filters>button{color:#365744;background:#fff;border:1px solid #d7e0d5;border-radius:18px;min-height:36px;padding:7px 11px;font-size:13px}.calendar-filters>button b{margin-left:4px}.calendar-filters>button[aria-pressed=true]{font-weight:650;box-shadow:inset 0 0 0 1px}.calendar-filters .source-task[aria-pressed=true]{color:#23633e;background:#e8f2e8}.calendar-filters .source-payment[aria-pressed=true]{color:#865e22;background:#f8edda}.calendar-filters .source-ceremony[aria-pressed=true]{color:#8b4941;background:#f9e8e5}.calendar-filters .source-timeline[aria-pressed=true]{color:#316674;background:#e6f0f2}.calendar-filters .source-after[aria-pressed=true]{color:#65537b;background:#eeeaf5}.calendar-filters label{color:#536459;align-items:center;gap:8px;margin-left:auto;font-size:13px;display:flex}.calendar-filters select{color:#294b36;background:#fff;border:1px solid #d7e0d5;border-radius:8px;min-height:36px;padding:6px 30px 6px 10px}.calendar-filters .calendar-check{white-space:nowrap;margin-left:0}.calendar-check input{accent-color:#246347;width:17px;height:17px}.calendar-filters .reset-calendar{border-radius:8px;align-items:center;gap:6px;display:flex}.reset-calendar svg{width:15px}.calendar-weekdays,.calendar-month-grid{grid-template-columns:repeat(7,minmax(0,1fr));display:grid}.calendar-weekdays span{text-align:center;color:#65736a;border-bottom:1px solid #dfe5dc;padding:11px 8px;font-size:12px;font-weight:650}.calendar-month-grid{background:#e2e7df;gap:1px}.calendar-day{background:#fff;min-width:0;min-height:126px;padding:9px 8px}.calendar-day.is-outside{background:#f7f8f4}.calendar-date{justify-content:space-between;align-items:center;gap:5px;margin-bottom:7px;display:flex}.calendar-date time{border-radius:50%;place-items:center;width:28px;height:28px;font-size:13px;font-weight:650;display:grid}.calendar-date span{color:#31704e;font-size:10px}.calendar-day.is-today .calendar-date time{color:#fff;background:#246347}.calendar-day-items{gap:5px;display:grid}.calendar-event{text-align:left;color:#294b36;border:0;border-radius:6px;align-items:flex-start;gap:6px;width:100%;min-width:0;padding:6px 7px;display:flex}.calendar-event svg{flex:none;width:14px;height:14px;margin-top:1px}.calendar-event span{min-width:0}.calendar-event b{text-overflow:ellipsis;white-space:nowrap;font-size:11px;font-weight:600;display:block;overflow:hidden}.calendar-event small{color:#66746b;margin-top:3px;font-size:12px;line-height:1.4;display:block}.calendar-event.source-task{background:#eaf3e8}.calendar-event.source-payment{color:#75501d;background:#f8ecd7}.calendar-event.source-ceremony{color:#82483f;background:#f8e8e5}.calendar-event.source-timeline{color:#315f69;background:#e5eff1}.calendar-event.source-after{color:#625475;background:#eeeaf4}.calendar-event.is-done{opacity:.58}.calendar-event.is-done b{text-decoration:line-through}.calendar-more{color:#31664a;background:0 0;border:0;margin-top:5px;font-size:11px}.calendar-list-view{padding:6px 22px 20px;display:none}.calendar-agenda-day{border-bottom:1px solid #e4e9e0;padding:14px 0}.calendar-agenda-day>header{justify-content:space-between;gap:12px;margin-bottom:9px;display:flex}.calendar-agenda-day time b,.calendar-agenda-day time span{display:block}.calendar-agenda-day time b{text-transform:capitalize}.calendar-agenda-day time span,.calendar-agenda-day>header>span{color:#65736a;margin-top:3px;font-size:12px}.calendar-agenda-day .calendar-event{margin-top:7px;padding:11px 12px}.calendar-agenda-day .calendar-event b{white-space:normal;font-size:14px}.calendar-agenda-day .calendar-event svg{width:17px;height:17px}.calendar-month-empty{padding:26px;display:none}.calendar-empty{text-align:left;color:#536459;justify-content:center;align-items:flex-start;gap:14px;padding:26px;display:flex}.calendar-empty>svg{color:#76907a;width:32px;height:32px}.calendar-empty b{color:#294b36}.calendar-empty p{margin:5px 0 12px;font-size:14px}.smart-calendar-page[data-view=list] .calendar-month-view{display:none}.smart-calendar-page[data-view=list] .calendar-list-view,.smart-calendar-page[data-view=month] .calendar-month-view{display:block}.smart-calendar-page[data-view=month] .calendar-list-view{display:none}.smart-calendar-page[data-view=month] .calendar-month-empty:has(.calendar-empty){display:block}.smart-calendar-page[data-view=month] .calendar-month-view:not(:has(.calendar-event))+.calendar-list-view+.calendar-month-empty{display:block}@media (max-width:900px){.calendar-filters label{margin-left:0}.smart-calendar-summary span{display:block}.smart-calendar-summary small{margin-top:3px;display:block}}@media (max-width:760px){.smart-calendar-summary{grid-template-columns:1fr}.smart-calendar-summary>div{padding:15px 17px}.smart-calendar-summary span{display:flex}.smart-calendar-guide{padding:0 15px}.calendar-toolbar{flex-direction:column;align-items:flex-start;padding:17px 16px}.calendar-period{flex-wrap:wrap;width:100%}.calendar-period h2{flex:1;min-width:130px}.calendar-period .calendar-today{width:100%;margin:2px 0 0}.calendar-view-switch{width:100%}.calendar-view-switch button{flex:1}.calendar-filters{flex-wrap:nowrap;padding:13px 16px;overflow-x:auto}.calendar-filters>button,.calendar-filters label{flex:none}.calendar-list-view{padding:4px 16px 17px}.smart-calendar-page[data-view=month] .calendar-month-view{overflow-x:auto}.calendar-weekdays,.calendar-month-grid{min-width:720px}.calendar-day{min-height:116px}.calendar-month-empty{padding:14px}.calendar-empty{padding:22px 8px}.calendar-agenda-day .calendar-event{padding:12px}.calendar-agenda-day .calendar-event small{font-size:12px}}
