@import"https://fonts.googleapis.com/css2?family=Playfair+Display:ital,wght@0,400;0,500;0,600;0,700;1,400;1,500&family=Lato:ital,wght@0,300;0,400;0,700;1,300;1,400&display=swap";.currency-picker{margin-top:1rem;padding-top:1rem;border-top:1px solid var(--color-blush)}.currency-selector{display:flex;align-items:center;gap:.5rem}.currency-icon{font-size:1rem}.currency-select{flex:1;padding:6px 8px;border:1px solid var(--color-blush);border-radius:var(--radius-sm);background:var(--color-white);font-size:var(--text-sm);color:var(--color-secondary);cursor:pointer}.currency-select:focus{outline:none;border-color:var(--color-gold)}.settings-btn{background:none;border:none;cursor:pointer;font-size:1rem;padding:4px;opacity:.7;transition:opacity .2s}.settings-btn:hover{opacity:1}.current-rate{font-size:var(--text-xs);color:var(--color-secondary);margin-top:.5rem;text-align:center;opacity:.8}.modal-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000}.modal-content{background:var(--color-white);border-radius:var(--radius-lg);padding:2rem;width:90%;max-width:400px;box-shadow:var(--shadow-lg)}.modal-content h3{font-family:var(--font-serif);font-size:1.5rem;margin-bottom:.5rem;color:var(--color-primary)}.modal-subtitle{font-size:var(--text-sm);color:var(--color-secondary);margin-bottom:1.5rem}.rates-grid{display:flex;flex-direction:column;gap:1rem;margin-bottom:1.5rem}.rate-row{display:flex;justify-content:space-between;align-items:center;padding:.75rem;background:var(--background-secondary);border-radius:var(--radius-md)}.rate-row label{font-weight:600;color:var(--color-secondary)}.rate-input-group{display:flex;align-items:center;gap:.5rem}.rate-input-group span{font-size:var(--text-sm);color:var(--color-secondary)}.rate-input-group input{width:100px;padding:6px 8px;border:1px solid var(--color-blush);border-radius:var(--radius-sm);text-align:right;font-size:var(--text-sm)}.rate-input-group input:focus{outline:none;border-color:var(--color-gold)}.modal-actions{display:flex;justify-content:flex-end;gap:.75rem}.btn-secondary{background:var(--color-blush);color:var(--color-secondary);border:none;padding:8px 16px;border-radius:var(--radius-md);cursor:pointer;font-size:var(--text-sm)}.btn-secondary:hover{background:var(--color-cream)}.sidebar{position:fixed;left:0;top:0;width:var(--sidebar-width);height:100vh;background:var(--color-white);border-right:1px solid var(--color-blush);display:flex;flex-direction:column;overflow-y:auto;z-index:100}.sidebar-header{padding:var(--space-6);border-bottom:1px solid var(--color-blush)}.sidebar-title{font-family:var(--font-serif);font-size:var(--text-2xl);font-weight:500;color:var(--color-primary);margin-bottom:var(--space-2)}.sidebar-date{font-size:var(--text-sm);color:var(--color-secondary)}.sidebar-tagline{padding:var(--space-4) var(--space-6);background:var(--color-blush);margin:var(--space-4);border-radius:var(--radius-md)}.sidebar-tagline p{font-size:var(--text-sm);color:var(--color-secondary);font-style:italic;line-height:1.5}.sidebar-countdown{display:flex;flex-direction:column;align-items:center;padding:var(--space-4) var(--space-6);margin:0 var(--space-4) var(--space-4);background:linear-gradient(135deg,var(--color-burgundy),var(--color-rose));border-radius:var(--radius-lg);color:var(--color-white)}.countdown-number{font-family:var(--font-serif);font-size:var(--text-4xl);font-weight:600;line-height:1}.countdown-label{font-size:var(--text-sm);opacity:.9;margin-top:var(--space-1)}.sidebar-nav{flex:1;padding:var(--space-4);display:flex;flex-direction:column;gap:var(--space-1)}.nav-item{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);color:var(--color-secondary);font-size:var(--text-sm);font-weight:500;text-decoration:none;transition:all var(--transition-fast)}.nav-item:hover{background:var(--color-blush);color:var(--color-primary)}.nav-item-active,.nav-item-active:hover{background:var(--color-burgundy);color:var(--color-white)}.nav-icon{font-size:var(--text-lg);width:24px;text-align:center}.nav-label{flex:1}.sidebar-footer{padding:var(--space-6);border-top:1px solid var(--color-blush);text-align:center}.couple-names{font-family:var(--font-serif);font-size:var(--text-xl);font-weight:500;color:var(--color-primary)}.ampersand{color:var(--color-rose);font-style:italic;margin:0 var(--space-2)}.sidebar::-webkit-scrollbar{width:4px}.sidebar::-webkit-scrollbar-track{background:transparent}.sidebar::-webkit-scrollbar-thumb{background:var(--color-rose-light);border-radius:var(--radius-full)}.layout{display:flex;min-height:100vh}.main-content{flex:1;margin-left:var(--sidebar-width);padding:var(--space-8);background:var(--color-champagne);min-height:100vh}.page-header{text-align:center;margin-bottom:var(--space-8)}.page-title{font-family:var(--font-serif);font-size:var(--text-4xl);font-weight:400;color:var(--color-primary)}.page-title span{font-style:italic;color:var(--color-burgundy)}.grid-2{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-6)}.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-6)}.grid-4{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--space-6)}@media(max-width:1400px){.grid-4{grid-template-columns:repeat(2,1fr)}}@media(max-width:1200px){.grid-3{grid-template-columns:repeat(2,1fr)}.main-content{padding:var(--space-6)}}@media(max-width:992px){.sidebar{width:80px}.sidebar .sidebar-tagline,.sidebar .sidebar-header p,.sidebar .nav-label,.sidebar .sidebar-footer{display:none}.sidebar .sidebar-title{font-size:var(--text-lg);text-align:center}.sidebar .countdown-label{display:none}.main-content{margin-left:80px}.grid-2,.grid-3{grid-template-columns:1fr}}@media(max-width:768px){.sidebar{transform:translate(-100%);transition:transform var(--transition-base)}.sidebar.open{transform:translate(0)}.main-content{margin-left:0;padding:var(--space-4)}.page-title{font-size:var(--text-3xl)}}.dashboard{max-width:1400px;margin:0 auto}.hero-section{margin-bottom:var(--space-8)}.couple-hero{display:flex;justify-content:center;align-items:center;gap:var(--space-8);padding:var(--space-8);background:var(--color-white);border-radius:var(--radius-xl);box-shadow:var(--shadow-md)}.photo-gallery{display:flex;gap:var(--space-4)}.photo-frame{width:140px;height:180px;border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow-md)}.photo-frame img{width:100%;height:100%;object-fit:cover;transition:transform var(--transition-slow)}.photo-frame:hover img{transform:scale(1.05)}.couple-info{text-align:center;padding:var(--space-6)}.partner-name{font-family:var(--font-serif);font-size:var(--text-3xl);font-weight:400;letter-spacing:.15em;color:var(--color-primary);margin:var(--space-2) 0}.and-text{font-family:var(--font-serif);font-size:var(--text-lg);font-style:italic;color:var(--color-rose);margin:var(--space-3) 0}.wedding-date{font-size:var(--text-sm);letter-spacing:.1em;color:var(--color-secondary);margin-top:var(--space-4)}.countdown{font-family:var(--font-serif);font-size:var(--text-xl);font-style:italic;color:var(--color-burgundy);margin-top:var(--space-2)}.dashboard-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-6)}.tasks-card{grid-column:1}.budget-card{grid-column:2}.guest-card,.vendor-card{grid-column:span 1}.events-card{grid-column:span 2}.budget-stats{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-4);margin-bottom:var(--space-6)}.budget-stat{text-align:center;padding:var(--space-4);background:var(--color-blush);border-radius:var(--radius-md)}.stat-value{display:block;font-family:var(--font-serif);font-size:var(--text-2xl);font-weight:600;color:var(--color-primary)}.stat-label{font-size:var(--text-xs);color:var(--color-secondary);text-transform:uppercase;letter-spacing:.05em}.budget-progress{margin-top:var(--space-4)}.guest-content{display:flex;gap:var(--space-6);align-items:center}.guest-stats{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-3)}.guest-stat{text-align:center;padding:var(--space-2)}.stat-number{display:block;font-family:var(--font-serif);font-size:var(--text-3xl);font-weight:500;color:var(--color-primary)}.stat-text{font-size:var(--text-xs);color:var(--color-secondary)}.guest-chart{flex:1;min-width:150px}.vendor-legend{display:flex;flex-direction:column;gap:var(--space-2);margin-bottom:var(--space-4)}.legend-item{display:flex;align-items:center;gap:var(--space-2)}.legend-dot{width:12px;height:12px;border-radius:var(--radius-full)}.legend-label{flex:1;font-size:var(--text-sm);color:var(--color-secondary)}.legend-value{font-weight:600;color:var(--color-primary)}.events-grid{display:flex;justify-content:space-around;flex-wrap:wrap;gap:var(--space-6);padding:var(--space-4) 0}.event-item{display:flex;flex-direction:column;align-items:center;gap:var(--space-2)}.event-circle{width:80px;height:80px}.circular-chart{display:block;max-width:100%;max-height:100%}.circle-bg{fill:none;stroke:var(--color-blush);stroke-width:3}.circle-fill{fill:none;stroke:var(--color-burgundy);stroke-width:3;stroke-linecap:round;animation:progress 1s ease-out forwards}@keyframes progress{0%{stroke-dasharray:0 100}}.circular-chart .percentage{fill:var(--color-primary);font-family:var(--font-serif);font-size:.5em;text-anchor:middle;font-weight:600}.event-name{font-size:var(--text-sm);font-weight:500;color:var(--color-primary);text-align:center}.event-label{font-size:var(--text-xs);color:var(--color-secondary)}.task-type{display:inline-block;padding:var(--space-1) var(--space-2);background:var(--color-blush);border-radius:var(--radius-sm);font-size:var(--text-xs);color:var(--color-secondary)}.overdue-row{background:#c0392b0d}.overdue-date{color:#c0392b;font-weight:600}.empty-state{text-align:center;padding:var(--space-8);color:var(--color-secondary)}.empty-state p{font-size:var(--text-lg);margin-bottom:var(--space-3)}.link{color:var(--color-burgundy);text-decoration:none;font-weight:500}.link:hover{text-decoration:underline}@media(max-width:1200px){.couple-hero{flex-direction:column;gap:var(--space-6)}.photo-gallery{justify-content:center}.dashboard-grid{grid-template-columns:1fr}.tasks-card,.budget-card,.guest-card,.vendor-card,.events-card{grid-column:1}}@media(max-width:768px){.photo-frame{width:100px;height:130px}.partner-name{font-size:var(--text-2xl)}.budget-stats{grid-template-columns:1fr}.guest-content{flex-direction:column}.events-grid{gap:var(--space-4)}.event-circle{width:60px;height:60px}}.budget-page{max-width:1400px;margin:0 auto}.budget-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--space-6);margin-bottom:var(--space-8)}.summary-card{background:var(--color-white);border-radius:var(--radius-lg);padding:var(--space-6);text-align:center;box-shadow:var(--shadow-sm)}.summary-value{display:block;font-family:var(--font-serif);font-size:var(--text-3xl);font-weight:500;color:var(--color-primary);margin-bottom:var(--space-2)}.summary-label{font-size:var(--text-sm);color:var(--color-secondary);text-transform:uppercase;letter-spacing:.05em}.charts-section{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-6);margin-bottom:var(--space-8)}.chart-card{min-height:350px}.chart-card .card-header{text-align:center;font-size:var(--text-sm);letter-spacing:.1em;color:var(--color-secondary);margin-bottom:var(--space-6)}.pie-chart-container{display:flex;align-items:center;gap:var(--space-4)}.pie-legend{flex:0 0 45%;display:flex;flex-direction:column;gap:var(--space-2)}.legend-row{display:flex;align-items:center;gap:var(--space-2);font-size:var(--text-xs)}.legend-color{width:12px;height:12px;border-radius:2px;flex-shrink:0}.legend-name{flex:1;color:var(--color-secondary)}.legend-percent{font-weight:600;color:var(--color-primary)}.pie-chart{flex:1}.bar-chart-container{width:100%}.budget-table-section .card{padding:0;overflow:hidden}.budget-table{margin:0}.budget-table th{background:var(--color-blush);font-weight:600}.budget-table td,.budget-table th{padding:var(--space-3) var(--space-4);white-space:nowrap}.text-right{text-align:right}.category-badge{display:inline-block;padding:var(--space-1) var(--space-3);background:var(--color-blush);border-radius:var(--radius-sm);font-size:var(--text-xs);font-weight:500;color:var(--color-burgundy)}.totals-row{background:var(--color-champagne)}.totals-row td{border-top:2px solid var(--color-gold-light);font-weight:600}.editing-row input{width:100%;padding:6px 8px;border:1px solid var(--color-gold-light);border-radius:var(--radius-sm);font-size:var(--text-sm);box-sizing:border-box}.editing-row input:focus{outline:none;border-color:var(--color-gold)}.editing-row input[type=number]{width:100px}.editing-row input[type=date]{width:130px}.sortable{cursor:pointer}.sortable:hover{color:var(--color-burgundy)}@media(max-width:1200px){.budget-summary{grid-template-columns:repeat(2,1fr)}.charts-section{grid-template-columns:1fr}.pie-chart-container{flex-direction:column}.pie-legend{flex:none;width:100%;flex-direction:row;flex-wrap:wrap;justify-content:center}.legend-row{flex:0 0 auto;padding:var(--space-1) var(--space-2)}}@media(max-width:768px){.budget-summary{grid-template-columns:1fr}.summary-value{font-size:var(--text-2xl)}.budget-table td,.budget-table th{padding:var(--space-2);font-size:var(--text-xs)}}.venues-page{max-width:1400px;margin:0 auto}.venue-cards{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--space-6);margin-bottom:var(--space-10)}.venue-card{display:flex;flex-direction:column;align-items:center;padding:var(--space-4)}.venue-card.selected{background:var(--color-blush);border-radius:var(--radius-lg)}.venue-header{display:flex;flex-direction:column;align-items:center;gap:var(--space-2);margin-bottom:var(--space-4)}.venue-number{font-family:var(--font-serif);font-size:var(--text-xl);font-style:italic;font-weight:400;color:var(--color-primary)}.venue-image-wrapper{width:100%;max-width:180px;margin-bottom:var(--space-4)}.arch-frame{position:relative;width:100%;padding-bottom:140%;border-radius:50% 50% 0 0/30% 30% 0 0;overflow:hidden;box-shadow:var(--shadow-md)}.arch-frame img{position:absolute;top:0;left:0;width:100%;height:100%;object-fit:cover;transition:transform var(--transition-slow)}.venue-card:hover .arch-frame img{transform:scale(1.05)}.venue-name{font-size:var(--text-sm);color:var(--color-secondary);text-align:center}.venue-info-section{margin-bottom:var(--space-8)}.section-title{font-family:var(--font-serif);font-size:var(--text-2xl);font-style:italic;font-weight:400;text-align:center;color:var(--color-primary);margin-bottom:var(--space-6)}.comparison-table{background:var(--color-white);border-radius:var(--radius-lg);padding:var(--space-4);overflow-x:auto;box-shadow:var(--shadow-sm)}.comparison-table table{width:100%;min-width:800px}.comparison-table th,.comparison-table td{padding:var(--space-3) var(--space-4);text-align:center;border-bottom:1px solid var(--color-blush);font-size:var(--text-sm)}.comparison-table th{font-weight:600;color:var(--color-primary);background:var(--color-champagne)}.comparison-table .label-column,.comparison-table .label-cell{text-align:left;font-weight:500;color:var(--color-secondary);width:200px;background:var(--color-champagne)}.comparison-table .selected-column{background:#be7b7b1a;font-weight:500}.comparison-table tbody tr:last-child td{border-bottom:none}@media(max-width:1200px){.venue-cards{grid-template-columns:repeat(2,1fr)}}@media(max-width:768px){.venue-cards{grid-template-columns:1fr}.venue-image-wrapper{max-width:150px}.comparison-table{padding:var(--space-2)}}.venue-card-actions{display:flex;gap:.5rem;margin-top:var(--space-2)}.add-venue-card{border:2px dashed var(--color-gold-light);background:transparent;cursor:pointer;display:flex;align-items:center;justify-content:center;min-height:280px;transition:all .2s ease}.add-venue-card:hover{border-color:var(--color-gold);background:var(--color-champagne)}.add-venue-content{display:flex;flex-direction:column;align-items:center;gap:.5rem;color:var(--color-secondary)}.add-icon{font-size:2rem;color:var(--color-gold)}.comparison-table input[type=text],.comparison-table input[type=number],.comparison-table select{width:100%;padding:6px 8px;border:1px solid var(--color-gold-light);border-radius:var(--radius-sm);font-size:var(--text-sm);box-sizing:border-box}.comparison-table input:focus,.comparison-table select:focus{outline:none;border-color:var(--color-gold)}.comparison-table input[type=checkbox]{width:18px;height:18px;cursor:pointer}.loading-container{display:flex;align-items:center;justify-content:center;min-height:60vh;font-size:var(--text-lg);color:var(--color-secondary)}.guests-page{max-width:1600px;margin:0 auto}.guests-summary{display:grid;grid-template-columns:1fr 1fr 1fr;gap:var(--space-6);margin-bottom:var(--space-8)}.summary-card{padding:var(--space-5)}.summary-title{font-family:var(--font-serif);font-size:var(--text-lg);font-weight:500;text-align:center;color:var(--color-primary);margin-bottom:var(--space-4)}.attendance-content{display:flex;gap:var(--space-4);align-items:center}.attendance-stats{flex:1;display:flex;flex-direction:column;gap:var(--space-3)}.stat-item{display:flex;flex-direction:column;text-align:left}.stat-number{font-family:var(--font-serif);font-size:var(--text-2xl);font-weight:600;color:var(--color-primary);line-height:1}.stat-label{font-size:var(--text-xs);color:var(--color-secondary)}.attendance-chart{flex:1;display:flex;flex-direction:column;align-items:center}.chart-legend{display:flex;flex-direction:column;gap:var(--space-1);margin-top:var(--space-2)}.legend-item{display:flex;align-items:center;gap:var(--space-2);font-size:var(--text-xs);color:var(--color-secondary)}.legend-dot{width:8px;height:8px;border-radius:var(--radius-full)}.dietary-chart{margin-top:var(--space-2)}.events-summary{display:flex;flex-direction:column}.other-events-grid{display:flex;justify-content:space-around;gap:var(--space-4);margin-top:auto}.event-summary-item{display:flex;flex-direction:column;align-items:center;text-align:center}.event-title{font-size:var(--text-sm);font-weight:500;color:var(--color-primary);margin-bottom:var(--space-2)}.event-circle-small{width:60px;height:60px;border:3px solid var(--color-secondary);border-radius:var(--radius-full);display:flex;align-items:center;justify-content:center;margin-bottom:var(--space-2)}.circle-number{font-family:var(--font-serif);font-size:var(--text-xl);font-weight:600;color:var(--color-primary)}.event-subtitle{font-size:var(--text-xs);color:var(--color-secondary)}.event-note{font-size:var(--text-xs);color:var(--color-secondary);opacity:.7}.guests-table-section .card{padding:0;overflow:hidden}.table-scroll{overflow-x:auto;max-width:100%}.guests-table{min-width:1400px;border-collapse:collapse}.guests-table th,.guests-table td{padding:var(--space-2) var(--space-3);font-size:var(--text-xs);text-align:left;border-bottom:1px solid var(--color-blush);white-space:nowrap}.guests-table th{background:var(--color-blush);font-weight:600;color:var(--color-secondary);position:sticky;top:0}.header-group{text-align:center;background:var(--color-champagne);border-bottom:2px solid var(--color-gold-light);font-family:var(--font-serif);font-size:var(--text-sm);font-weight:500;color:var(--color-primary)}.name-cell{font-weight:500;color:var(--color-primary);min-width:140px}.address-cell{max-width:180px;overflow:hidden;text-overflow:ellipsis}.email-link{color:var(--color-burgundy);text-decoration:underline}.email-link:hover{color:var(--color-rose)}.checkbox-cell{text-align:center;width:40px}.table-checkbox{appearance:none;width:16px;height:16px;border:2px solid var(--color-gold);border-radius:3px;background:var(--color-white);cursor:pointer;position:relative}.table-checkbox:checked{background:var(--color-burgundy);border-color:var(--color-burgundy)}.table-checkbox:checked:after{content:"✓";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);color:var(--color-white);font-size:10px;font-weight:700}.guests-table tbody tr:hover{background:var(--color-blush)}.action-col{width:100px;text-align:center}.action-cell{display:flex;gap:var(--space-2);justify-content:center;align-items:center}.icon-btn{font-size:1.25rem;padding:4px;border-radius:var(--radius-sm);transition:background var(--transition-fast);line-height:1}.icon-btn:hover{background-color:#0000000d}.save-btn:hover{background-color:#7d9a7833}.cancel-btn:hover,.delete-btn:hover{background-color:#c45c5c33}.guests-table input[type=text],.guests-table input[type=email],.guests-table select{width:100%;padding:6px 8px;border:1px solid var(--color-gold-light);border-radius:var(--radius-sm);font-size:var(--text-xs);font-family:var(--font-sans);background:var(--color-white)}.guests-table select{background-image:none;min-width:100px}.mini-input{margin-left:8px;width:80px!important;display:inline-block!important}.editing-row{background-color:#fff9f9!important;border-left:3px solid var(--color-rose)}@media(max-width:1200px){.guests-summary{grid-template-columns:1fr}.attendance-content{flex-direction:column}.attendance-stats{flex-direction:row;flex-wrap:wrap;justify-content:center;gap:var(--space-4)}.stat-item{text-align:center}}@media(max-width:768px){.other-events-grid{flex-direction:column;align-items:center}}.tabs{display:flex;gap:.5rem;background:var(--color-blush);padding:4px;border-radius:var(--radius-md)}.tab-btn{padding:6px 12px;border-radius:var(--radius-sm);font-size:var(--text-xs);font-weight:500;color:var(--color-secondary);background:transparent;cursor:pointer;transition:all .2s ease}.tab-btn:hover{background:#ffffff80}.tab-btn.active{background:var(--color-white);color:var(--color-primary);box-shadow:var(--shadow-sm);font-weight:600}.vendors-page{padding:2rem}.page-header{margin-bottom:2rem}.vendors-summary{margin-bottom:2rem}.summary-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:1rem}.summary-stat{background:var(--color-white);border-radius:var(--radius-lg);padding:1.5rem;text-align:center;box-shadow:var(--shadow-sm)}.stat-label{font-size:var(--text-sm);color:var(--color-secondary);margin-top:.25rem}.stat-value.confirmed{color:var(--color-success)}.stat-value.shortlisted{color:var(--color-secondary)}.vendors-table-section{margin-top:1.5rem}.search-input{padding:8px 12px;border:1px solid #ddd;border-radius:var(--radius-md);flex:1;max-width:300px;font-size:var(--text-sm)}.vendors-table{width:100%;border-collapse:collapse;font-size:var(--text-sm)}.vendors-table th,.vendors-table td{padding:12px 16px;text-align:left;border-bottom:1px solid var(--color-blush)}.vendors-table thead{background:var(--color-cream)}.vendors-table th{font-weight:600;color:var(--color-secondary);font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.5px}.vendors-table th.sortable{cursor:pointer}.vendors-table th.sortable:hover{color:var(--color-primary)}.vendors-table tbody tr:hover{background:var(--background-secondary)}.status-badge{display:inline-block;padding:4px 10px;border-radius:20px;font-size:var(--text-xs);font-weight:500;text-transform:capitalize}.status-badge.confirmed{background:#7d9a7826;color:#558b44}.status-badge.shortlisted{background:#4a4a681a;color:var(--color-secondary)}.status-badge.not-selected{background:#722f371a;color:var(--color-burgundy)}.category-badge{display:inline-block;padding:4px 8px;background:var(--color-blush);border-radius:var(--radius-sm);font-size:var(--text-xs);color:var(--color-secondary)}.money-cell{font-family:Roboto Mono,monospace;color:var(--color-secondary)}.contact-link{color:var(--color-burgundy);text-decoration:none}.contact-link:hover{text-decoration:underline}.social-link{color:var(--color-secondary);text-decoration:none;font-size:var(--text-xs);display:inline-block;margin-top:2px}.social-link:hover{color:var(--color-burgundy)}@media(max-width:768px){.vendors-page{padding:1rem}.table-controls{flex-direction:column}.search-input{max-width:100%}}.tasks-page{padding:2rem;max-width:1400px;margin:0 auto}.page-header{margin-bottom:2rem;display:flex;justify-content:space-between;align-items:center}.page-title{font-family:var(--font-serif);font-size:2.5rem;font-weight:400}.page-title span{font-style:italic;color:var(--color-gold)}.tasks-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:1rem;margin-bottom:2rem}.summary-stat{background:var(--color-white);border-radius:var(--radius-lg);padding:1.25rem;text-align:center;box-shadow:var(--shadow-sm)}.stat-value{font-size:2rem;font-weight:700;color:var(--color-primary);display:block}.stat-label{font-size:var(--text-xs);color:var(--color-secondary);margin-top:.25rem;text-transform:uppercase;letter-spacing:.5px}.stat-value.completed{color:var(--color-success)}.stat-value.in-progress{color:var(--color-gold)}.stat-value.on-hold{color:var(--color-secondary)}.stat-value.overdue{color:#c0392b}.tasks-table-section{margin-top:1.5rem}.table-controls{display:flex;gap:1rem;flex-wrap:wrap;padding:1rem;border-bottom:1px solid var(--color-blush);align-items:center}.search-input{padding:8px 12px;border:1px solid #ddd;border-radius:var(--radius-md);flex:1;max-width:250px;font-size:var(--text-sm)}.filter-select{padding:8px 12px;border:1px solid #ddd;border-radius:var(--radius-md);font-size:var(--text-sm);background:var(--color-white)}.table-scroll{overflow-x:auto}.tasks-table{width:100%;border-collapse:collapse;font-size:var(--text-sm)}.tasks-table th,.tasks-table td{padding:12px 16px;text-align:left;border-bottom:1px solid var(--color-blush)}.tasks-table thead{background:var(--color-cream)}.tasks-table th{font-weight:600;color:var(--color-secondary);font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.5px}.tasks-table th.sortable{cursor:pointer}.tasks-table th.sortable:hover{color:var(--color-primary)}.tasks-table tbody tr:hover{background:var(--background-secondary)}.type-badge{display:inline-block;padding:4px 10px;border-radius:20px;font-size:var(--text-xs);font-weight:500}.type-badge.diy-assembly{background:#c9a95926;color:#b8940e}.type-badge.to-do{background:#722f371a;color:var(--color-burgundy)}.type-badge.follow-up{background:#4a4a681a;color:var(--color-secondary)}.type-badge.decision-needed{background:#c0392b1a;color:#c0392b}.type-badge.appointment{background:#7d9a7826;color:#558b44}.status-badge{display:inline-block;padding:4px 10px;border-radius:20px;font-size:var(--text-xs);font-weight:500}.status-badge.not-started{background:#4a4a681a;color:var(--color-secondary)}.status-badge.in-progress{background:#c9a95926;color:#b8940e}.status-badge.on-hold{background:#c0392b1a;color:#c0392b}.status-badge.completed{background:#7d9a7826;color:#558b44}.status-badge.cancelled{background:#0000000d;color:#666;text-decoration:line-through}.owner-badge{display:inline-block;padding:2px 8px;background:var(--color-blush);border-radius:var(--radius-sm);font-size:var(--text-xs);color:var(--color-secondary)}.due-date{font-size:var(--text-sm)}.due-date.overdue{color:#c0392b;font-weight:600}.due-date.soon{color:#b8940e}.action-cell{white-space:nowrap}.icon-btn{background:none;border:none;cursor:pointer;font-size:1rem;padding:4px;border-radius:var(--radius-sm);transition:background-color .2s ease}.icon-btn:hover{background:var(--color-blush)}.save-btn:hover{background:#7d9a7833}.cancel-btn:hover,.delete-btn:hover{background:#722f3726}.editing-row{background:var(--background-secondary)}.editing-row input,.editing-row select{width:100%;padding:6px 8px;border:1px solid var(--color-gold-light);border-radius:var(--radius-sm);font-size:var(--text-sm);box-sizing:border-box}.editing-row input:focus,.editing-row select:focus{outline:none;border-color:var(--color-gold)}.editing-row input[type=date]{width:140px}.card-footer{padding:1rem;text-align:right;border-top:1px solid var(--color-blush)}.notes-cell{max-width:200px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--color-secondary);font-size:var(--text-xs)}@media(max-width:768px){.tasks-page{padding:1rem}.page-header{flex-direction:column;gap:1rem}.table-controls{flex-direction:column}.search-input{max-width:100%}.tasks-summary{grid-template-columns:repeat(2,1fr)}}.login-container{height:100vh;width:100vw;display:flex;align-items:center;justify-content:center;background-size:cover;background-position:center;background-repeat:no-repeat;position:relative}.login-overlay{position:absolute;inset:0;background:#0006;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.login-card{background:#fffffff2;padding:3rem;border-radius:12px;box-shadow:0 4px 6px #0000001a;text-align:center;z-index:10;max-width:400px;width:90%;animation:fadeIn .5s ease-out}.login-card h1{color:#722f37;margin-bottom:.5rem;font-family:Playfair Display,serif}.login-card p{color:#4a4a68;margin-bottom:2rem;font-size:.9rem}.login-card form{display:flex;flex-direction:column;gap:1rem}.login-card input{padding:12px;border:1px solid #ddd;border-radius:6px;font-size:1rem;text-align:center;transition:border-color .2s}.login-card input:focus{outline:none;border-color:#c9a959}.login-card button{padding:12px;background:#722f37;color:#fff;border:none;border-radius:6px;font-size:1rem;cursor:pointer;font-weight:600;transition:background .2s}.login-card button:hover{background:#8b3a44}.error-message{margin-top:1rem;color:#e74c3c;font-size:.9rem}@keyframes fadeIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}:root{--color-primary: #1a1a2e;--color-secondary: #4a4a68;--color-rose: #be7b7b;--color-rose-light: #d4a5a5;--color-blush: #f8e8e8;--color-burgundy: #722f37;--color-champagne: #f7f3e9;--color-gold: #c9a959;--color-gold-light: #e8d5a3;--color-white: #ffffff;--color-success: #7d9a78;--color-warning: #e6a23c;--color-error: #c45c5c;--font-serif: "Playfair Display", Georgia, serif;--font-sans: "Lato", -apple-system, BlinkMacSystemFont, sans-serif;--text-xs: .75rem;--text-sm: .875rem;--text-base: 1rem;--text-lg: 1.125rem;--text-xl: 1.25rem;--text-2xl: 1.5rem;--text-3xl: 1.875rem;--text-4xl: 2.25rem;--text-5xl: 3rem;--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-5: 1.25rem;--space-6: 1.5rem;--space-8: 2rem;--space-10: 2.5rem;--space-12: 3rem;--space-16: 4rem;--radius-sm: 4px;--radius-md: 8px;--radius-lg: 12px;--radius-xl: 16px;--radius-full: 9999px;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .05);--shadow-md: 0 4px 6px rgba(0, 0, 0, .07);--shadow-lg: 0 10px 15px rgba(0, 0, 0, .1);--shadow-xl: 0 20px 25px rgba(0, 0, 0, .15);--transition-fast: .15s ease;--transition-base: .25s ease;--transition-slow: .35s ease;--sidebar-width: 260px;--header-height: 80px}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{font-family:var(--font-sans);font-size:var(--text-base);line-height:1.6;color:var(--color-primary);background-color:var(--color-champagne)}h1,h2,h3,h4,h5,h6{font-family:var(--font-serif);font-weight:500;line-height:1.3;color:var(--color-primary)}h1{font-size:var(--text-5xl)}h2{font-size:var(--text-4xl)}h3{font-size:var(--text-3xl)}h4{font-size:var(--text-2xl)}h5{font-size:var(--text-xl)}h6{font-size:var(--text-lg)}a{color:var(--color-burgundy);text-decoration:none;transition:color var(--transition-fast)}a:hover{color:var(--color-rose)}button{font-family:var(--font-sans);cursor:pointer;border:none;background:none}input,textarea,select{font-family:var(--font-sans);font-size:var(--text-base)}img{max-width:100%;height:auto;display:block}.text-center{text-align:center}.text-serif{font-family:var(--font-serif)}.text-italic{font-style:italic}.flex{display:flex}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-1{gap:var(--space-1)}.gap-2{gap:var(--space-2)}.gap-3{gap:var(--space-3)}.gap-4{gap:var(--space-4)}.gap-6{gap:var(--space-6)}.gap-8{gap:var(--space-8)}.card{background:var(--color-white);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);padding:var(--space-6)}.card-header{font-family:var(--font-serif);font-size:var(--text-xl);font-weight:500;margin-bottom:var(--space-4);color:var(--color-primary)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);padding:var(--space-3) var(--space-6);border-radius:var(--radius-md);font-weight:500;font-size:var(--text-sm);transition:all var(--transition-base)}.btn-primary{background:var(--color-burgundy);color:var(--color-white)}.btn-primary:hover{background:var(--color-rose)}.btn-secondary{background:var(--color-blush);color:var(--color-burgundy)}.btn-secondary:hover{background:var(--color-rose-light)}.btn-outline{background:transparent;border:1px solid var(--color-gold);color:var(--color-primary)}.btn-outline:hover{background:var(--color-gold-light)}.table-container{overflow-x:auto}table{width:100%;border-collapse:collapse;font-size:var(--text-sm)}th{font-family:var(--font-sans);font-weight:600;text-align:left;padding:var(--space-3) var(--space-4);border-bottom:2px solid var(--color-gold-light);color:var(--color-secondary);font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.05em}td{padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--color-blush);color:var(--color-primary)}tr:hover td{background:var(--color-blush)}.badge{display:inline-flex;align-items:center;padding:var(--space-1) var(--space-3);border-radius:var(--radius-full);font-size:var(--text-xs);font-weight:500}.badge-success{background:#7d9a7826;color:var(--color-success)}.badge-warning{background:#e6a23c26;color:var(--color-warning)}.badge-error{background:#c45c5c26;color:var(--color-error)}.badge-info{background:#be7b7b26;color:var(--color-rose)}.progress-bar{height:8px;background:var(--color-blush);border-radius:var(--radius-full);overflow:hidden}.progress-bar-fill{height:100%;background:linear-gradient(90deg,var(--color-rose) 0%,var(--color-burgundy) 100%);border-radius:var(--radius-full);transition:width var(--transition-slow)}.input{width:100%;padding:var(--space-3) var(--space-4);border:1px solid var(--color-gold-light);border-radius:var(--radius-md);background:var(--color-white);transition:all var(--transition-fast)}.input:focus{outline:none;border-color:var(--color-rose);box-shadow:0 0 0 3px #be7b7b26}.input::placeholder{color:var(--color-secondary);opacity:.6}.checkbox-wrapper{display:flex;align-items:center;gap:var(--space-2);cursor:pointer}.checkbox{appearance:none;width:18px;height:18px;border:2px solid var(--color-gold);border-radius:var(--radius-sm);background:var(--color-white);cursor:pointer;transition:all var(--transition-fast)}.checkbox:checked{background:var(--color-burgundy);border-color:var(--color-burgundy)}.checkbox:checked:after{content:"✓";display:flex;align-items:center;justify-content:center;color:var(--color-white);font-size:12px;font-weight:700}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--color-blush);border-radius:var(--radius-full)}::-webkit-scrollbar-thumb{background:var(--color-rose-light);border-radius:var(--radius-full)}::-webkit-scrollbar-thumb:hover{background:var(--color-rose)}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.7}}.animate-fade-in{animation:fadeIn var(--transition-base) ease-out}.animate-slide-up{animation:slideUp var(--transition-slow) ease-out}
