:root{--wine: #e31843;--wine-dark: #a80f31;--wine-soft: #f07291;--gold: #df496b;--gold-light: #ffc1d0;--ink: #49343b;--muted: #8c6d77;--paper: #fff6f9;--paper-deep: #ffe5ed;--ivory: #fffdfd;--line: rgba(227, 24, 67, .14);--sidebar: 236px;--serif: "Newsreader", "Noto Serif SC", "Songti SC", serif;--cn-serif: "Noto Serif SC", "Songti SC", serif;--sans: "M PLUS Rounded 1c", "PingFang SC", "Microsoft YaHei", sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;min-width:320px;color:var(--ink);background:var(--paper);font-family:var(--sans);-webkit-font-smoothing:antialiased}button,input,textarea,select{font:inherit}button{color:inherit}button,label,input[type=checkbox]{-webkit-tap-highlight-color:transparent}.paper-grain{position:fixed;inset:0;opacity:.28;pointer-events:none;z-index:1000;mix-blend-mode:multiply;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 160 160' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.95' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.08'/%3E%3C/svg%3E")}.sidebar{position:fixed;inset:0 auto 0 0;width:var(--sidebar);padding:34px 25px 24px;color:#f3e8d7;background:var(--wine-dark);display:flex;flex-direction:column;z-index:50;overflow:hidden}.sidebar:before,.sidebar:after{content:"";position:absolute;border:1px solid rgba(221,194,140,.2);border-radius:50%;pointer-events:none}.sidebar:before{width:330px;height:330px;left:-210px;top:-110px}.sidebar:after{width:220px;height:220px;right:-170px;bottom:60px}.brand{position:relative;z-index:1;border:0;padding:0;background:transparent;color:inherit;display:flex;align-items:center;gap:13px;text-align:left;cursor:pointer}.brand .seal{width:42px;height:42px;display:grid;place-items:center;border:1px solid var(--gold-light);color:var(--gold-light);font-family:var(--cn-serif);font-size:22px;transform:rotate(2deg)}.brand b{display:block;font:500 17px/1.2 var(--cn-serif);letter-spacing:.16em}.brand small{display:block;margin-top:4px;color:#f3e8d785;font:500 8px/1 var(--sans);letter-spacing:.16em;text-transform:uppercase}.desktop-nav{position:relative;z-index:1;display:grid;gap:5px;margin-top:53px}.nav-link{position:relative;height:45px;padding:0 12px;border:0;background:transparent;color:#fff6e88c;display:flex;align-items:center;gap:13px;cursor:pointer;transition:.25s ease}.nav-link span{font-size:13px;letter-spacing:.12em}.nav-link em{position:absolute;width:2px;height:0;right:-25px;background:var(--gold-light);transition:.25s ease}.nav-link:hover,.nav-link.active{color:#fff8ec}.nav-link.active{background:linear-gradient(90deg,rgba(255,255,255,.09),transparent)}.nav-link.active em{height:24px}.sidebar-note{position:relative;z-index:1;margin-top:auto;padding:21px 2px 20px;border-top:1px solid rgba(255,255,255,.12);border-bottom:1px solid rgba(255,255,255,.12)}.sidebar-note span{color:var(--gold-light);font-size:8px;letter-spacing:.28em}.sidebar-note p{margin:10px 0 0;font:400 13px/1.9 var(--cn-serif);color:#fff8ecad;letter-spacing:.08em}.sidebar-tools{position:relative;z-index:1;display:flex;gap:10px;margin-top:19px}.sidebar-tools button{border:0;background:transparent;color:#ffffff85;font-size:10px;display:flex;align-items:center;gap:5px;cursor:pointer;padding:5px 0}.sidebar-tools button:hover{color:#fff}.main-shell{min-height:100vh;margin-left:var(--sidebar)}.topbar{height:72px;padding:0 clamp(26px,4vw,68px);display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.breadcrumb{display:flex;align-items:center;gap:10px;font-size:9px;letter-spacing:.2em;color:var(--muted)}.breadcrumb b{color:var(--gold);font-weight:400}.breadcrumb strong{font:500 12px var(--cn-serif);color:var(--ink);letter-spacing:.12em}.topbar-actions{display:flex;align-items:center;gap:17px}.round-button,.icon-button{border:1px solid var(--line);background:#ffffff47;display:grid;place-items:center;cursor:pointer;transition:.2s}.round-button{width:38px;height:38px;border-radius:50%;color:var(--wine)}.round-button:hover,.icon-button:hover{background:var(--wine);color:#fff;border-color:var(--wine)}.avatar-pair{display:flex;padding-left:9px}.avatar-pair span{width:34px;height:34px;margin-left:-9px;border-radius:50%;border:2px solid var(--paper);display:grid;place-items:center;background:var(--wine);color:var(--ivory);font:500 11px var(--cn-serif)}.avatar-pair span:last-child{color:var(--wine);background:var(--gold-light)}.page{width:min(1460px,100%);margin:0 auto;padding:clamp(28px,4vw,62px) clamp(22px,4vw,68px) 80px}.mobile-nav{display:none}.hero-panel{min-height:352px;position:relative;overflow:hidden;display:grid;grid-template-columns:1.6fr .8fr;align-items:stretch;background:var(--wine);color:var(--ivory);box-shadow:0 22px 60px #491b1d2b}.hero-panel:before{content:"";position:absolute;inset:10px;border:1px solid rgba(231,205,154,.28);pointer-events:none}.hero-panel:after{content:"";position:absolute;width:470px;height:470px;left:41%;top:-360px;border:1px solid rgba(221,194,140,.2);border-radius:50%}.hero-copy{position:relative;z-index:2;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;padding:55px 32px}.hero-index{color:var(--gold-light);font-size:8px;font-weight:600;letter-spacing:.35em}.hero-monogram{height:70px;margin-top:17px;display:flex;justify-content:center;align-items:center;gap:9px;font:400 61px/1 var(--serif);letter-spacing:-.06em}.hero-monogram i{font:italic 24px var(--serif);color:var(--gold-light);transform:translateY(7px)}.hero-copy h1{margin:8px 0 3px;font:400 clamp(23px,3vw,35px)/1.2 var(--cn-serif);letter-spacing:.32em;text-indent:.32em}.hero-copy h1 em{margin:0 4px;color:var(--gold-light);font-size:.56em;font-style:normal}.hero-copy>p{margin:6px 0 0;color:#fff8ed8f;font:400 11px var(--serif);letter-spacing:.16em;text-transform:uppercase}.hero-rule{width:210px;margin-top:26px;display:flex;align-items:center;gap:12px}.hero-rule span{height:1px;flex:1;background:#ddc28c73}.hero-rule b{color:var(--gold-light);font:400 9px var(--cn-serif);letter-spacing:.25em}.hero-countdown{position:relative;overflow:hidden;background:#eadcc6;color:var(--wine-dark);display:flex;flex-direction:column;align-items:center;justify-content:center;padding:34px 24px}.hero-countdown>span{display:flex;align-items:center;gap:7px;color:var(--gold);font-size:8px;font-weight:700;letter-spacing:.25em}.hero-countdown strong{position:relative;z-index:1;font:400 clamp(72px,8vw,112px)/.9 var(--serif);letter-spacing:-.06em;margin-top:19px}.hero-countdown p{margin:15px 0 0;font:500 13px var(--cn-serif);letter-spacing:.18em}.hero-countdown time{margin-top:7px;color:var(--muted);font-size:9px;letter-spacing:.1em}.orbit{position:absolute;border:1px solid rgba(115,31,44,.13);border-radius:50%}.orbit-one{width:230px;height:230px}.orbit-two{width:290px;height:290px;border-style:dashed;animation:spin 40s linear infinite}.botanical{position:absolute;z-index:1;color:#ddc28c38;font:400 150px/1 var(--serif)}.botanical-left{left:-18px;bottom:-45px;transform:rotate(-22deg)}.botanical-right{left:52%;top:-54px;transform:rotate(145deg)}.stat-grid{display:grid;grid-template-columns:repeat(4,1fr);background:var(--ivory);border:1px solid var(--line);border-top:0}.stat-card{min-height:148px;padding:24px 25px;border-right:1px solid var(--line)}.stat-card:last-child{border-right:0}.stat-card .stat-top{display:flex;align-items:center;justify-content:space-between;color:var(--muted);font-size:10px;letter-spacing:.1em}.stat-card strong{display:block;margin-top:17px;font:400 37px/1 var(--serif)}.stat-card strong small{margin-left:3px;font:500 12px var(--cn-serif)}.stat-card>p{margin:9px 0 0;color:var(--muted);font-size:9px}.stat-card h3{min-height:44px;margin:18px 0 0;font:500 17px/1.45 var(--cn-serif);letter-spacing:.06em}.stat-card.accent{color:var(--ivory);background:var(--wine-dark)}.stat-card.accent .stat-top,.stat-card.accent>p{color:#ffffff80}.progress-line{height:2px;margin-top:17px;background:var(--paper-deep)}.progress-line i{display:block;height:100%;background:var(--wine)}.dashboard-grid{margin-top:27px;display:grid;grid-template-columns:1.5fr 1fr;gap:27px}.journal-card{background:#fbf8f1c7;border:1px solid var(--line)}.tasks-card,.milestones-card{min-height:390px;padding:29px 30px}.card-heading{display:flex;justify-content:space-between;align-items:center}.card-heading span{color:var(--gold);font-size:8px;font-weight:700;letter-spacing:.25em}.card-heading h2{margin:5px 0 0;font:500 19px var(--cn-serif);letter-spacing:.09em}.card-heading>button{border:0;background:transparent;color:var(--muted);font-size:9px;display:flex;align-items:center;gap:5px;cursor:pointer}.priority-list{margin-top:19px}.priority-item{min-height:70px;border-top:1px solid var(--line);display:grid;grid-template-columns:auto 1fr auto;gap:14px;align-items:center;cursor:pointer}.priority-item input{position:absolute;opacity:0}.custom-check{width:19px;height:19px;border:1px solid rgba(115,31,44,.35);position:relative}.priority-item input:checked+.custom-check{background:var(--wine)}.priority-copy b{display:block;font:500 13px var(--cn-serif);letter-spacing:.03em}.priority-copy small{display:block;margin-top:6px;color:var(--muted);font-size:9px}.priority-item>em{color:var(--gold);font-size:9px;font-style:normal}.priority-item>em.overdue{color:var(--wine-soft)}.milestone-list{margin-top:25px}.milestone{position:relative;display:grid;grid-template-columns:35px 1fr;gap:12px;min-height:66px}.milestone:before{content:"";position:absolute;left:15px;top:31px;bottom:0;width:1px;background:var(--line)}.milestone:last-child:before{display:none}.milestone>i{width:31px;height:31px;border:1px solid var(--gold-light);border-radius:50%;display:grid;place-items:center;color:var(--gold);background:var(--ivory);font:normal 9px var(--serif);z-index:1}.milestone.past>i{background:var(--wine);color:#fff;border-color:var(--wine)}.milestone b{display:block;margin-top:1px;font:500 13px var(--cn-serif)}.milestone small{display:block;margin-top:5px;color:var(--muted);font-size:9px}.vow-card{margin:27px 0 0;min-height:134px;padding:31px clamp(28px,5vw,68px);background:#e9dfcf;border:0;display:grid;grid-template-columns:auto 1fr auto;gap:24px;align-items:center}.vow-card>span{color:var(--wine);font:400 74px/.5 var(--serif);opacity:.5}.vow-card p{margin:0;font:400 13px/2 var(--cn-serif);letter-spacing:.04em}.vow-card cite{color:var(--gold);font:normal 8px var(--sans);letter-spacing:.18em;white-space:nowrap}.page-heading{display:flex;justify-content:space-between;align-items:end;margin-bottom:34px}.eyebrow{color:var(--gold);font-size:8px;font-weight:700;letter-spacing:.28em}.page-heading h1{margin:8px 0 0;font:500 clamp(29px,4vw,43px)/1.15 var(--cn-serif);letter-spacing:.08em}.page-heading p{margin:10px 0 0;color:var(--muted);font:400 12px var(--cn-serif);letter-spacing:.04em}.primary-button{min-height:40px;padding:0 17px;border:1px solid var(--wine);background:var(--wine);color:#fff;display:inline-flex;align-items:center;justify-content:center;gap:8px;font-size:11px;letter-spacing:.06em;cursor:pointer;transition:.2s}.primary-button:hover{background:var(--wine-dark);transform:translateY(-1px)}.text-button{min-height:38px;padding:0 12px;border:0;background:transparent;color:var(--muted);display:inline-flex;align-items:center;gap:7px;cursor:pointer;font-size:11px}.text-button.danger{color:var(--wine-soft)}.section-toolbar{min-height:51px;margin-bottom:19px;padding:0 17px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between}.section-toolbar>span{color:var(--muted);font-size:9px}.segmented{display:flex;gap:4px}.segmented button{padding:7px 12px;border:0;background:transparent;color:var(--muted);font-size:10px;cursor:pointer}.segmented button.active{color:#fff;background:var(--wine)}.phase-list{display:grid;gap:21px}.phase-card{background:var(--ivory);border:1px solid var(--line)}.phase-card>header{min-height:92px;padding:19px 24px;display:grid;grid-template-columns:auto 1fr auto;gap:18px;align-items:center;background:#eae0d0;border-bottom:1px solid var(--line)}.phase-number{color:var(--wine);font:400 32px var(--serif)}.phase-card header span{color:var(--gold);font-size:8px;letter-spacing:.2em}.phase-card header h2{margin:5px 0 0;font:500 17px var(--cn-serif);letter-spacing:.07em}.phase-progress{display:flex;align-items:center;gap:10px}.phase-progress b{font:400 12px var(--serif)}.phase-progress>span{width:78px;height:2px;background:#731f2c1f}.phase-progress i{display:block;height:100%;background:var(--wine)}.phase-tasks{padding:0 24px}.task-row{min-height:74px;border-bottom:1px solid var(--line);display:grid;grid-template-columns:auto 1fr auto auto;gap:14px;align-items:center}.task-row:last-child{border-bottom:0}.task-row.done{opacity:.52}.task-row.done .task-main b{text-decoration:line-through}.task-check{width:20px;height:20px;padding:0;border:1px solid rgba(115,31,44,.4);background:transparent;display:grid;place-items:center;color:#fff;cursor:pointer}.task-row.done .task-check{background:var(--wine)}.task-main{border:0;padding:11px 0;background:transparent;text-align:left;cursor:pointer}.task-main b{display:block;font:500 13px var(--cn-serif);letter-spacing:.03em}.task-main small{display:block;margin-top:6px;color:var(--muted);font-size:9px}.task-date{min-width:72px;text-align:right}.task-date span{display:block;font-size:10px}.task-date small{display:block;margin-top:4px;color:var(--gold);font-size:8px}.task-date.late small{color:var(--wine-soft)}.icon-button{width:31px;height:31px}.danger-on-hover{opacity:0}.task-row:hover .danger-on-hover{opacity:1}.empty-state{padding:45px 20px;text-align:center;color:var(--muted);font:400 13px var(--cn-serif)}.empty-state.small{padding:25px}.budget-hero{min-height:210px;padding:32px 38px;display:grid;grid-template-columns:1.2fr auto 1fr;align-items:center;gap:clamp(28px,5vw,72px);background:var(--wine-dark);color:#fff}.budget-hero span{color:#ffffff8c;font-size:9px;letter-spacing:.12em}.budget-hero strong{display:block;margin-top:12px;font:400 50px/1 var(--serif)}.budget-hero strong small{font:400 12px var(--cn-serif)}.budget-hero p{margin:12px 0 0;color:#ffffff73;font-size:9px}.budget-ring{width:128px;height:128px;padding:7px;border-radius:50%;background:conic-gradient(var(--gold-light) var(--used),rgba(255,255,255,.1) 0)}.budget-ring:before{content:"";display:block;width:100%;height:100%;border-radius:50%;background:var(--wine-dark)}.budget-ring>span{position:absolute;width:114px;height:114px;margin:-114px 0 0;display:grid;place-content:center;text-align:center}.budget-ring b{display:block;font:400 25px var(--serif);color:#fff}.budget-ring small{display:block;margin-top:3px;color:#ffffff73;font-size:8px}.budget-balance{border-left:1px solid rgba(255,255,255,.14);padding-left:32px}.budget-balance strong{font-size:29px}.budget-balance small{display:block;margin-top:9px;color:var(--gold-light);font-size:9px}.budget-columns{display:grid;grid-template-columns:1.4fr 1fr;gap:24px;margin-top:24px;align-items:start}.budget-table{padding:26px 27px 8px}.budget-table .card-heading>b{color:var(--wine);font:400 21px var(--serif)}.budget-rows{margin-top:19px}.budget-row{min-height:76px;border-top:1px solid var(--line);display:grid;grid-template-columns:auto 1fr 52px 86px;gap:13px;align-items:center}.budget-row.paid{opacity:.55}.paid-check input{position:absolute;opacity:0}.paid-check>span{width:18px;height:18px;border:1px solid rgba(115,31,44,.35);display:grid;place-items:center;color:transparent;cursor:pointer}.paid-check input:checked+span{color:#fff;background:var(--wine)}.budget-name{border:0;background:transparent;text-align:left;cursor:pointer;overflow:hidden}.budget-name b{display:block;font:500 12px var(--cn-serif);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.budget-name small{display:block;margin-top:5px;color:var(--muted);font-size:8px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.money-cell span,.actual-input span{display:block;color:var(--muted);font-size:7px}.money-cell b{display:block;margin-top:5px;font:400 15px var(--serif)}.actual-input input{width:75px;margin-top:4px;padding:4px 0;border:0;border-bottom:1px solid var(--line);outline:0;background:transparent;color:var(--wine);font:500 12px var(--sans)}.summary-strip{min-height:75px;padding:0 25px;margin-bottom:22px;display:flex;align-items:center;gap:clamp(30px,7vw,90px);background:var(--wine-dark);color:#fff}.summary-strip span{color:#ffffff80;font-size:9px;letter-spacing:.08em}.summary-strip b{color:var(--gold-light);margin-right:5px;font:400 26px var(--serif)}.vendor-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:19px}.vendor-card{min-height:245px;padding:24px;border:1px solid var(--line);background:var(--ivory);display:flex;flex-direction:column;transition:.3s ease}.vendor-card:hover{transform:translateY(-4px);box-shadow:0 18px 40px #45231b1a}.vendor-card header{display:flex;justify-content:space-between;align-items:center}.vendor-card header>span{color:var(--gold);font-size:8px;font-weight:700;letter-spacing:.17em}.status{display:inline-block;padding:5px 8px;background:#eee3d4;color:var(--muted);font-style:normal;font-size:8px}.status.confirmed{color:var(--wine);background:#ead7d5}.vendor-card h2{margin:30px 0 0;font:500 17px/1.5 var(--cn-serif);letter-spacing:.04em}.vendor-card p{margin:11px 0 0;color:var(--muted);font-size:9px;line-height:1.7}.vendor-card footer{margin-top:auto;padding-top:19px;border-top:1px solid var(--line);display:flex;align-items:end;justify-content:space-between}.vendor-card footer small{display:block;color:var(--muted);font-size:7px}.vendor-card footer b{display:block;margin-top:5px;font:400 17px var(--serif)}.vendor-card footer button{width:34px;height:34px;border:1px solid var(--line);background:transparent;display:grid;place-items:center;cursor:pointer}.guest-summary{min-height:90px;padding:15px 22px;margin-bottom:22px;border:1px solid var(--line);background:#e9dfcf;display:grid;grid-template-columns:repeat(3,120px) 1fr;gap:18px;align-items:center}.guest-summary>div{border-right:1px solid var(--line)}.guest-summary span{display:block;color:var(--muted);font-size:8px}.guest-summary b{display:block;margin-top:5px;font:400 28px var(--serif)}.guest-summary label{height:42px;padding:0 14px;background:#ffffff80;display:flex;align-items:center;gap:9px;color:var(--muted)}.guest-summary input{width:100%;border:0;outline:0;background:transparent;font-size:10px}.guest-table-wrap{padding:8px 25px}.guest-row{width:100%;min-height:63px;padding:0;border:0;border-bottom:1px solid var(--line);background:transparent;display:grid;grid-template-columns:1.4fr 1fr .7fr .65fr 25px;gap:12px;align-items:center;text-align:left;color:var(--muted);font-size:10px;cursor:pointer}.guest-row:not(.guest-head):hover{background:#eae0d066}.guest-row:last-child{border-bottom:0}.guest-head{min-height:44px;color:var(--gold);font-size:7px;font-weight:700;letter-spacing:.14em;cursor:default}.guest-name{display:flex;align-items:center;gap:12px}.guest-name i{width:31px;height:31px;border-radius:50%;display:grid;place-items:center;color:var(--wine);background:#ead7d5;font:normal 11px var(--cn-serif)}.guest-name b{color:var(--ink);font:500 12px var(--cn-serif)}.day-intro{min-height:176px;padding:30px 42px;background:var(--wine-dark);color:#fff;display:grid;grid-template-columns:1fr 1.5fr auto;align-items:center;gap:30px}.day-intro>div:first-child span{display:block;color:var(--gold-light);font:400 42px var(--serif)}.day-intro>div:first-child small{display:block;margin-top:7px;color:#ffffff80;font-size:9px;letter-spacing:.12em}.day-intro blockquote{margin:0;padding-left:35px;border-left:1px solid rgba(255,255,255,.16);font:400 18px/1.8 var(--cn-serif);letter-spacing:.12em}.day-seal{width:55px;height:55px;border:1px solid var(--gold-light);display:grid;place-content:center;text-align:center;color:var(--gold-light);font:400 13px/1.35 var(--cn-serif)}.schedule-list{margin-top:36px}.schedule-item{min-height:130px;display:grid;grid-template-columns:82px 35px 1fr auto;gap:20px;align-items:start}.schedule-item>time{padding-top:23px;color:var(--wine);font:400 24px var(--serif)}.schedule-line{position:relative;height:100%;display:flex;justify-content:center}.schedule-line:before{content:"";position:absolute;top:34px;bottom:0;width:1px;background:var(--line)}.schedule-item:last-child .schedule-line:before{display:none}.schedule-line i{width:11px;height:11px;margin-top:31px;border-radius:50%;background:var(--paper);border:2px solid var(--gold);z-index:1}.schedule-copy{width:100%;padding:20px 22px 24px;border:0;border-bottom:1px solid var(--line);background:transparent;text-align:left;cursor:pointer}.schedule-copy span{color:var(--gold);font:400 8px var(--serif);letter-spacing:.15em}.schedule-copy h2{margin:5px 0 0;font:500 17px var(--cn-serif);letter-spacing:.07em}.schedule-copy p{margin:9px 0 0;color:var(--muted);font-size:10px;line-height:1.8}.schedule-check{margin-top:26px;width:35px;height:35px;border:1px solid var(--line);border-radius:50%;background:transparent;color:var(--wine);display:grid;place-items:center;cursor:pointer}.schedule-item.done{opacity:.5}.schedule-item.done .schedule-copy h2{text-decoration:line-through}.settings-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px}.form-section{padding:28px 29px 30px}.wide-section,.settings-actions{grid-column:1 / -1}.field-grid,.dialog-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:24px}.field-grid label,.dialog-grid label{color:var(--muted);font-size:9px;letter-spacing:.05em}.field-grid label.wide,.dialog-grid label.wide{grid-column:1 / -1}.field-grid input,.field-grid textarea,.dialog-grid input,.dialog-grid textarea,.dialog-grid select{width:100%;min-height:42px;margin-top:7px;padding:9px 11px;border:1px solid var(--line);outline:0;background:#ffffff6b;color:var(--ink);font-size:11px;transition:.2s}.field-grid textarea,.dialog-grid textarea{resize:vertical;line-height:1.7}.field-grid input:focus,.field-grid textarea:focus,.dialog-grid input:focus,.dialog-grid textarea:focus,.dialog-grid select:focus{border-color:var(--gold);background:#fff}.settings-actions{display:flex;justify-content:space-between;align-items:center}.app-dialog{width:min(600px,calc(100vw - 30px));padding:0;border:0;background:var(--ivory);color:var(--ink);box-shadow:0 35px 100px #300f1459}.app-dialog::backdrop{background:#2b191a94;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.app-dialog[open]{animation:dialogIn .25s ease both}.dialog-inner form>header{min-height:90px;padding:22px 26px;background:var(--wine-dark);color:#fff;display:flex;align-items:center;justify-content:space-between}.dialog-inner header span{color:var(--gold-light);font-size:8px;letter-spacing:.24em}.dialog-inner header h2{margin:6px 0 0;font:500 19px var(--cn-serif);letter-spacing:.08em}.dialog-close{width:34px;height:34px;border:1px solid rgba(255,255,255,.2);background:transparent;color:#fff;display:grid;place-items:center;cursor:pointer}.dialog-body{padding:2px 27px 28px}.dialog-inner form>footer{min-height:70px;padding:14px 24px;border-top:1px solid var(--line);display:flex;align-items:center;justify-content:space-between}.dialog-inner footer>div{display:flex;gap:7px}.focus-content{padding-top:20px}.focus-mark{width:48px;height:48px;border-radius:50%;background:#ead7d5;color:var(--wine);display:grid;place-items:center}.focus-content>p{color:var(--muted);font-size:10px}.focus-content article{min-height:64px;border-top:1px solid var(--line);display:flex;gap:15px;align-items:center}.focus-content article>span{color:var(--gold);font:400 16px var(--serif)}.focus-content article b{display:block;font:500 12px var(--cn-serif)}.focus-content article small{display:block;margin-top:5px;color:var(--muted);font-size:8px}.focus-budget{padding:15px;background:var(--paper-deep);display:flex;justify-content:space-between;font-size:10px}.focus-budget b{color:var(--wine)}.toast-region{position:fixed;right:25px;bottom:25px;z-index:2000;display:grid;gap:9px}.toast{min-width:230px;padding:13px 16px;color:#fff;background:var(--wine-dark);box-shadow:0 12px 35px #0000002e;display:flex;align-items:center;gap:9px;font-size:10px;animation:toastIn .25s ease both}.toast.info{background:var(--ink)}.reveal{opacity:0;transform:translateY(12px);animation:reveal .65s cubic-bezier(.2,.7,.2,1) forwards;animation-delay:var(--delay, 0ms)}.delay-1{animation-delay:90ms}.delay-2{animation-delay:.17s}.delay-3{animation-delay:.25s}@keyframes reveal{to{opacity:1;transform:none}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes dialogIn{0%{opacity:0;transform:translateY(12px) scale(.98)}}@keyframes toastIn{0%{opacity:0;transform:translate(15px)}}@media(max-width:1100px){:root{--sidebar: 210px}.stat-grid{grid-template-columns:repeat(2,1fr)}.stat-card:nth-child(2){border-right:0}.stat-card:nth-child(-n+2){border-bottom:1px solid var(--line)}.budget-columns{grid-template-columns:1fr}.vendor-grid{grid-template-columns:repeat(2,1fr)}.guest-summary{grid-template-columns:repeat(3,1fr)}.guest-summary label{grid-column:1 / -1}}@media(max-width:780px){:root{--sidebar: 0px}body{padding-bottom:68px}.sidebar{display:none}.main-shell{margin-left:0}.topbar{height:58px;padding:0 18px}.breadcrumb span,.breadcrumb b{display:none}.page{padding:24px 15px 45px}.mobile-nav{position:fixed;left:0;right:0;bottom:0;height:calc(64px + env(safe-area-inset-bottom));padding:5px 5px env(safe-area-inset-bottom);z-index:100;display:grid;grid-template-columns:repeat(6,1fr);background:#4d121df7;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.mobile-nav button{padding:5px 1px;border:0;background:transparent;color:#ffffff73;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;font-size:8px}.mobile-nav button.active{color:var(--gold-light)}.mobile-nav svg{width:17px!important;height:17px!important}.hero-panel{min-height:510px;grid-template-columns:1fr}.hero-copy{min-height:310px;padding:42px 20px}.hero-countdown{min-height:200px}.hero-countdown strong{font-size:76px}.stat-grid{grid-template-columns:1fr 1fr}.stat-card{min-height:132px;padding:20px}.stat-card strong{font-size:31px}.dashboard-grid{grid-template-columns:1fr;gap:16px}.tasks-card,.milestones-card{min-height:auto;padding:24px 20px}.priority-item{grid-template-columns:auto 1fr}.priority-item>em{grid-column:2;margin-top:-13px}.vow-card{grid-template-columns:auto 1fr;padding:26px 22px}.vow-card cite{grid-column:2;white-space:normal}.page-heading{align-items:start;gap:18px}.page-heading h1{font-size:29px}.page-heading p{font-size:10px;line-height:1.6}.page-heading .primary-button{min-width:42px;padding:0 11px;font-size:0}.page-heading .primary-button svg{margin:0}.phase-card>header{grid-template-columns:auto 1fr;padding:17px}.phase-progress{grid-column:1 / -1}.phase-tasks{padding:0 15px}.task-row{grid-template-columns:auto 1fr auto;gap:10px}.task-date{grid-column:2;text-align:left;margin-top:-12px;padding-bottom:10px}.task-date span,.task-date small{display:inline;margin-right:7px}.danger-on-hover{opacity:1;grid-column:3;grid-row:1 / span 2}.budget-hero{padding:28px 25px;grid-template-columns:1fr auto;gap:22px}.budget-hero strong{font-size:39px}.budget-balance{grid-column:1 / -1;border-left:0;border-top:1px solid rgba(255,255,255,.14);padding:19px 0 0}.budget-ring{width:100px;height:100px}.budget-ring>span{width:86px;height:86px;margin-top:-86px}.budget-table{padding:23px 15px 7px}.budget-row{grid-template-columns:auto 1fr 69px}.money-cell{display:none}.vendor-grid{grid-template-columns:1fr}.summary-strip{gap:17px;justify-content:space-between;padding:0 17px}.summary-strip b{display:block;font-size:21px}.guest-summary{grid-template-columns:repeat(3,1fr);padding:12px;gap:10px}.guest-summary>div{text-align:center}.guest-table-wrap{padding:6px 13px;overflow-x:auto}.guest-table{min-width:650px}.day-intro{padding:25px;grid-template-columns:1fr auto}.day-intro blockquote{grid-row:2;grid-column:1 / -1;padding:18px 0 0;border-left:0;border-top:1px solid rgba(255,255,255,.16);font-size:15px}.schedule-item{grid-template-columns:60px 15px 1fr;gap:10px}.schedule-item>time{font-size:18px}.schedule-check{grid-column:3;margin:-48px 0 0 auto}.settings-grid{grid-template-columns:1fr}.wide-section,.settings-actions{grid-column:1}.form-section{padding:23px 19px}.field-grid{grid-template-columns:1fr}.field-grid label.wide{grid-column:1}.toast-region{left:15px;right:15px;bottom:78px}.toast{width:100%}}@media(max-width:430px){.stat-grid{grid-template-columns:1fr 1fr}.stat-card{min-height:124px;padding:18px 15px}.stat-card h3{font-size:14px}.dialog-grid{grid-template-columns:1fr}.dialog-grid label.wide{grid-column:1}.dialog-inner form>footer{padding:12px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important}}body{font-size:16px;background-color:var(--paper);background-image:radial-gradient(circle at 15px 15px,rgba(227,24,67,.055) 1.5px,transparent 1.7px),linear-gradient(145deg,#fff9fb,#fff2f6 48%,#fff8fa);background-size:30px 30px,100% 100%}.paper-grain{opacity:.12}.sidebar{background-color:var(--wine-dark);background-image:radial-gradient(circle at 12px 12px,rgba(255,255,255,.08) 2px,transparent 2.2px),linear-gradient(155deg,#d81743,#a80f31);background-size:28px 28px,100% 100%}.sidebar:before,.sidebar:after{border-color:#ffd7e247}.bow-mark{position:relative;width:46px;height:42px;flex:0 0 46px;border:1px solid rgba(255,255,255,.32);border-radius:14px;background:#ffffff1f}.bow-mark:before,.bow-mark:after,.floating-bow:before,.floating-bow:after{content:"";position:absolute;top:11px;width:17px;height:19px;background:#fff;border-radius:70% 35% 55% 45%}.bow-mark:before{left:6px;transform:rotate(25deg)}.bow-mark:after{right:6px;transform:scaleX(-1) rotate(25deg)}.bow-mark i,.floating-bow i{position:absolute;z-index:2;width:12px;height:12px;left:16px;top:14px;border-radius:50%;background:var(--gold-light)}.brand b{font-size:18px}.brand small{font-size:9px;color:#ffffffad}.nav-link{border-radius:13px}.nav-link span{font-size:14px;letter-spacing:.08em}.nav-link:hover,.nav-link.active{color:#fff}.nav-link.active{background:#ffffff2b;box-shadow:inset 0 0 0 1px #ffffff1a}.sidebar-note span{color:#ffd4df;font-size:9px}.sidebar-note p{font-size:14px}.kitty-mini{position:absolute;right:1px;bottom:17px;width:47px;height:39px;border-radius:48% 48% 44% 44%;background:#ffffffeb}.kitty-mini:before,.kitty-mini:after{content:"";position:absolute;top:-7px;width:15px;height:17px;background:#ffffffeb;transform:rotate(45deg)}.kitty-mini:before{left:4px}.kitty-mini:after{right:4px}.kitty-mini i:before,.kitty-mini i:after{content:"";position:absolute;z-index:2;top:17px;width:4px;height:5px;border-radius:50%;background:#49343b}.kitty-mini i:before{left:13px}.kitty-mini i:after{right:13px}.kitty-mini b{position:absolute;z-index:2;left:21px;top:22px;width:6px;height:4px;border-radius:50%;background:#f5bb32}.kitty-mini em{position:absolute;z-index:3;right:-2px;top:-4px;width:16px;height:12px;border-radius:65% 35% 60% 40%;background:#ff5a7f;transform:rotate(-15deg)}.kitty-mini em:after{content:"";position:absolute;left:-9px;top:1px;width:13px;height:11px;border-radius:35% 65% 40% 60%;background:#ff5a7f}.topbar{background:#fffafcc7;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.breadcrumb{font-size:10px}.breadcrumb strong{font-size:14px}.round-button{background:#fff;border-color:#ffd1dc;box-shadow:0 6px 18px #d61f4714}.avatar-pair span{border-color:#fff5f8;background:var(--wine)}.avatar-pair span:last-child{background:#ffc5d3;color:var(--wine-dark)}.hero-panel{border-radius:28px 28px 0 0;background:linear-gradient(145deg,#ef2753,#bb1238);box-shadow:0 24px 65px #bc12382e}.hero-panel:before{border-color:#ffffff6b;border-radius:20px}.hero-panel:after{border-color:#fff3}.hero-copy{padding-top:32px;padding-bottom:34px}.hero-index{color:#ffe1e8;font-size:10px}.kitty-cameo{position:relative;width:70px;height:58px;margin-top:13px;border:2px solid rgba(255,255,255,.7);border-radius:49% 49% 44% 44%;background:#fff;box-shadow:0 8px 24px #82082526}.kitty-cameo:before,.kitty-cameo:after{content:"";position:absolute;top:-8px;width:20px;height:22px;background:#fff;transform:rotate(45deg);border-radius:4px}.kitty-cameo:before{left:6px}.kitty-cameo:after{right:6px}.kitty-cameo .eye{position:absolute;z-index:2;top:28px;width:5px;height:8px;border-radius:50%;background:#3f3035}.kitty-cameo .eye.left{left:20px}.kitty-cameo .eye.right{right:20px}.kitty-cameo>b{position:absolute;z-index:2;left:31px;top:36px;width:8px;height:6px;border-radius:50%;background:#f4bb31}.kitty-cameo-bow{position:absolute;z-index:4;right:-7px;top:1px;width:14px;height:14px;border-radius:50%;background:#ffb5c7}.kitty-cameo-bow:before,.kitty-cameo-bow:after{content:"";position:absolute;top:-2px;width:18px;height:17px;background:#ff486f}.kitty-cameo-bow:before{right:10px;border-radius:65% 35% 50% 50%;transform:rotate(18deg)}.kitty-cameo-bow:after{left:10px;border-radius:35% 65% 50% 50%;transform:rotate(-18deg)}.whisker{position:absolute;z-index:3;width:17px;height:1px;background:#a98c95}.w1{left:-10px;top:34px;transform:rotate(8deg)}.w2{left:-10px;top:42px;transform:rotate(-8deg)}.w3{right:-10px;top:34px;transform:rotate(-8deg)}.w4{right:-10px;top:42px;transform:rotate(8deg)}.hero-monogram{margin-top:7px}.hero-copy h1{font-size:clamp(25px,3vw,37px)}.hero-copy>p{font-size:13px;color:#ffffffbf}.hero-rule b{color:#ffe2e9;font-size:10px}.hero-countdown{background:linear-gradient(145deg,#fff5f8,#ffdce6)}.hero-countdown>span{color:var(--wine);font-size:9px}.hero-countdown p{font-size:15px}.hero-countdown time{font-size:11px}.orbit{border-color:#e318432e}.floating-bow{position:absolute;z-index:1;width:78px;height:55px;opacity:.18}.floating-bow:before,.floating-bow:after{width:34px;height:38px;top:8px;background:#fff}.floating-bow:before{left:3px;transform:rotate(24deg)}.floating-bow:after{right:3px;transform:scaleX(-1) rotate(24deg)}.floating-bow i{width:22px;height:22px;left:28px;top:16px;background:#fff}.bow-left{left:19px;bottom:22px;transform:rotate(-17deg)}.bow-right{left:57%;top:17px;transform:rotate(16deg)}.stat-grid{border-color:#ffd0db;border-radius:0 0 24px 24px;overflow:hidden;box-shadow:0 16px 45px #d61f4714}.stat-card{background:#ffffffe0}.stat-card .stat-top{font-size:12px}.stat-card>p{font-size:11px}.stat-card.accent{background:linear-gradient(145deg,#e81e4b,#bd1238)}.progress-line{height:4px;border-radius:10px;overflow:hidden}.progress-line i{border-radius:10px}.journal-card,.phase-card,.vendor-card,.guest-table-wrap,.form-section{border-color:#ffd0db;border-radius:22px;box-shadow:0 12px 35px #d61f4712}.card-heading span{font-size:10px}.card-heading h2{font-size:22px}.card-heading>button{font-size:11px}.priority-copy b{font-size:15px}.priority-copy small{font-size:11px}.priority-item>em{font-size:11px}.custom-check,.task-check{border-radius:6px}.milestone b{font-size:15px}.milestone small{font-size:11px}.milestone>i{background:#fff7fa;border-color:#ffafc2}.vow-card{border-radius:22px;background:linear-gradient(135deg,#ffe4ec,#fff3f7);border:1px solid #ffd0db}.vow-card p{font-size:15px}.vow-card cite,.eyebrow{font-size:10px}.page-heading p{font-size:14px}.primary-button{min-height:44px;padding-inline:20px;border-radius:999px;box-shadow:0 8px 18px #e3184326;font-size:13px}.text-button{font-size:13px}.segmented button{border-radius:999px;font-size:12px}.section-toolbar>span{font-size:11px}.phase-card{overflow:hidden}.phase-card>header{background:linear-gradient(135deg,#ffe5ed,#fff5f8)}.phase-card header span{font-size:10px}.phase-card header h2{font-size:19px}.task-main b{font-size:15px}.task-main small{font-size:11px}.task-date span{font-size:12px}.task-date small{font-size:10px}.icon-button{border-radius:9px}.empty-state{font-size:15px}.budget-hero,.summary-strip,.day-intro{border-radius:24px;background:linear-gradient(145deg,#e91f4d,#ad1033);box-shadow:0 18px 45px #be123824}.budget-hero span,.budget-hero p,.budget-balance small{font-size:11px}.budget-ring:before{background:#b51034}.budget-table{overflow:hidden}.budget-name b{font-size:14px}.budget-name small{font-size:10px}.money-cell span,.actual-input span{font-size:9px}.actual-input input{font-size:14px}.paid-check>span{border-radius:6px}.summary-strip span{font-size:11px}.vendor-card header>span{font-size:10px}.vendor-card h2{font-size:19px}.vendor-card p{font-size:12px}.vendor-card footer small{font-size:9px}.vendor-card footer button{border-radius:50%;background:#fff4f7;color:var(--wine)}.status{border-radius:999px;font-size:10px;padding:6px 10px;background:#ffe5ed}.status.confirmed{background:#ffcbd8}.guest-summary{border-radius:22px;border-color:#ffd0db;background:linear-gradient(135deg,#ffe3eb,#fff5f8)}.guest-summary span{font-size:10px}.guest-summary label{border-radius:999px;background:#fff}.guest-summary input,.guest-row{font-size:12px}.guest-head{font-size:9px}.guest-name b{font-size:14px}.guest-name i{background:#ffd7e1}.day-intro blockquote{font-size:20px}.day-intro>div:first-child small{font-size:11px}.day-seal{border-radius:14px;background:#ffffff1a}.schedule-copy h2{font-size:19px}.schedule-copy p{font-size:12px}.schedule-check{background:#fff;border-color:#ffc4d2}.field-grid label,.dialog-grid label{font-size:11px}.field-grid input,.field-grid textarea,.dialog-grid input,.dialog-grid textarea,.dialog-grid select{border-radius:12px;border-color:#ffcbd7;font-size:13px}.app-dialog{border-radius:24px;overflow:hidden}.dialog-inner form>header{background:linear-gradient(145deg,#e91f4d,#b61035)}.dialog-inner header span{font-size:10px}.dialog-inner header h2{font-size:22px}.dialog-close{border-radius:50%}.toast{border-radius:14px;background:var(--wine);font-size:12px}.mobile-nav{background:#cd123bf7}@media(max-width:780px){.hero-copy{min-height:355px;padding-top:30px}.hero-panel{border-radius:22px 22px 0 0}.hero-copy h1{font-size:28px}.hero-copy>p{font-size:12px}.stat-card .stat-top{font-size:11px}.page-heading p{font-size:12px}.card-heading h2{font-size:20px}.priority-copy b,.task-main b{font-size:14px}.priority-copy small,.task-main small{font-size:10px}.journal-card,.phase-card,.vendor-card,.guest-table-wrap,.form-section{border-radius:18px}}
