:root{--bg:#f7f6f2;--surface:#fff;--surface-muted:#f0eee8;--ink:#253229;--muted:#768078;--green:#304b3c;--green-dark:#24392e;--green-light:#e9efeb;--accent:#c7a66b;--accent-light:#f8f0df;--red:#b35656;--red-light:#faeded;--blue:#527086;--blue-light:#eaf1f5;--border:#e9e6df;--shadow:0 18px 50px rgba(36,57,46,.08);--radius:20px;--font:'DM Sans',Arial,sans-serif;--serif:'Playfair Display',Georgia,serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--font);font-size:15px;line-height:1.55}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button{cursor:pointer}.container{width:min(1180px,calc(100% - 48px));margin:auto}.eyebrow{display:block;font-size:11px;font-weight:800;letter-spacing:1.6px;color:var(--muted)}.button{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:13px 19px;border:1px solid transparent;border-radius:12px;font-weight:700;transition:.2s}.button:hover{transform:translateY(-1px)}.button-primary{background:var(--green);color:#fff}.button-primary:hover{background:var(--green-dark)}.button-secondary{background:var(--green-light);color:var(--green)}.button-ghost{background:transparent;border-color:var(--border)}.button-danger{background:var(--red-light);color:var(--red)}.button-small{padding:9px 13px;font-size:13px}.button-block{width:100%}.public-header{position:sticky;top:0;z-index:30;background:rgba(247,246,242,.92);backdrop-filter:blur(12px);border-bottom:1px solid rgba(233,230,223,.8)}.header-inner{display:flex;align-items:center;justify-content:space-between;height:76px}.brand{font-family:var(--serif);font-size:24px;letter-spacing:-.5px}.brand-mark{color:var(--accent);font-size:29px}.public-nav,.header-actions{display:flex;align-items:center;gap:24px}.public-nav a{font-size:14px;color:var(--muted);font-weight:600}.mobile-nav-toggle{display:none;border:0;background:none;font-size:22px}.hero{padding:92px 0 70px;overflow:hidden}.hero-grid{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:60px}.hero-copy h1,.section-head h2,.auth-side h1{font-family:var(--serif);font-size:clamp(42px,6vw,78px);line-height:1.06;letter-spacing:-2px;margin:17px 0}.hero-copy h1 em{font-style:normal;color:var(--green)}.hero-copy>p{max-width:510px;color:var(--muted);font-size:17px}.hero-actions{display:flex;gap:12px;margin-top:28px;flex-wrap:wrap}.hero-proof{margin-top:32px;display:flex;gap:18px;color:var(--muted);font-size:13px}.hero-visual{position:relative;min-height:540px}.mock-invite{position:absolute;right:35px;top:20px;width:330px;height:500px;padding:30px;border-radius:28px;background:linear-gradient(145deg,#ede9df,#fff 46%,#dce6dd);box-shadow:var(--shadow);text-align:center;overflow:hidden}.mock-invite:before{content:'';position:absolute;inset:12px;border:1px solid rgba(48,75,60,.16);border-radius:20px;pointer-events:none}.mock-invite .eyebrow{margin-top:40px}.mock-invite h3{font-family:var(--serif);font-size:49px;line-height:1;margin:48px 0 12px}.mock-invite .invite-date{color:var(--green);font-size:16px;font-weight:700}.floating-card{position:absolute;left:0;bottom:85px;padding:18px 21px;background:#fff;border-radius:16px;box-shadow:var(--shadow)}.floating-card strong{display:block;font-size:18px}.floating-card small{color:var(--muted)}.trust-strip{padding:18px 0 70px}.trust-inner{display:flex;justify-content:space-between;gap:20px;color:var(--muted);font-size:13px;font-weight:700}.section{padding:85px 0}.section-white{background:#fff}.section-head{text-align:center;max-width:740px;margin:0 auto 48px}.section-head h2{font-size:clamp(36px,5vw,56px)}.section-head p{color:var(--muted)}.feature-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.feature-card,.pricing-card,.card,.stat-card,.vendor-card{background:#fff;border:1px solid var(--border);border-radius:var(--radius);box-shadow:0 4px 20px rgba(36,57,46,.03)}.feature-card{padding:26px}.feature-icon{display:grid;place-items:center;width:48px;height:48px;border-radius:14px;background:var(--green-light);color:var(--green);font-size:22px}.feature-card h3{font-size:18px}.feature-card p{color:var(--muted);font-size:14px}.workflow{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}.workflow-step{padding:18px}.workflow-step b{display:grid;place-items:center;width:38px;height:38px;background:var(--green);color:#fff;border-radius:50%}.workflow-step p{color:var(--muted);font-size:14px}.pricing-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.pricing-card{padding:28px}.pricing-card.featured{border:2px solid var(--green);transform:translateY(-8px)}.price{font-size:45px;font-weight:800;letter-spacing:-2px;margin:18px 0}.price small{font-size:14px;font-weight:500;color:var(--muted);letter-spacing:0}.check-list{padding:0;list-style:none}.check-list li{padding:8px 0;color:var(--muted)}.check-list li:before{content:'✓';color:var(--green);font-weight:800;margin-right:10px}.cta-panel{padding:55px;border-radius:28px;background:var(--green-dark);color:#fff;text-align:center}.cta-panel h2{font-family:var(--serif);font-size:45px;margin:0 0 12px}.cta-panel p{color:#cbd6ce}.public-footer{padding:60px 0 24px;background:#fff}.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:35px}.footer-grid>div{display:flex;flex-direction:column;gap:9px}.footer-grid p,.footer-grid a:not(.brand){color:var(--muted);font-size:14px}.footer-bottom{margin-top:35px;padding-top:20px;border-top:1px solid var(--border);color:var(--muted);font-size:13px}.auth-body{min-height:100vh}.auth-wrap{display:grid;grid-template-columns:1fr 1fr;min-height:100vh}.auth-side{display:flex;justify-content:center;flex-direction:column;padding:80px;background:linear-gradient(145deg,#24392e,#40624c);color:#fff}.auth-side .eyebrow{color:#c8d2ca}.auth-side p{max-width:440px;color:#d4dfd7}.auth-form-wrap{display:flex;align-items:center;justify-content:center;padding:50px}.auth-card{width:min(480px,100%)}.auth-card h2{font-family:var(--serif);font-size:37px;margin:16px 0 5px}.auth-card>p{color:var(--muted)}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.form-group{display:flex;flex-direction:column;gap:7px;margin-bottom:16px}.form-group label{font-weight:700;font-size:13px}.form-group input,.form-group select,.form-group textarea,.field{width:100%;padding:11px 13px;border:1px solid var(--border);border-radius:11px;background:#fff;color:var(--ink);outline:none}.form-group input:focus,.form-group select:focus,.form-group textarea:focus,.field:focus{border-color:var(--green)}.form-group textarea{min-height:100px;resize:vertical}.form-help{color:var(--muted);font-size:12px}.flash{display:flex;align-items:center;justify-content:space-between;padding:13px 16px;margin:0 0 18px;border-radius:12px}.flash-success{background:#e8f3eb;color:#315b3b}.flash-error{background:var(--red-light);color:var(--red)}.flash-info{background:var(--blue-light);color:var(--blue)}.flash button{border:0;background:none;font-size:20px}.app-shell{display:flex;min-height:100vh}.sidebar{position:fixed;inset:0 auto 0 0;z-index:20;width:255px;background:#fff;border-right:1px solid var(--border);display:flex;flex-direction:column;padding:22px 16px}.sidebar-brand{padding:0 9px 18px}.wedding-summary{margin:8px 0 17px;padding:15px 13px;background:var(--green-light);border-radius:14px}.wedding-summary strong,.wedding-summary>span:last-child{display:block}.wedding-summary strong{font-family:var(--serif);font-size:20px;margin:6px 0}.wedding-summary>span:last-child{font-size:12px;color:var(--muted)}.side-nav{display:flex;flex-direction:column;gap:3px;overflow:auto}.side-link{display:flex;align-items:center;gap:10px;padding:10px 11px;border-radius:10px;color:var(--muted);font-weight:600;font-size:13px}.side-link:hover,.side-link.active{background:var(--green-light);color:var(--green)}.nav-icon{display:inline-grid;place-items:center;width:19px;font-size:17px}.sidebar-bottom{display:flex;align-items:center;gap:10px;margin-top:auto;padding-top:15px;border-top:1px solid var(--border)}.user-avatar{display:grid;place-items:center;width:38px;height:38px;border-radius:50%;background:var(--green);color:#fff;font-weight:800}.sidebar-bottom strong,.sidebar-bottom small{display:block}.sidebar-bottom strong{font-size:12px}.sidebar-bottom small{color:var(--muted);font-size:11px}.logout-link{margin-left:auto}.app-main{width:calc(100% - 255px);margin-left:255px}.app-topbar{height:93px;padding:0 36px;background:rgba(247,246,242,.95);border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;position:sticky;top:0;z-index:10}.app-topbar h1{font-size:24px;line-height:1.1;margin:4px 0 0}.topbar-actions{display:flex;align-items:center;gap:13px}.notification-pill{font-size:13px;color:var(--muted)}.notification-pill span{padding:4px 7px;background:#fff;border-radius:12px;color:var(--green);font-weight:700}.sidebar-toggle{display:none;border:0;background:none;font-size:22px}.app-content{padding:30px 36px 60px}.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:15px;margin-bottom:23px}.stat-card{padding:19px}.stat-card .eyebrow{font-size:10px}.stat-card strong{display:block;font-size:26px;margin:7px 0 2px;letter-spacing:-.5px}.stat-card small{color:var(--muted)}.dashboard-grid{display:grid;grid-template-columns:1.35fr 1fr;gap:20px}.card{padding:22px;margin-bottom:18px}.card-header{display:flex;align-items:flex-start;justify-content:space-between;gap:15px;margin-bottom:18px}.card-header h2,.card-header h3{margin:0;font-size:17px}.card-header p{margin:4px 0 0;color:var(--muted);font-size:13px}.progress{height:8px;background:var(--surface-muted);border-radius:20px;overflow:hidden}.progress>span{display:block;height:100%;background:var(--green);border-radius:20px}.metric-row,.list-row{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:12px 0;border-bottom:1px solid var(--border)}.metric-row:last-child,.list-row:last-child{border-bottom:0}.metric-row small,.list-row small{color:var(--muted)}.alert-item{padding:12px 14px;margin-bottom:9px;border-radius:11px;background:var(--accent-light);font-size:13px}.alert-item.red{background:var(--red-light);color:var(--red)}.alert-item.green{background:var(--green-light);color:var(--green)}.page-actions{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:18px}.page-actions>p{margin:0;color:var(--muted)}.action-group{display:flex;gap:9px;align-items:center;flex-wrap:wrap}.data-table-wrap{overflow:auto}.data-table{width:100%;border-collapse:collapse}.data-table th,.data-table td{text-align:left;padding:12px 10px;border-bottom:1px solid var(--border);white-space:nowrap}.data-table th{color:var(--muted);font-size:11px;letter-spacing:.5px;text-transform:uppercase}.data-table td{font-size:13px}.data-table td small{display:block;color:var(--muted)}.badge{display:inline-flex;padding:5px 9px;border-radius:20px;font-size:11px;font-weight:700}.badge-pending,.badge-medium,.badge-todo{background:var(--accent-light);color:#8b7040}.badge-accepted,.badge-available,.badge-done{background:var(--green-light);color:var(--green)}.badge-declined,.badge-unavailable,.badge-high{background:var(--red-light);color:var(--red)}.badge-quoted,.badge-in_progress,.badge-low{background:var(--blue-light);color:var(--blue)}.modal{position:fixed;inset:0;z-index:50;display:none;align-items:center;justify-content:center;padding:20px;background:rgba(25,33,28,.52)}.modal.open{display:flex}.modal-card{width:min(650px,100%);max-height:90vh;overflow:auto;padding:25px;border-radius:20px;background:#fff}.modal-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:15px}.modal-head h2{margin:0;font-size:21px}.modal-close{border:0;background:none;font-size:25px}.empty-state{text-align:center;padding:44px 20px;color:var(--muted)}.empty-state strong{display:block;margin-bottom:8px;color:var(--ink);font-size:17px}.vendor-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:17px}.vendor-card{overflow:hidden}.vendor-image{height:165px;background:linear-gradient(135deg,#dfe9e0,#f0e9dc);display:grid;place-items:center;font-family:var(--serif);font-size:35px;color:var(--green)}.vendor-body{padding:18px}.vendor-body h3{font-size:17px;margin:6px 0}.vendor-body p{color:var(--muted);font-size:13px}.vendor-meta{display:flex;justify-content:space-between;align-items:center;margin-top:14px}.vendor-price{font-weight:800;color:var(--green)}.filters{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:20px}.filters .field{width:auto;min-width:170px}.table-board{position:relative;min-height:520px;border:1px dashed #d7d4cc;border-radius:16px;background:linear-gradient(90deg,transparent 24px,#f0eee8 25px),linear-gradient(transparent 24px,#f0eee8 25px);background-size:25px 25px;overflow:auto}.seating-card{position:absolute;width:145px;min-height:108px;padding:13px;border:1px solid var(--border);border-radius:50%;background:#fff;box-shadow:0 8px 22px rgba(36,57,46,.09);text-align:center;cursor:grab}.seating-card.rectangle,.seating-card.head{border-radius:16px;width:180px}.seating-card.kids{background:var(--accent-light)}.seating-card strong,.seating-card small{display:block}.seating-card small{color:var(--muted);font-size:11px}.seating-card.over-capacity{border-color:var(--red)}.timeline-list{position:relative}.timeline-item{display:grid;grid-template-columns:75px 1fr;gap:16px;padding:13px 0;border-bottom:1px solid var(--border)}.timeline-time{color:var(--green);font-weight:800}.timeline-item strong,.timeline-item small{display:block}.timeline-item small{color:var(--muted)}.gallery-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.gallery-item{aspect-ratio:1;overflow:hidden;border-radius:13px;background:var(--surface-muted)}.gallery-item img{width:100%;height:100%;object-fit:cover}.invite-body{background:#f7f5ef}.invite-shell{max-width:960px;margin:0 auto}.invite-hero{min-height:650px;padding:85px 30px;text-align:center;display:flex;align-items:center;justify-content:center;flex-direction:column;background:linear-gradient(155deg,#e8e5dc 0%,#fff 50%,#dde8de 100%)}.invite-hero h1{font-family:var(--serif);font-size:clamp(58px,11vw,115px);line-height:.95;letter-spacing:-3px;margin:38px 0 15px}.invite-hero .invite-meta{font-size:18px;color:var(--green);font-weight:600}.invite-section{padding:75px 30px;text-align:center}.invite-section h2{font-family:var(--serif);font-size:39px;margin:0 0 14px}.invite-section>p{color:var(--muted);max-width:560px;margin:0 auto 22px}.invite-locations{display:grid;grid-template-columns:1fr 1fr;gap:20px;max-width:730px;margin:30px auto}.invite-location{padding:27px;background:#fff;border-radius:18px}.invite-location h3{font-family:var(--serif);font-size:24px}.rsvp-card{max-width:580px;margin:0 auto;text-align:left;padding:28px;background:#fff;border-radius:20px;box-shadow:var(--shadow)}.invite-footer{text-align:center;padding:30px;color:var(--muted);font-size:13px}.countdown{display:flex;justify-content:center;gap:20px;margin:28px 0}.countdown div{min-width:70px}.countdown strong{display:block;font-size:32px}.countdown small{color:var(--muted)}.install-wrap{max-width:760px;margin:70px auto;padding:35px;background:#fff;border:1px solid var(--border);border-radius:20px}.helper-note{padding:13px;border-radius:11px;background:var(--blue-light);color:var(--blue);font-size:13px}.inline-form{display:inline}.checkbox-line{display:flex;align-items:center;gap:8px;margin:10px 0}.checkbox-line input{width:auto}.muted{color:var(--muted)}.text-right{text-align:right}.mb-0{margin-bottom:0}.mb-16{margin-bottom:16px}.mt-16{margin-top:16px}.theme-noir .invite-hero{background:linear-gradient(145deg,#242424,#414141);color:#fff}.theme-noir .invite-hero .invite-meta,.theme-noir .invite-hero .eyebrow{color:#dac497}.theme-blush .invite-hero{background:linear-gradient(145deg,#f4e5e4,#fff,#edd7d5)}.theme-sea .invite-hero{background:linear-gradient(145deg,#dfeef3,#fff,#d4e7ec)}
@media(max-width:1100px){.stats-grid{grid-template-columns:repeat(2,1fr)}.vendor-grid{grid-template-columns:repeat(2,1fr)}.gallery-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:800px){.container{width:min(100% - 32px,1180px)}.public-nav{display:none}.mobile-nav-open .public-nav{position:absolute;top:75px;left:0;right:0;display:flex;flex-direction:column;align-items:flex-start;padding:20px;background:#fff}.mobile-nav-toggle{display:block}.header-actions .button-ghost{display:none}.hero{padding:55px 0 30px}.hero-grid{grid-template-columns:1fr;gap:25px}.hero-visual{min-height:440px}.mock-invite{right:15px;top:0;width:285px;height:420px}.mock-invite h3{margin:36px 0 12px}.floating-card{bottom:60px}.trust-inner{flex-wrap:wrap}.feature-grid,.pricing-grid,.workflow,.footer-grid,.dashboard-grid{grid-template-columns:1fr}.pricing-card.featured{transform:none}.auth-wrap{grid-template-columns:1fr}.auth-side{padding:38px 25px;min-height:240px}.auth-side h1{font-size:44px}.auth-form-wrap{padding:30px 20px}.sidebar{transform:translateX(-100%);transition:.2s}.sidebar-open .sidebar{transform:translateX(0)}.app-main{width:100%;margin-left:0}.app-topbar{padding:0 16px;height:78px}.app-topbar h1{font-size:20px}.sidebar-toggle{display:block}.topbar-actions .button{display:none}.app-content{padding:22px 15px 45px}.page-actions{align-items:flex-start;flex-direction:column}.form-grid,.invite-locations{grid-template-columns:1fr}.cta-panel{padding:35px 18px}.cta-panel h2{font-size:34px}}
@media(max-width:490px){.stats-grid,.vendor-grid,.gallery-grid{grid-template-columns:1fr}.hero-proof{flex-wrap:wrap}.header-actions{gap:8px}.brand{font-size:20px}.invite-hero{min-height:530px;padding:55px 20px}.countdown{gap:9px}.countdown div{min-width:60px}.notification-pill{font-size:11px}}
