@import url(https://fonts.googleapis.com/css2?family=Cormorant+Garamond:wght@300;400;500;600;700&family=Inter:wght@300;400;500;600&family=Pinyon+Script&display=swap);body{-moz-osx-font-smoothing:grayscale}*,body{margin:0}*{box-sizing:border-box;padding:0}body{-webkit-font-smoothing:antialiased;background:#0f1117;color:#e4e4e7;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;overflow-y:auto}.app{display:flex;flex-direction:column;min-height:100vh}.app-header{align-items:center;background:#1a1b23;border-bottom:1px solid #2a2b35;display:flex;justify-content:space-between;padding:16px 24px}.app-header h1{color:#818cf8;font-size:28px;font-weight:700}.header-left{align-items:center;display:flex;gap:16px}.header-date{color:#a1a1aa;font-size:18px}.last-refreshed{color:#52525b;font-size:12px}.back-btn{-webkit-tap-highlight-color:transparent;background:#2a2b35;border:none;border-radius:8px;color:#e4e4e7;cursor:pointer;font-size:16px;padding:12px 24px}.back-btn:active{background:#3a3b45}.dashboard{flex:1 1;padding:20px}.panel-grid{grid-gap:12px;display:grid;gap:12px;grid-auto-flow:dense;grid-auto-rows:150px;grid-template-columns:1fr 1fr}.panel-wrapper{min-height:0;position:relative;transition:opacity .2s,transform .2s}.panel-wrapper.panel-full-height{height:calc(100vh - 120px)}.panel-content{height:100%;overflow-x:hidden;overflow-y:auto}.panel-content>.card{display:flex;flex-direction:column;height:100%}.panel-content>.card>h2{flex-shrink:0}.panel-content>.card>:last-child{flex:1 1;min-height:0;overflow-x:hidden;overflow-y:auto}.panel-content>.stats-panel,.panel-content>.stats-panel>:last-child{overflow:hidden!important}.panel-wrapper.panel-dragging{opacity:.5;transform:scale(.97)}.panel-wrapper.panel-drag-over{border-radius:16px;outline:2px dashed #818cf8;outline-offset:4px}.panel-controls{-webkit-tap-highlight-color:transparent;align-items:center;border-radius:4px;color:#52525b;cursor:grab;display:flex;font-size:16px;gap:2px;padding:2px 4px;position:absolute;right:8px;top:8px;transition:color .15s,background .15s;-webkit-user-select:none;user-select:none;z-index:2}.panel-controls:active,.panel-controls:hover{background:#22232d;color:#818cf8}.panel-close{-webkit-tap-highlight-color:transparent;border-radius:4px;color:#52525b;cursor:pointer;font-size:18px;line-height:1;padding:2px 4px}.panel-close:active,.panel-close:hover{background:#991b1b33;color:#f87171}.panel-minimize{border-radius:4px;color:#71717a;cursor:pointer;font-size:12px;line-height:1;padding:2px 5px;transition:all .15s}.panel-minimize:hover{background:#fbbf2426;color:#fbbf24}.panel-minimize.active{color:#fbbf24}.panel-minimized{border:1px dashed #fbbf2466!important;opacity:.5}.panel-show-hidden{display:flex;justify-content:center;padding:16px 0 8px}.panel-size-toggle{-webkit-tap-highlight-color:transparent;align-items:center;background:#2a2b35;border-radius:4px;color:#71717a;cursor:pointer;display:flex;font-size:10px;font-weight:700;justify-content:center;padding:2px 6px}.panel-size-toggle:hover{background:#1e1b4b;color:#818cf8}.panel-size-menu{background:#1a1b23;border:1px solid #2a2b35;border-radius:6px;box-shadow:0 4px 12px #0006;display:flex;flex-direction:column;gap:6px;margin-top:4px;min-width:160px;padding:8px;position:absolute;right:0;top:100%;z-index:10}.size-menu-row{align-items:center;display:flex;gap:8px}.size-menu-label{color:#71717a;font-size:11px;min-width:40px}.size-menu-btns{display:flex;gap:2px}.panel-height-btn{-webkit-tap-highlight-color:transparent;background:#22232d;border:none;border-radius:4px;color:#a1a1aa;cursor:pointer;font-size:12px;font-weight:600;height:28px;min-width:28px;padding:0 6px}.panel-height-btn.active{background:#818cf8;color:#fff}.panel-height-btn:not(.active):hover{background:#2a2b35}.panel-more-config{-webkit-tap-highlight-color:transparent;color:#52525b;cursor:pointer;font-size:14px;padding:0 4px}.panel-more-config:hover{color:#818cf8}.panel-more-menu{background:#1a1b23;border:1px solid #2a2b35;border-radius:6px;box-shadow:0 4px 12px #0006;flex-direction:column;margin-top:4px;min-width:140px;padding:8px;right:30px;top:100%;z-index:10}.panel-more-btn,.panel-more-menu{display:flex;gap:4px;position:absolute}.panel-more-btn{-webkit-tap-highlight-color:transparent;align-items:center;background:linear-gradient(135deg,#1e1b4b,#312e81);border:1px solid #3730a3;border-radius:16px;box-shadow:0 2px 6px #0000004d;color:#a5b4fc;cursor:pointer;font-size:12px;font-weight:600;padding:5px 12px;right:8px;top:8px;transition:background .15s,transform .1s;z-index:1}.panel-more-btn:hover{background:linear-gradient(135deg,#312e81,#4338ca);box-shadow:0 3px 8px #0006;transform:translateY(-1px)}.panel-more-btn:active{transform:translateY(0)}.panel-more-icon{font-size:14px}.nav-back-btn{-webkit-tap-highlight-color:transparent;background:#2a2b35;border:none;border-radius:8px;color:#a1a1aa;cursor:pointer;font-size:16px;font-weight:600;margin-bottom:12px;padding:10px 20px}.nav-back-btn:active,.nav-back-btn:hover{background:#3a3b45;color:#818cf8}.panel-wrapper.edit-mode{border-radius:14px;outline:1px dashed #2a2b35;outline-offset:2px}.drag-dots{padding:0 2px;pointer-events:none}.edit-mode-btn{-webkit-tap-highlight-color:transparent;background:#2a2b35;border:none;border-radius:8px;color:#a1a1aa;cursor:pointer;font-size:14px;height:40px;padding:0 16px}.edit-mode-btn.active{background:#818cf8;color:#fff}.edit-mode-btn:active{background:#3a3b45}.column-toggle{background:#22232d;border:1px solid #2a2b35;border-radius:6px;display:flex;overflow:hidden}.col-btn{-webkit-tap-highlight-color:transparent;background:none;border:none;color:#71717a;cursor:pointer;font-size:14px;font-weight:600;padding:6px 12px}.col-btn.active{background:#818cf8;color:#fff}.col-btn:not(.active):hover{color:#a1a1aa}.layout-container{position:relative}.layout-btn{-webkit-tap-highlight-color:transparent;background:#2a2b35;border:none;border-radius:8px;color:#a1a1aa;cursor:pointer;font-size:14px;height:40px;padding:0 16px}.layout-btn:active{background:#3a3b45}.layout-arrow{font-size:12px}.layout-menu{min-width:240px}.layout-option-row{align-items:center;display:flex}.layout-option-row .add-panel-option{flex:1 1}.layout-option-row .add-panel-option.active-layout{color:#818cf8;font-weight:600}.layout-delete{-webkit-tap-highlight-color:transparent;background:none;border:none;border-radius:6px;color:#52525b;cursor:pointer;font-size:18px;padding:8px 10px}.layout-delete:active,.layout-delete:hover{color:#f87171}.layout-add-form{border-top:1px solid #2a2b35;display:flex;gap:4px;margin-top:4px;padding:6px}.layout-add-input{background:#16171f;border:1px solid #2a2b35;border-radius:6px;color:#e4e4e7;flex:1 1;font-size:14px;outline:none;padding:8px 10px}.layout-add-input:focus{border-color:#818cf8}.layout-add-btn{-webkit-tap-highlight-color:transparent;background:#818cf8;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:13px;font-weight:600;padding:8px 14px;white-space:nowrap}.layout-add-btn:active{background:#6366f1}.layout-reorder-btns{display:flex;flex-direction:column;gap:0}.layout-reorder{-webkit-tap-highlight-color:transparent;background:none;border:none;color:#52525b;cursor:pointer;font-size:12px;line-height:1;padding:0 4px}.layout-reorder:hover:not(:disabled){color:#818cf8}.layout-reorder:disabled{cursor:default;opacity:.2}.layout-rename-form{flex:1 1}.layout-rename-input{background:#16171f;border:1px solid #818cf8;border-radius:4px;color:#e4e4e7;font-size:14px;outline:none;padding:6px 10px;width:100%}.add-panel-container{position:relative}.add-panel-btn{-webkit-tap-highlight-color:transparent;background:#2a2b35;border:none;border-radius:8px;color:#a1a1aa;cursor:pointer;font-size:14px;height:40px;padding:0 16px}.add-panel-btn:active{background:#3a3b45}.add-panel-menu{background:#1a1b23;border:1px solid #2a2b35;border-radius:8px;box-shadow:0 8px 24px #0006;margin-top:4px;min-width:200px;padding:4px;position:absolute;right:0;top:100%;z-index:10}.add-panel-option{-webkit-tap-highlight-color:transparent;background:none;border:none;border-radius:6px;color:#e4e4e7;cursor:pointer;display:block;font-size:15px;padding:10px 14px;text-align:left;width:100%}.add-panel-option:active,.add-panel-option:hover{background:#22232d;color:#818cf8}.add-panel-empty{color:#71717a;font-size:14px;padding:10px 14px}.add-panel-group-item{align-items:center;border-radius:6px;cursor:pointer;display:flex;justify-content:space-between;padding:10px 14px;position:relative}.add-panel-group-item.active,.add-panel-group-item:hover{background:#22232d}.add-panel-group-label{color:#e4e4e7;font-size:14px}.add-panel-group-arrow{color:#71717a;font-size:12px}.add-panel-flyout{background:#1a1b23;border:1px solid #2a2b35;border-radius:8px;box-shadow:0 8px 24px #0006;margin-right:4px;min-width:180px;padding:4px;position:absolute;right:100%;top:0;z-index:11}.card{background:#1a1b23;border:1px solid #2a2b35;border-radius:12px;padding:20px}.card h2{color:#818cf8;font-size:20px;font-weight:600;margin-bottom:16px}.card h3{color:#a78bfa;font-size:17px;font-weight:600;margin:16px 0 8px}.empty,.error,.loading{color:#71717a;font-size:16px;padding:12px 0}.error{color:#f87171}.event-list{list-style:none}.event-date-header{border-top:1px solid #2a2b35;color:#818cf8;font-size:14px;font-weight:600;letter-spacing:.5px;margin-top:8px;padding:8px 0 4px;text-transform:uppercase}.event-list li:first-child .event-date-header{border-top:none;margin-top:0}.event-item{align-items:center;display:flex;gap:12px;padding:10px 0}.event-item.clickable{-webkit-tap-highlight-color:transparent;border-radius:6px;cursor:pointer;margin:0 -8px;padding:10px 8px}.event-item.clickable:active,.event-item.clickable:hover{background:#22232d}.event-time{color:#a1a1aa;font-size:14px;min-width:80px}.event-title{color:#e4e4e7;font-size:16px}.cal-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:12px}.cal-header h2{margin-bottom:0}.cal-header h2,.cal-nav-btn{-webkit-tap-highlight-color:transparent;cursor:pointer}.cal-nav-btn{align-items:center;background:#22232d;border:1px solid #2a2b35;border-radius:8px;color:#a1a1aa;display:flex;font-size:18px;height:40px;justify-content:center;width:40px}.cal-nav-btn:active,.cal-nav-btn:hover{background:#2a2b35;color:#e4e4e7}.cal-grid{grid-gap:2px;display:grid;gap:2px;grid-template-columns:repeat(7,1fr)}.cal-day-name{color:#71717a;font-size:12px;font-weight:600;padding:8px 0;text-align:center;text-transform:uppercase}.cal-cell{background:#16171f;border-radius:4px;display:flex;flex-direction:column;min-height:80px;padding:4px}.cal-cell.other-month{opacity:.35}.cal-cell.today{outline:2px solid #818cf8;outline-offset:-2px}.cal-date-num{color:#a1a1aa;font-size:12px;font-weight:600;padding:2px 4px}.cal-cell.today .cal-date-num{color:#818cf8}.cal-events{display:flex;flex:1 1;flex-direction:column;gap:1px;overflow:hidden}.cal-event-chip{-webkit-tap-highlight-color:transparent;background:#312e81;border-radius:2px;color:#c7d2fe;cursor:pointer;font-size:10px;overflow:hidden;padding:1px 4px;text-overflow:ellipsis;white-space:nowrap}.cal-event-chip:active,.cal-event-chip:hover{background:#3730a3}.cal-compact .cal-grid{gap:2px}.cal-compact .cal-cell{min-height:0;padding:3px 4px}.cal-compact .cal-day-name{padding:4px 0}.cal-compact .cal-date-num{font-size:11px;padding:1px 3px}.cal-compact .cal-event-chip{font-size:9px;padding:0 3px}.cal-compact .cal-header h2{font-size:16px}.cal-compact .cal-events{gap:0}.cal-event-more{color:#71717a;font-size:10px;padding:1px 4px}.modal-overlay{-webkit-tap-highlight-color:transparent;align-items:center;background:#000000b3;bottom:0;display:flex;justify-content:center;left:0;padding:20px;position:fixed;right:0;top:0;z-index:100}.modal-content{background:#1a1b23;border:1px solid #2a2b35;border-radius:16px;max-height:80vh;max-width:500px;overflow-y:auto;padding:28px;width:100%}.modal-header{align-items:flex-start;display:flex;gap:16px;justify-content:space-between;margin-bottom:20px}.modal-header h2{color:#e4e4e7;font-size:22px;font-weight:600;margin-bottom:0}.modal-close{-webkit-tap-highlight-color:transparent;background:none;border:none;color:#71717a;cursor:pointer;flex-shrink:0;font-size:28px;line-height:1;padding:0 4px}.modal-close:active,.modal-close:hover{color:#e4e4e7}.modal-body{gap:16px}.modal-body,.modal-row{display:flex;flex-direction:column}.modal-row{gap:4px}.modal-label{color:#818cf8;font-size:12px;font-weight:600;letter-spacing:.5px;text-transform:uppercase}.modal-value{color:#e4e4e7;font-size:16px;line-height:1.5}.modal-description{color:#a1a1aa;white-space:pre-wrap}.weather-svg{display:block}.sun-glow{animation:glow-breathe 4s ease-in-out infinite}@keyframes glow-breathe{0%,to{opacity:.6;transform:scale(1)}50%{opacity:1;transform:scale(1.08)}}.cloud-drift{animation:cloud-drift 6s ease-in-out infinite}.cloud-drift-slow{animation:cloud-drift 8s ease-in-out infinite reverse}@keyframes cloud-drift{0%,to{transform:translateX(0)}50%{transform:translateX(3px)}}.fog-line-0{animation:fog-shift 4s ease-in-out infinite}.fog-line-1{animation:fog-shift 5s ease-in-out infinite reverse}.fog-line-2{animation:fog-shift 4.5s ease-in-out .5s infinite}.fog-line-3{animation:fog-shift 5.5s ease-in-out .3s infinite reverse}@keyframes fog-shift{0%,to{opacity:.3;transform:translateX(0)}50%{opacity:.6;transform:translateX(5px)}}.raindrop-v2{animation:rain-drop 1.2s ease-in infinite}@keyframes rain-drop{0%{opacity:0;transform:translateY(-4px)}20%{opacity:1}to{opacity:0;transform:translateY(14px)}}.snowdot-0{animation:snow-drift 3s ease-in-out infinite}.snowdot-1{animation:snow-drift 3.8s ease-in-out .6s infinite}.snowdot-2{animation:snow-drift 3.2s ease-in-out 1.2s infinite}@keyframes snow-drift{0%{opacity:.8;transform:translate(0)}50%{opacity:1;transform:translate(3px,6px)}to{opacity:0;transform:translate(-2px,14px)}}.lightning{animation:lightning-flash 3s ease-in-out infinite}@keyframes lightning-flash{0%,42%,58%,to{opacity:.2}45%,55%{opacity:1}47%{opacity:.6}50%{opacity:1}}.hourly-item,.hourly-list{display:flex;gap:6px}.hourly-item{align-items:center;background:#22232d;border-radius:8px;flex:1 1;flex-direction:column;padding:12px 6px}.hourly-time{color:#a1a1aa;font-size:13px;font-weight:600}.hourly-icon{display:flex;justify-content:center}.hourly-temp{color:#e4e4e7;font-size:20px;font-weight:700}.hourly-detail{color:#71717a;font-size:11px;text-align:center}.hourly-precip{color:#60a5fa;font-size:12px}.hourly-wind{color:#71717a;font-size:11px}.weather-section-v2{display:flex;flex-direction:column;padding:14px!important}.weather-top{align-items:center;display:flex;gap:14px;margin-bottom:10px}.weather-icon-big{flex-shrink:0}.weather-current-v2{display:flex;flex:1 1;flex-direction:column}.weather-temp-big{color:#e4e4e7;font-size:48px;font-weight:700;line-height:1}.weather-desc-v2{color:#a1a1aa;font-size:15px;margin-top:2px}.weather-details-v2{color:#52525b;display:flex;font-size:12px;gap:10px;margin-top:4px}.weather-hilo{align-items:flex-end;display:flex;flex-direction:column;flex-shrink:0;gap:2px}.weather-hi{color:#f87171}.weather-hi,.weather-lo{font-size:14px;font-weight:600}.weather-lo{color:#60a5fa}.weather-graph{margin-bottom:10px;overflow-x:auto;overflow-y:hidden}.weather-graph-svg{display:block;height:60px;width:100%}.weather-graph-labels{display:flex}.weather-graph-label{align-items:center;display:flex;flex-direction:column;flex-shrink:0}.graph-temp{color:#a1a1aa;font-size:10px;font-weight:600}.graph-time{color:#52525b;font-size:9px}.weather-forecast-row{display:flex;gap:4px}.forecast-v2-day{align-items:center;background:#22232d;border-radius:6px;display:flex;flex:1 1;flex-direction:column;gap:2px;padding:6px 2px}.forecast-v2-name{color:#71717a;font-size:11px;font-weight:600}.forecast-v2-temps{color:#a1a1aa;font-size:11px}.cal-month-label{-webkit-tap-highlight-color:transparent;color:#a1a1aa;cursor:pointer;font-size:18px;font-weight:600}.cal-month-label:hover{color:#818cf8}.ab-cal-grid{grid-gap:1px;display:grid;gap:1px;grid-template-columns:repeat(7,1fr)}.ab-cal-cell{background:#16171f;border-radius:3px;display:flex;flex-direction:column;min-height:64px;padding:4px;position:relative}.ab-cal-cell.other-month{opacity:.3}.ab-cal-cell.today{outline:2px solid #818cf8;outline-offset:-2px}.ab-cal-cell.booked{background:#1e3a2a}.ab-cal-cell.booked-checkin{background:linear-gradient(135deg,#16171f 40%,#1e3a2a 0);border-radius:3px 3px 0 3px}.ab-cal-cell.booked-checkout{background:linear-gradient(135deg,#1e3a2a 40%,#16171f 0);border-radius:3px 0 3px 3px}.ab-cal-cell.booked-checkout-checkin{background:linear-gradient(135deg,#1e3a2a 50%,#1e3a2a 0);border-radius:3px}.ab-cal-date{color:#a1a1aa;font-size:12px;font-weight:600;padding:1px 3px}.ab-cal-cell.today .ab-cal-date{color:#818cf8}.ab-cal-cell.booked .ab-cal-date{color:#6ee7b7}.ab-cal-guest{color:#34d399;font-size:9px;font-weight:600;margin-top:auto;overflow:hidden;padding:0 2px;text-overflow:ellipsis;white-space:nowrap}.reservation-list{list-style:none}.reservation-item{-webkit-tap-highlight-color:transparent;align-items:center;background:#22232d;border-left:3px solid #52525b;border-radius:8px;cursor:pointer;display:flex;flex-wrap:wrap;gap:12px;margin:4px 0;padding:14px 12px}.reservation-item:active,.reservation-item:hover{background:#282936}.reservation-item.status-current{border-left-color:#34d399}.reservation-item.status-today{border-left-color:#fbbf24}.reservation-item.status-tomorrow{border-left-color:#60a5fa}.res-status-dot{display:none}.res-info{display:flex;flex:1 1;flex-direction:column;gap:2px;min-width:0}.res-guest{color:#e4e4e7;font-size:16px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.res-dates{color:#a1a1aa;font-size:14px}.res-nights{color:#71717a}.res-badge{border-radius:4px;font-size:11px;font-weight:600;letter-spacing:.5px;padding:4px 10px;text-transform:uppercase;white-space:nowrap}.current-badge{background:#064e3b;color:#6ee7b7}.today-badge{background:#78350f;color:#fcd34d}.tomorrow-badge{background:#1e3a5f;color:#93c5fd}.res-details{border-top:1px solid #2a2b35;margin-top:8px;padding-top:8px;width:100%}.res-description{color:#a1a1aa;font-family:inherit;font-size:13px;line-height:1.5;margin:0;white-space:pre-wrap}.res-right{align-items:center;display:flex;flex-shrink:0;gap:8px}.res-amount{-webkit-tap-highlight-color:transparent;border-radius:4px;color:#34d399;cursor:pointer;font-size:15px;font-weight:600;padding:2px 6px}.res-amount:hover{background:#22232d}.res-edit-row{align-items:center;display:flex;flex-wrap:wrap;gap:10px;margin-bottom:10px}.res-edit-label{color:#a1a1aa;font-size:14px}.res-edit-inline{align-items:center;display:flex;gap:6px}.res-dollar{color:#a1a1aa;font-size:16px}.res-edit-input{background:#16171f;border:2px solid #2a2b35;border-radius:6px;color:#e4e4e7;font-size:16px;min-width:120px;outline:none;padding:8px}.res-edit-input.res-amount-input{min-width:100px;width:100px}.res-edit-input:focus{border-color:#818cf8}.res-save-btn{-webkit-tap-highlight-color:transparent;background:#059669;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:14px;font-weight:600;padding:8px 14px}.res-save-btn:active{background:#047857}.res-cancel-btn{-webkit-tap-highlight-color:transparent;background:#2a2b35;border:none;border-radius:6px;color:#a1a1aa;cursor:pointer;font-size:14px;padding:8px 14px}.res-cancel-btn:active{background:#3a3b45}.res-set-amount-btn{-webkit-tap-highlight-color:transparent;background:#2a2b35;border:none;border-radius:6px;color:#818cf8;cursor:pointer;font-size:14px;padding:6px 12px}.res-set-amount-btn:active{background:#3a3b45}.earnings-total{display:flex;flex-direction:column;gap:4px;margin-bottom:16px}.earnings-amount{color:#34d399;font-size:36px;font-weight:700}.earnings-label{color:#a1a1aa;font-size:14px}.earnings-missing{background:#78350f33;border-radius:6px;color:#fbbf24;font-size:13px;margin-bottom:16px;padding:8px 12px}.earnings-breakdown{display:flex;flex-direction:column;gap:4px}.earnings-month{align-items:center;background:#22232d;border-radius:6px;display:flex;gap:12px;padding:10px 12px}.earnings-month-name{color:#e4e4e7;font-size:14px;font-weight:600;min-width:120px}.earnings-month-detail{color:#71717a;flex:1 1;font-size:13px}.earnings-month-amount{color:#34d399;font-size:15px;font-weight:600}.res-phone{color:#818cf8;font-size:14px;margin-top:8px}.goals-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:16px}.goals-header h2{margin-bottom:0}.manage-btn{-webkit-tap-highlight-color:transparent;background:#818cf8;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:15px;font-weight:600;padding:10px 20px}.manage-btn:active{background:#6366f1}.goals-people-row{grid-gap:12px;display:grid;gap:12px;grid-template-columns:1fr 1fr}.person-goals{margin-bottom:0}.person-goals h3{font-size:12px;margin:0 0 4px}.goal-list{display:flex;flex-direction:column;gap:3px;list-style:none}.goal-item{-webkit-tap-highlight-color:transparent;align-items:center;background:#22232d;border-radius:6px;display:flex;gap:6px;padding:5px 8px}.goal-item.completed .goal-title{color:#71717a;text-decoration:line-through}.goal-check{-webkit-tap-highlight-color:transparent;background:none;border:none;cursor:pointer;font-size:30px;line-height:1;padding:0}.goal-title{color:#e4e4e7;flex:1 1;font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.goal-freq{background:#2a2b35;border-radius:3px;color:#52525b;font-size:9px;letter-spacing:.5px;padding:2px 5px;text-transform:uppercase}.goals-manager{gap:20px;margin:0 auto;max-width:800px;padding:20px;width:100%}.goal-form,.goals-manager{display:flex;flex-direction:column}.goal-form{gap:16px}.form-row{display:flex;flex-direction:column;gap:8px}.form-row label{color:#a1a1aa;font-size:14px;font-weight:600;letter-spacing:.5px;text-transform:uppercase}.toggle-group{display:flex;gap:8px}.toggle-btn{-webkit-tap-highlight-color:transparent;background:#22232d;border:2px solid #2a2b35;border-radius:8px;color:#a1a1aa;cursor:pointer;flex:1 1;font-size:16px;font-weight:600;padding:14px}.toggle-btn.active{background:#1e1b4b;border-color:#818cf8;color:#818cf8}.toggle-btn:active{background:#2a2b35}.goal-input{background:#22232d;border:2px solid #2a2b35;border-radius:8px;color:#e4e4e7;font-size:16px;outline:none;padding:14px}.goal-input:focus{border-color:#818cf8}.submit-btn{-webkit-tap-highlight-color:transparent;background:#818cf8;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:18px;font-weight:600;padding:16px}.submit-btn:active{background:#6366f1}.manage-list .goal-item{padding:16px}.delete-btn{-webkit-tap-highlight-color:transparent;background:#991b1b;border:none;border-radius:6px;color:#fca5a5;cursor:pointer;font-size:14px;padding:8px 16px}.delete-btn:active{background:#7f1d1d}.login-page{align-items:center;background:#0f1117;display:flex;justify-content:center;min-height:100vh;padding:20px}.login-form{background:#1a1b23;border:1px solid #2a2b35;border-radius:16px;display:flex;flex-direction:column;gap:20px;max-width:400px;padding:40px;width:100%}.login-title{color:#818cf8;font-size:36px;font-weight:700;text-align:center}.login-error{background:#991b1b;border-radius:8px;color:#fca5a5;font-size:14px;padding:12px;text-align:center}.header-title{color:#e4e4e7;flex-shrink:0;font-size:1.3rem;font-weight:700;letter-spacing:1px;text-align:center}.header-actions{display:flex;gap:8px}.settings-btn{-webkit-tap-highlight-color:transparent;align-items:center;background:#2a2b35;border:none;border-radius:8px;color:#a1a1aa;cursor:pointer;display:flex;font-size:20px;height:40px;justify-content:center;width:40px}.settings-btn:active,.settings-btn:hover{background:#3a3b45;color:#818cf8}.settings-page{grid-gap:20px;display:grid;gap:20px;grid-template-columns:1fr 1fr;margin:0 auto;max-width:1200px;padding:20px}.settings-section{padding:24px}.settings-section h2{margin-bottom:8px}.settings-description{color:#a1a1aa;font-size:14px;margin-bottom:16px}.settings-row{margin-bottom:12px}.settings-toggle-label{align-items:center;cursor:pointer;display:flex;font-size:15px;gap:10px}.settings-toggle-label input[type=checkbox]{accent-color:#818cf8;height:18px;width:18px}.settings-time-row{display:flex;gap:24px;margin:16px 0}.settings-time-group{display:flex;flex-direction:column;gap:6px}.settings-time-group label{color:#a1a1aa;font-size:13px;font-weight:600}.settings-time-inputs{align-items:center;display:flex;gap:4px}.settings-time-inputs select{background:#1a1b23;border:1px solid #3a3b45;border-radius:6px;color:#e4e4e7;font-size:14px;padding:8px}.settings-time-preview{color:#818cf8;font-size:13px}.settings-save-row{margin-top:12px}.settings-resources-list{display:flex;flex-direction:column;gap:4px}.settings-resource-item{align-items:center;background:#1a1b23;border-radius:8px;color:inherit;display:flex;gap:12px;padding:12px;text-decoration:none;transition:background .15s}.settings-resource-item:hover{background:#2a2b35}.settings-resource-name{font-size:15px;font-weight:600;min-width:160px}.settings-resource-desc{color:#a1a1aa;flex:1 1;font-size:13px}.settings-resource-arrow{color:#818cf8;font-size:16px}.public-page{background:#0f1117;color:#e4e4e7;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;min-height:100vh}.public-header{align-items:center;background:#1a1b23;border-bottom:1px solid #2a2b35;display:flex;justify-content:center;padding:24px}.public-header h1{color:#818cf8;font-size:24px;font-weight:700}.public-content{margin:0 auto;max-width:900px;padding:24px}.public-home{gap:20px}.notif-settings,.public-home{display:flex;flex-direction:column}.notif-settings{gap:10px}.notif-toggle-row{padding:4px 0}.notif-recipients{margin-top:12px}.notif-recipients h3{color:#a1a1aa;font-size:14px;margin-bottom:8px}.notif-recipient-row{align-items:center;background:#1a1b23;border-radius:6px;display:flex;justify-content:space-between;margin-bottom:4px;padding:6px 12px}.notif-recipient-name{font-weight:600}.notif-recipient-number{color:#a1a1aa;font-size:13px}.notif-test{border-top:1px solid #2a2b35;margin-top:16px;padding-top:16px}.notif-test h3{color:#a1a1aa;font-size:14px;margin-bottom:8px}.notif-test-form{align-items:center;display:flex;flex-wrap:wrap;gap:8px}.notif-test-form input,.notif-test-form select{background:#1a1b23;border:1px solid #3a3b45;border-radius:6px;color:#e4e4e7;font-size:14px;padding:8px 12px}.notif-test-form select{min-width:180px}.notif-test-form input{flex:1 1;min-width:150px}.notif-result{font-size:13px;font-weight:600}.notif-result.success{color:#4ade80}.notif-result.error{color:#f87171}.refresh-btn{-webkit-tap-highlight-color:transparent;align-items:center;background:#2a2b35;border:none;border-radius:8px;color:#a1a1aa;cursor:pointer;display:flex;font-size:22px;height:40px;justify-content:center;width:40px}.refresh-btn:active{background:#3a3b45;color:#818cf8}.logout-btn{-webkit-tap-highlight-color:transparent;background:#2a2b35;border:none;border-radius:8px;color:#a1a1aa;cursor:pointer;font-size:14px;height:40px;padding:0 16px}.logout-btn:active{background:#3a3b45}.clock-section{align-items:center;display:flex;flex-direction:column;justify-content:center;overflow:hidden!important;padding:24px 20px;text-align:center}.clock-time{font-feature-settings:"tnum";color:#e4e4e7;font-size:60px;font-variant-numeric:tabular-nums;font-weight:700;letter-spacing:2px}.clock-date{color:#a1a1aa;font-size:22px;margin-top:4px}.analog-clock-section{align-items:center;display:flex;flex-direction:column;justify-content:center;padding:8px!important}.analog-clock-section,.analog-clock-section *{overflow:hidden!important}.analog-clock-wrapper{-webkit-tap-highlight-color:transparent;cursor:pointer;max-width:260px;width:100%}.analog-clock-svg{height:100%;width:100%}.clock-themes{display:flex;flex-wrap:wrap;gap:6px;justify-content:center;margin-top:8px}.clock-theme-btn{-webkit-tap-highlight-color:transparent;align-items:center;background:#22232d;border:none;border-radius:6px;color:#a1a1aa;cursor:pointer;display:flex;font-size:12px;gap:6px;padding:6px 12px;text-transform:capitalize}.clock-theme-btn.active{background:#1e1b4b;color:#818cf8}.clock-theme-dot{border-radius:50%;height:10px;width:10px}.shopping-add{display:flex;gap:8px;margin-bottom:12px}.shopping-input{background:#22232d;border:2px solid #2a2b35;border-radius:8px;color:#e4e4e7;flex:1 1;font-size:16px;outline:none;padding:10px 12px}.shopping-input:focus{border-color:#818cf8}.shopping-add-btn{-webkit-tap-highlight-color:transparent;background:#818cf8;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:22px;font-weight:700;width:44px}.shopping-add-btn:active{background:#6366f1}.shopping-list{list-style:none}.shopping-item{align-items:center;border-bottom:1px solid #22232d;display:flex;gap:8px;padding:8px 4px}.shopping-item.checked .shopping-text{color:#52525b;text-decoration:line-through}.shopping-text{color:#e4e4e7;flex:1 1;font-size:16px}.shopping-del{-webkit-tap-highlight-color:transparent;background:none;border:none;color:#52525b;cursor:pointer;font-size:20px;padding:4px 8px}.shopping-del:active,.shopping-del:hover{color:#f87171}.countdown-form{gap:8px;margin-bottom:12px}.countdown-form,.countdown-list{display:flex;flex-direction:column}.countdown-list{gap:6px}.countdown-item{align-items:center;background:#22232d;border-radius:8px;display:flex;gap:16px;padding:12px}.countdown-item.past{opacity:.5}.countdown-days{align-items:center;display:flex;flex-direction:column;min-width:60px}.countdown-num{color:#818cf8;font-size:28px;font-weight:700}.countdown-item.past .countdown-num{color:#52525b}.countdown-label{color:#71717a;font-size:11px}.countdown-info{display:flex;flex:1 1;flex-direction:column;gap:2px}.countdown-title{color:#e4e4e7;font-size:16px;font-weight:600}.countdown-date{color:#71717a;font-size:13px}.ticker-list{display:flex;flex-direction:column;gap:4px}.ticker-item{align-items:center;background:#22232d;border-left:3px solid #52525b;border-radius:6px;display:flex;justify-content:space-between;padding:10px 12px}.ticker-item.up{border-left-color:#34d399}.ticker-item.down{border-left-color:#f87171}.ticker-left{display:flex;flex-direction:column}.ticker-symbol{color:#e4e4e7;font-size:15px;font-weight:600}.ticker-sym-small{color:#71717a;font-size:11px}.ticker-right{display:flex;flex-direction:column;text-align:right}.ticker-price{font-feature-settings:"tnum";color:#e4e4e7;font-size:16px;font-variant-numeric:tabular-nums;font-weight:600}.ticker-change{font-feature-settings:"tnum";font-size:12px;font-variant-numeric:tabular-nums}.ticker-change.up{color:#34d399}.ticker-change.down{color:#f87171}.ticker-error,.ticker-help{color:#71717a}.ticker-help{font-size:12px;margin:0}.news-list{display:flex;flex-direction:column;gap:2px;max-height:400px;overflow-y:auto}.news-item{align-items:baseline;border-bottom:1px solid #22232d;display:flex;gap:8px;padding:8px 0}.news-title{color:#e4e4e7;flex:1 1;font-size:14px;line-height:1.4}.news-source{color:#71717a;flex-shrink:0;font-size:11px;white-space:nowrap}.traffic-info{align-items:baseline;display:flex;gap:12px}.traffic-value-large{color:#e4e4e7;font-size:32px;font-weight:700}.traffic-distance{color:#52525b;font-size:14px}.alerts-list{display:flex;flex-direction:column;gap:6px}.alert-item{align-items:center;border-left:4px solid #52525b;border-radius:8px;display:flex;gap:12px;padding:14px 16px}.alert-checkin,.alert-checkin-tomorrow{background:#1e3a2a;border-left-color:#34d399}.alert-checkout,.alert-checkout-tomorrow{background:#1e293b;border-left-color:#60a5fa}.alert-cleaning-urgent{background:#451a03;border-left-color:#f87171}.alert-cleaning,.alert-cleaning-upcoming{background:#422006;border-left-color:#fbbf24}.alert-hosting{background:#1a1b23;border-left-color:#818cf8}.alert-icon{flex-shrink:0;font-size:24px}.alert-text{color:#e4e4e7;font-size:15px;font-weight:600}.quote-section{text-align:center}.quote-text{color:#e4e4e7;display:block;font-size:18px;font-style:italic;line-height:1.6;margin-bottom:12px}.quote-author{color:#818cf8;font-size:14px;font-style:normal}.ytd-total{display:flex;flex-direction:column;gap:4px;margin-bottom:20px}.ytd-amount{color:#34d399;font-size:36px;font-weight:700}.ytd-label{color:#a1a1aa;font-size:14px}.ytd-chart{align-items:flex-end;display:flex;gap:4px;height:160px}.ytd-bar-col{height:100%}.ytd-bar-col,.ytd-bar-wrapper{align-items:center;display:flex;flex:1 1;flex-direction:column}.ytd-bar-wrapper{justify-content:flex-end;width:100%}.ytd-bar{border-radius:4px 4px 0 0;min-width:8px;transition:height .3s;width:100%}.ytd-bar.past{background:#059669}.ytd-bar.future{background:#064e3b;opacity:.5}.ytd-bar.current{background:#34d399}.ytd-bar-value{color:#71717a;font-size:9px;margin-bottom:2px;white-space:nowrap}.ytd-bar-label{color:#71717a;font-size:11px;margin-top:4px}.ytd-bar-label.current{color:#34d399;font-weight:600}.goals-chart-person{margin-bottom:16px}.goals-grid{grid-gap:2px;align-items:center;display:grid;gap:2px}.grid-header{padding:4px;text-align:center}.grid-header.grid-label{text-align:left}.grid-day-name{color:#71717a;display:block;font-size:11px;font-weight:600;text-transform:uppercase}.grid-day-num{color:#a1a1aa;display:block;font-size:13px}.grid-goal-name{color:#e4e4e7;font-size:14px;overflow:hidden;padding:6px 4px;text-overflow:ellipsis;white-space:nowrap}.grid-cell{border-radius:4px;font-size:16px;padding:6px;text-align:center}.grid-cell.done{background:#064e3b}.grid-cell.missed{background:#1c1c24}.goals-chart-summary{display:flex;flex-direction:column;gap:8px;margin-top:16px}.chart-summary-item{align-items:center;display:flex;gap:12px}.chart-summary-name{color:#a1a1aa;font-size:14px;font-weight:600;min-width:60px}.chart-summary-bar{background:#22232d;border-radius:4px;flex:1 1;height:8px;overflow:hidden}.chart-summary-fill{background:#818cf8;border-radius:4px;height:100%;transition:width .3s}.chart-summary-pct{color:#818cf8;font-size:14px;font-weight:600;min-width:40px;text-align:right}.goals-history-section{overflow:auto}.goals-history-controls{align-items:center;display:flex;flex-wrap:wrap;gap:8px;justify-content:space-between;margin-bottom:12px}.person-tabs{display:flex;gap:4px}.person-tab{background:#0000;border:1px solid #3a3b4a;border-radius:6px;color:#a1a1aa;cursor:pointer;font-size:13px;padding:6px 16px}.person-tab.active{background:#818cf8;border-color:#818cf8;color:#fff}.week-nav{gap:8px}.week-nav,.week-nav-btn{align-items:center;display:flex}.week-nav-btn{background:#22232d;border:1px solid #3a3b4a;border-radius:6px;color:#e4e4e7;cursor:pointer;font-size:16px;height:28px;justify-content:center;width:28px}.week-nav-btn:disabled{cursor:default;opacity:.3}.week-label{color:#a1a1aa;font-size:13px;min-width:90px;text-align:center}.goals-history-grid-wrapper{margin-bottom:16px}.goals-history-grid-wrapper h3{color:#a1a1aa;font-size:13px;margin-bottom:6px}.goals-history-grid{grid-gap:2px;display:grid;font-size:12px;gap:2px}.history-cell{cursor:pointer;transition:transform .1s}.history-cell:hover{transform:scale(1.15)}.goals-history-weekly{display:flex;flex-direction:column;gap:6px}.weekly-goal-row{align-items:center;background:#22232d;border-radius:6px;display:flex;gap:8px;padding:6px 8px}.weekly-goal-row.completed .goal-title{opacity:.6;text-decoration:line-through}.logout-confirm{max-width:340px;text-align:center}.logout-confirm h2{color:#e4e4e7;margin-bottom:8px}.logout-confirm-text{color:#a1a1aa;font-size:15px;margin-bottom:20px}.logout-confirm-actions{display:flex;gap:10px}.logout-confirm-cancel{-webkit-tap-highlight-color:transparent;background:#2a2b35;border:none;border-radius:8px;color:#a1a1aa;cursor:pointer;flex:1 1;font-size:16px;font-weight:600;padding:14px}.logout-confirm-cancel:active{background:#3a3b45}.logout-confirm-yes{-webkit-tap-highlight-color:transparent;background:#991b1b;border:none;border-radius:8px;color:#fca5a5;cursor:pointer;flex:1 1;font-size:16px;font-weight:600;padding:14px}.logout-confirm-yes:active{background:#7f1d1d}.receipts-auth{align-items:center;background:#422006;border-radius:6px;display:flex;flex-wrap:wrap;gap:8px;margin-bottom:12px;padding:10px}.receipts-auth-label{color:#fbbf24;font-size:13px}.receipts-auth-btn{-webkit-tap-highlight-color:transparent;background:#78350f;border:none;border-radius:6px;color:#fcd34d;cursor:pointer;font-size:13px;padding:6px 12px}.receipts-auth-btn:active{background:#92400e}.receipts-authorized{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:10px}.receipts-account-tag{align-items:center;background:#064e3b;border-radius:4px;color:#34d399;display:flex;font-size:12px;gap:4px;padding:4px 8px}.receipts-reauth{-webkit-tap-highlight-color:transparent;background:none;border:none;color:#6ee7b7;cursor:pointer;font-size:14px;padding:0 2px}.receipts-reauth:hover{color:#f87171}.receipts-progress{background:#16171f;border-radius:6px;margin-bottom:12px;max-height:150px;overflow-y:auto;padding:10px}.progress-line{color:#71717a;font-family:monospace;font-size:12px;padding:2px 0}.progress-active{animation:pulse-text 1s infinite;color:#818cf8}@keyframes pulse-text{0%,to{opacity:1}50%{opacity:.5}}.receipts-result{background:#064e3b;border-radius:6px;display:flex;flex-wrap:wrap;gap:16px;margin-bottom:12px;padding:12px}.result-stat{color:#6ee7b7;font-size:13px}.result-num{font-size:18px;font-weight:700;margin-right:4px}.result-errors{margin-top:4px;width:100%}.result-error{color:#fca5a5;font-size:12px}.receipts-summary{color:#71717a;font-size:13px;margin-bottom:8px}.receipts-list{display:flex;flex-direction:column;gap:2px}.receipt-item{align-items:center;border-bottom:1px solid #22232d;display:flex;flex-wrap:nowrap;gap:8px;justify-content:space-between;padding:8px 0}.receipt-info{display:flex;flex:1 1;flex-direction:column;gap:2px;min-width:0}.receipt-subject{color:#e4e4e7;font-size:13px}.receipt-from,.receipt-subject{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.receipt-from{color:#52525b;font-size:11px}.receipt-meta{align-items:center;display:flex;flex-shrink:0;gap:6px;white-space:nowrap}.receipt-date{color:#71717a;font-size:11px}.receipt-attachment-badge{background:#1e1b4b;border-radius:3px;color:#818cf8;font-size:10px;padding:2px 6px}.receipts-more{color:#52525b;font-size:12px;padding:8px 0;text-align:center}.receipts-load-more{-webkit-tap-highlight-color:transparent;background:#2a2b35;border:1px solid #3a3b4a;border-radius:6px;color:#a1a1aa;cursor:pointer;display:block;font-size:13px;margin-top:8px;padding:10px;text-align:center;width:100%}.receipts-load-more:hover{background:#3a3b45;color:#e4e4e7}.receipts-tabs{display:flex;gap:4px;margin-bottom:10px}.receipts-tab{background:#0000;border:1px solid #3a3b4a;border-radius:6px;color:#a1a1aa;cursor:pointer;flex:1 1;font-size:12px;padding:6px 12px;text-align:center}.receipts-tab.active{background:#818cf8;border-color:#818cf8;color:#fff}.receipts-empty{color:#52525b;font-size:13px;padding:20px 0;text-align:center}.receipt-actions{align-items:center;display:flex;flex-shrink:0;flex-wrap:nowrap;gap:4px}.receipt-action-btn{background:#0000;border:1px solid #3a3b4a;border-radius:4px;color:#a1a1aa;cursor:pointer;font-size:11px;padding:4px 8px;white-space:nowrap}.receipt-action-btn:hover{background:#22232d}.receipt-action-btn.view-btn{border-color:#818cf8;color:#818cf8}.receipt-action-btn.import-btn{border-color:#34d399;color:#34d399}.receipt-action-btn.ignore-btn{border-color:#f87171;color:#f87171}.receipt-action-btn.review-btn{border-color:#fbbf24;color:#fbbf24}.receipt-preview-modal{display:flex;flex-direction:column;height:85vh;max-width:900px;width:90vw}.receipt-preview-header{align-items:center;border-bottom:1px solid #3a3b4a;display:flex;flex-shrink:0;gap:12px;padding-bottom:10px}.receipt-preview-header h2{flex:1 1;font-size:14px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.receipt-preview-file-selector{display:flex;gap:4px}.receipt-file-tab{background:#0000;border:1px solid #3a3b4a;border-radius:4px;color:#a1a1aa;cursor:pointer;font-size:11px;padding:4px 8px}.receipt-file-tab.active{background:#818cf8;border-color:#818cf8;color:#fff}.receipt-preview-body{align-items:center;display:flex;flex:1 1;justify-content:center;overflow:auto;padding-top:10px}.receipt-preview-iframe{background:#fff;border:none;border-radius:4px;height:100%;width:100%}.receipt-preview-image{border-radius:4px;max-height:100%;max-width:100%;object-fit:contain}.receipt-preview-unsupported{color:#71717a;text-align:center}.receipt-download-link{background:#818cf8;border-radius:6px;color:#fff;display:inline-block;margin-top:12px;padding:8px 16px;text-decoration:none}.receipt-email-meta{border-bottom:1px solid #3a3b4a;color:#a1a1aa;display:flex;flex-direction:column;flex-shrink:0;font-size:12px;gap:2px;padding:8px 0}.receipt-email-iframe{background:#fff;border:none;border-radius:4px;height:100%;width:100%}.receipt-email-text{background:#1a1b25;border-radius:4px;color:#e4e4e7;font-size:13px;max-height:100%;overflow:auto;padding:12px;white-space:pre-wrap;width:100%;word-break:break-word}.receipt-exporter-section{overflow:auto}.re-controls{align-items:flex-end;flex-wrap:wrap;justify-content:space-between;margin-bottom:12px}.re-controls,.re-date-range{display:flex;gap:12px}.re-label{color:#a1a1aa;display:flex;flex-direction:column;font-size:12px;gap:4px}.re-date-input{background:#22232d;border:1px solid #3a3b4a;border-radius:6px;color:#e4e4e7;font-size:13px;padding:6px 10px}.re-actions{display:flex;gap:8px}.re-download-btn{background:#059669!important;border-color:#059669!important}.re-progress{background:#1a1b25;border-radius:4px;color:#a1a1aa;font-size:13px;margin-bottom:10px;padding:6px 10px}.re-preview{flex:1 1;min-height:300px}.re-preview-iframe{background:#fff;border:1px solid #3a3b4a;border-radius:4px;height:100%;min-height:400px;width:100%}.pkg-section{overflow:auto}.pkg-scan-result{background:#1a1b25;border-radius:4px;color:#a1a1aa;font-size:13px;gap:16px;padding:6px 10px}.pkg-scan-result,.pkg-tabs{display:flex;margin-bottom:10px}.pkg-tabs{gap:4px}.pkg-tab{background:#0000;border:1px solid #3a3b4a;border-radius:6px;color:#a1a1aa;cursor:pointer;flex:1 1;font-size:12px;padding:6px 12px;text-align:center}.pkg-tab.active{background:#818cf8;border-color:#818cf8;color:#fff}.pkg-empty{color:#52525b;font-size:13px;padding:20px 0;text-align:center}.pkg-list{display:flex;flex-direction:column;gap:4px}.pkg-item{align-items:flex-start;background:#1a1b25;border-radius:6px;display:flex;gap:10px;padding:10px 8px}.pkg-carrier-icon{flex-shrink:0;font-size:24px;text-align:center;width:32px}.pkg-info{flex:1 1;min-width:0}.pkg-desc{color:#e4e4e7;font-size:13px;margin-bottom:3px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pkg-meta{color:#71717a;display:flex;flex-wrap:wrap;font-size:11px;gap:10px}.pkg-track-link{color:#818cf8;text-decoration:none}.pkg-track-link:hover{text-decoration:underline}.pkg-right{align-items:flex-end;display:flex;flex-direction:column;flex-shrink:0;gap:6px}.pkg-status-badge{border-radius:10px;color:#fff;font-size:10px;font-weight:600;padding:2px 8px;white-space:nowrap}.pkg-actions{display:flex;gap:4px}.pkg-action-btn{background:#0000;border:1px solid #3a3b4a;border-radius:4px;color:#a1a1aa;cursor:pointer;font-size:11px;padding:3px 8px}.pkg-deliver-btn{border-color:#34d399;color:#34d399}.pkg-delete-btn{border-color:#f87171;color:#f87171;font-size:14px;line-height:1;padding:2px 6px}.wg-summary-bar{align-items:center;background:#16171f;border-radius:8px;display:flex;flex-wrap:wrap;font-size:13px;gap:10px;margin-bottom:10px;padding:8px 12px}.wg-summary-item{align-items:center;display:flex;gap:4px}.wg-summary-num{color:#e4e4e7;font-size:15px;font-weight:700}.wg-summary-lbl{color:#71717a;font-size:12px}.wg-summary-sep{color:#52525b;font-size:12px;margin:0 2px}.wg-summary-sides{display:flex;font-size:13px;font-weight:600;gap:10px}.wg-summary-side{background:#ffffff0d;border-radius:4px;padding:2px 8px}.wg-summary-statuses{display:flex;flex-wrap:wrap;gap:6px}.wg-summary-status-badge{border-radius:10px;font-size:11px;font-weight:600;padding:2px 7px}.wg-controls{align-items:center;display:flex;flex-wrap:wrap;gap:8px;margin-bottom:10px}.wg-filter-tabs{display:flex;flex-wrap:wrap;gap:4px}.wg-filter-tab{-webkit-tap-highlight-color:transparent;background:#22232d;border:1px solid #2a2b35;border-radius:6px;color:#71717a;cursor:pointer;font-size:12px;padding:4px 10px;transition:background .15s,color .15s}.wg-filter-tab:hover{background:#2a2b35;color:#e4e4e7}.wg-filter-tab.active{background:#818cf8;border-color:#818cf8;color:#0f1117;font-weight:600}.wg-side-filter{display:flex;gap:4px}.wg-side-filter-btn{-webkit-tap-highlight-color:transparent;background:#22232d;border:1px solid #2a2b35;border-radius:6px;color:#71717a;cursor:pointer;font-size:12px;padding:4px 10px;transition:background .15s,color .15s,border-color .15s}.wg-side-filter-btn:hover{background:#2a2b35;color:#e4e4e7}.wg-add-btn,.wg-side-filter-btn.active{font-weight:600}.wg-add-btn{-webkit-tap-highlight-color:transparent;background:#818cf8;border:none;border-radius:6px;color:#0f1117;cursor:pointer;font-size:13px;margin-left:auto;padding:5px 12px;transition:background .15s}.wg-add-btn:hover{background:#a5b4fc}.wg-guest-list{display:flex;flex-direction:column;gap:4px;overflow-y:auto}.wg-empty,.wg-loading{color:#52525b;font-size:13px;padding:16px 0;text-align:center}.wg-guest-row{align-items:center;background:#16171f;border:1px solid #1e1f2a;border-radius:6px;display:flex;gap:8px;padding:6px 8px;transition:background .15s}.wg-guest-row:hover{background:#1e1f2a}.wg-guest-info{align-items:center;display:flex;flex:1 1;gap:6px;min-width:0;overflow:hidden}.wg-guest-name{color:#e4e4e7;font-size:14px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.wg-guest-plusone{color:#71717a;font-size:12px;white-space:nowrap}.wg-guest-notes{color:#52525b;cursor:default;flex-shrink:0;font-size:12px}.wg-invite-badge{title:"Invite sent";color:#34d399;flex-shrink:0;font-size:14px}.wg-rsvp-badge{flex-shrink:0;font-size:14px;font-weight:700}.wg-rsvp-yes{color:#34d399}.wg-rsvp-no{color:#f87171}.wg-dietary-badge{cursor:default;flex-shrink:0;font-size:12px}.wg-guest-badges{display:flex;flex-shrink:0;gap:5px}.wg-badge{border-radius:10px;font-size:11px;font-weight:600;padding:2px 7px;white-space:nowrap}.wg-guest-actions{display:flex;flex-shrink:0;gap:4px}.wg-action-btn{-webkit-tap-highlight-color:transparent;background:#0000;border:1px solid #2a2b35;border-radius:4px;color:#71717a;cursor:pointer;font-size:14px;line-height:1;padding:2px 6px;transition:color .15s,border-color .15s,background .15s}.wg-edit-btn:hover{background:#818cf833;border-color:#818cf8;color:#818cf8}.wg-delete-btn:hover{background:#f8717133;border-color:#f87171;color:#f87171}.wg-modal{max-width:460px;width:100%}.wg-modal h2{color:#e4e4e7;font-size:18px;margin-bottom:16px}.wg-form{gap:12px}.wg-form,.wg-form-row{display:flex;flex-direction:column}.wg-form-row{gap:4px}.wg-form-check-row{align-items:center;flex-direction:row;gap:10px}.wg-form-label{color:#71717a;font-size:12px;font-weight:600;letter-spacing:.05em;text-transform:uppercase}.wg-form-input,.wg-form-select,.wg-form-textarea{background:#16171f;border:1px solid #2a2b35;border-radius:6px;color:#e4e4e7;font-family:inherit;font-size:14px;outline:none;padding:7px 10px;transition:border-color .15s;width:100%}.wg-form-input:focus,.wg-form-select:focus,.wg-form-textarea:focus{border-color:#818cf8}.wg-form-textarea{min-height:60px;resize:vertical}.wg-form-checkbox{cursor:pointer;height:16px;width:16px}.wg-side-toggle{display:flex;gap:6px}.wg-side-btn{-webkit-tap-highlight-color:transparent;background:#22232d;border:1px solid #2a2b35;border-radius:6px;color:#71717a;cursor:pointer;flex:1 1;font-size:13px;font-weight:600;padding:6px 10px;transition:background .15s,color .15s,border-color .15s}.wg-side-btn:hover{background:#2a2b35;color:#e4e4e7}.wg-form-error{color:#f87171;font-size:13px}.wg-form-actions{display:flex;gap:8px;justify-content:flex-end;margin-top:4px}.wg-btn{-webkit-tap-highlight-color:transparent;border:none;border-radius:6px;cursor:pointer;font-size:14px;font-weight:600;padding:8px 18px;transition:background .15s}.wg-btn-cancel{background:#2a2b35;color:#a1a1aa}.wg-btn-cancel:hover{background:#3a3b45;color:#e4e4e7}.wg-btn-save{background:#818cf8;color:#0f1117}.wg-btn-save:hover{background:#a5b4fc}.wg-btn-save:disabled{cursor:not-allowed;opacity:.6}.wg-additional-guest-row{align-items:center;display:flex;gap:6px;padding-left:20px}.wg-btn-small{background:#22232d;border:1px solid #3a3b4a;border-radius:4px;color:#a1a1aa;cursor:pointer;font-size:11px;padding:4px 10px}.wg-btn-remove{background:#0000;border:1px solid #f87171;border-radius:4px;color:#f87171;cursor:pointer;font-size:16px;line-height:1;padding:2px 8px}.wg-headcount-badge{background:#818cf833;border-radius:8px;color:#818cf8;font-size:11px;font-weight:600;margin-left:6px;padding:1px 5px}.wg-guest-plusones{display:flex;flex-wrap:wrap;font-size:11px;gap:4px}.wg-plusone-name{background:#22232d;border-radius:3px;color:#a1a1aa;padding:1px 6px}.wg-plusone-unnamed{color:#52525b;font-style:italic}.wg-guest-icons{color:#71717a;display:flex;flex-shrink:0;font-size:12px;gap:4px}.wg-guest-icons .wg-rsvp-yes{color:#34d399}.wg-guest-icons .wg-rsvp-no{color:#f87171}.wd-section{overflow:auto}.wd-stats-row{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:16px}.wd-stat-box{background:#1a1b25;border-radius:8px;display:flex;flex:1 1;flex-direction:column;gap:2px;min-width:80px;padding:12px;text-align:center}.wd-stat-num{color:#e4e4e7;font-size:24px;font-weight:700}.wd-stat-label{color:#71717a;font-size:11px;letter-spacing:.5px;text-transform:uppercase}.wd-charts-row{display:flex;flex-wrap:wrap;gap:16px;justify-content:center;margin-bottom:16px}.wd-chart-col{flex:1 1;min-width:150px;text-align:center}.wd-chart-col h3{color:#a1a1aa;font-size:12px;margin-bottom:8px}.wd-donut-container{align-items:center;display:flex;flex-direction:column;gap:8px}.wd-donut-legend{display:flex;flex-wrap:wrap;gap:6px;justify-content:center}.wd-legend-item{align-items:center;color:#a1a1aa;display:flex;font-size:10px;gap:3px}.wd-legend-dot{border-radius:50%;flex-shrink:0;height:8px;width:8px}.wd-bars-section{margin-bottom:14px}.wd-bars-section h3{color:#a1a1aa;font-size:12px;margin-bottom:6px}.wd-bar-row{align-items:center;display:flex;gap:8px;margin-bottom:4px}.wd-bar-label{color:#a1a1aa;font-size:12px;min-width:80px;text-align:right}.wd-bar-track{background:#22232d;border-radius:8px;flex:1 1;height:16px;overflow:hidden}.wd-bar-fill{border-radius:8px;height:100%;transition:width .3s}.wd-bar-value{color:#e4e4e7;font-size:12px;font-weight:600;min-width:40px}.lock-screen{background:#0f1117;justify-content:center;min-height:100vh}.lock-content,.lock-screen{align-items:center;display:flex}.lock-content{flex-direction:column;gap:24px}.lock-icon{font-size:48px}.lock-dots{display:flex;gap:16px}.lock-dot{border:2px solid #52525b;border-radius:50%;height:18px;transition:all .15s;width:18px}.lock-dot.filled{background:#818cf8;border-color:#818cf8}.lock-dot.error{animation:lock-shake .4s;border-color:#f87171}.lock-dot.filled.error{background:#f87171}@keyframes lock-shake{0%,to{transform:translateX(0)}20%{transform:translateX(-6px)}40%{transform:translateX(6px)}60%{transform:translateX(-4px)}80%{transform:translateX(4px)}}.lock-error{color:#f87171;font-weight:600}.lock-checking,.lock-error{font-size:14px;min-height:20px}.lock-checking{color:#71717a}.lock-keypad{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(3,1fr);max-width:280px}.lock-key{-webkit-tap-highlight-color:transparent;align-items:center;background:#1a1b23;border:2px solid #2a2b35;border-radius:50%;color:#e4e4e7;cursor:pointer;display:flex;font-size:28px;font-weight:600;height:80px;justify-content:center;transition:background .1s;width:80px}.lock-key:active{background:#2a2b35}.lock-key-del{color:#a1a1aa;font-size:22px}.lock-key-spacer{height:80px;width:80px}.lock-btn{-webkit-tap-highlight-color:transparent;background:#2a2b35;border:none;border-radius:8px;color:#a1a1aa;cursor:pointer;font-size:18px;height:40px;padding:0 12px}.lock-btn:active{background:#3a3b45}.night-btn{-webkit-tap-highlight-color:transparent;align-items:center;background:#2a2b35;border:none;border-radius:8px;color:#a1a1aa;cursor:pointer;display:flex;font-size:18px;height:40px;justify-content:center;width:40px}.night-btn:active{background:#3a3b45}.night-btn.active{background:#1a1a2e}.night-mode{filter:brightness(.25)}.night-mode .app-header{background:#050508;border-bottom-color:#0a0a10}.night-mode .card{background:#080810;border-color:#0a0a14}.night-mode .clock-time{color:#3a3a4a}.night-mode .clock-date{color:#2a2a3a}.night-mode .lock-btn,.night-mode .logout-btn,.night-mode .night-btn,.night-mode .refresh-btn{filter:brightness(4)}.night-mode .card *{color:#6b6b7a}.night-mode h2,.night-mode h3{color:#7a7a8a}.night-mode .card{box-shadow:none}.night-mode .cf-row-value,.night-mode .cf-total-value,.night-mode .kpi-sub,.night-mode .kpi-value,.night-mode .negative,.night-mode .nw-change,.night-mode .nw-current,.night-mode .pf-ticker,.night-mode .positive,.night-mode .sfin-tx-amount,.night-mode .stx-summary-value,.night-mode .wd-stat-num{color:#7a7a8a!important}.night-mode .nw-range-btn.active,.night-mode .sfin-tx-category-badge,.night-mode .sfin-tx-spending-badge,.night-mode .stx-uncat,.night-mode .stx-untyped,.night-mode .wg-badge,.night-mode .wg-filter-tab.active,.night-mode .wg-summary-status-badge{background:#12121a!important;border-color:#1a1a24!important;color:#6b6b7a!important}.night-mode svg text{fill:#5a5a6a!important}.night-mode svg line{stroke:#1a1a24!important}.night-mode .cf-row-bar-fill,.night-mode .nw-breakdown,.night-mode .stx-cat-minibar,.night-mode .tr-cat-bar-fill,.night-mode .wd-bar-fill,.night-mode svg circle,.night-mode svg path,.night-mode svg rect{opacity:.3!important}.night-mode .wd-donut-container svg circle{stroke-opacity:.3}.night-mode .wd-legend-dot{opacity:.35!important}.night-mode .cf-row-dot,.night-mode .cr-rule-arrow,.night-mode .ln-group-dot,.night-mode .pf-proxy-badge{opacity:.3!important}.night-mode .cal-nav-btn,.night-mode .manage-btn,.night-mode .receipt-action-btn,.night-mode .sfin-tx-page-btn,.night-mode .wg-add-btn,.night-mode .wg-btn,.night-mode input[type=date],.night-mode input[type=email],.night-mode input[type=number],.night-mode input[type=tel],.night-mode input[type=text],.night-mode select,.night-mode textarea{background:#0a0a12!important;border-color:#1a1a24!important;color:#6b6b7a!important}.night-mode .ln-card{background:#0a0a12!important;border-color:#1a1a24!important}.night-mode .ln-card:hover{box-shadow:none!important;transform:none!important}.night-mode .ln-icon,.night-mode .tr-heatmap-cell{opacity:.3!important}.night-mode .sfin-import-result,.night-mode .stx-bulk-bar{background:#0a0a12!important;border-color:#1a1a24!important;color:#6b6b7a!important}.night-mode .hourly-icon,.night-mode .weather-icon{opacity:.3!important}.night-mode .goal-check{opacity:.35!important}.night-mode .analog-clock-face{opacity:.25!important}.ba-backup-list{display:flex;flex-direction:column;gap:2px}.ba-backup-row{align-items:center;background:#16171f;border:1px solid #22232d;border-radius:6px;cursor:pointer;display:flex;gap:10px;padding:8px 10px}.ba-backup-row:hover{background:#1a1b25}.ba-backup-icon{color:#71717a;font-size:10px;width:12px}.ba-backup-date{color:#e4e4e7;font-size:13px;font-weight:500;min-width:180px}.ba-backup-name{color:#52525b;font-family:monospace;font-size:11px}.ba-contents{padding:8px 12px 8px 32px}.ba-file-list{display:flex;flex-direction:column;gap:2px}.ba-file-row{background:#1a1b23;border-radius:4px;display:flex;font-size:12px;justify-content:space-between;padding:3px 8px}.ba-file-name{color:#a1a1aa;font-family:monospace}.ba-file-size{color:#52525b}@media (max-width:768px){.panel-grid{grid-auto-rows:auto!important;grid-template-columns:1fr!important}.panel-wrapper{grid-row:span 1!important}.panel-wrapper:not(.edit-mode) .panel-controls{display:none}.panel-content{height:auto;overflow:visible}.app-header{flex-wrap:wrap;gap:8px;padding:10px 12px}.header-left{flex:1 1;min-width:0}.header-date{font-size:14px}.header-actions{flex-wrap:wrap}.column-toggle,.header-left,.lock-btn,.night-btn,.refresh-btn{display:none}.dashboard{padding:10px}.card{padding:14px}.clock-time{font-size:48px}.clock-date{font-size:16px}.weather-temp{font-size:28px}.hourly-list{flex-wrap:wrap}.weather-forecast{flex-wrap:wrap;gap:6px}.forecast-day{min-width:60px}.ytd-chart{height:120px}.layout-menu{left:0;right:auto}.sfin-tx-controls,.sfin-tx-row{flex-direction:column}.sfin-tx-row{gap:4px}.sfin-tx-meta{align-items:center;flex-direction:row}.sfin-account-row{flex-direction:column;gap:4px}.sfin-account-balance-col{align-items:flex-start}}.sfin-setup{margin-bottom:12px}.sfin-setup-info{color:#a1a1aa;font-size:13px;line-height:1.5;margin-bottom:10px}.sfin-setup-form{display:flex;gap:8px}.sfin-setup-input{background:#16171f;border:1px solid #2a2b35;border-radius:6px;color:#e4e4e7;flex:1 1;font-size:14px;outline:none;padding:8px 12px}.sfin-setup-input:focus{border-color:#818cf8}.sfin-setup-error{background:#451a1a;border-radius:6px;color:#f87171;font-size:12px;margin-top:8px;padding:8px}.sfin-connected{margin-bottom:10px}.sfin-header-actions{align-items:center;display:flex;gap:10px}.sfin-add-btn{background:#2a2b35;border:1px solid #3f3f46;border-radius:6px;color:#818cf8;cursor:pointer;font-size:12px;padding:4px 10px}.sfin-add-btn:hover{background:#3f3f46}.sfin-total{color:#818cf8;font-size:18px;font-weight:700}.sfin-manual-form{background:#1e1f2a;border-radius:8px;display:flex;flex-wrap:wrap;gap:8px;margin-bottom:10px;padding:10px}.sfin-manual-form input,.sfin-manual-form select{background:#2a2b35;border:1px solid #3f3f46;border-radius:6px;color:#e4e4e7;flex:1 1;font-size:13px;min-width:100px;padding:6px 10px}.sfin-manual-form input:focus,.sfin-manual-form select:focus{border-color:#818cf8;outline:none}.sfin-form-actions{display:flex;gap:6px;width:100%}.sfin-form-actions button{border:none;border-radius:6px;cursor:pointer;font-size:13px;padding:6px 14px}.sfin-form-actions button[type=submit]{background:#818cf8;color:#fff}.sfin-form-actions button[type=button]{background:#3f3f46;color:#a1a1aa}.sfin-accounts-list{display:flex;flex-direction:column;gap:2px;padding-right:8px}.sfin-category-group{margin-bottom:8px}.sfin-category-header{align-items:center;border-bottom:1px solid #3f3f46;display:flex;justify-content:space-between;margin-bottom:2px;padding:6px 0 4px}.sfin-category-name{color:#a1a1aa;font-size:12px;font-weight:600;letter-spacing:.5px;text-transform:uppercase}.sfin-category-total{color:#71717a;font-size:12px;font-weight:600}.sfin-account-row{align-items:center;border-bottom:1px solid #22232d;display:flex;justify-content:space-between;padding:8px 0}.sfin-account-info{display:flex;flex:1 1;flex-direction:column;gap:2px;min-width:0}.sfin-account-name{align-items:center;color:#e4e4e7;display:flex;font-size:13px;gap:6px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sfin-manual-badge{background:#3f3f46;border-radius:4px;color:#a1a1aa;font-size:9px;letter-spacing:.3px;padding:1px 5px;text-transform:uppercase}.sfin-account-meta{align-items:center;display:flex;gap:8px}.sfin-category-select{background:#0000;border:none;color:#71717a;cursor:pointer;font-size:11px;padding:0}.sfin-category-select:focus{color:#818cf8;outline:none}.sfin-account-date{color:#52525b;font-size:11px}.sfin-manual-actions{display:flex;gap:4px}.sfin-delete-btn,.sfin-edit-btn{background:none;border:none;color:#71717a;cursor:pointer;font-size:14px;padding:0 2px}.sfin-edit-btn:hover{color:#818cf8}.sfin-delete-btn:hover{color:#f87171}.sfin-account-balance-col{align-items:flex-end;display:flex;flex-direction:column;flex-shrink:0;gap:2px}.sfin-account-balance{color:#34d399;font-size:14px;font-weight:600}.sfin-account-balance.negative{color:#f87171}.sfin-account-available{color:#71717a;font-size:11px}.sfin-tx-controls{display:flex;gap:8px;margin-bottom:10px}.sfin-tx-search{background:#16171f;border:1px solid #2a2b35;border-radius:6px;color:#e4e4e7;flex:1 1;font-size:13px;outline:none;padding:8px 12px}.sfin-tx-search:focus{border-color:#818cf8}.sfin-tx-select{background:#16171f;border:1px solid #2a2b35;border-radius:6px;color:#e4e4e7;cursor:pointer;font-size:13px;outline:none;padding:8px 10px}.sfin-tx-select:focus{border-color:#818cf8}.sfin-tx-summary{color:#71717a;font-size:12px;margin-bottom:8px}.sfin-tx-list{display:flex;flex-direction:column;gap:2px;padding-right:12px}.sfin-tx-row{align-items:flex-start;border-bottom:1px solid #22232d;cursor:pointer;display:flex;gap:12px;justify-content:space-between;padding:8px 0}.sfin-tx-row:hover{background:#1e1f2a;border-radius:4px;margin:0 -8px;padding:8px}.sfin-tx-row.sfin-tx-reviewed{opacity:.6}.sfin-tx-check{align-items:center;display:flex;flex-shrink:0;padding-top:2px}.sfin-tx-check input[type=checkbox]{accent-color:#818cf8;cursor:pointer;height:16px;width:16px}.sfin-tx-tags{align-items:center;display:flex;flex-wrap:wrap;gap:6px}.sfin-tx-category-badge{background:#2d2b55;border-radius:4px;color:#a5b4fc;font-size:10px;padding:1px 6px}.sfin-tx-category-select{background:#2a2b35;border:1px solid #3f3f46;border-radius:6px;color:#e4e4e7;cursor:pointer;font-size:13px;padding:4px 8px}.sfin-tx-category-select:focus{border-color:#818cf8;outline:none}.sfin-tx-reviewed-toggle{align-items:center;cursor:pointer;display:flex;font-size:13px;gap:8px}.sfin-tx-reviewed-toggle input[type=checkbox]{accent-color:#818cf8;cursor:pointer;height:16px;width:16px}.sfin-tx-info{display:flex;flex:1 1;flex-direction:column;gap:2px;min-width:0}.sfin-tx-description{color:#e4e4e7;font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sfin-tx-account{color:#52525b;font-size:11px}.sfin-tx-meta{align-items:flex-end;display:flex;flex-direction:column;flex-shrink:0;gap:2px}.sfin-tx-amount{font-size:13px;font-weight:600}.sfin-tx-amount.positive{color:#34d399}.sfin-tx-amount.negative{color:#f87171}.sfin-tx-date{color:#71717a;font-size:11px}.sfin-tx-pagination{align-items:center;border-top:1px solid #22232d;display:flex;gap:12px;justify-content:center;margin-top:12px;padding-top:8px}.sfin-tx-page-btn{background:#0000;border:1px solid #3a3b4a;border-radius:6px;color:#a1a1aa;cursor:pointer;font-size:12px;padding:6px 12px}.sfin-tx-page-btn:disabled{cursor:default;opacity:.4}.sfin-tx-page-btn:not(:disabled):hover{background:#22232d}.sfin-tx-page-info{color:#71717a;font-size:12px}.sfin-tx-modal{display:flex;flex-direction:column;max-height:95vh;max-width:500px;width:90vw}.sfin-tx-detail-body{display:flex;flex-direction:column;gap:12px;padding-top:12px}.sfin-tx-detail-row{display:flex;flex-direction:column;gap:4px}.sfin-tx-detail-label{color:#71717a;font-size:11px;letter-spacing:.5px;text-transform:uppercase}.sfin-tx-detail-value{color:#e4e4e7;font-size:14px}.sfin-tx-detail-value.positive{color:#34d399;font-size:20px;font-weight:700}.sfin-tx-detail-value.negative{color:#f87171;font-size:20px;font-weight:700}.sfin-tx-pending-badge{background:#78350f;border-radius:4px;color:#fcd34d;display:inline-block;font-size:11px;padding:2px 8px}.sfin-tx-memo-area{width:100%}.sfin-tx-memo-display{background:#16171f;border:1px solid #2a2b35;border-radius:6px;cursor:pointer;font-size:13px;min-height:40px;padding:8px}.sfin-tx-memo-display:hover{border-color:#818cf8}.sfin-tx-memo-placeholder{color:#52525b;font-style:italic}.sfin-tx-memo-edit{display:flex;flex-direction:column;gap:8px}.sfin-tx-memo-input{background:#16171f;border:1px solid #818cf8;border-radius:6px;color:#e4e4e7;font-family:inherit;font-size:13px;outline:none;padding:8px;resize:vertical}.sfin-tx-memo-actions{display:flex;gap:8px}.stx-tags-input{background:#1a1b23;border:1px solid #3a3b45;border-radius:6px;min-height:32px;padding:4px 6px}.stx-tag-badge{align-items:center;background:#2a2b35;border:1px solid #3a3b45;border-radius:4px;color:#a78bfa;display:inline-flex;font-size:12px;gap:2px;padding:1px 6px;white-space:nowrap}.stx-tag-remove{background:none;border:none;color:#71717a;cursor:pointer;font-size:14px;line-height:1;padding:0 2px}.stx-tag-remove:hover{color:#ef4444}.stx-tags-dropdown{background:#1a1b23;border:1px solid #3a3b45;border-radius:6px;left:0;margin-top:4px;max-height:160px;overflow-y:auto;position:absolute;right:0;top:100%;z-index:10}.stx-tags-option{color:#e4e4e7;cursor:pointer;font-size:13px;padding:6px 10px}.stx-tags-option:hover{background:#2a2b35}.stx-summary-bar{background:#16171f;border:1px solid #22232d;border-radius:8px;display:flex;flex-wrap:wrap;gap:12px;margin-bottom:8px;padding:10px 12px}.stx-summary-stat{align-items:center;display:flex;flex-direction:column;min-width:60px}.stx-summary-value{font-size:15px;font-weight:700}.stx-summary-value.positive{color:#22c55e}.stx-summary-value.negative{color:#ef4444}.stx-summary-label{color:#52525b;font-size:10px;letter-spacing:.5px;text-transform:uppercase}.stx-cat-minibar{border-radius:3px;display:flex;gap:1px;height:6px;margin-bottom:8px;overflow:hidden}.stx-cat-segment{border-radius:2px;min-width:4px;position:relative}.stx-cat-segment:first-child{background:#22c55e}.stx-cat-segment:nth-child(2){background:#f97316}.stx-cat-segment:nth-child(3){background:#8b5cf6}.stx-cat-segment:nth-child(4){background:#3b82f6}.stx-cat-segment:nth-child(5){background:#eab308}.stx-cat-seg-label{display:none}.stx-date-group{border-bottom:1px solid #22232d;color:#71717a;font-size:11px;font-weight:600;letter-spacing:.5px;padding:10px 4px 4px;text-transform:uppercase}.stx-selected{background:#60a5fa14!important;border-color:#3b82f6!important}.stx-bulk-bar{align-items:center;background:#60a5fa1a;border:1px solid #60a5fa4d;border-radius:8px;display:flex;flex-wrap:wrap;gap:8px;margin-bottom:8px;padding:8px 12px}.stx-bulk-count{color:#60a5fa;font-size:13px;font-weight:600}.sfin-tx-inline-select{background:#1a1b23;border:1px solid #3b82f6;border-radius:4px;color:#e4e4e7;font-size:10px;max-width:120px;outline:none;padding:2px 4px}.stx-uncat{background:#fbbf2426!important;border:1px dashed #fbbf2466;color:#fbbf24!important;cursor:pointer}.stx-untyped{background:#0000;border:1px dashed #3a3b45;color:#52525b;cursor:pointer;font-size:10px;padding:2px 5px}.stx-untyped:hover{border-color:#52525b;color:#a1a1aa}.stx-memo-indicator{cursor:default;font-size:11px}.stx-create-rule-btn{background:#0000;border:1px dashed #3a3b45;border-radius:3px;color:#52525b;cursor:pointer;font-size:10px;padding:1px 5px;white-space:nowrap}.stx-create-rule-btn:hover{background:#1a1b23;border-color:#52525b;color:#a1a1aa}.stx-rule-modal{max-width:500px}.stx-rule-form{display:flex;flex-direction:column;gap:8px;padding:12px 0}.stx-rule-actions{border-top:1px solid #22232d;display:flex;gap:8px;justify-content:flex-end;padding-top:12px}.stx-detail-amount-row{align-items:baseline;border-bottom:1px solid #22232d;display:flex;justify-content:space-between;margin-bottom:8px;padding:12px 0}.stx-detail-big-amount{font-size:1.8rem;font-weight:700}.stx-detail-big-amount.positive{color:#22c55e}.stx-detail-big-amount.negative{color:#ef4444}.stx-detail-date{color:#71717a;font-size:13px}.sfin-import-result{align-items:center;border-radius:8px;display:flex;font-size:.9rem;margin-bottom:10px;padding:8px 12px}.sfin-import-success{background:#22c55e26;border:1px solid #22c55e4d;color:#4ade80}.sfin-import-error{background:#ef444426;border:1px solid #ef44444d;color:#f87171}.ln-grid{grid-gap:10px;display:grid;gap:10px;grid-template-columns:repeat(auto-fill,minmax(130px,1fr))}.ln-card{align-items:center;background:#16171f;border:2px solid #22232d;border-radius:12px;cursor:pointer;display:flex;flex-direction:column;gap:6px;padding:16px 10px;text-align:center;transition:all .2s}.ln-card:hover{background:#1a1b25;border-color:#3a3b45;border-color:var(--ln-color,#3a3b45);box-shadow:0 4px 12px #0000004d;transform:translateY(-2px)}.ln-active{background:color-mix(in srgb,var(--ln-color) 10%,#16171f)!important;border-color:#3a3b45!important;border-color:var(--ln-color,#3a3b45)!important;box-shadow:inset 0 0 0 1px #3a3b45!important;box-shadow:inset 0 0 0 1px var(--ln-color,#3a3b45)!important;cursor:default;transform:none!important}.ln-icon{font-size:28px;line-height:1}.ln-name{color:#e4e4e7;font-size:13px;font-weight:600;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ln-groups{align-items:center;display:flex;gap:3px}.ln-group-dot{border-radius:50%;display:inline-block;height:6px;width:6px}.ln-group-more{color:#71717a;font-size:9px;margin-left:2px}.ln-panel-count{color:#52525b;font-size:10px}.cf-total{align-items:baseline;background:#16171f;border:1px solid #22232d;border-radius:10px;display:flex;justify-content:space-between;margin-bottom:12px;padding:14px 16px}.cf-total-label{color:#71717a;font-size:14px;font-weight:500}.cf-total-value{color:#22c55e;font-size:1.6rem;font-weight:700}.cf-rows{display:flex;flex-direction:column;gap:10px}.cf-row{background:#16171f;border:1px solid #22232d;border-radius:8px;padding:10px 12px}.cf-row-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:6px}.cf-row-label-col{align-items:center;display:flex;flex-wrap:wrap;gap:8px}.cf-row-dot{border-radius:50%;flex-shrink:0;height:8px;width:8px}.cf-row-label{color:#e4e4e7;font-size:13px;font-weight:600}.cf-row-sublabel{color:#52525b;font-size:11px}.cf-row-value{color:#e4e4e7;font-size:15px;font-weight:700}.cf-editable{border-radius:4px;cursor:pointer;padding:2px 6px;transition:background .15s}.cf-editable:hover{background:#2a2b35}.cf-edit-inline{align-items:center;display:flex;gap:2px}.cf-edit-dollar{color:#71717a;font-size:13px}.cf-edit-input{background:#1a1b23;border:1px solid #3b82f6;border-radius:6px;color:#e4e4e7;font-size:14px;font-weight:600;outline:none;padding:4px 8px;width:110px}.cf-row-bar-track{background:#1a1b23;border-radius:3px;height:6px;overflow:hidden}.cf-row-bar-fill{border-radius:3px;height:100%;transition:width .3s}.cf-row-detail{color:#52525b;display:block;font-size:11px;margin-top:4px}.cf-row-indent{background:#1a1b23;border-color:#1a1b23;margin-left:20px;padding:6px 10px}.cf-row-indent .cf-row-label{color:#a1a1aa;font-size:12px}.cf-row-indent .cf-row-value{font-size:13px}.sfin-tx-spending-badge{border-radius:4px;font-size:10px;font-weight:500;margin-left:4px;padding:2px 6px}.sfin-st-bills{background:#3b82f633;color:#60a5fa}.sfin-st-controllable{background:#f59e0b33;color:#f59e0b}.sfin-st-unplanned{background:#ef444433;color:#f87171}.nw-range-tabs{display:flex;gap:4px}.nw-range-btn{background:#0000;border:1px solid #3a3b45;border-radius:6px;color:#71717a;cursor:pointer;font-size:12px;padding:4px 10px;transition:all .15s}.nw-range-btn.active{background:#3a3b45;color:#e4e4e7}.nw-summary-row{align-items:baseline;display:flex;gap:12px;margin-bottom:8px}.nw-current{color:#e4e4e7;font-size:1.6rem;font-weight:700}.nw-change{font-size:.9rem;font-weight:600}.nw-change.positive{color:#22c55e}.nw-change.negative{color:#ef4444}.nw-chart-wrapper{overflow:visible;width:100%}.nw-chart-svg{display:block;height:auto;min-height:180px;width:100%}.nw-breakdown{border-top:1px solid #2a2b35;display:flex;flex-wrap:wrap;gap:8px 16px;margin-top:12px;padding-top:12px}.nw-breakdown-item{display:flex;flex:1 1;font-size:13px;justify-content:space-between;min-width:140px}.nw-breakdown-label{color:#71717a}.nw-breakdown-value{font-weight:600}.nw-breakdown-value.positive{color:#22c55e}.nw-breakdown-value.negative{color:#ef4444}.fd-comparison{display:flex;flex-direction:column;gap:8px}.fd-compare-row{border-bottom:1px solid #22232d;display:flex;font-size:13px;justify-content:space-between;padding:6px 0}.fd-compare-label{color:#71717a}.fd-compare-value{color:#e4e4e7;font-weight:600}.fd-compare-pct{font-size:11px}.fd-merchants{display:flex;flex-direction:column;gap:4px}.fd-merchant-row{display:flex;font-size:13px;justify-content:space-between;padding:4px 0}.fd-merchant-name{color:#a1a1aa;max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.fd-merchant-amt{color:#e4e4e7;font-weight:500}.cr-rules-list,.cr-suggestions-list{display:flex;flex-direction:column;gap:4px}.cr-rule-row{align-items:center;background:#16171f;border:1px solid #22232d;border-radius:8px;display:flex;gap:10px;padding:8px 10px}.cr-rule-row.cr-disabled{opacity:.5}.cr-rule-check{cursor:pointer}.cr-rule-info{align-items:center;color:#a1a1aa;display:flex;flex:1 1;flex-wrap:wrap;font-size:13px;gap:4px}.cr-rule-pattern strong{color:#e4e4e7}.cr-rule-arrow{color:#71717a;margin:0 4px}.cr-rule-actions{display:flex;gap:4px}.cr-suggestion-row{align-items:center;background:#16171f;border:1px solid #22232d;border-radius:8px;display:flex;gap:10px;justify-content:space-between;padding:8px 10px}.cr-suggestion-info{flex:1 1}.cr-suggestion-desc{color:#e4e4e7;display:block;font-size:13px;margin-bottom:4px}.cr-suggestion-meta{align-items:center;display:flex;gap:8px}.cr-suggestion-actions{display:flex;gap:6px}.gs-result-count{color:#71717a;font-size:12px;margin-bottom:12px}.gs-group{margin-bottom:16px}.gs-group h3{color:#71717a;font-size:13px;margin:0 0 6px}.gs-item{background:#16171f;border:1px solid #22232d;border-radius:6px;margin-bottom:4px;padding:8px 10px}.gs-item-main{align-items:center;display:flex;justify-content:space-between}.gs-item-title{color:#e4e4e7;font-size:13px}.gs-item-amount{font-size:13px;font-weight:600}.gs-item-amount.positive{color:#22c55e}.gs-item-amount.negative{color:#ef4444}.gs-item-status{color:#71717a;font-size:12px}.gs-item-meta{align-items:center;color:#71717a;display:flex;font-size:11px;gap:8px;margin-top:4px}.de-export-list{display:flex;flex-direction:column;gap:12px}.de-export-row{align-items:center;background:#16171f;border:1px solid #22232d;border-radius:8px;display:flex;gap:16px;justify-content:space-between;padding:12px}.tr-category-bars{display:flex;flex-direction:column;gap:6px}.tr-cat-bar-row{align-items:center;display:flex;font-size:13px;gap:8px}.tr-cat-bar-label{color:#a1a1aa;flex-shrink:0;text-align:right;width:100px}.tr-cat-bar-track{background:#1a1b23;border-radius:8px;flex:1 1;height:16px;overflow:hidden}.tr-cat-bar-fill{border-radius:8px;height:100%;transition:width .3s}.tr-cat-bar-value{color:#e4e4e7;font-weight:500;text-align:right;width:70px}.tr-cat-bar-pct{color:#71717a;font-size:11px;text-align:right;width:35px}.tr-cat-legend{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;margin-top:6px}.tr-heatmap{grid-gap:2px;display:grid;gap:2px;grid-template-columns:repeat(13,1fr)}.tr-heatmap-cell{aspect-ratio:1;border:1px solid #22232d;border-radius:3px;cursor:default}.tr-summary-table{font-size:13px}.tr-table-header{border-bottom:1px solid #2a2b35;color:#71717a;font-weight:600}.tr-table-header,.tr-table-row{grid-gap:8px;display:grid;gap:8px;grid-template-columns:1fr 1fr 1fr 1fr 60px;padding:6px 8px}.tr-table-row{border-bottom:1px solid #1a1b23}.tr-table-row .positive{color:#22c55e}.tr-table-row .negative{color:#ef4444}.kpi-grid{grid-gap:10px;display:grid;gap:10px;grid-template-columns:repeat(3,1fr)}.kpi-card{align-items:center;background:#16171f;border:1px solid #22232d;border-radius:10px;display:flex;flex-direction:column;padding:14px 8px;text-align:center}.kpi-value{font-size:1.4rem;font-weight:700;line-height:1.2}.kpi-label{color:#71717a;font-size:11px;letter-spacing:.5px;margin-top:4px;text-transform:uppercase}.kpi-sub{font-size:11px;margin-top:2px}@media (max-width:600px){.kpi-grid{grid-template-columns:repeat(2,1fr)}}.pf-holdings{font-size:13px}.pf-header{border-bottom:1px solid #2a2b35;color:#71717a;font-weight:600;padding:6px 8px}.pf-header,.pf-row{grid-gap:8px;display:grid;gap:8px;grid-template-columns:1.2fr .8fr 1.2fr .6fr .9fr 1.2fr 60px}.pf-row{align-items:center;border-bottom:1px solid #1a1b23;padding:8px}.pf-row .positive{color:#22c55e}.pf-row .negative{color:#ef4444}.pf-ticker{align-items:center;color:#e4e4e7;display:flex;flex-wrap:wrap;font-weight:600;gap:6px}.pf-proxy-badge{background:#fbbf2433;border-radius:4px;color:#fbbf24;font-size:10px;font-weight:500;padding:1px 5px}.pf-account-label{color:#71717a;font-size:10px;font-weight:400}.pf-actions{display:flex;gap:4px}.web-embed-section{height:100%}.web-embed-active{display:flex;flex-direction:column}.web-embed-header{align-items:center;display:flex;flex-shrink:0;justify-content:space-between}.web-embed-header h2{margin-bottom:0}.web-embed-iframe{background:#fff;border:none;border-radius:8px;flex:1 1;margin-top:10px;min-height:0;width:100%}.web-embed-form{display:flex;flex-direction:column;gap:12px}.web-embed-input{background:#16171f;border:1px solid #2a2b35;border-radius:6px;box-sizing:border-box;color:#e4e4e7;font-size:14px;outline:none;padding:10px 12px;width:100%}.web-embed-input:focus{border-color:#818cf8}.web-embed-form-actions{display:flex;gap:8px}.rr-item{align-items:flex-start;border-bottom:1px solid #2a2b35;display:flex;gap:10px;padding:10px 0}.rr-item:last-child{border-bottom:none}.rr-item-main{flex:1 1;min-width:0}.rr-item-top{align-items:center;display:flex;gap:8px;margin-bottom:4px}.rr-vendor{color:#e4e4e7;flex:1 1;font-size:14px;font-weight:600;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rr-empty-field{color:#52525b;font-style:italic;font-weight:400}.rr-amount{color:#34d399;font-size:14px}.rr-amount,.rr-badge{font-weight:600;white-space:nowrap}.rr-badge{border-radius:4px;font-size:10px;letter-spacing:.5px;padding:2px 6px;text-transform:uppercase}.rr-badge-final{background:#1e3a5f;border:1px solid #2563eb;color:#60a5fa}.rr-item-meta{align-items:center;display:flex;flex-wrap:wrap;gap:8px;margin-bottom:4px}.rr-date{color:#71717a;font-size:12px}.rr-category{background:#2a2b35;border-radius:4px;color:#a1a1aa;font-size:11px;padding:2px 6px}.rr-source{color:#52525b;font-size:11px;font-style:italic}.rr-description{color:#a1a1aa;font-size:12px;margin-top:2px}.rr-comments{color:#71717a;font-size:11px;font-style:italic;margin-top:3px}.rr-item-actions{align-items:flex-end;display:flex;flex-direction:column;flex-shrink:0;gap:4px}.rr-upload-label{cursor:pointer;display:inline-block}.rr-error-banner{background:#3b1c1c;border:1px solid #7f1d1d;border-radius:6px;color:#f87171;font-size:13px;margin-bottom:10px;padding:8px 12px}.rr-modal{max-height:90vh;max-width:500px;overflow-y:auto;width:90vw}.rr-form{gap:12px;padding-top:12px}.rr-form,.rr-form-row{display:flex;flex-direction:column}.rr-form-row{gap:4px}.rr-label{color:#a1a1aa;font-size:12px;font-weight:600}.rr-input{background:#16171f;border:1px solid #3a3b4a;border-radius:6px;color:#e4e4e7;font-family:inherit;font-size:14px;outline:none;padding:8px 10px;width:100%}.rr-input:focus{border-color:#818cf8}.rr-textarea{min-height:70px;resize:vertical}.rr-form-actions{display:flex;gap:8px;justify-content:flex-end;padding-top:4px}.rr-attachments-body{display:flex;flex:1 1;flex-direction:column;gap:10px;overflow:hidden;padding-top:10px}.log-controls{align-items:center;display:flex;flex-wrap:wrap;gap:8px;margin-bottom:12px}.log-select{background:#2a2b35;border:1px solid #3f3f46;border-radius:6px;color:#e4e4e7;font-size:13px;padding:6px 10px}.log-select:focus{border-color:#818cf8;outline:none}.log-count{color:#71717a;font-size:12px;margin-left:auto}.log-list{display:flex;flex-direction:column;gap:4px;max-height:500px;overflow-y:auto}.log-entry{background:#16171f;border:1px solid #22232d;border-radius:6px;padding:8px 10px}.log-entry-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:4px}.log-category{border-radius:4px;font-size:10px;font-weight:600;letter-spacing:.5px;padding:2px 6px;text-transform:uppercase}.log-cat-fetch{background:#1e3a5f;color:#60a5fa}.log-cat-change{background:#3b2f1e;color:#fbbf24}.log-time{color:#52525b;font-size:11px}.log-entry-body{align-items:baseline;display:flex;gap:8px}.log-action{color:#e4e4e7;font-size:13px;font-weight:600}.log-detail{color:#71717a;font-size:12px}.version-banner{align-items:center;animation:versionFadeIn .3s ease-out;background:#000000d9;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:10000}@keyframes versionFadeIn{0%{opacity:0}to{opacity:1}}@keyframes versionPulse{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}.version-banner-content{align-items:center;animation:versionPulse 2s ease-in-out infinite;background:linear-gradient(135deg,#1e1b4b,#312e81);border:2px solid #818cf8;border-radius:20px;box-shadow:0 0 60px #818cf84d;display:flex;gap:24px;padding:40px 60px}.version-banner-icon{font-size:64px}.version-banner-title{color:#e4e4e7;font-size:36px;font-weight:700}.version-banner-sub{color:#a5b4fc;font-size:18px;margin-top:4px}:root{--w-ink:#2a2520;--w-soft-ink:#5c4f3d;--w-mute:#8a7d6b;--w-cream:#faf6ef;--w-cream-2:#f3ecdf;--w-gold:#b08d57;--w-gold-soft:#d4b482;--w-gold-deep:#8b6a3a;--w-rose:#c08d8b;--w-shadow:0 20px 60px #3c28141a;--w-shadow-lg:0 30px 80px #3c28142e}.wedding-site{background:#faf6ef;background:var(--w-cream);color:#2a2520;color:var(--w-ink);font-family:Inter,-apple-system,sans-serif;font-weight:300;line-height:1.7;min-height:100vh;overflow-x:hidden}.wedding-site *{box-sizing:border-box}.wedding-nav{backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);background:#faf6efd9;border-bottom:1px solid #b08d572e;position:sticky;top:0;z-index:100}.wedding-nav-inner{align-items:center;display:flex;gap:16px;justify-content:space-between;margin:0 auto;max-width:1100px;padding:18px 28px}.wedding-nav-monogram{color:#8b6a3a;color:var(--w-gold-deep);cursor:pointer;font-family:Cormorant Garamond,serif;font-size:26px;font-weight:500;letter-spacing:4px}.wedding-nav-links{display:flex;flex-wrap:wrap;gap:4px}.wedding-nav-link{background:none;border:none;border-radius:2px;color:#8a7d6b;color:var(--w-mute);cursor:pointer;font-family:Inter,sans-serif;font-size:12px;font-weight:500;letter-spacing:3px;padding:10px 18px;position:relative;text-transform:uppercase;transition:color .3s ease,background .3s ease}.wedding-nav-link:hover{color:#2a2520;color:var(--w-ink)}.wedding-nav-link.active{color:#8b6a3a;color:var(--w-gold-deep)}.wedding-nav-link.active:after{background:#b08d57;background:var(--w-gold);bottom:2px;content:"";height:1px;left:18px;position:absolute;right:18px}.wedding-hero{align-items:center;display:flex;isolation:isolate;justify-content:center;min-height:calc(100vh - 70px);overflow:hidden;position:relative}.wedding-hero-image{inset:0;position:absolute;z-index:-1}.wedding-hero-image img{animation:weddingKenBurns 18s ease-in-out infinite alternate;filter:saturate(1.02);height:100%;object-fit:cover;object-position:center 30%;width:100%}@keyframes weddingKenBurns{0%{transform:scale(1) translate(0)}to{transform:scale(1.06) translate(-1%,-1%)}}.wedding-hero-gradient{background:linear-gradient(180deg,#faf6ef00,#2a25204d 50%,#2a2520c7),linear-gradient(0deg,#2a252033,#2a252000);inset:0;position:absolute}.wedding-hero-content{animation:weddingFadeIn 1.8s ease both;color:#fff;max-width:760px;padding:80px 24px 48px;position:relative;text-align:center}@keyframes weddingFadeIn{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}.wedding-pretext{color:#ffffffd9;font-family:Inter,sans-serif;font-size:12px;font-weight:400;letter-spacing:6px;margin:0 0 24px;text-transform:uppercase}.wedding-names{align-items:baseline;display:flex;flex-wrap:wrap;font-family:Cormorant Garamond,serif;font-size:clamp(64px,13vw,168px);font-weight:300;gap:clamp(12px,3vw,28px);justify-content:center;letter-spacing:-.01em;line-height:1;margin:0;text-shadow:0 4px 30px #00000080}.wedding-amp{color:#d4b482;color:var(--w-gold-soft);font-family:Pinyon Script,cursive;font-size:.85em;font-style:italic;font-weight:400}.wedding-divider{align-items:center;display:flex;gap:14px;justify-content:center;margin:32px auto 28px}.wedding-divider:after,.wedding-divider:before{background:linear-gradient(90deg,#0000,#d4b482);background:linear-gradient(90deg,#0000,var(--w-gold-soft));content:"";height:1px;width:60px}.wedding-divider:after{background:linear-gradient(90deg,#d4b482,#0000);background:linear-gradient(90deg,var(--w-gold-soft),#0000)}.wedding-divider span{background:#d4b482;background:var(--w-gold-soft);border-radius:50%;box-shadow:0 0 12px #d4b48299;height:6px;width:6px}.wedding-invite-text{color:#ffffffeb;font-family:Cormorant Garamond,serif;font-size:clamp(16px,2.2vw,20px);font-style:italic;font-weight:300;margin:0 0 26px}.wedding-date-text{color:#fff;font-family:Cormorant Garamond,serif;font-size:clamp(20px,2.8vw,26px);letter-spacing:1px;margin:0 0 4px}.wedding-time-text,.wedding-venue-text{color:#ffffffe0;font-family:Inter,sans-serif;font-size:13px;letter-spacing:4px;margin:0 0 4px;text-transform:uppercase}.wedding-venue-text{color:#d4b482;color:var(--w-gold-soft);margin-bottom:36px}.wedding-countdown{display:flex;flex-wrap:wrap;gap:clamp(16px,4vw,36px);justify-content:center;margin:28px 0 36px}.countdown-unit{min-width:64px;text-align:center}.countdown-number{font-feature-settings:"tnum";color:#fff;display:block;font-family:Cormorant Garamond,serif;font-size:clamp(34px,5vw,52px);font-variant-numeric:tabular-nums;font-weight:400;line-height:1}.countdown-label{color:#ffffffbf;display:block;font-size:10px;margin-top:8px}.countdown-label,.wedding-scroll-cue{font-family:Inter,sans-serif;letter-spacing:3px;text-transform:uppercase}.wedding-scroll-cue{background:none;border:1px solid #fff6;border-radius:999px;color:#fff;cursor:pointer;font-size:11px;margin-top:12px;padding:14px 28px;transition:all .3s ease}.wedding-scroll-cue:hover{background:#ffffff1f;border-color:#d4b482;border-color:var(--w-gold-soft);color:#d4b482;color:var(--w-gold-soft)}.wedding-section{animation:weddingFadeIn .8s ease both;margin:0 auto;max-width:1100px;padding:100px 28px 80px}.wedding-eyebrow{color:#8b6a3a;color:var(--w-gold-deep);font-family:Inter,sans-serif;font-size:11px;font-weight:500;letter-spacing:5px;margin:0 0 12px;text-align:center;text-transform:uppercase}.wedding-section-title{color:#2a2520;color:var(--w-ink);font-size:clamp(40px,6vw,68px);font-weight:400;line-height:1.1;margin:0 0 12px}.wedding-section-subtitle,.wedding-section-title{font-family:Cormorant Garamond,serif;text-align:center}.wedding-section-subtitle{color:#5c4f3d;color:var(--w-soft-ink);font-size:18px;font-style:italic;margin:0 auto 56px;max-width:600px}.wedding-timeline{margin:0 auto;max-width:720px;padding:20px 0;position:relative}.wedding-timeline:before{background:linear-gradient(180deg,#0000,#d4b482 10%,#d4b482 90%,#0000);background:linear-gradient(180deg,#0000,var(--w-gold-soft) 10%,var(--w-gold-soft) 90%,#0000);bottom:30px;content:"";left:130px;position:absolute;top:30px;width:1px}.wedding-timeline-item{align-items:flex-start;display:flex;margin-bottom:36px;position:relative}.wedding-timeline-time{color:#8b6a3a;color:var(--w-gold-deep);flex-shrink:0;font-family:Cormorant Garamond,serif;font-size:22px;font-weight:500;padding-right:30px;padding-top:16px;text-align:right;width:110px}.wedding-timeline-content{background:#fff;border:1px solid #b08d572e;border-radius:16px;box-shadow:0 20px 60px #3c28141a;box-shadow:var(--w-shadow);flex:1 1;margin-left:30px;padding:22px 26px;position:relative;transition:transform .3s ease,box-shadow .3s ease}.wedding-timeline-content:before{background:#faf6ef;background:var(--w-cream);border:2px solid #b08d57;border:2px solid var(--w-gold);border-radius:50%;box-shadow:0 0 0 4px #faf6ef;box-shadow:0 0 0 4px var(--w-cream);content:"";height:14px;left:-38px;position:absolute;top:28px;width:14px}.wedding-timeline-content:hover{box-shadow:0 30px 80px #3c28142e;box-shadow:var(--w-shadow-lg);transform:translateY(-2px)}.wedding-timeline-icon{font-size:24px;margin-bottom:8px}.wedding-timeline-content h3{color:#2a2520;color:var(--w-ink);font-family:Cormorant Garamond,serif;font-size:26px;font-weight:500;margin:0 0 8px}.wedding-timeline-content p{color:#5c4f3d;color:var(--w-soft-ink);font-size:15px;margin:0}.wedding-timeline-finale .wedding-timeline-content{background:linear-gradient(135deg,#fff,#faf3e6);border-color:#d4b482;border-color:var(--w-gold-soft)}.wedding-timeline-finale .wedding-timeline-content:before{background:#d4b482;background:var(--w-gold-soft);border-color:#8b6a3a;border-color:var(--w-gold-deep)}.wedding-dresscode{margin:64px auto 0;max-width:460px}.wedding-dresscode-card{background:linear-gradient(135deg,#fff,#faf3e6);border:1px solid #b08d5740;border-radius:20px;box-shadow:0 20px 60px #3c28141a;box-shadow:var(--w-shadow);padding:36px 28px;text-align:center}.wedding-dresscode-icon{font-size:36px;margin-bottom:8px}.wedding-dresscode-label{color:#8b6a3a;color:var(--w-gold-deep);font-family:Inter,sans-serif;font-size:11px;letter-spacing:4px;margin:0 0 4px;text-transform:uppercase}.wedding-dresscode-value{color:#2a2520;color:var(--w-ink);font-family:Cormorant Garamond,serif;font-size:32px;margin:0 0 12px}.wedding-dresscode-note{color:#5c4f3d;color:var(--w-soft-ink);font-size:14px;margin:0}.wedding-venue-info{grid-gap:48px;align-items:start;display:grid;gap:48px;grid-template-columns:1fr 1fr;margin-bottom:64px}.wedding-venue-desc{color:#5c4f3d;color:var(--w-soft-ink);font-size:16px;line-height:1.8;margin:0 0 18px}.wedding-venue-features{border-top:1px solid #b08d5733;margin:28px 0;padding-top:24px}.wedding-venue-feature{color:#5c4f3d;color:var(--w-soft-ink);font-size:15px;padding:8px 0}.wedding-venue-feature span{color:#b08d57;color:var(--w-gold);margin-right:10px}.wedding-venue-link{border:1px solid #b08d57;border:1px solid var(--w-gold);border-radius:999px;color:#8b6a3a;color:var(--w-gold-deep);display:inline-block;font-family:Inter,sans-serif;font-size:11px;letter-spacing:3px;margin-top:12px;padding:14px 30px;text-decoration:none;text-transform:uppercase;transition:all .3s ease}.wedding-venue-link:hover{background:#b08d57;background:var(--w-gold);color:#fff}.wedding-venue-map iframe{box-shadow:0 20px 60px #3c28141a;box-shadow:var(--w-shadow)}.wedding-parking{margin-top:24px}.wedding-parking h3{color:#2a2520;color:var(--w-ink);font-family:Cormorant Garamond,serif;font-size:32px;font-weight:400;margin:0 0 32px;text-align:center}.wedding-transport-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(3,1fr)}.wedding-transport-card{background:#fff;border:1px solid #b08d572e;border-radius:16px;box-shadow:0 20px 60px #3c28141a;box-shadow:var(--w-shadow);padding:24px 22px;text-align:center;transition:transform .3s ease}.wedding-transport-card:hover{transform:translateY(-3px)}.wedding-transport-icon{font-size:28px;margin-bottom:8px}.wedding-transport-card strong{color:#2a2520;color:var(--w-ink);display:block;font-family:Cormorant Garamond,serif;font-size:22px;font-weight:500;margin:4px 0 8px}.wedding-transport-card p{color:#5c4f3d;color:var(--w-soft-ink);font-size:14px;margin:0}.wedding-hotels-grid{grid-gap:24px;display:grid;gap:24px;grid-template-columns:repeat(auto-fit,minmax(320px,1fr))}.wedding-hotel-card{background:#fff;border:1px solid #b08d572e;border-radius:18px;box-shadow:0 20px 60px #3c28141a;box-shadow:var(--w-shadow);display:flex;flex-direction:column;padding:28px 26px;position:relative;transition:transform .3s ease,box-shadow .3s ease}.wedding-hotel-card:hover{box-shadow:0 30px 80px #3c28142e;box-shadow:var(--w-shadow-lg);transform:translateY(-4px)}.wedding-hotel-featured{background:linear-gradient(135deg,#fff,#faf3e6);border-color:#d4b482;border-color:var(--w-gold-soft)}.wedding-hotel-badge{background:#b08d57;background:var(--w-gold);border-radius:999px;color:#fff;font-family:Inter,sans-serif;font-size:10px;font-weight:500;left:24px;letter-spacing:2px;padding:6px 14px;position:absolute;text-transform:uppercase;top:-12px}.wedding-hotel-header{align-items:flex-start;display:flex;gap:16px;justify-content:space-between;margin-bottom:6px}.wedding-hotel-header h3{color:#2a2520;color:var(--w-ink);font-family:Cormorant Garamond,serif;font-size:24px;font-weight:500;line-height:1.2;margin:0}.wedding-hotel-distance{background:#f3ecdf;background:var(--w-cream-2);border-radius:999px;color:#8b6a3a;color:var(--w-gold-deep);flex-shrink:0;font-size:11px;font-weight:500;letter-spacing:1.5px;padding:4px 10px;white-space:nowrap}.wedding-hotel-address{color:#8a7d6b;color:var(--w-mute);font-size:12px;letter-spacing:1px;margin:0 0 14px;text-transform:uppercase}.wedding-hotel-desc{color:#5c4f3d;color:var(--w-soft-ink);flex:1 1;font-size:14px;margin:0 0 20px}.wedding-hotel-footer{align-items:center;border-top:1px solid #b08d572e;display:flex;justify-content:space-between;padding-top:16px}.wedding-hotel-price{color:#2a2520;color:var(--w-ink);font-family:Cormorant Garamond,serif;font-size:22px;font-weight:500}.wedding-hotel-price-unit{color:#8a7d6b;color:var(--w-mute);letter-spacing:1px}.wedding-hotel-book,.wedding-hotel-price-unit{font-family:Inter,sans-serif;font-size:11px;text-transform:uppercase}.wedding-hotel-book{background:#2a2520;background:var(--w-ink);border-radius:999px;color:#fff;display:inline-block;letter-spacing:2.5px;padding:10px 18px;text-decoration:none;transition:background .3s ease}.wedding-hotel-book:hover{background:#8b6a3a;background:var(--w-gold-deep)}.wedding-hotels-note{color:#8a7d6b;color:var(--w-mute);font-family:Cormorant Garamond,serif;font-size:15px;font-style:italic;margin:48px auto 0;max-width:540px;text-align:center}.wedding-footer{background:linear-gradient(180deg,#0000,#f3ecdf);background:linear-gradient(180deg,#0000 0,var(--w-cream-2) 100%);border-top:1px solid #b08d572e;margin-top:64px;padding:80px 24px 48px;text-align:center}.wedding-footer-monogram{color:#8b6a3a;color:var(--w-gold-deep);font-family:Cormorant Garamond,serif;font-size:44px;letter-spacing:6px;margin-bottom:12px}.wedding-footer p{color:#5c4f3d;color:var(--w-soft-ink);font-family:Cormorant Garamond,serif;font-size:17px;letter-spacing:2px;margin:4px 0}.wedding-footer-sub{color:#8a7d6b;color:var(--w-mute);font-style:italic;margin-top:8px!important}@media (max-width:720px){.wedding-nav-inner{flex-direction:column;gap:10px;padding:14px 18px}.wedding-nav-monogram{font-size:22px}.wedding-nav-link{font-size:11px;letter-spacing:2px;padding:6px 12px}.wedding-hero-content{padding:60px 20px 36px}.wedding-pretext{letter-spacing:4px}.wedding-section{padding:64px 20px 56px}.wedding-section-subtitle{margin-bottom:40px}.wedding-timeline:before{left:70px}.wedding-timeline-time{font-size:16px;padding-right:14px;padding-top:18px;width:64px}.wedding-timeline-content{margin-left:18px;padding:18px 20px}.wedding-timeline-content:before{height:10px;left:-26px;top:24px;width:10px}.wedding-timeline-content h3{font-size:22px}.wedding-venue-info{gap:32px}.wedding-transport-grid,.wedding-venue-info{grid-template-columns:1fr}.wedding-footer{padding:56px 20px 36px}}
/*# sourceMappingURL=main.efef7bc9.css.map*/