:root{font-family:Arial,Helvetica,sans-serif;color:#5a3a3a;background:#f9eef1;line-height:1.5;font-weight:400}*{box-sizing:border-box}body{margin:0;min-width:320px}button,input,select{font:inherit}.app-shell{min-height:100vh;background:linear-gradient(180deg,#f9d7e0 0,#f9d7e0 190px,#fdf7f8 190px,#fdf7f8)}.app-container{width:min(1100px,calc(100% - 32px));margin:0 auto;padding:16px 0 34px}.nav{display:flex;gap:10px;justify-content:center;flex-wrap:wrap;margin-bottom:10px;padding:8px 10px;border:1px solid rgba(246,184,208,.48);border-radius:999px;background:#fff7f98c;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);box-shadow:0 10px 22px #7d5c6814}.nav button{border:1px solid transparent;background:#ffffff7a;color:#5a3a3ad1;padding:8px 14px;border-radius:999px;cursor:pointer;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);transition:background-color .16s ease,color .16s ease,box-shadow .16s ease,transform .16s ease,border-color .16s ease}.nav button:hover{transform:translateY(-1px);background:#ffffffad;border-color:#f6b8d073}.nav button.active{background:#ffffffeb;color:#5a3a3a;border-color:#f6b8d0b8;box-shadow:0 6px 18px #f6b8d057,inset 0 1px #fffc}.page-section{background:#fffffff0;border:1px solid rgba(246,184,208,.26);border-radius:22px;box-shadow:0 12px 26px #745b6514;padding:18px;margin-bottom:16px}.drop-zone-active{border-color:#d0678d80;box-shadow:0 0 0 3px #d0678d1f;background:linear-gradient(180deg,#fffbfcfa,#fbf1f5fa)}.page-section h2,.page-section h3{margin-top:0}.page-transition-shell{will-change:opacity,transform;transform-origin:top center}.page-transition-entered{opacity:1;transform:translateY(0)}.page-transition-exiting{opacity:0;transform:translateY(8px);transition:opacity .12s ease,transform .12s ease}.page-transition-entering{animation:pageContentIn .22s cubic-bezier(.22,1,.36,1) forwards}@keyframes pageContentIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.section-heading-row{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px}.section-count{display:inline-flex;align-items:center;justify-content:center;min-width:36px;height:36px;padding:0 10px;border-radius:999px;background:#f4e7eb;color:#7a3d54;font-weight:700}.dashboard-page{display:grid;gap:12px}.dashboard-hero{position:relative;text-align:center;color:#5a3a3a;padding:30px 16px 22px;border-radius:30px;background:radial-gradient(circle at top center,rgba(255,255,255,.7),transparent 40%),radial-gradient(circle at bottom right,rgba(255,255,255,.2),transparent 34%),linear-gradient(135deg,#f3b1cb,#ffc5d3 46%,#f8dde4);box-shadow:0 18px 34px #95707c21;overflow:hidden}.dashboard-hero:before,.dashboard-hero:after{position:absolute;font-family:Georgia,Times New Roman,serif;font-size:4.8rem;line-height:1;color:#ffffff17;pointer-events:none;filter:blur(2px)}.dashboard-hero:before{content:"❀";top:12px;left:16px;transform:rotate(-8deg)}.dashboard-hero:after{content:"✿";right:18px;bottom:10px;font-size:5.3rem;transform:rotate(10deg)}.dashboard-hero-button{width:100%;border:0;cursor:pointer;transition:transform .18s ease,box-shadow .18s ease,filter .18s ease}.dashboard-hero-button:hover{transform:translateY(-1px);box-shadow:0 22px 38px #95707c29;filter:saturate(1.03) brightness(1.01)}.dashboard-hero h1{margin:0;font-size:clamp(3rem,6vw,4.9rem);font-family:Georgia,Times New Roman,serif;font-weight:700;line-height:.98;letter-spacing:-.025em;color:#553636;text-shadow:0 4px 14px rgba(255,255,255,.34)}.dashboard-hero-meta{display:flex;justify-content:center;gap:16px;flex-wrap:wrap;margin-top:14px;color:#5a3a3ac7;font-size:.96rem}.dashboard-hero-meta span{display:inline-flex;align-items:center;gap:6px}.dashboard-hero-date{font-weight:600;letter-spacing:.015em}.dashboard-hero-location{opacity:.78}.dashboard-hero-separator{opacity:.42;font-size:1.05em}.dashboard-hero-countdown-wrap{margin-top:10px}.dashboard-hero-countdown{display:inline-block;color:#64444fcc;font-size:.86rem;font-weight:600;letter-spacing:.02em}.dashboard-hero-action{position:absolute;top:18px;right:18px;display:inline-flex;align-items:center;gap:7px;justify-content:center;min-height:38px;padding:0 14px;border-radius:999px;background:#ffffffd6;border:1px solid rgba(255,255,255,.52);color:#5a3a3ad1;font-size:.82rem;font-weight:700;box-shadow:0 10px 18px #95707c1a;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.dashboard-hero-action svg{width:14px;height:14px}.dashboard-hero-pills{display:flex;justify-content:center;flex-wrap:wrap;gap:8px;margin-top:12px}.dashboard-hero-pill{display:inline-flex;align-items:center;padding:5px 10px;border-radius:999px;background:#ffffff6b;color:#5a3a3ac2;font-size:.76rem;font-weight:700}.summary-label{display:block;margin-bottom:3px;color:#5a3a3a99;font-size:.76rem;letter-spacing:.02em;text-transform:uppercase}.dashboard-edit-button{border:1px solid rgba(246,184,208,.48);background:#ffffffbd;color:#7c5862;border-radius:14px;padding:8px 10px;cursor:pointer;white-space:nowrap;transition:transform .16s ease,background-color .16s ease,box-shadow .16s ease}.dashboard-edit-button:hover{transform:translateY(-1px);background:#ffffffeb;box-shadow:0 8px 16px #95707c1f}.settings-panel{display:grid;gap:14px}.settings-panel-embedded{gap:10px}.settings-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px}.settings-grid label{display:grid;gap:5px}.settings-grid input{border:1px solid rgba(122,61,84,.18);border-radius:10px;padding:8px 10px}.settings-actions{display:flex;justify-content:flex-end;padding-top:10px;margin-top:4px}.settings-card-footer{margin-top:6px;padding-top:14px;border-top:1px solid rgba(122,61,84,.08)}.settings-card{display:grid;gap:10px;padding:12px 14px;border-radius:18px;border:1px solid rgba(122,61,84,.08);background:radial-gradient(circle at top right,rgba(241,212,223,.18),transparent 34%),linear-gradient(180deg,#ffffffeb,#fcf6f8f0)}.settings-card-heading{margin-bottom:0}.settings-card h2{font-size:1rem;margin:0}.tag-editor-list{display:flex;flex-wrap:wrap;gap:8px}.tag-pill{display:inline-flex;align-items:center;gap:8px;border:1px solid rgba(122,61,84,.08);border-radius:999px;padding:8px 10px;background:#f8eef2;color:#734f5f;cursor:pointer;font-weight:700;transition:transform .16s ease,box-shadow .16s ease,background-color .16s ease}.tag-pill:hover{transform:translateY(-1px);box-shadow:0 8px 14px #56364314}.tag-pill-remove{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;border-radius:999px;background:#ffffffbf;font-size:.78rem}.tag-add-button{border:1px dashed rgba(122,61,84,.22);border-radius:999px;padding:8px 12px;background:#ffffffb3;color:#8d6676;cursor:pointer;font-weight:700}.tag-editor-inline input{border:1px solid rgba(122,61,84,.18);border-radius:999px;padding:8px 12px;background:#fffffff5;color:#4d3943;min-width:180px}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:10px}.stat-card{padding:12px;border-radius:16px;border:0;background:#fffbfce0;transition:transform .18s ease,box-shadow .18s ease,background-color .18s ease}.stat-card:hover{transform:translateY(-2px);box-shadow:0 12px 20px #5636430b}.stat-card h3{margin:0 0 6px;font-size:.9rem;color:#775867}.stat-card strong{font-size:1.7rem;color:#7a3d54}.dashboard-stats-grid{grid-template-columns:repeat(3,minmax(0,1fr));align-items:stretch}.dashboard-stat-card{position:relative;padding:14px;border-radius:22px;background:linear-gradient(180deg,#fffffff5,#fbf6f8f0),#fffafb;box-shadow:0 8px 16px #7d5c6809;min-height:170px;display:grid;align-content:start;gap:6px}.dashboard-stat-icon{position:absolute;top:14px;right:14px;width:30px;height:30px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;font-size:.94rem;opacity:.82;background:#ffffffb8;box-shadow:inset 0 1px #ffffffd9}.dashboard-stat-card h3{margin:0;text-transform:uppercase;letter-spacing:.04em;font-size:.7rem;font-weight:600;color:#5a3a3a99}.dashboard-stat-card strong{margin-top:2px}.dashboard-stat-card p{margin:6px 0 0;color:#8f7380;font-size:.78rem;line-height:1.4}.attending-card{background:radial-gradient(circle at top right,rgba(255,255,255,.24),transparent 34%),linear-gradient(180deg,#f2f9f4fa,#ebf6eff2);box-shadow:0 10px 18px #557e5f0b}.dashboard-progress-card{align-content:start;justify-items:center;text-align:center;gap:8px;padding:14px}.dashboard-rsvp-ring{--progress: 0%;width:62px;height:62px;border-radius:50%;display:grid;place-items:center;background:radial-gradient(circle at center,rgba(255,255,255,.96) 56%,transparent 57%),conic-gradient(#d78cab var(--progress),rgba(244,231,235,.92) 0);box-shadow:inset 0 0 0 1px #7a3d540d}.dashboard-rsvp-ring span{color:#7a4d61;font-size:.8rem;font-weight:700}.dashboard-budget-ring{background:radial-gradient(circle at center,rgba(255,255,255,.96) 56%,transparent 57%),conic-gradient(#d7a08c var(--progress),rgba(244,231,235,.92) 0)}.not-attending-card{background:linear-gradient(180deg,#fff9faf5,#fbf2f4f0)}.pending-card{background:linear-gradient(180deg,#fffbf5f5,#fbf6ecf0)}.catering-page{display:grid;gap:7px}.catering-hero,.catering-summary-section,.catering-restrictions-section,.catering-tables-section{background:radial-gradient(circle at top right,rgba(241,212,223,.2),transparent 32%),linear-gradient(180deg,#fffffffa,#fcf6f8f5)}.catering-heading-row{align-items:center;margin-bottom:0}.catering-hero{padding:7px 12px}.catering-hero-copy{display:grid;gap:3px}.catering-hero h2,.catering-summary-section h2,.catering-restrictions-section h2,.catering-tables-section h2{margin-bottom:0}.catering-hero h2{font-size:1.08rem}.catering-export-button{display:inline-flex;align-items:center;gap:6px;padding:6px 9px;border-radius:12px;font-size:.84rem}.catering-export-button span{font-size:.9rem;line-height:1}.catering-summary-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(118px,1fr));gap:6px}.catering-summary-card{padding:7px 9px;border-radius:13px;border:1px solid rgba(122,61,84,.07);background:#ffffffdb;box-shadow:0 4px 9px #48303a09;transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease}.catering-summary-card:hover{transform:translateY(-1px);box-shadow:0 7px 13px #48303a0d}.catering-summary-label{display:block;color:#7f6571;font-size:.79rem;margin-bottom:4px}.catering-summary-card strong{color:#7a3d54;font-size:1.05rem}.catering-summary-card strong span{color:#98727e;font-size:.76rem;font-weight:600}.neutral-card{background:linear-gradient(180deg,#fffaf6,#faf3ee)}.catering-warning-card{border-color:#cda2571a;background:linear-gradient(180deg,#fffdf8fa,#fcf8f0f5);box-shadow:0 2px 6px #a67f3b06}.catering-warning-card .catering-summary-label{color:#ac9666}.catering-warning-card .catering-summary-label:before{content:"·";margin-right:4px;color:#ac9666b8}.catering-warning-card strong{color:#9e8450}.catering-restrictions-section{padding-top:11px;padding-bottom:11px;background:radial-gradient(circle at top right,rgba(241,212,223,.1),transparent 30%),linear-gradient(180deg,#fffffff2,#fbf6f8f0)}.catering-restrictions-section .section-heading-row{margin-bottom:5px}.catering-restrictions-section h2{font-size:.92rem;color:#5a3a3ab8}.catering-restrictions-section .catering-summary-grid{grid-template-columns:repeat(auto-fit,minmax(96px,max-content));gap:4px}.catering-restriction-card{padding:5px 7px;border-color:#7a3d540d;background:#ffffff9e;box-shadow:none;border-radius:999px}.catering-restriction-card .catering-summary-label{font-size:.72rem;color:#957d88;margin-bottom:1px}.catering-restriction-card strong{font-size:.82rem;color:#6e5661}.catering-table-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:6px}.catering-table-card{padding:7px 8px;border-radius:14px;border:1px solid rgba(122,61,84,.08);background:#ffffffdb;box-shadow:0 5px 10px #48303a09;transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease}.catering-table-card:hover{transform:translateY(-1px);border-color:#f6b8d03d;box-shadow:0 7px 14px #48303a0d}.catering-table-header{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:4px}.catering-table-header h3{margin:0;color:#4f3943;font-size:.96rem}.catering-table-card .table-capacity-pill{padding:3px 7px;font-size:.72rem;min-height:22px}.catering-table-meals{display:flex;flex-wrap:wrap;gap:4px}.catering-table-meal{display:inline-flex;align-items:center;gap:5px;padding:3px 6px;border-radius:999px;background:#f8edf2;color:#82586a;font-size:.72rem;font-weight:700}.catering-table-note{margin:4px 0 0;color:#8f6d7c;font-size:.72rem;font-weight:600}.catering-table-guest-notes{display:grid;gap:5px;margin-top:5px}.catering-table-subheading{color:#9a7b87;font-size:.68rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase}.catering-guest-note-list{display:grid;gap:4px}.catering-guest-note-row{display:flex;flex-wrap:wrap;align-items:center;gap:6px;padding:4px 0;border-top:1px solid rgba(122,61,84,.06)}.catering-guest-note-row:first-child{border-top:0;padding-top:0}.catering-guest-note-name{color:#5b404b;font-size:.75rem;font-weight:700}.catering-guest-note-meal{display:inline-flex;align-items:center;padding:2px 6px;border-radius:999px;background:#f8edf2;color:#82586a;font-size:.69rem;font-weight:600}.catering-guest-note-restrictions{display:inline-flex;align-items:center;padding:2px 6px;border-radius:999px;background:#f7f2fb;color:#826c95;font-size:.68rem;font-weight:600}.catering-empty-note{display:inline-flex;align-items:center;padding:3px 0;font-size:.72rem;color:#967b86;margin:0}.budget-page{display:grid;gap:8px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.budget-hero,.budget-category-card,.budget-mini-panel{background:radial-gradient(circle at top right,rgba(241,212,223,.18),transparent 32%),linear-gradient(180deg,#fffffffa,#fcf6f8f5)}.budget-hero{padding:7px 10px}.budget-heading-row{margin-bottom:6px}.budget-hero-copy{display:grid;gap:1px}.budget-hero h2{margin:0;font-size:1.18rem}.budget-export-button{display:inline-flex;align-items:center;gap:6px;padding:4px 8px;border-radius:12px;font-size:.82rem}.budget-progress-panel{display:grid;gap:4px}.budget-progress-copy{display:flex;flex-wrap:wrap;align-items:baseline;gap:8px}.budget-progress-copy strong{color:#6d4052;font-size:1.05rem}.budget-progress-copy span{color:#8d6d79;font-size:.82rem}.budget-progress-percent{display:inline-flex;align-items:center;padding:3px 8px;border-radius:999px;background:#f6b8d02e;color:#875d6f;font-size:.72rem!important;font-weight:700}.budget-progress-percent.is-near{background:#eac48833;color:#91693e}.budget-progress-percent.is-over{background:#e9afad2e;color:#a15e63}.budget-last-updated{color:#b19ba4!important;font-size:.72rem!important}.budget-progress-track{height:8px;border-radius:999px;background:#f5e5eb;overflow:hidden}.budget-progress-fill{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#f6b8d0,#e798b6);transition:width .18s ease,background .18s ease}.budget-progress-near{background:linear-gradient(90deg,#efc18d,#e6aa72)}.budget-progress-over{background:linear-gradient(90deg,#efb9b1,#e3969a)}.budget-progress-warning{margin:0;color:#a06669;font-size:.76rem;font-weight:600}.budget-overview-grid{grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:8px}.budget-stat-card{padding:12px 13px;border-radius:16px;border:1px solid rgba(122,61,84,.08);box-shadow:0 6px 14px #48303a0a;display:grid;gap:4px;transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease}.budget-stat-card:hover{transform:translateY(-2px);box-shadow:0 12px 22px #48303a12}.budget-stat-label{display:block;color:#8d6d79;font-size:.74rem;margin-bottom:0;text-transform:uppercase;letter-spacing:.03em}.budget-stat-card strong{color:#5a3a3a;font-size:1.1rem}.budget-stat-card p{margin:0;color:#92727d;font-size:.76rem}.budget-muted-card{background:linear-gradient(180deg,#ffffffe6,#f9f3f5eb)}.budget-alert-card,.budget-warning-card,.budget-neutral-card{background:linear-gradient(180deg,#fffffffa,#fcf6f8f5)}.budget-alert-card{border-color:#d6968c38}.budget-warning-card{border-color:#d8b78233}.budget-neutral-card{border-color:#7a3d5414}.budget-status-on-track{background:linear-gradient(180deg,#f7fff9f5,#f3fbf6f0);border-color:#99c4a33d}.budget-status-near{background:linear-gradient(180deg,#fffcf5f5,#fcf7eef0);border-color:#dcb77c3d}.budget-status-over{background:linear-gradient(180deg,#fff8f8f7,#fcf1f2f2);border-color:#dd9f9d3d}.budget-status-on-track strong{color:#52725f}.budget-status-near strong{color:#8a6947}.budget-status-over strong{color:#98585e}.budget-overview-input{display:inline-flex;align-items:center;gap:4px;width:fit-content;padding:5px 10px;border-radius:14px;background:#ffffffdb;border:1px solid rgba(122,61,84,.08);box-shadow:inset 0 1px #fff9}.budget-overview-input input{width:100%;max-width:172px;border:0;border-radius:10px;padding:4px 2px;background:transparent;color:#5a3a3a;font:inherit;font-size:1rem;font-weight:700;-moz-appearance:textfield;-webkit-appearance:textfield;appearance:textfield}.budget-overview-input input::-webkit-outer-spin-button,.budget-overview-input input::-webkit-inner-spin-button{margin:0;-webkit-appearance:none}.budget-overview-display{width:fit-content;border:0;padding:0;background:transparent;display:grid;gap:2px;text-align:left;cursor:pointer}.budget-overview-display strong{font-size:1.06rem;color:#5a3a3a}.budget-overview-display span{color:#a07c8b;font-size:.74rem;font-weight:600;transition:color .16s ease}.budget-overview-display:hover span{color:#c06d8c}.budget-edit-hint{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;border-radius:999px;background:transparent;color:#aa8091;font-size:.68rem;transition:background-color .16s ease,color .16s ease}.budget-overview-input:hover .budget-edit-hint,.budget-overview-input:focus-within .budget-edit-hint{background:#f6b8d02e;color:#875f70}.budget-secondary-section{padding-top:0}.budget-insights-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:8px}.budget-mini-panel{padding:9px 10px;border-radius:16px;border:1px solid rgba(122,61,84,.06);box-shadow:0 4px 10px #48303a05;background:linear-gradient(180deg,#fffffff0,#fbf6f8f0)}.budget-mini-panel-muted{opacity:.78}.budget-mini-panel strong{color:#785460;font-size:.92rem}.budget-mini-panel p,.budget-section-copy{margin:3px 0 0;color:#9a7f8a;font-size:.79rem}.budget-category-heading,.budget-expense-heading{align-items:start}.budget-category-add-inline input,.budget-category-name-input,.budget-inline-input input,.budget-expense-row textarea,.budget-checkbox-field input{font:inherit}.budget-category-add-inline input,.budget-category-name-input,.budget-inline-input input,.dashboard-editor-grid textarea{border:1px solid rgba(122,61,84,.16);border-radius:12px;padding:7px 10px;background:#ffffffeb;color:#4d3943}.budget-compact-action{padding:6px 10px;border-radius:12px;font-size:.82rem}.budget-category-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:8px}.budget-category-card{position:relative;padding:10px 11px;border-radius:16px;border:1px solid rgba(122,61,84,.08);background:linear-gradient(to bottom,#fff,#fff9fb);box-shadow:0 8px 18px #48303a0b;display:grid;gap:6px;transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}.budget-category-card:hover{transform:translateY(-2px);box-shadow:0 16px 28px #48303a14}.budget-category-head{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:start}.budget-category-delete{width:28px;height:28px;opacity:0;color:#9b7f8a;transition:opacity .16s ease,color .16s ease,transform .16s ease}.budget-category-card:hover .budget-category-delete,.budget-category-delete:focus-visible{opacity:.9;color:#785461;transform:translateY(-1px)}.budget-category-top{display:flex;justify-content:space-between;gap:8px;align-items:center}.budget-category-title-block{display:grid;gap:9px;min-width:0}.budget-category-top h3{margin:0;color:#523640;cursor:text;font-size:1rem;font-weight:600;line-height:1.15}.budget-percent-pill{display:inline-flex;align-items:center;width:fit-content;padding:2px 7px;border-radius:999px;background:#f7edf1;color:#83576a;font-size:.66rem;font-weight:700}.budget-neutral-card .budget-percent-pill{background:#edf8efd9;color:#53735e}.budget-warning-card .budget-percent-pill{background:#f9efd7eb;color:#9a6c2c}.budget-alert-card .budget-percent-pill{background:#fae4e4eb;color:#ad6670}.budget-category-stats{display:grid;gap:2px;min-width:0}.budget-category-spent{color:#5a3a3a;font-size:1.08rem;line-height:1.05}.budget-category-spent span{color:#8d6d79;font-size:.8rem;font-weight:600}.budget-category-remaining{color:#8d6d79;font-size:.73rem}.budget-category-stats strong,.budget-inline-input strong{color:#5a3a3a}.budget-inline-input{display:grid;gap:4px;color:#8d6d79;font-size:.76rem}.budget-category-inline-edit{justify-items:start}.budget-category-inline-edit input{width:98px;text-align:left;padding:5px 8px;border-radius:999px;border-color:#7a3d541f;background:#ffffffdb}.budget-target-display{width:fit-content;border:0;padding:5px 10px;border-radius:999px;background:#ffffffd1;color:#7d6270;font-size:.76rem;font-weight:700;cursor:pointer;transition:background-color .16s ease,color .16s ease,box-shadow .16s ease,transform .16s ease}.budget-target-display span,.budget-target-display em{color:#a0818f;font-style:normal}.budget-target-display:hover{background:#fffffff0;color:#684652;box-shadow:0 8px 14px #48303a0d}.budget-category-progress{height:8px;border-radius:999px;overflow:hidden;background:#f5e5ebe6;box-shadow:inset 0 1px 2px #7a3d540f}.budget-category-progress span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#f6b8d0,#e798b6);box-shadow:0 1px 6px #e798b642;transition:width .18s ease}.budget-category-actions{display:flex;align-items:center;gap:6px;margin-top:2px;padding-top:6px;border-top:1px solid rgba(122,61,84,.08)}.budget-card-action{padding:4px 8px;border-radius:999px;border:1px solid rgba(122,61,84,.05);background:#ffffffd1;font-size:.74rem;color:#8c6474;font-weight:700;transition:background-color .16s ease,border-color .16s ease,color .16s ease,box-shadow .16s ease,transform .16s ease}.budget-card-action:hover{color:#6e4b59;background:#f8eff4eb;border-color:#d0678d14;transform:translateY(-1px);box-shadow:0 8px 14px #48303a0d}.budget-add-expense-button{color:#6d4052}.budget-delete-copy{margin:0;color:#7c616b;font-size:.92rem}.budget-expense-list{display:grid;gap:7px}.budget-expense-scroll-shell{max-height:min(60vh,760px);overflow-y:auto;overscroll-behavior:contain;padding-right:6px;margin-right:-6px}.budget-expense-scroll-shell::-webkit-scrollbar{width:10px}.budget-expense-scroll-shell::-webkit-scrollbar-track{background:#f6e8eed9;border-radius:999px}.budget-expense-scroll-shell::-webkit-scrollbar-thumb{background:#c488a080;border-radius:999px;border:2px solid rgba(246,232,238,.9)}.budget-expense-scroll-shell::-webkit-scrollbar-thumb:hover{background:#c488a0ad}.budget-expense-row{display:grid;grid-template-columns:minmax(180px,1.15fr) minmax(110px,auto) minmax(170px,1fr) auto;gap:6px;align-items:center;padding:8px 11px;border-radius:16px;border:1px solid rgba(122,61,84,.08);background:linear-gradient(180deg,#fffffffa,#fdf8faf5);box-shadow:0 6px 12px #48303a09;transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}.budget-expense-row:hover{transform:translateY(-1px);box-shadow:0 10px 18px #48303a0e;border-color:#7a3d5421}.budget-expense-main{display:grid;gap:2px;min-width:0}.budget-expense-main strong{color:#5a3a3a;font-size:.95rem}.budget-expense-notes{margin:0;color:#927580;font-size:.74rem;line-height:1.35;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.budget-expense-main span{color:#8d6d79;font-size:.76rem;opacity:.88}.budget-expense-meta{display:flex;flex-wrap:wrap;gap:5px;align-items:center}.budget-expense-amount{color:#5a3a3a;font-size:1.05rem;text-align:right;white-space:nowrap}.budget-expense-amount.is-paid{color:#46775b}.budget-expense-amount.is-unpaid{color:#7b5665}.budget-expense-actions{display:flex;gap:5px;opacity:.38;transition:opacity .16s ease}.budget-expense-row:hover .budget-expense-actions,.budget-expense-actions:focus-within{opacity:1}.budget-paid-toggle{border:1px solid rgba(122,61,84,.12);border-radius:999px;padding:4px 8px;background:#ffffffd6;color:#8a6474;cursor:pointer;font-weight:700;font-size:.72rem;transition:transform .16s ease,background-color .16s ease,border-color .16s ease}.budget-paid-toggle:hover{transform:translateY(-1px);border-color:#7a3d542e}.budget-paid-toggle.is-paid{background:#edf8ef;color:#2f7a46;border-color:#2f7a461f}.budget-expense-header-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.budget-expense-filter{display:grid;gap:6px;color:#876370;font-size:.77rem;font-weight:700}.budget-expense-filter select{min-width:180px;border:1px solid rgba(122,61,84,.12);border-radius:999px;padding:10px 14px;background:#ffffffc7;color:#5a434d;font-size:.84rem;box-shadow:inset 0 1px #ffffffa6;transition:border-color .16s ease,box-shadow .16s ease,background-color .16s ease}.budget-expense-filter select:focus{outline:none;border-color:#d0678d4d;box-shadow:0 0 0 4px #d0678d17;background:#fffffff5}.budget-expense-editor-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.budget-half-field{grid-column:span 1}.budget-paid-pill-group{display:flex;gap:8px}.budget-paid-pill{border:1px solid rgba(122,61,84,.12);border-radius:999px;padding:6px 10px;background:#ffffffdb;color:#8b6877;font:inherit;font-size:.84rem;cursor:pointer;transition:border-color .16s ease,background-color .16s ease,color .16s ease,transform .16s ease}.budget-paid-pill:hover{transform:translateY(-1px)}.budget-paid-pill.is-active.is-paid{background:#edf8ef;border-color:#2f7a4629;color:#2f7a46}.budget-paid-pill.is-active.is-unpaid{background:#faeff3eb;border-color:#7a3d5424;color:#7d5c69}.dashboard-editor-grid textarea{resize:vertical;min-height:92px}.budget-expense-editor-grid textarea{min-height:74px;border-color:#7a3d541f;background:#ffffffe6}.attending-card{background:linear-gradient(180deg,#f7fcf7,#eef8f0)}.not-attending-card{background:linear-gradient(180deg,#fff7f8,#faeff1)}.pending-card{background:linear-gradient(180deg,#fffaf4,#fbf3e5)}.dashboard-overview-section{display:grid;gap:9px;padding:12px 14px;background:radial-gradient(circle at top right,rgba(241,212,223,.24),transparent 32%),linear-gradient(180deg,#fffffffa,#fcf6f8f5)}.dashboard-overview-heading{margin-bottom:0}.dashboard-overview-heading h2{margin:0;font-size:1.06rem}.dashboard-inline-count{color:#8d6d79;font-size:.88em;font-weight:600}.dashboard-overview-heading p{margin-top:1px;font-size:.82rem;color:#8b6d79}.dashboard-overview-controls{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(160px,.55fr);gap:6px;align-items:end}.dashboard-filter-field{display:grid;gap:4px}.dashboard-filter-field span{color:#7d6170;font-size:.84rem;font-weight:700}.dashboard-filter-field input,.dashboard-filter-field select{border:1px solid rgba(122,61,84,.18);border-radius:14px;padding:9px 11px;background:#ffffffeb;color:#4d3943}.dashboard-search-only{gap:0}.dashboard-filter-field input:focus,.dashboard-filter-field select:focus{outline:none;border-color:#d0678d73;box-shadow:0 0 0 4px #d0678d1f}.dashboard-overview-list{display:grid;gap:7px}.dashboard-overview-row{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:10px;align-items:center;padding:9px 11px;border-radius:16px;border:1px solid rgba(122,61,84,.1);background:linear-gradient(180deg,#fffffffa,#fef9fbf5),#fff;box-shadow:0 8px 14px #48303a0d;transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}.dashboard-overview-row:hover{transform:translateY(-1px);border-color:#d0678d29;box-shadow:0 12px 20px #48303a14}.dashboard-overview-main{display:flex;align-items:center;gap:9px;min-width:0}.dashboard-overview-avatar{width:34px;height:34px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;background:linear-gradient(180deg,#f1d7e1,#ebc6d4);color:#8e4761;font-family:Georgia,Times New Roman,serif;font-size:.98rem;font-weight:700;box-shadow:inset 0 1px #fff9}.dashboard-overview-primary{display:grid;gap:1px;min-width:0}.dashboard-overview-primary strong{color:#4f3943;font-size:.94rem}.dashboard-overview-primary span{color:#8c6e7a;font-size:.77rem}.dashboard-table-pill{display:inline-flex;align-items:center;width:fit-content;padding:3px 7px;border-radius:999px;background:#faf2f5;color:#8b6f7c;font-weight:600;font-size:.74rem}.dashboard-overview-meta{display:flex;flex-wrap:wrap;justify-content:flex-start;gap:5px}.dashboard-badge{display:inline-flex;align-items:center;padding:5px 8px;border-radius:999px;font-size:.76rem;font-weight:700;white-space:nowrap;transition:transform .16s ease,filter .16s ease}.dashboard-badge:hover{transform:translateY(-1px);filter:brightness(1.02)}.neutral-badge{background:#f5edf1;color:#855b6c}.meal-badge{background:#fdf5ea;color:#946641}.rsvp-attending{background:#e8f7ec;color:#2f7a46;box-shadow:inset 0 0 0 1px #2f7a4614}.rsvp-not-attending{background:#fcebed;color:#a14458;box-shadow:inset 0 0 0 1px #a1445814}.rsvp-pending{background:#faf3e4;color:#9a7828;box-shadow:inset 0 0 0 1px #9a782814}.dashboard-overview-actions{display:flex;justify-content:flex-end;gap:5px}.dashboard-overview-actions .icon-button:hover{background:#fff7fa;box-shadow:0 8px 12px #56364312}.modal-shell-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:26;padding:0;background:#42253152;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);animation:dashboardEditorFadeIn .18s ease;overflow:hidden}.modal-shell-panel{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);width:min(680px,calc(100vw - 32px));max-height:90vh;margin:0;background:radial-gradient(circle at top right,rgba(241,212,223,.26),transparent 34%),linear-gradient(180deg,#fffffffa,#fcf5f8f7);padding:10px 12px;animation:dashboardEditorPanelIn .22s ease;overflow:hidden;display:flex;flex-direction:column}.modal-shell-panel-confirm{width:min(520px,calc(100vw - 32px));padding:9px 11px}.modal-shell-header{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:8px;flex-shrink:0}.modal-shell-header h2{margin:0}.modal-shell-panel-confirm .modal-shell-header{margin-bottom:2px}.modal-shell-body{flex:1;min-height:0;overflow-y:auto;padding-right:4px}.modal-shell-panel-confirm .modal-shell-body{padding-right:0}.modal-shell-footer{display:flex;justify-content:flex-end;gap:8px;flex-shrink:0;margin-top:8px;padding-top:6px;background:linear-gradient(180deg,#fcf5f800,#fcf5f8f5 28%,#fcf5f8fc)}.modal-shell-panel-confirm .modal-shell-footer{margin-top:4px;padding-top:4px}.dashboard-editor-grid{grid-template-columns:1fr;gap:7px}.dashboard-editor-column{display:grid;gap:8px}.dashboard-editor-grid label{display:grid;gap:5px;color:#6f5663;font-weight:600}.dashboard-editor-full{grid-column:1 / -1}.dashboard-editor-fieldset{display:grid;gap:5px}.dashboard-editor-label{color:#6f5663;font-size:.92rem;font-weight:600}.dashboard-editor-grid input,.dashboard-editor-grid select{border:1px solid rgba(122,61,84,.18);border-radius:14px;padding:7px 10px;background:#fffffff0;color:#4d3943}.dashboard-editor-grid input:focus,.dashboard-editor-grid select:focus{outline:none;border-color:#d0678d73;box-shadow:0 0 0 4px #d0678d1f}.modal-shell-footer .primary-button{padding:8px 13px;border-radius:10px}.modal-shell-footer .ghost-button{padding:7px 10px;border-radius:10px;font-size:.92rem;background:#fffafca3;color:#94717f;border-color:#7a3d5414}.modal-shell-footer .primary-button:hover{transform:translateY(-1px) scale(1.01)}.edit-modal-close-button{width:32px;height:32px;padding:0;border-radius:999px;background:#fffafc94;color:#8f6a79;border-color:#7a3d541a;font-size:.9rem;display:inline-flex;align-items:center;justify-content:center}.modal-shell-panel-confirm .edit-modal-close-button{width:26px;height:26px;background:#fffafc61;color:#ab8e99;border-color:#7a3d540d}.modal-shell-panel-confirm .edit-modal-close-button svg{width:12px;height:12px}.modal-confirm-copy{margin:0;color:#81646f;font-size:.9rem;line-height:1.45}.modal-confirm-copy strong{color:#5b3d49}.edit-modal-close-button svg{width:14px;height:14px}.guest-list-page{display:block;width:min(100%,1180px);margin:0 auto;padding-inline:clamp(10px,3vw,28px)}.guest-form-panel,.guest-list-panel{position:relative;overflow:hidden}.guest-list-panel{display:flex;flex-direction:column}.guest-form-panel:before,.guest-list-panel:before{content:"";position:absolute;inset:0 auto auto 0;width:100%;height:1px;background:linear-gradient(90deg,#d0678d57,#d0678d00)}.guest-section-heading{margin-bottom:10px}.section-kicker{display:inline-flex;align-items:center;padding:6px 10px;border-radius:999px;background:#d0678d1a;color:#9f536f;font-size:.78rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase}.guest-section-heading h2{margin:8px 0 4px}.guest-section-heading p{margin:0;color:#8d6d79;line-height:1.45;font-size:.88rem}.guest-list-heading-row{display:flex;align-items:center;justify-content:space-between;gap:12px}.guest-list-heading .section-kicker{padding:3px 8px;font-size:.68rem;opacity:.68}.guest-list-heading-main{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.guest-list-heading h2{font-size:clamp(1.75rem,2.5vw,2.1rem)}.guest-count-pill{display:inline-flex;align-items:center;justify-content:center;padding:7px 11px;border-radius:999px;background:#f8eef2;color:#8a5268;font-size:.84rem;font-weight:700}.guest-add-button{white-space:nowrap;display:inline-flex;align-items:center;gap:7px;padding:8px 12px;border-radius:12px;font-size:.9rem}.guest-add-button span{font-size:1rem;line-height:1}.guest-form{display:grid;gap:15px;padding:20px;border:1px solid rgba(122,61,84,.1);border-radius:22px;background:linear-gradient(180deg,#fffffffa,#fdf7f9fa),#fff;box-shadow:0 14px 30px #56364312}.guest-form-compact{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 14px;padding:0}.guest-form-wide{grid-column:1 / -1}.restriction-field-group{display:grid;gap:8px}.restriction-field-header{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.restriction-helper-text{margin:3px 0 0;color:#8b6d79;font-size:.8rem;line-height:1.4}.restriction-toggle{padding:8px 11px;border-radius:10px;white-space:nowrap}.restriction-select-wrap,.dashboard-restriction-field{display:grid;gap:6px}.selection-pill-grid,.restriction-pill-grid{display:flex;flex-wrap:wrap;gap:5px}.selection-pill-button,.restriction-pill-button{border:1px solid rgba(122,61,84,.18);border-radius:999px;padding:6px 9px;background:#ffffffe0;color:#7f6170;cursor:pointer;font-weight:700;font-size:.8rem;transition:border-color .16s ease,background-color .16s ease,color .16s ease,transform .16s ease,box-shadow .16s ease}.selection-pill-button:hover,.restriction-pill-button:hover{transform:translateY(-1px) scale(1.01);border-color:#d0678d47;box-shadow:0 6px 12px #56364314}.selection-pill-button.selected,.restriction-pill-button.selected{background:linear-gradient(180deg,#f3d4df,#edc4d3);border-color:#d0678d6b;color:#87445e;box-shadow:inset 0 0 0 1px #d0678d1a,0 6px 10px #d0678d14}.selection-pill-button{background:#ffffffe6}.selection-pill-button.selected{background:linear-gradient(180deg,#f2d7e0,#ecc8d6)}.none-pill{color:#8d7180}.disabled-pill{opacity:.45;cursor:not-allowed;filter:saturate(.7)}.disabled-pill:hover{transform:none;box-shadow:none;border-color:#7a3d542e}.dashboard-editor-select-light{font-size:.84rem;padding:6px 10px;border-radius:12px;background:#fffc;border-color:#7a3d5424}.restriction-clear-link{border:0;padding:0;background:transparent;color:#a05d77;cursor:pointer;font-size:.82rem;font-weight:700}.restriction-clear-link:hover{color:#bd6488}@keyframes dashboardEditorFadeIn{0%{opacity:0}to{opacity:1}}@keyframes dashboardEditorPanelIn{0%{opacity:0;transform:translate(-50%,calc(-50% + 10px)) scale(.985)}to{opacity:1;transform:translate(-50%,-50%) scale(1)}}.guest-form label{display:grid;gap:8px;color:#6b5360;font-weight:600}.guest-form label span{font-size:.94rem}.guest-form input,.guest-form select,.table-assign select{border:1px solid rgba(122,61,84,.2);border-radius:14px;padding:12px 14px;background:#fffffff5;color:#4d3943;transition:border-color .16s ease,box-shadow .16s ease,background-color .16s ease}.guest-form-compact label{gap:6px}.guest-form-compact input,.guest-form-compact select{padding:10px 12px;border-radius:12px}.guest-form select[multiple]{min-height:108px;padding-block:8px}.guest-form-compact select[multiple]{min-height:94px}.guest-form input:focus,.guest-form select:focus,.table-assign select:focus{outline:none;border-color:#d0678d73;box-shadow:0 0 0 4px #d0678d1f;background:#fff}.primary-button,.delete-button,.ghost-button{border:0;border-radius:12px;padding:11px 16px;cursor:pointer;font-weight:700;transition:transform .16s ease,box-shadow .16s ease,background-color .16s ease}.primary-button:hover,.delete-button:hover,.ghost-button:hover{transform:translateY(-1px)}.primary-button{background:#d0678d;color:#fff;box-shadow:0 10px 18px #d0678d38}.delete-button{background:#f4e5ea;color:#9b3455}.ghost-button{background:#fffafcd1;color:#8a6474;border:1px solid rgba(122,61,84,.12);box-shadow:none}.app-meta-bar{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px;padding:4px 4px 0}.app-meta-copy,.app-meta-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.app-save-status{display:inline-flex;align-items:center;min-height:34px;padding:0 12px;border-radius:999px;background:#fff9fbc2;border:1px solid rgba(246,184,208,.3);color:#5a3a3ac7;font-size:.92rem;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.app-save-status{color:#7f5062;font-weight:600}.app-meta-button{min-height:34px;padding:8px 12px;border-radius:999px;font-size:.92rem}.app-meta-button-delete{min-height:30px;padding:6px 10px;font-size:.82rem;color:#9b7a87;border-color:#7a3d5414;background:#fffafc9e}.app-meta-button-delete:hover{color:#8b6674;border-color:#7a3d541f;background:#fffafcc7}.auth-page{min-height:100vh;display:grid;place-items:center;padding:28px 16px}.auth-panel{width:min(560px,100%);margin-bottom:0;padding:28px 24px;background:radial-gradient(circle at top right,rgba(245,222,230,.28),transparent 30%),linear-gradient(180deg,#fffffffa,#fdf6f8fa)}.auth-panel h1{margin:6px 0 10px;font-size:clamp(2rem,4vw,2.7rem);font-family:Georgia,Times New Roman,serif;color:#553636}.auth-panel p{margin:0;color:#5a3a3ac7}.auth-code-card{display:grid;gap:10px;margin-top:18px;padding:16px;border-radius:16px;background:#fbf1f5b3;border:1px solid rgba(246,184,208,.28)}.auth-code-card code{font-size:.94rem;color:#7a3d54;word-break:break-all}.auth-form{display:grid;gap:14px;margin-top:20px}.auth-form label{display:grid;gap:8px;color:#6f4a58;font-weight:600}.auth-form input{width:100%;padding:12px 14px;border-radius:14px;border:1px solid rgba(246,184,208,.3);background:#fffffff0;color:#5a3a3a;transition:border-color .16s ease,box-shadow .16s ease,background-color .16s ease}.auth-form input:focus{outline:none;border-color:#d0678d73;box-shadow:0 0 0 4px #d0678d1f;background:#fff}.auth-message,.auth-error{margin:0;padding:10px 12px;border-radius:12px;font-size:.94rem}.auth-message{background:#fff7facc;color:#7a5160}.auth-error{background:#ffeef2e0;color:#a24766}.auth-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:10px}.auth-actions-single{justify-content:flex-start}.guest-form-actions{display:flex;flex-wrap:wrap;gap:10px;padding-top:4px}.guest-form-compact .guest-form-actions{grid-column:1 / -1;justify-content:flex-end;gap:8px;padding-top:0}.guest-form-compact .primary-button,.guest-form-compact .ghost-button{padding:9px 14px;border-radius:10px}.guest-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:25;display:flex;align-items:center;justify-content:center;padding:24px 16px;background:#42253147;-webkit-backdrop-filter:blur(9px);backdrop-filter:blur(9px)}.guest-modal-panel,.guest-confirm-panel{width:min(680px,100%);margin:0;background:radial-gradient(circle at top right,rgba(241,212,223,.24),transparent 34%),linear-gradient(180deg,#fffffffa,#fcf6f8f7)}.guest-confirm-panel{width:min(520px,100%)}.guest-modal-header{margin-bottom:4px}.guest-modal-content .guest-form{padding:0;border:0;border-radius:0;background:transparent;box-shadow:none}.guest-list-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:2px 0 12px}.guest-toolbar-tools{display:flex;align-items:center;gap:10px;flex-wrap:wrap;justify-content:flex-end}.guest-filter-tabs{display:inline-flex;align-items:center;gap:6px;flex-wrap:wrap;padding:4px;border-radius:999px;background:#f9eef3d1;box-shadow:inset 0 0 0 1px #d0678d0f}.guest-filter-tab{border:0;display:inline-flex;align-items:center;gap:7px;padding:7px 11px;border-radius:999px;background:transparent;color:#8d6b79;font-size:.78rem;font-weight:700;cursor:pointer;transition:background-color .16s ease,color .16s ease,box-shadow .16s ease,transform .16s ease}.guest-filter-tab strong{font-size:.73rem;color:inherit;opacity:.78}.guest-filter-tab:hover{color:#7f5265;background:#ffffffb3}.guest-filter-tab.is-active{background:linear-gradient(180deg,#fffffff5,#fdf5f8eb);color:#8d4460;box-shadow:0 8px 14px #764e5c14}.guest-search-field{width:min(320px,100%)}.guest-sort-field{display:grid;gap:6px;color:#876370;font-size:.77rem;font-weight:700}.guest-sort-field select{min-width:172px;border:1px solid rgba(122,61,84,.12);border-radius:999px;padding:10px 14px;background:#ffffffc7;color:#5a434d;font-size:.84rem;box-shadow:inset 0 1px #ffffffa6;transition:border-color .16s ease,box-shadow .16s ease,background-color .16s ease}.guest-search-field input{width:100%;border:1px solid rgba(122,61,84,.12);border-radius:999px;padding:10px 14px;background:#ffffffc7;color:#5a434d;font-size:.86rem;box-shadow:inset 0 1px #ffffffa6;transition:border-color .16s ease,box-shadow .16s ease,background-color .16s ease}.guest-search-field input:focus{outline:none;border-color:#d0678d4d;box-shadow:0 0 0 4px #d0678d17;background:#fffffff5}.guest-sort-field select:focus{outline:none;border-color:#d0678d4d;box-shadow:0 0 0 4px #d0678d17;background:#fffffff5}.guest-filter-hint{margin:0 0 10px;color:#8d6d79;font-size:.82rem}.guest-list{display:grid;gap:10px}.guest-list-scroll-shell{max-height:min(68vh,900px);overflow-y:auto;overscroll-behavior:contain;padding-right:6px;margin-right:-6px}.guest-list-scroll-shell::-webkit-scrollbar{width:10px}.guest-list-scroll-shell::-webkit-scrollbar-track{background:#f8eef2b8;border-radius:999px}.guest-list-scroll-shell::-webkit-scrollbar-thumb{background:#c488a057;border-radius:999px;border:2px solid rgba(248,238,242,.78)}.guest-list-scroll-shell::-webkit-scrollbar-thumb:hover{background:#c488a075}.guest-row{display:grid;grid-template-columns:minmax(180px,1.1fr) minmax(180px,1fr) minmax(118px,138px) auto;gap:12px;align-items:center;padding:11px 13px;border:1px solid rgba(246,184,208,.18);border-radius:22px;background:linear-gradient(180deg,#fffffffa,#fcf7f9f2),#fff;box-shadow:0 10px 18px #48303a0d;cursor:pointer;transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease,background-color .16s ease}.guest-row:hover{transform:translateY(-2px);border-color:#f6b8d061;box-shadow:0 16px 28px #7d5c681a}.guest-row-header{display:flex;align-items:center;gap:9px;min-width:0}.guest-avatar{width:38px;height:38px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;background:linear-gradient(180deg,#f1d7e1,#ebc6d4);color:#8e4761;font-family:Georgia,Times New Roman,serif;font-size:1.15rem;font-weight:700;box-shadow:inset 0 1px #fff9}.guest-avatar-tone-1{background:linear-gradient(180deg,#f1d7e1,#ebc6d4)}.guest-avatar-tone-2{background:linear-gradient(180deg,#f1dfe8,#e8d0df)}.guest-avatar-tone-3{background:linear-gradient(180deg,#efd9d3,#e8c9c2)}.guest-avatar-tone-4{background:linear-gradient(180deg,#ead9e9,#dec8df)}.guest-identity{display:grid;gap:1px;min-width:0}.guest-identity strong{display:block;color:#4f3943;font-size:1rem;line-height:1.15;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.guest-identity span{color:#9a7d89;font-size:.78rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.guest-meta{display:flex;flex-wrap:wrap;gap:5px;align-items:center;min-width:0}.guest-pill{display:inline-flex;align-items:center;gap:4px;padding:4px 8px;border-radius:999px;background:#f8f1f4;color:#866171;font-size:.73rem;font-weight:600;line-height:1.1;white-space:nowrap}.guest-pill-rsvp{font-weight:700;box-shadow:inset 0 0 0 1px #ffffff59}.restriction-pill{padding:3px 7px;background:#fbf7fb;color:#9d8ca9;font-size:.68rem;font-weight:500}.table-assign{display:flex;justify-content:flex-end}.guest-row-table{min-width:0}.guest-row .table-assign select{min-width:0;width:100%;padding:6px 24px 6px 11px;border-radius:999px;font-size:.76rem;font-weight:600;color:#7a616b;background:#ffffffd1;border-color:#7a3d5424;box-shadow:inset 0 1px #ffffffb8}.guest-table-select{-moz-appearance:none;appearance:none;-webkit-appearance:none;cursor:pointer;background-image:linear-gradient(45deg,transparent 50%,#9f7685 50%),linear-gradient(135deg,#9f7685 50%,transparent 50%);background-position:calc(100% - 14px) calc(50% - 1px),calc(100% - 9px) calc(50% - 1px);background-size:5px 5px,5px 5px;background-repeat:no-repeat}.seating-unassigned-list{display:grid;gap:6px;overflow-y:auto;padding-right:4px}.seating-unassigned-section{background:radial-gradient(circle at top left,rgba(243,214,225,.28),transparent 34%),linear-gradient(180deg,#fffffffa,#fcf2f6f5);padding:8px;display:grid;align-content:start;gap:5px;max-height:calc(100vh - 220px);position:sticky;top:20px;border-color:#7a3d5414;box-shadow:0 8px 16px #48303a0a}.seating-unassigned-section.is-empty{gap:3px;padding-bottom:10px;align-content:start}.seating-unassigned-section.is-empty .seating-panel-heading{margin-bottom:4px}.seating-unassigned-section.is-empty .empty-state{max-width:18ch;font-size:.8rem;line-height:1.35}.seating-intro-section{background:radial-gradient(circle at top right,rgba(208,103,141,.12),transparent 32%),linear-gradient(180deg,#fffcfdfa,#fbf5f7f2)}.seating-top-section{padding:8px 10px}.seating-top-header{display:flex;justify-content:space-between;align-items:center;gap:10px}.seating-create-button{padding:6px 11px;border-radius:10px;font-size:.88rem;color:#fffdfd;box-shadow:0 5px 10px #d0678d1c}.seating-guest-row{display:flex;justify-content:space-between;gap:8px;align-items:center;border-radius:13px;padding:8px;background:linear-gradient(180deg,#fffffffa,#fdf6f9f5),#fff;box-shadow:0 6px 12px #452e370a,inset 0 1px #ffffff80;transition:transform .15s ease,box-shadow .15s ease,border-color .15s ease,background-color .15s ease,filter .15s ease}.seating-guest-row:hover{transform:translateY(-2px) scale(1.01);background:linear-gradient(180deg,#fff,#fff8fbfa),#fff;box-shadow:0 12px 20px #452e3712,inset 0 1px #ffffff80}.seating-guest-row:after{content:"⋮⋮";color:#8e64738f;font-size:.72rem;letter-spacing:-1px;transition:color .15s ease,opacity .15s ease,transform .15s ease}.seating-guest-row:hover:after{color:#8e6473c2;transform:translate(1px)}.draggable-guest{cursor:grab;position:relative;transform:none}.draggable-guest:hover{cursor:grab}.draggable-guest:active{cursor:grabbing}.draggable-guest.is-dragging{transform:translateY(-1px) scale(1.03) rotate(-1.2deg);box-shadow:0 18px 32px #452e3724,inset 0 1px #ffffff8c;z-index:2}.seating-guest-info{display:grid;gap:2px;min-width:0}.seating-guest-info strong{color:#533b45;font-size:.85rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.seating-guest-info span{color:#8a6876;font-size:.74rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.seating-guest-tag{display:inline-flex;align-items:center;padding:3px 6px;border-radius:999px;background:#f8edf2;color:#8a5b6e;font-size:.7rem;font-weight:700;white-space:nowrap}.seating-helper-text{margin:-2px 0 2px;color:#9a7d89;font-size:.74rem}.guest-actions{display:flex;gap:5px;flex-wrap:nowrap;justify-content:flex-end;padding:2px;border-radius:12px;background:#fffafcc2;opacity:0;transform:translate(4px);pointer-events:none;transition:opacity .16s ease,transform .16s ease,background-color .16s ease}.guest-row:hover .guest-actions,.guest-row:focus-within .guest-actions{opacity:1;transform:translate(0);pointer-events:auto}.guest-actions .icon-button:hover{background:#fff7fa;box-shadow:0 8px 12px #56364312}.icon-button{width:32px;height:32px;border:1px solid rgba(246,184,208,.2);border-radius:10px;background:#ffffffbd;color:#8c6473;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:background-color .16s ease,border-color .16s ease,color .16s ease,transform .16s ease,box-shadow .16s ease}.icon-button:hover{background:#fff9fb;border-color:#f6b8d075;color:#a24e6c;transform:translateY(-1px);box-shadow:0 8px 14px #5636430f}.icon-button svg{width:15px;height:15px}.empty-state{color:#7b6670;margin:0}.guest-filter-empty{margin-top:10px}.table-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:8px}.seating-table-scroll-shell{max-height:min(72vh,980px);overflow-y:auto;overscroll-behavior:contain;padding-right:6px;margin-right:-6px}.seating-table-scroll-shell::-webkit-scrollbar{width:10px}.seating-table-scroll-shell::-webkit-scrollbar-track{background:#f8eef2b8;border-radius:999px}.seating-table-scroll-shell::-webkit-scrollbar-thumb{background:#c488a057;border-radius:999px;border:2px solid rgba(248,238,242,.78)}.seating-table-scroll-shell::-webkit-scrollbar-thumb:hover{background:#c488a075}.table-create-row{display:flex;gap:14px;align-items:end}.table-card{border:1px solid rgba(122,61,84,.1);border-radius:20px;padding:8px;background:#fff;transform:none;min-height:100%;background:radial-gradient(circle at top left,rgba(248,222,231,.35),transparent 34%),linear-gradient(180deg,#fffffffa,#fcf6f8f5);box-shadow:0 10px 18px #452e370f;transition:box-shadow .16s ease,border-color .16s ease}.table-card-empty{padding-bottom:6px}.table-card:hover{border-color:#f6b8d03d;box-shadow:0 14px 22px #452e3714}.table-card-header{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-bottom:4px}.table-card-title{min-width:0}.table-card h3{margin:0;color:#4f3943;font-size:.98rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;cursor:text}.table-name-input{width:100%;max-width:100%;border:1px solid rgba(246,184,208,.28);border-radius:10px;padding:4px 8px;background:#fffffff0;color:#4f3943;font:inherit;font-weight:700;outline:none;box-shadow:inset 0 1px #fffc}.table-name-input:focus{border-color:#d0678d61;box-shadow:inset 0 1px #fffc,0 0 0 3px #d0678d1a}.seating-inline-count{color:#8c6d79;font-size:.88em;font-weight:600}.table-capacity-pill{display:inline-flex;align-items:center;padding:3px 7px;border-radius:999px;background:linear-gradient(180deg,#f8edf1,#f4e2e9);color:#7a3d54;font-weight:700;font-size:.76rem;white-space:nowrap;box-shadow:inset 0 1px #ffffff8c}.table-capacity-inline{gap:3px;transition:box-shadow .18s ease,background-color .18s ease,border-color .18s ease}.table-capacity-inline input{width:32px;border:0;background:transparent;padding:0;color:inherit;font:inherit;font-weight:700;text-align:left;outline:none}.table-capacity-inline input::-webkit-outer-spin-button,.table-capacity-inline input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.table-capacity-inline input[type=number]{-moz-appearance:textfield}.table-capacity-inline em{font-style:normal;font-size:.66rem;font-weight:700;color:#7ca06f}.table-capacity-inline:focus-within,.table-capacity-inline.saved{background:linear-gradient(180deg,#f7eff2,#f3e4ea);box-shadow:inset 0 1px #ffffff8c,0 0 0 3px #d0678d1a}.table-card-tools{display:flex;align-items:center;gap:4px}.table-warning{color:#9b3455;font-weight:600;font-size:.8rem;margin:0 0 4px}.table-empty-state{display:grid;gap:2px;padding:4px 8px;border-radius:16px;background:#ffffff75;border:1px dashed rgba(122,61,84,.1);opacity:.9;min-height:40px;align-content:center}.table-empty-state .empty-state{color:#927481;font-size:.74rem;line-height:1.2}.table-empty-state .empty-state:before{content:"— "}.table-guests{margin:6px 0 0;padding-left:0;list-style:none;display:grid;gap:6px}.assigned-guest-item{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:6px 7px;border-radius:14px;background:linear-gradient(180deg,#fffefe,#faf4f7);border:1px solid rgba(122,61,84,.08);box-shadow:0 5px 10px #452e370a;transform:none;transition:box-shadow .15s ease,background-color .15s ease,border-color .15s ease,opacity .15s ease}.assigned-guest-item:hover{box-shadow:0 8px 14px #452e370e;background:linear-gradient(180deg,#fffefe,#fcf7f9)}.assigned-guest-item.was-dropped{animation:seatingDropSettle .24s ease}.assigned-guest-main{min-width:0;display:grid;gap:2px}.assigned-guest-name-row{display:flex;align-items:center;gap:6px;min-width:0}.assigned-guest-name{color:#47333d;font-weight:700;font-size:.82rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.assigned-guest-rsvp-pill{flex-shrink:0;display:inline-flex;align-items:center;height:18px;padding:0 6px;border-radius:999px;background:#f1ddbc6b;color:#8d7047;font-size:.61rem;font-weight:600;letter-spacing:.02em}.assigned-guest-meal{color:#8b6c79;font-size:.7rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.assigned-guest-actions{display:flex;align-items:center}.assigned-guest-actions button{width:20px;height:20px;border:0;border-radius:999px;padding:0;background:#f4e4ea;color:#933e5e;font-weight:700;font-size:.92rem;line-height:1;cursor:pointer}.seating-planner-layout{display:grid;grid-template-columns:minmax(240px,280px) minmax(0,1fr);gap:12px;align-items:start}.seating-tables-column,.seating-tables-panel{min-width:0}.seating-tables-panel{padding:12px}.seating-panel-heading{margin-bottom:8px}.drop-zone-active.table-card,.drop-zone-active.seating-unassigned-section{border-color:#d0678d61;box-shadow:0 14px 26px #d0678d1c,0 0 0 4px #d0678d14}@keyframes seatingDropSettle{0%{opacity:.68;background:linear-gradient(180deg,#fffefe,#f8eef3);box-shadow:0 10px 18px #452e3714}to{opacity:1;background:linear-gradient(180deg,#fffefe,#faf4f7);box-shadow:0 5px 10px #452e370a}}@media (max-width: 800px){.dashboard-stats-grid,.dashboard-quick-strip,.dashboard-overview-controls,.dashboard-overview-row,.dashboard-editor-grid{grid-template-columns:1fr}.dashboard-overview-meta,.dashboard-overview-actions{justify-content:flex-start}.guest-form-compact,.seating-top-header{grid-template-columns:1fr;flex-direction:column;align-items:stretch}.seating-planner-layout{grid-template-columns:1fr}.seating-unassigned-section{position:static;max-height:none}.seating-table-scroll-shell{max-height:none;overflow:visible;padding-right:0;margin-right:0}.table-create-row{flex-direction:column;align-items:stretch}.table-card-header,.guest-row{flex-direction:column;align-items:flex-start}.guest-row{grid-template-columns:1fr;gap:10px}.guest-list-toolbar{flex-direction:column;align-items:stretch}.guest-search-field,.guest-list-heading-row{width:100%}.guest-actions{justify-content:flex-start;opacity:1;transform:none;pointer-events:auto}.guest-toolbar-tools{width:100%;justify-content:stretch}.guest-sort-field,.guest-search-field{width:100%}.guest-list-scroll-shell{max-height:none;overflow:visible;padding-right:0;margin-right:0}.guest-list-heading-row{align-items:flex-start;flex-direction:column}.budget-heading-row,.budget-expense-row,.budget-category-top{grid-template-columns:1fr;flex-direction:column;align-items:stretch}.budget-expense-scroll-shell{max-height:none;overflow:visible;padding-right:0;margin-right:0}.budget-expense-actions{justify-content:flex-start}}@media (max-width: 560px){.dashboard-hero{padding:24px 14px 18px}.dashboard-hero h1{font-size:clamp(2.35rem,12vw,3.35rem)}.dashboard-hero-meta{gap:10px;flex-direction:column}.dashboard-hero-pills{justify-content:center}.budget-overview-grid,.budget-insights-grid,.budget-category-grid{grid-template-columns:1fr}}
