@import"https://fonts.googleapis.com/css2?family=Cormorant+Garamond:wght@400;700&family=Montserrat:wght@300;400;500;600;700&display=swap";*{margin:0;padding:0;box-sizing:border-box}body{font-family:Montserrat,sans-serif;color:#2e2e2e;background-color:#f3efe7;line-height:1.6}h1,h2,h3,h4,h5,h6{font-family:Cormorant Garamond,serif;font-weight:700}input:-webkit-autofill,input:-webkit-autofill:hover,input:-webkit-autofill:focus,input:-webkit-autofill:active{-webkit-box-shadow:0 0 0 30px #ffffff inset!important;box-shadow:0 0 0 30px #fff inset!important;-webkit-text-fill-color:#2E2E2E!important;background-color:#fff!important}:root{--gold: #E2B958;--rose: #D79B69;--anthracite: #2E2E2E;--beige: #F3EFE7;--sage: #9CA88C;--white: #ffffff}.app-container{display:flex;height:100vh;background-color:var(--beige);position:relative}.mobile-menu-toggle{display:none;position:fixed;top:1rem;left:1rem;z-index:1001;background:var(--gold);border:none;border-radius:8px;padding:.75rem;color:var(--white);cursor:pointer;box-shadow:0 4px 12px #00000026;transition:all .3s ease}.mobile-menu-toggle:hover{background:var(--rose);transform:scale(1.05)}.mobile-menu-toggle:active{transform:scale(.95)}.mobile-menu-overlay{display:none;position:fixed;inset:0;background:#2e2e2e80;z-index:999;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.sidebar{width:260px;background-color:var(--anthracite);color:var(--beige);display:flex;flex-direction:column;transition:transform .3s ease}.sidebar-header{padding:2rem 1.5rem;border-bottom:1px solid var(--rose)}.sidebar-logo{font-size:1.5rem;font-family:Cormorant Garamond,serif;font-weight:700;color:var(--gold);margin-bottom:.5rem}.sidebar-subtitle{font-size:.875rem;color:var(--beige)}.mode-switch-btn{display:flex;align-items:center;justify-content:center;gap:.5rem;margin:1rem 1.5rem;padding:.75rem 1rem;background:linear-gradient(135deg,var(--gold),var(--rose));color:var(--white);border:none;border-radius:8px;font-size:.875rem;font-weight:600;cursor:pointer;transition:all .3s ease;box-shadow:0 2px 8px #e2b9584d}.mode-switch-btn:hover{transform:translateY(-2px);box-shadow:0 4px 12px #e2b95866}.mode-switch-btn:active{transform:translateY(0)}.mode-switch-btn svg{animation:rotate .5s ease}@keyframes rotate{0%{transform:rotate(0)}to{transform:rotate(180deg)}}.mode-indicator{padding:.5rem 1rem;text-align:center;font-weight:600;font-size:.75rem;letter-spacing:1px;text-transform:uppercase}.mode-indicator.mode-catering{background-color:var(--gold);color:var(--anthracite)}.mode-indicator.mode-event{background-color:var(--rose);color:var(--white)}.sidebar-nav{flex:1;padding:1rem;overflow-y:auto}.sidebar-nav ul{list-style:none}.sidebar-nav li{margin-bottom:.5rem}.sidebar-nav a{display:block;padding:.75rem 1rem;color:var(--beige);text-decoration:none;border-radius:4px;transition:background-color .3s}.sidebar-nav a:hover{background-color:#e2b9581a}.sidebar-nav a.active{background-color:var(--gold);color:var(--beige)}.sidebar-section-title{font-family:Montserrat,sans-serif;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--gold);padding:1.5rem 1rem .5rem;margin-top:.5rem;border-top:1px solid rgba(226,185,88,.2)}.sidebar-section-title:first-of-type{margin-top:1rem;border-top:none}.sidebar-event-mode .sidebar-subtitle{color:var(--rose)}.sidebar-event-mode .sidebar-nav a.active{background-color:var(--rose)}.sidebar-event-mode .sidebar-nav a:hover{background-color:#d79b691a}.sidebar-event-mode .sidebar-section-title{color:var(--rose);border-top-color:#d79b6933}.sidebar-event-mode .sidebar-user{background:#d79b691a;border-color:#d79b6933}.sidebar-event-mode .sidebar-user-info svg{color:var(--rose)}.sidebar-event-mode .sidebar-user-role{color:var(--rose)}.app-event-mode .btn-primary{background-color:var(--rose)}.app-event-mode .btn-primary:hover{background-color:#c48b5a}.app-event-mode .btn-secondary{color:var(--rose);border-color:var(--rose)}.app-event-mode .btn-secondary:hover{background-color:var(--rose);color:var(--white)}.app-event-mode table thead{background-color:var(--rose)}.app-event-mode input:focus,.app-event-mode textarea:focus,.app-event-mode select:focus{outline:none}.app-event-mode a:hover{color:var(--rose)}.app-event-mode .kpi-card{border-left-color:var(--rose)}.app-event-mode .kpi-icon,.app-event-mode .page-title{color:var(--rose)}.app-event-mode .stat-card{border-left-color:var(--rose)}.app-event-mode .stat-value{color:var(--rose)}.app-event-mode .tab-btn.active,.app-event-mode .nav-tab.active{border-bottom-color:var(--rose);color:var(--rose)}.app-event-mode .badge-primary{background-color:var(--rose)}.app-event-mode .card-header,.app-event-mode .modal-header{border-bottom-color:var(--rose)}.app-event-mode .toggle-switch.active{background-color:var(--rose)}.app-event-mode .section-title{color:var(--rose)}.sidebar-user{display:flex;align-items:center;justify-content:space-between;padding:1rem;margin:1rem;background:#e2b9581a;border-radius:8px;border:1px solid rgba(226,185,88,.2)}.sidebar-user-info{display:flex;align-items:center;gap:12px;flex:1;min-width:0}.sidebar-user-info svg{color:var(--gold);flex-shrink:0}.sidebar-user-details{flex:1;min-width:0}.sidebar-user-name{font-size:.9rem;font-weight:600;color:var(--beige);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sidebar-user-role{font-size:.75rem;color:var(--gold);text-transform:uppercase;letter-spacing:.5px}.sidebar-logout-btn{background:transparent;border:none;color:var(--rose);cursor:pointer;padding:8px;border-radius:4px;display:flex;align-items:center;justify-content:center;transition:all .3s ease;flex-shrink:0}.sidebar-logout-btn:hover{background:#d79b6933;color:var(--beige)}.sidebar-footer{padding:1rem;border-top:1px solid var(--rose);font-size:.875rem;color:var(--beige)}.main-content{flex:1;overflow-y:auto;padding:2rem;position:relative}.sidebar-search{padding:1rem 1rem .75rem;border-bottom:1px solid var(--rose)}.btn,.btn-primary,.btn-secondary,.btn-danger{padding:.75rem 1.5rem;font-family:Montserrat,sans-serif;font-weight:600;font-size:1rem;border:none;border-radius:4px;cursor:pointer;transition:all .3s ease;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;gap:.5rem}.btn-primary:hover{background-color:var(--rose)}.btn-full{width:100%}.btn-danger{background-color:var(--anthracite);color:var(--beige)}.btn-danger:hover{background-color:var(--rose)}.toast{position:fixed;top:1rem;right:1rem;z-index:9999;min-width:300px;animation:slide-in .3s ease-out}.toast-content{border-radius:8px;padding:1rem 1.5rem;box-shadow:0 4px 12px #00000026;display:flex;align-items:center;gap:.75rem;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.toast-success{background-color:#9ca88cf2;border-left:4px solid var(--sage);color:var(--beige)}.toast-error{background-color:#d79b69f2;border-left:4px solid var(--rose);color:var(--beige)}.toast-info{background-color:#e2b958f2;border-left:4px solid var(--gold);color:var(--beige)}.toast-icon{font-size:1.5rem;font-weight:700}.toast-message{flex:1;font-weight:500}.toast-close{background:none;border:none;color:var(--beige);font-size:1.25rem;cursor:pointer;padding:0;line-height:1;transition:opacity .2s}.toast-close:hover{opacity:.7}.card{background-color:var(--white);border-radius:8px;padding:1.5rem;box-shadow:0 2px 8px #0000001a;border-left:4px solid var(--gold);margin-bottom:1.5rem}.card-rose{border-left-color:var(--rose)}.card-sage{border-left-color:var(--sage)}.card-anthracite{border-left-color:var(--anthracite)}.badge{padding:.25rem .75rem;border-radius:12px;font-size:.875rem;font-weight:500;display:inline-block}.badge-draft{background-color:var(--beige);color:var(--anthracite)}.badge-sent{background-color:var(--gold);color:var(--beige)}.badge-accepted{background-color:var(--sage);color:var(--white)}.badge-refused{background-color:var(--anthracite);color:var(--white)}.form-group{margin-bottom:1rem}.form-label{display:block;font-weight:500;margin-bottom:.5rem;color:var(--anthracite)}.form-input{width:100%;padding:.75rem;border:2px solid var(--rose);border-radius:4px;font-family:Montserrat,sans-serif;font-size:1rem;transition:border-color .3s}.form-input:focus{outline:none;border-color:var(--gold);box-shadow:0 0 0 3px #e2b9581a}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.table-container{overflow:visible}table{width:100%;border-collapse:collapse}thead{background-color:var(--beige)}th{padding:.75rem 1rem;text-align:left;font-weight:600;color:var(--anthracite)}td{padding:.75rem 1rem;border-top:1px solid var(--beige)}tbody tr:hover{background-color:var(--beige)}.grid{display:grid;gap:1.5rem}.grid-2{grid-template-columns:repeat(2,1fr)}.grid-3{grid-template-columns:repeat(3,1fr)}.grid-4{grid-template-columns:repeat(4,1fr)}@media(max-width:1024px){.grid-4{grid-template-columns:repeat(2,1fr)}}@media(max-width:768px){.grid-2,.grid-3,.grid-4{grid-template-columns:1fr}.mobile-menu-toggle{display:flex;align-items:center;justify-content:center}.mobile-menu-overlay{display:block}.sidebar{position:fixed;top:0;left:0;bottom:0;z-index:1000;transform:translate(-100%);box-shadow:4px 0 20px #0000004d}.sidebar-open{transform:translate(0)}.main-content{margin-left:0;width:100%}.page-header{flex-direction:column;align-items:flex-start!important;gap:1rem;padding-top:4rem!important}.page-header>div{width:100%}.page-header .flex{flex-direction:column;width:100%}.page-header .flex button,.page-header .flex .btn{width:100%;justify-content:center}}.stats-card{display:flex;align-items:center;justify-content:space-between;margin-bottom:1rem}.stats-card-icon{font-size:2.5rem}.stats-card-title{font-size:1rem;font-weight:600;color:var(--anthracite);margin-bottom:.5rem}.stats-card-value{font-size:2rem;font-weight:700;color:var(--gold)}.stats-card-value.rose{color:var(--rose)}.stats-card-value.sage{color:var(--sage)}.page-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem}.page-title{font-size:2.5rem;color:var(--gold);display:inline-block;padding-bottom:12px}.text-center{text-align:center}.mb-8{margin-bottom:2rem}.py-8{padding-top:2rem;padding-bottom:2rem}.py-12{padding-top:3rem;padding-bottom:3rem}.text-gray{color:#6b7280}.font-medium{font-weight:500}.empty-state{text-align:center;padding:3rem;color:#6b7280}.lines-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.lines-container{display:flex;flex-direction:column;gap:1rem}.quote-line{background-color:var(--beige);border-left:4px solid var(--gold);border-radius:4px;padding:1rem}.lines-list .line-item{padding:20px 0 30px;border-bottom:solid 1px var(--beige)}.line-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.line-number{font-family:Cormorant Garamond,serif;font-weight:700;font-size:1.125rem;color:var(--anthracite)}.line-fields{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:1rem;margin-bottom:.75rem}.line-fields label{display:block;font-size:.75rem;font-weight:500;color:var(--anthracite);margin-bottom:.25rem}.field-description,.field-small{grid-column:span 1}.line-total{text-align:right;font-size:.875rem;color:var(--anthracite)}.line-total strong{color:var(--rose);font-size:1.125rem;font-weight:700}.totals-box{background:linear-gradient(135deg,var(--gold) 0%,var(--rose) 100%);color:var(--beige);padding:1.5rem;border-radius:8px;margin-bottom:1.5rem;box-shadow:0 4px 12px #0000001a}.totals-box h3{font-family:Cormorant Garamond,serif;font-size:1.5rem;margin-bottom:1rem}.totals-content{display:flex;flex-direction:column;gap:.5rem}.total-row{display:flex;justify-content:space-between;font-size:1.125rem}.total-final{font-size:1.5rem;font-weight:700;border-top:2px solid var(--beige);padding-top:.75rem;margin-top:.75rem}@media(max-width:768px){.line-fields{grid-template-columns:1fr}.lines-header{flex-direction:column;align-items:flex-start;gap:.5rem}.lines-header .btn{width:100%}}.signature-modal{position:fixed;inset:0;background:#2e2e2ecc;display:flex;align-items:center;justify-content:center;z-index:9999;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.signature-content{background:var(--beige);padding:40px;border-radius:8px;border-left:4px solid var(--gold);box-shadow:0 10px 40px #0003;max-width:700px;width:90%}.btn-email{padding:8px 16px;background:var(--sage);color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:13px;font-weight:500;font-family:Montserrat,sans-serif;transition:all .3s ease}.btn-email:hover{background:#8b9779;transform:translateY(-1px)}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes scaleIn{0%{transform:scale(.95);opacity:0}to{transform:scale(1);opacity:1}}@keyframes shake{0%,to{transform:translate(0)}10%,30%,50%,70%,90%{transform:translate(-5px)}20%,40%,60%,80%{transform:translate(5px)}}@keyframes pulse{0%{box-shadow:0 0 #e2b958b3}70%{box-shadow:0 0 0 10px #e2b95800}to{box-shadow:0 0 #e2b95800}}.modal-overlay{position:fixed;inset:0;background:#2e2e2ecc;display:flex;align-items:center;justify-content:center;z-index:9999;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);animation:fadeIn .2s ease-out}.modal-content{background:var(--beige);padding:40px;border-radius:8px;border-left:4px solid var(--gold);box-shadow:0 10px 40px #0003;max-width:500px;width:90%;animation:scaleIn .3s ease-out}.modal-content h2{font-family:Cormorant Garamond,serif;color:var(--gold);margin:0 0 20px;font-size:28px}.modal-content p{font-family:Montserrat,sans-serif;color:var(--anthracite);margin-bottom:30px;font-size:15px;line-height:1.6}.modal-content.modal-large .line-item{border-bottom:solid 1px var(--gold)}.modal-content.modal-large .line-item .btn-remove-line{background-color:var(--rose);color:#fff}.modal-actions{display:flex;gap:12px;justify-content:flex-end}.badge-email-sent{display:inline-block;padding:4px 12px;background:var(--sage);color:#fff;border-radius:12px;font-size:12px;font-weight:500;font-family:Montserrat,sans-serif}.badge-email-not-sent{display:inline-block;padding:4px 12px;background:var(--rose);color:#fff;border-radius:12px;font-size:12px;font-weight:500;font-family:Montserrat,sans-serif}.btn-invoice{padding:8px 16px;background:var(--gold);color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:13px;font-weight:500;font-family:Montserrat,sans-serif;transition:all .3s ease}.btn-invoice:hover{background:var(--rose);transform:translateY(-1px)}.loading-overlay{position:fixed;inset:0;background:#2e2e2ed9;display:flex;align-items:center;justify-content:center;z-index:99999;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.loading-modal{background:var(--beige);padding:50px 60px;border-radius:12px;border-left:4px solid var(--gold);box-shadow:0 15px 50px #0000004d;text-align:center;min-width:350px}.loading-modal .loading-spinner{width:60px;height:60px;border:4px solid var(--beige);border-top:4px solid var(--gold);border-radius:50%;margin:0 auto 25px;animation:spin .8s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.loading-modal p{font-family:Montserrat,sans-serif;font-size:16px;font-weight:500;color:var(--anthracite);margin:0}.kpi-subtitle{margin-top:.5rem;font-size:.875rem;color:var(--sage);font-weight:500}.kpi-evolution{margin-top:.5rem;font-size:.875rem;font-weight:600}.kpi-evolution.positive{color:var(--sage)}.kpi-evolution.negative{color:var(--rose)}.charts-container{display:grid;grid-template-columns:repeat(auto-fit,minmax(500px,1fr));gap:2rem;margin-top:2rem}.chart-title{font-family:Cormorant Garamond,serif;font-size:1.5rem;font-weight:700;color:var(--anthracite);margin-bottom:1.5rem;text-transform:uppercase;letter-spacing:.05em}.dashboard-container{max-width:1400px;margin:0 auto}@media(max-width:768px){.charts-container{grid-template-columns:1fr}}.payment-progress-container{margin-bottom:1rem}.payment-progress-bar{background:#f3efe7;height:40px;border-radius:20px;overflow:visible;position:relative;box-shadow:inset 0 2px 4px #2e2e2e1a}.payment-progress-fill{background:linear-gradient(135deg,#e2b958,#d79b69);height:100%;transition:width .5s ease;border-radius:20px;box-shadow:0 2px 4px #e2b9584d}.payment-progress-badge{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);background:#fff;color:#e2b958;font-weight:700;font-size:14px;padding:6px 16px;border-radius:20px;border:2px solid #E2B958;box-shadow:0 2px 8px #0000001a;z-index:10;white-space:nowrap}.payment-progress-text{display:flex;justify-content:space-between;font-size:14px;margin-top:.5rem;color:#2e2e2e}.payment-progress-text strong{color:#e2b958}.btn-loading{opacity:.6!important;cursor:wait!important;background:linear-gradient(135deg,#d79b69,#e2b958)!important;pointer-events:none}.dropdown-menu-container{position:relative;display:inline-block}.dropdown-trigger{background:transparent;border:1px solid #D79B69;border-radius:6px;padding:8px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease;color:#2e2e2e}.dropdown-trigger:hover{background:#f3efe7;border-color:#e2b958;transform:rotate(90deg)}.dropdown-content{position:absolute;right:0;top:calc(100% + 8px);background:#fff;border-radius:8px;box-shadow:0 4px 12px #00000026;min-width:180px;z-index:1000;padding:8px;animation:dropdownFadeIn .2s ease}@keyframes dropdownFadeIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.dropdown-item{display:flex;align-items:center;gap:12px;padding:10px 16px;background:transparent;border:none;border-radius:6px;cursor:pointer;transition:all .2s ease;width:100%;text-align:left;font-size:14px;color:#2e2e2e}.dropdown-item:hover{background:#f3efe7}.dropdown-item-add:hover{background:#9ca88c1a;color:#9ca88c}.dropdown-item-edit:hover{background:#e2b9581a;color:#e2b958}.dropdown-item-delete:hover{background:#d79b691a;color:#d79b69}.dropdown-item svg{flex-shrink:0}.modal-large{max-width:900px!important;max-height:90vh;overflow-y:auto}.remises-section{margin-top:20px;padding:20px;background:var(--beige, #F3EFE7);border-radius:8px;border-left:4px solid var(--or, #E2B958)}.remises-title{margin-bottom:15px;color:var(--or, #E2B958);font-family:Cormorant Garamond,serif;font-size:24px;font-weight:700}.remises-list-container{margin-bottom:20px}.remises-list-title{font-size:14px;color:var(--anthracite, #2E2E2E);margin-bottom:10px;font-weight:600}.remises-list{display:flex;flex-direction:column;gap:10px}.remise-item{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;background:#fff;border-radius:6px;border:1px solid var(--rose, #D79B69);transition:all .2s ease}.remise-item:hover{box-shadow:0 2px 8px #e2b95826}.remise-item.editing{border:2px solid var(--or, #E2B958);box-shadow:0 0 0 3px #e2b9581a}.remise-info{flex:1}.remise-label{font-weight:600;color:var(--anthracite, #2E2E2E);margin-bottom:4px;font-size:14px}.remise-value{font-size:13px;color:var(--vert-sauge, #9CA88C)}.remise-actions{display:flex;gap:8px}.btn-remise-edit,.btn-remise-delete{padding:6px 12px;background:transparent;border-radius:4px;cursor:pointer;font-size:13px;font-weight:500;transition:all .2s ease;border:1px solid}.btn-remise-edit{border-color:var(--or, #E2B958);color:var(--or, #E2B958)}.btn-remise-edit:hover{background:var(--or, #E2B958);color:var(--beige, #F3EFE7)}.btn-remise-delete{border-color:var(--anthracite, #2E2E2E);color:var(--anthracite, #2E2E2E)}.btn-remise-delete:hover{background:var(--anthracite, #2E2E2E);color:#fff}.remise-form{padding:16px;background:#fff;border-radius:6px;border:1px solid var(--rose, #D79B69)}.remise-form-title{font-size:14px;color:var(--anthracite, #2E2E2E);margin-bottom:12px;font-weight:600;display:flex;align-items:center;gap:6px}.remise-form-fields{display:flex;gap:12px;align-items:flex-end}.remise-form-fields .form-field{min-width:0}.remise-form-fields .form-field:first-child{flex:1.5}.remise-form-fields .form-field:nth-child(2){flex:1.2;min-width:130px}.remise-form-fields .form-field:nth-child(3){flex:.8;min-width:70px}.remise-form-actions{display:flex;align-items:flex-end;gap:8px;flex-shrink:0}.btn-add-remise{padding:10px 14px;background:var(--or, #E2B958);color:var(--beige, #F3EFE7);border:none;border-radius:4px;cursor:pointer;font-size:13px;font-weight:600;transition:all .2s ease;white-space:nowrap}.btn-add-remise:hover{background:var(--rose, #D79B69)}.btn-cancel-remise{padding:10px 20px;background:transparent;color:var(--anthracite, #2E2E2E);border:1px solid var(--anthracite, #2E2E2E);border-radius:4px;cursor:pointer;font-size:14px;font-weight:500;transition:all .2s ease}.btn-cancel-remise:hover{background:var(--anthracite, #2E2E2E);color:#fff}.total-row.discount-detail{border-top:1px dashed var(--rose, #D79B69);padding-top:8px;margin-top:8px;font-size:13px}.total-row.discount-detail span:first-child{color:#fff}.total-row.discount-detail span:last-child{color:#fff}.total-row.after-discount{font-weight:600;border-top:1px solid var(--or, #E2B958);padding-top:8px}.discount-item-detail span{font-size:13px}@media(max-width:768px){.remise-item{flex-direction:column;align-items:flex-start;gap:12px}.remise-actions{width:100%;justify-content:flex-end}.remise-form-fields{flex-wrap:wrap}.remise-form-fields .form-field:first-child{flex:1 1 100%}.remise-form-fields .form-field:nth-child(2),.remise-form-fields .form-field:nth-child(3){flex:1;min-width:100px}.remise-form-actions{width:100%;justify-content:flex-end;margin-top:8px}}.discount-item{background:var(--beige);padding:1.5rem;border-radius:8px;border-left:4px solid var(--rose);display:flex;justify-content:space-between;align-items:center}.discount-label{margin-bottom:.5rem;font-weight:600;color:var(--anthracite)}.discount-value{color:var(--rose);font-weight:700;font-size:1.125rem}.totals-summary{margin-top:2rem;padding:1.5rem;background:var(--beige);border-radius:8px;border-left:4px solid var(--or)}.totals-row{display:flex;justify-content:space-between;margin-bottom:.75rem;color:var(--anthracite)}.totals-row.discount-row{color:var(--rose);font-style:italic}.totals-row.totals-subtotal{padding-top:.75rem;border-top:1px solid var(--rose)}.totals-row.totals-final{padding-top:1rem;border-top:2px solid var(--or);font-size:1.25rem;color:var(--or)}.totals-summary-simple{margin-top:2rem;padding:1.5rem;background:var(--beige);border-radius:8px;border-left:4px solid var(--or);display:flex;justify-content:space-between;align-items:center;font-size:1.25rem;color:var(--or)}.payment-item{background:var(--beige);padding:1.5rem;border-radius:8px;border-left:4px solid var(--sage);display:flex;justify-content:space-between;align-items:center}.payment-details{display:flex;gap:1rem;margin-bottom:.5rem}.payment-amount{font-weight:700;color:var(--anthracite)}.payment-separator{color:var(--sage)}.payment-method{color:var(--anthracite)}.payment-date{color:var(--sage)}.payment-reference{font-size:14px;color:var(--sage)}.credit-note-item{background:var(--beige);padding:1.5rem;border-radius:8px;border-left:4px solid var(--rose);display:flex;justify-content:space-between;align-items:center}.credit-note-number{margin-bottom:.5rem;font-weight:700;color:var(--anthracite)}.credit-note-amount{color:var(--rose);font-weight:700;margin-bottom:.5rem}.credit-note-reason{font-size:14px;color:var(--anthracite);margin-bottom:.25rem}.credit-note-date{font-size:12px;color:var(--sage)}.form-helper{font-size:12px;color:var(--sage);margin-top:4px}.stats-card-value{margin-top:.5rem;font-size:1.125rem;font-weight:600}.flex{display:flex}.flex-1{flex:1}.flex-col{flex-direction:column}.gap-2{gap:.5rem}.gap-4{gap:1rem}.items-center{align-items:center}.justify-between{justify-content:space-between}.mb-4{margin-bottom:1rem}.mb-6{margin-bottom:1.5rem}.mt-2{margin-top:.5rem}.template-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:24px;margin-top:24px}.template-card{background:#fff;border:1px solid var(--beige);border-radius:8px;padding:24px;transition:all .3s ease}.template-card:hover{transform:translateY(-4px);box-shadow:0 8px 16px #2e2e2e1a}.template-card-inactive{opacity:.6}.template-card-header{display:flex;align-items:center;gap:12px;margin-bottom:16px}.template-card-color{width:16px;height:16px;border-radius:50%;flex-shrink:0}.template-card-header h3{flex:1;margin:0;font-size:18px;font-weight:600;color:var(--anthracite)}.template-card-body{margin-bottom:20px}.template-percentage{font-size:48px;font-weight:700;color:var(--or);text-align:center;margin:20px 0}.template-description{font-size:14px;color:var(--anthracite);margin-bottom:12px;line-height:1.5}.template-usage{font-size:13px;color:var(--sage);text-align:center;padding:8px;background:var(--beige);border-radius:4px}.template-card-actions{display:flex;gap:8px;flex-wrap:wrap}.btn-sm{padding:8px 12px;font-size:13px}.color-options{display:grid;grid-template-columns:repeat(auto-fit,minmax(80px,1fr));gap:12px}.color-option{display:flex;flex-direction:column;align-items:center;gap:8px;padding:12px;border:2px solid var(--beige);border-radius:6px;background:#fff;cursor:pointer;transition:all .2s ease}.color-option:hover{border-color:var(--rose);transform:scale(1.05)}.color-option.active{border-color:var(--or);background:var(--beige)}.color-swatch{width:32px;height:32px;border-radius:50%;border:2px solid white;box-shadow:0 2px 4px #0000001a}.color-option span{font-size:12px;font-weight:500;color:var(--anthracite)}@media(max-width:768px){.template-grid{grid-template-columns:1fr}.color-options{grid-template-columns:repeat(2,1fr)}}.modal-overlay{position:fixed;inset:0;background:#2e2e2eb3;display:flex;align-items:center;justify-content:center;z-index:1000}.modal{background:#fff;border-radius:12px;box-shadow:0 20px 60px #0000004d;max-width:600px;width:90%;max-height:90vh;overflow-y:auto}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:24px;border-bottom:1px solid var(--beige)}.modal-header h2{margin:0;font-size:24px;color:var(--anthracite)}.modal-close{background:none;border:none;font-size:32px;color:var(--anthracite);cursor:pointer;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;transition:color .2s ease}.modal-close:hover{color:var(--rose)}.modal-body{padding:24px}.modal-footer{display:flex;justify-content:flex-end;gap:12px;padding:24px;border-top:1px solid var(--beige)}.template-selector-grid{display:flex;flex-wrap:wrap;gap:16px;margin-top:16px;max-height:60vh;overflow-y:auto;padding-right:8px}.template-selector-card{background:#fff;border:2px solid var(--beige);border-radius:8px;padding:20px;cursor:pointer;transition:all .3s ease;text-align:left;width:100%}.template-selector-card:hover{border-color:var(--or);transform:translateY(-4px);box-shadow:0 6px 12px #e2b95833}.template-selector-header{display:flex;align-items:center;gap:10px;margin-bottom:12px}.template-selector-header h3{font-size:16px;font-weight:600;color:var(--anthracite);margin:0}.template-selector-body{display:flex;flex-direction:column;gap:8px}.template-percentage-large{font-size:36px;font-weight:700;text-align:center;margin:8px 0}@media(max-width:768px){.template-selector-grid{grid-template-columns:1fr}}.catalog-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem}.category-filters{display:flex;gap:1rem;margin-bottom:2rem;flex-wrap:wrap}.filter-btn{padding:.5rem 1rem;border:2px solid var(--rose);background:transparent;color:var(--anthracite);border-radius:4px;cursor:pointer;font-family:Montserrat,sans-serif;font-weight:600;font-size:14px;transition:all .2s}.filter-btn:hover{background:var(--gold);color:var(--beige);border-color:var(--gold)}.filter-btn.active{border-color:var(--gold);background:var(--gold);color:var(--beige)}.products-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1.5rem}.product-card{background:var(--white);border-radius:8px;padding:0;box-shadow:0 2px 8px #0000001a;transition:all .2s}.product-card.inactive{opacity:.6}.product-card-gold{border-left:4px solid var(--gold)}.product-card-sage{border-left:4px solid var(--sage)}.product-image{width:100%;height:150px;object-fit:cover;border-radius:4px 4px 0 0;margin-bottom:1rem}.product-header{display:flex;justify-content:space-between;align-items:start;margin-bottom:.5rem;padding:1.5rem 1.5rem 0}.product-category{font-size:12px;color:var(--sage);font-family:Montserrat,sans-serif;margin-bottom:.25rem}.product-name{font-family:Cormorant Garamond,serif;font-size:1.25rem;font-weight:700;color:var(--anthracite);margin:0}.product-status-badge{padding:.25rem .5rem;border:none;border-radius:4px;font-size:11px;font-family:Montserrat,sans-serif;font-weight:600;cursor:pointer;color:var(--white);transition:opacity .2s}.product-status-badge:hover{opacity:.8}.product-status-badge.active{background:var(--sage)}.product-status-badge.inactive{background:var(--rose)}.product-description{font-size:14px;color:var(--anthracite);font-family:Montserrat,sans-serif;margin-bottom:1rem;line-height:1.5;padding:0 1.5rem}.product-price-section{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem;padding:1rem 1.5rem 0;border-top:1px solid var(--beige)}.product-price{font-size:24px;font-weight:700;color:var(--gold);font-family:Montserrat,sans-serif}.product-price-details{font-size:12px;color:var(--sage);font-family:Montserrat,sans-serif}.product-actions{display:flex;gap:.5rem;padding:0 1.5rem 1.5rem}.btn-edit{flex:1;padding:.5rem;background:var(--gold);color:var(--beige);border:none;border-radius:4px;font-family:Montserrat,sans-serif;font-weight:600;font-size:14px;cursor:pointer;transition:background .2s}.btn-edit:hover{background:var(--rose)}.btn-delete{padding:.5rem 1rem;background:transparent;color:var(--rose);border:1px solid var(--rose);border-radius:4px;font-family:Montserrat,sans-serif;font-weight:600;font-size:14px;cursor:pointer;transition:all .2s}.btn-delete:hover{background:var(--rose);color:var(--white)}.empty-state{text-align:center;padding:3rem;color:var(--sage);font-family:Montserrat,sans-serif}.image-upload-zone{border:2px dashed var(--rose);border-radius:8px;padding:2rem;text-align:center;background:var(--beige);cursor:pointer;transition:all .2s;position:relative}.image-upload-zone:hover,.image-upload-zone.drag-over{border-color:var(--gold);background:#fff9f0}.image-upload-icon{font-size:48px;margin-bottom:1rem}.image-upload-title{font-family:Montserrat,sans-serif;font-size:16px;color:var(--anthracite);margin-bottom:.5rem;font-weight:600}.image-upload-subtitle{font-family:Montserrat,sans-serif;font-size:14px;color:var(--sage)}.image-preview-container{position:relative}.image-preview{max-width:100%;max-height:200px;border-radius:4px;margin-bottom:1rem}.image-remove-btn{position:absolute;top:10px;right:10px;background:var(--rose);color:var(--white);border:none;border-radius:50%;width:32px;height:32px;cursor:pointer;font-size:18px;display:flex;align-items:center;justify-content:center;transition:background .2s}.image-remove-btn:hover{background:var(--anthracite)}.image-change-text{font-family:Montserrat,sans-serif;font-size:14px;color:var(--sage)}.btn-icon{background:transparent;border:none;cursor:pointer;padding:.5rem;border-radius:4px;transition:background-color .2s;display:inline-flex;align-items:center;justify-content:center}.btn-icon:hover{background-color:var(--beige)}.btn-icon-danger:hover{background-color:#ffe6e6;color:var(--rose)}.modal-large{max-width:900px;width:90%}.text-success{color:#4caf50}.text-danger{color:var(--rose)}.text-warning{color:#ff9800}.login-container{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--gold) 0%,var(--rose) 100%);padding:2rem}.login-card{background:var(--white);border-radius:12px;box-shadow:0 8px 32px #0000001a;padding:3rem;width:100%;max-width:450px}.login-header{text-align:center;margin-bottom:2.5rem}.login-title{font-family:Cormorant Garamond,serif;font-size:2.5rem;color:var(--gold);margin-bottom:.5rem}.login-subtitle{font-size:1rem;color:var(--anthracite);font-weight:500}.login-form{display:flex;flex-direction:column;gap:1.5rem}.login-footer{text-align:center;margin-top:2rem;padding-top:2rem;border-top:1px solid var(--beige);color:var(--sage);font-size:.875rem}.loading-container{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100vh;gap:1rem}.page-container>.loading-spinner{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:50vh;gap:1rem}.page-container>.loading-spinner p{font-family:Montserrat,sans-serif;font-size:16px;font-weight:500;color:var(--anthracite);margin:0}.spinner{width:50px;height:50px;border:4px solid var(--beige);border-top:4px solid var(--gold);border-radius:50%;animation:spin 1s linear infinite}.events-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(350px,1fr));gap:1.5rem;margin-top:1.5rem}.event-card{background:var(--white);border-radius:12px;overflow:hidden;box-shadow:0 2px 8px #00000014;transition:all .3s ease;display:flex;flex-direction:column}.event-card:hover{transform:translateY(-4px);box-shadow:0 8px 16px #0000001f}.event-card-header{padding:1.25rem;border-bottom:2px solid var(--beige);display:flex;justify-content:space-between;align-items:flex-start;background:linear-gradient(135deg,var(--beige) 0%,var(--white) 100%)}.event-card-header h3{font-size:1.25rem;color:var(--anthracite);margin:0 0 .25rem;font-family:Cormorant Garamond,serif}.event-number{font-size:.875rem;color:var(--rose);font-weight:600}.event-card-body{padding:1.25rem;flex:1}.event-info-row{display:flex;align-items:center;gap:.5rem;margin-bottom:.75rem;color:var(--anthracite);font-size:.9375rem}.event-info-row svg{color:var(--sage);flex-shrink:0}.event-time{font-weight:600;color:var(--rose)}.event-meta{display:flex;gap:1rem;margin-top:1rem;padding-top:1rem;border-top:1px solid var(--beige)}.event-type{padding:.25rem .75rem;background:var(--sage);color:var(--white);border-radius:20px;font-size:.8125rem;font-weight:600}.event-guests{padding:.25rem .75rem;background:var(--gold);color:var(--white);border-radius:20px;font-size:.8125rem;font-weight:600}.event-prestations-count{margin-top:.75rem;font-size:.875rem;color:var(--rose);font-weight:600}.event-card-footer{padding:1rem 1.25rem;background:var(--beige);display:flex;gap:.5rem;justify-content:flex-end;border-top:1px solid rgba(226,185,88,.2)}.event-card-footer .btn-icon{padding:.5rem;background:var(--white);border:1px solid var(--gold);border-radius:6px;cursor:pointer;transition:all .3s ease;display:flex;align-items:center;justify-content:center}.event-card-footer .btn-icon:hover{background:var(--gold);color:var(--white);transform:translateY(-2px)}.event-card-footer .btn-icon.btn-danger{border-color:#dc3545;color:#dc3545}.event-card-footer .btn-icon.btn-danger:hover{background:#dc3545;color:var(--white)}.materials-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:1.5rem;margin-top:1.5rem}.material-card{background:var(--white);border-radius:12px;overflow:hidden;box-shadow:0 2px 8px #00000014;transition:all .3s ease;display:flex;flex-direction:column;border:1px solid var(--beige)}.material-card:hover{transform:translateY(-4px);box-shadow:0 8px 20px #0000001f}.material-card.inactive{opacity:.6;border-color:#ccc}.material-card-header{padding:1.25rem;border-bottom:2px solid var(--beige);display:flex;align-items:center;gap:1rem;background:linear-gradient(135deg,var(--beige) 0%,var(--white) 100%)}.material-type-icon{font-size:2rem;width:50px;height:50px;display:flex;align-items:center;justify-content:center;background:var(--white);border-radius:10px;box-shadow:0 2px 6px #00000014}.material-header-content{flex:1;min-width:0}.material-header-content h3{margin:0 0 .25rem;font-size:1.1rem;font-weight:600;color:var(--anthracite);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.material-type-label{font-size:.8rem;color:var(--sage);font-weight:500}.material-card-body{padding:1.25rem;flex:1;display:flex;flex-direction:column;gap:1rem}.material-quantity-info{background:var(--beige);border-radius:8px;padding:.875rem}.quantity-row{display:flex;justify-content:space-between;align-items:center;padding:.25rem 0}.quantity-row:not(:last-child){border-bottom:1px dashed rgba(46,46,46,.1);padding-bottom:.5rem;margin-bottom:.25rem}.quantity-label{font-size:.875rem;color:var(--anthracite)}.quantity-value{font-weight:700;font-size:1rem}.quantity-value.text-success{color:#28a745}.quantity-value.text-danger{color:#dc3545}.quantity-value.text-warning{color:var(--rose)}.material-price{font-size:.9rem;color:var(--rose);font-weight:600;padding:.5rem .75rem;background:#d79b691a;border-radius:6px;width:fit-content}.material-description{font-size:.85rem;color:#666;line-height:1.5;margin:0}.material-alert{display:flex;align-items:center;gap:.5rem;padding:.625rem .875rem;background:#fff3cd;border:1px solid #ffc107;border-radius:6px;color:#856404;font-size:.85rem;font-weight:500}.material-usages{background:#f8f9fa;border-radius:8px;padding:.875rem;font-size:.85rem}.material-usages strong{display:block;margin-bottom:.5rem;color:var(--anthracite)}.usage-item{display:flex;align-items:center;gap:.5rem;padding:.5rem 0;border-bottom:1px solid #e9ecef;flex-wrap:wrap}.usage-item:last-child{border-bottom:none;padding-bottom:0}.usage-item span:first-child{flex:1;color:var(--anthracite)}.usage-quantity{font-weight:600;color:var(--rose);background:#d79b6926;padding:.125rem .5rem;border-radius:4px;font-size:.8rem}.btn-return{display:inline-flex;align-items:center;gap:.25rem;padding:.25rem .5rem;background:var(--gold);color:var(--white);border:none;border-radius:4px;font-size:.75rem;font-weight:600;cursor:pointer;transition:all .2s ease}.btn-return:hover{background:var(--rose)}.material-card-footer{padding:1rem 1.25rem;background:var(--beige);display:flex;gap:.5rem;justify-content:flex-end;border-top:1px solid rgba(226,185,88,.2)}.material-card-footer .btn-icon{padding:.5rem;background:var(--white);border:1px solid var(--gold);border-radius:6px;cursor:pointer;transition:all .3s ease;display:flex;align-items:center;justify-content:center;color:var(--anthracite)}.material-card-footer .btn-icon:hover{background:var(--gold);color:var(--white);transform:translateY(-2px)}.material-card-footer .btn-icon.btn-success{border-color:#28a745;color:#28a745}.material-card-footer .btn-icon.btn-success:hover{background:#28a745;color:var(--white)}.material-card-footer .btn-icon.btn-success:disabled{opacity:.5;cursor:not-allowed;transform:none}.material-card-footer .btn-icon.btn-danger{border-color:#dc3545;color:#dc3545}.material-card-footer .btn-icon.btn-danger:hover{background:#dc3545;color:var(--white)}.checkout-info,.return-info{background:var(--beige);padding:1rem;border-radius:8px;margin-bottom:1.5rem;text-align:center}.checkout-info h3,.return-info h3{margin:0 0 .5rem;color:var(--anthracite)}.checkout-info p,.return-info p{margin:.25rem 0;color:var(--sage);font-size:.9rem}.filters-section{display:flex;justify-content:space-between;align-items:center;gap:1.5rem;margin-bottom:1.5rem;flex-wrap:wrap}.search-box{display:flex;align-items:center;gap:.75rem;background:var(--white);border:2px solid var(--rose);border-radius:8px;padding:.625rem 1rem;flex:1;max-width:400px;transition:all .3s ease}.search-box:focus-within{border-color:var(--rose)}.search-box svg{color:var(--sage);flex-shrink:0}.search-box input{border:none;outline:none;background:transparent;font-size:.9375rem;color:var(--anthracite);width:100%;font-family:Montserrat,sans-serif}.search-box input::placeholder{color:var(--sage)}.filters-bar{display:flex;justify-content:space-between;align-items:center;gap:1.5rem;margin-bottom:1.5rem;flex-wrap:wrap}.filters-bar .search-box{flex:1;max-width:400px}.filter-group,.filters-group{display:flex;align-items:center;gap:1rem;flex-wrap:wrap}.filter-group svg,.filters-group svg{color:var(--sage)}.filter-item{display:flex;align-items:center;gap:.5rem;background:var(--white);border:none;border-radius:8px;padding:0 1rem;transition:all .3s ease}.filter-item svg{color:var(--sage);flex-shrink:0}.filter-item select,.filter-select{border:none;outline:none;background:transparent;padding:.75rem .5rem;font-size:.9375rem;color:var(--anthracite);font-family:Montserrat,sans-serif;cursor:pointer;min-width:150px}.filter-group select,.filters-group>select{padding:.75rem 1rem;border:2px solid var(--rose);border-radius:8px;background:var(--white);color:var(--anthracite);font-size:.9375rem;font-family:Montserrat,sans-serif;cursor:pointer;transition:all .3s ease}.filter-group select:hover,.filters-group>select:hover{border-color:var(--rose)}.filter-group select:focus,.filters-group>select:focus{outline:none}.suppliers-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(350px,1fr));gap:1.5rem;margin-top:1.5rem}.supplier-card{background:var(--white);border-radius:12px;overflow:hidden;box-shadow:0 2px 8px #00000014;transition:all .3s ease;display:flex;flex-direction:column;border-left:4px solid var(--gold)}.supplier-card.inactive{opacity:.6;border-left-color:var(--sage)}.supplier-card:hover{transform:translateY(-4px);box-shadow:0 8px 16px #0000001f}.supplier-card-header{padding:1.25rem;border-bottom:2px solid var(--beige);display:flex;align-items:center;gap:1rem;background:linear-gradient(135deg,var(--beige) 0%,var(--white) 100%)}.supplier-type-icon{font-size:2rem;width:50px;height:50px;display:flex;align-items:center;justify-content:center;background:var(--white);border-radius:50%;box-shadow:0 2px 6px #0000001a}.supplier-header-content{flex:1}.supplier-header-content h3{font-size:1.25rem;color:var(--anthracite);margin:0 0 .25rem;font-family:Cormorant Garamond,serif}.supplier-type-label{font-size:.875rem;color:var(--rose);font-weight:600}.supplier-card-body{padding:1.25rem;flex:1}.supplier-info-row{display:flex;align-items:center;gap:.5rem;margin-bottom:.75rem;color:var(--anthracite);font-size:.9375rem}.supplier-info-row svg{color:var(--sage);flex-shrink:0}.supplier-info-row a{color:var(--anthracite);text-decoration:none;transition:color .3s ease}.supplier-info-row a:hover{color:var(--gold);text-decoration:underline}.supplier-rate{display:flex;align-items:center;gap:.5rem;margin-top:1rem;padding:.5rem .75rem;background:linear-gradient(135deg,var(--gold),var(--rose));color:var(--white);border-radius:20px;font-size:.875rem;font-weight:600;width:fit-content}.supplier-rate svg{color:var(--white)}.supplier-description{margin-top:1rem;padding-top:1rem;border-top:1px solid var(--beige);font-size:.9375rem;color:#666;line-height:1.6}.supplier-stats{margin-top:.75rem;font-size:.875rem;color:var(--rose);font-weight:600}.supplier-card-footer{padding:1rem 1.25rem;background:var(--beige);display:flex;gap:.5rem;justify-content:flex-end;border-top:1px solid rgba(226,185,88,.2)}@media(max-width:768px){.suppliers-grid{grid-template-columns:1fr}}.event-detail-page .page-header{margin-bottom:2rem}.event-meta{display:flex;align-items:center;gap:.75rem;margin-top:.5rem}.event-type-badge{display:inline-flex;align-items:center;gap:.5rem;padding:.5rem 1rem;background:var(--beige);border-radius:20px;font-size:.875rem;font-weight:600;color:var(--anthracite)}.type-emoji{font-size:1.25rem}.tabs-container{display:flex;gap:.5rem;background:var(--white);padding:1rem;border-radius:12px;box-shadow:0 2px 8px #00000014;margin-bottom:2rem;overflow-x:auto}.tab{display:flex;align-items:center;gap:.5rem;padding:.75rem 1.25rem;background:transparent;border:none;border-radius:8px;font-size:.9375rem;font-weight:500;color:#666;cursor:pointer;transition:all .2s ease;white-space:nowrap}.tab:hover{background:var(--beige);color:var(--anthracite)}.tab.active{background:linear-gradient(135deg,var(--gold),var(--rose));color:var(--white);font-weight:600}.tab svg{flex-shrink:0}.tab-content{animation:fadeIn .3s ease}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.info-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(350px,1fr));gap:1.5rem}.info-card{background:var(--white);padding:1.5rem;border-radius:12px;box-shadow:0 2px 8px #00000014;border-left:4px solid var(--gold)}.info-card.full-width{grid-column:1 / -1}.info-card.highlight-card{border-left-color:var(--rose);background:linear-gradient(135deg,#e2b9580d,#d79b690d)}.info-card h3{display:flex;align-items:center;gap:.5rem;margin:0 0 1.25rem;font-size:1.125rem;color:var(--anthracite)}.info-rows{display:flex;flex-direction:column;gap:.75rem}.info-row{display:flex;justify-content:space-between;align-items:center;padding-bottom:.75rem;border-bottom:1px solid var(--beige)}.info-row:last-child{border-bottom:none;padding-bottom:0}.info-row .label{font-weight:500;color:#666;font-size:.9375rem}.info-row .value{font-weight:600;color:var(--anthracite);text-align:right}.info-row .value a{color:var(--gold);text-decoration:none;transition:color .2s ease}.info-row .value a:hover{color:var(--rose)}.description-text,.notes-text{margin:0;line-height:1.6;color:#666;font-size:.9375rem}.info-note{margin:1rem 0 0;padding:.75rem 1rem;background:#e2b9581a;border-left:3px solid var(--gold);border-radius:4px;font-size:.875rem;color:#666;line-height:1.5}.section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem}.section-header h3{margin:0;font-size:1.25rem;color:var(--anthracite)}.empty-state{text-align:center;padding:4rem 2rem;background:var(--white);border-radius:12px;box-shadow:0 2px 8px #00000014}.empty-state svg{color:var(--gold);margin-bottom:1rem}.empty-state h4{margin:0 0 .5rem;font-size:1.125rem;color:var(--anthracite)}.empty-state p{margin:0 0 1rem;color:#666;font-size:.9375rem}.empty-state .btn-primary{padding:.625rem 1.25rem;font-size:.875rem}.timeline-list{background:var(--white);border-radius:12px;box-shadow:0 2px 8px #00000014;overflow:hidden}.timeline-item{display:flex;gap:1.5rem;padding:1.5rem;border-bottom:1px solid var(--beige);transition:background .2s ease}.timeline-item:last-child{border-bottom:none}.timeline-item:hover{background:#e2b9580d}.timeline-time{display:flex;align-items:center;gap:.5rem;min-width:100px;font-size:1rem;font-weight:700;color:var(--gold)}.timeline-details h4{margin:0 0 .5rem;font-size:1.0625rem;color:var(--anthracite)}.timeline-details p{margin:0 0 .75rem;color:#666;font-size:.9375rem;line-height:1.6}.timeline-responsible{display:inline-flex;align-items:center;gap:.5rem;padding:.25rem .75rem;background:var(--beige);border-radius:12px;font-size:.8125rem;color:var(--anthracite);font-weight:500}.staff-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1.5rem}.staff-card{background:var(--white);padding:1.5rem;border-radius:12px;box-shadow:0 2px 8px #00000014;border-left:4px solid var(--rose);transition:transform .2s ease,box-shadow .2s ease}.staff-card:hover{transform:translateY(-2px);box-shadow:0 4px 12px #0000001f}.staff-header{display:flex;justify-content:space-between;align-items:start;margin-bottom:1rem}.staff-header h4{margin:0;font-size:1.0625rem;color:var(--anthracite)}.staff-role-badge{padding:.375rem .75rem;background:linear-gradient(135deg,var(--gold),var(--rose));color:var(--white);border-radius:12px;font-size:.8125rem;font-weight:600}.staff-info .info-row{display:flex;align-items:center;gap:.5rem;margin-bottom:.5rem;padding-bottom:0;border-bottom:none}.staff-notes{margin:.75rem 0 0;padding:.75rem;background:var(--beige);border-radius:8px;font-size:.875rem;color:#666;line-height:1.5}.prestations-list{display:flex;flex-direction:column;gap:1.5rem}.prestation-card{background:var(--white);padding:1.5rem;border-radius:12px;box-shadow:0 2px 8px #00000014;border-left:4px solid var(--gold);transition:transform .2s ease,box-shadow .2s ease}.prestation-card:hover{transform:translate(4px);box-shadow:0 4px 12px #0000001f}.prestation-header{display:flex;justify-content:space-between;align-items:start;margin-bottom:1rem;padding-bottom:1rem;border-bottom:1px solid var(--beige)}.prestation-header h4{margin:0 0 .5rem;font-size:1.125rem;color:var(--anthracite)}.prestation-type{display:inline-block;padding:.25rem .75rem;background:var(--beige);border-radius:12px;font-size:.8125rem;color:#666;font-weight:500}.prestation-amount{font-size:1.5rem;font-weight:700;color:var(--gold);white-space:nowrap}.prestation-details{display:flex;flex-direction:column;gap:.75rem}.detail-row{display:flex;align-items:center;gap:.5rem;color:#666;font-size:.9375rem}.detail-row svg{color:var(--rose);flex-shrink:0}.prestation-description{margin:0;padding:.75rem;background:var(--beige);border-radius:8px;color:#666;font-size:.9375rem;line-height:1.6}.prestation-status{margin-top:.5rem}.materials-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(350px,1fr));gap:1.5rem}.material-usage-card{background:var(--white);padding:1.5rem;border-radius:12px;box-shadow:0 2px 8px #00000014;border-left:4px solid var(--rose);transition:transform .2s ease,box-shadow .2s ease}.material-usage-card:hover{transform:translateY(-2px);box-shadow:0 4px 12px #0000001f}.material-header{display:flex;justify-content:space-between;align-items:start;margin-bottom:1rem;padding-bottom:1rem;border-bottom:1px solid var(--beige)}.material-header h4{margin:0 0 .5rem;font-size:1.0625rem;color:var(--anthracite)}.material-type{display:inline-block;padding:.25rem .75rem;background:var(--beige);border-radius:12px;font-size:.8125rem;color:#666;font-weight:500}.material-quantity{font-size:1.25rem;font-weight:700;color:var(--gold)}.material-details{display:flex;flex-direction:column;gap:.75rem}.material-details .detail-row{display:flex;justify-content:space-between;align-items:center}.material-details .label{font-weight:500;color:#666;font-size:.875rem}.material-details .value{font-weight:600;color:var(--anthracite);font-size:.875rem}.quotes-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(350px,1fr));gap:1.5rem}.quote-card{background:var(--white);padding:1.5rem;border-radius:12px;box-shadow:0 2px 8px #00000014;border-left:4px solid var(--gold);transition:transform .2s ease,box-shadow .2s ease}.quote-card:hover{transform:translateY(-2px);box-shadow:0 4px 12px #0000001f}.quote-header{display:flex;justify-content:space-between;align-items:start;margin-bottom:1rem;padding-bottom:1rem;border-bottom:1px solid var(--beige)}.quote-header h4{margin:0 0 .25rem;font-size:1.0625rem;color:var(--anthracite)}.quote-amount{font-size:1.5rem;font-weight:700;color:var(--gold)}.quote-details{display:flex;justify-content:space-between;align-items:center}@media(max-width:768px){.info-grid{grid-template-columns:1fr}.tabs-container{gap:.25rem;padding:.75rem}.tab{padding:.5rem .75rem;font-size:.875rem}.timeline-item{flex-direction:column;gap:1rem}.staff-grid,.materials-list,.quotes-list{grid-template-columns:1fr}.prestation-header,.material-header,.quote-header{flex-direction:column;gap:.75rem;align-items:flex-start}.prestation-amount,.material-quantity,.quote-amount{font-size:1.25rem}}.quotes-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(380px,1fr));gap:1.5rem;margin-top:1.5rem}.quote-card{background:var(--white);border-radius:12px;overflow:hidden;box-shadow:0 2px 8px #00000014;border-left:4px solid var(--gold);transition:all .3s ease}.quote-card:hover{transform:translateY(-4px);box-shadow:0 8px 16px #0000001f}.quote-card-header{display:flex;justify-content:space-between;align-items:start;padding:1.5rem 1.5rem 1rem;background:linear-gradient(135deg,#e2b9580d,#d79b690d);border-bottom:1px solid var(--beige)}.quote-card-header h3{margin:0 0 .25rem;font-size:1.125rem;color:var(--anthracite);font-weight:700}.quote-date{display:block;font-size:.8125rem;color:#666;font-weight:400}.quote-card-body{padding:1.5rem;display:flex;flex-direction:column;gap:1rem}.quote-info-row{display:flex;align-items:center;gap:.75rem;color:#666;font-size:.9375rem}.quote-info-row svg{color:var(--rose);flex-shrink:0}.quote-info-row strong{color:var(--anthracite);font-weight:600}.quote-event-date{display:block;font-size:.8125rem;color:#888;margin-top:.125rem}.quote-amount-section{display:flex;align-items:center;gap:.75rem;padding:1rem;background:linear-gradient(135deg,#e2b9581a,#d79b691a);border-radius:8px;margin:.5rem 0}.quote-amount-section svg{color:var(--gold)}.quote-amount-section>div{flex:1;display:flex;flex-direction:column;gap:.25rem}.quote-amount-label{font-size:.8125rem;color:#666;font-weight:500}.quote-amount-value{font-size:1.5rem;font-weight:700;color:var(--gold)}.quote-validity{display:flex;align-items:center;gap:.5rem;font-size:.8125rem;color:#666;padding:.5rem .75rem;background:var(--beige);border-radius:6px}.quote-validity svg{color:var(--rose)}.quote-invoice-link{display:flex;align-items:center;gap:.5rem;padding:.5rem .75rem;background:#22c55e1a;border-left:3px solid #22c55e;border-radius:6px;font-size:.875rem;color:#16a34a;font-weight:600}.quote-invoice-link svg{color:#22c55e}.quote-card-footer{padding:1rem 1.5rem;background:var(--beige);display:flex;gap:.5rem;justify-content:flex-end;border-top:1px solid rgba(226,185,88,.2)}.modal-description{padding:1rem;background:#e2b9581a;border-left:3px solid var(--gold);border-radius:6px;margin-bottom:1.5rem;font-size:.9375rem;color:#666;line-height:1.6}@media(max-width:768px){.quotes-grid{grid-template-columns:1fr}.quote-card-header{flex-direction:column;gap:.75rem;align-items:flex-start}.quote-amount-section{flex-direction:column;align-items:flex-start}.quote-amount-value{font-size:1.25rem}}.quote-detail-page .page-header{margin-bottom:1.5rem}.quote-meta{display:flex;align-items:center;gap:1rem;margin-top:.5rem}.quote-date-info{font-size:.875rem;color:#666}.invoice-alert{display:flex;align-items:center;gap:.75rem;padding:1rem 1.5rem;background:#22c55e1a;border-left:4px solid #22c55e;border-radius:8px;margin-bottom:1.5rem;color:#16a34a;font-weight:500}.invoice-alert svg{color:#22c55e}.quote-detail-grid{display:grid;grid-template-columns:350px 1fr;gap:1.5rem}.quote-info-section{display:flex;flex-direction:column;gap:1.5rem}.validity-date{margin:0;padding:.75rem;background:var(--beige);border-radius:8px;font-size:.9375rem;color:#666}.validity-date strong{color:var(--anthracite)}.quote-lines-section{display:flex;flex-direction:column;gap:1.5rem}.lines-card{background:var(--white);border-radius:12px;box-shadow:0 2px 8px #00000014;overflow:hidden}.lines-header{display:flex;justify-content:space-between;align-items:center;padding:1.25rem 1.5rem;background:linear-gradient(135deg,#e2b9580d,#d79b690d);border-bottom:1px solid var(--beige)}.lines-header h3{display:flex;align-items:center;gap:.5rem;margin:0;font-size:1.125rem;color:var(--anthracite)}.lines-table-wrapper{overflow-x:auto}.lines-table{width:100%;border-collapse:collapse}.lines-table th{padding:1rem;text-align:left;font-weight:600;font-size:.8125rem;text-transform:uppercase;color:#666;background:var(--beige);border-bottom:2px solid rgba(226,185,88,.3)}.lines-table td{padding:1rem;border-bottom:1px solid var(--beige);vertical-align:middle}.lines-table tr:last-child td{border-bottom:none}.lines-table .text-center{text-align:center}.lines-table .text-right{text-align:right}.lines-table input,.lines-table select{width:100%}.lines-table input[type=number]{width:80px}.lines-table td:first-child input{width:100%;min-width:200px}.discounts-section{padding:1.5rem;border-top:1px solid var(--beige);background:#e2b95805}.discounts-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.discounts-header h4{margin:0;font-size:1rem;color:var(--anthracite)}.discounts-list{display:flex;flex-direction:column;gap:.75rem}.discount-item{display:flex;align-items:center;gap:.75rem;padding:.75rem 1rem;background:var(--white);border:1px solid var(--beige);border-radius:8px}.discount-item select{width:150px}.discount-item input[type=number]{width:100px}.discount-item input[type=text]{flex:1}.discount-type{display:flex;align-items:center;justify-content:center;width:32px;height:32px;background:var(--rose);color:var(--white);border-radius:50%}.discount-value{font-weight:600;color:var(--rose);min-width:80px}.discount-desc{color:#666;font-size:.875rem}.no-discounts{margin:0;color:#888;font-style:italic;font-size:.875rem}.totals-section{padding:1.5rem;background:linear-gradient(135deg,#e2b9581a,#d79b691a);border-top:2px solid var(--gold)}.total-row{display:flex;justify-content:space-between;align-items:center;padding:.5rem 0;font-size:.9375rem;color:#666}.total-row.discount{color:var(--rose)}.total-row.total-ttc{padding-top:1rem;margin-top:.5rem;border-top:2px solid var(--gold);font-size:1.25rem;font-weight:700;color:var(--anthracite)}.total-row.total-ttc span:last-child{color:var(--gold);font-size:1.5rem}.notes-card{background:var(--white);border-radius:12px;padding:1.5rem;box-shadow:0 2px 8px #00000014}.notes-card h3{display:flex;align-items:center;gap:.5rem;margin:0 0 1rem;font-size:1.125rem;color:var(--anthracite)}.notes-content{margin:0;padding:1rem;background:var(--beige);border-radius:8px;font-size:.9375rem;color:#666;line-height:1.6;white-space:pre-wrap}.modal-sm{max-width:400px}.form-control{width:100%;padding:.625rem .875rem;font-size:.9375rem;border:1px solid #ddd;border-radius:6px;transition:border-color .2s ease,box-shadow .2s ease}.form-control:focus{outline:none;border-color:var(--gold);box-shadow:0 0 0 3px #e2b95833}.form-control-sm{padding:.375rem .625rem;font-size:.875rem}.btn-sm{padding:.375rem .75rem;font-size:.8125rem}@media(max-width:1024px){.quote-detail-grid{grid-template-columns:1fr}.quote-info-section{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}}@media(max-width:768px){.lines-table th,.lines-table td{padding:.75rem .5rem;font-size:.8125rem}.discount-item{flex-wrap:wrap}.discount-item select,.discount-item input{flex:1;min-width:120px}.total-row.total-ttc{font-size:1.125rem}.total-row.total-ttc span:last-child{font-size:1.25rem}}.invoices-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(380px,1fr));gap:1.5rem}.invoice-card{background:#fff;border-radius:12px;box-shadow:0 2px 8px #00000014;overflow:hidden;transition:transform .2s ease,box-shadow .2s ease}.invoice-card:hover{transform:translateY(-2px);box-shadow:0 4px 16px #0000001f}.invoice-card-header{display:flex;justify-content:space-between;align-items:flex-start;padding:1.25rem;background:linear-gradient(135deg,var(--gold) 0%,var(--rose) 100%);color:#fff}.invoice-card-header h3{margin:0;font-size:1.125rem;font-weight:600}.invoice-card-header .invoice-date{display:block;font-size:.8125rem;opacity:.9;margin-top:.25rem}.invoice-card-body{padding:1.25rem}.invoice-info-row{display:flex;align-items:flex-start;gap:.75rem;margin-bottom:.875rem;color:#555}.invoice-info-row svg{flex-shrink:0;color:var(--gold);margin-top:.125rem}.invoice-info-row strong{display:block;color:var(--anthracite)}.invoice-event-date{font-size:.8125rem;color:#888}.invoice-amount-section{margin-top:1rem;padding-top:1rem;border-top:1px dashed #eee}.invoice-amount-row{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem}.invoice-amount-label{font-size:.875rem;color:#666}.invoice-amount-value{font-size:1.25rem;font-weight:700;color:var(--anthracite)}.invoice-payment-progress{margin-top:.75rem}.progress-bar-container{height:8px;background:#eee;border-radius:4px;overflow:hidden}.progress-bar-fill{height:100%;background:linear-gradient(90deg,var(--sage) 0%,#6b9f6b 100%);border-radius:4px;transition:width .3s ease}.progress-labels{display:flex;justify-content:space-between;margin-top:.5rem;font-size:.75rem;color:#888}.invoice-due-date{display:flex;align-items:center;gap:.5rem;margin-top:.75rem;padding:.5rem .75rem;background:var(--beige);border-radius:6px;font-size:.8125rem;color:#666}.overdue-alert{color:#dc3545;font-weight:600}.invoice-card-footer{display:flex;justify-content:center;padding:1rem 1.25rem;border-top:1px solid #f0f0f0;background:#fafafa}.invoice-detail-content{display:grid;grid-template-columns:300px 1fr;gap:1.5rem;margin-top:1.5rem}.invoice-detail-sidebar{display:flex;flex-direction:column;gap:1rem}.invoice-detail-main{display:flex;flex-direction:column;gap:1.5rem}.detail-card{background:#fff;border-radius:10px;padding:1.25rem;box-shadow:0 2px 8px #0000000f}.detail-card h3{display:flex;align-items:center;gap:.5rem;margin:0 0 1rem;font-size:.9375rem;color:var(--anthracite);padding-bottom:.75rem;border-bottom:1px solid #eee}.detail-card h3 svg{color:var(--gold)}.detail-info{font-size:.9375rem}.detail-info strong{display:block;color:var(--anthracite);margin-bottom:.25rem}.detail-info p{margin:.25rem 0;color:#666}.link-primary{color:var(--gold);text-decoration:none;font-weight:500}.link-primary:hover{text-decoration:underline}.detail-actions{display:flex;flex-direction:column;gap:.5rem}.btn-block{width:100%}.detail-section{background:#fff;border-radius:10px;padding:1.5rem;box-shadow:0 2px 8px #0000000f}.detail-section h2{display:flex;align-items:center;gap:.625rem;margin:0 0 1.25rem;font-size:1.125rem;color:var(--anthracite)}.detail-section h2 svg{color:var(--gold)}.section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.25rem}.section-header h2{margin:0}.discounts-list{display:flex;flex-direction:column;gap:.5rem}.discount-item{display:flex;justify-content:space-between;padding:.75rem 1rem;background:var(--beige);border-radius:6px}.payment-progress-section{background:linear-gradient(135deg,#f8f9fa,#fff)}.payment-progress-card{padding:1.5rem;background:#fff;border-radius:10px;border:2px solid var(--gold)}.progress-bar-large{height:16px;background:#eee;border-radius:8px;overflow:hidden}.progress-bar-large .progress-bar-fill{height:100%;background:linear-gradient(90deg,var(--sage) 0%,#5a8f5a 100%);border-radius:8px}.progress-stats{display:flex;justify-content:space-between;margin-top:1rem}.progress-stats .stat{text-align:center}.progress-stats .stat-label{display:block;font-size:.8125rem;color:#888;margin-bottom:.25rem}.progress-stats .stat-value{font-size:1.25rem;font-weight:700}.progress-stats .stat-value.paid{color:var(--sage)}.progress-stats .stat-value.balance{color:var(--rose)}.payments-list{display:flex;flex-direction:column;gap:.75rem}.payment-item{display:flex;justify-content:space-between;align-items:flex-start;padding:1rem;background:var(--beige);border-radius:8px;transition:background .2s ease}.payment-item:hover{background:#eee}.payment-info{flex:1}.payment-main{display:flex;align-items:baseline;gap:1rem}.payment-amount{font-size:1.125rem;font-weight:700;color:var(--sage)}.payment-method{font-size:.875rem;color:#666;background:#fff;padding:.25rem .5rem;border-radius:4px}.payment-details{display:flex;gap:1rem;margin-top:.5rem;font-size:.8125rem;color:#888}.payment-reference{font-style:italic}.payment-notes{margin:.5rem 0 0;font-size:.8125rem;color:#666;font-style:italic}.empty-payments{display:flex;flex-direction:column;align-items:center;padding:2rem;color:#888;text-align:center}.empty-payments svg{opacity:.5;margin-bottom:.5rem}.empty-payments p{margin:0}@media(max-width:1024px){.invoice-detail-content{grid-template-columns:1fr}.invoice-detail-sidebar{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}}@media(max-width:768px){.invoices-grid{grid-template-columns:1fr}.progress-stats{flex-direction:column;gap:.75rem}.payment-main{flex-direction:column;gap:.25rem}}.calendar-page{padding:0}.calendar-layout{display:grid;grid-template-columns:1fr 350px;gap:2rem;margin-top:1.5rem}.calendar-main{background:var(--white);border-radius:12px;padding:1.5rem;box-shadow:0 2px 8px #00000014}.calendar-nav{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem}.calendar-title{display:flex;align-items:center;gap:1rem}.calendar-title h2{font-family:Cormorant Garamond,serif;font-size:1.75rem;color:var(--anthracite);margin:0}.btn-today{background:var(--beige);border:1px solid var(--gold);color:var(--anthracite);padding:.5rem 1rem;border-radius:6px;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .3s ease}.btn-today:hover{background:var(--gold);color:var(--white)}.calendar-grid{border:1px solid var(--beige);border-radius:8px;overflow:hidden}.calendar-header{display:grid;grid-template-columns:repeat(7,1fr);background:var(--beige)}.calendar-weekday{padding:1rem;text-align:center;font-weight:600;font-size:.875rem;color:var(--anthracite);border-bottom:2px solid var(--gold)}.calendar-days{display:grid;grid-template-columns:repeat(7,1fr)}.calendar-day{min-height:100px;padding:.5rem;border:1px solid var(--beige);cursor:pointer;transition:all .2s ease;background:var(--white)}.calendar-day:hover{background:#e2b9580d}.calendar-day.other-month{background:var(--beige);opacity:.6}.calendar-day.today{background:#e2b9581a}.calendar-day.today .day-number{background:var(--gold);color:var(--white);border-radius:50%;width:28px;height:28px;display:flex;align-items:center;justify-content:center}.calendar-day.selected{background:#d79b691a;border-color:var(--rose)}.calendar-day.has-events{background:#9ca88c0d}.day-number{font-weight:600;font-size:.875rem;color:var(--anthracite);margin-bottom:.5rem}.day-events{display:flex;flex-direction:column;gap:.25rem}.day-event{padding:.25rem .5rem;border-radius:4px;font-size:.75rem;color:var(--white);display:flex;align-items:center;gap:.25rem;cursor:pointer;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;transition:transform .2s ease}.day-event:hover{transform:scale(1.02)}.event-emoji{flex-shrink:0}.event-name{overflow:hidden;text-overflow:ellipsis}.more-events{font-size:.75rem;color:var(--sage);font-weight:500;padding:.25rem}.calendar-legend{margin-top:1.5rem;padding-top:1.5rem;border-top:1px solid var(--beige)}.calendar-legend h4{font-family:Cormorant Garamond,serif;font-size:1rem;color:var(--anthracite);margin-bottom:1rem}.legend-items{display:flex;flex-wrap:wrap;gap:1rem}.legend-item{display:flex;align-items:center;gap:.5rem;font-size:.8125rem}.legend-color{width:12px;height:12px;border-radius:3px}.legend-emoji{font-size:1rem}.legend-label{color:var(--anthracite)}.calendar-sidebar{background:var(--white);border-radius:12px;box-shadow:0 2px 8px #00000014;overflow:hidden}.calendar-sidebar .sidebar-header{background:linear-gradient(135deg,var(--gold) 0%,var(--rose) 100%);padding:1.25rem;border:none}.calendar-sidebar .sidebar-header h3{color:var(--white);font-family:Cormorant Garamond,serif;font-size:1.125rem;margin:0;text-transform:capitalize}.calendar-sidebar .sidebar-content{padding:1.25rem;max-height:calc(100vh - 300px);overflow-y:auto}.empty-state-small{text-align:center;padding:2rem 1rem;color:var(--sage)}.empty-state-small svg{opacity:.5;margin-bottom:1rem}.empty-state-small p{font-size:.875rem;margin-bottom:1rem}.day-event-list{display:flex;flex-direction:column;gap:1rem}.event-card-mini{background:var(--beige);border-radius:8px;padding:1rem;border-left:4px solid var(--gold)}.event-card-mini .event-card-header{display:flex;align-items:flex-start;gap:.75rem;padding:0;background:none;border:none;margin-bottom:.75rem}.event-type-indicator{width:36px;height:36px;border-radius:8px;display:flex;align-items:center;justify-content:center;font-size:1.25rem;flex-shrink:0}.event-card-mini .event-info{flex:1}.event-card-mini .event-info h4{font-size:.9375rem;font-weight:600;color:var(--anthracite);margin:0 0 .25rem}.event-card-mini .event-card-details{display:flex;flex-direction:column;gap:.5rem;margin-bottom:.75rem}.event-card-mini .detail-row{display:flex;align-items:center;gap:.5rem;font-size:.8125rem;color:var(--sage)}.event-card-mini .detail-row svg{flex-shrink:0}.btn-block{width:100%;text-align:center}.badge.status-pending,.status-item.status-pending{background:var(--gold);color:var(--white)}.badge.status-confirmed,.status-item.status-confirmed{background:var(--sage);color:var(--white)}.badge.status-progress{background:#3b82f6;color:var(--white)}.badge.status-completed,.status-item.status-completed{background:#6b7280;color:var(--white)}.badge.status-cancelled,.status-item.status-cancelled{background:#dc3545;color:var(--white)}.badge-sm{font-size:.6875rem;padding:.2rem .5rem}@media(max-width:1200px){.calendar-layout{grid-template-columns:1fr}.calendar-sidebar{order:-1}}@media(max-width:768px){.calendar-day{min-height:70px;padding:.25rem}.day-event{font-size:.6875rem;padding:.125rem .25rem}.calendar-weekday{padding:.5rem;font-size:.75rem}.legend-items{flex-direction:column;gap:.5rem}}.reports-page{padding:0}.reports-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(400px,1fr));gap:1.5rem;margin-top:1.5rem}.report-card{background:var(--white);border-radius:12px;padding:1.5rem;box-shadow:0 2px 8px #00000014}.report-card h3{font-family:Cormorant Garamond,serif;font-size:1.25rem;color:var(--anthracite);margin-bottom:1.25rem;display:flex;align-items:center;gap:.5rem}.report-card h3 svg{color:var(--gold)}.period-filter{display:flex;align-items:center;gap:.5rem;background:var(--white);padding:.5rem 1rem;border-radius:8px;border:1px solid var(--gold)}.period-filter svg{color:var(--sage)}.period-filter select{border:none;background:transparent;font-family:Montserrat,sans-serif;font-size:.9375rem;color:var(--anthracite);cursor:pointer;outline:none}.chart-bars{display:flex;flex-direction:column;gap:1rem}.bar-row{display:flex;align-items:center;gap:1rem}.bar-label{display:flex;align-items:center;gap:.5rem;min-width:120px;font-size:.875rem;color:var(--anthracite)}.bar-emoji{font-size:1.125rem}.bar-container{flex:1;height:24px;background:var(--beige);border-radius:12px;overflow:hidden}.bar-fill{height:100%;border-radius:12px;transition:width .5s ease}.bar-value{font-size:.875rem;font-weight:600;color:var(--anthracite);min-width:30px;text-align:right}.chart-bars.horizontal{flex-direction:row;justify-content:space-between;align-items:flex-end;height:200px;padding:0 .5rem}.bar-column{display:flex;flex-direction:column;align-items:center;gap:.5rem;flex:1}.bar-vertical-container{width:100%;max-width:30px;height:150px;background:var(--beige);border-radius:6px 6px 0 0;display:flex;flex-direction:column;justify-content:flex-end;overflow:hidden}.bar-vertical-fill{width:100%;background:linear-gradient(to top,var(--gold),var(--rose));border-radius:6px 6px 0 0;transition:height .5s ease}.bar-month{font-size:.75rem;font-weight:500;color:var(--sage)}.bar-count{font-size:.75rem;font-weight:600;color:var(--anthracite)}.no-data{text-align:center;padding:2rem;color:var(--sage);font-style:italic}.upcoming-list{display:flex;flex-direction:column;gap:.75rem}.upcoming-item{display:flex;align-items:center;gap:.75rem;padding:.75rem;background:var(--beige);border-radius:8px;text-decoration:none;transition:all .2s ease}.upcoming-item:hover{background:#e2b95833;transform:translate(4px)}.upcoming-date{font-size:.75rem;font-weight:600;color:var(--gold);min-width:50px}.upcoming-emoji{font-size:1.25rem}.upcoming-name{flex:1;font-size:.875rem;color:var(--anthracite);font-weight:500}.upcoming-guests{font-size:.75rem;color:var(--sage);font-weight:500}.status-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem}.status-item{display:flex;flex-direction:column;align-items:center;padding:1rem;border-radius:8px;text-align:center}.status-count{font-size:1.5rem;font-weight:700;margin:.25rem 0}.status-label{font-size:.75rem;font-weight:500;opacity:.9}.top-list{display:flex;flex-direction:column;gap:.75rem}.top-item{display:flex;align-items:center;gap:1rem;padding:.75rem;background:var(--beige);border-radius:8px}.top-rank{font-size:.875rem;font-weight:700;color:var(--gold);min-width:30px}.top-info{flex:1}.top-name{font-size:.875rem;font-weight:600;color:var(--anthracite);display:block}.top-type{font-size:.75rem;color:var(--sage)}.top-count{font-size:.8125rem;font-weight:600;color:var(--rose)}.top-stats{display:flex;flex-direction:column;align-items:flex-end;gap:.25rem}.top-inuse{font-size:.6875rem;color:var(--gold);font-weight:500}.kpi-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1.5rem;margin-bottom:2rem}.kpi-card{background:var(--white);border-radius:12px;padding:1.5rem;display:flex;align-items:flex-start;gap:1rem;box-shadow:0 2px 8px #00000014;transition:all .3s ease}.kpi-card:hover{transform:translateY(-2px);box-shadow:0 4px 12px #0000001f}.kpi-icon{width:48px;height:48px;border-radius:12px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.kpi-content{flex:1}.kpi-value{font-size:1.75rem;font-weight:700;color:var(--anthracite);line-height:1.2}.kpi-label{font-size:.875rem;color:var(--sage);font-weight:500}.kpi-detail{display:flex;flex-direction:column;gap:.25rem;margin-top:.5rem;font-size:.8125rem}.detail-success{color:var(--sage)}.detail-warning{color:var(--gold)}@media(max-width:768px){.reports-grid{grid-template-columns:1fr}.kpi-grid{grid-template-columns:repeat(2,1fr)}.status-grid{grid-template-columns:1fr}.chart-bars.horizontal{height:150px}.bar-vertical-container{height:100px}}.global-search-trigger{display:flex;align-items:center;gap:.75rem;padding:.625rem 1rem;background:var(--white);border:2px solid var(--gold);border-radius:8px;color:var(--anthracite);font-family:Montserrat,sans-serif;cursor:pointer;transition:all .3s ease;width:100%;box-shadow:0 2px 8px #0000001a}.global-search-trigger:hover{border-color:var(--rose);box-shadow:0 4px 12px #e2b9584d;transform:translateY(-1px)}.global-search-trigger span{flex:1;text-align:left;color:var(--anthracite);opacity:.6;font-size:.9rem}.global-search-trigger kbd{padding:.25rem .5rem;background:var(--gold);border:1px solid var(--gold);border-radius:4px;font-size:.75rem;font-family:monospace;color:var(--white);font-weight:600}.global-search-overlay{position:fixed;inset:0;background:#2e2e2ed9;z-index:10000;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);animation:fadeIn .2s ease-out}.global-search-modal{position:fixed;top:20%;left:50%;transform:translate(-50%);width:90%;max-width:600px;background:var(--white);border-radius:12px;box-shadow:0 20px 60px #0006,0 0 0 1px #e2b9584d;z-index:10001;overflow:hidden;animation:slideUp .3s ease-out;border:3px solid var(--gold)}.global-search-header{display:flex;align-items:center;gap:.75rem;padding:1.25rem 1.5rem;border-bottom:2px solid var(--gold);background:linear-gradient(135deg,#e2b95814,#f3efe766)}.search-icon{color:var(--gold);flex-shrink:0}.global-search-input{flex:1;border:none;outline:none;font-size:1.1rem;font-family:Montserrat,sans-serif;color:var(--anthracite);background:transparent;font-weight:500}.global-search-input::placeholder{color:var(--anthracite);opacity:.4}.search-clear-btn{background:none;border:none;color:var(--rose);cursor:pointer;padding:.25rem;border-radius:4px;transition:all .2s ease;display:flex;align-items:center}.search-clear-btn:hover{background:var(--beige)}.global-search-results{max-height:400px;overflow-y:auto}.search-loading,.search-empty{text-align:center;padding:3rem 2rem;color:var(--anthracite);font-size:1rem;font-weight:500}.search-results-list{display:flex;flex-direction:column;background:var(--white)}.search-result-item{display:flex;align-items:center;gap:1rem;padding:1.25rem 1.5rem;border:none;background:var(--white);border-bottom:1px solid rgba(226,185,88,.2);cursor:pointer;transition:all .2s ease;text-align:left;width:100%}.search-result-item:hover{background:linear-gradient(90deg,#e2b9581f,#f3efe799);border-left:4px solid var(--gold);padding-left:calc(1.5rem - 4px);transform:translate(2px)}.search-result-item:last-child{border-bottom:none}.result-icon{color:var(--gold);flex-shrink:0;background:#e2b9581a;padding:.5rem;border-radius:8px}.result-content{flex:1;min-width:0}.result-title{font-weight:600;color:var(--anthracite);font-size:1rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.result-subtitle{font-size:.875rem;color:var(--anthracite);opacity:.6;margin-top:.25rem}.result-type{flex-shrink:0;padding:.4rem .85rem;background:var(--gold);color:var(--white);border-radius:16px;font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.5px}.search-hints{padding:2rem 1.5rem;display:flex;flex-direction:column;gap:1rem;background:linear-gradient(135deg,#e2b9580d,#f3efe74d);border-top:1px solid rgba(226,185,88,.2)}.search-hint{color:var(--anthracite);font-size:.9rem;opacity:.7;display:flex;align-items:center;gap:.5rem}.search-hint kbd{padding:.3rem .6rem;background:var(--gold);border:1px solid var(--gold);border-radius:4px;font-size:.75rem;font-family:monospace;color:var(--white);font-weight:600;box-shadow:0 2px 4px #0000001a}.global-search-results::-webkit-scrollbar{width:8px}.global-search-results::-webkit-scrollbar-track{background:var(--beige)}.global-search-results::-webkit-scrollbar-thumb{background:var(--gold);border-radius:4px}.global-search-results::-webkit-scrollbar-thumb:hover{background:var(--rose)}@media(max-width:768px){.global-search-trigger{width:100%}.global-search-modal{top:10%;width:95%}.global-search-header{padding:.75rem 1rem}.global-search-input{font-size:1rem}.search-result-item{padding:.75rem 1rem}.result-title{font-size:.9rem}.result-subtitle{font-size:.8rem}}.breadcrumb{padding:1rem 0;margin-bottom:1rem}.breadcrumb-list{display:flex;align-items:center;list-style:none;margin:0;padding:0;flex-wrap:wrap;gap:.5rem}.breadcrumb-item{display:flex;align-items:center;gap:.5rem}.breadcrumb-separator{color:var(--gold);opacity:.5}.breadcrumb-link{display:flex;align-items:center;gap:.4rem;color:var(--rose);text-decoration:none;font-size:.9rem;font-weight:500;transition:all .3s ease;padding:.25rem .5rem;border-radius:4px}.breadcrumb-link:hover{color:var(--gold);background:var(--beige)}.breadcrumb-current{color:var(--anthracite);font-weight:600;font-size:.9rem;padding:.25rem .5rem}@media(max-width:768px){.breadcrumb-link span{display:none}.breadcrumb-link{padding:.25rem}.breadcrumb-current{font-size:.85rem}}.contracts-page{padding:0;height:100%}.page-header{display:flex;justify-content:space-between;align-items:center;padding:2rem;background:var(--white);border-bottom:1px solid rgba(226,185,88,.2);margin-bottom:2rem}.page-header h1{margin:0 0 .5rem;font-size:2.5rem;color:var(--anthracite);font-family:Cormorant Garamond,serif}.page-header p{margin:0;color:var(--rose);font-size:.95rem}.page-header .btn{display:flex;align-items:center;gap:.5rem}.filters-bar{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:1.5rem 2rem;background:var(--white);margin:0 2rem 2rem;border-radius:8px;box-shadow:0 2px 8px #00000014;border-left:4px solid var(--gold)}.filters-left{display:flex;align-items:center;gap:1rem;flex:1}.filters-left svg{color:var(--gold);flex-shrink:0}.filters-bar select{padding:.75rem 1rem;border:2px solid var(--rose);border-radius:4px;font-family:Montserrat,sans-serif;font-size:.95rem;min-width:180px;background:var(--white);color:var(--anthracite);cursor:pointer;transition:all .3s ease}.filters-bar select:hover{border-color:var(--gold)}.filters-bar select:focus{outline:none;border-color:var(--gold);box-shadow:0 0 0 3px #e2b9581a}.contracts-list{padding:0 2rem 2rem}.contracts-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(380px,1fr));gap:1.5rem}.contract-card{background:var(--white);border-radius:8px;padding:1.5rem;box-shadow:0 2px 8px #00000014;border-left:4px solid var(--gold);transition:all .3s ease;display:flex;flex-direction:column;gap:1rem}.contract-card:hover{transform:translateY(-4px);box-shadow:0 4px 16px #0000001f}.contract-header{display:flex;justify-content:space-between;align-items:center;padding-bottom:1rem;border-bottom:1px solid rgba(226,185,88,.2)}.contract-header svg{color:var(--rose)}.contract-status{padding:.4rem .9rem;border-radius:16px;color:var(--white);font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.contract-number{font-size:1.4rem;font-weight:700;color:var(--anthracite);font-family:Cormorant Garamond,serif}.contract-type{color:var(--rose);font-size:.9rem;font-weight:500;padding-bottom:1rem;border-bottom:1px solid rgba(226,185,88,.2)}.contract-info{display:flex;flex-direction:column;gap:.65rem;font-size:.9rem;flex:1}.contract-info div{color:var(--anthracite);display:flex;align-items:start}.contract-info strong{color:var(--rose);font-weight:600;margin-right:.5rem;min-width:80px}.contract-actions{display:flex;gap:.75rem;padding-top:1rem;border-top:1px solid rgba(226,185,88,.2);flex-wrap:wrap}.btn-icon{padding:.65rem;background:var(--beige);border:2px solid transparent;border-radius:4px;cursor:pointer;transition:all .3s ease;display:flex;align-items:center;justify-content:center;color:var(--anthracite)}.btn-icon:hover{background:var(--gold);color:var(--white);transform:scale(1.05)}.btn-icon:disabled{opacity:.4;cursor:not-allowed;transform:none}.btn-icon.btn-danger{color:var(--anthracite)}.btn-icon.btn-danger:hover{background:var(--rose);color:var(--white)}.empty-state{text-align:center;padding:5rem 2rem;background:var(--white);border-radius:8px;margin:0 2rem;border-left:4px solid var(--gold)}.empty-state svg{color:var(--rose);opacity:.5;margin-bottom:1.5rem}.empty-state h3{color:var(--anthracite);margin-bottom:.75rem;font-family:Cormorant Garamond,serif;font-size:1.8rem}.empty-state p{color:var(--rose);font-size:1rem}.modal-content.large{max-width:1000px}.modal-content form{padding:2rem}.modal-actions{display:flex;justify-content:flex-end;gap:1rem;padding:1.5rem 2rem;border-top:2px solid var(--gold);background:var(--white)}.contract-view{padding:2rem}.contract-metadata{display:grid;grid-template-columns:repeat(2,1fr);gap:1.25rem;padding:1.5rem;background:var(--white);border-radius:6px;margin-bottom:1.5rem;font-size:.95rem;border-left:4px solid var(--gold)}.contract-metadata div{display:flex;gap:.5rem}.contract-metadata strong{color:var(--rose);font-weight:600}.contract-content{padding:2rem;background:var(--white);border:2px solid var(--gold);border-radius:6px;margin-bottom:1.5rem;max-height:500px;overflow-y:auto}.contract-content pre{white-space:pre-wrap;word-wrap:break-word;font-family:Cormorant Garamond,serif;font-size:1rem;line-height:1.8;color:var(--anthracite);margin:0}.contract-notes{padding:1.25rem;background:var(--white);border-left:4px solid var(--rose);border-radius:4px}.contract-notes strong{display:block;margin-bottom:.75rem;color:var(--rose);font-weight:600;font-size:1.1rem}.contract-notes p{margin:0;color:var(--anthracite);line-height:1.6}.form-group{margin-bottom:1.5rem}.form-group label{display:block;margin-bottom:.5rem;color:var(--anthracite);font-weight:600}.form-group input,.form-group select,.form-group textarea{width:100%;padding:.75rem;border:2px solid var(--rose);border-radius:4px;font-size:1rem;font-family:Montserrat,sans-serif;transition:all .3s ease;background:var(--white);color:var(--anthracite)}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:var(--gold);box-shadow:0 0 0 3px #e2b9581a}.form-group small{display:block;margin-top:.5rem;font-size:.85rem;color:var(--rose);font-style:italic}.form-row{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem}.btn{padding:.75rem 1.5rem;font-family:Montserrat,sans-serif;font-weight:600;font-size:1rem;border:none;border-radius:4px;cursor:pointer;transition:all .3s ease;text-decoration:none;display:inline-flex;align-items:center;gap:.5rem}.btn-secondary{background-color:transparent;color:var(--gold);border:2px solid var(--gold)}.btn-secondary:hover{background-color:var(--gold);color:var(--beige)}@media(max-width:1024px){.contracts-grid{grid-template-columns:repeat(auto-fill,minmax(320px,1fr))}}@media(max-width:768px){.page-header{flex-direction:column;align-items:flex-start;gap:1rem;padding:1.5rem}.page-header h1{font-size:2rem}.contracts-list{padding:0 1rem 1rem}.contracts-grid{grid-template-columns:1fr}.filters-bar{flex-direction:column;align-items:stretch;margin:0 1rem 1.5rem}.filters-left{flex-direction:column}.filters-bar select{width:100%}.form-row,.contract-metadata{grid-template-columns:1fr}.modal-overlay{padding:1rem}.modal-content{max-height:95vh}.modal-content form{padding:1.5rem}.modal-actions{flex-direction:column}.modal-actions .btn{width:100%;justify-content:center}.empty-state{margin:0 1rem;padding:3rem 1.5rem}.contract-actions{justify-content:center}}@media(max-width:480px){.page-header h1{font-size:1.75rem}.contract-card{padding:1.25rem}.contract-number{font-size:1.2rem}.contract-info strong{min-width:70px;font-size:.85rem}}.messages-page{padding:0;height:100vh;display:flex;flex-direction:column}.messages-header{display:flex;justify-content:space-between;align-items:center;padding:2rem 2.5rem;background:linear-gradient(135deg,var(--white) 0%,var(--beige) 100%);border-bottom:3px solid var(--gold);box-shadow:0 4px 12px #0000000d}.messages-header h1{margin:0 0 .5rem;font-size:2.8rem;color:var(--anthracite);font-family:Cormorant Garamond,serif;font-weight:700;letter-spacing:-1px;text-shadow:1px 1px 2px rgba(0,0,0,.05)}.messages-header p{margin:0;color:var(--rose);font-size:1rem;font-weight:600;letter-spacing:.3px}.messages-container{display:flex;flex:1;overflow:hidden}.messages-sidebar{width:380px;background:var(--white);border-right:3px solid var(--gold);display:flex;flex-direction:column;box-shadow:4px 0 12px #0000000d}.conversations-header{padding:1.5rem;background:linear-gradient(to bottom,var(--white),var(--beige));border-bottom:2px solid rgba(226,185,88,.3)}.conversations-header h3{margin:0;display:flex;align-items:center;gap:.75rem;color:var(--anthracite);font-family:Montserrat,sans-serif;font-size:1.2rem;font-weight:700}.conversations-list{flex:1;overflow-y:auto}.conversation-item{display:flex;align-items:center;gap:1rem;padding:1rem 1.5rem;border-bottom:1px solid rgba(226,185,88,.15);cursor:pointer;transition:all .3s ease;position:relative}.conversation-item:hover{background:#e2b9581a}.conversation-item.active{background:#e2b95833;border-left:5px solid var(--gold)}.conversation-avatar{width:50px;height:50px;border-radius:50%;background:linear-gradient(135deg,var(--gold),var(--rose));color:var(--white);display:flex;align-items:center;justify-content:center;font-weight:700;font-size:1.1rem;flex-shrink:0;box-shadow:0 2px 8px #00000026}.conversation-info{flex:1;min-width:0}.conversation-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.4rem}.conversation-name{color:var(--anthracite);font-size:1rem;font-weight:700}.conversation-time{font-size:.8rem;color:var(--rose);font-weight:600}.conversation-preview{color:var(--anthracite);opacity:.7;font-size:.9rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.conversation-unread-badge{background:linear-gradient(135deg,var(--rose),#c77d4d);color:var(--white);font-size:.75rem;font-weight:800;padding:.25rem .5rem;border-radius:12px;min-width:20px;text-align:center;box-shadow:0 2px 6px #d79b6966}.empty-conversations{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4rem 2rem;color:var(--rose);opacity:.5;text-align:center}.empty-conversations svg{margin-bottom:1rem}.empty-conversations small{margin-top:.5rem;display:block;font-size:.85rem}.chat-area{flex:1;display:flex;flex-direction:column;background:linear-gradient(135deg,#f5f0e8,#faf8f5);overflow:hidden}.chat-header{padding:1.5rem 2rem;background:linear-gradient(to bottom,var(--white),var(--beige));border-bottom:3px solid var(--gold);box-shadow:0 4px 16px #00000014}.chat-header-user{display:flex;align-items:center;gap:1rem}.chat-avatar{width:50px;height:50px;border-radius:50%;background:linear-gradient(135deg,var(--gold),var(--rose));color:var(--white);display:flex;align-items:center;justify-content:center;font-weight:700;font-size:1.1rem;box-shadow:0 2px 8px #00000026}.chat-header h3{margin:0 0 .25rem;font-size:1.4rem;color:var(--anthracite);font-family:Cormorant Garamond,serif;font-weight:700}.chat-header p{margin:0;font-size:.9rem;color:var(--rose);font-weight:600}.chat-messages{flex:1;overflow-y:auto;padding:2rem;display:flex;flex-direction:column;gap:.5rem}.chat-date-separator{text-align:center;margin:1.5rem 0;color:var(--rose);font-size:.85rem;font-weight:600;text-transform:capitalize;position:relative}.chat-date-separator:before,.chat-date-separator:after{content:"";position:absolute;top:50%;width:30%;height:1px;background:linear-gradient(to right,transparent,var(--rose),transparent)}.chat-date-separator:before{left:0}.chat-date-separator:after{right:0}.chat-message{display:flex;align-items:flex-end;gap:.75rem;margin-bottom:.5rem}.chat-message.own{flex-direction:row-reverse}.message-avatar{width:35px;height:35px;border-radius:50%;background:linear-gradient(135deg,var(--gold),var(--rose));color:var(--white);display:flex;align-items:center;justify-content:center;font-weight:700;font-size:.9rem;flex-shrink:0;box-shadow:0 2px 6px #0000001a}.message-bubble{max-width:65%;padding:.85rem 1.2rem;border-radius:18px;position:relative;box-shadow:0 2px 8px #00000014}.chat-message.other .message-bubble{background:var(--white);border:2px solid var(--gold);border-bottom-left-radius:4px}.chat-message.own .message-bubble{background:linear-gradient(135deg,var(--gold),#d4a75a);color:var(--white);border-bottom-right-radius:4px}.message-bubble p{margin:0;font-size:1rem;line-height:1.5;word-wrap:break-word;white-space:pre-wrap}.message-timestamp{display:block;font-size:.75rem;margin-top:.4rem;opacity:.7}.chat-message.other .message-timestamp{color:var(--rose)}.chat-message.own .message-timestamp{color:var(--white);text-align:right}.read-indicator{color:var(--beige)}.empty-chat{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;color:var(--rose);opacity:.5}.empty-chat svg{margin-bottom:1rem}.no-conversation-selected{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;color:var(--rose);opacity:.5}.no-conversation-selected svg{margin-bottom:1rem}.no-conversation-selected h3{margin:0 0 .5rem;font-size:1.5rem;color:var(--anthracite);font-family:Cormorant Garamond,serif}.chat-input-container{padding:1.5rem 2rem;background:var(--white);border-top:2px solid var(--gold);box-shadow:0 -4px 12px #0000000d}.chat-input-form{display:flex;gap:1rem;align-items:center}.chat-input{flex:1;padding:1rem 1.5rem;border:2px solid var(--rose);border-radius:25px;font-size:1rem;font-family:Montserrat,sans-serif;transition:all .3s ease;background:var(--beige);color:var(--anthracite)}.chat-input:focus{outline:none;border-color:var(--gold);box-shadow:0 0 0 3px #e2b95833;background:var(--white)}.btn-send{width:50px;height:50px;border-radius:50%;background:linear-gradient(135deg,var(--gold),var(--rose));color:var(--white);border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .3s ease;box-shadow:0 4px 12px #e2b95866}.btn-send:hover:not(:disabled){transform:scale(1.1);box-shadow:0 6px 16px #e2b95899}.btn-send:disabled{opacity:.5;cursor:not-allowed}.modal-overlay{position:fixed;inset:0;background:#2e2e2ebf;display:flex;align-items:center;justify-content:center;z-index:1000;padding:2rem;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.modal-content{background:var(--beige);border-radius:8px;max-width:600px;width:100%;max-height:90vh;overflow-y:auto;box-shadow:0 8px 32px #0003;border:2px solid var(--gold)}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:1.5rem 2rem;border-bottom:2px solid var(--gold);background:var(--white)}.modal-header h2{margin:0;font-size:1.8rem;color:var(--anthracite);font-family:Cormorant Garamond,serif}.btn-close{background:none;border:none;font-size:2rem;color:var(--rose);cursor:pointer;padding:0;width:2.5rem;height:2.5rem;display:flex;align-items:center;justify-content:center;transition:all .3s ease;border-radius:4px}.btn-close:hover{background:var(--rose);color:var(--white)}.users-list{padding:1rem}.user-item{display:flex;align-items:center;gap:1rem;padding:1rem 1.5rem;background:var(--white);border:2px solid transparent;border-radius:8px;margin-bottom:.75rem;cursor:pointer;transition:all .3s ease}.user-item:hover{border-color:var(--gold);transform:translate(5px);box-shadow:0 4px 12px #e2b9584d}.user-avatar{width:45px;height:45px;border-radius:50%;background:linear-gradient(135deg,var(--gold),var(--rose));color:var(--white);display:flex;align-items:center;justify-content:center;font-weight:700;font-size:1rem;flex-shrink:0}.user-info{flex:1;display:flex;flex-direction:column}.user-info strong{color:var(--anthracite);font-size:1rem;margin-bottom:.2rem}.user-info small{color:var(--rose);font-size:.85rem}.conversation-exists-badge{font-size:.75rem;color:var(--rose);font-weight:600;padding:.25rem .75rem;border-radius:12px;background:#d79b6933}.empty-users{text-align:center;padding:2rem;color:var(--rose);opacity:.5}.btn{padding:.75rem 1.5rem;font-family:Montserrat,sans-serif;font-weight:600;font-size:1rem;border:none;border-radius:4px;cursor:pointer;transition:all .3s ease;display:inline-flex;align-items:center;gap:.5rem}.btn-primary{background-color:var(--gold);color:var(--beige)}.btn-primary:hover{background-color:var(--rose);transform:translateY(-2px);box-shadow:0 4px 12px #d79b694d}.unread-badge{background:linear-gradient(135deg,var(--rose),#c77d4d);color:var(--white);font-size:.75rem;font-weight:800;padding:.3rem .6rem;border-radius:12px;min-width:22px;text-align:center;box-shadow:0 2px 6px #d79b6966;animation:badgePulse 2s infinite}@keyframes badgePulse{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}@media(max-width:768px){.messages-container{flex-direction:column}.messages-sidebar{width:100%;border-right:none;border-bottom:2px solid var(--gold);max-height:40vh}.chat-area{min-height:60vh}.messages-header{flex-direction:column;align-items:flex-start;gap:1rem}.messages-header h1{font-size:2rem}.message-bubble{max-width:85%}.modal-overlay{padding:1rem}.modal-content{max-height:95vh}}
