@import"https://fonts.googleapis.com/css2?family=Outfit:wght@300;400;500;700&family=Playfair+Display:ital,wght@0,400;0,600;1,400&family=Inter:wght@400;500;600;700&display=swap";.bo-layout,.bo-login-page,.bo-setpwd-page{font-family:var(--font-family-ui);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}.bo-layout :is(h1,h2,h3,h4,h5,h6),.bo-login-page :is(h1,h2,h3,h4,h5,h6),.bo-setpwd-page :is(h1,h2,h3,h4,h5,h6){font-family:inherit;letter-spacing:-.01em}.bo-login-page .brand-wordmark,.bo-setpwd-page .brand-wordmark{font-family:var(--font-family-serif);--brand-accent: #a9d6c4}.bo-layout :is(button,input,select,textarea,optgroup,option),.bo-login-page :is(button,input,select,textarea,optgroup,option),.bo-setpwd-page :is(button,input,select,textarea,optgroup,option){font-family:inherit}.bo-layout :is(table,td,th){font-variant-numeric:tabular-nums}:root{--color-primary: #6b9080;--color-primary-dark: #557769;--color-secondary: #cce3de;--color-background: #f6fff8;--color-text: #2c3e50;--color-text-light: #6c757d;--shadow-sm: 0 2px 8px rgba(107, 144, 128, .1);--shadow-md: 0 8px 16px rgba(107, 144, 128, .15);--shadow-lg: 0 16px 32px rgba(107, 144, 128, .2);--spacing-sm: .5rem;--spacing-md: 1rem;--spacing-lg: 2rem;--font-family-sans: "Outfit", system-ui, sans-serif;--font-family-serif: "Playfair Display", serif;--font-family-ui: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif}*{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-family-sans);background-color:var(--color-background);color:var(--color-text);line-height:1.6;-webkit-font-smoothing:antialiased;overflow-x:hidden}h1,h2,h3,h4,h5,h6{font-family:var(--font-family-serif);line-height:1.2;margin-bottom:var(--spacing-md)}@keyframes pulse{0%{transform:scale(1)}50%{transform:scale(1.05);box-shadow:0 0 15px #6b90804d}to{transform:scale(1)}}.animate-fade-in{animation:fadeIn .8s ease-out forwards}.animate-slide-up{opacity:0;animation:slideUp .8s cubic-bezier(.2,.8,.2,1) forwards}.delay-100{animation-delay:.1s}.delay-200{animation-delay:.2s}.delay-300{animation-delay:.3s}.container{max-width:1400px;margin:0 auto;padding:0 var(--spacing-md)}.glass-panel{background:#ffffffb3;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.5);box-shadow:var(--shadow-md)}.hover-lift{transition:transform .3s cubic-bezier(.2,.8,.2,1),box-shadow .3s ease}.hover-lift:hover{transform:translateY(-5px);box-shadow:var(--shadow-lg)}.responsive-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:var(--spacing-md)}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}input[type=number]{-moz-appearance:textfield;-webkit-appearance:textfield;appearance:textfield}.task-manager{margin-top:auto;padding-top:30px;display:flex;flex-direction:column;max-height:calc(50vh - 40px)}.task-manager-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px;flex-shrink:0}.task-manager-title{font-size:1rem;letter-spacing:2px;text-transform:uppercase;opacity:.8;margin:0;font-family:var(--font-family-sans);display:flex;align-items:center;gap:8px}.task-count{font-weight:400;opacity:.7;font-size:.9rem}.accordion-icon{display:inline-flex;transition:transform .3s ease;margin-left:4px}.accordion-icon.expanded{transform:rotate(180deg)}.task-manager-header.clickable{cursor:pointer}.task-manager-header.clickable:hover .task-manager-title{opacity:1}.task-content-wrapper{overflow:hidden;transition:max-height .3s ease,opacity .3s ease;max-height:1000px;opacity:1}.task-content-wrapper.collapsed{max-height:0;opacity:0}.add-task-btn{background:#fff3;border:1px solid rgba(255,255,255,.3);color:#fff;width:32px;height:32px;border-radius:50%;font-size:1.2rem;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease}.add-task-btn:hover{background:#ffffff4d;transform:scale(1.1)}.task-list{display:flex;flex-direction:column;gap:4px;overflow-y:auto;flex:1;min-height:0;padding-right:4px;margin-right:-4px;scrollbar-width:none;-ms-overflow-style:none}.task-list::-webkit-scrollbar{display:none}.task-item{display:flex;align-items:center;gap:12px;padding:10px 8px;border-radius:8px;cursor:pointer;transition:background .2s ease}.task-item:hover{background:#ffffff1a}.task-checkbox{width:20px;height:20px;border-radius:50%;border:2px solid rgba(255,255,255,.4);background:transparent;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease;flex-shrink:0}.task-checkbox:hover{border-color:#a8e6cf}.task-checkbox.completed{background:#a8e6cf;border-color:#a8e6cf}.task-checkbox-icon{color:#6b9080;font-size:.7rem;font-weight:700}.task-content{flex:1;min-width:0}.task-title{font-family:var(--font-family-serif);font-size:1.05rem;color:#fff;margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.task-title.completed{text-decoration:line-through;opacity:.6}.task-meta{display:flex;align-items:center;gap:8px;margin-top:4px;flex-wrap:wrap}.task-category-badge{font-size:.75rem;padding:3px 8px;border-radius:12px;display:inline-flex;align-items:center;gap:4px;font-weight:500;color:#fff}.task-notes-badge{font-size:.75rem;padding:2px 6px;border-radius:10px;display:inline-flex;align-items:center;gap:3px;background:#fff3;color:#ffffffe6}.task-reminder-badge{font-size:.75rem;display:flex;align-items:center;gap:3px;padding:2px 6px;border-radius:10px}.task-reminder-badge.upcoming{color:#ffd93d;background:#ffd93d26}.task-reminder-badge.today{color:#ff9f43;background:#ff9f4333}.task-reminder-badge.overdue{color:#ff6b6b;background:#ff6b6b33}.task-stats{display:flex;gap:16px;margin-top:16px;padding-top:12px;border-top:1px solid rgba(255,255,255,.1);flex-shrink:0}.task-stat{text-align:center}.task-stat-value{font-size:1.3rem;font-weight:700;color:#fff}.task-stat-label{font-size:.75rem;opacity:.7;text-transform:uppercase;letter-spacing:1px}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#0009;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1000;animation:fadeIn .2s ease;overscroll-behavior:contain}.task-modal{background:#fff;border-radius:16px;width:90%;max-width:520px;max-height:90vh;overflow-y:auto;box-shadow:0 20px 60px #0000004d;animation:slideUp .3s ease;overscroll-behavior:contain;scrollbar-width:none;-ms-overflow-style:none}.task-modal::-webkit-scrollbar{display:none}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:20px 24px;border-bottom:1px solid #eee}.modal-title{font-family:var(--font-family-serif);font-size:1.3rem;margin:0;color:#333}.modal-close-btn{background:none;border:none;font-size:1.5rem;cursor:pointer;color:#999;padding:4px;line-height:1;transition:color .2s}.modal-close-btn:hover{color:#333}.modal-body{padding:24px}.form-group{margin-bottom:20px}.form-label{display:flex;align-items:center;gap:6px;font-size:.85rem;font-weight:500;color:#555;margin-bottom:8px}.notes-count{font-weight:400;color:#999}.form-input,.form-select,.form-textarea{width:100%;padding:12px 14px;border:1px solid #ddd;border-radius:8px;font-size:1rem;font-family:inherit;transition:border-color .2s,box-shadow .2s}.form-input:focus,.form-select:focus,.form-textarea:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px #6b908026}.form-textarea{resize:vertical;min-height:80px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}.category-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:8px}.category-option{display:flex;flex-direction:column;align-items:center;padding:10px 6px;border:2px solid #eee;border-radius:8px;cursor:pointer;transition:all .2s ease}.category-option:hover{border-color:#ddd;background:#f9f9f9}.category-option.selected{border-width:2px}.category-option-icon{font-size:1.3rem;margin-bottom:4px;display:flex;align-items:center;justify-content:center}.category-option-label{font-size:.6rem;color:#666;text-align:center}.note-input-wrapper{display:flex;gap:8px;align-items:flex-start}.note-input{flex:1;min-height:60px!important}.add-note-btn{background:var(--color-primary);border:none;color:#fff;width:40px;height:40px;border-radius:8px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease;flex-shrink:0}.add-note-btn:hover:not(:disabled){background:var(--color-primary-dark)}.add-note-btn:disabled{opacity:.5;cursor:not-allowed}.notes-history{margin-top:12px;max-height:200px;overflow-y:auto;display:flex;flex-direction:column;gap:8px;scrollbar-width:none;-ms-overflow-style:none}.notes-history::-webkit-scrollbar{display:none}.note-item{display:flex;gap:8px;padding:10px 12px;background:#f8f9fa;border-radius:8px;border-left:3px solid var(--color-primary)}.note-content{flex:1;min-width:0}.note-text{margin:0;font-size:.9rem;color:#333;line-height:1.4;white-space:pre-wrap;word-break:break-word}.note-date{display:block;font-size:.7rem;color:#999;margin-top:4px}.delete-note-btn{background:none;border:none;color:#ccc;cursor:pointer;padding:2px;transition:color .2s;flex-shrink:0}.delete-note-btn:hover{color:#ff6b6b}.modal-footer{display:flex;justify-content:flex-end;align-items:center;gap:12px;padding:20px 24px;border-top:1px solid #eee;background:linear-gradient(to top,#f5f5f5,#fafafa);border-radius:0 0 16px 16px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:12px 24px;border-radius:10px;font-size:.9375rem;font-weight:600;cursor:pointer;transition:all .2s ease;min-width:100px}.btn-secondary{background:#fff;border:1px solid #d0d0d0;color:#555;box-shadow:0 1px 3px #0000000a}.btn-primary{background:var(--color-primary);border:none;color:#fff;box-shadow:0 4px 12px #6b90804d}.btn-danger{background:#fff5f5;border:1px solid #ffcccc;color:#e74c3c}.btn-danger:hover{background:#e74c3c;border-color:#e74c3c;color:#fff}.empty-state{text-align:center;padding:20px;opacity:.7}.empty-state-icon{font-size:2rem;margin-bottom:8px}.empty-state-text{font-size:.9rem;color:#fffc}@media (max-width: 900px){.task-manager{max-height:none;margin-top:40px;padding-top:20px}.task-list{overflow-y:visible;flex:none}.task-stats{margin-top:20px}}@media (max-width: 480px){.modal-overlay{padding:0;align-items:stretch}.task-modal{width:100%;max-width:100%;height:100%;max-height:100%;border-radius:0;display:flex;flex-direction:column;overflow:hidden}.task-modal form{display:flex;flex-direction:column;flex:1;min-height:0}.modal-header{padding:16px 20px;position:sticky;top:0;background:#fff;z-index:10;flex-shrink:0;border-bottom:1px solid #eee}.modal-title{font-size:1.125rem}.modal-body{flex:1;min-height:0;overflow-y:auto;padding:20px 20px 120px;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}.category-grid{grid-template-columns:repeat(2,1fr);gap:10px}.category-option{flex-direction:row;justify-content:flex-start;padding:12px;gap:10px}.category-option-icon{margin-bottom:0;font-size:1.2rem}.category-option-label{font-size:.8rem;text-align:left}.form-row{grid-template-columns:1fr;gap:16px}.form-input,.form-select,.form-textarea{padding:14px 16px;font-size:16px}.form-label{font-size:.9rem;margin-bottom:10px}.note-input-wrapper{flex-direction:column;gap:10px}.add-note-btn{width:100%;height:44px}.notes-history{max-height:150px}.note-item{padding:12px}.note-text{font-size:.95rem}.note-date{font-size:.75rem}.modal-footer{position:fixed;bottom:0;left:0;right:0;flex-direction:row;padding:16px 20px;padding-bottom:calc(16px + env(safe-area-inset-bottom));border-radius:0;box-shadow:0 -4px 20px #0000001a;background:#fff;gap:10px;z-index:20}.btn{padding:14px 20px;font-size:.9375rem;flex:1;min-width:auto;border-radius:12px}.btn-danger{flex:none;padding:14px 16px}}@media (min-width: 481px) and (max-width: 768px){.task-modal{width:95%;max-width:95%}.category-grid{grid-template-columns:repeat(5,1fr);gap:6px}.category-option{padding:8px 4px}.category-option-label{font-size:.55rem}}.rpc-container{margin-top:auto;padding-top:30px;display:flex;flex-direction:column;max-height:calc(55vh - 40px)}.rpc-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px;flex-shrink:0}.rpc-header.clickable{cursor:pointer}.rpc-title{font-size:.95rem;letter-spacing:2px;text-transform:uppercase;opacity:.9;margin:0;font-family:var(--font-family-sans);display:flex;align-items:center;gap:8px}.rpc-content{display:flex;flex-direction:column;flex:1;min-height:0;overflow:hidden;transition:max-height .3s ease,opacity .3s ease;max-height:1000px;opacity:1}.rpc-content.collapsed{max-height:0;opacity:0}.rpc-scroll{overflow-y:auto;flex:1;min-height:0;padding-right:4px;margin-right:-4px;scrollbar-width:none;-ms-overflow-style:none}.rpc-scroll::-webkit-scrollbar{display:none}.rpc-section{margin-bottom:12px}.rpc-section-label{font-size:.8rem;letter-spacing:1.5px;text-transform:uppercase;opacity:.75;margin-bottom:10px;display:flex;align-items:center;gap:6px;font-weight:600}.rpc-overdue-label{color:#ff6b6b;opacity:1}.rpc-overdue-section{border-bottom:1px solid rgba(255,255,255,.1);padding-bottom:12px}.rpc-undated-section{border-top:1px solid rgba(255,255,255,.1);padding-top:12px}.rpc-date-group{margin-bottom:8px}.rpc-date-header{font-size:.9rem;font-weight:600;opacity:.85;margin-bottom:6px;padding-left:4px;font-family:var(--font-family-sans)}.rpc-overdue-header{color:#ff6b6b;opacity:1}.rpc-date-parens{font-weight:400;opacity:.8}.rpc-event-day .rpc-date-header{color:#ffd93d;opacity:1;font-weight:700;font-size:.95rem}.rpc-task-item{display:flex;align-items:center;gap:10px;padding:8px 6px;border-radius:8px;cursor:pointer;transition:background .2s ease}.rpc-task-item:hover{background:#ffffff1a}.rpc-overdue-item{opacity:.95}.rpc-task-content{flex:1;min-width:0}.rpc-task-title{font-family:var(--font-family-serif);font-size:1.05rem;color:#fff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block}.rpc-task-title.completed{text-decoration:line-through;opacity:.5}.rpc-task-time{font-family:var(--font-family-sans);font-weight:600;font-size:.85rem;margin-right:8px;color:#fffffff2}.rpc-notes-badge{font-size:.75rem;padding:2px 8px;border-radius:10px;display:inline-flex;align-items:center;gap:3px;background:#fff3;color:#ffffffe6;flex-shrink:0}.rpc-reminder-item{display:flex;align-items:center;gap:8px;padding:6px;border-radius:8px;cursor:pointer;transition:background .2s ease}.rpc-reminder-item:hover{background:#ffffff1a}.rpc-reminder-icon{color:#ffd93d;display:flex;align-items:center;flex-shrink:0;width:20px;justify-content:center}.rpc-reminder-text{font-size:.9rem;color:#ffffffe6;font-style:italic;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.rpc-view-all{display:flex;align-items:center;justify-content:center;gap:8px;padding:12px;margin-top:12px;border-radius:10px;background:#ffffff1a;color:#ffffffe6;text-decoration:none;font-size:.85rem;font-weight:500;transition:all .2s ease;flex-shrink:0}.rpc-view-all:hover{background:#fff3;color:#fff}.rpc-empty{text-align:center;padding:20px;opacity:.7;font-size:.9rem;color:#fffc}@media (max-width: 900px){.rpc-container{max-height:none;margin-top:40px;padding-top:20px}.rpc-scroll{overflow-y:visible;flex:none}}.vdc-card{display:flex;align-items:center;gap:14px;flex-shrink:0;min-height:56px;margin-top:20px;padding:12px 16px;border:1px solid rgba(255,255,255,.28);border-radius:14px;background:#ffffff1f;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);color:#fff;text-decoration:none;transition:background .2s,border-color .2s}.vdc-card:hover{background:#fff3;border-color:#ffffff73}.vdc-card:focus-visible{outline:2px solid #fff;outline-offset:2px}.vdc-icon{display:flex;align-items:center;justify-content:center;flex-shrink:0;width:40px;height:40px;border-radius:50%;background:#fff3}.vdc-text{display:flex;flex-direction:column;flex:1;min-width:0}.vdc-title{font-family:var(--font-family-serif);font-size:1.05rem;line-height:1.25}.vdc-count{font-size:.8rem;opacity:.85}.vdc-chevron{flex-shrink:0;opacity:.8;transition:transform .2s}.vdc-card:hover .vdc-chevron{transform:translate(3px)}.carousel-container{width:100%}.zones-empty-state{text-align:center;padding:60px 20px;color:var(--color-text-light)}.zones-empty-icon{font-size:3rem;margin-bottom:12px;opacity:.5}.zones-empty-state p{font-size:1.1rem;font-style:italic;margin:0}.zones-grid-area{display:grid;gap:20px;padding:10px 5px 20px}.zone-card{position:relative;height:350px;border-radius:24px;overflow:hidden;cursor:pointer;transition:transform .4s cubic-bezier(.2,.8,.2,1),box-shadow .4s ease;border:3px solid transparent}.zone-card:hover{transform:translateY(-8px) scale(1.02);box-shadow:0 20px 40px #6b90804d;border-color:var(--color-primary);opacity:.9}.zone-card-bg{width:100%;height:100%;background-size:cover;background-position:center;transition:transform .6s cubic-bezier(.2,.8,.2,1)}.zone-card:hover .zone-card-bg{transform:scale(1.1)}.zone-overlay{position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(to top,rgba(0,0,0,.8) 0%,rgba(0,0,0,.2) 50%,transparent 100%)}.zone-content{position:absolute;bottom:20px;left:0;right:0;text-align:center;padding:0 15px}.zone-title{color:#fff;margin:0;font-size:1.3rem;text-shadow:0 2px 4px rgba(0,0,0,.5);letter-spacing:.5px}.zone-divider{width:30px;height:2px;background-color:var(--color-secondary);margin:8px auto 0}@media (min-width: 769px){.zones-grid-area{grid-template-columns:repeat(3,1fr);grid-auto-rows:350px}.zone-wrapper:first-child{grid-column:span 2}.zone-wrapper:nth-child(4){grid-column:span 2}.zone-wrapper:last-child{grid-column:span 2}}@media (max-width: 768px){.zones-grid-area{display:flex;flex-direction:column;gap:20px}.zone-wrapper{width:100%}.zone-card{height:300px}}.editorial-layout{display:flex;min-height:100vh;flex-direction:row;flex-wrap:wrap}.left-panel{flex:1 1 400px;background-color:#6b9080;background-image:linear-gradient(#6b9080d9,#6b9080e6),url(https://images.unsplash.com/photo-1519167758481-83f550bb49b3?auto=format&fit=crop&w=1200&q=80);background-size:cover;background-position:center;color:#fff;padding:60px 40px;display:flex;flex-direction:column;justify-content:space-between;position:relative;height:100vh;overflow-y:auto;scrollbar-width:none;-ms-overflow-style:none}.left-panel::-webkit-scrollbar{display:none}.left-panel>.rpc-container{min-height:0}.entity-name{font-size:1rem;letter-spacing:3px;margin-bottom:20px;opacity:.8}.welcome-title{font-size:4rem;line-height:1;margin-bottom:40px;font-family:var(--font-family-serif)}.planner-name{font-style:italic;opacity:.8}.countdown-wrapper{margin-top:40px}.countdown-number{font-size:6rem;line-height:1;font-family:var(--font-family-serif)}.countdown-label{font-size:1.2rem;letter-spacing:2px;border-top:1px solid #fff;display:inline-block;padding-top:10px}.planner-logout-btn{position:absolute;top:20px;right:20px;width:40px;height:40px;border-radius:50%;border:1px solid rgba(255,255,255,.3);background:#ffffff26;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s ease;z-index:10}.planner-logout-btn:hover{background:#ffffff4d;transform:scale(1.08)}.right-panel{flex:1 1 500px;background:linear-gradient(135deg,#e8f0ec,#d4e6dc);padding:40px 60px;overflow-y:auto;height:100vh}.section-title{font-size:2rem;margin-bottom:32px;color:var(--color-primary);font-family:var(--font-family-serif)}.tab-content{animation:fadeIn .3s ease}.seating-entry-card{display:flex;align-items:center;gap:14px;margin-bottom:28px;padding:16px 18px;background:#fff;border-radius:12px;box-shadow:0 4px 16px #00000014;text-decoration:none;color:#2c3e50;transition:transform .15s ease,box-shadow .15s ease}.seating-entry-card:hover{transform:translateY(-2px);box-shadow:0 6px 20px #0000001f}.seating-entry-icon{display:flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:10px;background:#f2f7f5;color:#6b9080;flex-shrink:0}.seating-entry-text{display:flex;flex-direction:column;gap:2px;flex:1}.seating-entry-text strong{font-size:15px}.seating-entry-text span{font-size:13px;color:#6b7280}.seating-entry-card>svg:last-child{color:#9ca3af}.dashboard-tabs{display:flex;gap:8px;margin-bottom:32px;background:#fff;padding:6px;border-radius:12px;box-shadow:0 4px 16px #00000014}.dashboard-tab{display:flex;align-items:center;gap:8px;padding:12px 24px;border:none;border-radius:8px;background:transparent;color:var(--color-text-light);font-weight:500;font-size:.9375rem;cursor:pointer;transition:all .2s ease;flex:1;justify-content:center}.dashboard-tab:hover{background:#f0f5f3;color:var(--color-primary)}.dashboard-tab.active{background:var(--color-primary);color:#fff}.guest-stats-cards{display:flex;gap:16px;margin-bottom:24px;flex-wrap:wrap}.stat-card{flex:1;min-width:120px;display:flex;align-items:center;gap:14px;padding:20px 24px;background:#fff;border-radius:14px;box-shadow:0 4px 16px #00000014}.stat-card svg{color:var(--color-primary)}.stat-card.confirmed svg{color:#27ae60}.stat-card.pending svg{color:#f39c12}.stat-content{display:flex;flex-direction:column}.stat-card .stat-value{font-size:1.5rem;font-weight:600;line-height:1;color:var(--color-text)}.stat-card .stat-label{font-size:.8125rem;color:var(--color-text-light);margin-top:4px}.recent-guests-card{background:#fff;border-radius:14px;padding:24px;box-shadow:0 4px 16px #00000014;margin-bottom:24px}.recent-guests-card h3{font-family:var(--font-family-serif);font-size:1.125rem;color:var(--color-text);margin-bottom:16px}.guests-list{display:flex;flex-direction:column;gap:10px}.guest-row{display:flex;align-items:center;gap:12px;padding:10px 14px;background:#f8faf9;border-radius:10px;transition:background .2s}.guest-row:hover{background:#f0f5f3}.guest-avatar{width:38px;height:38px;border-radius:50%;background:var(--color-secondary);color:var(--color-primary);display:flex;align-items:center;justify-content:center;font-size:.75rem;font-weight:600;flex-shrink:0}.guest-details{flex:1;display:flex;flex-direction:column}.guest-name{font-weight:500;color:var(--color-text)}.guest-table{font-size:.8125rem;color:var(--color-text-light)}.guest-confirmed{width:26px;height:26px;border-radius:50%;background:#27ae60;color:#fff;display:flex;align-items:center;justify-content:center;font-size:.75rem}.no-guests{color:var(--color-text-light);text-align:center;padding:20px 0}.manage-guests-btn{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;padding:16px 24px;background:var(--color-primary);color:#fff;border-radius:12px;text-decoration:none;font-weight:600;font-size:1rem;transition:all .2s;box-shadow:0 4px 16px #6b90804d}.manage-guests-btn:hover{background:var(--color-primary-dark);transform:translateY(-2px);box-shadow:0 6px 20px #6b908066}.congratulations-block{text-align:center;animation:congratsFadeIn .8s ease-out both}.congratulations-text{font-size:3.5rem;font-family:var(--font-family-serif);font-style:italic;line-height:1.1;animation:congratsGlow 3s ease-in-out infinite}.congratulations-sub{font-size:1.1rem;opacity:.8;margin-top:12px;letter-spacing:1px}@keyframes congratsFadeIn{0%{opacity:0;transform:translateY(20px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes congratsBounce{0%,to{transform:translateY(0) scale(1)}25%{transform:translateY(-8px) scale(1.1)}50%{transform:translateY(0) scale(1)}75%{transform:translateY(-4px) scale(1.05)}}@keyframes congratsGlow{0%,to{text-shadow:0 0 10px rgba(255,255,255,.3)}50%{text-shadow:0 0 25px rgba(255,255,255,.6),0 0 50px rgba(255,255,255,.2)}}@media (max-width: 900px){.editorial-layout{flex-direction:column;min-height:auto;max-width:100vw;overflow-x:hidden}.left-panel{flex:0 0 auto;min-height:auto;height:auto;padding:40px 20px;min-width:0;width:100%}.right-panel{flex:1 1 auto;height:auto;overflow-y:visible;padding:24px 16px;min-width:0;width:100%}div[style*=columnCount]{column-count:1!important}.dashboard-tabs{position:sticky;top:0;z-index:50;margin:0 -16px 24px;padding:8px 16px;border-radius:0;background:#fffffff2;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:0 2px 12px #00000014}.dashboard-tab{padding:14px 12px;gap:6px;font-size:.875rem}.dashboard-tab svg{width:20px;height:20px}.dashboard-tab span{display:block;font-size:.8125rem}.section-title{font-size:1.5rem;margin-bottom:20px}.guest-stats-cards{gap:10px}.stat-card{padding:14px 16px;min-width:90px}.stat-card svg{width:18px;height:18px}.stat-card .stat-value{font-size:1.25rem}.stat-card .stat-label{font-size:.75rem}.recent-guests-card{padding:18px}.recent-guests-card h3{font-size:1rem}.guest-row{padding:8px 10px}.guest-avatar{width:34px;height:34px;font-size:.7rem}.guest-name{font-size:.9375rem}.manage-guests-btn{padding:14px 20px;font-size:.9375rem}.congratulations-text{font-size:2.5rem}}@media (max-width: 480px){.stat-card .stat-label{display:none}}.stat-card.camping-stat svg{color:#8b6b50}.guest-avatar.avatar-full{background:#27ae6026;color:#27ae60}.guest-avatar.avatar-over{background:#e74c3c26;color:#e74c3c;font-weight:700}.guest-avatar.avatar-camping{background:#8b6b501f;color:#8b6b50}.acc-occupants-preview{font-size:.75rem;color:var(--color-text-light);max-width:140px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-align:right}.acc-summary-loading{display:flex;flex-direction:column;align-items:center;gap:12px;padding:60px 0;color:var(--color-text-light)}.acc-summary-loading p{margin:0}.acc-summary-spinner{width:32px;height:32px;border:3px solid var(--color-secondary, #CCE3DE);border-top-color:var(--color-primary, #6B9080);border-radius:50%;animation:accSumSpin .7s linear infinite}@keyframes accSumSpin{to{transform:rotate(360deg)}}.budget-dashboard-hero{display:flex;align-items:center;gap:24px;flex-wrap:wrap}.budget-donut-mini-wrapper{position:relative;flex-shrink:0}.budget-donut-mini-wrapper .recharts-wrapper{cursor:default!important}.budget-donut-mini-center{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);text-align:center;pointer-events:none}.budget-donut-mini-pct{display:block;font-size:1.5rem;font-weight:700;color:var(--color-text);line-height:1}.budget-donut-mini-label{display:block;font-size:.65rem;color:var(--color-text-light);text-transform:uppercase;letter-spacing:1px;margin-top:2px}.budget-dashboard-stats{flex:1;display:flex;flex-direction:column;gap:14px}.budget-stat-item{display:flex;align-items:center;gap:10px}.budget-stat-item svg{color:var(--color-primary);flex-shrink:0}.budget-stat-item.over svg{color:#f39c12}.budget-stat-val{display:block;font-size:1.1rem;font-weight:600;color:var(--color-text);line-height:1.2}.budget-stat-item.over .budget-stat-val{color:#f39c12}.budget-stat-lbl{display:block;font-size:.7rem;color:var(--color-text-light)}.budget-cat-pastilles{display:flex;flex-wrap:wrap;gap:10px;margin-top:12px}.budget-cat-pastille{display:flex;align-items:center;gap:8px;padding:8px 14px;background:#f8faf9;border-radius:20px;font-size:.8125rem}.budget-cat-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.budget-cat-name{color:var(--color-text)}.budget-cat-amount{font-weight:600;color:var(--color-text)}.guest-status-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0}:root{--zp-header-height: 48px;--zp-header-height-mobile: 44px;--zp-sidebar-width: 280px;--zp-properties-width: 260px;--zp-toolbar-height: 56px;--zp-toolbar-height-mobile: 52px;--zp-canvas-bg: #f0f2f5;--zp-panel-bg: rgba(255, 255, 255, .97);--zp-panel-border: rgba(0, 0, 0, .06);--zp-panel-shadow: 0 1px 3px rgba(0, 0, 0, .08);--zp-accent: #6B9080;--zp-accent-hover: #557769;--zp-accent-light: rgba(107, 144, 128, .08);--zp-danger: #ef4444;--zp-danger-hover: #dc2626;--zp-radius-sm: 6px;--zp-radius-md: 10px;--zp-radius-lg: 14px;--zp-radius-xl: 20px;--zp-touch-target: 44px;--zp-safe-area-bottom: env(safe-area-inset-bottom, 0px);--zp-transition: .25s ease;--zp-transition-fast: .15s ease;--zp-font-sans: var(--font-family-sans, -apple-system, BlinkMacSystemFont, "Inter", sans-serif);--zp-font-serif: var(--font-family-serif, "Playfair Display", serif)}.zone-plan-container{display:flex;flex-direction:column;height:100vh;height:100dvh;overflow:hidden;background-color:var(--zp-canvas-bg)}.zone-plan-header{display:flex;align-items:center;justify-content:space-between;height:var(--zp-header-height-mobile);padding:0 12px;background:#fff;color:var(--color-text, #1a1a1a);border-bottom:1px solid var(--zp-panel-border);z-index:100;flex-shrink:0;gap:8px}.header-left{display:flex;align-items:center;gap:4px;min-width:0}.header-back-btn{display:flex;align-items:center;justify-content:center;width:var(--zp-touch-target);height:var(--zp-touch-target);background:transparent;border:none;color:var(--zp-accent);cursor:pointer;border-radius:var(--zp-radius-sm);transition:background var(--zp-transition-fast);flex-shrink:0}.header-back-btn:hover{background:var(--zp-accent-light)}.header-back-btn span{display:none}.header-center{position:relative;display:flex;align-items:center;gap:8px;min-width:0;flex:1;justify-content:center}.zone-dropdown-btn{display:flex;align-items:center;gap:6px;background:transparent;border:none;color:var(--color-text, #1a1a1a);font-family:var(--zp-font-serif);font-size:1rem;font-weight:600;cursor:pointer;padding:6px 12px;border-radius:var(--zp-radius-sm);transition:background var(--zp-transition-fast);max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.zone-dropdown-btn:hover{background:var(--zp-accent-light)}.dropdown-chevron{transition:transform .3s ease;flex-shrink:0}.dropdown-chevron.open{transform:rotate(180deg)}.zone-dropdown-menu{position:fixed;top:0;left:0;right:0;bottom:0;background:#fff;z-index:300;display:flex;flex-direction:column;animation:fadeIn .2s ease}.zone-dropdown-menu-header{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;border-bottom:1px solid var(--zp-panel-border)}.zone-dropdown-menu-header h3{font-family:var(--zp-font-serif);font-size:1.1rem;font-weight:600;margin:0}.zone-dropdown-menu-close{width:var(--zp-touch-target);height:var(--zp-touch-target);display:flex;align-items:center;justify-content:center;background:transparent;border:none;cursor:pointer;border-radius:var(--zp-radius-sm);color:var(--color-text-light, #888)}.zone-dropdown-menu-list{flex:1;overflow-y:auto;padding:8px}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.zone-dropdown-item{display:block;width:100%;padding:14px 16px;background:transparent;border:none;text-align:left;font-family:var(--zp-font-sans);font-size:1rem;color:var(--color-text, #1a1a1a);cursor:pointer;transition:background-color var(--zp-transition-fast);border-radius:var(--zp-radius-md)}.zone-dropdown-item:hover{background-color:var(--zp-accent-light)}.zone-dropdown-item.active{background-color:var(--zp-accent);color:#fff}.header-right{display:flex;align-items:center;gap:4px;flex-shrink:0}.save-status{display:none}.save-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0;transition:background-color .3s ease}.save-dot--saved{background-color:#22c55e}.save-dot--saving{background-color:#eab308;animation:pulse 1s infinite}.save-dot--unsaved{background-color:#eab308}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.header-save-btn{display:flex;align-items:center;justify-content:center;width:var(--zp-touch-target);height:var(--zp-touch-target);background:transparent;border:none;color:var(--zp-accent);cursor:pointer;border-radius:var(--zp-radius-sm);transition:background var(--zp-transition-fast)}.header-save-btn:hover{background:var(--zp-accent-light)}.header-save-btn:disabled{opacity:.35;cursor:default}.header-save-btn span{display:none}.header-save-btn .save-icon{display:block}.header-logout-btn,.header-item-count{display:none}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.spin{animation:spin 1s linear infinite}.zone-plan-main{display:flex;flex:1;overflow:hidden;position:relative}.canvas-area{flex:1;position:relative;overflow:hidden;background-color:var(--zp-canvas-bg);display:flex;align-items:center;justify-content:center}.grid-background{position:absolute;top:0;left:0;right:0;bottom:0;background-image:radial-gradient(circle,rgba(0,0,0,.1) 1px,transparent 1px);background-size:20px 20px;pointer-events:none;z-index:0}.canvas-top-indicators{position:absolute;top:12px;left:12px;display:flex;align-items:center;gap:6px;z-index:10}.compass-indicator{display:flex;align-items:center;gap:4px;padding:6px 10px;background:var(--zp-panel-bg);border:1px solid var(--zp-panel-border);border-radius:var(--zp-radius-xl);box-shadow:var(--zp-panel-shadow);color:var(--zp-accent);font-weight:600;font-size:.8rem}.zoom-indicator{padding:4px 10px;background:var(--zp-panel-bg);border:1px solid var(--zp-panel-border);border-radius:var(--zp-radius-xl);box-shadow:var(--zp-panel-shadow);color:var(--color-text-light, #888);font-family:var(--zp-font-sans);font-size:.75rem;font-weight:500;pointer-events:none}.exit-indicator,.sidebar,.sidebar-toggle-wrapper{display:none}.sidebar-content{display:flex;flex-direction:column;height:100%;overflow:hidden;min-width:0}.sidebar-items-scroll{flex:1;overflow-y:auto;overflow-x:hidden;padding:4px 0;min-width:0}.zp-search-bar{position:relative;padding:12px 12px 8px}.zp-search-input-wrapper{display:flex;align-items:center;background:#f4f5f7;border:1px solid transparent;border-radius:var(--zp-radius-md);padding:0 12px;gap:8px;transition:all var(--zp-transition-fast)}.zp-search-input-wrapper:focus-within{border-color:var(--zp-accent);background:#fff;box-shadow:0 0 0 3px #6b90801f}.zp-search-icon{color:var(--color-text-light, #999);flex-shrink:0}.zp-search-input{flex:1;border:none;background:transparent;font-family:var(--zp-font-sans);font-size:.9rem;padding:10px 0;outline:none;color:var(--color-text, #1a1a1a)}.zp-search-input::placeholder{color:var(--color-text-light, #aaa)}.zp-search-clear{display:flex;align-items:center;justify-content:center;width:20px;height:20px;background:#00000014;border:none;border-radius:50%;cursor:pointer;color:var(--color-text-light, #666);font-size:.7rem;transition:background var(--zp-transition-fast)}.zp-search-clear:hover{background:#00000026}.zp-search-no-results{padding:24px 16px;text-align:center;color:var(--color-text-light, #999);font-family:var(--zp-font-sans);font-size:.9rem}.sidebar-header-row{display:flex;align-items:center;justify-content:space-between;padding:0 12px 8px}.sidebar-view-toggle{display:flex;gap:2px;background:#f4f5f7;border-radius:var(--zp-radius-sm);padding:2px}.sidebar-view-btn{display:flex;align-items:center;justify-content:center;width:30px;height:28px;background:transparent;border:none;border-radius:4px;cursor:pointer;color:var(--color-text-light, #999);transition:all var(--zp-transition-fast)}.sidebar-view-btn.active{background:#fff;color:var(--zp-accent);box-shadow:0 1px 2px #00000014}.category-section{border-bottom:1px solid var(--zp-panel-border)}.category-header{display:flex;align-items:center;justify-content:space-between;width:100%;padding:12px 16px;background:transparent;border:none;font-family:var(--zp-font-sans);font-size:.9rem;font-weight:600;color:var(--color-text, #1a1a1a);cursor:pointer;transition:background-color var(--zp-transition-fast)}.category-header:hover{background-color:var(--zp-accent-light)}.category-header.active{color:var(--zp-accent)}.category-header-left{display:flex;align-items:center;gap:8px}.category-emoji{font-size:1rem}.category-badge{display:inline-flex;align-items:center;justify-content:center;min-width:22px;height:20px;padding:0 6px;border-radius:10px;background:#f0f0f0;font-size:.7rem;font-weight:600;color:var(--color-text-light, #888)}.category-chevron{transition:transform .3s ease;color:var(--color-text-light, #ccc)}.category-chevron.open{transform:rotate(180deg);color:var(--zp-accent)}.items-list{padding:4px 8px 8px;animation:slideDown .2s ease}.items-grid{display:grid;grid-template-columns:1fr 1fr;gap:6px;padding:4px 8px 8px;animation:slideDown .2s ease;overflow:hidden;min-width:0}@keyframes slideDown{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.item-card{display:flex;align-items:center;gap:12px;padding:10px 12px;margin-bottom:4px;background:#fff;border:1px solid var(--zp-panel-border);border-radius:var(--zp-radius-md);cursor:grab;transition:all .2s ease;min-height:var(--zp-touch-target)}.item-card:hover{border-color:var(--zp-accent);box-shadow:0 2px 8px #6b90801f;transform:translateY(-1px)}.item-card:active{cursor:grabbing;transform:scale(.98)}.item-card--grid{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:8px 4px 6px;background:#fff;border:1px solid var(--zp-panel-border);border-radius:var(--zp-radius-sm);cursor:grab;transition:all .2s ease;gap:3px;text-align:center;min-height:0;min-width:0;overflow:hidden}.item-card--grid:hover{border-color:var(--zp-accent);box-shadow:0 2px 8px #6b908026;transform:translateY(-1px)}.item-card--grid:active{cursor:grabbing;transform:scale(.96)}.item-card--grid .item-preview{width:32px;height:32px;border-radius:4px}.item-card--grid .item-preview svg{width:22px;height:18px}.item-card--grid .item-name{font-size:.68rem;line-height:1.15;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.item-card--grid .item-details{font-size:.6rem}.item-preview{display:flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:var(--zp-radius-sm);background:#f5f6f8;border:1px solid rgba(0,0,0,.05);flex-shrink:0}.item-preview svg{width:28px;height:22px}.item-info{display:flex;flex-direction:column;gap:1px;min-width:0}.item-name{font-family:var(--zp-font-sans);font-size:.85rem;font-weight:500;color:var(--color-text, #1a1a1a);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.item-details{font-family:var(--zp-font-sans);font-size:.75rem;color:var(--color-text-light, #999)}.toolbox{position:fixed;bottom:calc(12px + var(--zp-safe-area-bottom));left:50%;transform:translate(-50%);display:flex;gap:6px;padding:8px 12px;background:#1e293beb;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-radius:28px;box-shadow:0 4px 20px #00000040;z-index:50;transition:all var(--zp-transition)}.toolbox.reduced{gap:0;padding:8px}.toolbox.reduced .toolbox-btn:not(.toolbox-fab){width:0;padding:0;opacity:0;overflow:hidden;margin:0}.toolbox-btn{display:flex;align-items:center;justify-content:center;width:var(--zp-touch-target);height:var(--zp-touch-target);background:#ffffff1f;border:none;border-radius:50%;color:#fff;cursor:pointer;transition:all .2s ease;flex-shrink:0;position:relative}.toolbox-btn:hover{background:#ffffff38}.toolbox-btn:active{transform:scale(.92)}.toolbox-btn:disabled{opacity:.3;cursor:default;transform:none}.toolbox-btn:disabled:hover{background:#ffffff1f}.toolbox-fab{background:var(--zp-accent)!important;box-shadow:0 2px 8px #6b908066}.toolbox-fab:hover{background:var(--zp-accent-hover)!important;transform:scale(1.08)}.toolbox-separator{width:1px;height:24px;background:#ffffff26;align-self:center;flex-shrink:0}.toolbox-tooltip,.properties-panel{display:none}.mobile-action-bar{position:fixed;bottom:calc(var(--zp-toolbar-height-mobile) + 20px + var(--zp-safe-area-bottom));left:12px;right:12px;background:#fff;border:1px solid var(--zp-panel-border);border-radius:var(--zp-radius-lg);box-shadow:0 4px 20px #0000001f;padding:10px 14px;display:flex;align-items:center;gap:10px;z-index:45;animation:slideUp .2s ease}.mobile-action-bar-info{flex:1;min-width:0}.mobile-action-bar-name{font-family:var(--zp-font-sans);font-size:.85rem;font-weight:600;color:var(--color-text, #1a1a1a);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mobile-action-bar-dims{font-family:var(--zp-font-sans);font-size:.7rem;color:var(--color-text-light, #999)}.mobile-action-bar-actions{display:flex;gap:6px;flex-shrink:0}.mobile-action-btn{display:flex;align-items:center;justify-content:center;width:38px;height:38px;background:#f4f5f7;border:none;border-radius:var(--zp-radius-sm);color:var(--color-text, #555);cursor:pointer;transition:all var(--zp-transition-fast)}.mobile-action-btn:hover{background:#e8e9eb}.mobile-action-btn:active{transform:scale(.92)}.mobile-action-btn--danger{color:var(--zp-danger)}.mobile-action-btn--danger:hover{background:#ef44441a}@keyframes slideUp{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.bottom-sheet-backdrop{position:fixed;top:0;left:0;right:0;bottom:0;background:#0000004d;z-index:60;animation:fadeIn .2s ease}.bottom-sheet{position:fixed;left:0;right:0;bottom:0;background:#fff;border-radius:var(--zp-radius-xl) var(--zp-radius-xl) 0 0;box-shadow:0 -8px 40px #00000026;z-index:70;display:flex;flex-direction:column;transition:transform .25s cubic-bezier(.22,1,.36,1);touch-action:none;max-height:85vh}.bottom-sheet--peek{transform:translateY(calc(100% - 55vh))}.bottom-sheet--full{transform:translateY(0)}.bottom-sheet--closed{transform:translateY(100%)}.bottom-sheet-handle{display:flex;justify-content:center;padding:10px 0 6px;cursor:grab;flex-shrink:0}.bottom-sheet-handle-bar{width:36px;height:4px;background:#d1d5db;border-radius:2px}.bottom-sheet-search{padding:0 12px 8px;flex-shrink:0}.bottom-sheet-content{flex:1;overflow-y:auto;-webkit-overflow-scrolling:touch;padding-bottom:var(--zp-safe-area-bottom)}.bottom-sheet-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;padding:4px 12px 16px}.bottom-sheet-category-label{grid-column:1 / -1;font-family:var(--zp-font-sans);font-size:.8rem;font-weight:600;color:var(--color-text-light, #888);text-transform:uppercase;letter-spacing:.05em;padding:12px 0 4px}.context-menu{position:fixed;z-index:500;background:#fff;border:1px solid var(--zp-panel-border);border-radius:var(--zp-radius-md);box-shadow:0 8px 32px #00000026;min-width:180px;padding:4px;animation:contextMenuIn .15s ease}@keyframes contextMenuIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.context-menu-item{display:flex;align-items:center;gap:10px;width:100%;padding:10px 14px;background:transparent;border:none;border-radius:var(--zp-radius-sm);font-family:var(--zp-font-sans);font-size:.88rem;color:var(--color-text, #1a1a1a);cursor:pointer;transition:background var(--zp-transition-fast)}.context-menu-item:hover{background:var(--zp-accent-light)}.context-menu-item--danger{color:var(--zp-danger)}.context-menu-item--danger:hover{background:#ef444414}.context-menu-separator{height:1px;background:var(--zp-panel-border);margin:4px 8px}.sidebar-items-scroll::-webkit-scrollbar,.bottom-sheet-content::-webkit-scrollbar{width:4px}.sidebar-items-scroll::-webkit-scrollbar-track,.bottom-sheet-content::-webkit-scrollbar-track{background:transparent}.sidebar-items-scroll::-webkit-scrollbar-thumb,.bottom-sheet-content::-webkit-scrollbar-thumb{background:#0000001f;border-radius:2px}.sidebar-items-scroll::-webkit-scrollbar-thumb:hover,.bottom-sheet-content::-webkit-scrollbar-thumb:hover{background:#0003}@media (min-width: 768px){.zone-plan-header{padding:0 20px}.zone-dropdown-btn{font-size:1.1rem;max-width:300px}.sidebar{display:flex;flex-direction:column;position:absolute;left:0;top:0;bottom:0;width:var(--zp-sidebar-width);background:var(--zp-panel-bg);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border-right:1px solid var(--zp-panel-border);box-shadow:4px 0 20px #0000000f;z-index:80;transition:transform var(--zp-transition)}.sidebar.closed{transform:translate(-100%)}.sidebar-backdrop{position:absolute;top:0;left:0;right:0;bottom:0;background:#00000026;z-index:75}.sidebar-toggle-wrapper,.bottom-sheet-backdrop,.bottom-sheet{display:none}.properties-panel{display:flex;flex-direction:column;position:absolute;bottom:0;left:0;right:0;background:#fff;border-top:1px solid var(--zp-panel-border);border-radius:var(--zp-radius-xl) var(--zp-radius-xl) 0 0;box-shadow:0 -4px 20px #0000001a;z-index:55;max-height:40vh;overflow-y:auto;padding:16px 20px;transform:translateY(100%);transition:transform var(--zp-transition)}.properties-panel.visible{transform:translateY(0)}.mobile-action-bar{display:none}}@media (min-width: 1024px){.zone-plan-header{height:var(--zp-header-height);padding:0 24px}.header-back-btn{gap:6px;padding:8px 12px;width:auto}.header-back-btn span{display:inline;font-family:var(--zp-font-sans);font-size:.88rem}.zone-dropdown-btn{font-size:1.2rem;max-width:none}.zone-dropdown-menu{position:absolute;top:calc(100% + 8px);left:50%;transform:translate(-50%);right:auto;bottom:auto;min-width:240px;border-radius:var(--zp-radius-md);border:1px solid var(--zp-panel-border);box-shadow:0 8px 32px #0000001f;animation:dropdownSlide .2s ease;padding:4px}.zone-dropdown-menu-header{display:none}.zone-dropdown-menu-list{padding:0}.zone-dropdown-item{padding:10px 16px;font-size:.92rem}@keyframes dropdownSlide{0%{opacity:0;transform:translate(-50%) translateY(-8px)}to{opacity:1;transform:translate(-50%) translateY(0)}}.save-dot{display:none}.save-status{display:flex;align-items:center;gap:5px;font-family:var(--zp-font-sans);font-size:.8rem;font-weight:500;padding:4px 10px;border-radius:12px;transition:all .3s ease}.save-status--saved{color:#22c55e}.save-status--saving,.save-status--unsaved{color:#eab308}.header-save-btn{gap:8px;width:auto;padding:8px 18px;background:var(--zp-accent);color:#fff;border-radius:var(--zp-radius-sm);font-family:var(--zp-font-sans);font-size:.88rem;font-weight:500}.header-save-btn:hover{background:var(--zp-accent-hover)}.header-save-btn span{display:inline}.header-logout-btn{display:flex;align-items:center;justify-content:center;width:36px;height:36px;background:transparent;border:1px solid var(--zp-panel-border);border-radius:50%;color:var(--color-text-light, #999);cursor:pointer;transition:all .2s ease}.header-logout-btn:hover{background:#ef44440f;border-color:var(--zp-danger);color:var(--zp-danger)}.header-item-count{display:flex;align-items:center;gap:4px;font-family:var(--zp-font-sans);font-size:.78rem;color:var(--color-text-light, #999);padding:4px 10px;background:#f4f5f7;border-radius:12px}.zone-plan-main{display:flex}.sidebar{display:flex;flex-direction:column;position:relative;width:var(--zp-sidebar-width);max-width:var(--zp-sidebar-width);background:var(--zp-panel-bg);border-right:1px solid var(--zp-panel-border);box-shadow:1px 0 8px #00000008;z-index:auto;transition:width var(--zp-transition),opacity var(--zp-transition);flex-shrink:0;transform:none;overflow:hidden}.sidebar.closed{width:0;overflow:hidden;opacity:0;border-right:none;transform:none}.sidebar-backdrop{display:none}.sidebar-toggle-wrapper{display:block;position:absolute;top:50%;left:var(--zp-sidebar-width);transform:translateY(-50%);z-index:90;transition:left var(--zp-transition)}.sidebar-toggle-wrapper.closed{left:0}.sidebar-toggle{display:flex;align-items:center;justify-content:center;width:24px;height:48px;background:var(--zp-panel-bg);border:1px solid var(--zp-panel-border);border-left:none;border-radius:0 var(--zp-radius-sm) var(--zp-radius-sm) 0;color:var(--color-text-light, #999);cursor:pointer;box-shadow:2px 0 6px #0000000a;transition:all var(--zp-transition-fast)}.sidebar-toggle:hover{background:var(--zp-accent-light);color:var(--zp-accent)}.bottom-sheet-backdrop,.bottom-sheet,.mobile-action-bar{display:none!important}.properties-panel{display:flex;flex-direction:column;position:relative;width:var(--zp-properties-width);max-width:var(--zp-properties-width);max-height:none;background:var(--zp-panel-bg);border-top:none;border-left:1px solid var(--zp-panel-border);border-radius:0;box-shadow:-1px 0 8px #00000008;z-index:auto;overflow-y:auto;overflow-x:hidden;padding:20px 16px;flex-shrink:0;transform:none;transition:width var(--zp-transition),opacity var(--zp-transition)}.properties-panel:not(.visible){width:0;overflow:hidden;opacity:0;border-left:none}.toolbox{position:absolute;bottom:20px;border-radius:var(--zp-radius-lg);padding:8px 14px;gap:4px}.toolbox-tooltip{display:block;position:absolute;bottom:calc(100% + 8px);left:50%;transform:translate(-50%);background:#1e293bf2;color:#fff;font-family:var(--zp-font-sans);font-size:.72rem;padding:5px 10px;border-radius:var(--zp-radius-sm);white-space:nowrap;opacity:0;pointer-events:none;transition:opacity var(--zp-transition-fast)}.toolbox-btn:hover .toolbox-tooltip{opacity:1}.toolbox-tooltip-shortcut{opacity:.6;margin-left:6px}}.properties-panel-title{font-family:var(--zp-font-sans);font-size:.78rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-light, #999);margin-bottom:12px}.properties-panel-name{font-family:var(--zp-font-sans);font-size:1.05rem;font-weight:600;color:var(--color-text, #1a1a1a);margin-bottom:4px}.properties-panel-type{font-family:var(--zp-font-sans);font-size:.8rem;color:var(--color-text-light, #888);margin-bottom:16px}.properties-section{margin-bottom:16px}.properties-section-label{font-family:var(--zp-font-sans);font-size:.72rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--color-text-light, #aaa);margin-bottom:8px}.properties-row{display:flex;gap:10px;margin-bottom:8px}.properties-field{flex:1}.properties-field label{display:block;font-family:var(--zp-font-sans);font-size:.72rem;color:var(--color-text-light, #999);margin-bottom:3px}.properties-field input{width:100%;padding:6px 10px;border:1px solid var(--zp-panel-border);border-radius:var(--zp-radius-sm);font-family:var(--zp-font-sans);font-size:.85rem;color:var(--color-text, #1a1a1a);background:#f9fafb;outline:none;transition:border-color var(--zp-transition-fast)}.properties-field input:focus{border-color:var(--zp-accent);box-shadow:0 0 0 3px #6b90801a}.properties-field input[type=range]{padding:0;background:transparent;border:none;box-shadow:none;accent-color:var(--zp-accent)}.properties-color-preview{width:24px;height:24px;border-radius:var(--zp-radius-sm);border:1px solid var(--zp-panel-border);flex-shrink:0}.properties-actions{display:flex;gap:8px;margin-top:16px;padding-top:16px;border-top:1px solid var(--zp-panel-border)}.properties-btn{flex:1;display:flex;align-items:center;justify-content:center;gap:6px;padding:9px 14px;border:1px solid var(--zp-panel-border);border-radius:var(--zp-radius-sm);background:#fff;font-family:var(--zp-font-sans);font-size:.82rem;font-weight:500;color:var(--color-text, #1a1a1a);cursor:pointer;transition:all var(--zp-transition-fast)}.properties-btn:hover{border-color:var(--zp-accent);background:var(--zp-accent-light)}.properties-btn--danger{color:var(--zp-danger);border-color:#ef444433}.properties-btn--danger:hover{background:#ef44440f;border-color:var(--zp-danger)}.properties-obstacle-notice{display:flex;align-items:flex-start;gap:8px;padding:10px 12px;background:#f59e0b14;border:1px solid rgba(245,158,11,.2);border-radius:var(--zp-radius-sm);font-size:.78rem;color:#92400e;line-height:1.4}.properties-obstacle-notice svg{flex-shrink:0;margin-top:1px;color:#f59e0b}.guest-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f171e73;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);display:flex;align-items:center;justify-content:center;z-index:1000;padding:24px;animation:gm-fadeIn .25s ease;overscroll-behavior:contain}.guest-modal-overlay.closing{animation:gm-fadeOut .22s ease forwards}.guest-modal{background:#fff;border-radius:24px;width:100%;max-width:580px;max-height:88vh;display:flex;flex-direction:column;overflow:hidden;box-shadow:0 24px 80px #0000002e,0 8px 24px #00000014;animation:gm-slideIn .35s cubic-bezier(.16,1,.3,1);transform-origin:center bottom}.guest-modal-overlay.closing .guest-modal{animation:gm-slideOut .22s ease forwards}.gm-header{display:flex;align-items:center;gap:16px;padding:24px 28px 20px;border-bottom:1px solid rgba(0,0,0,.06);flex-shrink:0}.gm-header-icon{width:48px;height:48px;border-radius:14px;display:flex;align-items:center;justify-content:center;flex-shrink:0;background:linear-gradient(135deg,var(--color-secondary) 0%,rgba(107,144,128,.15) 100%);color:var(--color-primary);animation:gm-iconPop .4s cubic-bezier(.34,1.56,.64,1) .15s both}.gm-header-text{flex:1;min-width:0}.gm-header-text h2{font-family:var(--font-family-serif);font-size:1.375rem;color:var(--color-text);margin:0;line-height:1.3}.gm-header-text p{font-size:.8125rem;color:var(--color-text-light);margin:4px 0 0;line-height:1.4}.gm-badge{display:inline-flex;align-items:center;gap:4px;font-size:.6875rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px;padding:3px 10px;border-radius:20px;margin-left:10px;vertical-align:middle}.gm-badge.add{background:#27ae601a;color:#27ae60}.gm-badge.edit{background:#3498db1a;color:#3498db}.gm-close{width:36px;height:36px;border-radius:50%;border:none;background:#f3f4f6;color:var(--color-text-light);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease;flex-shrink:0}.gm-close:hover{background:#e5e7eb;color:var(--color-text);transform:rotate(90deg)}.guest-modal form{display:flex;flex-direction:column;flex:1;min-height:0;overflow:hidden}.gm-body{flex:1;overflow-y:auto;min-height:0;padding:24px 28px;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}.gm-section{margin-bottom:28px;animation:gm-sectionFadeIn .4s ease both}.gm-section:nth-child(1){animation-delay:.05s}.gm-section:nth-child(2){animation-delay:.1s}.gm-section:nth-child(3){animation-delay:.15s}.gm-section:nth-child(4){animation-delay:.2s}.gm-section:last-child{margin-bottom:0}.gm-section-title{display:flex;align-items:center;gap:10px;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.8px;color:var(--color-text-light);margin-bottom:16px;padding-bottom:8px;border-bottom:1px solid rgba(0,0,0,.05)}.gm-section-title svg{color:var(--color-primary);opacity:.7}.gm-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.gm-grid .gm-field.full-width{grid-column:1 / -1}.gm-field{position:relative}.gm-field>label{display:block;font-size:.8125rem;font-weight:500;color:var(--color-text);margin-bottom:6px}.gm-field label .gm-required{color:#e74c3c;margin-left:3px;font-weight:600}.gm-input-wrapper{position:relative;display:flex;align-items:center}.gm-input-wrapper .gm-input-icon{position:absolute;left:14px;color:var(--color-text-light);pointer-events:none;transition:color .2s;z-index:1}.gm-input-wrapper input:focus~.gm-input-icon,.gm-input-wrapper select:focus~.gm-input-icon,.gm-input-wrapper textarea:focus~.gm-input-icon{color:var(--color-primary)}.gm-field input[type=text],.gm-field input[type=email],.gm-field input[type=tel],.gm-field input[type=number],.gm-field input[type=date],.gm-field select,.gm-field textarea{width:100%;padding:11px 14px;border:1.5px solid #e2e5e9;border-radius:12px;font-size:.9375rem;font-family:inherit;color:var(--color-text);background:#fafbfc;transition:all .2s ease;outline:none}.gm-field input:hover,.gm-field select:hover,.gm-field textarea:hover{border-color:#c8cdd3}.gm-field input:focus,.gm-field select:focus,.gm-field textarea:focus{border-color:var(--color-primary);background:#fff;box-shadow:0 0 0 3.5px #6b90801f}.gm-field input::placeholder,.gm-field textarea::placeholder{color:#b0b7bf}.gm-field textarea{resize:vertical;min-height:80px}.gm-field select{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%236c757d' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;padding-right:36px;cursor:pointer}.gm-input-wrapper.has-icon input,.gm-input-wrapper.has-icon select{padding-left:42px}.gm-field input.gm-error,.gm-field select.gm-error,.gm-field textarea.gm-error{border-color:#e74c3c;background:#fef9f9;animation:gm-shake .4s ease}.gm-field input.gm-error:focus,.gm-field select.gm-error:focus,.gm-field textarea.gm-error:focus{box-shadow:0 0 0 3.5px #e74c3c1a}.gm-error-msg{display:flex;align-items:center;gap:4px;font-size:.75rem;color:#e74c3c;margin-top:5px;font-weight:500}.gm-toggle-field{position:relative;display:flex!important;align-items:center;justify-content:space-between;padding:12px 16px;background:#f7f8fa;border-radius:12px;border:1.5px solid #e8eaed;cursor:pointer;transition:all .2s ease;-webkit-user-select:none;user-select:none;font-size:.9375rem;margin-bottom:0}.gm-toggle-field:hover{background:#f0f2f5;border-color:#d0d5db}.gm-toggle-field.active{background:#6b90800f;border-color:#6b90804d}.gm-toggle-label{display:flex;align-items:center;gap:10px;font-size:.9375rem;font-weight:500;color:var(--color-text)}.gm-toggle-label svg{color:var(--color-text-light)}.gm-toggle-field.active .gm-toggle-label svg{color:var(--color-primary)}.gm-toggle{position:relative;width:44px;height:24px;border-radius:12px;background:#d1d5db;transition:background .25s ease;flex-shrink:0}.gm-toggle:after{content:"";position:absolute;top:3px;left:3px;width:18px;height:18px;border-radius:50%;background:#fff;box-shadow:0 1px 3px #0003;transition:transform .25s cubic-bezier(.34,1.56,.64,1)}.gm-toggle.active{background:var(--color-primary)}.gm-toggle.active:after{transform:translate(20px)}.gm-toggle-field input[type=checkbox]{position:absolute;opacity:0;width:0;height:0}.gm-footer{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:18px 28px 24px;padding-bottom:calc(24px + env(safe-area-inset-bottom));border-top:1px solid rgba(0,0,0,.06);background:linear-gradient(to top,#f8f9fa,#fff);flex-shrink:0}.gm-footer-left{flex-shrink:0}.gm-footer-right{display:flex;gap:10px;margin-left:auto}.gm-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:11px 22px;border-radius:12px;font-weight:600;font-size:.9375rem;font-family:inherit;cursor:pointer;border:none;transition:all .2s ease;white-space:nowrap}.gm-btn-primary{background:var(--color-primary);color:#fff;box-shadow:0 4px 14px #6b90804d}.gm-btn-primary:hover{background:var(--color-primary-dark);transform:translateY(-1px);box-shadow:0 6px 20px #6b908066}.gm-btn-primary:active{transform:translateY(0);box-shadow:0 2px 8px #6b90804d}.gm-btn-secondary{background:#f3f4f6;color:var(--color-text);border:1px solid #e2e5e9}.gm-btn-secondary:hover{background:#e5e7eb;border-color:#d0d5db}.gm-btn-delete{background:transparent;color:#e74c3c;border:1.5px solid rgba(231,76,60,.2);padding:11px 16px}.gm-btn-delete:hover{background:#e74c3c;border-color:#e74c3c;color:#fff}.gm-btn-delete-confirm{background:#e74c3c;border-color:#e74c3c;color:#fff;animation:gm-pulse .6s ease}@keyframes gm-fadeIn{0%{opacity:0}to{opacity:1}}@keyframes gm-fadeOut{0%{opacity:1}to{opacity:0}}@keyframes gm-slideIn{0%{opacity:0;transform:translateY(30px) scale(.96)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes gm-slideOut{0%{opacity:1;transform:translateY(0) scale(1)}to{opacity:0;transform:translateY(20px) scale(.97)}}@keyframes gm-iconPop{0%{opacity:0;transform:scale(.5) rotate(-10deg)}to{opacity:1;transform:scale(1) rotate(0)}}@keyframes gm-sectionFadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes gm-shake{0%,to{transform:translate(0)}15%{transform:translate(-4px)}30%{transform:translate(4px)}45%{transform:translate(-3px)}60%{transform:translate(3px)}75%{transform:translate(-1px)}}@keyframes gm-pulse{0%{transform:scale(1)}50%{transform:scale(1.04)}to{transform:scale(1)}}@media (max-width: 768px){.guest-modal-overlay{padding:0;align-items:stretch}.guest-modal{max-height:100%;height:100%;max-width:100%;border-radius:0;box-shadow:none;animation:gm-mobileSlideUp .35s cubic-bezier(.16,1,.3,1)}.guest-modal-overlay.closing .guest-modal{animation:gm-mobileSlideDown .25s ease forwards}.gm-header{padding:16px 20px 14px;position:sticky;top:0;background:#fffffff2;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);z-index:10}.gm-header-icon{width:40px;height:40px;border-radius:12px}.gm-header-text h2{font-size:1.125rem}.gm-header-text p{display:none}.gm-body{padding:20px 20px 140px}.gm-grid{grid-template-columns:1fr;gap:14px}.gm-section{margin-bottom:24px}.gm-footer{position:fixed;bottom:0;left:0;right:0;padding:14px 20px 20px;padding-bottom:calc(20px + env(safe-area-inset-bottom));background:#fffffff2;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);box-shadow:0 -4px 24px #00000014;z-index:20;border-top:1px solid rgba(0,0,0,.06)}.gm-footer-right{flex:1}.gm-footer-right .gm-btn{flex:1;padding:13px 16px}.gm-btn-delete{flex:none;padding:13px 14px}.gm-btn-delete span{display:none}@keyframes gm-mobileSlideUp{0%{opacity:0;transform:translateY(100%)}to{opacity:1;transform:translateY(0)}}@keyframes gm-mobileSlideDown{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(100%)}}}@media (max-width: 380px){.gm-header{gap:10px}.gm-badge{display:none}.gm-footer{flex-wrap:wrap}.gm-footer-left{width:100%;margin-bottom:4px}.gm-footer-left .gm-btn-delete{width:100%}.gm-footer-left .gm-btn-delete span{display:inline}}.gm-attendance{display:flex;gap:6px}.gm-attendance-btn{flex:1;padding:9px 8px;border:1px solid #d1d5db;border-radius:8px;background:#fff;color:#6b7280;font-size:13px;font-weight:500;cursor:pointer;transition:all .15s ease}.gm-attendance-btn.active.gm-attendance-confirmed{background:#eef6f2;border-color:#4a7c59;color:#4a7c59;font-weight:600}.gm-attendance-btn.active.gm-attendance-pending{background:#fdf3e3;border-color:#d4900d;color:#b57b0a;font-weight:600}.gm-attendance-btn.active.gm-attendance-declined{background:#fdecea;border-color:#c0392b;color:#c0392b;font-weight:600}.page-shell{min-height:100vh;background:linear-gradient(135deg,#e8f0ec,#d4e6dc);padding:0}.page-header{display:flex;justify-content:space-between;align-items:center;padding:24px 40px;background:#fff;box-shadow:0 4px 20px #00000014;position:sticky;top:0;z-index:100}.page-header-left{display:flex;align-items:center;gap:24px}.page-header-back{display:flex;align-items:center;gap:8px;color:var(--color-text-light);text-decoration:none;font-weight:500;transition:color .2s}.page-header-back:hover{color:var(--color-primary)}.page-header-title{font-family:var(--font-family-serif);font-size:1.75rem;color:var(--color-text);margin:0;display:flex;align-items:center;gap:12px}.page-header-badge{display:inline-flex;align-items:center;background:var(--color-primary);color:#fff;padding:3px 12px;border-radius:20px;font-family:var(--font-family-sans);font-size:.75rem;font-weight:600;white-space:nowrap}.page-header-actions{display:flex;gap:12px;align-items:center}.page-stats{display:flex;gap:20px;padding:24px 40px;flex-wrap:wrap}.page-stat-card{display:flex;align-items:center;gap:16px;background:#fff;padding:20px 28px;border-radius:16px;box-shadow:0 4px 20px #00000014;flex:1;min-width:130px;transition:transform .2s,box-shadow .2s}.page-stat-card:hover{transform:translateY(-2px);box-shadow:0 8px 30px #0000001f}.page-stat-card svg{color:var(--color-primary);flex-shrink:0}.page-stat-info{display:flex;flex-direction:column}.page-stat-value{font-size:1.75rem;font-weight:600;color:var(--color-text);line-height:1}.page-stat-label{font-size:.875rem;color:var(--color-text-light);margin-top:4px}.page-content{padding:0 40px 40px}.btn-logout{display:flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:50%;border:1px solid #d0d0d0;background:#fff;color:var(--color-text-light);cursor:pointer;transition:all .2s ease}.btn-logout:hover{background:#fff5f5;border-color:#e74c3c;color:#e74c3c;transform:scale(1.08)}@media (max-width: 768px){.page-header{padding:14px 16px;flex-wrap:nowrap;gap:12px;background:#fffffff2;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.page-header-left{gap:12px;flex:1;min-width:0}.page-header-back{padding:8px;margin:-8px;border-radius:8px}.page-header-back span{display:none}.page-header-title{font-size:1.125rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.page-header-badge{font-size:.65rem;padding:2px 8px}.page-header-actions{gap:8px;flex-shrink:0}.page-stats{padding:16px;gap:10px}.page-stat-card{padding:14px 16px;min-width:90px;gap:10px;border-radius:12px}.page-stat-card svg{width:20px;height:20px}.page-stat-value{font-size:1.375rem}.page-stat-label{font-size:.75rem}.page-content{padding:0 16px 20px}}@media (max-width: 480px){.page-stat-label{display:none}.page-stat-card{flex-direction:column;align-items:center;gap:4px;padding:10px 8px;min-width:60px}.page-stat-card svg{width:16px;height:16px}.page-stat-value{font-size:1rem}.page-stat-info{align-items:center}}.export-open-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:12px 20px;border-radius:12px;font-weight:600;font-size:.9375rem;cursor:pointer;transition:all .2s ease;background:#fff;color:var(--color-text, #333);border:1px solid #d0d0d0;box-shadow:0 1px 3px #0000000a}.export-open-btn:hover{background:#f8f8f8;border-color:#bbb}@media (max-width: 600px){.export-open-btn{padding:10px 14px;border-radius:10px}.export-open-btn .btn-text{display:none}}.export-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:1000;padding:16px}.export-modal{background:#fff;border-radius:16px;width:100%;max-width:480px;max-height:90vh;display:flex;flex-direction:column;box-shadow:0 20px 60px #0000004d;animation:exportModalSlideUp .25s ease}@keyframes exportModalSlideUp{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}.export-modal-header{display:flex;align-items:center;justify-content:space-between;padding:20px 24px;border-bottom:1px solid #eee}.export-modal-title{font-family:var(--font-family-serif, serif);font-size:1.3rem;margin:0;color:#333}.export-modal-close{background:none;border:none;color:#888;cursor:pointer;padding:4px;display:flex;border-radius:8px}.export-modal-close:hover{background:#f2f2f2;color:#333}.export-modal-body{padding:20px 24px;overflow-y:auto;display:flex;flex-direction:column;gap:18px}.export-field{display:flex;flex-direction:column;gap:8px}.export-field-row{flex-direction:row;gap:12px}.export-sub-field{display:flex;flex-direction:column;gap:6px;flex:1}.export-label{font-size:.85rem;font-weight:500;color:#555}.export-input{width:100%;padding:10px 12px;border:1px solid #ddd;border-radius:8px;font-size:.95rem;font-family:inherit;background:#fff;color:#333}.export-input:focus{outline:none;border-color:var(--color-primary, #6b9080);box-shadow:0 0 0 3px #6b908026}.export-doc-choices{display:flex;gap:8px;flex-wrap:wrap}.export-doc-chip{padding:8px 14px;border:1px solid #ddd;border-radius:20px;background:#fff;color:#555;font-size:.9rem;cursor:pointer;transition:all .15s ease}.export-doc-chip.active{background:var(--color-primary, #6b9080);border-color:var(--color-primary, #6b9080);color:#fff;font-weight:500}.export-radio-group{display:flex;gap:16px;flex-wrap:wrap}.export-radio,.export-checkbox{display:flex;align-items:center;gap:8px;font-size:.9rem;color:#444;cursor:pointer}.export-radio input,.export-checkbox input{accent-color:var(--color-primary, #6b9080);width:16px;height:16px;cursor:pointer}.export-columns-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:8px 16px}.export-hint{font-size:.88rem;color:#777;margin:0;line-height:1.5}.export-modal-footer{display:flex;justify-content:flex-end;gap:10px;padding:16px 24px;border-top:1px solid #eee}.export-btn-secondary,.export-btn-primary{display:inline-flex;align-items:center;gap:8px;padding:10px 18px;border-radius:10px;font-size:.92rem;font-weight:500;cursor:pointer;transition:all .15s ease}.export-btn-secondary{background:#fff;border:1px solid #d0d0d0;color:#555}.export-btn-secondary:hover{background:#f8f8f8}.export-btn-primary{background:var(--color-primary, #6b9080);border:none;color:#fff;box-shadow:0 4px 12px #6b90804d}.export-btn-primary:hover:not(:disabled){background:var(--color-primary-dark, #57756a);transform:translateY(-1px)}.export-btn-primary:disabled{opacity:.6;cursor:not-allowed}.export-spinner{animation:exportSpin .9s linear infinite}@keyframes exportSpin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media (max-width: 600px){.export-modal-overlay{padding:0;align-items:stretch}.export-modal{max-width:none;max-height:none;border-radius:0}.export-modal-body{flex:1}.export-columns-grid{grid-template-columns:1fr}}.guest-stat-confirmed svg{color:#27ae60}.guest-stat-pending svg{color:#f39c12}.guest-table-container{background:#fff;border-radius:16px;box-shadow:0 4px 20px #00000014;overflow:hidden}.guest-table{width:100%;border-collapse:collapse;font-size:.9375rem}.guest-table th,.guest-table td{padding:16px 20px;text-align:left;border-bottom:1px solid #f0f0f0}.guest-table th{background:#fafafa;font-weight:600;color:var(--color-text);cursor:pointer;-webkit-user-select:none;user-select:none;white-space:nowrap}.guest-table th:hover{background:#f0f0f0}.guest-table th.sorted{color:var(--color-primary)}.th-content{display:flex;align-items:center;gap:6px}.sort-icon{display:flex;color:var(--color-primary)}.guest-table tbody tr:hover{background:#f8fffe}.guest-table td.center{text-align:center}.guest-table td a{color:var(--color-primary);text-decoration:none}.guest-table td a:hover{text-decoration:underline}.table-checkbox{width:18px;height:18px;cursor:pointer;accent-color:var(--color-primary)}.actions-col{width:100px;text-align:center!important}.actions-cell{display:flex;gap:8px;justify-content:center}.empty-state{text-align:center;padding:80px 40px;background:#fff;border-radius:16px;box-shadow:var(--shadow-sm)}.empty-icon{font-size:4rem;margin-bottom:16px}.empty-state h3{color:var(--color-text);margin-bottom:8px}.empty-state p{color:var(--color-text-light)}.btn-primary,.btn-secondary{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:12px 24px;border-radius:12px;font-weight:600;font-size:.9375rem;cursor:pointer;transition:all .2s ease;border:none;min-width:100px}.btn-primary{background:var(--color-primary);color:#fff;box-shadow:0 4px 12px #6b90804d}.btn-primary:hover{background:var(--color-primary-dark);transform:translateY(-1px);box-shadow:0 6px 16px #6b908066}.btn-secondary{background:#fff;color:var(--color-text);border:1px solid #d0d0d0;box-shadow:0 1px 3px #0000000a}.btn-secondary:hover{background:#f8f8f8;border-color:#bbb}.btn-delete{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:12px 20px;border-radius:12px;font-weight:600;background:#fff5f5;color:#e74c3c;border:1px solid #ffcccc;cursor:pointer;transition:all .2s ease}.btn-delete:hover{background:#e74c3c;border-color:#e74c3c;color:#fff}.icon-btn{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:8px;border:none;background:transparent;color:var(--color-text-light);cursor:pointer;transition:all .2s}.icon-btn:hover{background:#f0f0f0;color:var(--color-primary)}.icon-btn.delete:hover{background:#fff5f5;color:#e74c3c}.icon-btn:disabled{opacity:.3;cursor:not-allowed}@media (max-width: 768px){.btn-primary,.btn-secondary{padding:10px 14px;border-radius:10px}.btn-text{display:none}.guest-table-container{overflow-x:auto;border-radius:12px}.guest-table{min-width:600px}.guest-table th,.guest-table td{padding:12px 14px}.empty-state{padding:60px 24px}.empty-state h3{font-size:1.125rem}}.attendance-select{padding:5px 8px;border-radius:8px;border:1px solid #d1d5db;font-size:12.5px;font-weight:600;cursor:pointer;background:#fff}.attendance-select.attendance-true{color:#4a7c59;border-color:#4a7c59;background:#eef6f2}.attendance-select.attendance-false{color:#c0392b;border-color:#c0392b;background:#fdecea}.attendance-select.attendance-pending{color:#d4900d;border-color:#d4900d;background:#fdf3e3}.brand-logo{display:inline-flex;align-items:center;gap:.6em;line-height:1}.brand-logo-mark{display:block;flex-shrink:0;border-radius:24%;box-shadow:0 6px 18px #3b5c5047}.brand-logo-name{font-family:var(--font-family-serif, "Playfair Display", serif);font-weight:600;font-size:1.35rem;letter-spacing:-.01em;color:var(--brand-ink, #2c3e50);white-space:nowrap}.brand-wordmark em{font-style:italic;font-weight:400;color:var(--brand-accent, #5f8775)}.brand-wordmark:after{content:".";color:#d4a373}.bo-login-page{--bo-bg: #0f1117;--bo-surface: #1a1d27;--bo-surface-2: #242736;--bo-border: #2e3145;--bo-accent: #6366f1;--bo-accent-hover: #4f52d3;--bo-text: #e8eaf0;--bo-text-muted: #8b8fa8;min-height:100vh;display:flex;align-items:center;justify-content:center;background:var(--bo-bg);font-family:var(--font-family-ui, "Inter", system-ui, sans-serif);position:relative;overflow:hidden}.bo-login-bg-shape{position:absolute;border-radius:50%;filter:blur(120px);opacity:.15;pointer-events:none;animation:bo-float 20s ease-in-out infinite}.bo-login-bg-shape-1{width:600px;height:600px;background:#6366f1;top:-200px;right:-100px;animation-delay:0s}.bo-login-bg-shape-2{width:500px;height:500px;background:#a855f7;bottom:-150px;left:-100px;animation-delay:-7s}.bo-login-bg-shape-3{width:300px;height:300px;background:#3b82f6;top:50%;left:50%;transform:translate(-50%,-50%);animation-delay:-14s}@keyframes bo-float{0%,to{transform:translate(0) scale(1)}33%{transform:translate(30px,-30px) scale(1.05)}66%{transform:translate(-20px,20px) scale(.95)}}.bo-login-card{width:100%;max-width:420px;margin:20px;padding:48px 40px;background:#1a1d27b3;backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);border:1px solid var(--bo-border);border-radius:20px;box-shadow:0 0 0 1px #ffffff08,0 24px 80px #00000080;z-index:1}.bo-login-logo{text-align:center;margin-bottom:40px}.bo-login-logo-icon{margin-bottom:16px}.bo-login-title{font-size:1.85rem;font-weight:600;color:var(--bo-text);margin:0 0 4px;letter-spacing:-.02em}.bo-login-subtitle{font-size:.875rem;color:var(--bo-text-muted);margin:0}.bo-login-form{display:flex;flex-direction:column;gap:20px}.bo-login-field{display:flex;flex-direction:column;gap:6px}.bo-login-label{font-size:.8125rem;font-weight:500;color:var(--bo-text-muted);padding-left:2px}.bo-login-input-wrapper{position:relative;display:flex;align-items:center}.bo-login-input-icon{position:absolute;left:14px;color:var(--bo-text-muted);pointer-events:none;transition:color .2s}.bo-login-input{width:100%;padding:14px 14px 14px 44px;background:var(--bo-surface-2);border:1px solid var(--bo-border);border-radius:12px;color:var(--bo-text);font-size:.9375rem;font-family:inherit;outline:none;transition:border-color .2s,box-shadow .2s}.bo-login-input::placeholder{color:var(--bo-text-muted);opacity:.5}.bo-login-input:focus{border-color:var(--bo-accent);box-shadow:0 0 0 3px #6366f126}.bo-login-input:focus+.bo-login-input-icon,.bo-login-input-wrapper:focus-within .bo-login-input-icon{color:var(--bo-accent)}.bo-login-notice{display:flex;align-items:center;gap:8px;font-size:.8375rem;color:#fbbf24;background:#f59e0b1a;border:1px solid rgba(245,158,11,.25);border-radius:8px;padding:10px 14px;margin-bottom:20px}.bo-login-notice svg{flex-shrink:0}.bo-login-error{font-size:.8375rem;color:#f87171;background:#f871711a;border:1px solid rgba(248,113,113,.25);border-radius:8px;padding:10px 14px;margin-top:-4px}.bo-login-btn{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;padding:14px 24px;margin-top:8px;background:linear-gradient(135deg,var(--bo-accent),#7c3aed);color:#fff;border:none;border-radius:12px;font-size:1rem;font-weight:600;font-family:inherit;cursor:pointer;transition:transform .2s,box-shadow .2s,filter .2s;box-shadow:0 4px 24px #6366f14d}.bo-login-btn:hover{transform:translateY(-2px);box-shadow:0 8px 32px #6366f166;filter:brightness(1.1)}.bo-login-btn:active{transform:translateY(0);box-shadow:0 2px 12px #6366f14d}.bo-login-btn:disabled{opacity:.65;cursor:not-allowed}.bo-login-footer{text-align:center;margin:32px 0 0;font-size:.75rem;color:var(--bo-text-muted);opacity:.5}@media (max-width: 480px){.bo-login-card{padding:32px 24px;margin:16px}.bo-login-title{font-size:1.5rem}}.bo-login-step-animate{animation:bo-step-in .35s ease-out}@keyframes bo-step-in{0%{opacity:0;transform:translate(16px)}to{opacity:1;transform:translate(0)}}.bo-login-back-btn{display:inline-flex;align-items:center;gap:8px;background:none;border:none;color:var(--bo-text-muted);font-size:.85rem;font-family:inherit;cursor:pointer;padding:6px 10px;margin:-4px 0 4px -10px;border-radius:8px;transition:color .2s,background .2s}.bo-login-back-btn:hover{color:var(--bo-accent);background:#6366f114}.bo-kpi-card{display:flex;align-items:flex-start;gap:16px;padding:24px;background:var(--bo-surface, #1a1d27);border:1px solid var(--bo-border, #2e3145);border-radius:14px;transition:border-color .2s,box-shadow .2s}.bo-kpi-card:hover{border-color:#6366f133;box-shadow:0 4px 24px #0003}.bo-kpi-icon{display:flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:12px;flex-shrink:0}.bo-kpi-body{display:flex;flex-direction:column;gap:4px;min-width:0}.bo-kpi-label{font-size:.8125rem;color:var(--bo-text-muted, #8b8fa8);font-weight:500}.bo-kpi-row{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 8px}.bo-kpi-detail{font-size:.8125rem;font-weight:500;color:var(--bo-text-muted, #8b8fa8)}.bo-kpi-value{font-size:1.75rem;font-weight:700;color:var(--bo-text, #e8eaf0);line-height:1;letter-spacing:-.02em}.bo-kpi-trend{display:inline-flex;align-items:center;gap:3px;font-size:.75rem;font-weight:600;padding:2px 8px;border-radius:6px}.bo-kpi-trend--up{background:#22c55e1a;color:#22c55e}.bo-kpi-trend--down{background:#ef44441a;color:#ef4444}@media (max-width: 600px){.bo-kpi-card{flex-direction:column;gap:10px;padding:16px}.bo-kpi-icon{width:36px;height:36px;border-radius:10px}.bo-kpi-value{font-size:1.35rem}.bo-kpi-label{font-size:.75rem}.bo-kpi-row{flex-wrap:wrap;gap:6px}}.bo-events-table-wrapper{background:var(--bo-surface, #1a1d27);border:1px solid var(--bo-border, #2e3145);border-radius:14px;overflow:hidden;overflow-x:auto;max-width:100%}.bo-events-table{width:100%;border-collapse:collapse}.bo-events-table thead tr{border-bottom:1px solid var(--bo-border, #2e3145)}.bo-events-table th{text-align:left;padding:14px 20px;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--bo-text-muted, #8b8fa8)}.bo-events-table td{padding:16px 20px;font-size:.875rem;color:var(--bo-text, #e8eaf0);border-bottom:1px solid var(--bo-border, #2e3145)}.bo-events-table tbody tr:last-child td{border-bottom:none}.bo-events-table tbody tr{transition:background .15s}.bo-events-table tbody tr:hover{background:var(--bo-surface-2, #242736)}.bo-events-name{font-weight:600}.bo-events-name a{color:inherit;text-decoration:none}.bo-events-name a:hover{color:var(--bo-accent, #6366f1);text-decoration:underline}.bo-events-date{color:var(--bo-text-muted, #8b8fa8);white-space:nowrap}.bo-events-guests{font-weight:500}.bo-events-guests-confirmed{font-weight:600;white-space:nowrap}.bo-events-guests-invited{color:var(--bo-text-muted, #8b8fa8);white-space:nowrap}@media (max-width: 600px){.bo-events-table th,.bo-events-table td{padding:12px 10px}.bo-events-guests-invited{display:block;font-size:.8125rem}}.bo-events-badge{display:inline-block;padding:4px 12px;border-radius:6px;font-size:.75rem;font-weight:600}.bo-events-empty{padding:32px 20px;text-align:center;color:var(--bo-text-muted, #8b8fa8);font-size:.875rem;margin:0}.bo-help-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:400;background:#00000080;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;justify-content:flex-end}.bo-help-panel{width:min(420px,100%);height:100%;background:var(--bo-surface, #1a1d27);border-left:1px solid var(--bo-border, #2e3145);color:var(--bo-text, #e8eaf0);padding:24px;overflow-y:auto;box-shadow:-12px 0 32px #00000059}.bo-help-header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:24px}.bo-help-title{margin:0;font-size:1.05rem;font-weight:700}.bo-help-close{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border:none;border-radius:8px;background:transparent;color:var(--bo-text-muted, #8b8fa8);cursor:pointer}.bo-help-close:hover,.bo-help-close:focus-visible{background:var(--bo-surface-2, #242736);color:var(--bo-text, #e8eaf0)}.bo-help-process{display:flex;flex-direction:column;gap:8px;list-style:none;margin:0 0 28px;padding:0}.bo-help-step{display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:8px;color:var(--bo-text-muted, #8b8fa8);font-size:.875rem}.bo-help-step--current{background:#6366f11f;color:var(--bo-text, #e8eaf0);font-weight:600}.bo-help-step-num{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:50%;background:var(--bo-surface-2, #242736);font-size:.75rem;font-weight:700}.bo-help-step--current .bo-help-step-num{background:var(--bo-accent, #6366f1);color:#fff}.bo-help-block{margin-bottom:20px}.bo-help-block h3{margin:0 0 6px;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--bo-text-muted, #8b8fa8)}.bo-help-block p{margin:0;font-size:.875rem;line-height:1.5}@media (max-width: 768px){.bo-help-overlay{justify-content:stretch}.bo-help-panel{width:100%;border-left:none}}.bo-page-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.bo-page-header-copy{min-width:0}.bo-page-header-title-row{display:flex;align-items:center;gap:8px}.bo-page-header-title{font-size:1.25rem;font-weight:700;margin:0;color:var(--bo-text, #e8eaf0);letter-spacing:-.02em}.bo-page-header-help{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border:none;border-radius:8px;background:transparent;color:var(--bo-text-muted, #8b8fa8);cursor:pointer;flex-shrink:0}.bo-page-header-help:hover,.bo-page-header-help:focus-visible{background:var(--bo-surface-2, #242736);color:var(--bo-accent, #6366f1)}.bo-page-header-intent{font-size:.8125rem;color:var(--bo-text-muted, #8b8fa8);margin:6px 0 0;line-height:1.45;max-width:62ch}.bo-page-header-hints{margin:8px 0 0;font-size:.75rem;color:var(--bo-text-muted, #8b8fa8);line-height:1.5}.bo-page-header-hint-sep{margin:0 8px}.bo-page-header-hint-label{font-weight:600}.bo-page-header-hints a{color:var(--bo-accent, #6366f1);text-decoration:none;font-weight:500}.bo-page-header-hints a:hover{text-decoration:underline}.bo-page-header-action{flex-shrink:0}.bo-page-header-btn{display:inline-flex;align-items:center;gap:8px;padding:10px 20px;border:none;border-radius:10px;background:var(--bo-accent, #6366f1);color:#fff;font-size:.875rem;font-weight:600;font-family:inherit;cursor:pointer;text-decoration:none;white-space:nowrap}.bo-page-header-btn:hover{background:var(--bo-accent-hover, #4f52d3)}@media (max-width: 768px){.bo-page-header{flex-direction:column;gap:12px}.bo-page-header-title{font-size:1.1rem}.bo-page-header-action,.bo-page-header-btn{width:100%}.bo-page-header-btn{justify-content:center}}.bo-setup{background:var(--bo-surface, #1a1d27);border:1px solid var(--bo-border, #2e3145);border-radius:14px;padding:18px 20px}.bo-setup-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.bo-setup-title{margin:0;font-size:1rem;font-weight:600}.bo-setup-toggle{display:inline-flex;align-items:center;gap:6px;border:none;background:transparent;color:var(--bo-text-muted, #8b8fa8);font-size:.8125rem;font-weight:600;font-family:inherit;cursor:pointer}.bo-setup-toggle:hover{color:var(--bo-text, #e8eaf0)}.bo-setup-list{list-style:none;margin:14px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:10px}.bo-setup-item{display:inline-flex;align-items:center;gap:8px;padding:8px 12px;border-radius:10px;background:var(--bo-bg, #0f1117);font-size:.8125rem}.bo-setup-icon{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;border-radius:50%;flex-shrink:0}.bo-setup-item--done .bo-setup-icon{background:#22c55e26;color:#22c55e}.bo-setup-item--todo .bo-setup-icon{color:var(--bo-text-muted, #8b8fa8)}.bo-setup-item--warn .bo-setup-icon{background:#f59e0b26;color:#f59e0b}.bo-setup-optional{margin-left:6px;font-size:.7rem;color:var(--bo-text-muted, #8b8fa8)}.bo-setup-link{color:var(--bo-accent, #6366f1);font-weight:600;text-decoration:none}.bo-setup-link:hover{text-decoration:underline}@media (max-width: 768px){.bo-setup-list{flex-direction:column}.bo-setup-item{width:100%;justify-content:flex-start}.bo-setup-link{margin-left:auto}}.bo-dashboard{display:flex;flex-direction:column;gap:32px;min-width:0;overflow-x:hidden}.bo-dashboard-kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}.bo-dashboard-section-title{font-size:1rem;font-weight:600;color:var(--bo-text, #e8eaf0);margin:0 0 16px;letter-spacing:-.01em}.bo-dashboard-section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin-bottom:16px;flex-wrap:wrap}.bo-dashboard-section-head .bo-dashboard-section-title{margin-bottom:2px}.bo-dashboard-section-hint{margin:0;font-size:.78rem;color:var(--bo-text-muted, #8b8fa8)}.bo-dashboard-period{display:inline-flex;align-items:center;gap:4px;padding:4px;background:var(--bo-surface, #1a1d27);border:1px solid var(--bo-border, #2e3145);border-radius:10px}.bo-dashboard-period label{display:inline-flex;align-items:center;gap:8px;padding-left:10px;color:var(--bo-text-muted, #8b8fa8);font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em}.bo-dashboard-period input{background:var(--bo-bg, #0f1117);color:var(--bo-text, #e8eaf0);border:1px solid transparent;border-radius:7px;padding:6px 10px;font-family:inherit;font-size:.8125rem;color-scheme:dark;outline:none;transition:border-color .15s ease,box-shadow .15s ease}.bo-dashboard-period input:focus{border-color:var(--bo-accent, #6366f1);box-shadow:0 0 0 3px #6366f126}.bo-dashboard-period-card{background:var(--bo-surface, #1a1d27);border:1px solid var(--bo-border, #2e3145);border-radius:14px;overflow:hidden}.bo-dashboard-period-totals{display:grid;grid-template-columns:repeat(3,minmax(0,1fr)) auto;gap:0;border-bottom:1px solid var(--bo-border, #2e3145)}.bo-dashboard-total{display:flex;align-items:center;gap:12px;padding:16px 20px;border-right:1px solid var(--bo-border, #2e3145);min-width:0}.bo-dashboard-total:last-child{border-right:none}.bo-dashboard-total--count{flex-direction:column;align-items:flex-end;justify-content:center;gap:2px;padding-inline:24px}.bo-dashboard-total>div{display:flex;flex-direction:column;gap:2px;min-width:0}.bo-dashboard-total-icon{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:9px;flex-shrink:0}.bo-dashboard-total-icon--green{background:#22c55e1f;color:#22c55e}.bo-dashboard-total-icon--orange{background:#f59e0b1f;color:#f59e0b}.bo-dashboard-total-icon--accent{background:#6366f11f;color:#6366f1}.bo-dashboard-total-label{font-size:.72rem;font-weight:500;color:var(--bo-text-muted, #8b8fa8)}.bo-dashboard-total-value{font-size:1.15rem;font-weight:700;color:var(--bo-text, #e8eaf0);letter-spacing:-.02em;font-variant-numeric:tabular-nums;white-space:nowrap}.bo-dashboard-total-value--positive{color:var(--bo-success, #22c55e)}.bo-dashboard-total-value--negative{color:#ef4444}.bo-dashboard-period-table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch}.bo-dashboard-period-table{width:100%;border-collapse:collapse;min-width:560px}.bo-dashboard-period-table th{text-align:left;padding:12px 20px;font-size:.72rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--bo-text-muted, #8b8fa8);border-bottom:1px solid var(--bo-border, #2e3145)}.bo-dashboard-period-table td{padding:14px 20px;font-size:.875rem;color:var(--bo-text, #e8eaf0);border-bottom:1px solid var(--bo-border, #2e3145);vertical-align:middle}.bo-dashboard-period-table tbody tr:last-child td{border-bottom:none}.bo-dashboard-period-table tbody tr{transition:background .15s}.bo-dashboard-period-table tbody tr:hover{background:var(--bo-surface-2, #242736)}.bo-dashboard-num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.bo-dashboard-muted{color:var(--bo-text-muted, #8b8fa8)}.bo-dashboard-file-link{display:block;color:var(--bo-text, #e8eaf0);font-weight:600;text-decoration:none;transition:color .15s ease}.bo-dashboard-file-link:hover{color:var(--bo-accent, #6366f1)}.bo-dashboard-file-event{display:block;margin-top:2px;font-size:.75rem;color:var(--bo-text-muted, #8b8fa8)}.bo-dashboard-file-entry{display:none;margin-top:2px;font-size:.75rem;color:var(--bo-text-muted, #8b8fa8)}.bo-dashboard-remainder{font-weight:600}.bo-dashboard-remainder--positive{color:var(--bo-success, #22c55e)}.bo-dashboard-remainder--negative{color:#ef4444}.bo-dashboard-period-empty{display:flex;flex-direction:column;align-items:center;gap:8px;padding:32px 20px;text-align:center;color:var(--bo-text-muted, #8b8fa8)}.bo-dashboard-period-empty p{margin:0;font-size:.875rem}.bo-dashboard-period-link{font-size:.8125rem;font-weight:600;color:var(--bo-accent, #6366f1);text-decoration:none}.bo-dashboard-period-link:hover{text-decoration:underline}@media (max-width: 900px){.bo-dashboard-period-totals{grid-template-columns:repeat(2,minmax(0,1fr))}.bo-dashboard-total{border-bottom:1px solid var(--bo-border, #2e3145)}.bo-dashboard-total:nth-child(2n){border-right:none}.bo-dashboard-total:nth-last-child(-n+2){border-bottom:none}.bo-dashboard-total--count{align-items:flex-start;padding-inline:20px}}@media (max-width: 600px){.bo-dashboard-section-head{flex-direction:column;align-items:stretch}.bo-dashboard-period{justify-content:space-between}.bo-dashboard-period label{flex:1;padding-left:6px}.bo-dashboard-period input{width:100%;min-width:0;padding:6px}.bo-dashboard-total{padding:12px 14px;gap:10px}.bo-dashboard-total-value{font-size:1rem}.bo-dashboard-period-table{min-width:0}.bo-dashboard-period-table th,.bo-dashboard-period-table td{padding:10px 14px}.bo-dashboard-col-secondary{display:none}.bo-dashboard-file-entry{display:block}}@media (max-width: 1200px){.bo-dashboard-kpis{grid-template-columns:repeat(2,1fr)}}@media (max-width: 600px){.bo-dashboard-kpis{grid-template-columns:repeat(2,1fr);gap:12px}}.bo-kpi-card--skeleton{height:92px;background:var(--bo-surface, #1a1d27);border:1px solid var(--bo-border, #2e3145);border-radius:14px;position:relative;overflow:hidden}.bo-kpi-card--skeleton:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(90deg,transparent 0%,rgba(255,255,255,.03) 50%,transparent 100%);animation:skeleton-shimmer 1.5s infinite}@keyframes skeleton-shimmer{0%{transform:translate(-100%)}to{transform:translate(100%)}}.bo-dashboard-error{color:#ef4444;background:#ef44441a;border:1px solid rgba(239,68,68,.2);border-radius:12px;padding:16px 20px;font-size:.875rem;font-weight:500}.entity-selector{position:relative}.entity-selector--single{display:flex;align-items:center;gap:8px;padding:6px 12px;background:#6366f114;border-radius:8px;color:var(--bo-text-primary, white);font-size:.85rem;font-weight:500}.entity-selector-trigger{display:flex;align-items:center;gap:8px;padding:6px 12px;background:#6366f114;border:1px solid rgba(99,102,241,.15);border-radius:8px;color:var(--bo-text-primary, white);font-size:.85rem;font-weight:500;cursor:pointer;transition:all .2s ease}.entity-selector-trigger:hover{background:#6366f124;border-color:#6366f14d}.entity-selector-name{max-width:180px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.entity-selector-chevron{transition:transform .2s ease;opacity:.6}.entity-selector-chevron--open{transform:rotate(180deg)}.entity-selector-dropdown{position:absolute;top:calc(100% + 6px);left:0;min-width:220px;background:#fff;border:1px solid #e2e8f0;border-radius:10px;box-shadow:0 8px 24px #0000001f;z-index:100;padding:4px;animation:entityDropdownFadeIn .15s ease}@keyframes entityDropdownFadeIn{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.entity-selector-option{display:flex;align-items:center;gap:8px;width:100%;padding:8px 12px;border:none;border-radius:6px;background:none;color:#334155;font-size:.85rem;cursor:pointer;transition:background .15s ease;text-align:left}.entity-selector-option:hover{background:#f1f5f9}.entity-selector-option--active{background:#6366f11a;color:#6366f1;font-weight:600}.entity-selector-option-city{margin-left:auto;font-size:.75rem;color:#94a3b8;font-weight:400}@media (max-width: 768px){.entity-selector-name{max-width:100px}.entity-selector-trigger{padding:5px 8px;font-size:.8rem;gap:6px}.entity-selector-dropdown{right:0;left:auto;min-width:200px}}.bo-layout{--bo-bg: #0f1117;--bo-surface: #1a1d27;--bo-surface-2: #242736;--bo-border: #2e3145;--bo-accent: #6366f1;--bo-accent-hover: #4f52d3;--bo-text: #e8eaf0;--bo-text-muted: #8b8fa8;--bo-success: #22c55e;--bo-warning: #f59e0b;--bo-sidebar-width: 256px;--bo-topbar-height: 64px;display:flex;min-height:100vh;background:var(--bo-bg);color:var(--bo-text);font-family:var(--font-family-ui, "Inter", system-ui, sans-serif)}.bo-sidebar{width:var(--bo-sidebar-width);height:100vh;background:var(--bo-surface);border-right:1px solid var(--bo-border);display:flex;flex-direction:column;position:fixed;top:0;left:0;z-index:50;overflow-y:auto;overflow-x:hidden}.bo-sidebar-header{display:flex;align-items:center;gap:10px;padding:24px 20px;border-bottom:1px solid var(--bo-border);flex-shrink:0}.bo-sidebar-brand{--brand-ink: var(--bo-text);--brand-accent: #a9d6c4}.bo-sidebar-brand .brand-logo-mark{box-shadow:0 4px 12px #3b5c5038}.bo-sidebar-close-btn{display:none}.bo-sidebar-nav{flex:1;display:flex;flex-direction:column;gap:16px;padding:16px 12px;min-height:0;overflow-y:auto}.bo-sidebar-section{display:flex;flex-direction:column;gap:4px}.bo-sidebar-section-head{padding:0 12px 4px}.bo-sidebar-section-title{margin:0;font-size:.68rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--bo-text-muted)}.bo-sidebar-section-hint{margin:2px 0 0;font-size:.7rem;color:var(--bo-text-muted);opacity:.8;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.bo-sidebar-link{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:8px;color:var(--bo-text-muted);text-decoration:none;font-size:.875rem;font-weight:500;transition:all .15s ease}.bo-sidebar-link:hover{background:var(--bo-surface-2);color:var(--bo-text)}.bo-sidebar-link--active{background:#6366f11f;color:var(--bo-accent)}.bo-sidebar-link--active svg{color:var(--bo-accent)}.bo-sidebar-footer{padding:16px 12px;border-top:1px solid var(--bo-border);flex-shrink:0}.bo-sidebar-logout{display:flex;align-items:center;gap:10px;width:100%;padding:10px 12px;border:none;border-radius:8px;background:transparent;color:var(--bo-text-muted);font-size:.875rem;font-weight:500;font-family:inherit;cursor:pointer;transition:all .15s ease}.bo-sidebar-logout:hover{background:#ef44441a;color:#ef4444}.bo-sidebar-overlay{display:none}.bo-main{flex:1;margin-left:var(--bo-sidebar-width);display:flex;flex-direction:column;min-height:100vh;min-width:0;max-width:100%;overflow-x:hidden}.bo-topbar{height:var(--bo-topbar-height);display:flex;align-items:center;justify-content:space-between;padding:0 32px;background:var(--bo-surface);border-bottom:1px solid var(--bo-border);flex-shrink:0;min-width:0;max-width:100%;box-sizing:border-box}.bo-topbar-left{display:flex;align-items:center;gap:12px;min-width:0}.bo-breadcrumb{display:flex;align-items:center;min-width:0;max-width:100%;font-size:.9375rem;font-weight:600;letter-spacing:-.01em;white-space:nowrap;overflow:hidden}.bo-breadcrumb-section,.bo-breadcrumb-link,.bo-breadcrumb-sep{flex-shrink:1;min-width:0;overflow:hidden;text-overflow:ellipsis}.bo-breadcrumb-section{color:var(--bo-text-muted);font-weight:500}.bo-breadcrumb-sep{flex-shrink:0;margin:0 8px;color:var(--bo-text-muted);font-weight:500}.bo-breadcrumb-link{color:var(--bo-text-muted);text-decoration:none;font-weight:500}.bo-breadcrumb-link:hover{color:var(--bo-text)}.bo-breadcrumb-current{flex-shrink:0;color:var(--bo-text);overflow:hidden;text-overflow:ellipsis;max-width:42vw}.bo-topbar-menu-btn{display:none}.bo-topbar-right{display:flex;align-items:center;gap:16px;min-width:0;flex-shrink:1}.bo-content{flex:1;padding:32px;overflow-y:auto;overflow-x:hidden;min-width:0;box-sizing:border-box}@media (max-width: 768px){.bo-sidebar{transform:translate(-100%);transition:transform .3s cubic-bezier(.4,0,.2,1);z-index:200;box-shadow:none}.bo-sidebar--open{transform:translate(0);box-shadow:8px 0 32px #0006}.bo-sidebar-close-btn{display:flex;align-items:center;justify-content:center;width:32px;height:32px;margin-left:auto;border:none;border-radius:8px;background:transparent;color:var(--bo-text-muted);cursor:pointer;transition:all .15s ease}.bo-sidebar-close-btn:hover{background:var(--bo-surface-2);color:var(--bo-text)}.bo-sidebar-overlay{display:block;position:fixed;top:0;right:0;bottom:0;left:0;z-index:150;background:#00000080;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);animation:bo-overlay-fade-in .2s ease}@keyframes bo-overlay-fade-in{0%{opacity:0}to{opacity:1}}.bo-main{margin-left:0;max-width:100vw}.bo-topbar{padding:0 12px;gap:8px}.bo-topbar-right{gap:8px}.bo-topbar-menu-btn{display:flex;align-items:center;justify-content:center;width:40px;height:40px;border:none;border-radius:10px;background:transparent;color:var(--bo-text);cursor:pointer;transition:all .15s ease;flex-shrink:0}.bo-topbar-menu-btn:hover{background:var(--bo-surface-2)}.bo-topbar-menu-btn:active{background:var(--bo-border)}.bo-breadcrumb{font-size:.875rem}.bo-breadcrumb-section,.bo-breadcrumb-section+.bo-breadcrumb-sep{display:none}.bo-breadcrumb-link,.bo-breadcrumb-link+.bo-breadcrumb-sep{display:none}.bo-breadcrumb-current{flex-shrink:1;min-width:0;max-width:none}.bo-topbar-right{flex-shrink:0}.bo-content{padding:20px 16px}}.pl-page{min-height:100vh;display:flex;align-items:center;justify-content:center;background-color:var(--color-background);position:relative;overflow:hidden;font-family:var(--font-family-sans)}.pl-blob{position:absolute;border-radius:50%;filter:blur(100px);opacity:.35;pointer-events:none;animation:pl-drift 22s ease-in-out infinite}.pl-blob-1{width:520px;height:520px;background:#6b9080;top:-180px;right:-80px;animation-delay:0s}.pl-blob-2{width:420px;height:420px;background:#cce3de;bottom:-140px;left:-80px;animation-delay:-8s}.pl-blob-3{width:260px;height:260px;background:#a8d5c8;top:50%;left:50%;transform:translate(-50%,-50%);animation-delay:-16s}@keyframes pl-drift{0%,to{transform:translate(0) scale(1)}33%{transform:translate(24px,-24px) scale(1.06)}66%{transform:translate(-18px,18px) scale(.94)}}.pl-card{width:100%;max-width:420px;margin:24px;padding:48px 40px;background:#ffffffbf;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:1px solid rgba(255,255,255,.6);border-radius:24px;box-shadow:0 0 0 1px #6b908014,0 24px 64px #6b90802e;z-index:1}.pl-header{text-align:center;margin-bottom:36px}.pl-logo{margin-bottom:16px}.pl-title{font-family:var(--font-family-serif);font-size:2rem;font-weight:600;color:var(--color-text);margin:0 0 6px;letter-spacing:-.01em}.pl-subtitle{font-size:.9rem;color:var(--color-text-light);margin:0}.pl-form{display:flex;flex-direction:column;gap:18px}.pl-field{display:flex;flex-direction:column;gap:6px}.pl-label{font-size:.8125rem;font-weight:500;color:var(--color-text-light);padding-left:2px}.pl-input-wrap{position:relative;display:flex;align-items:center}.pl-input-icon{position:absolute;left:14px;color:var(--color-text-light);pointer-events:none;transition:color .2s}.pl-input{width:100%;padding:13px 14px 13px 42px;background:#ffffffd9;border:1.5px solid rgba(107,144,128,.25);border-radius:12px;color:var(--color-text);font-size:.9375rem;font-family:var(--font-family-sans);outline:none;transition:border-color .2s,box-shadow .2s}.pl-input::placeholder{color:var(--color-text-light);opacity:.55}.pl-input:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px #6b908026}.pl-input-wrap:focus-within .pl-input-icon{color:var(--color-primary)}.pl-error{font-size:.8375rem;color:#c0392b;background:#c0392b12;border:1px solid rgba(192,57,43,.2);border-radius:8px;padding:10px 14px;margin-top:-4px}.pl-btn{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;padding:14px 24px;margin-top:6px;background:linear-gradient(135deg,#6b9080,#557769);color:#fff;border:none;border-radius:12px;font-size:1rem;font-weight:600;font-family:var(--font-family-sans);cursor:pointer;transition:transform .2s ease,box-shadow .2s ease,filter .2s ease;box-shadow:0 4px 20px #6b908059}.pl-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 8px 28px #6b908073;filter:brightness(1.05)}.pl-btn:active:not(:disabled){transform:translateY(0);box-shadow:0 2px 10px #6b90804d}.pl-btn:disabled{opacity:.65;cursor:not-allowed}.pl-footer{text-align:center;margin:28px 0 0;font-size:.75rem;color:var(--color-text-light);opacity:.5}@media (max-width: 480px){.pl-card{padding:32px 24px;margin:16px}.pl-title{font-size:1.6rem}}.cp-page{min-height:100vh;display:flex;align-items:center;justify-content:center;background-color:var(--color-background);position:relative;overflow:hidden;font-family:var(--font-family-sans)}.cp-blob{position:absolute;border-radius:50%;filter:blur(100px);opacity:.35;pointer-events:none;animation:cp-drift 22s ease-in-out infinite}.cp-blob-1{width:520px;height:520px;background:#6b9080;top:-180px;right:-80px;animation-delay:0s}.cp-blob-2{width:420px;height:420px;background:#cce3de;bottom:-140px;left:-80px;animation-delay:-8s}.cp-blob-3{width:260px;height:260px;background:#a8d5c8;top:50%;left:50%;transform:translate(-50%,-50%);animation-delay:-16s}@keyframes cp-drift{0%,to{transform:translate(0) scale(1)}33%{transform:translate(24px,-24px) scale(1.06)}66%{transform:translate(-18px,18px) scale(.94)}}.cp-card{width:100%;max-width:460px;margin:24px;padding:48px 40px;background:#ffffffbf;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:1px solid rgba(255,255,255,.6);border-radius:24px;box-shadow:0 0 0 1px #6b908014,0 24px 64px #6b90802e;z-index:1}.animate-slide-up{animation:cp-slide-up .5s ease-out both}@keyframes cp-slide-up{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}.cp-header{text-align:center;margin-bottom:32px}.cp-logo{margin-bottom:16px}.cp-title{font-family:var(--font-family-serif);font-size:1.65rem;font-weight:600;color:var(--color-text);margin:0 0 6px;letter-spacing:-.01em}.cp-subtitle{font-size:.875rem;color:var(--color-text-light);margin:0;line-height:1.5}.cp-form{display:flex;flex-direction:column;gap:18px}.cp-field{display:flex;flex-direction:column;gap:6px}.cp-label{font-size:.8125rem;font-weight:500;color:var(--color-text-light);padding-left:2px}.cp-input-wrap{position:relative;display:flex;align-items:center}.cp-input-icon{position:absolute;left:14px;color:var(--color-text-light);pointer-events:none;transition:color .2s}.cp-input{width:100%;padding:13px 14px 13px 42px;background:#ffffffd9;border:1.5px solid rgba(107,144,128,.25);border-radius:12px;color:var(--color-text);font-size:.9375rem;font-family:var(--font-family-sans);outline:none;transition:border-color .2s,box-shadow .2s}.cp-input::placeholder{color:var(--color-text-light);opacity:.55}.cp-input:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px #6b908026}.cp-input-wrap:focus-within .cp-input-icon{color:var(--color-primary)}.cp-separator{height:1px;background:#6b908026;margin:4px 0}.cp-error{font-size:.8375rem;color:#c0392b;background:#c0392b12;border:1px solid rgba(192,57,43,.2);border-radius:8px;padding:10px 14px;margin-top:-4px}.cp-error ul{margin:4px 0 0;padding-left:18px}.cp-error li{margin:2px 0}.cp-rules{display:flex;flex-wrap:wrap;gap:6px;padding:0;margin:-6px 0 0;list-style:none}.cp-rule{display:flex;align-items:center;gap:4px;font-size:.75rem;color:var(--color-text-light);opacity:.7;transition:color .2s,opacity .2s}.cp-rule.cp-rule--pass{color:#27ae60;opacity:1}.cp-rule.cp-rule--fail{color:#c0392b;opacity:1}.cp-btn{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;padding:14px 24px;margin-top:6px;background:linear-gradient(135deg,#6b9080,#557769);color:#fff;border:none;border-radius:12px;font-size:1rem;font-weight:600;font-family:var(--font-family-sans);cursor:pointer;transition:transform .2s ease,box-shadow .2s ease,filter .2s ease;box-shadow:0 4px 20px #6b908059}.cp-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 8px 28px #6b908073;filter:brightness(1.05)}.cp-btn:active:not(:disabled){transform:translateY(0);box-shadow:0 2px 10px #6b90804d}.cp-btn:disabled{opacity:.65;cursor:not-allowed}.cp-footer{text-align:center;margin:28px 0 0;font-size:.75rem;color:var(--color-text-light);opacity:.5}@media (max-width: 480px){.cp-card{padding:32px 24px;margin:16px}.cp-title{font-size:1.4rem}.cp-rules{flex-direction:column}}.bo-datatable-wrapper{background:var(--bo-surface, #1a1d27);border:1px solid var(--bo-border, #2e3145);border-radius:14px;overflow:hidden}.bo-datatable{width:100%;border-collapse:collapse}.bo-datatable thead tr{border-bottom:1px solid var(--bo-border, #2e3145)}.bo-datatable th{text-align:left;padding:14px 20px;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--bo-text-muted, #8b8fa8)}.bo-datatable-th-actions{text-align:right}.bo-datatable tr{border-bottom:1px solid var(--bo-border, #2e3145)}.bo-datatable td{padding:16px 20px;font-size:.875rem;color:var(--bo-text, #e8eaf0)}.bo-datatable tbody tr:last-child td{border-bottom:none}.bo-datatable tbody tr{transition:background .15s}.bo-datatable tbody tr:hover{background:var(--bo-surface-2, #242736)}.bo-datatable-actions{display:flex;align-items:center;justify-content:flex-end;gap:6px}.bo-datatable-action-btn{display:inline-flex;align-items:center;gap:5px;padding:6px 12px;border:none;border-radius:8px;background:var(--bo-surface-2, #242736);color:var(--bo-text-muted, #8b8fa8);font-size:.75rem;font-weight:500;font-family:inherit;cursor:pointer;transition:all .15s ease}.bo-datatable-action-btn:hover{background:var(--bo-border, #2e3145);color:var(--bo-text, #e8eaf0)}.bo-datatable-action-btn--danger:hover{background:#ef44441f;color:#ef4444}.bo-datatable-action-btn:disabled{opacity:.5;cursor:not-allowed}.bo-datatable-empty{background:var(--bo-surface, #1a1d27);border:1px solid var(--bo-border, #2e3145);border-radius:14px;padding:48px 24px;text-align:center}.bo-datatable-empty-text{font-size:.875rem;color:var(--bo-text-muted, #8b8fa8);margin:0}@media (max-width: 768px){.bo-datatable-wrapper{border-radius:12px;overflow-x:auto;-webkit-overflow-scrolling:touch}.bo-datatable{min-width:0}.bo-datatable th{padding:10px 12px;font-size:.6875rem}.bo-datatable td{padding:12px;font-size:.8125rem}.bo-datatable-actions{gap:4px}.bo-datatable-action-btn{padding:6px 8px;border-radius:6px}.bo-datatable-action-btn span{display:none}.bo-datatable-empty{padding:32px 16px;border-radius:12px}}.bo-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;display:flex;align-items:center;justify-content:center;background:#0009;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);animation:bo-modal-fade-in .15s ease}@keyframes bo-modal-fade-in{0%{opacity:0}to{opacity:1}}@keyframes bo-modal-slide-up{0%{opacity:0;transform:translateY(12px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}.bo-modal{position:relative;width:100%;max-width:420px;margin:0 16px;padding:32px;background:var(--bo-surface, #1a1d27);border:1px solid var(--bo-border, #2e3145);border-radius:16px;text-align:center;animation:bo-modal-slide-up .2s ease}.bo-modal-close{position:absolute;top:12px;right:12px;display:flex;align-items:center;justify-content:center;width:32px;height:32px;border:none;border-radius:8px;background:transparent;color:var(--bo-text-muted, #8b8fa8);cursor:pointer;transition:all .15s ease}.bo-modal-close:hover{background:var(--bo-surface-2, #242736);color:var(--bo-text, #e8eaf0)}.bo-modal-icon{display:inline-flex;align-items:center;justify-content:center;width:48px;height:48px;border-radius:12px;background:#ef44441a;color:#ef4444;margin-bottom:16px}.bo-modal-title{font-size:1.125rem;font-weight:600;margin:0 0 8px;color:var(--bo-text, #e8eaf0);letter-spacing:-.01em}.bo-modal-message{font-size:.875rem;color:var(--bo-text-muted, #8b8fa8);line-height:1.5;margin:0 0 24px}.bo-modal-icon--neutral{background:#6366f11f;color:var(--bo-accent, #6366f1)}.bo-modal-body{margin:-8px 0 24px;text-align:left;font-size:.875rem;color:var(--bo-text, #e8eaf0)}.bo-modal-option{display:flex;align-items:flex-start;gap:10px;padding:10px 12px;border:1px solid var(--bo-border, #2e3145);border-radius:10px;background:var(--bo-bg, #0f1117);cursor:pointer;line-height:1.4}.bo-modal-option input{margin-top:3px;accent-color:var(--bo-accent, #6366f1)}.bo-modal-actions{display:flex;flex-wrap:wrap;gap:12px;justify-content:center}.bo-modal-btn--secondary{background:var(--bo-surface-2, #242736);color:var(--bo-text, #e8eaf0);border:1px solid var(--bo-accent, #6366f1)}.bo-modal-btn--secondary:hover:not(:disabled){background:#6366f11f}.bo-modal-btn{padding:10px 24px;border-radius:10px;font-size:.875rem;font-weight:600;font-family:inherit;cursor:pointer;transition:all .15s ease;border:none}.bo-modal-btn:disabled{opacity:.6;cursor:not-allowed}.bo-modal-btn--cancel{background:var(--bo-surface-2, #242736);color:var(--bo-text, #e8eaf0);border:1px solid var(--bo-border, #2e3145)}.bo-modal-btn--cancel:hover:not(:disabled){background:var(--bo-border, #2e3145)}.bo-modal-btn--confirm{background:#ef4444;color:#fff}.bo-modal-btn--confirm:hover:not(:disabled){background:#dc2626}.bo-modal-btn--confirm-neutral{background:var(--bo-accent, #6366f1)}.bo-modal-btn--confirm-neutral:hover:not(:disabled){background:var(--bo-accent-hover, #4f52d3)}.bo-empty{display:flex;flex-direction:column;align-items:center;gap:12px;padding:64px 24px;background:var(--bo-surface, #1a1d27);border:1px solid var(--bo-border, #2e3145);border-radius:14px;text-align:center}.bo-empty-icon{display:flex;align-items:center;justify-content:center;width:56px;height:56px;border-radius:14px;background:#6366f11a;color:var(--bo-accent, #6366f1);margin-bottom:4px}.bo-empty-title{font-size:1rem;font-weight:600;margin:0;color:var(--bo-text, #e8eaf0)}.bo-empty-text{font-size:.8125rem;color:var(--bo-text-muted, #8b8fa8);margin:0;max-width:42ch;line-height:1.45}.bo-empty-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;margin-top:4px}.bo-empty-action{display:inline-flex;align-items:center;justify-content:center;padding:8px 14px;border-radius:8px;border:1px solid var(--bo-border, #2e3145);background:transparent;color:var(--bo-text, #e8eaf0);font-size:.8125rem;font-weight:600;font-family:inherit;text-decoration:none;cursor:pointer}.bo-empty-action--primary{border-color:transparent;background:var(--bo-accent, #6366f1);color:#fff}.bo-empty-action:hover{background:var(--bo-surface-2, #242736)}.bo-empty-action--primary:hover{background:var(--bo-accent-hover, #4f52d3)}@media (max-width: 768px){.bo-empty{padding:40px 20px}.bo-empty-actions{flex-direction:column;width:100%}.bo-empty-action{width:100%}}.bo-event-list{display:flex;flex-direction:column;gap:24px}.bo-event-list-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.bo-event-list-title{font-size:1.25rem;font-weight:700;margin:0;color:var(--bo-text, #e8eaf0);letter-spacing:-.02em}.bo-event-list-subtitle{font-size:.8125rem;color:var(--bo-text-muted, #8b8fa8);margin:4px 0 0}.bo-event-list-create-btn{display:inline-flex;align-items:center;gap:8px;padding:10px 20px;border:none;border-radius:10px;background:var(--bo-accent, #6366f1);color:#fff;font-size:.875rem;font-weight:600;font-family:inherit;cursor:pointer;transition:all .15s ease;white-space:nowrap}.bo-event-list-create-btn:hover{background:var(--bo-accent-hover, #4f52d3);transform:translateY(-1px)}.bo-event-list-create-btn:active{transform:translateY(0)}.bo-el-name{font-weight:600}.bo-el-date{color:var(--bo-text-muted, #8b8fa8);white-space:nowrap}.bo-el-desc{max-width:280px}.bo-el-empty-cell{color:var(--bo-text-muted, #8b8fa8);opacity:.5}.bo-el-name-cell{display:flex;flex-direction:column;gap:6px;min-width:0}.bo-el-name-link{color:var(--bo-text, #e8eaf0);text-decoration:none;font-weight:600}.bo-el-name-link:hover{color:var(--bo-accent, #6366f1);text-decoration:underline}.bo-el-chips{display:none;flex-wrap:wrap;gap:6px}.bo-el-stay,.bo-el-balance{color:var(--bo-text-muted, #8b8fa8);white-space:nowrap;font-size:.8125rem}.bo-el-balance-value{font-weight:600}.bo-el-balance-value--negative{color:#ef4444}.bo-el-balance-value--positive{color:#22c55e}.bo-el-balance-value--zero{color:var(--bo-text-muted, #8b8fa8)}.bo-el-chip{display:inline-flex;align-items:center;gap:4px;padding:3px 9px;border-radius:999px;font-size:.75rem;font-weight:500;white-space:nowrap;background:var(--bo-surface-2, rgba(255, 255, 255, .05));border:1px solid var(--bo-border, rgba(255, 255, 255, .08));color:var(--bo-text, #e8eaf0);text-decoration:none}.bo-el-chip--done{background:#22c55e1a;border-color:#22c55e40;color:#22c55e}.bo-el-chip--todo{background:#f59e0b1a;border-color:#f59e0b4d;color:#f59e0b}a.bo-el-chip--todo:hover{background:#f59e0b33;text-decoration:underline}.bo-event-list-error{padding:12px 16px;background:#ef444414;border:1px solid rgba(239,68,68,.2);border-radius:10px;color:#ef4444;font-size:.875rem}.bo-event-list-error p{margin:0}.bo-event-list-loading{display:flex;flex-direction:column;align-items:center;gap:16px;padding:48px 24px;color:var(--bo-text-muted, #8b8fa8);font-size:.875rem}.bo-event-list-loading p{margin:0}.bo-event-list-spinner{width:32px;height:32px;border:3px solid var(--bo-border, #2e3145);border-top-color:var(--bo-accent, #6366f1);border-radius:50%;animation:bo-spin .7s linear infinite}@keyframes bo-spin{to{transform:rotate(360deg)}}.bo-event-list-empty{display:flex;flex-direction:column;align-items:center;gap:12px;padding:64px 24px;background:var(--bo-surface, #1a1d27);border:1px solid var(--bo-border, #2e3145);border-radius:14px;text-align:center}.bo-event-list-empty-icon{display:flex;align-items:center;justify-content:center;width:56px;height:56px;border-radius:14px;background:#6366f11a;color:var(--bo-accent, #6366f1);margin-bottom:4px}.bo-event-list-empty-title{font-size:1rem;font-weight:600;margin:0;color:var(--bo-text, #e8eaf0)}.bo-event-list-empty-text{font-size:.8125rem;color:var(--bo-text-muted, #8b8fa8);margin:0 0 8px}@media (max-width: 768px){.bo-event-list{gap:16px}.bo-event-list-header{flex-direction:column;gap:12px}.bo-event-list-title{font-size:1.1rem}.bo-event-list-subtitle{font-size:.75rem}.bo-event-list-create-btn{width:100%;justify-content:center;padding:10px 16px;font-size:.8125rem}.bo-el-desc,.bo-el-stay,.bo-el-balance,.bo-el-file,.bo-el-planners{display:none}.bo-el-chips{display:flex}.bo-el-chip{font-size:.6875rem;padding:2px 7px}.bo-el-date{font-size:.75rem}.bo-event-list-empty{padding:40px 20px;border-radius:12px}.bo-event-list-empty-icon{width:48px;height:48px;border-radius:12px}.bo-event-list-empty-title{font-size:.9375rem}.bo-event-list-empty-text{font-size:.75rem}}.bo-form-field{display:flex;flex-direction:column;gap:6px}.bo-form-label{font-size:.8125rem;font-weight:600;color:var(--bo-text, #e8eaf0);letter-spacing:-.01em}.bo-form-required{color:#ef4444;margin-left:3px}.bo-form-input{padding:10px 14px;border:1px solid var(--bo-border, #2e3145);border-radius:10px;background:var(--bo-bg, #0f1117);color:var(--bo-text, #e8eaf0);font-size:.875rem;font-family:inherit;transition:border-color .15s ease,box-shadow .15s ease;outline:none}.bo-form-input::placeholder{color:var(--bo-text-muted, #8b8fa8);opacity:.6}.bo-form-input:focus{border-color:var(--bo-accent, #6366f1);box-shadow:0 0 0 3px #6366f126}.bo-form-textarea{resize:vertical;min-height:100px;line-height:1.5}.bo-form-field--error .bo-form-input{border-color:#ef4444}.bo-form-field--error .bo-form-input:focus{box-shadow:0 0 0 3px #ef444426}.bo-form-error{font-size:.75rem;color:#ef4444;margin:0;display:flex;align-items:center;gap:4px}.bo-form-input[type=number]::-webkit-inner-spin-button,.bo-form-input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.bo-form-input[type=number]{-moz-appearance:textfield;-webkit-appearance:textfield;appearance:textfield}.bo-resource-selector{display:flex;flex-direction:column;gap:14px;margin:0;padding:0;border:0;min-width:0}.bo-resource-selector-title{padding:0;margin-bottom:2px;font-size:.9375rem;font-weight:700;color:var(--bo-text, #e8eaf0)}.bo-resource-selector-hint,.bo-resource-selector-loading,.bo-resource-selector-error,.bo-resource-selector-empty{margin:0;font-size:.8125rem;color:var(--bo-text-muted, #8b8fa8)}.bo-resource-selector-hint{display:flex;align-items:flex-start;gap:6px;line-height:1.4}.bo-resource-selector-hint a{color:var(--bo-accent, #6366f1);font-weight:600;text-decoration:none}.bo-resource-selector-hint a:hover{text-decoration:underline}.bo-resource-selector-error{color:var(--bo-danger, #ef4444)}.bo-resource-selector-section{display:flex;flex-direction:column;gap:8px}.bo-resource-selector-label{font-size:.75rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--bo-text-muted, #8b8fa8)}.bo-resource-selector-list{display:flex;flex-direction:column;gap:6px}.bo-resource-selector--readonly .bo-resource-selector-list{flex-direction:row;flex-wrap:wrap}.bo-resource-selector-item{display:flex;align-items:center;gap:10px;padding:10px 14px;border:1px solid var(--bo-border, #2e3145);border-radius:10px;background:var(--bo-bg, #0f1117);cursor:pointer;transition:all .15s ease;-webkit-user-select:none;user-select:none}.bo-resource-selector-item:hover{border-color:#6366f14d;background:#6366f10a}.bo-resource-selector-item--active{border-color:var(--bo-accent, #6366f1);background:#6366f114}.bo-resource-selector-checkbox{width:16px;height:16px;accent-color:var(--bo-accent, #6366f1);cursor:pointer;flex-shrink:0}.bo-resource-selector-name{font-size:.875rem;font-weight:600;color:var(--bo-text, #e8eaf0);flex:1}.bo-resource-selector-dims{font-size:.75rem;color:var(--bo-text-muted, #8b8fa8);font-variant-numeric:tabular-nums;white-space:nowrap}.bo-resource-selector-chip{display:inline-flex;align-items:center;gap:8px;padding:6px 12px;border:1px solid var(--bo-border, #2e3145);border-radius:999px;background:var(--bo-bg, #0f1117)}.bo-resource-selector-chip .bo-resource-selector-name{flex:none}.bo-resource-selector-empty-box{padding:16px;background:var(--bo-bg, #0f1117);border:1px dashed var(--bo-border, #2e3145);border-radius:10px;text-align:center}.bo-resource-selector-empty-box p{margin:0;font-size:.8125rem;color:var(--bo-text-muted, #8b8fa8)}.bo-resource-selector-empty-box a{color:var(--bo-accent, #6366f1);text-decoration:none;font-weight:500}.bo-resource-selector-empty-box a:hover{text-decoration:underline}.bo-event-form{display:flex;flex-direction:column;gap:24px;max-width:640px}.bo-event-form-header{display:flex;flex-direction:column;gap:4px}.bo-event-form-back-link{display:inline-flex;align-items:center;gap:6px;font-size:.8125rem;font-weight:500;color:var(--bo-text-muted, #8b8fa8);text-decoration:none;margin-bottom:8px;transition:color .15s ease;width:fit-content}.bo-event-form-back-link:hover{color:var(--bo-accent, #6366f1)}.bo-event-form-title{font-size:1.25rem;font-weight:700;margin:0;color:var(--bo-text, #e8eaf0);letter-spacing:-.02em}.bo-event-form-subtitle{font-size:.8125rem;color:var(--bo-text-muted, #8b8fa8);margin:0}.bo-event-form-header-row{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;flex-wrap:wrap}.bo-event-form-header-row .bo-page-header{flex:1}.bo-event-form-header-row .bo-event-form-title{margin-bottom:4px}.bo-event-form-file-link{display:inline-flex;align-items:center;gap:8px;padding:9px 14px;border-radius:10px;border:1px dashed rgba(99,102,241,.5);background:#6366f10f;color:var(--bo-accent, #6366f1);font-size:.8125rem;font-weight:600;text-decoration:none;white-space:nowrap;transition:background .15s ease,border-color .15s ease,color .15s ease}.bo-event-form-file-link:hover{background:#6366f124;border-color:var(--bo-accent, #6366f1)}.bo-event-form-file-link--linked{border-style:solid;border-color:#6366f159;background:#6366f11f;color:var(--bo-text, #e8eaf0)}.bo-event-form-file-link--linked svg{color:var(--bo-accent, #6366f1)}.bo-event-form-file-link--linked:hover{background:#6366f133}.bo-event-form-card{background:var(--bo-surface, #1a1d27);border:1px solid var(--bo-border, #2e3145);border-radius:14px;padding:28px}.bo-event-form-fields{display:flex;flex-direction:column;gap:20px}.bo-event-form-actions{display:flex;align-items:center;justify-content:flex-end;gap:12px;margin-top:28px;padding-top:20px;border-top:1px solid var(--bo-border, #2e3145)}.bo-event-form-btn{display:inline-flex;align-items:center;gap:8px;padding:10px 20px;border:none;border-radius:10px;font-size:.875rem;font-weight:600;font-family:inherit;cursor:pointer;transition:all .15s ease}.bo-event-form-btn:disabled{opacity:.6;cursor:not-allowed}.bo-event-form-btn--cancel{background:var(--bo-surface-2, #242736);color:var(--bo-text, #e8eaf0);border:1px solid var(--bo-border, #2e3145)}.bo-event-form-btn--cancel:hover:not(:disabled){background:var(--bo-border, #2e3145)}.bo-event-form-btn--submit{background:var(--bo-accent, #6366f1);color:#fff}.bo-event-form-btn--submit:hover:not(:disabled){background:var(--bo-accent-hover, #4f52d3);transform:translateY(-1px)}.bo-event-form-btn--submit:active:not(:disabled){transform:translateY(0)}.bo-event-form-btn--saved{background:var(--bo-success, #22c55e)!important}.bo-event-form-error{display:flex;align-items:center;gap:10px;padding:12px 16px;background:#ef444414;border:1px solid rgba(239,68,68,.2);border-radius:10px;color:#ef4444;font-size:.875rem}.bo-event-form-error p{margin:0}.bo-event-form-loading{display:flex;flex-direction:column;align-items:center;gap:16px;padding:64px 24px;color:var(--bo-text-muted, #8b8fa8);font-size:.875rem}.bo-event-form-loading p{margin:0}.bo-event-form-spinner{width:32px;height:32px;border:3px solid var(--bo-border, #2e3145);border-top-color:var(--bo-accent, #6366f1);border-radius:50%;animation:bo-spin .7s linear infinite}.bo-event-form-notfound{display:flex;flex-direction:column;align-items:center;gap:12px;padding:64px 24px;background:var(--bo-surface, #1a1d27);border:1px solid var(--bo-border, #2e3145);border-radius:14px;text-align:center}.bo-event-form-notfound-icon{display:flex;align-items:center;justify-content:center;width:56px;height:56px;border-radius:14px;background:#ef44441a;color:#ef4444;margin-bottom:4px}.bo-event-form-notfound-title{font-size:1rem;font-weight:600;margin:0;color:var(--bo-text, #e8eaf0)}.bo-event-form-notfound-text{font-size:.8125rem;color:var(--bo-text-muted, #8b8fa8);margin:0 0 8px}@media (max-width: 600px){.bo-event-form-card{padding:20px}.bo-event-form-actions{flex-direction:column}.bo-event-form-btn{width:100%;justify-content:center}.bo-event-form-header-row{flex-direction:column;align-items:stretch}.bo-event-form-file-link{justify-content:center;white-space:normal}}.bo-event-form-attach{display:flex;flex-direction:column;gap:8px}.bo-event-form-attach-empty{margin:0;padding:10px 14px;border:1px dashed var(--bo-border, #2e3145);border-radius:10px;font-size:.8125rem;color:var(--bo-text-muted, #8b8fa8)}.bo-event-form-attach-note{display:flex;align-items:flex-start;gap:6px;margin:0;font-size:.8125rem;color:var(--bo-text-muted, #8b8fa8);line-height:1.4}.bo-event-form-attach-note strong{color:var(--bo-text, #e8eaf0)}.bo-event-sheet{display:flex;flex-direction:column;gap:20px;max-width:1040px;min-width:0}.bo-event-sheet-meta{display:flex;flex-wrap:wrap;gap:8px 18px;margin-top:6px;font-size:.8125rem;color:var(--bo-text-muted, #8b8fa8)}.bo-event-sheet-meta-item{display:inline-flex;align-items:center;gap:6px}.bo-event-sheet-meta-item svg{color:var(--bo-accent, #6366f1);flex-shrink:0}.bo-event-sheet-meta-link{color:inherit;text-decoration:none;border-radius:6px}.bo-event-sheet-meta-link:hover,.bo-event-sheet-meta-link:focus-visible{color:var(--bo-text, #e8eaf0)}.bo-event-sheet-meta-cta{color:var(--bo-accent, #6366f1);font-weight:600}.bo-event-sheet-meta-link:hover .bo-event-sheet-meta-cta{text-decoration:underline}.bo-event-sheet-issues{display:flex;gap:12px;padding:12px 16px;border-radius:12px;background:#f59e0b14;border:1px solid rgba(245,158,11,.35);color:var(--bo-text, #e8eaf0);font-size:.8375rem;line-height:1.45}.bo-event-sheet-issues-icon{flex-shrink:0;margin-top:1px;color:#f59e0b}.bo-event-sheet-issues-body{display:flex;flex-direction:column;gap:6px;min-width:0}.bo-event-sheet-issues-body strong{color:#fbbf24}.bo-event-sheet-issues ul{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:4px}.bo-event-sheet-issues li{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 12px}.bo-event-sheet-issues-links{display:inline-flex;gap:10px}.bo-event-sheet-issues-links a{color:var(--bo-accent, #6366f1);font-weight:600;text-decoration:none;white-space:nowrap}.bo-event-sheet-issues-links a:before{content:"→ "}.bo-event-sheet-issues-links a:hover{text-decoration:underline}.bo-event-tabs{display:flex;gap:4px;border-bottom:1px solid var(--bo-border, rgba(255, 255, 255, .08));overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch}.bo-event-tabs::-webkit-scrollbar{display:none}.bo-event-tab{position:relative;display:inline-flex;align-items:center;gap:8px;padding:10px 14px;margin-bottom:-1px;border-bottom:2px solid transparent;color:var(--bo-text-muted, #8b8fa8);font-size:.875rem;font-weight:600;text-decoration:none;white-space:nowrap;transition:color .15s ease,border-color .15s ease}.bo-event-tab:hover{color:var(--bo-text, #e8eaf0)}.bo-event-tab--active{color:var(--bo-text, #e8eaf0);border-bottom-color:var(--bo-accent, #6366f1)}.bo-event-tab:focus-visible{outline:2px solid var(--bo-accent, #6366f1);outline-offset:-2px;border-radius:6px}.bo-event-tab-status{font-weight:500;color:var(--bo-text-muted, #8b8fa8)}.bo-event-tab-status--todo,.bo-event-tab-status--warn{color:#f59e0b}.bo-event-tab-check{color:#22c55e}.bo-event-tab--disabled{opacity:.5;cursor:not-allowed}.bo-event-tab--disabled:after{content:attr(data-tip);position:absolute;left:50%;bottom:calc(100% + 6px);transform:translate(-50%);padding:6px 10px;border-radius:8px;background:var(--bo-surface-2, #2a2d3a);border:1px solid var(--bo-border, rgba(255, 255, 255, .08));color:var(--bo-text, #e8eaf0);font-size:.75rem;font-weight:500;white-space:nowrap;opacity:0;pointer-events:none;transition:opacity .15s ease;z-index:2}.bo-event-tab--disabled:hover:after,.bo-event-tab--disabled:focus-visible:after{opacity:1}.bo-event-tab-panel{min-width:0}.bo-event-tab-note{display:flex;align-items:flex-start;gap:8px;padding:10px 14px;border-radius:10px;background:#6366f10f;border:1px solid rgba(99,102,241,.2);color:var(--bo-text-muted, #8b8fa8);font-size:.8125rem;line-height:1.45}.bo-event-tab-note svg{flex-shrink:0;margin-top:2px;color:var(--bo-accent, #6366f1)}.bo-event-tab-saved{display:inline-flex;align-items:center;gap:6px;align-self:flex-end;padding:4px 10px;border-radius:999px;background:#22c55e1f;color:#22c55e;font-size:.75rem;font-weight:600;animation:bo-fade-in .15s ease}@keyframes bo-fade-in{0%{opacity:0;transform:translateY(-2px)}to{opacity:1;transform:none}}.bo-event-tab-content{display:flex;flex-direction:column;gap:16px}.bo-event-tab-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.bo-event-tab-toolbar h3{margin:0;font-size:1rem;font-weight:700;color:var(--bo-text, #e8eaf0)}.bo-event-tab-toolbar p{margin:2px 0 0;font-size:.8125rem;color:var(--bo-text-muted, #8b8fa8)}.bo-event-tab-inline-form{padding:18px;border-radius:14px;background:var(--bo-surface, #1c1f2a);border:1px solid var(--bo-border, rgba(255, 255, 255, .08))}.bo-event-tab-inline-form .bo-planner-form{max-width:none}.bo-event-attach{display:flex;flex-direction:column;gap:14px}.bo-event-attach-row{display:flex;gap:10px;align-items:center}.bo-event-attach-row .bo-form-input{flex:1;min-width:0}.bo-event-attach-row .bo-page-header-btn:disabled{opacity:.5;cursor:not-allowed}@media (max-width: 640px){.bo-event-attach-row{flex-direction:column;align-items:stretch}}@media (max-width: 480px){.bo-event-tab{padding:10px;font-size:.8125rem}.bo-event-tab--disabled:after{left:0;transform:none}}.bo-day-date{display:inline-block;color:var(--bo-accent, #6366f1)}.bo-day-date:first-letter{text-transform:uppercase}.bo-day-refresh{display:inline-flex;align-items:center;gap:6px;padding:8px 12px;border-radius:10px;border:1px solid var(--bo-border, #2e3145);background:var(--bo-surface, #1a1d27);color:var(--bo-text, #e8eaf0);font-size:.8125rem;font-weight:600;cursor:pointer;transition:border-color .15s ease,background .15s ease}.bo-day-refresh:hover:not(:disabled){border-color:var(--bo-accent, #6366f1);background:var(--bo-surface-2, #242736)}.bo-day-refresh:disabled{opacity:.6;cursor:progress}.bo-day-spin{animation:bo-day-spin .8s linear infinite}@keyframes bo-day-spin{to{transform:rotate(360deg)}}.bo-day-error{display:flex;align-items:center;flex-wrap:wrap;gap:10px;padding:12px 16px;border-radius:12px;background:#ef444414;border:1px solid rgba(239,68,68,.35);color:#f87171;font-size:.875rem}.bo-day-error p{margin:0;flex:1;min-width:180px}.bo-day-error button{padding:6px 12px;border-radius:8px;border:1px solid rgba(239,68,68,.45);background:transparent;color:#fca5a5;font-size:.8125rem;font-weight:600;cursor:pointer}.bo-day-error button:hover:not(:disabled){background:#ef44441f}.bo-day-error button:disabled{opacity:.6;cursor:progress}.bo-day-summary{display:flex;flex-wrap:wrap;gap:8px}.bo-day-summary span{display:inline-flex;align-items:center;gap:6px;padding:5px 12px;border-radius:999px;background:var(--bo-surface, #1a1d27);border:1px solid var(--bo-border, #2e3145);color:var(--bo-text-muted, #8b8fa8);font-size:.8125rem}.bo-day-summary strong{color:var(--bo-text, #e8eaf0)}.bo-day-summary svg{color:var(--bo-accent, #6366f1)}.bo-day-section{display:flex;flex-direction:column;gap:10px}.bo-day-section-title{margin:4px 0 0;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--bo-text-muted, #8b8fa8)}.bo-day-list{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:10px}.bo-day-task{display:flex;gap:14px;padding:14px 16px;border-radius:12px;background:var(--bo-surface, #1a1d27);border:1px solid var(--bo-border, #2e3145)}.bo-day-task-time{flex-shrink:0;align-self:flex-start;min-width:56px;padding:4px 8px;border-radius:8px;background:#6366f11f;color:#a5b4fc;font-size:.875rem;font-weight:700;font-variant-numeric:tabular-nums;text-align:center}.bo-day-task-body{display:flex;flex-direction:column;gap:6px;min-width:0;flex:1}.bo-day-task-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.bo-day-task-title{font-size:.9375rem;font-weight:600;color:var(--bo-text, #e8eaf0);line-height:1.35;overflow-wrap:anywhere}.bo-day-task--done .bo-day-task-title{color:var(--bo-text-muted, #8b8fa8)}.bo-day-task-status{flex-shrink:0;padding:2px 8px;border-radius:6px;font-size:.6875rem;font-weight:600;background:var(--bo-surface-2, #242736);color:var(--bo-text-muted, #8b8fa8)}.bo-day-task-status--in_progress{background:#f59e0b1f;color:#fbbf24}.bo-day-task-status--completed{background:#22c55e1f;color:#22c55e}.bo-day-task-meta{display:flex;flex-wrap:wrap;gap:6px}.bo-day-task-meta:empty{display:none}.bo-day-task-cat,.bo-day-task-priority{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;border-radius:6px;font-size:.75rem;font-weight:500}.bo-day-task-cat{background:color-mix(in srgb,var(--cat-color) 16%,transparent);color:color-mix(in srgb,var(--cat-color) 70%,#fff)}.bo-day-task-priority{background:#ef44441f;color:#f87171}.bo-day-task-notes{margin:2px 0 0;padding:0;list-style:none;display:flex;flex-direction:column;gap:4px}.bo-day-task-notes li{display:flex;gap:6px;font-size:.8125rem;line-height:1.45;color:var(--bo-text-muted, #8b8fa8);overflow-wrap:anywhere}.bo-day-task-notes svg{flex-shrink:0;margin-top:3px}.bo-day-list--timeline{position:relative}.bo-day-list--timeline:before{content:"";position:absolute;top:18px;bottom:18px;left:44px;width:2px;background:#6366f133;z-index:0}.bo-day-list--timeline .bo-day-task{position:relative;z-index:1}@media (max-width: 480px){.bo-day-task{gap:10px;padding:12px}.bo-day-task-time{min-width:50px;padding:3px 6px;font-size:.8125rem}.bo-day-task-head{flex-direction:column;gap:4px}.bo-day-list--timeline:before{left:37px}}.bo-service-form{max-width:640px}.bo-service-form-header{margin-bottom:24px}.bo-service-form-back-link{display:inline-flex;align-items:center;gap:6px;color:var(--bo-text-muted, #8b8fa8);text-decoration:none;font-size:.85rem;font-weight:500;margin-bottom:12px;transition:color .15s ease}.bo-service-form-back-link:hover{color:var(--bo-accent, #6366f1)}.bo-service-form-title{font-size:1.5rem;font-weight:700;margin:0 0 4px;color:var(--bo-text, #e8eaf0)}.bo-service-form-subtitle{margin:0;font-size:.875rem;color:var(--bo-text-muted, #8b8fa8)}.bo-service-form-error{display:flex;align-items:center;gap:8px;padding:12px 16px;background:#ef44441a;border:1px solid rgba(239,68,68,.25);border-radius:8px;color:#ef4444;margin-bottom:16px;font-size:.875rem}.bo-service-form-error p{margin:0}.bo-service-form-card{background:var(--bo-surface, #1a1d27);border:1px solid var(--bo-border, #2e3145);border-radius:12px;padding:24px}.bo-service-form-fields{display:flex;flex-direction:column;gap:16px;margin-bottom:24px}.bo-service-form-actions{display:flex;justify-content:flex-end;gap:12px;padding-top:16px;border-top:1px solid var(--bo-border, #2e3145)}.bo-service-form-btn{display:inline-flex;align-items:center;gap:8px;padding:10px 20px;border:none;border-radius:8px;font-size:.875rem;font-weight:600;font-family:inherit;cursor:pointer;transition:all .15s ease}.bo-service-form-btn--cancel{background:var(--bo-surface-2, #242736);color:var(--bo-text-muted, #8b8fa8)}.bo-service-form-btn--cancel:hover{background:var(--bo-border, #2e3145);color:var(--bo-text, #e8eaf0)}.bo-service-form-btn--submit{background:linear-gradient(135deg,var(--bo-accent, #6366f1),#7c3aed);color:#fff}.bo-service-form-btn--submit:hover{transform:translateY(-1px);box-shadow:0 4px 16px #6366f166}.bo-service-form-btn:disabled{opacity:.6;cursor:not-allowed;transform:none}.bo-service-form-loading,.bo-service-form-notfound{text-align:center;padding:64px 24px;color:var(--bo-text-muted, #8b8fa8)}.bo-service-form-spinner{width:32px;height:32px;border:3px solid var(--bo-border, #2e3145);border-top-color:var(--bo-accent, #6366f1);border-radius:50%;animation:serviceFormSpin .8s linear infinite;margin:0 auto 16px}@keyframes serviceFormSpin{to{transform:rotate(360deg)}}.bo-service-form-notfound-icon{display:inline-flex;align-items:center;justify-content:center;width:56px;height:56px;background:#ef44441a;border-radius:14px;color:#ef4444;margin-bottom:16px}.bo-service-form-notfound-title{font-size:1.125rem;font-weight:600;margin:0 0 8px;color:var(--bo-text, #e8eaf0)}.bo-service-form-notfound-text{font-size:.875rem;margin:0 0 20px}@media (max-width: 600px){.bo-service-form-card{padding:16px}.bo-service-form-actions{flex-direction:column}.bo-service-form-btn{width:100%;justify-content:center}}.bo-admin-file{display:flex;flex-direction:column;gap:20px;max-width:1040px;min-width:0}.bo-af-editor{display:flex;flex-direction:column;gap:20px;min-width:0}.bo-af-field-note{display:flex;align-items:center;gap:6px;margin:6px 0 0;font-size:.75rem;color:var(--bo-text-muted, #8b8fa3)}.bo-af-field-note svg{flex-shrink:0}.bo-af-header{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;flex-wrap:wrap}.bo-af-header .bo-service-form-title{margin-bottom:4px}.bo-af-event-chip{display:inline-flex;align-items:center;gap:8px;padding:8px 14px;border-radius:999px;background:#6366f11a;border:1px solid rgba(99,102,241,.25);color:var(--bo-text, #e8eaf0);font-size:.8125rem;text-decoration:none;transition:background .15s ease,border-color .15s ease;white-space:nowrap}.bo-af-event-chip svg{color:var(--bo-accent, #6366f1)}.bo-af-event-chip strong{font-weight:600}.bo-af-event-chip:hover{background:#6366f12e;border-color:#6366f173}.bo-af-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.bo-af-kpi{display:flex;align-items:flex-start;gap:14px;padding:18px;background:var(--bo-surface, #1a1d27);border:1px solid var(--bo-border, #2e3145);border-radius:14px;min-width:0;transition:border-color .2s,box-shadow .2s}.bo-af-kpi:hover{border-color:#6366f133;box-shadow:0 4px 24px #0003}.bo-af-kpi--positive .bo-af-kpi-value{color:var(--bo-success, #22c55e)}.bo-af-kpi--negative .bo-af-kpi-value{color:#ef4444}.bo-af-kpi-icon,.bo-af-card-icon{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;border-radius:10px}.bo-af-kpi-icon{width:40px;height:40px}.bo-af-card-icon{width:32px;height:32px;border-radius:9px}.bo-af-kpi-icon--green{background:#22c55e1f;color:#22c55e}.bo-af-kpi-icon--orange{background:#f59e0b1f;color:#f59e0b}.bo-af-kpi-icon--accent{background:#6366f11f;color:#6366f1}.bo-af-kpi-icon--blue{background:#3b82f61f;color:#3b82f6}.bo-af-kpi-body{display:flex;flex-direction:column;gap:3px;min-width:0}.bo-af-kpi-label{font-size:.75rem;font-weight:500;color:var(--bo-text-muted, #8b8fa8)}.bo-af-kpi-value{font-size:1.35rem;font-weight:700;color:var(--bo-text, #e8eaf0);letter-spacing:-.02em;line-height:1.15;font-variant-numeric:tabular-nums;white-space:nowrap}.bo-af-kpi-sub{font-size:.75rem;line-height:1.35;color:var(--bo-text-muted, #8b8fa8)}.bo-af-card{background:var(--bo-surface, #1a1d27);border:1px solid var(--bo-border, #2e3145);border-radius:14px;padding:22px 24px;display:flex;flex-direction:column;gap:16px;min-width:0}.bo-af-card-head{display:flex;flex-direction:column;gap:4px}.bo-af-card-head--row{flex-direction:row;align-items:flex-start;justify-content:space-between;gap:16px}.bo-af-card-heading{display:flex;align-items:flex-start;gap:12px}.bo-af-card-heading .bo-af-card-hint{margin-top:2px}.bo-af-card-title{margin:0;font-size:.95rem;font-weight:600;color:var(--bo-text, #e8eaf0);letter-spacing:-.01em}.bo-af-card-hint{margin:0;font-size:.78rem;color:var(--bo-text-muted, #8b8fa8)}.bo-af-card-total{font-size:1.05rem;font-weight:700;color:var(--bo-text, #e8eaf0);font-variant-numeric:tabular-nums;white-space:nowrap}.bo-af-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 20px}.bo-af-field--full{grid-column:1 / -1}.bo-af-fields .bo-form-input{width:100%;box-sizing:border-box}.bo-af-fields input[type=datetime-local]{color-scheme:dark}.bo-af-card-foot{display:flex;align-items:center;justify-content:space-between;gap:16px;padding-top:16px;border-top:1px solid var(--bo-border, #2e3145);flex-wrap:wrap}.bo-af-days{display:inline-flex;align-items:center;gap:6px;margin:0;font-size:.8125rem;color:var(--bo-text-muted, #8b8fa8);min-height:20px}.bo-af-days svg{flex-shrink:0;color:var(--bo-accent, #6366f1)}.bo-af-days--error,.bo-af-days--error svg{color:#ef4444}.bo-af-btn--saved{background:var(--bo-success, #22c55e)!important}.bo-af-toolbar{display:flex;align-items:center;gap:10px;padding:10px;background:var(--bo-bg, #0f1117);border:1px dashed var(--bo-border, #2e3145);border-radius:12px}.bo-af-toolbar-select{flex:1;min-width:0}.bo-af-toolbar-qty{display:inline-flex;align-items:center;gap:8px;font-size:.75rem;font-weight:600;color:var(--bo-text-muted, #8b8fa8);text-transform:uppercase;letter-spacing:.04em}.bo-af-toolbar-qty .bo-form-input{width:84px;text-align:right}.bo-af-toolbar .bo-form-input{background:var(--bo-surface, #1a1d27)}.bo-af-add-btn{display:inline-flex;align-items:center;gap:6px;padding:10px 16px;border:none;border-radius:10px;background:var(--bo-accent, #6366f1);color:#fff;font-size:.8125rem;font-weight:600;font-family:inherit;cursor:pointer;white-space:nowrap;transition:background .15s ease,transform .15s ease,opacity .15s ease}.bo-af-add-btn:hover:not(:disabled){background:var(--bo-accent-hover, #4f52d3);transform:translateY(-1px)}.bo-af-add-btn:disabled{opacity:.45;cursor:not-allowed}.bo-af-callout{display:flex;align-items:flex-start;gap:10px;padding:12px 14px;border-radius:10px;background:#3b82f614;border:1px solid rgba(59,130,246,.2);color:var(--bo-text, #e8eaf0);font-size:.8125rem}.bo-af-callout svg{color:#3b82f6;flex-shrink:0;margin-top:1px}.bo-af-callout p{margin:0;color:var(--bo-text-muted, #8b8fa8)}.bo-af-empty{margin:0;padding:22px;text-align:center;font-size:.8125rem;color:var(--bo-text-muted, #8b8fa8);border:1px dashed var(--bo-border, #2e3145);border-radius:12px}.bo-af-table-wrap{border:1px solid var(--bo-border, #2e3145);border-radius:12px;overflow:hidden;overflow-x:auto;-webkit-overflow-scrolling:touch}.bo-af-table{width:100%;border-collapse:collapse;min-width:620px}.bo-af-table th{text-align:left;padding:10px 14px;font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--bo-text-muted, #8b8fa8);background:var(--bo-bg, #0f1117);border-bottom:1px solid var(--bo-border, #2e3145)}.bo-af-table td{padding:10px 14px;font-size:.875rem;color:var(--bo-text, #e8eaf0);border-bottom:1px solid var(--bo-border, #2e3145);vertical-align:middle}.bo-af-table tbody tr{transition:background .15s}.bo-af-table tbody tr:hover{background:var(--bo-surface-2, #242736)}.bo-af-row--dirty{background:#6366f10f}.bo-af-table tfoot td{border-bottom:none;background:var(--bo-bg, #0f1117);font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--bo-text-muted, #8b8fa8)}.bo-af-table tfoot .bo-af-amount{font-size:.95rem;text-transform:none;letter-spacing:0;color:var(--bo-text, #e8eaf0)}.bo-af-th-num,.bo-af-td-num{text-align:right}.bo-af-th-num{width:150px}.bo-af-th-actions,.bo-af-td-actions{width:170px;min-width:170px;white-space:nowrap}.bo-af-line-name{display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-weight:500}.bo-af-badge{display:inline-flex;align-items:center;padding:2px 8px;border-radius:6px;font-size:.6875rem;font-weight:600;letter-spacing:.02em}.bo-af-badge--fixed{background:#3b82f61f;color:#60a5fa}.bo-af-badge--optional{background:#f59e0b1f;color:#fbbf24}.bo-af-days-cell{color:var(--bo-text-muted, #8b8fa8);font-variant-numeric:tabular-nums}.bo-af-input{width:96px;padding:7px 10px;text-align:right;font-variant-numeric:tabular-nums;border-radius:8px}.bo-af-input-wrap{display:inline-flex;align-items:center;gap:6px}.bo-af-input-suffix{font-size:.75rem;color:var(--bo-text-muted, #8b8fa8);min-width:30px;text-align:left}.bo-af-amount{font-weight:600;font-variant-numeric:tabular-nums;white-space:nowrap}.bo-af-td-actions{text-align:right}.bo-af-actions{display:inline-flex;align-items:center;justify-content:flex-end;gap:6px}.bo-af-icon-btn{display:inline-flex;align-items:center;gap:5px;padding:6px 10px;border:none;border-radius:8px;background:var(--bo-surface-2, #242736);color:var(--bo-text-muted, #8b8fa8);font-size:.75rem;font-weight:600;font-family:inherit;cursor:pointer;transition:all .15s ease}.bo-af-icon-btn:hover{background:var(--bo-border, #2e3145);color:var(--bo-text, #e8eaf0)}.bo-af-icon-btn--save{background:var(--bo-accent, #6366f1);color:#fff}.bo-af-icon-btn--save:hover{background:var(--bo-accent-hover, #4f52d3);color:#fff}.bo-af-icon-btn--danger:hover{background:#ef44441f;color:#ef4444}.bo-af-cards{display:none;list-style:none;margin:0;padding:0;flex-direction:column;gap:10px}.bo-af-line-card{display:flex;flex-direction:column;gap:12px;padding:14px;border:1px solid var(--bo-border, #2e3145);border-radius:12px;background:var(--bo-bg, #0f1117)}.bo-af-line-card--dirty{border-color:#6366f173;background:#6366f10f}.bo-af-line-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.bo-af-line-card-head .bo-af-amount{font-size:.95rem}.bo-af-line-card-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.bo-af-line-card-field{display:flex;flex-direction:column;gap:5px;font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--bo-text-muted, #8b8fa8)}.bo-af-line-card-field .bo-af-input{width:100%;box-sizing:border-box}.bo-af-line-card-field .bo-af-days-cell{padding:8px 0;font-size:.875rem;text-transform:none;letter-spacing:0;font-weight:500}.bo-af-line-card-actions{display:flex;justify-content:flex-end;gap:8px}.bo-af-line-card--total{flex-direction:row;align-items:center;justify-content:space-between;background:var(--bo-surface-2, #242736);font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--bo-text-muted, #8b8fa8)}.bo-af-line-card--total .bo-af-amount{font-size:1rem;color:var(--bo-text, #e8eaf0)}@media (max-width: 1100px){.bo-af-summary{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width: 640px){.bo-admin-file{gap:16px}.bo-af-summary{gap:10px}.bo-af-kpi{flex-direction:column;gap:10px;padding:14px}.bo-af-kpi-icon{width:34px;height:34px}.bo-af-kpi-value{font-size:1.1rem}.bo-af-card{padding:16px;border-radius:12px}.bo-af-card-head--row{flex-direction:column;gap:8px}.bo-af-fields{grid-template-columns:1fr}.bo-af-card-foot{flex-direction:column;align-items:stretch}.bo-af-card-foot .bo-service-form-btn{width:100%;justify-content:center}.bo-af-toolbar{flex-wrap:wrap}.bo-af-toolbar-select{flex:1 1 100%}.bo-af-toolbar-qty{flex:1}.bo-af-toolbar-qty .bo-form-input{width:100%}.bo-af-add-btn{flex:1;justify-content:center}.bo-af-table-wrap{display:none}.bo-af-cards{display:flex}}.bo-temp-pw-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;display:flex;align-items:center;justify-content:center;background:#000000b3;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);animation:bo-temp-pw-fade-in .15s ease}@keyframes bo-temp-pw-fade-in{0%{opacity:0}to{opacity:1}}@keyframes bo-temp-pw-slide-up{0%{opacity:0;transform:translateY(16px) scale(.96)}to{opacity:1;transform:translateY(0) scale(1)}}.bo-temp-pw-modal{position:relative;width:100%;max-width:440px;margin:0 16px;padding:36px 32px;background:var(--bo-surface, #1a1d27);border:1px solid var(--bo-border, #2e3145);border-radius:16px;text-align:center;animation:bo-temp-pw-slide-up .25s ease}.bo-temp-pw-icon{display:inline-flex;align-items:center;justify-content:center;width:52px;height:52px;border-radius:14px;background:#22c55e1a;color:#22c55e;margin-bottom:16px}.bo-temp-pw-title{font-size:1.125rem;font-weight:600;margin:0 0 6px;color:var(--bo-text, #e8eaf0);letter-spacing:-.01em}.bo-temp-pw-subtitle{font-size:.8125rem;color:var(--bo-text-muted, #8b8fa8);margin:0 0 24px;line-height:1.5}.bo-temp-pw-display{display:flex;align-items:center;gap:12px;padding:14px 18px;background:var(--bo-bg, #13151d);border:1px solid var(--bo-border, #2e3145);border-radius:10px;margin-bottom:16px}.bo-temp-pw-value{flex:1;font-family:SF Mono,Fira Code,Cascadia Code,monospace;font-size:1.125rem;font-weight:600;color:var(--bo-text, #e8eaf0);letter-spacing:.08em;-webkit-user-select:all;user-select:all}.bo-temp-pw-copy-btn{display:inline-flex;align-items:center;gap:6px;padding:8px 14px;border:1px solid var(--bo-border, #2e3145);border-radius:8px;background:var(--bo-surface-2, #242736);color:var(--bo-text, #e8eaf0);font-size:.8125rem;font-weight:500;font-family:inherit;cursor:pointer;transition:all .15s ease;white-space:nowrap}.bo-temp-pw-copy-btn:hover{background:var(--bo-border, #2e3145)}.bo-temp-pw-copy-btn--copied{border-color:#22c55e4d;background:#22c55e1a;color:#22c55e}.bo-temp-pw-warning{display:flex;align-items:center;gap:8px;padding:10px 14px;background:#f59e0b14;border:1px solid rgba(245,158,11,.2);border-radius:8px;color:#f59e0b;font-size:.8125rem;line-height:1.4;margin-bottom:24px;text-align:left}.bo-temp-pw-warning svg{flex-shrink:0}.bo-temp-pw-close-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:10px 24px;border:none;border-radius:10px;background:var(--bo-accent, #6366f1);color:#fff;font-size:.875rem;font-weight:600;font-family:inherit;cursor:pointer;transition:all .15s ease;width:100%}.bo-temp-pw-close-btn:hover{background:var(--bo-accent-hover, #4f52d3);transform:translateY(-1px)}.bo-temp-pw-close-btn:active{transform:translateY(0)}.bo-planner-form{display:flex;flex-direction:column;gap:24px;max-width:640px}.bo-planner-form-header{display:flex;flex-direction:column;gap:4px}.bo-planner-form-back-link{display:inline-flex;align-items:center;gap:6px;font-size:.8125rem;font-weight:500;color:var(--bo-text-muted, #8b8fa8);text-decoration:none;margin-bottom:8px;transition:color .15s ease;width:fit-content}.bo-planner-form-back-link:hover{color:var(--bo-accent, #6366f1)}.bo-planner-form-title{font-size:1.25rem;font-weight:700;margin:0;color:var(--bo-text, #e8eaf0);letter-spacing:-.02em}.bo-planner-form-subtitle{font-size:.8125rem;color:var(--bo-text-muted, #8b8fa8);margin:0}.bo-planner-form-card{background:var(--bo-surface, #1a1d27);border:1px solid var(--bo-border, #2e3145);border-radius:14px;padding:28px}.bo-planner-form-fields{display:flex;flex-direction:column;gap:20px}.bo-planner-form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}.bo-planner-form-select{width:100%;padding:10px 36px 10px 14px;border:1px solid var(--bo-border, #2e3145);border-radius:10px;background:var(--bo-bg, #13151d);color:var(--bo-text, #e8eaf0);font-size:.875rem;font-family:inherit;outline:none;transition:border-color .15s ease;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%238b8fa8' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center}.bo-planner-form-select:focus{border-color:var(--bo-accent, #6366f1)}.bo-planner-form-select option{background:var(--bo-surface, #1a1d27);color:var(--bo-text, #e8eaf0)}.bo-planner-form-actions{display:flex;align-items:center;justify-content:flex-end;gap:12px;margin-top:28px;padding-top:20px;border-top:1px solid var(--bo-border, #2e3145)}.bo-planner-form-btn{display:inline-flex;align-items:center;gap:8px;padding:10px 20px;border:none;border-radius:10px;font-size:.875rem;font-weight:600;font-family:inherit;cursor:pointer;transition:all .15s ease}.bo-planner-form-btn:disabled{opacity:.6;cursor:not-allowed}.bo-planner-form-btn--cancel{background:var(--bo-surface-2, #242736);color:var(--bo-text, #e8eaf0);border:1px solid var(--bo-border, #2e3145)}.bo-planner-form-btn--cancel:hover:not(:disabled){background:var(--bo-border, #2e3145)}.bo-planner-form-btn--submit{background:var(--bo-accent, #6366f1);color:#fff}.bo-planner-form-btn--submit:hover:not(:disabled){background:var(--bo-accent-hover, #4f52d3);transform:translateY(-1px)}.bo-planner-form-btn--submit:active:not(:disabled){transform:translateY(0)}.bo-planner-form-error{display:flex;align-items:center;gap:10px;padding:12px 16px;background:#ef444414;border:1px solid rgba(239,68,68,.2);border-radius:10px;color:#ef4444;font-size:.875rem}.bo-planner-form-error p{margin:0}.bo-planner-form-loading{display:flex;flex-direction:column;align-items:center;gap:16px;padding:64px 24px;color:var(--bo-text-muted, #8b8fa8);font-size:.875rem}.bo-planner-form-loading p{margin:0}.bo-planner-form-spinner{width:32px;height:32px;border:3px solid var(--bo-border, #2e3145);border-top-color:var(--bo-accent, #6366f1);border-radius:50%;animation:bo-spin .7s linear infinite}.bo-planner-form-notfound{display:flex;flex-direction:column;align-items:center;gap:12px;padding:64px 24px;background:var(--bo-surface, #1a1d27);border:1px solid var(--bo-border, #2e3145);border-radius:14px;text-align:center}.bo-planner-form-notfound-icon{display:flex;align-items:center;justify-content:center;width:56px;height:56px;border-radius:14px;background:#ef44441a;color:#ef4444;margin-bottom:4px}.bo-planner-form-notfound-title{font-size:1rem;font-weight:600;margin:0;color:var(--bo-text, #e8eaf0)}.bo-planner-form-notfound-text{font-size:.8125rem;color:var(--bo-text-muted, #8b8fa8);margin:0 0 8px}@media (max-width: 600px){.bo-planner-form-card{padding:20px}.bo-planner-form-row{grid-template-columns:1fr}.bo-planner-form-actions{flex-direction:column}.bo-planner-form-btn{width:100%;justify-content:center}}.bo-planner-list{display:flex;flex-direction:column;gap:24px}.bo-planner-list-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.bo-planner-list-title{font-size:1.25rem;font-weight:700;margin:0;color:var(--bo-text, #e8eaf0);letter-spacing:-.02em}.bo-planner-list-subtitle{font-size:.8125rem;color:var(--bo-text-muted, #8b8fa8);margin:4px 0 0}.bo-planner-list-create-btn{display:inline-flex;align-items:center;gap:8px;padding:10px 20px;border:none;border-radius:10px;background:var(--bo-accent, #6366f1);color:#fff;font-size:.875rem;font-weight:600;font-family:inherit;cursor:pointer;transition:all .15s ease;white-space:nowrap}.bo-planner-list-create-btn:hover{background:var(--bo-accent-hover, #4f52d3);transform:translateY(-1px)}.bo-planner-list-create-btn:active{transform:translateY(0)}.bo-pl-name{font-weight:600}.bo-pl-email,.bo-pl-phone{color:var(--bo-text-muted, #8b8fa8)}.bo-pl-event{max-width:200px}.bo-pl-event-badge{display:inline-flex;align-items:center;gap:4px;padding:3px 10px;border-radius:6px;font-size:.75rem;font-weight:500;background:#6366f11a;color:var(--bo-accent, #6366f1)}.bo-pl-no-event{color:var(--bo-text-muted, #8b8fa8);opacity:.5}.bo-planner-list-error{padding:12px 16px;background:#ef444414;border:1px solid rgba(239,68,68,.2);border-radius:10px;color:#ef4444;font-size:.875rem}.bo-planner-list-error p{margin:0}.bo-planner-list-loading{display:flex;flex-direction:column;align-items:center;gap:16px;padding:48px 24px;color:var(--bo-text-muted, #8b8fa8);font-size:.875rem}.bo-planner-list-loading p{margin:0}.bo-planner-list-spinner{width:32px;height:32px;border:3px solid var(--bo-border, #2e3145);border-top-color:var(--bo-accent, #6366f1);border-radius:50%;animation:bo-spin .7s linear infinite}.bo-planner-list-empty{display:flex;flex-direction:column;align-items:center;gap:12px;padding:64px 24px;background:var(--bo-surface, #1a1d27);border:1px solid var(--bo-border, #2e3145);border-radius:14px;text-align:center}.bo-planner-list-empty-icon{display:flex;align-items:center;justify-content:center;width:56px;height:56px;border-radius:14px;background:#6366f11a;color:var(--bo-accent, #6366f1);margin-bottom:4px}.bo-planner-list-empty-title{font-size:1rem;font-weight:600;margin:0;color:var(--bo-text, #e8eaf0)}.bo-planner-list-empty-text{font-size:.8125rem;color:var(--bo-text-muted, #8b8fa8);margin:0 0 8px}@media (max-width: 768px){.bo-planner-list{gap:16px}.bo-planner-list-header{flex-direction:column;gap:12px}.bo-planner-list-title{font-size:1.1rem}.bo-planner-list-subtitle{font-size:.75rem}.bo-planner-list-create-btn{width:100%;justify-content:center;padding:10px 16px;font-size:.8125rem}.bo-pl-email{display:none}.bo-pl-event-badge{font-size:.7rem;padding:2px 8px}.bo-planner-list-empty{padding:40px 20px;border-radius:12px}.bo-planner-list-empty-icon{width:48px;height:48px;border-radius:12px}.bo-planner-list-empty-title{font-size:.9375rem}.bo-planner-list-empty-text{font-size:.75rem}}.bo-ql-status{display:inline-flex;align-items:center;padding:3px 10px;border-radius:999px;font-size:.75rem;font-weight:600;white-space:nowrap;border:1px solid transparent}.bo-ql-status--created{background:#6366f11f;color:#a5b4fc;border-color:#6366f14d}.bo-ql-status--accepted{background:#22c55e1f;color:#86efac;border-color:#22c55e4d}.bo-ql-status--refused,.bo-ql-status--outdated{background:transparent;color:var(--bo-text-muted, #8b8fa8);border-color:var(--bo-border, #2e3145)}.bo-ql-status--refused{text-decoration:line-through;text-decoration-color:#8b8fa899}.bo-event-quotes-notice{display:flex;align-items:center;gap:10px;padding:12px 16px;background:#22c55e14;border:1px solid rgba(34,197,94,.25);border-radius:10px;color:#86efac;font-size:.875rem}.bo-event-quotes-notice p{margin:0}.bo-event-quotes{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}.bo-event-quote{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 18px;border-radius:12px;background:var(--bo-surface, #1c1f2a);border:1px solid var(--bo-border, rgba(255, 255, 255, .08));transition:border-color .15s ease,opacity .15s ease}.bo-event-quote--active{border-color:#6366f18c;box-shadow:inset 3px 0 0 var(--bo-accent, #6366f1)}.bo-event-quote--muted{opacity:.6}.bo-event-quote--muted:hover{opacity:1}.bo-event-quote-main{display:flex;flex-direction:column;gap:4px;min-width:0}.bo-event-quote-head{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.bo-event-quote-name{font-size:.9375rem;color:var(--bo-text, #e8eaf0)}.bo-event-quote-flag{font-size:.6875rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--bo-accent, #6366f1)}.bo-event-quote-meta{display:flex;flex-wrap:wrap;gap:4px 14px;font-size:.8125rem;color:var(--bo-text-muted, #8b8fa8)}.bo-event-quote-dates{font-variant-numeric:tabular-nums}.bo-event-quote-side{display:flex;align-items:center;gap:16px;flex-shrink:0}.bo-event-quote-total{font-weight:700;font-variant-numeric:tabular-nums;color:var(--bo-text, #e8eaf0);white-space:nowrap}.bo-event-quote-actions{display:flex;gap:6px}@media (max-width: 640px){.bo-event-quote{flex-direction:column;align-items:stretch;gap:10px;padding:12px 14px}.bo-event-quote-side{justify-content:space-between}.bo-event-quote-dates{display:none}}.bo-gantt{--gantt-hue-1: 238;--gantt-hue-2: 174;--gantt-hue-3: 330;--gantt-hue-4: 36;--gantt-hue-5: 200;--gantt-hue-6: 140;--gantt-hue-7: 280;--gantt-hue-8: 12;--gantt-header-height: 48px;position:relative;overflow:auto;border:1px solid var(--bo-border);border-radius:12px;background:var(--bo-surface);scrollbar-width:thin}.bo-gantt-inner{min-width:calc(var(--label-width) + var(--day-count) * var(--day-width))}.bo-gantt-row{--row-height: 44px;display:grid;grid-template-columns:var(--label-width) calc(var(--day-count) * var(--day-width));height:var(--row-height);border-bottom:1px solid var(--bo-border)}.bo-gantt-row:last-child{border-bottom:none}.bo-gantt-row--header{--row-height: var(--gantt-header-height);position:sticky;top:0;z-index:4;background:var(--bo-surface-2)}.bo-gantt-row--group{--row-height: 34px;background:#ffffff06}.bo-gantt-row--conflict{background:#ef44440f}.bo-gantt-row--muted .bo-gantt-label{color:var(--bo-text-muted);font-style:italic}.bo-gantt-label{position:sticky;left:0;z-index:3;display:flex;align-items:center;gap:6px;flex-wrap:wrap;padding:0 12px;font-size:.8125rem;font-weight:600;color:var(--bo-text);background:var(--bo-surface);border-right:1px solid var(--bo-border);overflow:hidden}.bo-gantt-row--header .bo-gantt-label,.bo-gantt-row--group .bo-gantt-label{background:var(--bo-surface-2)}.bo-gantt-row--conflict .bo-gantt-label{background:#231a22}.bo-gantt-label--group{flex-wrap:nowrap;white-space:nowrap;font-size:.6875rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--bo-text-muted)}.bo-gantt-group-count{font-weight:600;letter-spacing:0;color:var(--bo-text-muted);opacity:.8}.bo-gantt-row:not(.bo-gantt-row--header):not(.bo-gantt-row--group):hover{background:#ffffff06}.bo-gantt-row:not(.bo-gantt-row--header):not(.bo-gantt-row--group):hover .bo-gantt-label{background:var(--bo-surface-2)}.bo-gantt-label-button{display:flex;align-items:center;gap:6px;flex-wrap:wrap;width:100%;padding:0;border:none;background:transparent;color:inherit;font:inherit;text-align:left;cursor:pointer;overflow:hidden}.bo-gantt-label-button:hover .bo-gantt-label-text{text-decoration:underline;text-underline-offset:2px}.bo-gantt-label-button:focus-visible{outline:2px solid var(--bo-accent);outline-offset:2px;border-radius:4px}.bo-gantt-label-link{display:inline-flex;align-items:center;gap:4px;color:var(--bo-accent);font-weight:600;font-style:normal;text-decoration:none}.bo-gantt-label-link:hover{text-decoration:underline}.bo-gantt-label-text{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.bo-gantt-label-sub{font-size:.6875rem;font-weight:500;color:var(--bo-text-muted);white-space:nowrap}.bo-gantt-label-conflict{display:inline-flex;color:#f87171}.bo-gantt-track{position:relative;height:100%;overflow:hidden}.bo-gantt-day{position:absolute;top:0;width:var(--day-width);height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;border-left:1px solid var(--bo-border);font-size:.6875rem;color:var(--bo-text-muted);line-height:1.1}.bo-gantt-day-weekday{text-transform:capitalize}.bo-gantt-day-weekday-short{display:none}.bo-gantt-day-number{font-weight:700;font-size:.8125rem;color:var(--bo-text)}.bo-gantt-day--weekend .bo-gantt-day-number{color:var(--bo-text-muted)}.bo-gantt-day--today .bo-gantt-day-number{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:50%;background:var(--bo-accent);color:#fff}.bo-gantt-cell{position:absolute;top:0;bottom:0;width:var(--day-width);pointer-events:none}.bo-gantt-cell--weekend{background:#ffffff08}.bo-gantt-cell--today{background:#6366f11a;box-shadow:inset 1px 0 #6366f199,inset -1px 0 #6366f199}.bo-gantt-bar{position:absolute;display:flex;align-items:center;gap:4px;padding:0 8px;min-width:6px;border-radius:7px;border:1px solid hsl(var(--hue) 70% 60% / .7);background:hsl(var(--hue) 65% 55% / .28);color:var(--bo-text);font:inherit;font-size:.75rem;font-weight:600;text-align:left;cursor:pointer;overflow:hidden;transition:transform .12s ease,box-shadow .12s ease,background .12s ease}.bo-gantt-bar:hover{background:hsl(var(--hue) 65% 55% / .42);z-index:2}.bo-gantt-bar:focus-visible{outline:2px solid #fff;outline-offset:1px;z-index:2}.bo-gantt-bar--selected{box-shadow:0 0 0 2px var(--bo-surface),0 0 0 4px hsl(var(--hue) 70% 65%);z-index:2}.bo-gantt-bar--confirmed{background:hsl(var(--hue) 65% 55% / .42)}.bo-gantt-bar--option{border-style:dashed;background:hsl(var(--hue) 65% 55% / .14)}.bo-gantt-bar--dayOnly{border-style:dotted;background:transparent;color:var(--bo-text-muted)}.bo-gantt-bar--conflict{border-color:#f87171;box-shadow:inset 0 0 0 1px #f8717199}.bo-gantt-bar--conflict.bo-gantt-bar--selected{box-shadow:inset 0 0 0 1px #f8717199,0 0 0 2px var(--bo-surface),0 0 0 4px #f87171}.bo-gantt-bar--clipped-start{border-top-left-radius:0;border-bottom-left-radius:0;border-left-color:transparent}.bo-gantt-bar--clipped-end{border-top-right-radius:0;border-bottom-right-radius:0;border-right-color:transparent}.bo-gantt-bar-text{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.bo-gantt-bar-issue{display:inline-flex;flex-shrink:0;color:#fbbf24}.bo-gantt-quote-range{position:absolute;height:4px;border-radius:2px;pointer-events:none;background:repeating-linear-gradient(135deg,#fbbf24 0 3px,transparent 3px 6px);opacity:.9;z-index:1}.bo-gantt-dayj{position:absolute;width:8px;height:8px;margin-left:-4px;margin-top:-4px;border-radius:50%;background:#fff;border:2px solid hsl(var(--hue) 70% 55%);pointer-events:none;z-index:2}.bo-gantt-dayj--outside{width:10px;height:10px;margin-left:-5px;margin-top:-5px;background:#fbbf24;border-color:#92400e;box-shadow:0 0 0 2px #fbbf2459}.bo-gantt-empty{margin:0;padding:28px 16px;text-align:center;color:var(--bo-text-muted);font-size:.875rem;position:sticky;left:0;width:100%}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media (max-width: 640px){.bo-gantt-label{padding:0 8px;font-size:.75rem}.bo-gantt-label-sub,.bo-gantt-day-weekday-full{display:none}.bo-gantt-day-weekday-short{display:inline}.bo-gantt-bar{padding:0 5px;font-size:.6875rem}}@media (prefers-reduced-motion: reduce){.bo-gantt-bar{transition:none}}.bo-gantt-tooltip{position:fixed;z-index:60;padding:12px 14px;border-radius:10px;background:#0b0d14;border:1px solid var(--bo-border);box-shadow:0 12px 32px #00000073;color:var(--bo-text);font-size:.8125rem;pointer-events:none}.bo-gantt-tooltip-head{display:flex;align-items:baseline;justify-content:space-between;gap:10px;margin-bottom:8px}.bo-gantt-tooltip-head strong{font-size:.875rem}.bo-gantt-tooltip-kind{flex-shrink:0;font-size:.6875rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--bo-text-muted)}.bo-gantt-tooltip-kind--confirmed{color:#86efac}.bo-gantt-tooltip-kind--option{color:#c4b5fd}.bo-gantt-tooltip-list{display:grid;grid-template-columns:92px 1fr;gap:4px 10px;margin:0}.bo-gantt-tooltip-list dt{color:var(--bo-text-muted);line-height:1.3}.bo-gantt-tooltip-list dd{margin:0;font-variant-numeric:tabular-nums}.bo-gantt-tooltip-alert{display:flex;align-items:flex-start;gap:6px;margin:8px 0 0;color:#fbbf24;font-size:.75rem;line-height:1.35}.bo-gantt-tooltip-alert svg{flex-shrink:0;margin-top:2px}.bo-gantt-tooltip-alert--conflict{color:#f87171}@media (hover: none){.bo-gantt-tooltip{display:none}}.bo-drawer-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:50;background:#00000073}.bo-drawer{position:fixed;top:0;right:0;bottom:0;z-index:51;width:min(420px,100vw);display:flex;flex-direction:column;background:var(--bo-surface);border-left:1px solid var(--bo-border);box-shadow:-16px 0 40px #0006;animation:bo-drawer-in .18s ease-out}@keyframes bo-drawer-in{0%{transform:translate(24px);opacity:0}to{transform:none;opacity:1}}.bo-drawer-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:20px 20px 14px;border-bottom:1px solid var(--bo-border)}.bo-drawer-head h3{margin:4px 0 0;font-size:1.125rem;font-weight:700;color:var(--bo-text)}.bo-drawer-kind{font-size:.6875rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--bo-text-muted)}.bo-drawer-kind--confirmed{color:#86efac}.bo-drawer-kind--option{color:#c4b5fd}.bo-drawer-close{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:8px;border:1px solid var(--bo-border);background:transparent;color:var(--bo-text-muted);cursor:pointer}.bo-drawer-close:hover{color:var(--bo-text);background:var(--bo-surface-2)}.bo-drawer-body{flex:1;overflow-y:auto;padding:16px 20px;display:flex;flex-direction:column;gap:16px;font-size:.875rem;color:var(--bo-text)}.bo-drawer-list{display:grid;grid-template-columns:auto 1fr;gap:6px 14px;margin:0}.bo-drawer-list dt{color:var(--bo-text-muted);white-space:nowrap}.bo-drawer-list dd{margin:0;font-variant-numeric:tabular-nums}.bo-drawer-section h4,.bo-drawer-alert h4{display:flex;align-items:center;gap:6px;margin:0 0 8px;font-size:.75rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--bo-text-muted)}.bo-drawer-alert{padding:12px 14px;border-radius:10px;background:#fbbf2414;border:1px solid rgba(251,191,36,.3)}.bo-drawer-alert h4{color:#fbbf24}.bo-drawer-alert--conflict{background:#ef444414;border-color:#ef444459}.bo-drawer-alert--conflict h4{color:#f87171}.bo-drawer-alert ul{margin:0;padding-left:18px;display:flex;flex-direction:column;gap:6px;font-size:.8125rem;line-height:1.4}.bo-drawer-alert a{color:inherit;text-decoration:underline;text-underline-offset:2px}.bo-drawer-alert-links{display:inline-flex;gap:8px;margin-left:8px}.bo-drawer-alert-links a{color:var(--bo-text);font-weight:600}.bo-drawer-resources{display:flex;flex-direction:column;gap:6px;margin-bottom:10px}.bo-drawer-resources-label{font-size:.75rem;color:var(--bo-text-muted)}.bo-drawer-chips{display:flex;flex-wrap:wrap;gap:6px}.bo-drawer-chip{padding:4px 10px;border-radius:999px;background:var(--bo-surface-2);border:1px solid var(--bo-border);font-size:.8125rem}.bo-drawer-muted{margin:0;color:var(--bo-text-muted);font-size:.8125rem}.bo-drawer-foot{display:flex;flex-wrap:wrap;gap:8px;padding:14px 20px;border-top:1px solid var(--bo-border)}.bo-drawer-link{display:inline-flex;align-items:center;gap:6px;padding:8px 12px;border-radius:8px;border:1px solid var(--bo-border);background:var(--bo-surface-2);color:var(--bo-text);font-size:.8125rem;font-weight:600;text-decoration:none}.bo-drawer-link:hover{border-color:var(--bo-accent)}.bo-drawer-link-ext{color:var(--bo-text-muted)}@media (max-width: 640px){.bo-drawer{top:auto;width:100vw;max-height:85vh;border-left:none;border-top:1px solid var(--bo-border);border-radius:16px 16px 0 0;animation-name:bo-drawer-up}@keyframes bo-drawer-up{0%{transform:translateY(24px);opacity:0}to{transform:none;opacity:1}}}@media (prefers-reduced-motion: reduce){.bo-drawer{animation:none}}.bo-planning{display:flex;flex-direction:column;gap:16px}.bo-planning-toolbar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px}.bo-planning-month{display:flex;align-items:center;gap:6px}.bo-planning-nav,.bo-planning-today{display:inline-flex;align-items:center;justify-content:center;height:36px;border-radius:8px;border:1px solid var(--bo-border);background:var(--bo-surface);color:var(--bo-text);cursor:pointer;transition:border-color .15s ease,background .15s ease}.bo-planning-nav{width:36px}.bo-planning-today{padding:0 12px;font-size:.8125rem;font-weight:600;margin-left:4px}.bo-planning-nav:hover,.bo-planning-today:hover{border-color:var(--bo-accent);background:var(--bo-surface-2)}.bo-planning-month-label{position:relative;display:inline-flex;align-items:center;min-width:170px;height:36px;padding:0 12px;border-radius:8px;border:1px solid var(--bo-border);background:var(--bo-surface);font-size:.9375rem;font-weight:700;color:var(--bo-text);cursor:pointer}.bo-planning-month-label span{pointer-events:none}.bo-planning-month-label input{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;opacity:0;cursor:pointer}.bo-planning-month-label:focus-within{border-color:var(--bo-accent)}.bo-planning-views{display:inline-flex;padding:3px;border-radius:10px;background:var(--bo-surface);border:1px solid var(--bo-border)}.bo-planning-view{padding:7px 14px;border-radius:7px;border:none;background:transparent;color:var(--bo-text-muted);font-size:.8125rem;font-weight:600;cursor:pointer;transition:background .15s ease,color .15s ease}.bo-planning-view--active{background:var(--bo-accent);color:#fff}.bo-planning-view:focus-visible{outline:2px solid var(--bo-accent);outline-offset:2px}.bo-planning-summary{display:flex;flex-wrap:wrap;gap:8px}.bo-planning-chip{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:999px;border:1px solid var(--bo-border);background:var(--bo-surface);font-size:.75rem;color:var(--bo-text-muted)}.bo-planning-chip--button{cursor:pointer;font:inherit;font-size:.75rem;transition:background .15s ease,border-color .15s ease}.bo-planning-chip--button:hover{background:var(--bo-surface-2)}.bo-planning-chip--button:focus-visible{outline:2px solid var(--bo-accent);outline-offset:2px}.bo-planning-chip--conflict{color:#f87171;border-color:#f8717166}.bo-planning-chip--issue{color:#fbbf24;border-color:#fbbf2466}.bo-planning-swatch{width:14px;height:8px;border-radius:3px;border:1px solid rgba(255,255,255,.5);background:#ffffff4d}.bo-planning-swatch--option{border-style:dashed;background:#ffffff1a}.bo-planning-swatch--dayOnly{border-style:dotted;background:transparent}.bo-planning-error{display:flex;align-items:center;gap:10px;padding:12px 16px;border-radius:10px;background:#ef44441a;border:1px solid rgba(239,68,68,.3);color:#fca5a5;font-size:.875rem}.bo-planning-error p{margin:0;flex:1}.bo-planning-retry{display:inline-flex;align-items:center;gap:6px;padding:6px 10px;border-radius:8px;border:1px solid rgba(239,68,68,.4);background:transparent;color:inherit;font:inherit;font-size:.8125rem;font-weight:600;cursor:pointer}.bo-planning-retry:hover{background:#ef44441f}.bo-planning-loading{display:flex;flex-direction:column;align-items:center;gap:12px;padding:48px 0;color:var(--bo-text-muted);font-size:.875rem}.bo-planning-spinner{width:28px;height:28px;border-radius:50%;border:3px solid var(--bo-border);border-top-color:var(--bo-accent);animation:bo-planning-spin .8s linear infinite}@keyframes bo-planning-spin{to{transform:rotate(360deg)}}.bo-planning-grid{transition:opacity .15s ease}.bo-planning-grid--loading{opacity:.5;pointer-events:none}.bo-planning-hint{margin:0;font-size:.8125rem;color:var(--bo-text-muted);line-height:1.5}.bo-planning-hint a{color:var(--bo-text);text-decoration:underline;text-underline-offset:2px}.bo-planning-hint-link{display:inline-flex;align-items:center;gap:4px;margin-left:6px;font-weight:600}@media (max-width: 640px){.bo-planning-toolbar{flex-direction:column;align-items:stretch}.bo-planning-month{justify-content:space-between}.bo-planning-month-label{flex:1;min-width:0;justify-content:center;font-size:.875rem}.bo-planning-views{width:100%}.bo-planning-view{flex:1}}@media (prefers-reduced-motion: reduce){.bo-planning-spinner{animation-duration:2s}}.bo-area-list{display:flex;flex-direction:column;gap:24px}.bo-area-list-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.bo-area-list-title{font-size:1.25rem;font-weight:700;margin:0;color:var(--bo-text, #e8eaf0);letter-spacing:-.02em}.bo-area-list-subtitle{font-size:.8125rem;color:var(--bo-text-muted, #8b8fa8);margin:4px 0 0}.bo-area-list-create-btn{display:inline-flex;align-items:center;gap:8px;padding:10px 20px;border:none;border-radius:10px;background:var(--bo-accent, #6366f1);color:#fff;font-size:.875rem;font-weight:600;font-family:inherit;cursor:pointer;transition:all .15s ease;white-space:nowrap}.bo-area-list-create-btn:hover{background:var(--bo-accent-hover, #4f52d3);transform:translateY(-1px)}.bo-area-list-create-btn:active{transform:translateY(0)}.bo-al-name{font-weight:600}.bo-al-shape{color:var(--bo-text-muted, #8b8fa8);text-transform:capitalize}.bo-al-dims{white-space:nowrap;font-variant-numeric:tabular-nums}.bo-al-pts{color:var(--bo-text-muted, #8b8fa8);text-align:center}.bo-area-list-error{padding:12px 16px;background:#ef444414;border:1px solid rgba(239,68,68,.2);border-radius:10px;color:#ef4444;font-size:.875rem}.bo-area-list-error p{margin:0}.bo-area-list-loading{display:flex;flex-direction:column;align-items:center;gap:16px;padding:48px 24px;color:var(--bo-text-muted, #8b8fa8);font-size:.875rem}.bo-area-list-loading p{margin:0}.bo-area-list-spinner{width:32px;height:32px;border:3px solid var(--bo-border, #2e3145);border-top-color:var(--bo-accent, #6366f1);border-radius:50%;animation:bo-spin .7s linear infinite}.bo-area-list-empty{display:flex;flex-direction:column;align-items:center;gap:12px;padding:64px 24px;background:var(--bo-surface, #1a1d27);border:1px solid var(--bo-border, #2e3145);border-radius:14px;text-align:center}.bo-area-list-empty-icon{display:flex;align-items:center;justify-content:center;width:56px;height:56px;border-radius:14px;background:#6366f11a;color:var(--bo-accent, #6366f1);margin-bottom:4px}.bo-area-list-empty-title{font-size:1rem;font-weight:600;margin:0;color:var(--bo-text, #e8eaf0)}.bo-area-list-empty-text{font-size:.8125rem;color:var(--bo-text-muted, #8b8fa8);margin:0 0 8px}@media (max-width: 768px){.bo-area-list{gap:16px}.bo-area-list-header{flex-direction:column;gap:12px}.bo-area-list-title{font-size:1.1rem}.bo-area-list-subtitle{font-size:.75rem}.bo-area-list-create-btn{width:100%;justify-content:center;padding:10px 16px;font-size:.8125rem}.bo-al-shape,.bo-al-pts{display:none}.bo-al-dims{font-size:.75rem}.bo-area-list-empty{padding:40px 20px;border-radius:12px}.bo-area-list-empty-icon{width:48px;height:48px;border-radius:12px}.bo-area-list-empty-title{font-size:.9375rem}.bo-area-list-empty-text{font-size:.75rem}}.area-canvas-container{position:relative;flex:1;min-height:480px;background:var(--bo-bg, #0f1117);border:1px solid var(--bo-border, #2e3145);border-radius:14px;overflow:hidden;cursor:crosshair}.area-canvas-mode-badge{position:absolute;bottom:12px;left:50%;transform:translate(-50%);padding:6px 16px;background:#0f1117d9;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid var(--bo-border, #2e3145);border-radius:20px;font-size:.75rem;font-weight:500;color:var(--bo-text-muted, #8b8fa8);white-space:nowrap;pointer-events:none;-webkit-user-select:none;user-select:none}.area-canvas-zoom-indicator{position:absolute;bottom:12px;left:12px;padding:4px 10px;background:#0f1117d9;border:1px solid var(--bo-border, #2e3145);border-radius:10px;font-size:.7rem;font-weight:600;color:var(--bo-text-muted, #8b8fa8);pointer-events:none;-webkit-user-select:none;user-select:none}.area-canvas-edge-input{position:absolute;transform:translate(-50%,-50%);display:flex;align-items:center;gap:4px;padding:4px 8px;background:var(--bo-surface, #1a1d27);border:1px solid var(--bo-accent, #6366f1);border-radius:8px;box-shadow:0 4px 16px #0006;z-index:5}.area-canvas-edge-input input{width:64px;padding:4px 6px;border:none;outline:none;background:var(--bo-bg, #0f1117);border-radius:6px;color:var(--bo-text, #e8eaf0);font-size:.8125rem;font-family:inherit}.area-canvas-edge-input span{font-size:.75rem;color:var(--bo-text-muted, #8b8fa8)}@media (max-width: 768px){.area-canvas-container{min-height:280px;max-height:50vh;touch-action:none;-webkit-touch-callout:none}.area-canvas-mode-badge{white-space:normal;text-align:center;max-width:85%;font-size:.7rem;padding:5px 12px}}.area-props-panel{display:flex;flex-direction:column;gap:16px;width:300px;min-width:280px;padding:24px;background:var(--bo-surface, #1a1d27);border:1px solid var(--bo-border, #2e3145);border-radius:14px;overflow-y:auto}.area-props-title{font-size:1rem;font-weight:700;margin:0;color:var(--bo-text, #e8eaf0);letter-spacing:-.02em}.area-props-subtitle{font-size:.875rem;font-weight:700;margin:0;color:var(--bo-text, #e8eaf0);letter-spacing:-.01em}.area-props-field{display:flex;flex-direction:column;gap:6px}.area-props-label{font-size:.8125rem;font-weight:600;color:var(--bo-text, #e8eaf0)}.area-props-required{color:#ef4444;margin-left:3px}.area-props-input{padding:10px 14px;border:1px solid var(--bo-border, #2e3145);border-radius:10px;background:var(--bo-bg, #0f1117);color:var(--bo-text, #e8eaf0);font-size:.875rem;font-family:inherit;outline:none;transition:border-color .15s ease,box-shadow .15s ease}.area-props-input:focus{border-color:var(--bo-accent, #6366f1);box-shadow:0 0 0 3px #6366f126}.area-props-input--short{max-width:100px}.area-props-input--tiny{max-width:64px;padding:5px 8px;font-size:.75rem}.area-props-input--error{border-color:#ef4444}.area-props-input::placeholder{color:var(--bo-text-muted, #8b8fa8);opacity:.6}.area-props-error{font-size:.75rem;color:#ef4444;margin:0}.area-props-select{cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%238b8fa8' stroke-width='2'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;padding-right:32px}.area-props-divider{height:1px;background:var(--bo-border, #2e3145)}.area-props-stats{display:flex;flex-direction:column;gap:8px}.area-props-stat{display:flex;justify-content:space-between;align-items:center}.area-props-stat-label{font-size:.8125rem;color:var(--bo-text-muted, #8b8fa8)}.area-props-stat-value{font-size:.875rem;font-weight:600;color:var(--bo-text, #e8eaf0);font-variant-numeric:tabular-nums}.area-props-tools{display:flex;flex-direction:column;gap:8px}.area-props-tool-btn{display:inline-flex;align-items:center;gap:8px;padding:9px 14px;border:1px solid var(--bo-border, #2e3145);border-radius:10px;background:var(--bo-surface-2, #242736);color:var(--bo-text, #e8eaf0);font-size:.8125rem;font-weight:500;font-family:inherit;cursor:pointer;transition:all .15s ease}.area-props-tool-btn:hover:not(:disabled){background:var(--bo-border, #2e3145)}.area-props-tool-btn:disabled{opacity:.4;cursor:not-allowed}.area-props-tool-btn--danger:hover:not(:disabled){background:#ef44441a;border-color:#ef44444d;color:#ef4444}.area-props-tool-btn--close{background:#6366f11f;border-color:#6366f14d;color:#818cf8;font-weight:600}.area-props-tool-btn--close:hover:not(:disabled){background:#6366f138;border-color:#6366f180;color:#a5b4fc}.area-props-obstacles-section{display:flex;flex-direction:column;gap:10px}.area-props-obstacle-toggle{transition:all .2s ease}.area-props-obstacle-toggle--active{background:#f59e0b26!important;border-color:#f59e0b66!important;color:#f59e0b!important}.area-props-obstacle-toggle--active:hover{background:#f59e0b40!important;border-color:#f59e0b99!important}.area-props-obstacle-list{display:flex;flex-direction:column;gap:6px;max-height:200px;overflow-y:auto;padding-right:2px}.area-props-obstacle-item{display:flex;flex-direction:column;gap:4px;padding:8px 10px;background:var(--bo-bg, #0f1117);border:1px solid var(--bo-border, #2e3145);border-radius:8px;transition:border-color .15s ease}.area-props-obstacle-item:hover{border-color:#6366f140}.area-props-obstacle-item-header{display:flex;align-items:center;gap:6px}.area-props-obstacle-item-icon{font-size:.75rem;flex-shrink:0}.area-props-obstacle-item-name{font-size:.75rem;font-weight:600;color:var(--bo-text, #e8eaf0);flex:1;min-width:0}.area-props-obstacle-item-pos{font-size:.65rem;color:var(--bo-text-muted, #8b8fa8);font-variant-numeric:tabular-nums;flex-shrink:0}.area-props-obstacle-remove-btn{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;padding:0;border:none;border-radius:6px;background:transparent;color:var(--bo-text-muted, #8b8fa8);cursor:pointer;transition:all .15s ease;flex-shrink:0}.area-props-obstacle-remove-btn:hover{background:#ef44441f;color:#ef4444}.area-props-obstacle-radius{display:flex;align-items:center;gap:6px;padding-left:20px}.area-props-obstacle-radius-label{font-size:.7rem;color:var(--bo-text-muted, #8b8fa8);white-space:nowrap}.area-props-obstacle-radius-unit{font-size:.7rem;color:var(--bo-text-muted, #8b8fa8)}.area-props-selection{display:flex;flex-direction:column;gap:10px;padding:12px;background:var(--bo-bg, #0f1117);border:1px solid rgba(99,102,241,.3);border-radius:10px}.area-props-hint{font-size:.75rem;color:var(--bo-text-muted, #8b8fa8);margin:0;line-height:1.4}.area-props-color-row{display:flex;align-items:center;gap:8px}.area-props-color-input{width:40px;height:30px;padding:2px;border:1px solid var(--bo-border, #2e3145);border-radius:8px;background:var(--bo-bg, #0f1117);cursor:pointer}.area-props-color-reset{border:none;background:transparent;color:var(--bo-text-muted, #8b8fa8);font-size:.7rem;font-family:inherit;cursor:pointer;text-decoration:underline;padding:0}.area-props-color-reset:hover{color:var(--bo-text, #e8eaf0)}.area-props-layers{display:flex;flex-direction:column;gap:8px}.area-props-layers .area-props-subtitle{display:inline-flex;align-items:center;gap:6px}.area-props-layer-list{display:flex;flex-direction:column;gap:4px;max-height:180px;overflow-y:auto}.area-props-layer-item{display:flex;align-items:center;gap:8px;padding:7px 10px;background:var(--bo-bg, #0f1117);border:1px solid var(--bo-border, #2e3145);border-radius:8px;cursor:pointer;transition:border-color .15s ease}.area-props-layer-item:hover{border-color:#6366f159}.area-props-layer-item--active{border-color:var(--bo-accent, #6366f1)}.area-props-layer-swatch{width:14px;height:14px;border-radius:4px;flex-shrink:0}.area-props-layer-name{flex:1;min-width:0;font-size:.75rem;font-weight:600;color:var(--bo-text, #e8eaf0);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.area-props-layer-actions{display:inline-flex;gap:2px;flex-shrink:0}.area-props-layer-actions button{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;padding:0;border:none;border-radius:5px;background:transparent;color:var(--bo-text-muted, #8b8fa8);cursor:pointer;transition:all .15s ease}.area-props-layer-actions button:hover{background:#6366f126;color:var(--bo-accent, #6366f1)}.area-props-spacer{flex:1}.area-props-actions{display:flex;align-items:center;gap:10px;padding-top:12px;border-top:1px solid var(--bo-border, #2e3145)}.area-props-cancel-link{padding:10px 16px;border-radius:10px;background:var(--bo-surface-2, #242736);color:var(--bo-text, #e8eaf0);text-decoration:none;font-size:.875rem;font-weight:600;border:1px solid var(--bo-border, #2e3145);transition:background .15s ease;text-align:center}.area-props-cancel-link:hover{background:var(--bo-border, #2e3145)}.area-props-save-btn{flex:1;display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:10px 20px;border:none;border-radius:10px;background:var(--bo-accent, #6366f1);color:#fff;font-size:.875rem;font-weight:600;font-family:inherit;cursor:pointer;transition:all .15s ease}.area-props-save-btn:hover:not(:disabled){background:var(--bo-accent-hover, #4f52d3);transform:translateY(-1px)}.area-props-save-btn:disabled{opacity:.6;cursor:not-allowed}@media (max-width: 768px){.area-props-panel{width:100%;min-width:unset;max-width:100%;padding:16px;gap:12px;box-sizing:border-box;border-radius:12px}.area-props-title{font-size:.9375rem}.area-props-stats{display:grid;grid-template-columns:1fr 1fr;gap:8px}.area-props-stat{padding:8px 10px;background:var(--bo-bg, #0f1117);border-radius:8px}.area-props-stat-label{font-size:.75rem}.area-props-stat-value{font-size:.8125rem}.area-props-tools{flex-direction:row;flex-wrap:wrap;gap:6px}.area-props-tool-btn{flex:1 1 calc(50% - 3px);min-width:0;justify-content:center;padding:8px 10px;font-size:.75rem}.area-props-tool-btn--close{flex:1 1 100%}.area-props-obstacles-section{gap:8px}.area-props-obstacle-list{max-height:150px}.area-props-spacer{display:none}.area-props-actions{flex-direction:column;gap:8px;padding-top:10px}.area-props-cancel-link{width:100%;text-align:center;padding:10px;box-sizing:border-box}.area-props-save-btn{width:100%;padding:12px 20px}}.zone-toolbar{display:flex;align-items:center;gap:8px;padding:8px 12px;background:var(--bo-surface, #1a1d27);border:1px solid var(--bo-border, #2e3145);border-radius:12px}.zone-toolbar-group{display:flex;align-items:center;gap:4px}.zone-toolbar-sep{width:1px;height:22px;background:var(--bo-border, #2e3145);flex-shrink:0}.zone-toolbar-btn{display:inline-flex;align-items:center;gap:6px;padding:7px 10px;border:1px solid transparent;border-radius:8px;background:transparent;color:var(--bo-text-muted, #8b8fa8);font-size:.75rem;font-weight:600;font-family:inherit;cursor:pointer;transition:background .15s ease,color .15s ease;white-space:nowrap}.zone-toolbar-btn:hover:not(:disabled){background:#6366f11a;color:var(--bo-text, #e8eaf0)}.zone-toolbar-btn:disabled{opacity:.35;cursor:not-allowed}.zone-toolbar-btn--active{background:#6366f126;border-color:#6366f166;color:var(--bo-accent, #6366f1)}@media (max-width: 768px){.zone-toolbar{overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none;padding:6px 8px}.zone-toolbar::-webkit-scrollbar{display:none}.zone-toolbar-btn{padding:9px}.zone-toolbar-btn-label{display:none}}.area-create-page,.area-edit-page{display:flex;flex-direction:column;gap:16px;height:calc(100vh - 120px);min-height:540px}.area-create-layout,.area-edit-layout{display:flex;gap:16px;flex:1;min-height:0}.area-create-error,.area-edit-error{display:flex;align-items:center;gap:10px;padding:12px 16px;background:#ef444414;border:1px solid rgba(239,68,68,.2);border-radius:10px;color:#ef4444;font-size:.875rem}.area-create-error p,.area-edit-error p{margin:0}.area-edit-loading{display:flex;flex-direction:column;align-items:center;gap:16px;padding:64px 24px;color:var(--bo-text-muted, #8b8fa8);font-size:.875rem}.area-edit-loading p{margin:0}.area-edit-spinner{width:32px;height:32px;border:3px solid var(--bo-border, #2e3145);border-top-color:var(--bo-accent, #6366f1);border-radius:50%;animation:bo-spin .7s linear infinite}.area-edit-notfound{display:flex;flex-direction:column;align-items:center;gap:12px;padding:64px 24px;background:var(--bo-surface, #1a1d27);border:1px solid var(--bo-border, #2e3145);border-radius:14px;text-align:center}.area-edit-notfound-icon{display:flex;align-items:center;justify-content:center;width:56px;height:56px;border-radius:14px;background:#ef44441a;color:#ef4444;margin-bottom:4px}.area-edit-notfound-title{font-size:1rem;font-weight:600;margin:0;color:var(--bo-text, #e8eaf0)}.area-edit-notfound-text{font-size:.8125rem;color:var(--bo-text-muted, #8b8fa8);margin:0 0 8px}.area-edit-back-link{display:inline-flex;align-items:center;gap:6px;font-size:.8125rem;font-weight:500;color:var(--bo-text-muted, #8b8fa8);text-decoration:none;transition:color .15s ease}.area-edit-back-link:hover{color:var(--bo-accent, #6366f1)}@media (max-width: 768px){.area-create-page,.area-edit-page{height:auto;min-height:unset;overflow-x:hidden;max-width:100%}.area-create-layout,.area-edit-layout{flex-direction:column;gap:12px}}.bo-entity-list{display:flex;flex-direction:column;gap:24px}.bo-entity-list-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.bo-entity-list-title{font-size:1.25rem;font-weight:700;margin:0;color:var(--bo-text, #e8eaf0);letter-spacing:-.02em}.bo-entity-list-subtitle{font-size:.8125rem;color:var(--bo-text-muted, #8b8fa8);margin:4px 0 0}.bo-entity-list-create-btn{display:inline-flex;align-items:center;gap:8px;padding:10px 20px;border:none;border-radius:10px;background:var(--bo-accent, #6366f1);color:#fff;font-size:.875rem;font-weight:600;font-family:inherit;cursor:pointer;transition:all .15s ease;white-space:nowrap}.bo-entity-list-create-btn:hover{background:var(--bo-accent-hover, #4f52d3);transform:translateY(-1px)}.bo-entity-list-create-btn:active{transform:translateY(0)}.bo-ent-name{font-weight:600}.bo-ent-address{color:var(--bo-text-muted, #8b8fa8)}.bo-ent-zip{font-variant-numeric:tabular-nums}.bo-ent-city{font-weight:500}.bo-entity-list-error{padding:12px 16px;background:#ef444414;border:1px solid rgba(239,68,68,.2);border-radius:10px;color:#ef4444;font-size:.875rem}.bo-entity-list-error p{margin:0}.bo-entity-list-loading{display:flex;flex-direction:column;align-items:center;gap:16px;padding:48px 24px;color:var(--bo-text-muted, #8b8fa8);font-size:.875rem}.bo-entity-list-loading p{margin:0}.bo-entity-list-spinner{width:32px;height:32px;border:3px solid var(--bo-border, #2e3145);border-top-color:var(--bo-accent, #6366f1);border-radius:50%;animation:bo-spin .7s linear infinite}.bo-entity-list-empty{display:flex;flex-direction:column;align-items:center;gap:12px;padding:64px 24px;background:var(--bo-surface, #1a1d27);border:1px solid var(--bo-border, #2e3145);border-radius:14px;text-align:center}.bo-entity-list-empty-icon{display:flex;align-items:center;justify-content:center;width:56px;height:56px;border-radius:14px;background:#6366f11a;color:var(--bo-accent, #6366f1);margin-bottom:4px}.bo-entity-list-empty-title{font-size:1rem;font-weight:600;margin:0;color:var(--bo-text, #e8eaf0)}.bo-entity-list-empty-text{font-size:.8125rem;color:var(--bo-text-muted, #8b8fa8);margin:0 0 8px}@media (max-width: 768px){.bo-entity-list{gap:16px}.bo-entity-list-header{flex-direction:column;gap:12px}.bo-entity-list-title{font-size:1.1rem}.bo-entity-list-subtitle{font-size:.75rem}.bo-entity-list-create-btn{width:100%;justify-content:center;padding:10px 16px;font-size:.8125rem}.bo-ent-address{display:none}.bo-entity-list-empty{padding:40px 20px;border-radius:12px}.bo-entity-list-empty-icon{width:48px;height:48px;border-radius:12px}.bo-entity-list-empty-title{font-size:.9375rem}.bo-entity-list-empty-text{font-size:.75rem}}.bo-entity-form{max-width:640px}.bo-entity-form-header{margin-bottom:24px}.bo-entity-form-back-link{display:inline-flex;align-items:center;gap:6px;color:var(--bo-text-muted, #8b8fa8);text-decoration:none;font-size:.85rem;font-weight:500;margin-bottom:12px;transition:color .15s ease}.bo-entity-form-back-link:hover{color:var(--bo-accent, #6366f1)}.bo-entity-form-title{font-size:1.5rem;font-weight:700;margin:0 0 4px;color:var(--bo-text, #e8eaf0)}.bo-entity-form-subtitle{margin:0;font-size:.875rem;color:var(--bo-text-muted, #8b8fa8)}.bo-entity-form-error{display:flex;align-items:center;gap:8px;padding:12px 16px;background:#ef44441a;border:1px solid rgba(239,68,68,.25);border-radius:8px;color:#ef4444;margin-bottom:16px;font-size:.875rem}.bo-entity-form-card{background:var(--bo-surface, #1a1d27);border:1px solid var(--bo-border, #2e3145);border-radius:12px;padding:24px}.bo-entity-form-fields{display:flex;flex-direction:column;gap:16px;margin-bottom:24px}.bo-entity-form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}.bo-entity-form-actions{display:flex;justify-content:flex-end;gap:12px;padding-top:16px;border-top:1px solid var(--bo-border, #2e3145)}.bo-entity-form-btn{display:inline-flex;align-items:center;gap:8px;padding:10px 20px;border:none;border-radius:8px;font-size:.875rem;font-weight:600;font-family:inherit;cursor:pointer;transition:all .15s ease}.bo-entity-form-btn--cancel{background:var(--bo-surface-2, #242736);color:var(--bo-text-muted, #8b8fa8)}.bo-entity-form-btn--cancel:hover{background:var(--bo-border, #2e3145);color:var(--bo-text, #e8eaf0)}.bo-entity-form-btn--submit{background:linear-gradient(135deg,var(--bo-accent, #6366f1),#7c3aed);color:#fff}.bo-entity-form-btn--submit:hover{transform:translateY(-1px);box-shadow:0 4px 16px #6366f166}.bo-entity-form-btn:disabled{opacity:.6;cursor:not-allowed;transform:none}.bo-entity-form-loading,.bo-entity-form-notfound{text-align:center;padding:64px 24px;color:var(--bo-text-muted, #8b8fa8)}.bo-entity-form-spinner{width:32px;height:32px;border:3px solid var(--bo-border, #2e3145);border-top-color:var(--bo-accent, #6366f1);border-radius:50%;animation:entityFormSpin .8s linear infinite;margin:0 auto 16px}@keyframes entityFormSpin{to{transform:rotate(360deg)}}.bo-entity-form-notfound-icon{display:inline-flex;align-items:center;justify-content:center;width:56px;height:56px;background:#ef44441a;border-radius:14px;color:#ef4444;margin-bottom:16px}.bo-entity-form-notfound-title{font-size:1.125rem;font-weight:600;margin:0 0 8px;color:var(--bo-text, #e8eaf0)}.bo-entity-form-notfound-text{font-size:.875rem;margin:0 0 20px}@media (max-width: 600px){.bo-entity-form-row{grid-template-columns:1fr}}.bo-admin-list{display:flex;flex-direction:column;gap:24px}.bo-admin-list-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.bo-admin-list-title{font-size:1.25rem;font-weight:700;margin:0;color:var(--bo-text, #e8eaf0);letter-spacing:-.02em}.bo-admin-list-subtitle{font-size:.8125rem;color:var(--bo-text-muted, #8b8fa8);margin:4px 0 0}.bo-admin-list-create-btn{display:inline-flex;align-items:center;gap:8px;padding:10px 20px;border:none;border-radius:10px;background:var(--bo-accent, #6366f1);color:#fff;font-size:.875rem;font-weight:600;font-family:inherit;cursor:pointer;transition:all .15s ease;white-space:nowrap}.bo-admin-list-create-btn:hover{background:var(--bo-accent-hover, #4f52d3);transform:translateY(-1px)}.bo-admin-list-create-btn:active{transform:translateY(0)}.bo-adm-name{font-weight:600}.bo-adm-email{color:var(--bo-text-muted, #8b8fa8)}.bo-adm-role-badge{display:inline-block;padding:3px 10px;border-radius:6px;font-size:.75rem;font-weight:600;background:#6366f11a;color:var(--bo-accent, #6366f1)}.bo-adm-role-badge--super{background:#f59e0b1f;color:#f59e0b}.bo-adm-entity-tags{display:flex;flex-wrap:wrap;gap:4px}.bo-adm-entity-tag{display:inline-block;padding:2px 8px;border-radius:4px;font-size:.75rem;font-weight:500;background:var(--bo-surface-2, #242736);color:var(--bo-text, #e8eaf0)}.bo-adm-no-entity{color:var(--bo-text-muted, #8b8fa8);opacity:.5}.bo-admin-list-error{padding:12px 16px;background:#ef444414;border:1px solid rgba(239,68,68,.2);border-radius:10px;color:#ef4444;font-size:.875rem}.bo-admin-list-error p{margin:0}.bo-admin-list-loading{display:flex;flex-direction:column;align-items:center;gap:16px;padding:48px 24px;color:var(--bo-text-muted, #8b8fa8);font-size:.875rem}.bo-admin-list-loading p{margin:0}.bo-admin-list-spinner{width:32px;height:32px;border:3px solid var(--bo-border, #2e3145);border-top-color:var(--bo-accent, #6366f1);border-radius:50%;animation:bo-spin .7s linear infinite}.bo-admin-list-empty{display:flex;flex-direction:column;align-items:center;gap:12px;padding:64px 24px;background:var(--bo-surface, #1a1d27);border:1px solid var(--bo-border, #2e3145);border-radius:14px;text-align:center}.bo-admin-list-empty-icon{display:flex;align-items:center;justify-content:center;width:56px;height:56px;border-radius:14px;background:#6366f11a;color:var(--bo-accent, #6366f1);margin-bottom:4px}.bo-admin-list-empty-title{font-size:1rem;font-weight:600;margin:0;color:var(--bo-text, #e8eaf0)}.bo-admin-list-empty-text{font-size:.8125rem;color:var(--bo-text-muted, #8b8fa8);margin:0 0 8px}@media (max-width: 768px){.bo-admin-list{gap:16px}.bo-admin-list-header{flex-direction:column;gap:12px}.bo-admin-list-title{font-size:1.1rem}.bo-admin-list-subtitle{font-size:.75rem}.bo-admin-list-create-btn{width:100%;justify-content:center;padding:10px 16px;font-size:.8125rem}.bo-adm-email,.bo-adm-entities{display:none}.bo-adm-role-badge{font-size:.7rem;padding:2px 8px}.bo-adm-entity-tag{font-size:.7rem;padding:2px 6px}.bo-admin-list-empty{padding:40px 20px;border-radius:12px}.bo-admin-list-empty-icon{width:48px;height:48px;border-radius:12px}.bo-admin-list-empty-title{font-size:.9375rem}.bo-admin-list-empty-text{font-size:.75rem}}.bo-multiselect{position:relative}.bo-multiselect-trigger{display:flex;align-items:center;justify-content:space-between;gap:8px;width:100%;min-height:42px;padding:6px 12px;background:var(--bo-bg, #0f1117);border:1px solid var(--bo-border, #2e3145);border-radius:8px;color:var(--bo-text, #e8eaf0);font-size:.875rem;font-family:inherit;cursor:pointer;transition:border-color .15s ease;text-align:left}.bo-multiselect-trigger:hover{border-color:#6366f166}.bo-multiselect-trigger--open{border-color:var(--bo-accent, #6366f1)}.bo-multiselect-placeholder{color:var(--bo-text-muted, #8b8fa8)}.bo-multiselect-chevron{flex-shrink:0;color:var(--bo-text-muted, #8b8fa8);transition:transform .2s ease}.bo-multiselect-chevron--open{transform:rotate(180deg)}.bo-multiselect-tags{display:flex;flex-wrap:wrap;gap:4px;flex:1}.bo-multiselect-tag{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;background:#6366f11f;border:1px solid rgba(99,102,241,.2);border-radius:5px;font-size:.78rem;font-weight:500;color:var(--bo-accent, #6366f1);line-height:1.4}.bo-multiselect-tag-label{max-width:140px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.bo-multiselect-tag-remove{display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;padding:0;border:none;border-radius:3px;background:none;color:var(--bo-accent, #6366f1);cursor:pointer;opacity:.6;transition:opacity .15s ease}.bo-multiselect-tag-remove:hover{opacity:1;background:#6366f126}.bo-multiselect-dropdown{position:absolute;top:calc(100% + 4px);left:0;right:0;background:var(--bo-surface, #1a1d27);border:1px solid var(--bo-border, #2e3145);border-radius:10px;box-shadow:0 8px 28px #0000004d;z-index:100;overflow:hidden;animation:msDropdownIn .15s ease}@keyframes msDropdownIn{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.bo-multiselect-search{display:flex;align-items:center;gap:8px;padding:8px 12px;border-bottom:1px solid var(--bo-border, #2e3145)}.bo-multiselect-search-icon{flex-shrink:0;color:var(--bo-text-muted, #8b8fa8)}.bo-multiselect-search-input{flex:1;border:none;background:none;color:var(--bo-text, #e8eaf0);font-size:.85rem;font-family:inherit;outline:none}.bo-multiselect-search-input::placeholder{color:var(--bo-text-muted, #8b8fa8)}.bo-multiselect-options{max-height:220px;overflow-y:auto;padding:4px}.bo-multiselect-option{display:flex;align-items:center;gap:10px;width:100%;padding:8px 10px;border:none;border-radius:6px;background:none;color:var(--bo-text, #e8eaf0);font-size:.85rem;font-family:inherit;cursor:pointer;text-align:left;transition:background .12s ease}.bo-multiselect-option:hover{background:var(--bo-surface-2, #242736)}.bo-multiselect-option--selected{background:#6366f114}.bo-multiselect-option-checkbox{width:18px;height:18px;border:2px solid var(--bo-border, #2e3145);border-radius:4px;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:all .15s ease}.bo-multiselect-option--selected .bo-multiselect-option-checkbox{background:var(--bo-accent, #6366f1);border-color:var(--bo-accent, #6366f1);color:#fff}.bo-multiselect-option-text{display:flex;flex-direction:column;min-width:0}.bo-multiselect-option-label{font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.bo-multiselect-option-subtitle{font-size:.75rem;color:var(--bo-text-muted, #8b8fa8);margin-top:1px}.bo-multiselect-empty{padding:16px;text-align:center;font-size:.85rem;color:var(--bo-text-muted, #8b8fa8)}.bo-multiselect-options::-webkit-scrollbar{width:6px}.bo-multiselect-options::-webkit-scrollbar-track{background:transparent}.bo-multiselect-options::-webkit-scrollbar-thumb{background:var(--bo-border, #2e3145);border-radius:3px}.bo-admin-form{max-width:640px}.bo-admin-form-header{margin-bottom:24px}.bo-admin-form-back-link{display:inline-flex;align-items:center;gap:6px;color:var(--bo-text-muted, #8b8fa8);text-decoration:none;font-size:.85rem;font-weight:500;margin-bottom:12px;transition:color .15s ease}.bo-admin-form-back-link:hover{color:var(--bo-accent, #6366f1)}.bo-admin-form-title{font-size:1.5rem;font-weight:700;margin:0 0 4px;color:var(--bo-text, #e8eaf0)}.bo-admin-form-subtitle{margin:0;font-size:.875rem;color:var(--bo-text-muted, #8b8fa8)}.bo-admin-form-error{display:flex;align-items:center;gap:8px;padding:12px 16px;background:#ef44441a;border:1px solid rgba(239,68,68,.25);border-radius:8px;color:#ef4444;margin-bottom:16px;font-size:.875rem}.bo-admin-form-card{background:var(--bo-surface, #1a1d27);border:1px solid var(--bo-border, #2e3145);border-radius:12px;padding:24px}.bo-admin-form-fields{display:flex;flex-direction:column;gap:16px;margin-bottom:24px}.bo-admin-form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}.bo-admin-form-select{width:100%;padding:10px 12px;background:var(--bo-bg, #0f1117);border:1px solid var(--bo-border, #2e3145);border-radius:8px;color:var(--bo-text, #e8eaf0);font-size:.875rem;font-family:inherit;cursor:pointer;transition:border-color .15s ease}.bo-admin-form-select:focus{outline:none;border-color:var(--bo-accent, #6366f1)}.bo-admin-form-entities{margin-top:4px}.bo-admin-form-no-entities{font-size:.85rem;color:var(--bo-text-muted, #8b8fa8);margin:8px 0 0}.bo-admin-form-entity-grid{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}.bo-admin-form-entity-chip{display:flex;align-items:center;gap:6px;padding:8px 14px;border:1px solid var(--bo-border, #2e3145);border-radius:8px;background:var(--bo-bg, #0f1117);color:var(--bo-text-muted, #8b8fa8);font-size:.85rem;font-family:inherit;cursor:pointer;transition:all .15s ease}.bo-admin-form-entity-chip:hover{border-color:#6366f166;color:var(--bo-text, #e8eaf0)}.bo-admin-form-entity-chip--active{background:#6366f11a;border-color:var(--bo-accent, #6366f1);color:var(--bo-accent, #6366f1)}.bo-admin-form-entity-chip-name{font-weight:600}.bo-admin-form-entity-chip-city{font-size:.75rem;opacity:.7}.bo-admin-form-actions{display:flex;justify-content:flex-end;gap:12px;padding-top:16px;border-top:1px solid var(--bo-border, #2e3145)}.bo-admin-form-btn{display:inline-flex;align-items:center;gap:8px;padding:10px 20px;border:none;border-radius:8px;font-size:.875rem;font-weight:600;font-family:inherit;cursor:pointer;transition:all .15s ease}.bo-admin-form-btn--cancel{background:var(--bo-surface-2, #242736);color:var(--bo-text-muted, #8b8fa8)}.bo-admin-form-btn--cancel:hover{background:var(--bo-border, #2e3145);color:var(--bo-text, #e8eaf0)}.bo-admin-form-btn--submit{background:linear-gradient(135deg,var(--bo-accent, #6366f1),#7c3aed);color:#fff}.bo-admin-form-btn--submit:hover{transform:translateY(-1px);box-shadow:0 4px 16px #6366f166}.bo-admin-form-btn:disabled{opacity:.6;cursor:not-allowed;transform:none}.bo-admin-form-loading,.bo-admin-form-notfound{text-align:center;padding:64px 24px;color:var(--bo-text-muted, #8b8fa8)}.bo-admin-form-spinner{width:32px;height:32px;border:3px solid var(--bo-border, #2e3145);border-top-color:var(--bo-accent, #6366f1);border-radius:50%;animation:adminFormSpin .8s linear infinite;margin:0 auto 16px}@keyframes adminFormSpin{to{transform:rotate(360deg)}}.bo-admin-form-notfound-icon{display:inline-flex;align-items:center;justify-content:center;width:56px;height:56px;background:#ef44441a;border-radius:14px;color:#ef4444;margin-bottom:16px}.bo-admin-form-notfound-title{font-size:1.125rem;font-weight:600;margin:0 0 8px;color:var(--bo-text, #e8eaf0)}.bo-admin-form-notfound-text{font-size:.875rem;margin:0 0 20px}@media (max-width: 600px){.bo-admin-form-row{grid-template-columns:1fr}}.bo-setpwd-page{--bo-bg: #0f1117;--bo-surface: #1a1d27;--bo-surface-2: #242736;--bo-border: #2e3145;--bo-accent: #6366f1;--bo-accent-hover: #4f52d3;--bo-text: #e8eaf0;--bo-text-muted: #8b8fa8;min-height:100vh;display:flex;align-items:center;justify-content:center;background:var(--bo-bg);font-family:var(--font-family-ui, "Inter", system-ui, sans-serif);position:relative;overflow:hidden}.bo-setpwd-bg-shape{position:absolute;border-radius:50%;filter:blur(120px);opacity:.15;pointer-events:none;animation:bo-setpwd-float 20s ease-in-out infinite}.bo-setpwd-bg-shape-1{width:600px;height:600px;background:#6366f1;top:-200px;right:-100px;animation-delay:0s}.bo-setpwd-bg-shape-2{width:500px;height:500px;background:#a855f7;bottom:-150px;left:-100px;animation-delay:-7s}.bo-setpwd-bg-shape-3{width:300px;height:300px;background:#3b82f6;top:50%;left:50%;transform:translate(-50%,-50%);animation-delay:-14s}@keyframes bo-setpwd-float{0%,to{transform:translate(0) scale(1)}33%{transform:translate(30px,-30px) scale(1.05)}66%{transform:translate(-20px,20px) scale(.95)}}.bo-setpwd-card{width:100%;max-width:420px;margin:20px;padding:48px 40px;background:#1a1d27b3;backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);border:1px solid var(--bo-border);border-radius:20px;box-shadow:0 0 0 1px #ffffff08,0 24px 80px #00000080;z-index:1}.bo-setpwd-logo{text-align:center;margin-bottom:40px}.bo-setpwd-logo-icon{margin-bottom:16px}.bo-setpwd-title{font-size:1.85rem;font-weight:600;color:var(--bo-text);margin:0 0 4px;letter-spacing:-.02em}.bo-setpwd-subtitle{font-size:.875rem;color:var(--bo-text-muted);margin:0}.bo-setpwd-email-badge{display:flex;flex-direction:column;gap:2px;padding:12px 16px;background:var(--bo-surface-2);border:1px solid var(--bo-border);border-radius:10px;margin-bottom:4px}.bo-setpwd-email-label{font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--bo-text-muted)}.bo-setpwd-email-value{font-size:.9rem;font-weight:500;color:var(--bo-accent)}.bo-setpwd-form{display:flex;flex-direction:column;gap:20px}.bo-setpwd-field{display:flex;flex-direction:column;gap:6px}.bo-setpwd-label{font-size:.8125rem;font-weight:500;color:var(--bo-text-muted);padding-left:2px}.bo-setpwd-input-wrapper{position:relative;display:flex;align-items:center}.bo-setpwd-input-icon{position:absolute;left:14px;color:var(--bo-text-muted);pointer-events:none;transition:color .2s}.bo-setpwd-input{width:100%;padding:14px 14px 14px 44px;background:var(--bo-surface-2);border:1px solid var(--bo-border);border-radius:12px;color:var(--bo-text);font-size:.9375rem;font-family:inherit;outline:none;transition:border-color .2s,box-shadow .2s}.bo-setpwd-input::placeholder{color:var(--bo-text-muted);opacity:.5}.bo-setpwd-input:focus{border-color:var(--bo-accent);box-shadow:0 0 0 3px #6366f126}.bo-setpwd-input-wrapper:focus-within .bo-setpwd-input-icon{color:var(--bo-accent)}.bo-setpwd-rules{display:flex;flex-wrap:wrap;gap:6px;padding:0;margin:-2px 0 0;list-style:none}.bo-setpwd-rule{display:flex;align-items:center;gap:4px;font-size:.75rem;color:var(--bo-text-muted);opacity:.7;transition:color .2s,opacity .2s}.bo-setpwd-rule.bo-setpwd-rule--pass{color:#22c55e;opacity:1}.bo-setpwd-rule.bo-setpwd-rule--fail{color:#f87171;opacity:1}.bo-setpwd-error{display:flex;align-items:center;gap:8px;font-size:.8375rem;color:#f87171;background:#f871711a;border:1px solid rgba(248,113,113,.25);border-radius:8px;padding:10px 14px;margin-top:-4px}.bo-setpwd-btn{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;padding:14px 24px;margin-top:8px;background:linear-gradient(135deg,var(--bo-accent),#7c3aed);color:#fff;border:none;border-radius:12px;font-size:1rem;font-weight:600;font-family:inherit;cursor:pointer;transition:transform .2s,box-shadow .2s,filter .2s;box-shadow:0 4px 24px #6366f14d;text-decoration:none}.bo-setpwd-btn:hover{transform:translateY(-2px);box-shadow:0 8px 32px #6366f166;filter:brightness(1.1)}.bo-setpwd-btn:active{transform:translateY(0);box-shadow:0 2px 12px #6366f14d}.bo-setpwd-btn:disabled{opacity:.65;cursor:not-allowed}.bo-setpwd-success{text-align:center;display:flex;flex-direction:column;align-items:center;gap:12px}.bo-setpwd-success-icon{display:inline-flex;align-items:center;justify-content:center;width:64px;height:64px;background:#22c55e1a;border-radius:50%;color:#22c55e;margin-bottom:4px}.bo-setpwd-success-title{font-size:1.25rem;font-weight:700;color:var(--bo-text);margin:0}.bo-setpwd-success-text{font-size:.875rem;color:var(--bo-text-muted);margin:0 0 8px;line-height:1.5}.bo-setpwd-footer{text-align:center;margin:32px 0 0;font-size:.75rem;color:var(--bo-text-muted);opacity:.5}.bo-setpwd-step-animate{animation:bo-setpwd-step-in .35s ease-out}@keyframes bo-setpwd-step-in{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@media (max-width: 480px){.bo-setpwd-card{padding:32px 24px;margin:16px}.bo-setpwd-title{font-size:1.5rem}}.bo-room-list{display:flex;flex-direction:column;gap:24px}.bo-room-list-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.bo-room-list-title{font-size:1.25rem;font-weight:700;margin:0;color:var(--bo-text, #e8eaf0);letter-spacing:-.02em}.bo-room-list-subtitle{font-size:.8125rem;color:var(--bo-text-muted, #8b8fa8);margin:4px 0 0}.bo-room-list-create-btn{display:inline-flex;align-items:center;gap:8px;padding:10px 20px;border:none;border-radius:10px;background:var(--bo-accent, #6366f1);color:#fff;font-size:.875rem;font-weight:600;font-family:inherit;cursor:pointer;transition:all .15s ease;white-space:nowrap}.bo-room-list-create-btn:hover{background:var(--bo-accent-hover, #4f52d3);transform:translateY(-1px)}.bo-room-list-create-btn:active{transform:translateY(0)}.bo-rl-name{font-weight:600}.bo-rl-building,.bo-rl-floor{color:var(--bo-text-muted, #8b8fa8)}.bo-rl-capacity{white-space:nowrap;font-variant-numeric:tabular-nums}.bo-rl-beds{font-size:.8125rem;color:var(--bo-text-muted, #8b8fa8)}.bo-rl-linens,.bo-rl-bath,.bo-rl-pmr{text-align:center}.bo-room-list-error{padding:12px 16px;background:#ef444414;border:1px solid rgba(239,68,68,.2);border-radius:10px;color:#ef4444;font-size:.875rem}.bo-room-list-error p{margin:0}.bo-room-list-loading{display:flex;flex-direction:column;align-items:center;gap:16px;padding:48px 24px;color:var(--bo-text-muted, #8b8fa8);font-size:.875rem}.bo-room-list-loading p{margin:0}.bo-room-list-spinner{width:32px;height:32px;border:3px solid var(--bo-border, #2e3145);border-top-color:var(--bo-accent, #6366f1);border-radius:50%;animation:bo-spin .7s linear infinite}.bo-room-list-empty{display:flex;flex-direction:column;align-items:center;gap:12px;padding:64px 24px;background:var(--bo-surface, #1a1d27);border:1px solid var(--bo-border, #2e3145);border-radius:14px;text-align:center}.bo-room-list-empty-icon{display:flex;align-items:center;justify-content:center;width:56px;height:56px;border-radius:14px;background:#6366f11a;color:var(--bo-accent, #6366f1);margin-bottom:4px}.bo-room-list-empty-title{font-size:1rem;font-weight:600;margin:0;color:var(--bo-text, #e8eaf0)}.bo-room-list-empty-text{font-size:.8125rem;color:var(--bo-text-muted, #8b8fa8);margin:0 0 8px}@media (max-width: 768px){.bo-room-list{gap:16px}.bo-room-list-header{flex-direction:column;gap:12px}.bo-room-list-title{font-size:1.1rem}.bo-room-list-subtitle{font-size:.75rem}.bo-room-list-create-btn{width:100%;justify-content:center;padding:10px 16px;font-size:.8125rem}.bo-rl-building,.bo-rl-floor,.bo-rl-beds,.bo-rl-bath,.bo-rl-pmr{display:none}.bo-room-list-empty{padding:40px 20px;border-radius:12px}.bo-room-list-empty-icon{width:48px;height:48px;border-radius:12px}.bo-room-list-empty-title{font-size:.9375rem}.bo-room-list-empty-text{font-size:.75rem}}.bo-room-form{max-width:720px}.bo-room-form-header{margin-bottom:24px}.bo-room-form-back-link{display:inline-flex;align-items:center;gap:6px;color:var(--bo-text-muted, #8b8fa8);text-decoration:none;font-size:.85rem;font-weight:500;margin-bottom:12px;transition:color .15s ease}.bo-room-form-back-link:hover{color:var(--bo-accent, #6366f1)}.bo-room-form-title{font-size:1.5rem;font-weight:700;margin:0 0 4px;color:var(--bo-text, #e8eaf0)}.bo-room-form-subtitle{margin:0;font-size:.875rem;color:var(--bo-text-muted, #8b8fa8)}.bo-room-form-error{display:flex;align-items:center;gap:8px;padding:12px 16px;background:#ef44441a;border:1px solid rgba(239,68,68,.25);border-radius:8px;color:#ef4444;margin-bottom:16px;font-size:.875rem}.bo-room-form-card{background:var(--bo-surface, #1a1d27);border:1px solid var(--bo-border, #2e3145);border-radius:12px;padding:24px}.bo-room-form-fields{display:flex;flex-direction:column;gap:16px;margin-bottom:24px}.bo-room-form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}.bo-room-form-section{display:flex;flex-direction:column;gap:12px}.bo-room-form-capacity-badge{display:inline-flex;align-items:center;margin-left:10px;padding:2px 10px;border-radius:20px;background:#6366f11f;color:var(--bo-accent, #6366f1);font-size:.75rem;font-weight:600}.bo-room-form-beds{display:flex;flex-direction:column;gap:8px}.bo-room-form-bed-row{display:flex;flex-direction:column;gap:6px;padding:10px 14px;background:var(--bo-surface-2, #242736);border-radius:8px;border:1px solid var(--bo-border, #2e3145)}.bo-room-form-bed-main{display:flex;align-items:center;justify-content:space-between}.bo-room-form-bed-label{font-size:.875rem;font-weight:500;color:var(--bo-text, #e8eaf0)}.bo-room-form-bed-controls{display:flex;align-items:center;gap:10px}.bo-room-form-bed-btn{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border:1px solid var(--bo-border, #2e3145);border-radius:6px;background:var(--bo-surface, #1a1d27);color:var(--bo-text, #e8eaf0);cursor:pointer;transition:all .15s ease}.bo-room-form-bed-btn:hover:not(:disabled){background:var(--bo-accent, #6366f1);border-color:var(--bo-accent, #6366f1);color:#fff}.bo-room-form-bed-btn:disabled{opacity:.3;cursor:not-allowed}.bo-room-form-bed-count{min-width:28px;text-align:center;font-size:.875rem;font-weight:600;font-variant-numeric:tabular-nums;color:var(--bo-text, #e8eaf0)}.bo-room-form-bed-configs{display:flex;flex-direction:column;gap:6px;padding-left:12px;border-left:2px solid var(--bo-border, #2e3145);margin-left:8px}.bo-room-form-bed-config{display:flex;align-items:center;gap:8px;font-size:.8125rem;color:var(--bo-text-muted, #8b8fa8)}.bo-room-form-bed-config-label{min-width:100px}.bo-room-form-bed-capacity-input{width:56px;padding:4px 8px;border:1px solid var(--bo-border, #2e3145);border-radius:6px;background:var(--bo-surface, #1a1d27);color:var(--bo-text, #e8eaf0);font-size:.8125rem;text-align:center;font-family:inherit}.bo-room-form-bed-capacity-input:focus{outline:none;border-color:var(--bo-accent, #6366f1)}.bo-room-form-bed-config-suffix{font-size:.75rem}.bo-room-form-options{display:flex;flex-wrap:wrap;gap:16px}.bo-room-form-checkbox-label{display:flex;align-items:center;gap:8px;font-size:.875rem;color:var(--bo-text, #e8eaf0);cursor:pointer}.bo-room-form-checkbox-label input[type=checkbox]{accent-color:var(--bo-accent, #6366f1)}.bo-room-form-radio-group{display:flex;flex-direction:column;gap:8px}.bo-room-form-radio-label{display:flex;align-items:center;gap:8px;font-size:.875rem;color:var(--bo-text, #e8eaf0);cursor:pointer}.bo-room-form-radio-label input[type=radio]{accent-color:var(--bo-accent, #6366f1)}.bo-room-form-actions{display:flex;justify-content:flex-end;gap:12px;padding-top:16px;border-top:1px solid var(--bo-border, #2e3145)}.bo-room-form-btn{display:inline-flex;align-items:center;gap:8px;padding:10px 20px;border:none;border-radius:8px;font-size:.875rem;font-weight:600;font-family:inherit;cursor:pointer;transition:all .15s ease}.bo-room-form-btn--cancel{background:var(--bo-surface-2, #242736);color:var(--bo-text-muted, #8b8fa8)}.bo-room-form-btn--cancel:hover{background:var(--bo-border, #2e3145);color:var(--bo-text, #e8eaf0)}.bo-room-form-btn--submit{background:linear-gradient(135deg,var(--bo-accent, #6366f1),#7c3aed);color:#fff}.bo-room-form-btn--submit:hover{transform:translateY(-1px);box-shadow:0 4px 16px #6366f166}.bo-room-form-btn:disabled{opacity:.6;cursor:not-allowed;transform:none}.bo-room-form-loading,.bo-room-form-notfound{text-align:center;padding:64px 24px;color:var(--bo-text-muted, #8b8fa8)}.bo-room-form-spinner{width:32px;height:32px;border:3px solid var(--bo-border, #2e3145);border-top-color:var(--bo-accent, #6366f1);border-radius:50%;animation:roomFormSpin .8s linear infinite;margin:0 auto 16px}@keyframes roomFormSpin{to{transform:rotate(360deg)}}.bo-room-form-notfound-icon{display:inline-flex;align-items:center;justify-content:center;width:56px;height:56px;background:#ef44441a;border-radius:14px;color:#ef4444;margin-bottom:16px}.bo-room-form-notfound-title{font-size:1.125rem;font-weight:600;margin:0 0 8px;color:var(--bo-text, #e8eaf0)}.bo-room-form-notfound-text{font-size:.875rem;margin:0 0 20px}@media (max-width: 600px){.bo-room-form-row{grid-template-columns:1fr}.bo-room-form-card{padding:16px;border-radius:10px}.bo-room-form-title{font-size:1.25rem}.bo-room-form-subtitle{font-size:.8125rem}.bo-room-form-actions{flex-direction:column}.bo-room-form-btn{width:100%;justify-content:center}.bo-room-form-bed-row{padding:10px 12px}.bo-room-form-bed-main{flex-wrap:wrap;gap:8px}.bo-room-form-bed-label{font-size:.8125rem}.bo-room-form-bed-configs{padding-left:8px;margin-left:4px}.bo-room-form-bed-config-label{min-width:80px;font-size:.75rem}.bo-room-form-options{flex-direction:column;gap:10px}.bo-room-form-radio-group{gap:6px}.bo-room-form-section-title{font-size:.8125rem}.bo-room-form-capacity-badge{margin-left:6px;font-size:.6875rem;padding:2px 8px}}.bo-cz-list{display:flex;flex-direction:column;gap:24px}.bo-cz-list-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.bo-cz-list-title{font-size:1.25rem;font-weight:700;margin:0;color:var(--bo-text, #e8eaf0);letter-spacing:-.02em}.bo-cz-list-subtitle{font-size:.8125rem;color:var(--bo-text-muted, #8b8fa8);margin:4px 0 0}.bo-cz-list-create-btn{display:inline-flex;align-items:center;gap:8px;padding:10px 20px;border:none;border-radius:10px;background:var(--bo-accent, #6366f1);color:#fff;font-size:.875rem;font-weight:600;font-family:inherit;cursor:pointer;transition:all .15s ease;white-space:nowrap}.bo-cz-list-create-btn:hover{background:var(--bo-accent-hover, #4f52d3);transform:translateY(-1px)}.bo-czl-name{font-weight:600}.bo-czl-spots{font-variant-numeric:tabular-nums}.bo-cz-list-error{padding:12px 16px;background:#ef444414;border:1px solid rgba(239,68,68,.2);border-radius:10px;color:#ef4444;font-size:.875rem}.bo-cz-list-error p{margin:0}.bo-cz-list-loading{display:flex;flex-direction:column;align-items:center;gap:16px;padding:48px 24px;color:var(--bo-text-muted, #8b8fa8);font-size:.875rem}.bo-cz-list-loading p{margin:0}.bo-cz-list-spinner{width:32px;height:32px;border:3px solid var(--bo-border, #2e3145);border-top-color:var(--bo-accent, #6366f1);border-radius:50%;animation:bo-spin .7s linear infinite}.bo-cz-list-empty{display:flex;flex-direction:column;align-items:center;gap:12px;padding:64px 24px;background:var(--bo-surface, #1a1d27);border:1px solid var(--bo-border, #2e3145);border-radius:14px;text-align:center}.bo-cz-list-empty-icon{display:flex;align-items:center;justify-content:center;width:56px;height:56px;border-radius:14px;background:#6366f11a;color:var(--bo-accent, #6366f1);margin-bottom:4px}.bo-cz-list-empty-title{font-size:1rem;font-weight:600;margin:0;color:var(--bo-text, #e8eaf0)}.bo-cz-list-empty-text{font-size:.8125rem;color:var(--bo-text-muted, #8b8fa8);margin:0 0 8px}@media (max-width: 768px){.bo-cz-list{gap:16px}.bo-cz-list-header{flex-direction:column;gap:12px}.bo-cz-list-create-btn{width:100%;justify-content:center}.bo-cz-list-empty{padding:40px 20px;border-radius:12px}}.bo-cz-form{max-width:640px}.bo-cz-form-header{margin-bottom:24px}.bo-cz-form-back-link{display:inline-flex;align-items:center;gap:6px;color:var(--bo-text-muted, #8b8fa8);text-decoration:none;font-size:.85rem;font-weight:500;margin-bottom:12px;transition:color .15s ease}.bo-cz-form-back-link:hover{color:var(--bo-accent, #6366f1)}.bo-cz-form-title{font-size:1.5rem;font-weight:700;margin:0 0 4px;color:var(--bo-text, #e8eaf0)}.bo-cz-form-subtitle{margin:0;font-size:.875rem;color:var(--bo-text-muted, #8b8fa8)}.bo-cz-form-error{display:flex;align-items:center;gap:8px;padding:12px 16px;background:#ef44441a;border:1px solid rgba(239,68,68,.25);border-radius:8px;color:#ef4444;margin-bottom:16px;font-size:.875rem}.bo-cz-form-card{background:var(--bo-surface, #1a1d27);border:1px solid var(--bo-border, #2e3145);border-radius:12px;padding:24px}.bo-cz-form-fields{display:flex;flex-direction:column;gap:16px;margin-bottom:24px}.bo-cz-form-actions{display:flex;justify-content:flex-end;gap:12px;padding-top:16px;border-top:1px solid var(--bo-border, #2e3145)}.bo-cz-form-btn{display:inline-flex;align-items:center;gap:8px;padding:10px 20px;border:none;border-radius:8px;font-size:.875rem;font-weight:600;font-family:inherit;cursor:pointer;transition:all .15s ease}.bo-cz-form-btn--cancel{background:var(--bo-surface-2, #242736);color:var(--bo-text-muted, #8b8fa8)}.bo-cz-form-btn--cancel:hover{background:var(--bo-border, #2e3145);color:var(--bo-text, #e8eaf0)}.bo-cz-form-btn--submit{background:linear-gradient(135deg,var(--bo-accent, #6366f1),#7c3aed);color:#fff}.bo-cz-form-btn--submit:hover{transform:translateY(-1px);box-shadow:0 4px 16px #6366f166}.bo-cz-form-btn:disabled{opacity:.6;cursor:not-allowed;transform:none}.bo-cz-form-loading,.bo-cz-form-notfound{text-align:center;padding:64px 24px;color:var(--bo-text-muted, #8b8fa8)}.bo-cz-form-spinner{width:32px;height:32px;border:3px solid var(--bo-border, #2e3145);border-top-color:var(--bo-accent, #6366f1);border-radius:50%;animation:czFormSpin .8s linear infinite;margin:0 auto 16px}@keyframes czFormSpin{to{transform:rotate(360deg)}}.bo-cz-form-notfound-icon{display:inline-flex;align-items:center;justify-content:center;width:56px;height:56px;background:#ef44441a;border-radius:14px;color:#ef4444;margin-bottom:16px}.bo-cz-form-notfound-title{font-size:1.125rem;font-weight:600;margin:0 0 8px;color:var(--bo-text, #e8eaf0)}.bo-cz-form-notfound-text{font-size:.875rem;margin:0 0 20px}@media (max-width: 600px){.bo-cz-form-card{padding:16px;border-radius:10px}.bo-cz-form-title{font-size:1.25rem}.bo-cz-form-subtitle{font-size:.8125rem}.bo-cz-form-actions{flex-direction:column}.bo-cz-form-btn{width:100%;justify-content:center}.bo-cz-form-loading,.bo-cz-form-notfound{padding:40px 20px}}.bo-service-list{display:flex;flex-direction:column;gap:24px}.bo-service-list-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.bo-service-list-title{font-size:1.25rem;font-weight:700;margin:0;color:var(--bo-text, #e8eaf0);letter-spacing:-.02em}.bo-service-list-subtitle{font-size:.8125rem;color:var(--bo-text-muted, #8b8fa8);margin:4px 0 0}.bo-service-list-create-btn{display:inline-flex;align-items:center;gap:8px;padding:10px 20px;border:none;border-radius:10px;background:var(--bo-accent, #6366f1);color:#fff;font-size:.875rem;font-weight:600;font-family:inherit;cursor:pointer;transition:all .15s ease;white-space:nowrap}.bo-service-list-create-btn:hover{background:var(--bo-accent-hover, #4f52d3);transform:translateY(-1px)}.bo-service-list-create-btn:active{transform:translateY(0)}.bo-sl-name{font-weight:600}.bo-sl-price{font-variant-numeric:tabular-nums;white-space:nowrap}.bo-service-list-error{padding:12px 16px;background:#ef444414;border:1px solid rgba(239,68,68,.2);border-radius:10px;color:#ef4444;font-size:.875rem}.bo-service-list-error p{margin:0}.bo-service-list-loading{display:flex;flex-direction:column;align-items:center;gap:16px;padding:48px 24px;color:var(--bo-text-muted, #8b8fa8);font-size:.875rem}.bo-service-list-loading p{margin:0}.bo-service-list-spinner{width:32px;height:32px;border:3px solid var(--bo-border, #2e3145);border-top-color:var(--bo-accent, #6366f1);border-radius:50%;animation:bo-spin .7s linear infinite}.bo-service-list-empty{display:flex;flex-direction:column;align-items:center;gap:12px;padding:64px 24px;background:var(--bo-surface, #1a1d27);border:1px solid var(--bo-border, #2e3145);border-radius:14px;text-align:center}.bo-service-list-empty-icon{display:flex;align-items:center;justify-content:center;width:56px;height:56px;border-radius:14px;background:#6366f11a;color:var(--bo-accent, #6366f1);margin-bottom:4px}.bo-service-list-empty-title{font-size:1rem;font-weight:600;margin:0;color:var(--bo-text, #e8eaf0)}.bo-service-list-empty-text{font-size:.8125rem;color:var(--bo-text-muted, #8b8fa8);margin:0 0 8px}@media (max-width: 768px){.bo-service-list{gap:16px}.bo-service-list-header{flex-direction:column;gap:12px}.bo-service-list-title{font-size:1.1rem}.bo-service-list-subtitle{font-size:.75rem}.bo-service-list-create-btn{width:100%;justify-content:center;padding:10px 16px;font-size:.8125rem}.bo-service-list-empty{padding:40px 20px;border-radius:12px}.bo-service-list-empty-icon{width:48px;height:48px;border-radius:12px}.bo-service-list-empty-title{font-size:.9375rem}.bo-service-list-empty-text{font-size:.75rem}}.bo-quote-list{display:flex;flex-direction:column;gap:24px}.bo-quote-list-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.bo-quote-list-title{font-size:1.25rem;font-weight:700;margin:0;color:var(--bo-text, #e8eaf0);letter-spacing:-.02em}.bo-quote-list-subtitle{font-size:.8125rem;color:var(--bo-text-muted, #8b8fa8);margin:4px 0 0}.bo-quote-list-create-btn{display:inline-flex;align-items:center;gap:8px;padding:10px 20px;border:none;border-radius:10px;background:var(--bo-accent, #6366f1);color:#fff;font-size:.875rem;font-weight:600;font-family:inherit;cursor:pointer;transition:all .15s ease;white-space:nowrap}.bo-quote-list-create-btn:hover{background:var(--bo-accent-hover, #4f52d3);transform:translateY(-1px)}.bo-quote-list-create-btn:active{transform:translateY(0)}.bo-ql-prospect{font-weight:600}.bo-ql-event{color:var(--bo-text-muted, #8b8fa8)}.bo-ql-date{white-space:nowrap;font-variant-numeric:tabular-nums}.bo-ql-total{font-weight:600;font-variant-numeric:tabular-nums;white-space:nowrap}.bo-ql-created{white-space:nowrap;font-variant-numeric:tabular-nums;color:var(--bo-text-muted, #8b8fa8)}.bo-ql-event-cell{display:inline-flex;flex-direction:column;gap:2px}.bo-ql-event-link{font-size:.75rem;font-weight:600;color:var(--bo-accent, #6366f1);text-decoration:none}.bo-ql-event-link:hover{text-decoration:underline}.bo-quote-list-notice{display:flex;align-items:center;gap:10px;padding:12px 16px;background:#22c55e14;border:1px solid rgba(34,197,94,.25);border-radius:10px;color:#86efac;font-size:.875rem}.bo-quote-list-notice p{margin:0}.bo-quote-list-error{padding:12px 16px;background:#ef444414;border:1px solid rgba(239,68,68,.2);border-radius:10px;color:#ef4444;font-size:.875rem}.bo-quote-list-error p{margin:0}.bo-quote-list-loading{display:flex;flex-direction:column;align-items:center;gap:16px;padding:48px 24px;color:var(--bo-text-muted, #8b8fa8);font-size:.875rem}.bo-quote-list-loading p{margin:0}.bo-quote-list-spinner{width:32px;height:32px;border:3px solid var(--bo-border, #2e3145);border-top-color:var(--bo-accent, #6366f1);border-radius:50%;animation:bo-spin .7s linear infinite}.bo-quote-list-empty{display:flex;flex-direction:column;align-items:center;gap:12px;padding:64px 24px;background:var(--bo-surface, #1a1d27);border:1px solid var(--bo-border, #2e3145);border-radius:14px;text-align:center}.bo-quote-list-empty-icon{display:flex;align-items:center;justify-content:center;width:56px;height:56px;border-radius:14px;background:#6366f11a;color:var(--bo-accent, #6366f1);margin-bottom:4px}.bo-quote-list-empty-title{font-size:1rem;font-weight:600;margin:0;color:var(--bo-text, #e8eaf0)}.bo-quote-list-empty-text{font-size:.8125rem;color:var(--bo-text-muted, #8b8fa8);margin:0 0 8px}@media (max-width: 768px){.bo-quote-list{gap:16px}.bo-quote-list-header{flex-direction:column;gap:12px}.bo-quote-list-title{font-size:1.1rem}.bo-quote-list-subtitle{font-size:.75rem}.bo-quote-list-create-btn{width:100%;justify-content:center;padding:10px 16px;font-size:.8125rem}.bo-ql-date,.bo-ql-created{display:none}.bo-ql-event-cell>span:first-child{display:none}.bo-quote-list-empty{padding:40px 20px;border-radius:12px}.bo-quote-list-empty-icon{width:48px;height:48px;border-radius:12px}.bo-quote-list-empty-title{font-size:.9375rem}.bo-quote-list-empty-text{font-size:.75rem}}.bo-quote-form{max-width:900px}.bo-quote-form-header{margin-bottom:24px}.bo-quote-form-back-link{display:inline-flex;align-items:center;gap:6px;color:var(--bo-text-muted, #8b8fa8);text-decoration:none;font-size:.85rem;font-weight:500;margin-bottom:12px;transition:color .15s ease}.bo-quote-form-back-link:hover{color:var(--bo-accent, #6366f1)}.bo-quote-form-title{font-size:1.5rem;font-weight:700;margin:0 0 4px;color:var(--bo-text, #e8eaf0)}.bo-quote-form-subtitle{margin:0;font-size:.875rem;color:var(--bo-text-muted, #8b8fa8)}.bo-quote-form-error{display:flex;align-items:center;gap:8px;padding:12px 16px;background:#ef44441a;border:1px solid rgba(239,68,68,.25);border-radius:8px;color:#ef4444;margin-bottom:16px;font-size:.875rem}.bo-quote-form-error p{margin:0}.bo-quote-form-recalc-banner{display:flex;align-items:center;gap:10px;padding:12px 16px;background:#fbbf241a;border:1px solid rgba(251,191,36,.25);border-radius:8px;color:#fbbf24;font-size:.8125rem;margin-bottom:16px}.bo-quote-form-recalc-btn{margin-left:auto;padding:6px 14px;border:1px solid rgba(251,191,36,.4);border-radius:6px;background:#fbbf2426;color:#fbbf24;font-size:.8125rem;font-weight:600;font-family:inherit;cursor:pointer;transition:all .15s ease;white-space:nowrap}.bo-quote-form-recalc-btn:hover{background:#fbbf2440}.bo-quote-form-card{background:var(--bo-surface, #1a1d27);border:1px solid var(--bo-border, #2e3145);border-radius:12px;padding:24px;margin-bottom:16px}.bo-quote-form-section-title{font-size:1rem;font-weight:600;margin:0 0 16px;color:var(--bo-text, #e8eaf0)}.bo-quote-form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:12px}.bo-quote-form-row--3{grid-template-columns:1fr 1fr 1fr}.bo-quote-form-note{display:flex;align-items:flex-start;gap:6px;margin:0;align-self:end;padding-bottom:10px;font-size:.8125rem;line-height:1.4;color:var(--bo-text-muted, #8b8fa8)}.bo-quote-form-note strong{color:var(--bo-text, #e8eaf0)}.bo-quote-form-search-wrap{position:relative;margin-bottom:16px}.bo-quote-form-search-input-wrap{position:relative}.bo-quote-form-search-icon{position:absolute;left:12px;top:50%;transform:translateY(-50%);color:var(--bo-text-muted, #8b8fa8);pointer-events:none}.bo-quote-form-search-input{width:100%;padding:10px 12px 10px 36px;border:1px solid var(--bo-border, #2e3145);border-radius:8px;background:var(--bo-surface-2, #242736);color:var(--bo-text, #e8eaf0);font-size:.875rem;font-family:inherit;outline:none;box-sizing:border-box}.bo-quote-form-search-input:focus{border-color:var(--bo-accent, #6366f1)}.bo-quote-form-dropdown{position:absolute;top:100%;left:0;right:0;margin-top:4px;background:var(--bo-surface-2, #242736);border:1px solid var(--bo-border, #2e3145);border-radius:8px;max-height:200px;overflow-y:auto;z-index:10;box-shadow:0 8px 24px #0000004d}.bo-quote-form-dropdown-item{display:flex;align-items:center;justify-content:space-between;width:100%;padding:10px 14px;border:none;background:none;color:var(--bo-text, #e8eaf0);font-size:.875rem;font-family:inherit;cursor:pointer;text-align:left;transition:background .1s ease}.bo-quote-form-dropdown-item:hover{background:#6366f11a}.bo-quote-form-dropdown-price{color:var(--bo-text-muted, #8b8fa8);font-variant-numeric:tabular-nums;font-size:.8125rem}.bo-quote-form-dropdown-empty{padding:12px 14px;color:var(--bo-text-muted, #8b8fa8);font-size:.8125rem}.bo-quote-form-table-wrap{overflow-x:auto;margin-bottom:16px}.bo-quote-form-table{width:100%;border-collapse:collapse;font-size:.875rem}.bo-quote-form-table th{text-align:left;padding:8px 10px;font-size:.75rem;font-weight:600;color:var(--bo-text-muted, #8b8fa8);text-transform:uppercase;letter-spacing:.04em;border-bottom:1px solid var(--bo-border, #2e3145)}.bo-quote-form-table td{padding:8px 10px;border-bottom:1px solid var(--bo-border, #2e3145);vertical-align:middle}.bo-qf-name{font-weight:500;color:var(--bo-text, #e8eaf0)}.bo-qf-num{text-align:right;white-space:nowrap}.bo-qf-total{font-weight:600;font-variant-numeric:tabular-nums;color:var(--bo-text, #e8eaf0)}.bo-qf-actions{width:40px;text-align:center}.bo-qf-inline-input{width:80px;padding:6px 8px;border:1px solid var(--bo-border, #2e3145);border-radius:6px;background:var(--bo-surface-2, #242736);color:var(--bo-text, #e8eaf0);font-size:.8125rem;font-family:inherit;text-align:right;outline:none;font-variant-numeric:tabular-nums}.bo-qf-inline-input:focus{border-color:var(--bo-accent, #6366f1)}.bo-qf-discount{white-space:nowrap}.bo-qf-discount-wrap{display:flex;align-items:center;gap:4px}.bo-qf-discount-input{width:60px}.bo-qf-discount-select{padding:6px 4px;border:1px solid var(--bo-border, #2e3145);border-radius:6px;background:var(--bo-surface-2, #242736);color:var(--bo-text, #e8eaf0);font-size:.8125rem;font-family:inherit;outline:none;cursor:pointer}.bo-qf-discount-select:focus{border-color:var(--bo-accent, #6366f1)}.bo-qf-remove-btn{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;border:none;border-radius:6px;background:#ef44441a;color:#ef4444;cursor:pointer;transition:all .15s ease}.bo-qf-remove-btn:hover{background:#ef444433}.bo-quote-form-fly{padding:16px;border:1px dashed var(--bo-border, #2e3145);border-radius:10px;background:#6366f108}.bo-quote-form-fly-label{font-size:.8125rem;font-weight:600;color:var(--bo-text-muted, #8b8fa8);margin:0 0 10px}.bo-quote-form-fly-fields{display:flex;gap:10px;align-items:flex-end;flex-wrap:wrap}.bo-quote-form-fly-input{padding:8px 12px;border:1px solid var(--bo-border, #2e3145);border-radius:8px;background:var(--bo-surface-2, #242736);color:var(--bo-text, #e8eaf0);font-size:.8125rem;font-family:inherit;outline:none}.bo-quote-form-fly-input:focus{border-color:var(--bo-accent, #6366f1)}.bo-quote-form-fly-name{flex:1;min-width:160px}.bo-quote-form-fly-price{width:100px}.bo-quote-form-fly-add{display:inline-flex;align-items:center;gap:6px;padding:8px 16px;border:none;border-radius:8px;background:var(--bo-accent, #6366f1);color:#fff;font-size:.8125rem;font-weight:600;font-family:inherit;cursor:pointer;white-space:nowrap;transition:all .15s ease}.bo-quote-form-fly-add:hover:not(:disabled){background:var(--bo-accent-hover, #4f52d3)}.bo-quote-form-fly-add:disabled{opacity:.5;cursor:not-allowed}.bo-quote-form-fly-save{display:flex;align-items:center;gap:8px;margin-top:10px;font-size:.8125rem;color:var(--bo-text-muted, #8b8fa8);cursor:pointer}.bo-quote-form-fly-save input[type=checkbox]{accent-color:var(--bo-accent, #6366f1)}.bo-quote-form-notes-wrap{margin-bottom:16px}.bo-quote-form-notes-label{display:block;font-size:.8125rem;font-weight:600;color:var(--bo-text-muted, #8b8fa8);margin-bottom:6px}.bo-quote-form-notes{width:100%;padding:10px 12px;border:1px solid var(--bo-border, #2e3145);border-radius:8px;background:var(--bo-surface-2, #242736);color:var(--bo-text, #e8eaf0);font-size:.875rem;font-family:inherit;resize:vertical;outline:none;box-sizing:border-box}.bo-quote-form-notes:focus{border-color:var(--bo-accent, #6366f1)}.bo-quote-form-total{display:flex;align-items:center;justify-content:space-between;padding:16px 0 0;border-top:1px solid var(--bo-border, #2e3145);font-size:1.125rem;font-weight:700;color:var(--bo-text, #e8eaf0)}.bo-quote-form-total-value{font-size:1.5rem;font-variant-numeric:tabular-nums;background:linear-gradient(135deg,var(--bo-accent, #6366f1),#7c3aed);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.bo-quote-form-actions{display:flex;justify-content:flex-end;gap:12px;margin-top:8px}.bo-quote-form-btn{display:inline-flex;align-items:center;gap:8px;padding:10px 20px;border:none;border-radius:8px;font-size:.875rem;font-weight:600;font-family:inherit;cursor:pointer;transition:all .15s ease}.bo-quote-form-btn--cancel{background:var(--bo-surface-2, #242736);color:var(--bo-text-muted, #8b8fa8)}.bo-quote-form-btn--cancel:hover{background:var(--bo-border, #2e3145);color:var(--bo-text, #e8eaf0)}.bo-quote-form-btn--submit{background:linear-gradient(135deg,var(--bo-accent, #6366f1),#7c3aed);color:#fff}.bo-quote-form-btn--submit:hover{transform:translateY(-1px);box-shadow:0 4px 16px #6366f166}.bo-quote-form-btn:disabled{opacity:.6;cursor:not-allowed;transform:none}.bo-quote-form-loading,.bo-quote-form-notfound{text-align:center;padding:64px 24px;color:var(--bo-text-muted, #8b8fa8)}.bo-quote-form-spinner{width:32px;height:32px;border:3px solid var(--bo-border, #2e3145);border-top-color:var(--bo-accent, #6366f1);border-radius:50%;animation:quoteFormSpin .8s linear infinite;margin:0 auto 16px}@keyframes quoteFormSpin{to{transform:rotate(360deg)}}.bo-quote-form-notfound-icon{display:inline-flex;align-items:center;justify-content:center;width:56px;height:56px;background:#ef44441a;border-radius:14px;color:#ef4444;margin-bottom:16px}.bo-quote-form-notfound-title{font-size:1.125rem;font-weight:600;margin:0 0 8px;color:var(--bo-text, #e8eaf0)}.bo-quote-form-notfound-text{font-size:.875rem;margin:0 0 20px}@media (max-width: 768px){.bo-quote-form-row,.bo-quote-form-row--3{grid-template-columns:1fr}.bo-quote-form-card{padding:16px;border-radius:10px}.bo-quote-form-fly-fields{flex-direction:column;align-items:stretch}.bo-quote-form-fly-name{min-width:0}.bo-quote-form-fly-price{width:100%}.bo-quote-form-actions{flex-direction:column}.bo-quote-form-btn{width:100%;justify-content:center}.bo-quote-form-recalc-banner{flex-wrap:wrap}.bo-quote-form-recalc-btn{margin-left:0;width:100%;text-align:center;margin-top:8px}}.bo-costs-callout{display:flex;align-items:flex-start;gap:12px;padding:14px 16px;border-radius:12px;background:#f59e0b14;border:1px solid rgba(245,158,11,.25);font-size:.8125rem;color:var(--bo-text, #e8eaf0)}.bo-costs-callout svg{flex-shrink:0;color:var(--bo-warning, #f59e0b);margin-top:1px}.bo-costs-callout p{margin:0;color:var(--bo-text-muted, #8b8fa8)}.bo-costs-callout strong{color:var(--bo-text, #e8eaf0);font-weight:600}.bo-cost-group{display:flex;flex-direction:column;gap:12px;min-width:0}.bo-cost-group-head{display:flex;align-items:center;gap:12px}.bo-cost-group-icon{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:10px;flex-shrink:0}.bo-cost-group-icon--optional{background:#f59e0b1f;color:#f59e0b}.bo-cost-group-icon--fixed{background:#3b82f61f;color:#3b82f6}.bo-cost-group-title{display:flex;align-items:center;gap:8px;margin:0;font-size:.95rem;font-weight:600;color:var(--bo-text, #e8eaf0);letter-spacing:-.01em}.bo-cost-group-count{display:inline-flex;align-items:center;justify-content:center;min-width:22px;height:22px;padding:0 7px;border-radius:999px;background:var(--bo-surface-2, #242736);color:var(--bo-text-muted, #8b8fa8);font-size:.7rem;font-weight:600}.bo-cost-group-hint{margin:2px 0 0;font-size:.78rem;color:var(--bo-text-muted, #8b8fa8)}.bo-cost-name{display:inline-flex;align-items:center;gap:8px;flex-wrap:wrap;font-weight:600}.bo-cost-badge{display:inline-flex;align-items:center;padding:2px 8px;border-radius:6px;font-size:.6875rem;font-weight:600;letter-spacing:.02em;background:#6366f11f;color:#818cf8}.bo-cost-price{font-variant-numeric:tabular-nums;white-space:nowrap;font-weight:500}.bo-cost-price small{margin-left:4px;font-size:.75rem;color:var(--bo-text-muted, #8b8fa8);font-weight:400}.bo-cost-missing{display:inline-flex;align-items:center;gap:6px;padding:3px 10px;border-radius:999px;background:#f59e0b1f;color:#fbbf24;font-size:.75rem;font-weight:600;white-space:nowrap}.bo-file-name{display:flex;flex-direction:column;gap:3px;min-width:0}.bo-file-name strong{font-weight:600}.bo-file-event{display:inline-flex;align-items:center;gap:5px;font-size:.75rem;color:var(--bo-text-muted, #8b8fa8)}.bo-file-event svg{color:var(--bo-accent, #6366f1);flex-shrink:0}.bo-file-event--link{font-size:.8125rem;font-weight:600;color:var(--bo-text, #e8eaf0);text-decoration:none;white-space:nowrap}.bo-file-event--link:hover{color:var(--bo-accent, #6366f1);text-decoration:underline}.bo-file-event--none{padding:3px 8px;border-radius:999px;background:var(--bo-surface-2, rgba(255, 255, 255, .05));border:1px solid var(--bo-border, rgba(255, 255, 255, .08));white-space:nowrap}.bo-file-range{display:flex;flex-direction:column;gap:3px;white-space:nowrap}.bo-file-range-dates{font-size:.8125rem;color:var(--bo-text, #e8eaf0)}.bo-file-range-days{font-size:.75rem;color:var(--bo-text-muted, #8b8fa8)}.bo-file-range--pending{display:inline-flex;align-items:center;gap:6px;font-size:.75rem;color:var(--bo-text-muted, #8b8fa8);white-space:nowrap}.bo-file-money{font-variant-numeric:tabular-nums;white-space:nowrap}.bo-file-money--muted{color:var(--bo-text-muted, #8b8fa8)}.bo-file-money--positive{color:var(--bo-success, #22c55e);font-weight:600}.bo-file-money--negative{color:#ef4444;font-weight:600}.bo-file-money--zero{color:var(--bo-text-muted, #8b8fa8)}.bo-file-name-range{display:none;font-size:.75rem;color:var(--bo-text-muted, #8b8fa8)}.bo-file-name-event{display:none;margin-top:2px}.bo-file-name-event .bo-file-event{font-size:.75rem;white-space:normal;text-align:left}.bo-datatable .bo-col-num{text-align:right}@media (max-width: 768px){.bo-datatable .bo-col-secondary{display:none}.bo-file-name-range,.bo-file-name-event{display:block}.bo-cost-group-icon{width:30px;height:30px;border-radius:8px}.bo-cost-group-title{font-size:.875rem}.bo-costs-callout{padding:12px}}.bo-vendor-list .bo-datatable th,.bo-vendor-list .bo-datatable td{padding-left:14px;padding-right:14px}.bo-vendor-name{display:inline-block;min-width:8.5rem;font-weight:600;color:var(--bo-text, #e8eaf0)}.bo-vendor-category{display:inline-flex;align-items:center;gap:8px;white-space:nowrap}.bo-vendor-category-icon{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;border-radius:8px;flex-shrink:0}.bo-vendor-badge{display:inline-block;padding:3px 10px;border-radius:999px;font-size:.75rem;font-weight:600;white-space:nowrap}.bo-vendor-badge--exclusive{background:#d4af3726;color:#d4af37}.bo-vendor-badge--recommended{background:#6366f11f;color:var(--bo-accent, #6366f1)}.bo-vendor-contact{display:flex;flex-direction:column;gap:3px;font-size:.8125rem;color:var(--bo-text-muted, #8b8fa8)}.bo-vendor-contact>span{display:flex;align-items:center;gap:6px;max-width:175px;white-space:nowrap}.bo-vendor-contact-value{overflow:hidden;text-overflow:ellipsis}.bo-vendor-contact svg{flex-shrink:0}.bo-vendor-muted{color:var(--bo-text-muted, #8b8fa8)}.bo-vendor-visibility{display:inline-flex;align-items:center;gap:6px;font-size:.8125rem;color:var(--bo-success, #22c55e);white-space:nowrap}.bo-vendor-visibility:before{content:"";width:7px;height:7px;border-radius:50%;background:currentColor}.bo-vendor-visibility--hidden{color:var(--bo-text-muted, #8b8fa8)}@media (max-width: 768px){.bo-vendor-col-contact{display:none}}.bo-vendor-form{max-width:720px}.bo-vendor-form-sections{display:flex;flex-direction:column;gap:28px;margin-bottom:24px}.bo-vendor-form-section{border:none;margin:0;padding:0;min-width:0}.bo-vendor-form-section-title{padding:0;margin-bottom:14px;font-size:.75rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--bo-text-muted, #8b8fa8)}.bo-vendor-form-section-fields{display:flex;flex-direction:column;gap:16px}.bo-vendor-form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}.bo-vendor-form-count{align-self:flex-end;font-size:.75rem;color:var(--bo-text-muted, #8b8fa8)}.bo-vendor-form-count--over{color:#ef4444;font-weight:600}.bo-vendor-form-choices{display:grid;grid-template-columns:1fr 1fr;gap:10px}.bo-vendor-form-choice{display:flex;align-items:flex-start;gap:10px;padding:12px 14px;border:1px solid var(--bo-border, #2e3145);border-radius:10px;background:var(--bo-bg, #0f1117);cursor:pointer;transition:border-color .15s ease,background .15s ease}.bo-vendor-form-choice input{margin-top:3px;accent-color:var(--bo-accent, #6366f1)}.bo-vendor-form-choice span{display:flex;flex-direction:column;gap:2px}.bo-vendor-form-choice strong{font-size:.875rem;color:var(--bo-text, #e8eaf0)}.bo-vendor-form-choice small{font-size:.75rem;color:var(--bo-text-muted, #8b8fa8)}.bo-vendor-form-choice--active{border-color:var(--bo-accent, #6366f1);background:#6366f114}.bo-vendor-form-switch{position:relative;display:flex;align-items:flex-start;gap:12px;cursor:pointer}.bo-vendor-form-switch input{position:absolute;opacity:0;width:40px;height:22px;margin:0;cursor:pointer}.bo-vendor-form-switch-track{position:relative;flex-shrink:0;width:40px;height:22px;border-radius:999px;background:var(--bo-border, #2e3145);transition:background .15s ease}.bo-vendor-form-switch-track:after{content:"";position:absolute;top:3px;left:3px;width:16px;height:16px;border-radius:50%;background:#fff;transition:transform .15s ease}.bo-vendor-form-switch input:checked+.bo-vendor-form-switch-track{background:var(--bo-accent, #6366f1)}.bo-vendor-form-switch input:checked+.bo-vendor-form-switch-track:after{transform:translate(18px)}.bo-vendor-form-switch input:focus-visible+.bo-vendor-form-switch-track{box-shadow:0 0 0 3px #6366f14d}.bo-vendor-form-switch span:last-child{display:flex;flex-direction:column;gap:2px}.bo-vendor-form-switch strong{font-size:.875rem;color:var(--bo-text, #e8eaf0)}.bo-vendor-form-switch small{font-size:.75rem;color:var(--bo-text-muted, #8b8fa8)}@media (max-width: 600px){.bo-vendor-form-row,.bo-vendor-form-choices{grid-template-columns:1fr}}.acc-stat-rooms svg{color:var(--color-primary)}.acc-stat-camping svg{color:#8b6b50}.acc-stat-assigned svg{color:#27ae60}.acc-stat-available svg{color:#f39c12}.acc-content{display:flex;gap:24px;padding:0 40px 40px}.acc-main{flex:1;min-width:0;display:flex;flex-direction:column;gap:28px}.acc-section{display:flex;flex-direction:column;gap:14px}.acc-section-header{display:flex;align-items:center;justify-content:space-between;gap:12px}.acc-section-title-row{display:flex;align-items:center;gap:10px;color:var(--color-primary, #6B9080)}.acc-section-title{font-family:var(--font-family-serif, "Playfair Display", serif);font-size:1.35rem;font-weight:600;margin:0;color:var(--color-text, #2c3e50)}.acc-filter-toggle{display:inline-flex;align-items:center;gap:6px;padding:8px 16px;border:1px solid #d0d0d0;border-radius:10px;background:#fff;color:var(--color-text-light, #6c757d);font-size:.8125rem;font-weight:500;font-family:inherit;cursor:pointer;transition:all .2s ease;box-shadow:0 1px 3px #0000000a}.acc-filter-toggle:hover{border-color:var(--color-primary, #6B9080);color:var(--color-primary, #6B9080);background:#f8faf9}.acc-filters{display:flex;flex-direction:column;gap:12px;padding:16px 20px;background:#fff;border-radius:14px;box-shadow:0 4px 16px #00000014}.acc-filters-row{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.acc-filter-select{padding:8px 14px;border:1px solid #d0d0d0;border-radius:8px;background:#fff;color:var(--color-text, #2c3e50);font-size:.8125rem;font-family:inherit;transition:border-color .15s}.acc-filter-select:focus{outline:none;border-color:var(--color-primary, #6B9080)}.acc-filter-checkbox{display:flex;align-items:center;gap:6px;font-size:.8125rem;color:var(--color-text, #2c3e50);cursor:pointer}.acc-filter-checkbox input{accent-color:var(--color-primary, #6B9080)}.acc-filter-reset{padding:6px 12px;border:none;border-radius:6px;background:transparent;color:var(--color-text-light, #6c757d);font-size:.75rem;font-family:inherit;cursor:pointer;text-decoration:underline}.acc-filter-reset:hover{color:var(--color-primary, #6B9080)}.acc-table-wrapper{background:#fff;border-radius:16px;box-shadow:0 4px 20px #00000014;overflow:hidden}.acc-table{width:100%;border-collapse:collapse;font-size:.9375rem}.acc-table th{padding:14px 18px;text-align:left;font-weight:600;font-size:.75rem;text-transform:uppercase;letter-spacing:.05em;color:var(--color-text, #2c3e50);background:#fafbfa;border-bottom:1px solid #f0f0f0;white-space:nowrap;-webkit-user-select:none;user-select:none}.acc-table td{padding:14px 18px;border-bottom:1px solid #f0f0f0;color:var(--color-text, #2c3e50)}.acc-num{text-align:center!important;font-variant-numeric:tabular-nums}.acc-row{cursor:pointer;transition:background .15s ease}.acc-row:hover{background:#f8fffe}.acc-row--full{background:#27ae600a}.acc-row--full:hover{background:#27ae6014}.acc-row--over{background:#e74c3c0a}.acc-row--over:hover{background:#e74c3c14}.acc-cell-name{font-weight:600;white-space:nowrap;display:flex;align-items:center;gap:10px}.acc-cell-muted{color:var(--color-text-light, #6c757d)}.acc-cell-guests{color:var(--color-text-light, #6c757d);font-size:.875rem;max-width:220px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.acc-cell-danger{color:#e74c3c!important;font-weight:600}.acc-badge{display:inline-flex;align-items:center;gap:4px;padding:3px 10px;border-radius:20px;font-size:.6875rem;font-weight:600;text-transform:uppercase;letter-spacing:.03em}.acc-badge--full{background:#27ae601a;color:#27ae60}.acc-badge--over{background:#e74c3c1a;color:#e74c3c}.acc-totals{background:#fafbfa}.acc-totals td{border-bottom:none;padding:12px 18px}.acc-error{margin:0 40px 16px;display:flex;align-items:center;gap:8px;padding:12px 16px;background:#fff5f5;border:1px solid #ffcccc;border-radius:12px;color:#e74c3c;font-size:.875rem}.acc-error p{margin:0}.acc-loading{display:flex;flex-direction:column;align-items:center;gap:16px;padding:100px 24px;color:var(--color-text-light, #6c757d);font-size:.9375rem}.acc-loading p{margin:0}.acc-spinner{width:36px;height:36px;border:3px solid var(--color-secondary, #CCE3DE);border-top-color:var(--color-primary, #6B9080);border-radius:50%;animation:accSpin .7s linear infinite}@keyframes accSpin{to{transform:rotate(360deg)}}.acc-detail{width:360px;flex-shrink:0;background:#fff;border-radius:16px;box-shadow:0 4px 20px #00000014;padding:24px;display:flex;flex-direction:column;gap:18px;align-self:flex-start;position:sticky;top:100px;max-height:calc(100vh - 120px);overflow-y:auto}.acc-detail-header{display:flex;align-items:center;justify-content:space-between}.acc-detail-title{display:flex;align-items:center;gap:10px;font-family:var(--font-family-serif, "Playfair Display", serif);font-size:1.125rem;font-weight:600;margin:0;color:var(--color-text, #2c3e50)}.acc-detail-title svg{color:var(--color-primary, #6B9080)}.acc-detail-close{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border:none;border-radius:8px;background:transparent;color:var(--color-text-light, #6c757d);cursor:pointer;transition:all .15s ease}.acc-detail-close:hover{background:#f0f5f3;color:var(--color-primary, #6B9080)}.acc-detail-info{display:flex;flex-direction:column;gap:10px}.acc-detail-row{display:flex;justify-content:space-between;font-size:.875rem}.acc-detail-label{color:var(--color-text-light, #6c757d);font-weight:500}.acc-detail-tags{display:flex;flex-wrap:wrap;gap:6px;margin-top:4px}.acc-tag{padding:3px 12px;border-radius:20px;font-size:.6875rem;font-weight:600;background:var(--color-secondary, #CCE3DE);color:var(--color-primary-dark, #557769)}.acc-tag--muted{background:#f0f0f0;color:var(--color-text-light, #6c757d)}.acc-tag--pmr{background:#3498db1f;color:#2980b9}.acc-detail-notes{display:flex;flex-direction:column;gap:4px;margin-top:4px}.acc-detail-notes p{margin:0;font-size:.875rem;color:var(--color-text, #2c3e50);line-height:1.5;font-style:italic}.acc-detail-occupants{border-top:1px solid #f0f0f0;padding-top:14px}.acc-detail-occupants-title{font-family:var(--font-family-serif, "Playfair Display", serif);font-size:.9375rem;font-weight:600;margin:0 0 10px;color:var(--color-text, #2c3e50)}.acc-detail-empty{font-size:.8125rem;color:var(--color-text-light, #6c757d);margin:0;font-style:italic}.acc-occupant-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:6px}.acc-occupant{display:flex;align-items:center;justify-content:space-between;padding:8px 12px;border-radius:10px;background:#f8faf9;font-size:.875rem;transition:background .15s}.acc-occupant:hover{background:#f0f5f3}.acc-occupant-name{font-weight:500;color:var(--color-text, #2c3e50)}.acc-occupant-remove{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border:none;border-radius:6px;background:transparent;color:var(--color-text-light, #6c757d);cursor:pointer;transition:all .15s ease}.acc-occupant-remove:hover{background:#fff5f5;color:#e74c3c}.acc-detail-add{border-top:1px solid #f0f0f0;padding-top:14px;display:flex;flex-direction:column;gap:10px}.acc-detail-add-title{display:flex;align-items:center;gap:8px;font-family:var(--font-family-serif, "Playfair Display", serif);font-size:.9375rem;font-weight:600;margin:0;color:var(--color-primary, #6B9080)}.acc-detail-action-error{display:flex;align-items:center;gap:6px;padding:8px 12px;border-radius:8px;background:#fff5f5;border:1px solid #ffcccc;color:#e74c3c;font-size:.75rem}.acc-detail-search{display:flex;align-items:center;gap:10px;padding:10px 14px;border-radius:10px;background:#f8faf9;border:1px solid #e8e8e8;transition:border-color .15s}.acc-detail-search:focus-within{border-color:var(--color-primary, #6B9080);background:#fff}.acc-detail-search svg{color:var(--color-text-light, #6c757d);flex-shrink:0}.acc-detail-search-input{flex:1;border:none;background:transparent;color:var(--color-text, #2c3e50);font-size:.875rem;font-family:inherit;outline:none}.acc-detail-search-input::placeholder{color:var(--color-text-light, #6c757d)}.acc-search-results{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:2px;max-height:220px;overflow-y:auto;border-radius:10px;background:#f8faf9}.acc-search-item{display:flex;align-items:center;justify-content:space-between;padding:8px 12px;font-size:.875rem;color:var(--color-text, #2c3e50);cursor:pointer;transition:background .1s ease}.acc-search-item:hover{background:#f0f5f3}.acc-search-add-btn{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border:none;border-radius:6px;background:var(--color-secondary, #CCE3DE);color:var(--color-primary-dark, #557769);cursor:pointer;transition:all .15s ease}.acc-search-add-btn:hover{background:var(--color-primary, #6B9080);color:#fff}.acc-search-empty{padding:16px 12px;font-size:.8125rem;color:var(--color-text-light, #6c757d);text-align:center;font-style:italic}@media (max-width: 900px){.acc-content{flex-direction:column;padding:0 16px 24px}.acc-error{margin:0 16px 12px}.acc-detail{position:fixed;top:0;left:0;right:0;bottom:0;width:100%;height:100%;z-index:200;border-radius:0;max-height:none;overflow-y:auto;padding:20px;background:#fff;box-shadow:none;align-self:stretch;animation:accDetailSlideUp .3s ease}.acc-table-wrapper{overflow-x:auto;border-radius:12px}.acc-table{min-width:500px}.acc-cell-guests,.acc-cell-muted{display:none}.acc-section-title{font-size:1.1rem}.acc-filter-toggle{padding:8px 12px;font-size:.75rem}.acc-filters{padding:12px 14px}.acc-filters-row{gap:8px}.acc-filter-select{flex:1;min-width:0;font-size:.75rem;padding:8px 10px}.acc-filter-checkbox{font-size:.75rem}.acc-table th,.acc-table td{padding:12px 14px}}@media (max-width: 480px){.acc-detail{padding:16px}.acc-detail-title{font-size:1rem}.acc-detail-row{font-size:.8125rem}.acc-tag{font-size:.625rem;padding:2px 8px}.acc-occupant{padding:8px 10px}.acc-occupant-name{font-size:.8125rem}.acc-detail-search{padding:8px 12px}.acc-search-item{padding:8px 10px;font-size:.8125rem}.acc-table{min-width:400px;font-size:.8125rem}.acc-table th,.acc-table td{padding:10px}.acc-badge{font-size:.5625rem;padding:2px 6px}}@keyframes accDetailSlideUp{0%{opacity:0;transform:translateY(40px)}to{opacity:1;transform:translateY(0)}}.expense-bridge-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#0006;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1100;animation:fadeIn .2s ease}.expense-bridge-popup{background:#fff;border-radius:16px;padding:24px;width:90%;max-width:400px;box-shadow:0 20px 60px #0000004d;animation:slideUp .3s ease}.expense-bridge-header{display:flex;align-items:center;gap:10px;font-family:var(--font-family-serif);font-size:1.2rem;color:var(--color-text);margin-bottom:8px}.expense-bridge-header svg{color:var(--color-primary)}.expense-bridge-desc{font-size:.875rem;color:var(--color-text-light);margin-bottom:20px;line-height:1.5}.expense-bridge-field{margin-bottom:16px}.expense-bridge-actions{display:flex;gap:10px;margin-top:20px}.expense-bridge-actions .btn{flex:1}.expense-bridge-inline{background:#fff;border-radius:14px;padding:16px;box-shadow:0 8px 32px #00000026;border:1px solid var(--color-secondary);margin-top:8px;animation:slideUp .2s ease}.expense-bridge-inline .expense-bridge-header{font-size:1rem;margin-bottom:8px}.expense-bridge-inline .expense-bridge-desc{font-size:.8rem;margin-bottom:12px}.expense-bridge-inline .expense-bridge-field{margin-bottom:10px}.expense-bridge-inline .form-input{padding:10px 12px;font-size:.875rem}.expense-bridge-inline .expense-bridge-actions .btn{padding:10px 14px;font-size:.8125rem}@media (max-width: 480px){.expense-bridge-popup{width:95%;padding:20px}.expense-bridge-actions{flex-direction:column}.expense-bridge-actions .btn{min-height:44px}}.cv-container{margin-top:16px}@media (min-width: 768px){.cv-layout{display:flex;gap:24px;align-items:flex-start}.cv-calendar-panel{flex:0 0 540px;min-width:0}.cv-detail-panel{flex:1;min-width:0;position:sticky;top:24px}.cv-detail-panel .cv-day-detail{margin-top:0}}.cv-nav{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px}.cv-nav-btn{background:none;border:1px solid #ddd;border-radius:8px;padding:8px 12px;cursor:pointer;color:var(--color-text);transition:all .2s;display:flex;align-items:center}.cv-nav-btn:hover{background:var(--color-secondary);border-color:var(--color-primary);color:var(--color-primary)}.cv-month-label{font-family:var(--font-family-serif);font-size:1.2rem;font-weight:600;color:var(--color-text)}.cv-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:4px}.cv-weekdays{margin-bottom:8px}.cv-weekday{text-align:center;font-size:.75rem;font-weight:600;color:var(--color-text-light);text-transform:uppercase;letter-spacing:1px;padding:8px 0}.cv-cell{aspect-ratio:1;border-radius:10px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;cursor:pointer;transition:all .2s;position:relative;border:2px solid transparent}.cv-pad{cursor:default}.cv-cell.cv-has-data:hover{background:var(--color-secondary)}.cv-day-num{font-size:.9rem;font-weight:500;color:var(--color-text)}.cv-cell.cv-today .cv-day-num{background:var(--color-primary);color:#fff;width:28px;height:28px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700}.cv-cell.cv-event-day{border-color:var(--color-primary);background:#6b908014}.cv-cell.cv-event-day .cv-day-num{color:var(--color-primary);font-weight:700}.cv-cell.cv-overdue{background:#e74c3c0f}.cv-cell.cv-overdue .cv-day-num{color:#e74c3c}.cv-cell.cv-selected{border-color:var(--color-primary);background:var(--color-secondary);box-shadow:0 2px 8px #6b908033}.cv-dots{display:flex;gap:2px;justify-content:center;min-height:8px}.cv-dot{width:6px;height:6px;border-radius:50%}.cv-dot-reminder{width:auto;height:auto;font-size:.5rem;background:none;line-height:1}.cv-day-detail{margin-top:20px;background:#fff;border-radius:14px;padding:20px;box-shadow:0 4px 16px #00000014;animation:cvSlideUp .2s ease}@keyframes cvSlideUp{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.cv-day-empty{text-align:center;color:var(--color-text-light);font-size:.9rem;padding:24px}.cv-detail-title{font-family:var(--font-family-serif);font-size:1.1rem;color:var(--color-text);margin:0 0 16px;text-transform:capitalize}.cv-detail-section{margin-bottom:12px}.cv-detail-label{font-size:.75rem;text-transform:uppercase;letter-spacing:1px;color:var(--color-text-light);margin-bottom:8px;display:flex;align-items:center;gap:6px}.cv-task-row{display:flex;align-items:center;gap:12px;padding:10px 8px;border-radius:8px;cursor:pointer;transition:background .2s}.cv-task-row:hover{background:#f8faf9}.cv-task-info{flex:1;min-width:0}.cv-task-name{font-size:.95rem;color:var(--color-text);display:block}.cv-task-name.done{text-decoration:line-through;opacity:.5}.cv-task-time{font-weight:600;font-size:.8rem;margin-right:8px;color:var(--color-primary)}.cv-task-meta{display:flex;gap:6px;margin-top:4px;align-items:center}.cv-cat-badge{font-size:.65rem;padding:2px 6px;border-radius:8px;color:#fff}.cv-notes-badge{font-size:.7rem;display:inline-flex;align-items:center;gap:3px;color:var(--color-text-light)}.cv-reminder-row{display:flex;align-items:center;gap:8px;padding:8px;border-radius:8px;cursor:pointer;font-size:.9rem;color:var(--color-text);font-style:italic;transition:background .2s}.cv-reminder-row:hover{background:#f8faf9}.cv-reminder-icon{color:#f39c12;display:flex}@media (max-width: 767px){.cv-layout{display:block}.cv-detail-panel{margin-top:0}.cv-cell{aspect-ratio:auto;min-height:44px}.cv-day-num{font-size:.8rem}.cv-dot{width:5px;height:5px}}.pp-tabs{margin:20px 40px 16px;display:flex;gap:6px;background:#fff;padding:5px;border-radius:12px;box-shadow:0 2px 12px #0000000f}.pp-tab{flex:1;display:flex;align-items:center;justify-content:center;gap:8px;padding:12px 16px;border:none;border-radius:8px;background:transparent;color:var(--color-text-light);font-weight:500;font-size:.9rem;cursor:pointer;transition:all .2s}.pp-tab:hover{background:#f0f5f3;color:var(--color-primary)}.pp-tab.active{background:var(--color-primary);color:#fff}.pp-filters{margin:0 40px 20px;display:flex;gap:8px;overflow-x:auto;padding-bottom:4px;scrollbar-width:none;-ms-overflow-style:none}.pp-filters::-webkit-scrollbar{display:none}.pp-filter-chip{display:flex;align-items:center;gap:5px;padding:7px 14px;border:1px solid #ddd;border-radius:20px;background:#fff;color:var(--color-text-light);font-size:.8rem;font-weight:500;cursor:pointer;white-space:nowrap;transition:all .2s}.pp-filter-chip:hover{border-color:var(--color-primary);color:var(--color-primary)}.pp-filter-chip.active{background:var(--color-primary);color:#fff;border-color:var(--color-primary)}.pp-content{padding:0 40px 40px}.pp-view-toggle{display:flex;gap:4px;background:#fff;padding:4px;border-radius:10px;margin-bottom:20px;width:fit-content;box-shadow:0 1px 4px #0000000f}.pp-view-btn{display:flex;align-items:center;gap:6px;padding:8px 16px;border:none;border-radius:7px;background:transparent;color:var(--color-text-light);font-size:.85rem;font-weight:500;cursor:pointer;transition:all .2s}.pp-view-btn:hover{background:#f0f5f3}.pp-view-btn.active{background:var(--color-primary);color:#fff}.pp-timeline-tab{display:flex;flex-direction:column;gap:16px}.pp-timeline{display:flex;flex-direction:column;gap:20px}.pp-timeline>.pp-section{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.pp-section{grid-column:1 / -1;margin-bottom:4px}.pp-section-header{display:flex;align-items:center;gap:8px;font-size:.8rem;font-weight:600;text-transform:uppercase;letter-spacing:1.5px;color:var(--color-text-light);margin-bottom:12px;padding:0;background:none;border:none;cursor:default}.pp-overdue-header{color:#e74c3c}.pp-past-header{cursor:pointer;color:var(--color-text-light);opacity:.7}.pp-past-header:hover{opacity:1}.pp-chevron{display:inline-flex;transition:transform .3s ease;margin-left:auto}.pp-chevron.expanded{transform:rotate(180deg)}.pp-section-overdue{background:#e74c3c0a;border-radius:14px;padding:16px;border-left:3px solid #e74c3c}.pp-section-past{opacity:.8}.pp-date-group{background:#fff;border-radius:14px;padding:16px 20px;box-shadow:0 2px 8px #0000000a;display:flex;flex-direction:column;min-width:0}.pp-event-day{border-left:4px solid var(--color-primary);background:linear-gradient(135deg,#fff,#6b90800d)}.pp-date-header{display:flex;align-items:baseline;gap:8px;margin-bottom:10px}.pp-day-label{font-family:var(--font-family-serif);font-size:1.1rem;font-weight:700;color:var(--color-text)}.pp-date-overdue .pp-day-label{color:#e74c3c}.pp-event-day .pp-day-label{color:var(--color-primary)}.pp-date-text{font-size:.85rem;color:var(--color-text-light)}.pp-date-tasks{display:flex;flex-direction:column;gap:2px}.page-shell .task-checkbox{border-color:#ccc;width:22px;height:22px}.page-shell .task-checkbox:hover{border-color:var(--color-primary);background:#6b908014}.page-shell .task-checkbox.completed{background:var(--color-primary);border-color:var(--color-primary)}.page-shell .task-checkbox-icon{color:#fff}.pp-task-row{display:flex;align-items:center;gap:12px;padding:10px 8px;border-radius:8px;cursor:pointer;transition:background .2s}.pp-task-row:hover{background:#f8faf9}.pp-task-overdue{opacity:.95}.pp-task-done{opacity:.6}.pp-task-info{flex:1;min-width:0}.pp-task-title{font-size:.95rem;color:var(--color-text);display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pp-task-title.done{text-decoration:line-through}.pp-task-time{font-weight:600;font-size:.8rem;margin-right:8px;color:var(--color-primary)}.pp-task-meta{display:flex;gap:6px;margin-top:4px;align-items:center;flex-wrap:wrap}.pp-cat-badge{font-size:.65rem;padding:2px 8px;border-radius:10px;color:#fff;display:inline-flex;align-items:center;gap:4px}.pp-notes-badge{font-size:.7rem;display:inline-flex;align-items:center;gap:3px;color:var(--color-text-light)}.pp-budget-badge{font-size:.7rem;color:var(--color-text-light)}.pp-reminder-row{display:flex;align-items:center;gap:10px;padding:8px;border-radius:8px;cursor:pointer;font-size:.9rem;color:var(--color-text);font-style:italic;transition:background .2s}.pp-reminder-row:hover{background:#f8faf9}.pp-reminder-icon{color:#f39c12;display:flex}.pp-reminder-text{flex:1}.pp-empty{text-align:center;padding:60px 20px;color:var(--color-text-light);font-size:1rem}.pp-loading{display:flex;flex-direction:column;align-items:center;gap:12px;padding:60px 0;color:var(--color-text-light)}.pp-spinner{width:32px;height:32px;border:3px solid var(--color-secondary, #cce3de);border-top-color:var(--color-primary, #6b9080);border-radius:50%;animation:ppSpin .7s linear infinite}@keyframes ppSpin{to{transform:rotate(360deg)}}.pp-fab{position:fixed;bottom:32px;right:32px;width:56px;height:56px;border-radius:50%;background:var(--color-primary);color:#fff;border:none;display:flex;align-items:center;justify-content:center;box-shadow:0 6px 20px #6b908066;cursor:pointer;transition:all .2s;z-index:100}.pp-fab:hover{transform:scale(1.08);box-shadow:0 8px 28px #6b908080}.pp-list{background:#fff;border-radius:14px;padding:12px 16px;box-shadow:0 2px 8px #0000000a}@media (max-width: 767px){.pp-timeline>.pp-section{grid-template-columns:1fr}}@media (max-width: 600px){.pp-tabs{margin:12px 16px 10px;gap:4px}.pp-tabs .pp-tab{padding:10px 8px;font-size:.8rem;gap:4px}.pp-tab svg{width:14px;height:14px}.pp-filters{margin:0 16px 16px}.pp-filter-chip{padding:6px 10px;font-size:.75rem}.pp-content{padding:0 16px 100px}.pp-timeline{gap:12px}.pp-timeline>.pp-section{gap:0}.pp-section{margin-bottom:8px}.pp-section-overdue{padding:12px}.pp-date-group{padding:12px 14px;border-radius:10px;box-shadow:none;background:#fff;margin-bottom:6px;border-left:3px solid var(--color-secondary)}.pp-date-group.pp-event-day{border-left-color:var(--color-primary)}.pp-section-overdue .pp-date-group{border-left-color:#e74c3c}.pp-day-label{font-size:.95rem}.pp-date-text{font-size:.8rem}.pp-task-row{padding:8px 4px;gap:10px}.pp-task-title{font-size:.875rem}.pp-cat-badge{font-size:.6rem;padding:1px 6px}.pp-fab{bottom:20px;right:20px;width:50px;height:50px}}.bp-accordion-chevron{color:var(--color-text-light);transition:transform .3s ease}.bp-accordion-chevron.open{transform:rotate(180deg)}.bp-expense-group{margin-bottom:4px}.bp-expense-group-header{display:flex;align-items:center;gap:8px;width:100%;padding:12px 0;border:none;background:none;cursor:pointer;font-size:.8rem;font-weight:600;text-transform:uppercase;letter-spacing:1.5px;color:var(--color-text-light);transition:color .2s}.bp-expense-group-header:hover{color:var(--color-text)}.bp-expense-group-name{flex:1;text-align:left}.bp-expense-group-totals{font-weight:500;letter-spacing:0;text-transform:none;font-size:.8rem;color:var(--color-text);margin-right:8px}.bp-expense-group-body{max-height:0;overflow:hidden;transition:max-height .3s ease}.bp-expense-group-body.open{max-height:2000px}.bp-expense-row{display:flex;align-items:center;gap:12px;padding:14px 16px;background:#f8faf9;border-radius:10px;cursor:pointer;transition:background .2s;margin-bottom:6px}.bp-expense-row:hover{background:#f0f5f3}.bp-expense-info{flex:1;min-width:0}.bp-expense-desc{font-size:.9rem;color:var(--color-text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.bp-expense-vendor{font-size:.8rem;color:var(--color-text-light);margin-top:2px}.bp-expense-financials{display:flex;flex-direction:column;align-items:flex-end;gap:4px;min-width:100px}.bp-expense-costs{white-space:nowrap}.bp-expense-actual{font-weight:600;font-size:.9rem;color:var(--color-text)}.bp-expense-estimated{font-size:.75rem;color:var(--color-text-light)}.bp-expense-payment-bar-wrapper{display:flex;flex-direction:column;align-items:flex-end;gap:2px;width:100%}.bp-expense-payment-bar{width:100%;height:4px;background:#e8e8e8;border-radius:2px;overflow:hidden}.bp-expense-payment-fill{height:100%;border-radius:2px;transition:width .4s ease;background:#95a5a6}.bp-expense-payment-fill.deposit{background:#f39c12}.bp-expense-payment-fill.paid{background:#27ae60}.bp-expense-payment-text{font-size:.65rem;color:var(--color-text-light);white-space:nowrap}.bp-expense-remain{color:#f39c12}.bp-payment-badge{font-size:.7rem;padding:3px 10px;border-radius:10px;font-weight:500;white-space:nowrap;flex-shrink:0}.bp-payment-badge.not_paid{background:#95a5a626;color:#95a5a6}.bp-payment-badge.deposit{background:#f39c1226;color:#f39c12}.bp-payment-badge.paid{background:#27ae6026;color:#27ae60}.bp-add-expense-btn{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;padding:14px 24px;margin-top:16px;background:var(--color-primary);color:#fff;border:none;border-radius:12px;font-weight:600;font-size:.9375rem;cursor:pointer;transition:all .2s;box-shadow:0 4px 16px #6b90804d}.bp-add-expense-btn:hover{background:var(--color-primary-dark);transform:translateY(-2px);box-shadow:0 6px 20px #6b908066}.bp-expense-count{display:inline-flex;align-items:center;justify-content:center;min-width:22px;height:22px;padding:0 6px;background:var(--color-primary);color:#fff;border-radius:11px;font-size:.7rem;font-weight:600;margin-left:4px}.bp-empty{text-align:center;padding:40px 20px;color:var(--color-text-light)}.bp-empty svg{color:var(--color-secondary);margin-bottom:12px}@media (max-width: 900px){.bp-expense-row{flex-wrap:wrap;gap:8px;padding:12px 14px}.bp-expense-financials{width:100%;align-items:stretch;flex-direction:row;justify-content:space-between;gap:8px}.bp-expense-payment-bar-wrapper{flex:1}}@media (max-width: 480px){.bp-expense-row,.bp-add-expense-btn{min-height:44px}}.bp-stat-over svg{color:#f39c12}.bp-value-over{color:#f39c12}.bp-grid{display:grid;grid-template-columns:1fr 380px;gap:24px;align-items:start}.bp-grid-left{min-width:0}.bp-grid-right{display:flex;flex-direction:column;gap:20px;position:sticky;top:90px}.bp-progress-wrapper{width:100%;padding:0 40px;margin-bottom:0}.bp-progress-header{display:flex;justify-content:space-between;margin-bottom:8px}.bp-progress-label{font-size:.875rem;color:var(--color-text-light)}.bp-progress-value{font-size:.875rem;font-weight:600;color:var(--color-primary)}.bp-progress-value.over{color:#f39c12}.bp-progress-bar{background:var(--color-secondary);border-radius:8px;height:10px;overflow:hidden}.bp-progress-fill{height:100%;border-radius:8px;background:var(--color-primary);transition:width .5s ease}.bp-progress-fill.over{background:#f39c12}.bp-section-card{background:#fff;border-radius:14px;box-shadow:0 4px 16px #00000014;margin-bottom:24px;overflow:hidden}.bp-accordion-header{display:flex;align-items:center;justify-content:space-between;width:100%;padding:20px 24px;border:none;background:none;cursor:pointer;transition:background .2s}.bp-accordion-header:hover{background:#f8faf9}.bp-accordion-title{display:flex;align-items:center;gap:10px}.bp-accordion-title svg{color:var(--color-primary)}.bp-accordion-title h3{font-family:var(--font-family-serif);font-size:1.125rem;color:var(--color-text);margin:0}.bp-accordion-content{max-height:0;overflow:hidden;transition:max-height .4s ease,padding .3s ease;padding:0 24px}.bp-accordion-content.open{max-height:5000px;padding:0 24px 24px}.bp-config-body{display:flex;flex-direction:column}.bp-total-budget-row{display:flex;align-items:center;gap:16px;margin-bottom:24px}.bp-total-budget-row .form-label{white-space:nowrap;margin-bottom:0}.bp-total-budget-row .form-input{max-width:200px}.bp-alloc-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.bp-alloc-header h4{font-size:.9rem;font-weight:500;color:var(--color-text-light);margin:0}.bp-alloc-total{font-size:.8rem;font-weight:600;color:var(--color-text-light)}.bp-alloc-total.over{color:#f39c12}.bp-alloc-warning{display:inline-flex;align-items:center;gap:5px;font-size:.75rem;font-weight:600;color:#f39c12;background:#f39c121a;padding:4px 10px;border-radius:10px;margin-left:8px}.bp-alloc-warning svg{color:#f39c12!important}.bp-alloc-warning-bar{display:flex;align-items:center;gap:8px;padding:10px 14px;background:#f39c1214;border:1px solid rgba(243,156,18,.2);border-radius:10px;color:#f39c12;font-size:.8rem;font-weight:500;margin-bottom:16px}.bp-category-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:12px;margin-bottom:20px}.bp-category-row{display:flex;align-items:center;gap:10px;padding:12px 14px;background:#f8faf9;border-radius:10px;transition:background .2s}.bp-category-row:hover{background:#f0f5f3}.bp-category-icon{width:36px;height:36px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.8rem;font-weight:600;flex-shrink:0}.bp-category-info{flex:1;min-width:0}.bp-category-name{font-weight:500;font-size:.9rem;color:var(--color-text)}.bp-category-input{width:100px;padding:8px 10px;border:1px solid #ddd;border-radius:8px;font-size:.875rem;font-family:inherit;text-align:right;transition:border-color .2s,box-shadow .2s}.bp-category-input:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px #6b908026}.bp-save-config-btn{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;padding:14px 24px;background:var(--color-primary);color:#fff;border:none;border-radius:12px;font-weight:600;font-size:.9375rem;cursor:pointer;transition:all .2s;box-shadow:0 4px 16px #6b90804d}.bp-save-config-btn:hover:not(.disabled){background:var(--color-primary-dark);transform:translateY(-2px);box-shadow:0 6px 20px #6b908066}.bp-save-config-btn.disabled{opacity:.4;cursor:not-allowed;box-shadow:none}.bp-donut-section{display:flex;align-items:flex-start;gap:32px;flex-wrap:wrap}.bp-donut-wrapper{position:relative;flex-shrink:0}.bp-donut-wrapper .recharts-wrapper{cursor:default!important}.bp-donut-center{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);text-align:center;pointer-events:none}.bp-donut-center-value{display:block;font-size:1.25rem;font-weight:700;color:var(--color-text);line-height:1.2}.bp-donut-center-sub{display:block;font-size:.7rem;color:var(--color-text-light)}.bp-recharts-tooltip{display:flex;align-items:center;gap:8px;padding:8px 14px;background:#fffffff2;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-radius:10px;box-shadow:0 4px 20px #0000001f;border:1px solid rgba(0,0,0,.06);font-family:inherit}.bp-recharts-tooltip-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.bp-recharts-tooltip-label{font-size:.8125rem;color:var(--color-text);font-weight:500}.bp-recharts-tooltip-value{font-size:.8125rem;font-weight:700;color:var(--color-text);margin-left:4px}.bp-donut-legend{flex:1;min-width:180px;display:flex;flex-direction:column;gap:10px}.bp-donut-legend-item{display:flex;align-items:center;gap:10px}.bp-donut-legend-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0}.bp-donut-legend-label{flex:1;font-size:.875rem;color:var(--color-text)}.bp-donut-legend-value{font-size:.8125rem;font-weight:600;color:var(--color-text);white-space:nowrap}.bp-donut-legend-value.over{color:#f39c12}.bp-donut-legend-alloc{font-weight:400;color:var(--color-text-light)}.bp-delete-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1100;animation:fadeIn .2s ease}.bp-delete-dialog{background:#fff;border-radius:14px;padding:28px;max-width:380px;width:90%;text-align:center;box-shadow:0 20px 60px #0000004d}.bp-delete-dialog h3{margin-bottom:8px;font-family:var(--font-family-serif)}.bp-delete-dialog p{color:var(--color-text-light);margin-bottom:24px;font-size:.9rem}.bp-delete-actions{display:flex;gap:12px;justify-content:center}.bp-loading{display:flex;flex-direction:column;align-items:center;gap:12px;padding:60px 0;color:var(--color-text-light)}.bp-spinner{width:32px;height:32px;border:3px solid var(--color-secondary);border-top-color:var(--color-primary);border-radius:50%;animation:bpSpin .7s linear infinite}@keyframes bpSpin{to{transform:rotate(360deg)}}@media (max-width: 900px){.bp-grid{grid-template-columns:1fr}.bp-grid-right{position:static}.bp-progress-wrapper{padding:0 16px}.bp-total-budget-row{flex-direction:column;align-items:stretch;gap:8px}.bp-total-budget-row .form-input{max-width:100%}.bp-donut-section{flex-direction:column;align-items:center;gap:20px}.bp-donut-legend{min-width:unset;width:100%}.modal-overlay:has(.bp-expense-modal){padding:0;align-items:stretch}.modal-overlay .bp-expense-modal{width:100%;max-width:100%;height:100%;max-height:none;border-radius:0;display:flex;flex-direction:column;overflow:hidden}.bp-expense-modal form{display:flex;flex-direction:column;flex:1;min-height:0}.bp-expense-modal .modal-body{flex:1;min-height:0;overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain}.bp-expense-modal .modal-header{flex-shrink:0}.bp-expense-modal .modal-footer{flex-shrink:0;padding-bottom:calc(16px + env(safe-area-inset-bottom))}.bp-add-payment-form{grid-template-columns:1fr 1fr;gap:8px}.bp-add-payment-form .form-input:first-child{grid-column:1 / -1}}@media (max-width: 480px){.bp-category-row{padding:10px 12px}.bp-category-input{width:80px;padding:8px;font-size:.8rem}.bp-category-row,.bp-save-config-btn{min-height:44px}.bp-add-payment-form{grid-template-columns:1fr}.bp-add-payment-form .add-note-btn{width:100%;height:44px}}.vcb-label-row{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:8px}.vcb-label-row .form-label{margin-bottom:0}.vcb-linked{display:inline-flex;align-items:center;gap:4px;padding:2px 9px;border-radius:999px;background:#e8f2ed;color:var(--color-primary-dark);font-size:.72rem;font-weight:600;white-space:nowrap}.vcb-field{position:relative}.vcb-list{position:absolute;top:calc(100% + 4px);left:0;right:0;z-index:20;max-height:240px;margin:0;padding:4px;overflow-y:auto;overscroll-behavior:contain;list-style:none;background:#fff;border:1px solid #e3e8e5;border-radius:10px;box-shadow:0 12px 32px #00000024}.vcb-option{display:flex;align-items:center;gap:10px;min-height:44px;padding:6px 10px;border-radius:8px;cursor:pointer}.vcb-option.active{background:#f0f5f2}.vcb-option-icon{display:flex;align-items:center;justify-content:center;flex-shrink:0;width:30px;height:30px;border-radius:8px;background:color-mix(in srgb,var(--vcb-cat-color) 14%,#fff);color:var(--vcb-cat-color)}.vcb-option-text{display:flex;flex-direction:column;flex:1;min-width:0}.vcb-option-name{overflow:hidden;color:var(--color-text);font-size:.92rem;font-weight:500;text-overflow:ellipsis;white-space:nowrap}.vcb-option-category{color:var(--color-text-light);font-size:.75rem}.vcb-option-exclusive{flex-shrink:0;color:#c9a227;fill:#c9a227}@media (max-width: 900px){.vcb-list{max-height:min(240px,40vh)}}.bp-expense-modal{background:#fff;border-radius:16px;width:90%;max-width:520px;max-height:90vh;overflow-y:auto;box-shadow:0 20px 60px #0000004d;animation:slideUp .3s ease;overscroll-behavior:contain;scrollbar-width:none;-ms-overflow-style:none}.bp-expense-modal::-webkit-scrollbar{display:none}.bp-payment-summary{margin-bottom:16px;padding:12px 14px;background:#f8faf9;border-radius:10px}.bp-payment-summary-bar{height:6px;background:#e8e8e8;border-radius:3px;overflow:hidden;margin-bottom:8px}.bp-payment-summary-fill{height:100%;border-radius:3px;transition:width .4s ease;background:#95a5a6}.bp-payment-summary-fill.deposit{background:#f39c12}.bp-payment-summary-fill.paid{background:#27ae60}.bp-payment-summary-text{display:flex;justify-content:space-between;font-size:.8rem;color:var(--color-text-light)}.bp-payment-remain{color:#f39c12;font-weight:500}.bp-payment-complete{color:#27ae60;font-weight:600}.bp-payments-list{display:flex;flex-direction:column;gap:6px;margin-bottom:12px}.bp-payment-item{display:flex;align-items:center;gap:8px;padding:10px 12px;background:#f8faf9;border-radius:8px;border-left:3px solid var(--color-primary)}.bp-payment-item-info{flex:1;min-width:0}.bp-payment-item-label{display:block;font-size:.875rem;color:var(--color-text)}.bp-payment-item-date{display:block;font-size:.7rem;color:var(--color-text-light);margin-top:2px}.bp-payment-item-amount{font-weight:600;font-size:.9rem;color:var(--color-text);white-space:nowrap}.bp-add-payment-form{display:grid;grid-template-columns:1fr 100px 120px 40px;gap:8px;align-items:start}.bp-add-payment-form .form-input{padding:10px 12px;font-size:.85rem}@media (max-width: 900px){.modal-overlay:has(.bp-expense-modal){padding:0;align-items:stretch}.modal-overlay .bp-expense-modal{width:100%;max-width:100%;height:100%;max-height:none;border-radius:0;display:flex;flex-direction:column;overflow:hidden}.bp-expense-modal form{display:flex;flex-direction:column;flex:1;min-height:0}.bp-expense-modal .modal-body{flex:1;min-height:0;overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain}.bp-expense-modal .modal-header{flex-shrink:0}.bp-expense-modal .modal-footer{flex-shrink:0;padding-bottom:calc(16px + env(safe-area-inset-bottom))}.bp-add-payment-form{grid-template-columns:1fr 1fr;gap:8px}.bp-add-payment-form .form-input:first-child{grid-column:1 / -1}}@media (max-width: 480px){.bp-add-payment-form{grid-template-columns:1fr}.bp-add-payment-form .add-note-btn{width:100%;height:44px}}.vd-content{max-width:1200px;margin:0 auto;padding-top:28px}.vd-intro{margin:0 0 20px;max-width:640px;color:var(--color-text-light);font-size:.95rem;line-height:1.55}.vd-filters{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:28px}.vd-chip{--vd-cat-color: var(--color-primary);display:inline-flex;align-items:center;gap:6px;min-height:38px;padding:0 14px;border:1px solid transparent;border-radius:999px;background:#fff;color:var(--color-text);font-family:inherit;font-size:.875rem;font-weight:500;white-space:nowrap;cursor:pointer;box-shadow:0 2px 8px #0000000f;transition:background .2s,color .2s,border-color .2s}.vd-chip svg{color:var(--vd-cat-color)}.vd-chip:hover{border-color:var(--vd-cat-color)}.vd-chip.active{background:var(--vd-cat-color);border-color:var(--vd-cat-color);color:#fff}.vd-chip.active svg{color:#fff}.vd-chip:focus-visible{outline:2px solid var(--color-primary-dark);outline-offset:2px}.vd-chip-count{display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:20px;padding:0 6px;border-radius:10px;background:#00000014;font-size:.72rem;font-weight:600}.vd-chip.active .vd-chip-count{background:#ffffff40}.vd-section+.vd-section{margin-top:36px}.vd-section-head{margin-bottom:16px}.vd-section-title{margin:0;font-family:var(--font-family-serif);font-size:1.35rem;color:var(--color-text)}.vd-section-subtitle{margin:4px 0 0;color:var(--color-text-light);font-size:.875rem}.vd-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:20px;align-items:start}.vd-card{--vd-cat-color: var(--color-primary);display:flex;flex-direction:column;gap:14px;min-width:0;padding:22px;background:#fff;border-radius:16px;border-top:4px solid var(--vd-cat-color);box-shadow:0 4px 20px #00000014}.vd-card-head{display:flex;align-items:center;gap:14px}.vd-card-icon{display:flex;align-items:center;justify-content:center;flex-shrink:0;width:44px;height:44px;border-radius:12px;background:color-mix(in srgb,var(--vd-cat-color) 14%,#fff);color:var(--vd-cat-color)}.vd-card-titles{min-width:0}.vd-card-name{margin:0;font-family:var(--font-family-serif);font-size:1.15rem;line-height:1.25;color:var(--color-text);overflow-wrap:break-word}.vd-card-category{display:block;margin-top:2px;color:var(--vd-cat-color);font-size:.75rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase}.vd-card-description{margin:0;color:var(--color-text);font-size:.9rem;line-height:1.55;white-space:pre-line}.vd-card-note{margin:0;padding:10px 14px;border-left:3px solid var(--vd-cat-color);border-radius:0 10px 10px 0;background:#f8faf9;color:var(--color-text);font-family:var(--font-family-serif);font-size:.92rem;font-style:italic;line-height:1.5}.vd-card-perk{display:flex;align-items:flex-start;gap:8px;margin:0;padding:9px 12px;border-radius:10px;background:#fdf6e3;color:#8a6512;font-size:.85rem;font-weight:500;line-height:1.4}.vd-card-perk svg{flex-shrink:0;margin-top:2px}.vd-card-contact-section{border-top:1px solid #edf1ef}.vd-card-contact-toggle{display:flex;align-items:center;gap:10px;width:100%;min-height:44px;padding:10px 0 0;border:none;background:none;color:var(--color-text);font-family:inherit;font-size:.875rem;font-weight:600;text-align:left;cursor:pointer}.vd-card-contact-toggle:hover .vd-card-contact-label{color:var(--color-primary-dark)}.vd-card-contact-toggle:focus-visible{outline:2px solid var(--color-primary-dark);outline-offset:2px;border-radius:6px}.vd-card-contact-label{transition:color .2s}.vd-card-contact-channels{display:inline-flex;gap:6px;margin-left:auto;color:var(--color-text-light)}.vd-card-contact-chevron{flex-shrink:0;color:var(--color-text-light);transition:transform .25s ease}.vd-card-contact-section.open .vd-card-contact-chevron{transform:rotate(180deg)}.vd-card-contact-panel{display:grid;grid-template-rows:0fr;transition:grid-template-rows .25s ease}.vd-card-contact-section.open .vd-card-contact-panel{grid-template-rows:1fr}.vd-card-contact{display:flex;flex-direction:column;gap:4px;min-height:0;margin:0;padding:0;overflow:hidden;list-style:none}.vd-card-contact-section.open .vd-card-contact{padding-top:6px}.vd-card-contact li{display:flex;align-items:center;gap:10px;min-height:32px;color:var(--color-text);font-size:.9rem}.vd-card-contact li>svg{flex-shrink:0;color:var(--color-text-light)}.vd-card-contact-value{min-width:0;overflow-wrap:anywhere}.vd-selectable{user-select:text;-webkit-user-select:text}.vd-card-link{display:inline-flex;align-items:center;gap:4px;color:var(--color-primary-dark);font-weight:500;text-decoration:none}.vd-card-link:hover{text-decoration:underline}.vd-card-link svg{flex-shrink:0}.vd-copy-btn{display:inline-flex;align-items:center;justify-content:center;gap:4px;flex-shrink:0;min-width:32px;height:32px;margin-left:auto;padding:0 8px;border:none;border-radius:8px;background:transparent;color:var(--color-text-light);font-family:inherit;font-size:.75rem;font-weight:600;cursor:pointer;transition:background .2s,color .2s}.vd-copy-btn:hover{background:#f0f5f2;color:var(--color-primary-dark)}.vd-copy-btn:focus-visible{outline:2px solid var(--color-primary-dark);outline-offset:1px}.vd-copy-btn--copied{background:#e8f5ee;color:#1e8449}.vd-copy-btn--error{background:#fdecea;color:#c0392b}.vd-copy-feedback{white-space:nowrap}.vd-card-footer{margin-top:auto}.vd-card-add{display:inline-flex;align-items:center;justify-content:center;gap:6px;width:100%;min-height:44px;padding:0 16px;border:1.5px solid var(--color-primary);border-radius:10px;background:#fff;color:var(--color-primary-dark);font-family:inherit;font-size:.9rem;font-weight:600;cursor:pointer;transition:background .2s,color .2s}.vd-card-add:hover{background:var(--color-primary);color:#fff}.vd-card-add:focus-visible{outline:2px solid var(--color-primary-dark);outline-offset:2px}.vd-state{display:flex;flex-direction:column;align-items:center;gap:10px;padding:64px 24px;background:#fff;border-radius:16px;box-shadow:0 4px 20px #00000014;color:var(--color-text-light);text-align:center}.vd-state svg{color:var(--color-primary)}.vd-state p{margin:0}.vd-state-title{font-family:var(--font-family-serif);font-size:1.15rem;color:var(--color-text)}.vd-state--error svg{color:#e67e22}.vd-spinner{width:36px;height:36px;border:3px solid var(--color-secondary);border-top-color:var(--color-primary);border-radius:50%;animation:vd-spin .8s linear infinite}@keyframes vd-spin{to{transform:rotate(360deg)}}.vd-retry{display:inline-flex;align-items:center;gap:6px;min-height:44px;margin-top:6px;padding:0 18px;border:none;border-radius:10px;background:var(--color-primary);color:#fff;font-family:inherit;font-weight:600;cursor:pointer}.vd-retry svg{color:#fff}.vd-retry:hover{background:var(--color-primary-dark)}.vd-toast{position:fixed;left:50%;bottom:calc(24px + env(safe-area-inset-bottom));z-index:1100;display:flex;align-items:center;gap:10px;max-width:calc(100vw - 32px);padding:10px 10px 10px 16px;border-radius:12px;background:var(--color-text);color:#fff;font-size:.9rem;box-shadow:0 10px 30px #00000040;transform:translate(-50%);animation:vd-toast-in .25s ease}.vd-toast--success>svg{color:#58d68d}.vd-toast--error>svg{color:#f5b041}.vd-toast-link{display:inline-flex;align-items:center;gap:4px;min-height:36px;padding:0 4px;color:#a9dfbf;font-weight:600;text-decoration:none;white-space:nowrap}.vd-toast-link:hover{text-decoration:underline}.vd-toast-close{display:flex;align-items:center;justify-content:center;flex-shrink:0;width:36px;height:36px;border:none;border-radius:8px;background:transparent;color:#ffffffb3;cursor:pointer}.vd-toast-close:hover{background:#ffffff1a;color:#fff}@keyframes vd-toast-in{0%{opacity:0;transform:translate(-50%,12px)}}@media (max-width: 768px){.vd-content{padding-top:18px}.vd-intro{font-size:.875rem}.vd-filters{flex-wrap:nowrap;overflow-x:auto;margin:0 -16px 22px;padding:2px 16px 6px;scrollbar-width:none;-webkit-overflow-scrolling:touch}.vd-filters::-webkit-scrollbar{display:none}.vd-chip{flex-shrink:0;min-height:44px}.vd-grid{grid-template-columns:1fr;gap:14px}.vd-card{padding:18px}.vd-card-contact li{min-height:44px}.vd-copy-btn{min-width:44px;height:44px}.vd-section-title{font-size:1.2rem}.vd-toast{left:16px;right:16px;max-width:none;transform:none;animation-name:vd-toast-in-mobile}@keyframes vd-toast-in-mobile{0%{opacity:0;transform:translateY(12px)}}}.seating-plans-page{min-height:100vh;background:#faf9f7}.seating-plans-content{max-width:1100px;margin:0 auto;padding:24px 20px 60px}.sp-loading{text-align:center;color:#999;padding:60px 0}.sp-error{background:#fdecea;color:#c0392b;border:1px solid #f5c6cb;border-radius:8px;padding:10px 14px;margin-bottom:16px;font-size:14px}.sp-empty{display:flex;flex-direction:column;align-items:center;gap:12px;text-align:center;padding:70px 20px;color:#6b7280}.sp-empty svg{color:#6b9080}.sp-empty h2{margin:0;font-size:20px;color:#2c3e50}.sp-empty p{margin:0;max-width:420px;font-size:14px;line-height:1.5}.sp-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px}.sp-card{background:#fff;border:1px solid #e5e7eb;border-radius:12px;padding:18px;cursor:pointer;transition:box-shadow .15s ease,border-color .15s ease;display:flex;flex-direction:column;gap:10px}.sp-card:hover{box-shadow:0 4px 14px #00000014;border-color:#6b9080}.sp-card-active{border-color:#6b9080;box-shadow:0 0 0 1px #6b9080}.sp-card-top{display:flex;align-items:flex-start;justify-content:space-between;gap:8px}.sp-card-name{margin:0;font-size:17px;color:#2c3e50}.sp-badge-active{display:inline-flex;align-items:center;gap:4px;background:#6b9080;color:#fff;font-size:11px;font-weight:600;border-radius:999px;padding:3px 9px;white-space:nowrap}.sp-card-source{display:flex;align-items:center;gap:6px;color:#6b7280;font-size:13px}.sp-card-stats{display:flex;gap:16px;font-size:13px;color:#4b5563}.sp-card-stats span{display:inline-flex;align-items:center;gap:5px}.sp-card-actions{display:flex;gap:6px;border-top:1px solid #f0f0f0;padding-top:10px;margin-top:auto}.sp-action{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border:1px solid #e5e7eb;border-radius:8px;background:#fff;color:#4b5563;cursor:pointer;transition:background .15s ease}.sp-action:hover{background:#f3f4f6}.sp-action-danger:hover{background:#fdecea;color:#c0392b;border-color:#f5c6cb}.sp-btn{display:inline-flex;align-items:center;gap:6px;padding:9px 16px;border-radius:8px;border:1px solid #d1d5db;background:#fff;color:#374151;font-size:14px;font-weight:500;cursor:pointer;transition:background .15s ease}.sp-btn:hover{background:#f3f4f6}.sp-btn:disabled{opacity:.5;cursor:not-allowed}.sp-btn-primary{background:#6b9080;border-color:#6b9080;color:#fff}.sp-btn-primary:hover:not(:disabled){background:#5a7d6e}.sp-btn-danger{background:#c0392b;border-color:#c0392b;color:#fff}.sp-btn-danger:hover:not(:disabled){background:#a93226}.sp-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0006;display:flex;align-items:center;justify-content:center;z-index:1000;padding:16px}.sp-modal{background:#fff;border-radius:14px;padding:24px;width:100%;max-width:440px;max-height:85vh;overflow-y:auto;box-shadow:0 20px 50px #0003}.sp-modal h2{margin:0 0 16px;font-size:18px;color:#2c3e50}.sp-modal-text{margin:0 0 16px;font-size:14px;color:#4b5563;line-height:1.5}.sp-field{display:flex;flex-direction:column;gap:6px;margin-bottom:16px}.sp-field>span{font-size:13px;font-weight:600;color:#374151}.sp-field input[type=text]{padding:10px 12px;border:1px solid #d1d5db;border-radius:8px;font-size:14px}.sp-field input[type=text]:focus{outline:none;border-color:#6b9080;box-shadow:0 0 0 3px #6b908026}.sp-source-options{display:flex;flex-direction:column;gap:8px}.sp-source-option{display:flex;align-items:center;gap:10px;border:1px solid #e5e7eb;border-radius:10px;padding:10px 12px;cursor:pointer;transition:border-color .15s ease,background .15s ease}.sp-source-option input{accent-color:#6b9080}.sp-source-option svg{color:#6b9080;flex-shrink:0}.sp-source-option div{display:flex;flex-direction:column}.sp-source-option strong{font-size:14px;color:#2c3e50}.sp-source-option small{font-size:12px;color:#6b7280}.sp-source-option.selected{border-color:#6b9080;background:#f2f7f5}.sp-modal-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:8px}@media (max-width: 480px){.sp-grid{grid-template-columns:1fr}.seating-plans-content{padding:16px 12px 40px}}.sg-editor{display:flex;flex-direction:column;height:100vh;height:100dvh;background:#faf9f7;overflow:hidden}.sg-editor-center{align-items:center;justify-content:center;gap:16px;color:#6b7280}.sg-header{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 16px;background:#fff;border-bottom:1px solid #e5e7eb;z-index:20}.sg-header-left,.sg-header-right{display:flex;align-items:center;gap:10px;min-width:0}.sg-back{display:inline-flex;align-items:center;gap:6px;color:#6b9080;text-decoration:none;font-size:14px;font-weight:500;flex-shrink:0}.sg-title{margin:0;font-size:17px;color:#2c3e50;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sg-save-status{font-size:12px;white-space:nowrap}.sg-save-saved{color:#4a7c59}.sg-save-saving{color:#d4900d}.sg-save-unsaved{color:#9ca3af}.sg-tool-btn{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border:1px solid #e5e7eb;border-radius:8px;background:#fff;color:#4b5563;cursor:pointer}.sg-tool-btn:disabled{opacity:.4;cursor:default}.sg-add-table{padding:8px 12px}.sg-overlays{position:absolute;top:0;left:0;right:0;display:flex;flex-direction:column;z-index:15;pointer-events:none}.sg-overlays>*{pointer-events:auto}.sg-banner{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:8px 16px;font-size:13px}.sg-banner-info{background:#eef6f2;color:#2c5530;border-bottom:1px solid #cfe3d9}.sg-banner-warning{background:#fdf3e3;color:#8a5a00;border-bottom:1px solid #f0dcb5}.sg-banner-btn{padding:4px 10px;font-size:12px}.sg-pending-bar{display:flex;align-items:center;gap:8px;padding:8px 16px;background:#2c3e50;color:#fff;font-size:13px}.sg-pending-bar button{margin-left:auto;background:none;border:none;color:#fff;cursor:pointer;display:inline-flex}.sg-main{flex:1;display:flex;position:relative;overflow:hidden}.sg-sidebar{width:290px;flex-shrink:0;background:#fff;border-right:1px solid #e5e7eb;display:flex;flex-direction:column;overflow:hidden;z-index:10}.seating-canvas-area{flex:1;position:relative;overflow:hidden}.seating-canvas-area .grid-background{position:absolute;top:0;right:0;bottom:0;left:0;background-image:radial-gradient(circle,#d8d4cd 1px,transparent 1px);background-size:24px 24px;pointer-events:none}.seating-zoom{position:absolute;top:12px;right:12px;background:#ffffffe6;border:1px solid #e5e7eb;border-radius:8px;padding:4px 10px;font-size:12px;color:#4b5563;z-index:5}.sg-toolbox{position:absolute;bottom:20px;right:16px;display:flex;flex-direction:column;gap:6px;z-index:10}.sg-toolbox button{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border:1px solid #e5e7eb;border-radius:10px;background:#fff;color:#4b5563;cursor:pointer;box-shadow:0 2px 8px #00000014}.sg-toolbox button:hover{background:#f3f4f6}.sg-panel{display:flex;flex-direction:column;height:100%;overflow:hidden}.sg-panel-counters{padding:12px 14px;font-size:13px;color:#4b5563;border-bottom:1px solid #f0f0f0}.sg-panel-counters strong{color:#2c3e50}.sg-panel-search{display:flex;align-items:center;gap:8px;margin:10px 14px 0;padding:8px 10px;border:1px solid #d1d5db;border-radius:8px;color:#9ca3af}.sg-panel-search input{flex:1;border:none;outline:none;font-size:13px;background:transparent;color:#2c3e50;min-width:0}.sg-panel-search button{display:inline-flex;background:none;border:none;color:#9ca3af;cursor:pointer;padding:0}.sg-panel-filters{display:flex;gap:6px;flex-wrap:wrap;padding:10px 14px}.sg-filter-chip{padding:4px 10px;border-radius:999px;border:1px solid #d1d5db;background:#fff;color:#4b5563;font-size:12px;cursor:pointer}.sg-filter-chip.active{background:#2c3e50;border-color:#2c3e50;color:#fff}.sg-panel-lists{flex:1;overflow-y:auto;padding:0 8px 20px}.sg-section h4{margin:14px 8px 6px;font-size:12px;text-transform:uppercase;letter-spacing:.04em;color:#9ca3af}.sg-section-empty{margin:4px 8px;font-size:13px;color:#9ca3af}.sg-guest-row{display:flex;align-items:center;gap:8px;padding:8px;border-radius:8px;cursor:pointer;-webkit-user-select:none;user-select:none}.sg-guest-row:hover{background:#f3f4f6}.sg-guest-row[draggable=true]{cursor:grab}.sg-guest-pending{background:#eef6f2;outline:1px dashed #6b9080}.sg-status-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0}.sg-guest-name{font-size:13.5px;color:#2c3e50;flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sg-guest-table{font-size:11px;color:#6b9080;background:#eef6f2;border-radius:999px;padding:2px 8px;white-space:nowrap}.sg-unassign{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border:none;border-radius:6px;background:none;color:#9ca3af;cursor:pointer;flex-shrink:0}.sg-unassign:hover{background:#fdecea;color:#c0392b}.sg-props-side{position:absolute;top:12px;right:12px;width:260px;z-index:12}.sg-props-sheet{position:absolute;left:0;right:0;bottom:0;z-index:30}.sg-props-panel{background:#fff;border:1px solid #e5e7eb;border-radius:14px;padding:16px;box-shadow:0 8px 24px #0000001f}.sg-props-sheet .sg-props-panel{border-radius:16px 16px 0 0;max-height:55vh;overflow-y:auto}.sg-props-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.sg-props-head h3{margin:0;font-size:15px;color:#2c3e50}.sg-props-warning{background:#fdf3e3;color:#8a5a00;border-radius:8px;padding:8px 10px;font-size:12.5px;line-height:1.4;margin:0 0 12px}.sg-capacity-stepper{display:flex;align-items:center;gap:12px}.sg-capacity-stepper button{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;border:1px solid #d1d5db;border-radius:8px;background:#fff;color:#4b5563;cursor:pointer}.sg-capacity-stepper button:disabled{opacity:.4;cursor:default}.sg-capacity-stepper strong{font-size:16px;color:#2c3e50;min-width:24px;text-align:center}.sg-rotate-actions{display:flex;gap:8px}.sg-rotate-actions button{display:inline-flex;align-items:center;gap:5px;padding:7px 10px;border:1px solid #d1d5db;border-radius:8px;background:#fff;color:#4b5563;font-size:12.5px;cursor:pointer}.sg-props-confirm{background:#fdecea;border-radius:8px;padding:10px;margin-bottom:12px}.sg-props-confirm p{margin:0 0 8px;font-size:12.5px;color:#7a2620}.sg-props-confirm-actions{display:flex;gap:6px;justify-content:flex-end}.sg-props-confirm-actions .sp-btn{padding:5px 10px;font-size:12px}.sg-props-delete{width:100%;justify-content:center}.sg-picker-modal{max-width:400px;display:flex;flex-direction:column}.sg-picker-head{display:flex;align-items:center;justify-content:space-between}.sg-picker-head h2{margin:0}.sg-picker-close{display:inline-flex;border:none;background:none;color:#9ca3af;cursor:pointer;padding:4px}.sg-picker-seat{margin:6px 0 10px;font-size:13px;color:#6b9080;font-weight:600}.sg-picker-modal .sg-panel-search{margin:10px 0 0}.sg-picker-modal .sg-panel-filters{padding:10px 0}.sg-picker-list{overflow-y:auto;max-height:45vh;display:flex;flex-direction:column;gap:2px}.sg-picker-row{display:flex;align-items:center;gap:8px;padding:9px 8px;border:none;border-radius:8px;background:none;font-size:13.5px;color:#2c3e50;cursor:pointer;text-align:left}.sg-picker-row:hover{background:#f3f4f6}.sg-quick-card{max-width:340px}.sg-quick-head{display:flex;align-items:center;gap:8px;font-size:15px;color:#2c3e50}.sg-quick-info{margin:8px 0 4px;font-size:13px;color:#6b7280}.sg-catalog-modal{max-width:520px}.sg-catalog-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:10px;margin-top:14px;max-height:55vh;overflow-y:auto}.sg-catalog-item{display:flex;flex-direction:column;align-items:center;gap:6px;padding:14px 8px;border:1px solid #e5e7eb;border-radius:10px;background:#fff;cursor:pointer;text-align:center}.sg-catalog-item:hover{border-color:#6b9080;background:#f8faf9}.sg-catalog-item strong{font-size:12.5px;color:#2c3e50}.sg-catalog-item small{font-size:11px;color:#9ca3af}.sg-catalog-shape{width:34px;height:22px;border-radius:4px;opacity:.8}.sg-catalog-shape.round{width:26px;height:26px;border-radius:50%}.sg-guests-fab{position:absolute;bottom:20px;left:16px;display:inline-flex;align-items:center;gap:8px;padding:11px 16px;border:none;border-radius:999px;background:#2c3e50;color:#fff;font-size:13.5px;font-weight:600;cursor:pointer;box-shadow:0 4px 14px #0003;z-index:10}.sg-drawer-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000059;z-index:40;display:flex;align-items:flex-end}.sg-drawer{background:#fff;border-radius:16px 16px 0 0;width:100%;height:70vh;height:70dvh;display:flex;flex-direction:column;overflow:hidden;padding-top:6px}.sg-drawer-handle{width:40px;height:4px;border-radius:2px;background:#d1d5db;margin:4px auto 2px;flex-shrink:0}.sg-toast{position:fixed;bottom:84px;left:50%;transform:translate(-50%);background:#2c3e50;color:#fff;padding:10px 18px;border-radius:999px;font-size:13px;z-index:60;box-shadow:0 6px 20px #00000040;animation:sgToastIn .2s ease}@keyframes sgToastIn{0%{opacity:0;transform:translate(-50%) translateY(8px)}to{opacity:1;transform:translate(-50%) translateY(0)}}@media (max-width: 767px){.sg-header{padding:8px 10px}.sg-title{font-size:15px}.sg-save-status{display:none}.sg-toolbox{bottom:76px}}.vt-mockup{position:relative;transform:rotateX(var(--vt-tilt-x)) rotateY(var(--vt-tilt-y));transform-style:preserve-3d;transition:transform .5s var(--vt-ease)}.vt-mock{position:relative;border-radius:20px;background:#ffffffe6;border:1px solid rgba(255,255,255,.9);box-shadow:0 0 0 1px var(--vt-line),0 40px 80px -20px color-mix(in srgb,var(--vt-accent) 35%,transparent),0 20px 40px #161a2c14;overflow:hidden}.vt-mock-chrome{display:flex;align-items:center;gap:12px;padding:12px 16px;border-bottom:1px solid var(--vt-line);background:#f7f8fce6}.vt-mock-dots{display:inline-flex;gap:6px}.vt-mock-dots i{width:10px;height:10px;border-radius:50%;background:#ff6159}.vt-mock-dots i:nth-child(2){background:#ffbd2e}.vt-mock-dots i:nth-child(3){background:#28c941}.vt-mock-title{flex:1;min-width:0;font-size:.82rem;font-weight:600;color:var(--vt-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.vt-mock-badge{flex-shrink:0;padding:4px 10px;border-radius:999px;font-size:.72rem;font-weight:700;color:var(--vt-accent-strong);background:var(--vt-soft)}.vt-mock-body{padding:16px}.vt-gantt{--label-w: 92px;position:relative;display:flex;flex-direction:column;gap:6px;font-size:.72rem}.vt-gantt-head,.vt-gantt-row{display:grid;grid-template-columns:var(--label-w) minmax(0,1fr);align-items:center}.vt-gantt-head{grid-template-columns:var(--label-w) repeat(var(--days),minmax(0,1fr));padding-bottom:6px;border-bottom:1px solid var(--vt-line)}.vt-gantt-corner{font-weight:700;color:var(--vt-ink)}.vt-gantt-day{display:grid;justify-items:center;font-weight:600;color:var(--vt-ink);line-height:1.2}.vt-gantt-day small{font-size:.6rem;font-weight:500;color:var(--vt-muted)}.vt-gantt-day.is-weekend{color:var(--vt-muted)}.vt-gantt-day.is-today{color:var(--vt-accent-strong)}.vt-gantt-label{font-weight:600;color:var(--vt-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.vt-gantt-track{display:grid;grid-template-columns:repeat(var(--days),minmax(0,1fr));grid-auto-flow:dense;min-height:30px;align-items:center;border-radius:8px;background:repeating-linear-gradient(to right,transparent 0 calc(100% / var(--days) - 1px),var(--vt-line) calc(100% / var(--days) - 1px) calc(100% / var(--days)))}.vt-gantt-bar{grid-row:1;display:inline-flex;align-items:center;gap:4px;height:24px;margin:0 2px;padding:0 8px;border-radius:7px;font-weight:600;color:#fff;white-space:nowrap;overflow:hidden;transform-origin:left center;animation:vt-bar-grow .9s var(--vt-ease) both;animation-delay:var(--d, 0ms)}.vt-gantt-bar>span{overflow:hidden;text-overflow:ellipsis}.vt-gantt-bar.tone-1{background:var(--vt-accent)}.vt-gantt-bar.tone-2{background:var(--vt-accent-2)}.vt-gantt-bar.tone-3{background:var(--vt-accent-3)}.vt-gantt-bar.is-option{color:var(--vt-accent-strong);background:repeating-linear-gradient(-45deg,color-mix(in srgb,var(--vt-accent-2) 22%,#fff) 0,color-mix(in srgb,var(--vt-accent-2) 22%,#fff) 6px,color-mix(in srgb,var(--vt-accent-2) 10%,#fff) 6px,color-mix(in srgb,var(--vt-accent-2) 10%,#fff) 12px);box-shadow:inset 0 0 0 1.5px color-mix(in srgb,var(--vt-accent-2) 55%,transparent)}.vt-gantt-bar.is-conflict{box-shadow:0 0 0 2px #f59e0b;animation:vt-bar-grow .9s var(--vt-ease) both,vt-conflict 1.8s ease-in-out 1.8s infinite;animation-delay:var(--d, 0ms),1.8s}@keyframes vt-bar-grow{0%{transform:scaleX(0);opacity:0}to{transform:scaleX(1);opacity:1}}@keyframes vt-conflict{0%,to{box-shadow:0 0 0 2px #f59e0b,0 0 0 2px #f59e0b73}50%{box-shadow:0 0 0 2px #f59e0b,0 0 0 7px #f59e0b00}}.vt-gantt-now{position:absolute;top:0;bottom:0;left:calc(var(--label-w) + (100% - var(--label-w)) / var(--days) * 4.5);width:2px;border-radius:2px;background:var(--vt-accent-strong);opacity:.6}.vt-gantt-now:before{content:"";position:absolute;top:-3px;left:-3px;width:8px;height:8px;border-radius:50%;background:var(--vt-accent-strong)}.vt-pdash{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1fr);gap:12px}.vt-pcard{padding:14px;border-radius:14px;background:#fff;border:1px solid var(--vt-line);animation:vt-card-in .8s var(--vt-ease) both}.vt-pcard:nth-child(2){animation-delay:.55s}.vt-pcard:nth-child(3){animation-delay:.7s}.vt-pcard:nth-child(4){animation-delay:.85s}.vt-pcard-countdown{animation-delay:.4s}@keyframes vt-card-in{0%{opacity:0;transform:translateY(14px) scale(.97)}to{opacity:1;transform:none}}.vt-pcard-head{display:flex;align-items:center;gap:6px;margin-bottom:10px;font-size:.78rem;font-weight:700;color:var(--vt-ink)}.vt-pcard-head svg{color:var(--vt-accent)}.vt-pcard-head em{margin-left:auto;font-style:normal;color:var(--vt-accent-strong)}.vt-pcard-metric{margin:8px 0 0;font-size:.74rem;color:var(--vt-muted)}.vt-pcard-metric strong{font-size:.95rem;color:var(--vt-ink)}.vt-pcard-countdown{position:relative;grid-row:span 2;display:grid;place-items:center;background:linear-gradient(160deg,var(--vt-soft),#fff 70%)}.vt-ring{width:100%;max-width:150px;transform:rotate(-90deg)}.vt-ring circle{fill:none;stroke-width:9;stroke-linecap:round}.vt-ring-track{stroke:color-mix(in srgb,var(--vt-accent) 14%,transparent)}.vt-ring-value{stroke:var(--vt-accent);stroke-dasharray:100;stroke-dashoffset:28;animation:vt-ring-fill 1.6s var(--vt-ease) .7s both}@keyframes vt-ring-fill{0%{stroke-dashoffset:100}}.vt-countdown-text{position:absolute;display:grid;justify-items:center;text-align:center}.vt-countdown-text strong{font-size:1.9rem;font-weight:700;letter-spacing:-.04em;line-height:1;color:var(--vt-accent-strong)}.vt-countdown-text small{max-width:80px;margin-top:4px;font-size:.66rem;line-height:1.2;color:var(--vt-muted)}.vt-avatars{display:flex;align-items:center}.vt-avatars span{display:grid;place-items:center;width:28px;height:28px;margin-left:-7px;border-radius:50%;border:2px solid #fff;font-size:.7rem;font-weight:700;color:#fff;background:color-mix(in srgb,var(--vt-accent) calc(100% - var(--i, 0) * 14%),var(--vt-accent-2));animation:vt-pop .5s var(--vt-ease) both;animation-delay:calc(.9s + var(--i, 0) * 80ms)}.vt-avatars span:first-child{margin-left:0}.vt-avatars .vt-avatars-more{width:auto;padding:0 7px;border-radius:999px;color:var(--vt-accent-strong);background:var(--vt-soft);animation-delay:1.35s}@keyframes vt-pop{0%{transform:scale(0);opacity:0}70%{transform:scale(1.12)}to{transform:scale(1);opacity:1}}.vt-progress{height:8px;border-radius:999px;background:color-mix(in srgb,var(--vt-accent) 14%,transparent);overflow:hidden}.vt-progress span{display:block;width:68%;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--vt-accent),var(--vt-accent-2));transform-origin:left;animation:vt-bar-grow 1.3s var(--vt-ease) 1s both}.vt-pcard-tasks{grid-column:1 / -1}.vt-pcard-tasks ul{list-style:none;margin:0;padding:0;display:grid;gap:7px}.vt-pcard-tasks li{display:flex;align-items:center;gap:9px;font-size:.78rem;color:var(--vt-ink);animation:vt-card-in .5s var(--vt-ease) both;animation-delay:calc(1.1s + var(--i, 0) * .12s)}.vt-task-box{display:grid;place-items:center;width:18px;height:18px;border-radius:6px;border:1.5px solid var(--vt-line);color:transparent}.vt-pcard-tasks li.is-done{color:var(--vt-muted);text-decoration:line-through;text-decoration-color:color-mix(in srgb,var(--vt-muted) 50%,transparent)}.vt-pcard-tasks li.is-done .vt-task-box{color:#fff;border-color:transparent;background:var(--vt-accent)}.vt-pcard-tasks li.is-next .vt-task-box{border-color:var(--vt-accent);animation:vt-task-pulse 2s ease-in-out 2s infinite}@keyframes vt-task-pulse{0%,to{box-shadow:0 0 color-mix(in srgb,var(--vt-accent) 35%,transparent)}50%{box-shadow:0 0 0 5px transparent}}.vt-float{position:absolute;display:flex;align-items:center;gap:10px;padding:10px 14px 10px 10px;border-radius:14px;background:#ffffffdb;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.9);box-shadow:0 18px 40px #161a2c24;transform:translateZ(60px);animation:vt-float-in .8s var(--vt-ease) both,vt-float-bob 6s ease-in-out infinite;white-space:nowrap}.vt-float>span:last-child{display:grid;line-height:1.25}.vt-float strong{font-size:.82rem;color:var(--vt-ink)}.vt-float small{font-size:.72rem;color:var(--vt-muted)}.vt-float-icon{display:grid;place-items:center;width:34px;height:34px;border-radius:10px;color:var(--vt-accent-strong);background:var(--vt-soft)}.vt-float-icon.is-success{color:#15803d;background:#dcfce7}.vt-float-icon.is-warning{color:#b45309;background:#fef3c7}.vt-float-a{top:-26px;right:-18px;animation-delay:1.3s,2.1s}.vt-float-b{bottom:-52px;left:-26px;animation-delay:1.6s,0s}.vt-float-c{bottom:46px;right:-34px;animation-delay:1.9s,1s}@keyframes vt-float-in{0%{opacity:0;transform:translateZ(60px) translateY(16px) scale(.92)}to{opacity:1;transform:translateZ(60px)}}@keyframes vt-float-bob{0%,to{translate:0 0}50%{translate:0 -8px}}@media (max-width: 640px){.vt-mock-body{padding:12px}.vt-gantt{--label-w: 64px;font-size:.62rem}.vt-gantt-day small{display:none}.vt-gantt-bar{height:20px;padding:0 5px;margin:0 1px}.vt-gantt-bar>span{font-size:.58rem}.vt-pdash{gap:8px}.vt-pcard{padding:10px}.vt-countdown-text strong{font-size:1.4rem}.vt-float{padding:8px 10px 8px 8px;gap:8px}.vt-float-icon{width:28px;height:28px}.vt-float strong{font-size:.74rem}.vt-float small{font-size:.66rem}.vt-float-a{top:-22px;right:-4px}.vt-float-b{bottom:-24px;left:-4px}.vt-float-c{display:none}}.vt-bento{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-auto-flow:dense;gap:18px}.vt-feature{--mx: 50%;--my: 0%;position:relative;isolation:isolate;display:flex;flex-direction:column;min-height:330px;border-radius:var(--vt-radius);background:var(--vt-card);border:1px solid var(--vt-line);box-shadow:0 10px 30px #161a2c0a;overflow:hidden}.vt-feature.is-wide{grid-column:span 2}.vt-feature.is-tall{grid-row:span 2}.vt-feature:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:-1;background:radial-gradient(420px circle at var(--mx) var(--my),color-mix(in srgb,var(--vt-accent) 16%,transparent),transparent 60%);opacity:0;transition:opacity .35s ease}.vt-feature:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;padding:1px;background:radial-gradient(300px circle at var(--mx) var(--my),color-mix(in srgb,var(--vt-accent) 75%,transparent),transparent 70%);-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;opacity:0;transition:opacity .35s ease;pointer-events:none}.vt-feature:hover:before,.vt-feature:hover:after{opacity:1}.vt-feature.vt-reveal{transition-property:opacity,transform,translate,box-shadow;transition-duration:.8s,.8s,.35s,.35s;transition-timing-function:var(--vt-ease);transition-delay:calc(var(--i, 0) * .11s),calc(var(--i, 0) * .11s),0s,0s}.vt-feature.vt-reveal.is-visible:hover{translate:0 -4px;box-shadow:0 24px 50px #161a2c17}.vt-feature-visual{position:relative;flex:1;display:grid;place-items:center;min-height:170px;padding:26px 26px 6px}.vt-feature-body{padding:8px 26px 26px}.vt-feature-icon{display:inline-grid;place-items:center;width:36px;height:36px;margin-bottom:14px;border-radius:11px;color:var(--vt-accent-strong);background:var(--vt-soft);transition:transform .35s var(--vt-ease)}.vt-feature:hover .vt-feature-icon{transform:rotate(-8deg) scale(1.08)}.vt-feature h3{font-size:1.2rem;font-weight:700;letter-spacing:-.015em;margin-bottom:8px}.vt-feature p{margin:0;color:var(--vt-muted);line-height:1.6;font-size:.97rem}.vt-feature:not(.is-visible) .vt-feature-visual *{animation-play-state:paused!important}.fv-pill{display:inline-flex;align-items:center;padding:3px 9px;border-radius:999px;font-size:.7rem;font-weight:700;color:#15803d;background:#dcfce7;white-space:nowrap}.fv-pill.is-pending{color:#b45309;background:#fef3c7}@keyframes fv-in-up{0%{opacity:0;transform:translateY(12px)}}@keyframes fv-grow-x{0%{opacity:0;transform:scaleX(0)}}@keyframes fv-pop{0%{opacity:0;transform:scale(.4)}70%{transform:scale(1.1)}}.fv-gantt{position:relative;width:100%;display:grid;gap:8px;padding:14px;border-radius:16px;background:repeating-linear-gradient(to right,transparent 0 calc(10% - 1px),var(--vt-line) calc(10% - 1px) 10%),#fff;border:1px solid var(--vt-line)}.fv-gantt-row{display:grid;grid-template-columns:repeat(10,minmax(0,1fr))}.fv-gantt-bar{height:28px;display:flex;align-items:center;padding:0 10px;border-radius:8px;font-size:.75rem;font-weight:600;color:#fff;white-space:nowrap;overflow:hidden;transform-origin:left;animation:fv-grow-x .9s var(--vt-ease) both;animation-delay:calc(.2s + var(--i) * .13s)}.fv-gantt-bar.tone-1{background:var(--vt-accent)}.fv-gantt-bar.tone-2{background:var(--vt-accent-2)}.fv-gantt-bar.tone-3{background:var(--vt-accent-3)}.fv-gantt-bar.is-option{color:var(--vt-accent-strong);background:repeating-linear-gradient(-45deg,color-mix(in srgb,var(--vt-accent-2) 24%,#fff) 0,color-mix(in srgb,var(--vt-accent-2) 24%,#fff) 6px,color-mix(in srgb,var(--vt-accent-2) 10%,#fff) 6px,color-mix(in srgb,var(--vt-accent-2) 10%,#fff) 12px);box-shadow:inset 0 0 0 1.5px color-mix(in srgb,var(--vt-accent-2) 55%,transparent)}.fv-gantt-flag{position:absolute;top:-12px;right:14px;display:inline-flex;align-items:center;gap:5px;padding:4px 10px;border-radius:999px;font-size:.72rem;font-weight:700;color:#b45309;background:#fef3c7;box-shadow:0 6px 16px #b4530926;animation:fv-pop .6s var(--vt-ease) 1s both}.fv-quote{width:100%;max-width:300px;padding:18px;border-radius:16px;background:#fff;border:1px solid var(--vt-line);box-shadow:0 16px 36px #161a2c12;font-size:.8rem}.fv-quote-head{display:flex;align-items:center;justify-content:space-between;gap:8px;padding-bottom:12px;margin-bottom:8px;border-bottom:1px dashed var(--vt-line)}.fv-quote-head .fv-pill{animation:fv-pop .6s var(--vt-ease) 1.3s both}.fv-quote ul{list-style:none;margin:0;padding:0}.fv-quote li{display:flex;justify-content:space-between;gap:12px;padding:7px 0;color:var(--vt-muted);animation:fv-in-up .5s var(--vt-ease) both;animation-delay:calc(.25s + var(--i) * .14s)}.fv-quote li span:last-child{font-variant-numeric:tabular-nums;color:var(--vt-ink);font-weight:600}.fv-quote-total{display:flex;justify-content:space-between;align-items:baseline;margin-top:10px;padding:12px 14px;border-radius:12px;background:var(--vt-soft);animation:fv-in-up .5s var(--vt-ease) .9s both}.fv-quote-total strong{font-size:1.15rem;color:var(--vt-accent-strong)}.fv-drawing{width:100%;max-width:260px}.fv-drawing-grid path{stroke:var(--vt-line);stroke-width:1}.fv-drawing-shape{fill:color-mix(in srgb,var(--vt-accent) 12%,transparent);stroke:var(--vt-accent);stroke-width:2.5;stroke-linejoin:round;stroke-dasharray:100;stroke-dashoffset:0;animation:fv-trace 1.8s var(--vt-ease) .2s both}@keyframes fv-trace{0%{stroke-dashoffset:100;fill:transparent}70%{fill:transparent}}.fv-drawing-node{fill:#fff;stroke:var(--vt-accent-strong);stroke-width:2;transform-box:fill-box;transform-origin:center;animation:fv-pop .4s var(--vt-ease) both;animation-delay:calc(.2s + var(--i) * .26s)}.fv-drawing-furniture>*{fill:color-mix(in srgb,var(--vt-accent-2) 70%,#fff);transform-box:fill-box;transform-origin:center;animation:fv-pop .5s var(--vt-ease) both}.fv-drawing-furniture>:nth-child(1){animation-delay:2s}.fv-drawing-furniture>:nth-child(2){animation-delay:2.15s}.fv-drawing-furniture>:nth-child(3){animation-delay:2.3s}.fv-rooms{display:grid;grid-template-columns:repeat(6,30px);gap:8px}.fv-room{width:30px;height:30px;border-radius:9px;background:linear-gradient(135deg,var(--vt-accent),var(--vt-accent-2));animation:fv-pop .45s var(--vt-ease) both;animation-delay:calc(.2s + var(--i) * 70ms)}.fv-room.is-free{background:transparent;border:2px dashed color-mix(in srgb,var(--vt-accent) 45%,transparent)}.fv-checklist{list-style:none;margin:0;padding:0;display:grid;gap:10px;width:100%;max-width:260px;font-size:.85rem;font-weight:500}.fv-checklist li{display:flex;align-items:center;gap:10px;padding:8px 12px;border-radius:12px;background:#fff;border:1px solid var(--vt-line);animation:fv-in-up .5s var(--vt-ease) both;animation-delay:calc(.2s + var(--i) * .15s)}.fv-check{display:grid;place-items:center;width:20px;height:20px;border-radius:7px;color:#fff;background:var(--vt-accent);animation:fv-pop .45s var(--vt-ease) both;animation-delay:calc(.8s + var(--i) * .3s)}.fv-account{position:relative;width:100%;max-width:340px;display:grid;gap:10px}.fv-account-card,.fv-account-pass{display:flex;align-items:center;gap:12px;padding:12px 14px;border-radius:14px;background:#fff;border:1px solid var(--vt-line);animation:fv-in-up .5s var(--vt-ease) .2s both}.fv-account-pass{animation-delay:.4s;color:var(--vt-accent-strong)}.fv-account-card strong{display:block;font-size:.88rem}.fv-account-card small{display:inline-flex;align-items:center;gap:5px;font-size:.75rem;color:var(--vt-muted)}.fv-account-avatar{display:grid;place-items:center;width:38px;height:38px;border-radius:50%;font-size:.8rem;font-weight:700;color:#fff;background:linear-gradient(135deg,var(--vt-accent),var(--vt-accent-2))}.fv-account-dots{flex:1;display:flex;gap:5px}.fv-account-dots i{width:7px;height:7px;border-radius:50%;background:var(--vt-ink);animation:fv-pop .3s var(--vt-ease) both;animation-delay:calc(.6s + var(--i) * 70ms)}.fv-account-toast{justify-self:end;display:inline-flex;align-items:center;gap:6px;padding:7px 12px;border-radius:999px;font-size:.78rem;font-weight:600;color:#15803d;background:#dcfce7;animation:fv-pop .5s var(--vt-ease) 1.4s both}.fv-guests{width:100%;display:grid;gap:8px}.fv-guest{display:grid;grid-template-columns:30px minmax(0,1fr) auto auto;align-items:center;gap:12px;padding:8px 12px;border-radius:12px;background:#fff;border:1px solid var(--vt-line);font-size:.82rem;animation:fv-in-up .5s var(--vt-ease) both;animation-delay:calc(.2s + var(--i) * .12s)}.fv-guest-avatar{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;font-weight:700;color:var(--vt-accent-strong);background:var(--vt-soft)}.fv-guest-name{font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.fv-guest-table{color:var(--vt-muted);font-size:.78rem}.fv-seating{width:100%;max-width:230px}.fv-seating-table{fill:color-mix(in srgb,var(--vt-accent) 10%,#fff);stroke:color-mix(in srgb,var(--vt-accent) 40%,transparent);stroke-width:2}.fv-seating text{font:700 13px var(--font-family-sans);fill:var(--vt-accent-strong)}.fv-seat{fill:var(--vt-accent);stroke:#fff;stroke-width:3;transform-box:fill-box;transform-origin:center;animation:fv-seat-fill .5s var(--vt-ease) both;animation-delay:calc(.3s + var(--i) * .16s)}@keyframes fv-seat-fill{0%{fill:color-mix(in srgb,var(--vt-accent) 18%,#fff);transform:scale(.75)}}.fv-budget{position:relative;display:grid;place-items:center;width:150px;height:150px}.fv-budget svg{width:100%;height:100%;transform:rotate(-90deg)}.fv-budget-slice{fill:none;stroke-width:14;stroke-dasharray:var(--share) 100;stroke-dashoffset:var(--offset);animation:fv-slice .9s var(--vt-ease) both;animation-delay:calc(.2s + var(--i) * .2s)}@keyframes fv-slice{0%{stroke-dasharray:0 100}}.fv-budget-slice.tone-1{stroke:var(--vt-accent)}.fv-budget-slice.tone-2{stroke:var(--vt-accent-2)}.fv-budget-slice.tone-3{stroke:var(--vt-accent-3)}.fv-budget-slice.tone-4{stroke:color-mix(in srgb,var(--vt-accent) 18%,transparent)}.fv-budget-legend{position:absolute;display:grid;justify-items:center;line-height:1.1}.fv-budget-legend strong{font-size:1.5rem;color:var(--vt-accent-strong)}.fv-budget-legend small{font-size:.75rem;color:var(--vt-muted)}.fv-tasks{position:relative;list-style:none;margin:0;padding:0;width:100%;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.fv-tasks:before{content:"";position:absolute;top:37px;left:12%;right:12%;height:2px;background:linear-gradient(to right,var(--vt-accent) 50%,var(--vt-line) 50%)}.fv-tasks li{position:relative;display:grid;justify-items:center;gap:8px;text-align:center;animation:fv-in-up .5s var(--vt-ease) both;animation-delay:calc(.2s + var(--i) * .15s)}.fv-tasks-when{font-size:.75rem;font-weight:700;color:var(--vt-accent-strong)}.fv-tasks-dot{position:relative;display:grid;place-items:center;width:24px;height:24px;border-radius:50%;color:transparent;background:#fff;border:2px solid var(--vt-line)}.fv-tasks li.is-done .fv-tasks-dot{color:#fff;border-color:transparent;background:var(--vt-accent)}.fv-tasks li:nth-child(3) .fv-tasks-dot{border-color:var(--vt-accent);box-shadow:0 0 0 5px color-mix(in srgb,var(--vt-accent) 18%,transparent)}.fv-tasks-label{font-size:.8rem;font-weight:500;line-height:1.35}@media (max-width: 1024px){.vt-bento{grid-template-columns:repeat(2,minmax(0,1fr))}.vt-feature.is-tall{grid-row:auto}}@media (max-width: 640px){.vt-bento{grid-template-columns:minmax(0,1fr);gap:14px}.vt-feature.is-wide{grid-column:auto}.vt-feature{min-height:0}.vt-feature-visual{padding:22px 18px 4px}.vt-feature-body{padding:8px 20px 22px}.fv-guest{grid-template-columns:28px minmax(0,1fr) auto}.fv-guest-table{display:none}.fv-rooms{grid-template-columns:repeat(6,26px)}.fv-room{width:26px;height:26px}.fv-tasks-label{font-size:.72rem}}@property --vt-accent{syntax: "<color>"; inherits: true; initial-value: #6366f1;}@property --vt-accent-2{syntax: "<color>"; inherits: true; initial-value: #a855f7;}@property --vt-accent-3{syntax: "<color>"; inherits: true; initial-value: #3b82f6;}@property --vt-accent-strong{syntax: "<color>"; inherits: true; initial-value: #4f46e5;}@property --vt-bg{syntax: "<color>"; inherits: true; initial-value: #f7f7fc;}@property --vt-soft{syntax: "<color>"; inherits: true; initial-value: #eef0ff;}.vt-page{--vt-ink: #161a2c;--vt-muted: #5d6278;--vt-line: rgba(22, 26, 44, .09);--vt-card: rgba(255, 255, 255, .78);--vt-radius: 22px;--vt-ease: cubic-bezier(.22, 1, .36, 1);--vt-max: 1180px;min-height:100vh;background:var(--vt-bg);color:var(--vt-ink);font-family:var(--font-family-sans);overflow-x:clip;transition:--vt-accent .7s var(--vt-ease),--vt-accent-2 .7s var(--vt-ease),--vt-accent-3 .7s var(--vt-ease),--vt-accent-strong .7s var(--vt-ease),--vt-bg .7s var(--vt-ease),--vt-soft .7s var(--vt-ease)}.vt-page[data-profile=gestionnaire]{--vt-accent: #6366f1;--vt-accent-2: #a855f7;--vt-accent-3: #3b82f6;--vt-accent-strong: #4f46e5;--vt-bg: #f7f7fc;--vt-soft: #eef0ff}.vt-page[data-profile=planner]{--vt-accent: #6b9080;--vt-accent-2: #d4a373;--vt-accent-3: #8fc1b0;--vt-accent-strong: #4a6f60;--vt-bg: #f6fbf7;--vt-soft: #e6f2ec}:where(.vt-page) h1,:where(.vt-page) h2,:where(.vt-page) h3{font-family:var(--font-family-sans);margin:0}:where(.vt-page) a{color:inherit;text-decoration:none}.vt-page :focus-visible{outline:2px solid var(--vt-accent-strong);outline-offset:3px;border-radius:10px}.vt-panel.is-switch{--vt-delay-scale: .2}.vt-panel.is-switch .vt-word,.vt-panel.is-switch .vt-rise{animation-name:vt-switch-in;animation-duration:.45s}@keyframes vt-switch-in{0%{opacity:.4;transform:translateY(10px)}to{opacity:1;transform:none}}.vt-nav{position:sticky;top:0;z-index:50;padding:14px 20px;transition:padding .3s var(--vt-ease),background-color .3s ease,box-shadow .3s ease}.vt-nav.is-scrolled{padding-block:8px;background:#ffffffb8;backdrop-filter:blur(16px) saturate(1.4);-webkit-backdrop-filter:blur(16px) saturate(1.4);box-shadow:0 1px 0 var(--vt-line),0 10px 30px #161a2c0f}.vt-nav-inner{max-width:var(--vt-max);margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:16px}.vt-brand{display:inline-flex;align-items:center;gap:10px;font-weight:700;font-size:1.1rem;letter-spacing:-.01em}.vt-tabs{position:relative;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));padding:4px;border-radius:999px;background:#ffffffb3;border:1px solid var(--vt-line);box-shadow:0 4px 16px #161a2c0f}.vt-tabs-indicator{position:absolute;top:4px;bottom:4px;left:4px;width:calc(50% - 4px);border-radius:999px;background:linear-gradient(135deg,var(--vt-accent),var(--vt-accent-2));box-shadow:0 6px 18px color-mix(in srgb,var(--vt-accent) 45%,transparent);transform:translate(calc(var(--vt-tab-index, 0) * 100%));transition:transform .4s var(--vt-ease)}.vt-tab{position:relative;z-index:1;display:inline-flex;align-items:center;justify-content:center;gap:8px;min-width:150px;padding:9px 20px;border:0;border-radius:999px;background:transparent;color:var(--vt-muted);font:600 .92rem/1 var(--font-family-sans);cursor:pointer;transition:color .3s ease}.vt-tab:hover:not(.is-active){color:var(--vt-ink)}.vt-tab.is-active{color:#fff}.vt-nav-login{display:inline-flex;align-items:center;gap:8px;padding:10px 18px;border-radius:999px;font-weight:600;font-size:.92rem;color:var(--vt-ink);background:#fffc;border:1px solid var(--vt-line);transition:transform .2s var(--vt-ease),box-shadow .2s ease,color .2s ease}.vt-nav-login:hover{transform:translateY(-1px);color:var(--vt-accent-strong);box-shadow:0 6px 18px #161a2c14}.vt-btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:15px 26px;border-radius:14px;border:0;font:600 1rem/1 var(--font-family-sans);cursor:pointer;transition:transform .25s var(--vt-ease),box-shadow .25s ease,background-color .25s ease}.vt-btn svg{transition:transform .25s var(--vt-ease)}.vt-btn:hover svg{transform:translate(3px)}.vt-btn-ghost:hover svg{transform:translateY(2px)}.vt-btn-primary{position:relative;overflow:hidden;color:#fff;background:linear-gradient(135deg,var(--vt-accent),var(--vt-accent-strong));box-shadow:0 10px 28px color-mix(in srgb,var(--vt-accent) 45%,transparent)}.vt-btn-primary:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(110deg,transparent 30%,rgba(255,255,255,.35) 50%,transparent 70%);transform:translate(-120%);animation:vt-shine 4.5s ease-in-out 1.6s infinite}@keyframes vt-shine{0%,70%{transform:translate(-120%)}to{transform:translate(120%)}}.vt-btn-primary:hover{transform:translateY(-2px);box-shadow:0 16px 36px color-mix(in srgb,var(--vt-accent) 50%,transparent)}.vt-btn-ghost{color:var(--vt-ink);background:#ffffffbf;border:1px solid var(--vt-line)}.vt-btn-ghost:hover{transform:translateY(-2px);box-shadow:0 10px 24px #161a2c14}.vt-btn-switch{color:var(--vt-accent-strong);background:var(--vt-soft);border:1px solid color-mix(in srgb,var(--vt-accent) 25%,transparent)}.vt-btn-switch:hover{transform:translateY(-2px);box-shadow:0 10px 24px color-mix(in srgb,var(--vt-accent) 22%,transparent)}.vt-btn-light{color:var(--vt-ink);background:#fff;box-shadow:0 10px 30px #00000040}.vt-btn-light:hover{transform:translateY(-2px) scale(1.02)}.vt-hero{position:relative;margin-top:-72px;padding:140px 20px 90px;overflow:hidden}.vt-hero-bg{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none}.vt-aurora{position:absolute;border-radius:50%;filter:blur(90px);opacity:.45;animation:vt-drift 18s ease-in-out infinite}.vt-aurora-1{width:560px;height:560px;top:-200px;right:-120px;background:var(--vt-accent)}.vt-aurora-2{width:460px;height:460px;bottom:-220px;left:-140px;background:var(--vt-accent-2);opacity:.3;animation-delay:-6s}.vt-aurora-3{width:320px;height:320px;top:30%;left:38%;background:var(--vt-accent-3);opacity:.28;animation-delay:-12s}@keyframes vt-drift{0%,to{transform:translate(0) scale(1)}33%{transform:translate(40px,-30px) scale(1.08)}66%{transform:translate(-30px,25px) scale(.94)}}.vt-hero-grid{position:absolute;top:0;right:0;bottom:0;left:0;background-image:linear-gradient(to right,var(--vt-line) 1px,transparent 1px),linear-gradient(to bottom,var(--vt-line) 1px,transparent 1px);background-size:48px 48px;mask-image:radial-gradient(ellipse 70% 60% at 50% 40%,#000 30%,transparent 75%);-webkit-mask-image:radial-gradient(ellipse 70% 60% at 50% 40%,#000 30%,transparent 75%)}.vt-hero-inner{position:relative;max-width:var(--vt-max);margin:0 auto;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);align-items:center;gap:56px}.vt-eyebrow{display:inline-flex;align-items:center;gap:10px;padding:7px 14px 7px 12px;margin:0 0 22px;border-radius:999px;font-size:.85rem;font-weight:600;color:var(--vt-accent-strong);background:#ffffffbf;border:1px solid color-mix(in srgb,var(--vt-accent) 25%,transparent);box-shadow:0 4px 14px #161a2c0d}.vt-eyebrow-dot{position:relative;width:8px;height:8px;border-radius:50%;background:var(--vt-accent)}.vt-eyebrow-dot:after{content:"";position:absolute;top:-4px;right:-4px;bottom:-4px;left:-4px;border-radius:50%;border:2px solid var(--vt-accent);animation:vt-ping 2s ease-out infinite}@keyframes vt-ping{0%{transform:scale(.6);opacity:.9}to{transform:scale(1.8);opacity:0}}.vt-hero-title{font-size:clamp(2.4rem,5vw,4rem);font-weight:700;line-height:1.05;letter-spacing:-.035em;margin-bottom:22px}.vt-word{display:inline-block;animation:vt-word-in .8s var(--vt-ease) both;animation-delay:calc(var(--d, 0ms) * var(--vt-delay-scale, 1))}@keyframes vt-word-in{0%{opacity:0;transform:translateY(.45em);filter:blur(8px)}to{opacity:1;transform:translateY(0);filter:blur(0)}}.vt-accent-word{position:relative;margin-right:.25em}.vt-accent-word em{font-family:var(--font-family-serif);font-style:italic;font-weight:600;letter-spacing:-.01em;padding-right:.06em;background:linear-gradient(100deg,var(--vt-accent-strong),var(--vt-accent-2) 60%,var(--vt-accent));background-size:200% 100%;-webkit-background-clip:text;background-clip:text;color:transparent;animation:vt-gradient-pan 6s ease-in-out infinite alternate}@keyframes vt-gradient-pan{0%{background-position:0% 50%}to{background-position:100% 50%}}.vt-swash{position:absolute;left:0;right:.1em;bottom:-.12em;width:calc(100% - .1em);height:.32em;overflow:visible}.vt-swash path{fill:none;stroke:var(--vt-accent-2);stroke-width:5;stroke-linecap:round;stroke-dasharray:240;stroke-dashoffset:240;opacity:.75;animation:vt-draw 1s var(--vt-ease) 1.1s forwards}@keyframes vt-draw{to{stroke-dashoffset:0}}.vt-title-end{display:block;color:var(--vt-muted);font-weight:600;font-size:.62em;letter-spacing:-.02em;margin-top:.35em}.vt-hero-subtitle{max-width:34rem;font-size:1.1rem;line-height:1.65;color:var(--vt-muted);margin:0 0 32px}.vt-hero-actions{display:flex;flex-wrap:wrap;gap:12px}.vt-rise{animation:vt-rise-in .9s var(--vt-ease) both;animation-delay:calc(var(--d, 0ms) * var(--vt-delay-scale, 1))}@keyframes vt-rise-in{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}.vt-hero-stage{--vt-tilt-x: 0deg;--vt-tilt-y: 0deg;perspective:1400px}.vt-section{position:relative;max-width:var(--vt-max);margin:0 auto;padding:90px 20px}.vt-section-head{max-width:680px;margin:0 auto 48px;text-align:center}.vt-kicker{display:inline-block;margin:0 0 12px;font-size:.8rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--vt-accent-strong)}.vt-section-title{font-size:clamp(1.8rem,3.4vw,2.6rem);font-weight:700;line-height:1.12;letter-spacing:-.03em;margin-bottom:14px}.vt-section-subtitle{font-size:1.05rem;line-height:1.65;color:var(--vt-muted);margin:0}.vt-reveal{opacity:0;transform:translateY(28px);transition:opacity .8s var(--vt-ease),transform .8s var(--vt-ease);transition-delay:calc(var(--i, 0) * .11s)}.vt-reveal.is-visible{opacity:1;transform:none}.vt-marquee{position:relative;padding:18px 0;border-block:1px solid var(--vt-line);background:#ffffff8c;overflow:hidden;mask-image:linear-gradient(to right,transparent,#000 10%,#000 90%,transparent);-webkit-mask-image:linear-gradient(to right,transparent,#000 10%,#000 90%,transparent)}.vt-marquee-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.vt-marquee-track{display:flex;width:max-content;animation:vt-marquee 38s linear infinite}.vt-marquee:hover .vt-marquee-track{animation-play-state:paused}.vt-marquee-group{display:flex;flex-shrink:0}.vt-marquee-item{display:inline-flex;align-items:center;gap:10px;padding:0 26px;font-size:1.05rem;font-weight:600;white-space:nowrap;color:var(--vt-ink)}.vt-marquee-item svg{color:var(--vt-accent)}@keyframes vt-marquee{to{transform:translate(-50%)}}.vt-stats-section{padding-block:70px 30px}.vt-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-radius:var(--vt-radius);background:var(--vt-card);border:1px solid var(--vt-line);box-shadow:0 20px 50px #161a2c0f;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.vt-stat{display:flex;flex-direction:column;gap:6px;padding:30px 28px}.vt-stat+.vt-stat{border-left:1px solid var(--vt-line)}.vt-stat-value{font-size:clamp(2.2rem,4vw,3rem);font-weight:700;line-height:1;letter-spacing:-.04em;font-variant-numeric:tabular-nums;background:linear-gradient(135deg,var(--vt-accent-strong),var(--vt-accent-2));-webkit-background-clip:text;background-clip:text;color:transparent}.vt-stat-label{font-size:.92rem;line-height:1.45;color:var(--vt-muted)}.vt-steps-layout{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:64px;align-items:start}.vt-steps-head{position:sticky;top:120px;margin:0;text-align:left}.vt-steps{--vt-progress: 0;position:relative;list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:18px}.vt-steps:before,.vt-steps:after{content:"";position:absolute;left:23px;top:24px;bottom:24px;width:2px;border-radius:2px}.vt-steps:before{background:var(--vt-line)}.vt-steps:after{background:linear-gradient(to bottom,var(--vt-accent),var(--vt-accent-2));transform-origin:top;transform:scaleY(var(--vt-progress))}.vt-step{position:relative;display:flex;gap:22px;padding:22px 24px 22px 0}.vt-step-dot{position:relative;z-index:1;flex-shrink:0;display:grid;place-items:center;width:48px;height:48px;border-radius:50%;font-weight:700;color:var(--vt-muted);background:var(--vt-bg);border:2px solid var(--vt-line);transition:color .4s ease,background-color .4s ease,border-color .4s ease,transform .4s var(--vt-ease),box-shadow .4s ease}.vt-step.is-active .vt-step-dot{color:#fff;border-color:transparent;background:linear-gradient(135deg,var(--vt-accent),var(--vt-accent-2));transform:scale(1.06);box-shadow:0 8px 22px color-mix(in srgb,var(--vt-accent) 40%,transparent)}.vt-step-body{padding:20px 24px;border-radius:18px;background:var(--vt-card);border:1px solid var(--vt-line);opacity:.55;transform:translate(10px);transition:opacity .5s ease,transform .5s var(--vt-ease),box-shadow .5s ease}.vt-step.is-active .vt-step-body{opacity:1;transform:none;box-shadow:0 14px 36px #161a2c12}.vt-step-body h3{font-size:1.15rem;font-weight:700;margin-bottom:6px}.vt-step-body p{margin:0;color:var(--vt-muted);line-height:1.6}.vt-bridge{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);align-items:center;gap:48px;padding:48px;border-radius:28px;background:radial-gradient(circle at 0% 0%,color-mix(in srgb,var(--vt-accent) 14%,transparent),transparent 55%),var(--vt-card);border:1px solid var(--vt-line);box-shadow:0 24px 60px #161a2c12}.vt-bridge-copy .vt-section-subtitle{margin-bottom:26px}.vt-bridge-visual{display:flex;align-items:center;justify-content:center}.vt-bridge-app{display:grid;place-items:center;gap:6px;width:116px;height:116px;border-radius:30px;color:#fff;box-shadow:0 18px 40px #161a2c2e;animation:vt-bob 5s ease-in-out infinite}.vt-bridge-app small{font-size:.78rem;font-weight:600;opacity:.92}.vt-bridge-app svg{margin-top:16px}.vt-bridge-app.is-from{background:linear-gradient(135deg,var(--vt-accent),var(--vt-accent-strong))}.vt-bridge-app.is-to{animation-delay:-2.5s}.vt-bridge[data-target=planner] .vt-bridge-app.is-to{background:linear-gradient(135deg,#6b9080,#4a6f60)}.vt-bridge[data-target=gestionnaire] .vt-bridge-app.is-to{background:linear-gradient(135deg,#6366f1,#a855f7)}.vt-bridge-link{position:relative;width:110px;height:2px;margin:0 -4px;background-image:linear-gradient(to right,color-mix(in srgb,var(--vt-accent) 55%,transparent) 50%,transparent 50%);background-size:12px 2px;animation:vt-dash .8s linear infinite}.vt-bridge-link i{position:absolute;top:50%;left:0;width:12px;height:12px;margin-top:-6px;border-radius:50%;background:var(--vt-accent-2);box-shadow:0 0 0 5px color-mix(in srgb,var(--vt-accent-2) 25%,transparent);animation:vt-travel 2.4s var(--vt-ease) infinite}@keyframes vt-dash{to{background-position:12px 0}}@keyframes vt-travel{0%{left:0;opacity:0}15%,85%{opacity:1}to{left:calc(100% - 12px);opacity:0}}@keyframes vt-bob{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}.vt-cta-section{padding-top:30px}.vt-cta{position:relative;isolation:isolate;overflow:hidden;padding:72px 32px;border-radius:32px;text-align:center;color:#fff;background:#121527}.vt-cta:before{content:"";position:absolute;top:-60%;right:-60%;bottom:-60%;left:-60%;z-index:-2;background:conic-gradient(from 0deg,transparent 0 70%,var(--vt-accent) 80%,var(--vt-accent-2) 90%,transparent 100%);animation:vt-spin 7s linear infinite}.vt-cta:after{content:"";position:absolute;top:2px;right:2px;bottom:2px;left:2px;z-index:-1;border-radius:30px;background:radial-gradient(ellipse at 50% 120%,color-mix(in srgb,var(--vt-accent) 40%,transparent),transparent 60%),#121527}@keyframes vt-spin{to{transform:rotate(1turn)}}.vt-cta-glow{position:absolute;top:-140px;left:50%;z-index:-1;width:420px;height:280px;margin-left:-210px;border-radius:50%;background:var(--vt-accent-2);filter:blur(110px);opacity:.35}.vt-cta-icon{display:inline-grid;place-items:center;width:60px;height:60px;margin-bottom:22px;border-radius:18px;background:linear-gradient(135deg,var(--vt-accent),var(--vt-accent-2));box-shadow:0 12px 30px color-mix(in srgb,var(--vt-accent) 50%,transparent)}.vt-cta-title{max-width:640px;margin:0 auto 14px;font-size:clamp(1.8rem,4vw,2.8rem);font-weight:700;letter-spacing:-.03em;line-height:1.1}.vt-cta-text{max-width:520px;margin:0 auto 32px;color:#ffffffb8;font-size:1.05rem}.vt-footer{padding:30px 20px 40px;border-top:1px solid var(--vt-line)}.vt-footer-inner{max-width:var(--vt-max);margin:0 auto;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:16px}.vt-footer-links{display:flex;gap:24px;font-size:.92rem;font-weight:500}.vt-footer-links a{color:var(--vt-muted);transition:color .2s ease}.vt-footer-links a:hover{color:var(--vt-accent-strong)}.vt-footer-copy{margin:0;font-size:.85rem;color:var(--vt-muted)}@media (max-width: 1024px){.vt-hero-inner{grid-template-columns:minmax(0,1fr);gap:48px}.vt-hero-copy{max-width:640px}.vt-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.vt-stat:nth-child(3){border-left:0}.vt-stat:nth-child(n+3){border-top:1px solid var(--vt-line)}.vt-steps-layout,.vt-bridge{grid-template-columns:minmax(0,1fr);gap:36px}.vt-steps-head{position:static}}@media (max-width: 640px){.vt-nav{padding:10px 14px}.vt-nav-inner{gap:10px}.vt-nav .brand-logo-name,.vt-nav-login-label{display:none}.vt-tab{min-width:0;padding:9px 14px;font-size:.88rem}.vt-tab svg{display:none}.vt-nav-login{padding:10px}.vt-hero{padding:112px 16px 64px}.vt-hero-subtitle{font-size:1rem}.vt-hero-actions .vt-btn{flex:1 1 100%}.vt-aurora-1{width:340px;height:340px}.vt-aurora-2{width:300px;height:300px}.vt-section{padding:64px 16px}.vt-stat{padding:22px 18px}.vt-step{gap:14px;padding-right:0}.vt-steps:before,.vt-steps:after{left:19px}.vt-step-dot{width:40px;height:40px}.vt-step-body{padding:16px 18px}.vt-bridge{padding:32px 22px}.vt-bridge-app{width:92px;height:92px;border-radius:24px}.vt-bridge-link{width:70px}.vt-btn-switch{width:100%}.vt-cta{padding:56px 22px;border-radius:26px}.vt-footer-inner{flex-direction:column;text-align:center}}@media (prefers-reduced-motion: reduce){.vt-page *,.vt-page *:before,.vt-page *:after{animation:none!important;transition:none!important}.vt-page{transition:none}.vt-reveal{opacity:1;transform:none}.vt-swash path{stroke-dashoffset:0}.vt-marquee-track{flex-wrap:wrap;width:auto}.vt-marquee-group+.vt-marquee-group{display:none}}
