:root{color:#1f2933;background:#f7f8fb;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-synthesis:none;letter-spacing:0;text-rendering:optimizeLegibility;--ink: #1f2933;--muted: #667085;--line: #dfe4ea;--surface: #ffffff;--wash: #f7f8fb;--sage: #4d7c64;--rose: #b85b6b;--gold: #a9792b;--sky: #337f9f;--danger: #b42318;--shadow: 0 18px 45px rgba(31, 41, 51, .08)}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh}button,input,select,textarea{font:inherit;letter-spacing:0}button,a{-webkit-tap-highlight-color:transparent}a{color:inherit;text-decoration:none}.app-shell{min-height:100vh;display:grid;grid-template-columns:1fr}.sidebar{display:none}.main{width:100%;max-width:1320px;margin:0 auto;padding:18px 14px 92px}.topbar,.section-heading,.table-card-header,.portal-header{display:flex;align-items:center;justify-content:space-between;gap:14px}.topbar{margin-bottom:18px}.topbar h1,.section-heading h2,.portal-header h1{margin:0;font-size:1.45rem;line-height:1.1}.eyebrow{margin:0 0 5px;color:var(--muted);font-size:.76rem;font-weight:750;text-transform:uppercase}.topbar-actions,.button-row,.directory-controls,.quick-facts,.tag-row{display:flex;align-items:center;gap:9px;flex-wrap:wrap}.topbar-actions select,select,input,textarea{border:1px solid var(--line);background:var(--surface);color:var(--ink);border-radius:8px;padding:10px 11px;min-height:42px}textarea{width:100%;resize:vertical}.stack{display:grid;gap:16px}.metric-grid,.workspace-grid,.vendor-grid{display:grid;gap:14px}.metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.metric-card,.panel,.vendor-card,.contact-row,.wedding-row,.task-row,.guest-row{background:var(--surface);border:1px solid var(--line);border-radius:8px}.metric-card{min-height:118px;padding:14px;display:grid;align-content:space-between}.metric-card span{color:var(--muted);font-size:.9rem}.metric-card strong{font-size:1.9rem}.metric-card.sage svg{color:var(--sage)}.metric-card.rose svg{color:var(--rose)}.metric-card.gold svg{color:var(--gold)}.metric-card.sky svg{color:var(--sky)}.panel{padding:16px;box-shadow:var(--shadow)}.progress-row{display:grid;gap:10px;margin:18px 0}.progress-row strong{display:block;font-size:2rem}.progress-row span{color:var(--muted)}.progress-track{height:10px;overflow:hidden;border-radius:999px;background:#edf0f2}.progress-track span{display:block;height:100%;background:linear-gradient(90deg,#4d7c64,#337f9f)}.quick-facts span,.vendor-meta,.risk-list span,.activity-item{display:inline-flex;align-items:center;gap:7px;color:var(--muted);font-size:.92rem}.primary-button,.secondary-button,.danger-button,.icon-button,.check-button,.donation-button{min-height:42px;border-radius:8px;border:1px solid var(--line);display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:10px 13px;cursor:pointer;background:var(--surface);color:var(--ink);font-weight:750}.primary-button,.icon-button.solid{border-color:#23392f;background:#23392f;color:#fff}.secondary-button{background:#f7faf8}.danger-button{border-color:#f4c7c3;color:var(--danger);background:#fff7f6}.icon-button{width:42px;padding:0}.wedding-list,.contact-list,.task-list,.guest-table,.activity-list,.cost-list,.risk-list,.chip-list,.linked-vendors,.faq-list{display:grid;gap:10px;margin-top:14px}.wedding-row,.task-row,.guest-row{width:100%;padding:12px;display:grid;grid-template-columns:1fr auto;align-items:center;gap:10px;text-align:left}.task-row,.guest-row{grid-template-columns:auto 1fr auto}.wedding-row span,.task-row span,.guest-row span,.contact-row div{display:grid;gap:3px}small{color:var(--muted)}.days-pill,.subtle-chip,.status-pill{display:inline-flex;align-items:center;justify-content:center;min-height:30px;border-radius:999px;background:#eef5f1;color:#315744;padding:4px 10px;font-size:.82rem;font-weight:750}.status-pill.blocked,.status-pill.event-week,.table-card.over .table-card-header span{background:#fff1ef;color:var(--danger)}.status-pill.finalizing,.table-card.full .table-card-header span{background:#fff7e6;color:#835a12}.contact-row,.vendor-card{padding:14px;display:grid;grid-template-columns:auto 1fr;gap:12px}.avatar,.vendor-icon,.brand-mark{width:44px;height:44px;border-radius:8px;display:inline-grid;place-items:center;background:#eff6f3;color:#315744;font-weight:800}.contact-row span{display:inline-flex;align-items:center;gap:6px;color:var(--muted);font-size:.9rem}.inline-form,.vendor-form,.new-wedding-form{display:grid;gap:9px;margin-top:14px}.field-label{display:grid;gap:7px;color:var(--muted);font-size:.88rem;font-weight:700;margin-top:12px}.detail-form{display:grid;gap:10px;margin-top:14px}.detail-form input,.detail-form select,.detail-form textarea,.inline-form input,.inline-form select{min-width:0;width:100%}.form-submit{align-self:end}.form-span{grid-column:1 / -1}.compact-form{align-items:end}.task-form{grid-template-columns:1fr}.insight-grid,.mini-metrics{display:grid;gap:10px;margin-top:16px}.insight-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.insight-grid span,.mini-metrics span{min-width:0;border:1px solid var(--line);border-radius:8px;background:#fbfcfd;padding:10px;color:var(--muted);font-size:.82rem}.insight-grid strong{display:block;color:var(--ink);font-size:1.16rem}.insight-grid .negative strong,.insight-grid .negative{color:var(--danger)}.mini-metrics{grid-template-columns:repeat(3,minmax(0,1fr))}.muted-copy{margin:10px 0 0;color:var(--muted);line-height:1.5}.check-button{width:34px;height:34px;min-height:34px;padding:0;color:var(--muted)}.check-button.done{color:#fff;background:var(--sage);border-color:var(--sage)}.ghost-danger{color:var(--danger);border-color:#f4c7c3;background:#fff7f6}.small-icon{width:30px;min-height:30px}.linked-vendors span,.tag-row span,.guest-chip{display:inline-flex;width:fit-content;align-items:center;gap:6px;border-radius:999px;border:1px solid var(--line);background:#f8fafc;color:var(--muted);padding:6px 10px;font-size:.84rem}.seating-layout{display:grid;gap:14px}.unseated-panel{box-shadow:none}.seating-canvas{position:relative;min-height:560px;border:1px solid var(--line);border-radius:8px;overflow:auto;background:linear-gradient(rgba(31,41,51,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(31,41,51,.05) 1px,transparent 1px),#fbfcfd;background-size:28px 28px}.table-card{position:absolute;width:min(260px,calc(100% - 24px));min-height:150px;padding:12px;border:1px solid var(--line);border-radius:8px;background:#fff;box-shadow:var(--shadow)}.table-card.round{border-radius:20px}.table-card.top{border-color:#d8c690;background:#fffdf5}.table-card-header span{border-radius:999px;padding:4px 8px;background:#eef5f1;color:#315744;font-weight:800;font-size:.82rem}.table-actions{display:inline-flex;align-items:center;gap:7px}.table-form{display:grid;gap:9px;margin-top:18px;border-top:1px solid var(--line);padding-top:14px}.coordinate-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.guest-chip{cursor:grab}.guest-chip.seated{border:0;cursor:pointer}.guest-row-edit{grid-template-columns:1fr auto minmax(120px,180px)}.meal-row{margin-top:12px}.budget-list,.timeline-list,.schedule-list,.share-list{display:grid;gap:10px;margin-top:14px}.budget-row,.timeline-row,.share-row{display:grid;align-items:center;gap:10px;padding:12px;border:1px solid var(--line);border-radius:8px;background:#fff}.budget-row{grid-template-columns:auto 1fr auto auto}.budget-row span,.timeline-row span,.share-row span{display:grid;gap:3px;min-width:0}.timeline-row{grid-template-columns:58px 1fr auto}.timeline-row>strong{color:#315744}.share-row{grid-template-columns:auto 1fr}.share-row svg{color:var(--sky)}.warning-line{margin-top:10px;color:var(--danger);display:inline-flex;align-items:center;gap:6px;font-size:.86rem;font-weight:800}.mobile-assign-list{display:grid}.vendor-grid{grid-template-columns:1fr}.vendor-card h3{margin:2px 0 8px}.vendor-card p{color:var(--muted);line-height:1.45}.search-box{flex:1;min-width:220px;display:flex;align-items:center;gap:8px;border:1px solid var(--line);border-radius:8px;padding:0 10px;background:#fff}.search-box input{border:0;flex:1;min-width:0}.vendor-card.attached{border-color:#9ec7b0;box-shadow:0 0 0 2px #4d7c6414}.website-editor{display:grid;gap:18px;margin-top:10px}.website-lists{display:grid;gap:14px}.schedule-row.editable{grid-template-columns:72px 1fr auto;align-items:center;border:1px solid var(--line);border-radius:8px;padding:10px}.toggle-row{min-height:42px;display:inline-flex;align-items:center;gap:9px;color:var(--muted);font-weight:750}.toggle-row input{width:18px;height:18px}.empty-state{width:min(620px,100%);margin:12vh auto 0}.empty-state h1{margin:0 0 18px}.status-pill.todo,.status-pill.draft{background:#eef3f8;color:#365a75}.status-pill.doing,.status-pill.needs-decision{background:#fff7e6;color:#835a12}.status-pill.done,.status-pill.confirmed,.status-pill.complete{background:#eef5f1;color:#315744}.cost-list{padding-left:18px;color:var(--muted);line-height:1.6}.cost-list.columns{columns:1}.risk-list{margin-top:18px}.mobile-nav{position:fixed;left:0;right:0;bottom:0;z-index:20;display:grid;grid-template-columns:repeat(5,1fr);border-top:1px solid var(--line);background:#fffffff5;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.mobile-nav-item{min-height:66px;display:grid;place-items:center;gap:3px;border:0;background:transparent;color:var(--muted);font-size:.72rem}.mobile-nav-item.active{color:#23392f;font-weight:800}.public-site,.portal-shell,.not-found{min-height:100vh;background:#fbfcfd;color:var(--ink)}.public-hero{min-height:72vh;display:grid;place-items:center;align-content:center;gap:16px;text-align:center;padding:36px 18px;background:linear-gradient(#23392f9e,#23392f38),url(https://images.unsplash.com/photo-1519225421980-715cb0215aed?auto=format&fit=crop&w=1800&q=80) center/cover;color:#fff}.public-hero h1{margin:0;font-size:clamp(3rem,12vw,7.5rem);line-height:.95}.public-content,.portal-shell{width:min(1120px,100%);margin:0 auto;padding:28px 16px}.public-content h2{font-size:clamp(1.7rem,4vw,3rem);line-height:1.08}.public-grid{display:grid;gap:18px;margin-top:22px}.schedule-row{display:grid;grid-template-columns:72px 1fr;gap:12px;padding:13px 0;border-bottom:1px solid var(--line)}.schedule-row span{display:grid}.donation-button{margin-top:16px;background:#7b3140;border-color:#7b3140;color:#fff}.faq-list{margin-top:24px;grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.faq-list article{border-top:1px solid var(--line);padding-top:14px}.portal-header{align-items:flex-start;padding:24px 0}.portal-header span{display:inline-flex;align-items:center;gap:7px;color:var(--muted)}.portal-rsvp-panel{margin-top:16px}.not-found{display:grid;place-items:center;align-content:center;gap:16px}@media(max-width:760px){.topbar,.portal-header{align-items:flex-start;flex-direction:column}.topbar-actions{width:100%}.topbar-actions select{flex:1;min-width:0}.task-row,.guest-row,.budget-row,.timeline-row,.insight-grid,.mini-metrics{grid-template-columns:1fr}.table-card{position:relative;left:auto!important;top:auto!important;margin:12px}}@media(min-width:760px){.workspace-grid,.public-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.metric-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.vendor-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.inline-form,.vendor-form,.new-wedding-form{grid-template-columns:repeat(4,minmax(0,1fr)) auto;align-items:center}.detail-form{grid-template-columns:repeat(2,minmax(0,1fr));align-items:end}.compact-form,.guest-form{grid-template-columns:repeat(4,minmax(0,1fr)) auto}.budget-form,.timeline-form{grid-template-columns:repeat(5,minmax(0,1fr)) auto}.task-form{grid-template-columns:1fr 150px 160px auto}.website-editor{grid-template-columns:minmax(0,1fr) minmax(0,1.1fr)}.cost-list.columns{columns:2}}@media(min-width:1040px){.app-shell{grid-template-columns:268px 1fr}.sidebar{position:sticky;top:0;height:100vh;padding:22px;display:grid;grid-template-rows:auto 1fr auto;gap:24px;border-right:1px solid var(--line);background:#fff}.brand-lockup{display:flex;align-items:center;gap:12px}.brand-lockup div:last-child{display:grid;gap:2px}.brand-lockup span{color:var(--muted);font-size:.88rem}.side-nav{display:grid;align-content:start;gap:8px}.nav-item{width:100%;min-height:44px;border:0;border-radius:8px;background:transparent;color:var(--muted);display:flex;align-items:center;gap:10px;padding:0 12px;cursor:pointer}.nav-item.active{background:#eef5f1;color:#23392f;font-weight:800}.cost-chip{display:flex;align-items:center;gap:8px;color:#315744;background:#eef5f1;border-radius:8px;padding:10px;font-weight:750}.main{padding:28px 28px 40px}.mobile-nav{display:none}.seating-layout{grid-template-columns:310px 1fr}.mobile-assign-list{display:none}}
