:root{--primary:#25d366;--primary-dark:#128c7e;--primary-deep:#075e54;--primary-light:#dcf8c6;--bg-primary:#f0f2f5;--bg-secondary:#fff;--bg-tertiary:#e9edef;--sidebar-bg:#075e54;--sidebar-hover:#128c7e;--sidebar-active:#25d366;--header-bg:#fff;--text-primary:#111b21;--text-secondary:#667781;--text-muted:#8696a0;--border-color:#d1d7db;--card-bg:#fff;--shadow:0 2px 8px #111b2114;--success:#25d366;--warning:#f7b731;--danger:#ea4335;--info:#34b7f1;--radius-sm:6px;--radius-md:10px;--radius-lg:14px;--space-xs:4px;--space-sm:8px;--space-md:16px;--space-lg:24px;--space-xl:32px;--sidebar-width:250px;--header-height:68px;--transition:.2s ease}[data-theme=dark]{--primary:#25d366;--primary-dark:#128c7e;--primary-deep:#075e54;--primary-light:#1f3b32;--bg-primary:#111b21;--bg-secondary:#202c33;--bg-tertiary:#2a3942;--sidebar-bg:#075e54;--sidebar-hover:#128c7e;--sidebar-active:#25d366;--header-bg:#202c33;--text-primary:#e9edef;--text-secondary:#8696a0;--text-muted:#667781;--border-color:#374045;--card-bg:#202c33;--shadow:0 3px 12px #00000040;--success:#25d366;--warning:#f7b731;--danger:#ea4335;--info:#34b7f1}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;font-size:16px}body{background:var(--bg-primary);color:var(--text-primary);min-height:100vh;transition:background var(--transition), color var(--transition);font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Arial,sans-serif}button,input,select,textarea{font:inherit}button{cursor:pointer}a{color:inherit;text-decoration:none}ul,ol{list-style:none}#root{min-height:100vh}.app-layout{min-height:100vh;display:flex}.sidebar-logo{height:auto;min-height:105px;padding:10px var(--space-lg);border-bottom:1px solid #ffffff14;flex-direction:column;flex-shrink:0;justify-content:center;align-items:center;gap:6px;display:flex}.sidebar-company-logo{object-fit:contain;width:auto;max-width:140px;height:auto;max-height:55px;display:block}.sidebar-company-logo-placeholder{font-size:20px;font-weight:700}.sidebar-company-name{white-space:nowrap;text-overflow:ellipsis;max-width:180px;font-size:20px;font-weight:1000;overflow:hidden}.sidebar{width:var(--sidebar-width);background:var(--sidebar-bg);color:#d8d0c8;z-index:1000;height:100vh;transition:transform var(--transition);flex-direction:column;display:flex;position:fixed;top:0;left:0}.sidebar-logo{height:var(--header-height);padding:0 var(--space-lg);border-bottom:1px solid #ffffff14;align-items:center;display:flex}.sidebar-logo h2{color:#fff;letter-spacing:.5px;font-size:20px;font-weight:700}.sidebar-nav{padding:var(--space-md);flex:1;overflow-y:auto}.sidebar-nav-title{text-transform:uppercase;letter-spacing:1px;color:#8f857c;margin:20px 8px 8px;font-size:10px}.sidebar-nav a svg{flex-shrink:0}.sidebar-nav a span{line-height:1}.sidebar-nav a{border-radius:var(--radius-sm);color:#cfc6bd;transition:background var(--transition), color var(--transition);align-items:center;gap:12px;margin-bottom:3px;padding:10px 12px;font-size:14px;font-weight:500;display:flex}.sidebar-nav a:hover{background:var(--sidebar-hover);color:#fff}.sidebar-nav a.active{background:var(--sidebar-active);color:#fff}.sidebar-footer{padding:var(--space-md);color:#8f857c;border-top:1px solid #ffffff14;font-size:12px}.sidebar-logout-container{padding:0 var(--space-md) var(--space-sm)}.sidebar-logout{border-radius:var(--radius-sm);color:#cfc6bd;text-align:left;width:100%;transition:background var(--transition), color var(--transition);background:0 0;border:none;align-items:center;gap:12px;padding:10px 12px;font-size:14px;font-weight:500;display:flex}.sidebar-logout:hover{background:var(--sidebar-hover);color:#fff}.main-content{width:calc(100% - var(--sidebar-width));margin-left:var(--sidebar-width);flex-direction:column;min-height:100vh;display:flex}.header{height:var(--header-height);background:var(--header-bg);border-bottom:1px solid var(--border-color);padding:0 var(--space-xl);z-index:900;justify-content:space-between;align-items:center;display:flex;position:sticky;top:0}.header-left{align-items:center;gap:var(--space-md);display:flex}.header-title{color:var(--text-primary);font-size:19px;font-weight:600}.header-right{align-items:center;gap:var(--space-md);display:flex}.header-icon-button{border:1px solid var(--border-color);background:var(--bg-secondary);width:38px;height:38px;color:var(--text-secondary);transition:background var(--transition), color var(--transition), border-color var(--transition), transform var(--transition);border-radius:50%;justify-content:center;align-items:center;display:flex;position:relative}.header-icon-button:hover{background:var(--bg-tertiary);color:var(--primary);border-color:var(--primary);transform:translateY(-1px)}.notification-badge{background:var(--danger);color:#fff;border:2px solid var(--header-bg);border-radius:20px;justify-content:center;align-items:center;min-width:16px;height:16px;padding:0 4px;font-size:9px;font-weight:700;display:flex;position:absolute;top:-3px;right:-3px}.header-divider{background:var(--border-color);width:1px;height:28px;margin:0 4px}.mobile-menu-button{border:1px solid var(--border-color);background:var(--bg-secondary);color:var(--text-primary);border-radius:var(--radius-sm);transition:background var(--transition), color var(--transition), border-color var(--transition)}.mobile-menu-button:hover{background:var(--bg-tertiary);color:var(--primary);border-color:var(--primary)}.user-profile{align-items:center;gap:10px;display:flex}.user-avatar{background:var(--primary);color:#fff;border-radius:50%;justify-content:center;align-items:center;width:38px;height:38px;font-size:13px;font-weight:600;display:flex}.user-info{flex-direction:column;display:flex}.user-name{font-size:13px;font-weight:600}.user-role{color:var(--text-secondary);font-size:11px}.page-content{padding:var(--space-xl);flex:1}.page-header{margin-bottom:var(--space-xl);justify-content:space-between;align-items:center;display:flex}.page-title{font-size:26px;font-weight:700}.page-description{color:var(--text-secondary);margin-top:5px;font-size:14px}.card{background:var(--card-bg);border:1px solid var(--border-color);border-radius:var(--radius-md);box-shadow:var(--shadow);padding:var(--space-lg)}.stats-grid{gap:var(--space-lg);margin-bottom:var(--space-xl);grid-template-columns:repeat(4,minmax(0,1fr));display:grid}.stat-card{background:var(--card-bg);border:1px solid var(--border-color);border-radius:var(--radius-md);padding:var(--space-lg);box-shadow:var(--shadow)}.stat-label{color:var(--text-secondary);margin-bottom:8px;font-size:13px}.stat-value{font-size:27px;font-weight:700}.stat-change{margin-top:8px;font-size:12px}.stat-change.success{color:var(--success)}.stat-change.warning{color:var(--warning)}.stat-change.danger{color:var(--danger)}.btn{border-radius:var(--radius-sm);transition:background var(--transition), transform var(--transition);border:none;justify-content:center;align-items:center;gap:8px;padding:10px 16px;font-size:14px;font-weight:500;display:inline-flex}.btn:hover{transform:translateY(-1px)}.btn-primary{background:var(--primary);color:#fff}.btn-primary:hover{background:var(--primary-hover)}.btn-success{background:var(--success);color:#fff}.btn-danger{background:var(--danger);color:#fff}.btn-secondary{background:var(--bg-tertiary);color:var(--text-primary);border:1px solid var(--border-color)}.table-container{background:var(--card-bg);border:1px solid var(--border-color);border-radius:var(--radius-md);width:100%;box-shadow:var(--shadow);overflow-x:auto}.table{border-collapse:collapse;width:100%;min-width:700px}.table th{text-align:left;background:var(--bg-tertiary);color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px;padding:13px 16px;font-size:11px}.table td{border-top:1px solid var(--border-color);padding:13px 16px;font-size:14px}.table tr:hover td{background:var(--bg-tertiary)}.badge{border-radius:20px;align-items:center;padding:4px 9px;font-size:11px;font-weight:600;display:inline-flex}.badge-success{color:var(--success);background:#3f7d521a}.badge-warning{color:var(--warning);background:#b07a321a}.badge-danger{color:var(--danger);background:#b84a4a1a}.form-grid{gap:var(--space-lg);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.form-group{flex-direction:column;gap:7px;display:flex}.form-group.full{grid-column:1/-1}.form-label{font-size:13px;font-weight:600}.form-input,.form-select,.form-textarea{background:var(--bg-secondary);width:100%;color:var(--text-primary);border:1px solid var(--border-color);border-radius:var(--radius-sm);transition:border var(--transition), box-shadow var(--transition);outline:none;padding:10px 12px}.form-input:focus,.form-select:focus,.form-textarea:focus{border-color:var(--primary);box-shadow:0 0 0 3px #7a52301a}.toolbar{justify-content:space-between;align-items:center;gap:var(--space-md);margin-bottom:var(--space-lg);display:flex}.search-box{width:300px}.search-box input{background:var(--card-bg);width:100%;color:var(--text-primary);border:1px solid var(--border-color);border-radius:var(--radius-sm);outline:none;padding:10px 13px}.mobile-menu-button{border-radius:var(--radius-sm);background:var(--bg-tertiary);width:40px;height:40px;color:var(--text-primary);border:none;display:none}.sidebar-overlay{display:none}@media (width<=1199px){:root{--sidebar-width:220px}.stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.page-content{padding:var(--space-lg)}.header{padding:0 var(--space-lg)}}@media (width<=767px){:root{--header-height:60px}.sidebar{width:260px;transform:translate(-100%)}.sidebar.open{transform:translate(0)}.sidebar-overlay{z-index:999;background:#00000073;display:none;position:fixed;inset:0}.sidebar-overlay.open{display:block}.main-content{width:100%;margin-left:0}.header{padding:0 var(--space-md)}.mobile-menu-button{justify-content:center;align-items:center;display:flex}.user-info{display:none}.page-content{padding:var(--space-md)}.page-header{align-items:flex-start;gap:var(--space-md);flex-direction:column}.page-title{font-size:22px}.stats-grid{gap:var(--space-md);grid-template-columns:1fr}.form-grid{grid-template-columns:1fr}.form-group.full{grid-column:auto}.toolbar{flex-direction:column;align-items:stretch}.search-box{width:100%}.header-right{gap:8px}.header-divider{display:none}.header-icon-button{width:36px;height:36px}}@media (width<=480px){html{font-size:14px}.header-title{font-size:17px}.page-title{font-size:20px}.stat-value{font-size:24px}.btn{width:100%}}.dashboard-grid{gap:var(--space-lg);grid-template-columns:minmax(0,2fr) minmax(300px,1fr);display:grid}.section-header{justify-content:space-between;align-items:center;gap:var(--space-md);margin-bottom:var(--space-lg);display:flex}.section-header h2{color:var(--text-primary);font-size:17px;font-weight:600}.section-header p{color:var(--text-secondary);margin-top:4px;font-size:12px}.activity-list{flex-direction:column;display:flex}.activity-item{border-bottom:1px solid var(--border-color);align-items:center;gap:12px;padding:13px 0;display:flex}.activity-item:last-child{border-bottom:none}.activity-icon{background:var(--primary-light);width:36px;height:36px;color:var(--primary-deep);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:12px;font-weight:700;display:flex}[data-theme=dark] .activity-icon{color:var(--primary)}.activity-content{flex-direction:column;flex:1;gap:3px;display:flex}.activity-content strong{font-size:13px;font-weight:600}.activity-content span,.activity-time{color:var(--text-secondary);font-size:11px}.activity-value{color:var(--success);font-size:13px;font-weight:600}.low-stock-list{flex-direction:column;display:flex}.stock-item{border-bottom:1px solid var(--border-color);justify-content:space-between;align-items:center;gap:12px;padding:14px 0;display:flex}.stock-item:last-child{border-bottom:none}.stock-item div{flex-direction:column;gap:3px;min-width:0;display:flex}.stock-item strong{white-space:nowrap;text-overflow:ellipsis;font-size:13px;font-weight:600;overflow:hidden}.stock-item span:not(.badge){color:var(--text-secondary);font-size:11px}.dashboard-charts{gap:var(--space-lg);margin-bottom:var(--space-lg);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.dashboard-chart-card{min-width:0;overflow:hidden}.dashboard-chart{justify-content:center;align-items:center;width:100%;min-height:320px;display:flex}.dashboard-payment-chart{grid-column:1/-1}@media (width<=900px){.dashboard-charts{grid-template-columns:1fr}.dashboard-payment-chart{grid-column:auto}}.dashboard-tooltip{background:var(--bg-primary);border:1px solid var(--border-color);border-radius:10px;min-width:150px;padding:12px 15px;box-shadow:0 8px 25px #00000040}.dashboard-tooltip-month{color:var(--text-primary);margin-bottom:7px;font-size:14px;font-weight:600}.dashboard-tooltip-label{color:var(--text-secondary);margin-bottom:3px;font-size:12px}.dashboard-tooltip-value{color:var(--primary);font-size:16px;font-weight:700}.sales-period-selector{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:8px;align-items:center;gap:4px;padding:4px;display:flex}.sales-period-selector button{color:var(--text-secondary);cursor:pointer;background:0 0;border:none;border-radius:6px;padding:6px 10px;font-size:12px;font-weight:600;transition:all .2s}.sales-period-selector button:hover{color:var(--text-primary)}.sales-period-selector button.active{background:var(--primary);color:#fff}.dashboard-chart-card .section-header{justify-content:space-between;align-items:flex-start;gap:15px;display:flex}.payment-chart-layout{grid-template-columns:minmax(280px,1fr) minmax(300px,1fr);align-items:center;gap:50px;min-height:320px;display:grid}.payment-donut{width:100%;height:300px;position:relative}.payment-donut-center{text-align:center;pointer-events:none;flex-direction:column;justify-content:center;align-items:center;display:flex;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.payment-donut-center span{color:var(--text-secondary);margin-bottom:5px;font-size:12px}.payment-donut-center strong{color:var(--text-primary);font-size:18px;font-weight:700}.payment-details{flex-direction:column;gap:22px;padding-right:30px;display:flex}.payment-detail-item{width:100%}.payment-detail-header{justify-content:space-between;align-items:center;gap:15px;margin-bottom:8px;display:flex}.payment-detail-name{color:var(--text-primary);align-items:center;gap:9px;font-size:14px;font-weight:600;display:flex}.payment-detail-header strong{color:var(--text-primary);font-size:14px;font-weight:600}.payment-dot{border-radius:50%;flex-shrink:0;width:9px;height:9px}.payment-progress{background:var(--bg-secondary);border-radius:10px;width:100%;height:6px;overflow:hidden}.payment-progress-bar{border-radius:10px;height:100%;transition:width .4s}.payment-percentage{color:var(--text-secondary);text-align:right;margin-top:5px;font-size:11px;display:block}@media (width<=900px){.payment-chart-layout{grid-template-columns:1fr;gap:20px}.payment-details{padding:0 10px 20px}}@media (width<=1000px){.dashboard-grid{grid-template-columns:1fr}}@media (width<=767px){.section-header{flex-direction:column;align-items:flex-start}.section-header .btn{width:auto}.activity-item{align-items:flex-start}.activity-value{margin-left:auto}}@media (width<=480px){.page-header .btn{width:100%}.activity-time{display:none}}.theme-button{border:1px solid var(--border-color);background:var(--bg-secondary);width:38px;height:38px;color:var(--text-primary);transition:background var(--transition), border-color var(--transition), transform var(--transition);border-radius:50%;justify-content:center;align-items:center;font-size:16px;display:flex}.theme-button:hover{background:var(--bg-tertiary);transform:rotate(10deg)}.login-logo{flex-direction:column;justify-content:center;align-items:center;gap:8px;display:flex}.login-company-logo{object-fit:contain;width:auto;max-width:180px;height:auto;max-height:80px;display:block}.login-company-name{color:var(--text-primary);text-align:center;font-size:18px;font-weight:700}.login-page{min-height:100vh;padding:var(--space-lg);background:var(--bg-primary);justify-content:center;align-items:center;display:flex}.login-container{background:var(--card-bg);border:1px solid var(--border-color);border-radius:var(--radius-lg);width:100%;max-width:420px;box-shadow:var(--shadow);padding:40px}.login-logo{justify-content:center;align-items:center;gap:10px;margin-bottom:32px;display:flex}.login-logo-mark{background:var(--primary);color:#fff;border-radius:10px;justify-content:center;align-items:center;width:40px;height:40px;font-size:20px;font-weight:700;display:flex}.login-logo h1{color:var(--text-primary);font-size:22px;font-weight:700}.login-header{text-align:center;margin-bottom:28px}.login-header h2{margin-bottom:7px;font-size:24px;font-weight:700}.login-header p{color:var(--text-secondary);font-size:13px;line-height:1.5}.login-error{border-radius:var(--radius-sm);color:var(--danger);background:#ea433514;border:1px solid #ea433533;margin-bottom:18px;padding:11px 13px;font-size:13px;line-height:1.4}.login-form{flex-direction:column;gap:20px;display:flex}.login-form-group{flex-direction:column;gap:7px;display:flex}.login-form-group label{color:var(--text-primary);font-size:13px;font-weight:600}.login-input-wrapper{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-sm);height:46px;color:var(--text-muted);transition:border var(--transition), box-shadow var(--transition);align-items:center;gap:10px;padding:0 13px;display:flex}.login-input-wrapper:focus-within{border-color:var(--primary);box-shadow:0 0 0 3px #25d3661f}.login-input-wrapper input{min-width:0;height:100%;color:var(--text-primary);background:0 0;border:none;outline:none;flex:1;font-size:14px}.login-input-wrapper input::placeholder{color:var(--text-muted)}.password-toggle{color:var(--text-muted);background:0 0;border:none;justify-content:center;align-items:center;padding:3px;display:flex}.password-toggle:hover{color:var(--primary)}.login-button{border-radius:var(--radius-sm);background:var(--primary);color:#fff;width:100%;height:46px;transition:background var(--transition), transform var(--transition), opacity var(--transition);border:none;margin-top:4px;font-size:14px;font-weight:600}.login-button:hover{background:var(--primary-dark);transform:translateY(-1px)}.login-button:disabled{cursor:not-allowed;opacity:.65;transform:none}.login-footer{text-align:center;color:var(--text-muted);margin-top:28px;font-size:11px}@media (width<=480px){.login-page{padding:var(--space-md)}.login-container{border-radius:var(--radius-md);padding:28px 22px}.login-logo{margin-bottom:25px}}.auth-loading{background:var(--bg-primary);min-height:100vh;color:var(--text-secondary);justify-content:center;align-items:center;font-size:14px;display:flex}.clients-toolbar{align-items:center}.clients-search{width:350px}.clients-search-wrapper{background:var(--card-bg);border:1px solid var(--border-color);border-radius:var(--radius-sm);height:42px;color:var(--text-muted);align-items:center;gap:9px;padding:0 12px;display:flex}.clients-search-wrapper:focus-within{border-color:var(--primary);box-shadow:0 0 0 3px #25d3661a}.clients-search-wrapper input{width:100%;height:100%;color:var(--text-primary);background:0 0;border:none;outline:none;font-size:13px}.clients-error{margin-bottom:var(--space-md);border-radius:var(--radius-sm);color:var(--danger);background:#ea433514;border:1px solid #ea433533;padding:11px 14px;font-size:13px}.modal-error{margin:0 0 20px}.clients-loading,.clients-empty{min-height:260px;color:var(--text-secondary);flex-direction:column;justify-content:center;align-items:center;gap:8px;display:flex}.clients-empty svg{color:var(--primary)}.clients-empty h3{color:var(--text-primary)}.clients-empty p{font-size:13px}.client-actions{align-items:center;gap:6px;display:flex}.table-action{border:1px solid var(--border-color);border-radius:var(--radius-sm);background:var(--card-bg);width:32px;height:32px;transition:background var(--transition), color var(--transition), border-color var(--transition);justify-content:center;align-items:center;display:flex}.table-action.edit{color:var(--primary-dark)}.table-action.delete{color:var(--danger)}.table-action.edit:hover{border-color:var(--primary);background:#25d3661a}.table-action.delete:hover{border-color:var(--danger);background:#ea433514}.table-action:disabled{opacity:.5;cursor:not-allowed}.modal-overlay{z-index:2000;padding:var(--space-lg);background:#00000073;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.client-modal{width:100%;max-width:620px;max-height:90vh;padding:var(--space-xl);background:var(--card-bg);border:1px solid var(--border-color);border-radius:var(--radius-lg);overflow-y:auto;box-shadow:0 15px 40px #0000002e}.modal-header{justify-content:space-between;align-items:flex-start;gap:var(--space-md);margin-bottom:var(--space-lg);display:flex}.modal-header h2{margin-bottom:5px;font-size:19px}.modal-header p{color:var(--text-secondary);font-size:12px}.modal-close{background:var(--bg-tertiary);width:34px;height:34px;color:var(--text-secondary);border:none;border-radius:50%;justify-content:center;align-items:center;font-size:22px;line-height:1;display:flex}.modal-close:hover{background:var(--danger);color:#fff}.modal-actions{justify-content:flex-end;gap:var(--space-sm);padding-top:var(--space-md);border-top:1px solid var(--border-color);grid-column:1/-1;display:flex}.modal-actions .btn{width:auto}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media (width<=767px){.clients-toolbar{flex-direction:column;align-items:stretch}.clients-search,.clients-toolbar>.btn{width:100%}.client-modal{max-height:95vh;padding:var(--space-lg)}.modal-actions{flex-direction:column-reverse}.modal-actions .btn{width:100%}}.confirm-overlay{z-index:3000;padding:var(--space-lg);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#111b217a;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.confirm-modal{background:var(--card-bg);border:1px solid var(--border-color);text-align:center;border-radius:16px;width:100%;max-width:420px;padding:32px;animation:.18s ease-out confirmModalIn;position:relative;box-shadow:0 20px 60px #0003}@keyframes confirmModalIn{0%{opacity:0;transform:translateY(10px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}.confirm-close{width:32px;height:32px;color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;display:flex;position:absolute;top:14px;right:14px}.confirm-close:hover{background:var(--bg-tertiary);color:var(--text-primary)}.confirm-icon{border-radius:50%;justify-content:center;align-items:center;width:58px;height:58px;margin:0 auto 18px;display:flex}.confirm-modal.warning .confirm-icon{color:var(--warning);background:#f7b73121}.confirm-modal.success .confirm-icon{color:var(--primary-dark);background:#25d36621}.confirm-modal.info .confirm-icon{color:var(--info);background:#34b7f121}.confirm-content h2{color:var(--text-primary);margin-bottom:8px;font-size:19px;font-weight:700}.confirm-content p{max-width:340px;color:var(--text-secondary);margin:0 auto;font-size:13px;line-height:1.6}.confirm-actions{justify-content:center;gap:10px;margin-top:26px;display:flex}.confirm-actions .btn{width:auto;min-width:110px}.confirm-button.warning{background:var(--warning);color:#fff}.confirm-button.success{background:var(--primary);color:#fff}.confirm-button.info{background:var(--info);color:#fff}.confirm-button:hover{transform:translateY(-1px)}@media (width<=480px){.confirm-overlay{padding:var(--space-md)}.confirm-modal{padding:28px 20px}.confirm-actions{flex-direction:column-reverse}.confirm-actions .btn{width:100%}}.products-toolbar{align-items:center}.products-search{width:350px}.products-search-wrapper{background:var(--card-bg);border:1px solid var(--border-color);border-radius:var(--radius-sm);height:42px;color:var(--text-muted);align-items:center;gap:9px;padding:0 12px;display:flex}.products-search-wrapper:focus-within{border-color:var(--primary);box-shadow:0 0 0 3px #25d3661a}.products-search-wrapper input{width:100%;height:100%;color:var(--text-primary);background:0 0;border:none;outline:none;font-size:13px}.products-error{margin-bottom:var(--space-md);border-radius:var(--radius-sm);color:var(--danger);background:#ea433514;border:1px solid #ea433533;padding:11px 14px;font-size:13px}.products-loading,.products-empty{min-height:260px;color:var(--text-secondary);flex-direction:column;justify-content:center;align-items:center;gap:8px;display:flex}.products-empty svg{color:var(--primary)}.products-empty h3{color:var(--text-primary)}.products-empty p{font-size:13px}.product-actions{align-items:center;gap:6px;display:flex}.status-badge{border-radius:20px;align-items:center;gap:5px;padding:5px 9px;font-size:11px;font-weight:600;display:inline-flex}.status-badge.active{color:var(--primary-dark);background:#25d3661f}.status-badge.inactive{color:var(--text-secondary);background:#8080801f}.form-textarea{resize:vertical;min-height:100px;padding-top:11px;line-height:1.5}.product-status-control{cursor:pointer;color:var(--text-primary);align-items:center;gap:9px;font-size:13px;font-weight:500;display:inline-flex}.product-status-control input{width:17px;height:17px;accent-color:var(--primary);cursor:pointer}@media (width<=767px){.products-toolbar{flex-direction:column;align-items:stretch}.products-search,.products-toolbar>.btn{width:100%}.product-modal{max-height:95vh}}.stock-page{width:100%;max-width:100%}.stock-page .page-header{margin-bottom:24px}.stock-page .page-title{margin-bottom:5px}.stock-page .page-description{margin:0}.stock-stats{margin-bottom:26px}.stock-toolbar{justify-content:space-between;align-items:center;gap:16px;width:100%;margin-bottom:24px;display:flex}.stock-search{width:360px;max-width:100%}.stock-search-wrapper{box-sizing:border-box;background:var(--card-bg);border:1px solid var(--border-color);width:100%;height:42px;color:var(--text-muted);border-radius:8px;align-items:center;gap:10px;padding:0 13px;transition:border-color .2s,box-shadow .2s,background .2s;display:flex}.stock-search-wrapper svg{flex-shrink:0}.stock-search-wrapper:focus-within{border-color:var(--primary);box-shadow:0 0 0 3px #25d3661a}.stock-search-wrapper input{width:100%;height:100%;color:var(--text-primary);background:0 0;border:0;outline:0;padding:0;font-family:inherit;font-size:13px}.stock-search-wrapper input::placeholder{color:var(--text-muted)}.stock-error{box-sizing:border-box;color:#ff6b61;background:#ea433514;border:1px solid #ea433540;border-radius:8px;width:100%;margin-bottom:20px;padding:12px 15px;font-size:13px}.stock-error.modal-error{margin-bottom:20px}.stock-page .section-heading{justify-content:space-between;align-items:center;gap:20px;margin-bottom:16px;display:flex}.stock-page .section-heading h2{color:var(--text-primary);margin:0 0 5px;font-size:18px;line-height:1.3}.stock-page .section-heading p{color:var(--text-secondary);margin:0;font-size:12px}.stock-page .section-heading>svg{color:var(--primary);flex-shrink:0}.stock-alerts-section{background:var(--card-bg);border:1px solid var(--border-color);border-radius:10px;margin-bottom:26px;padding:20px}.stock-alerts-grid{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:12px;display:grid}.stock-alert{box-sizing:border-box;border-radius:8px;justify-content:space-between;align-items:center;gap:15px;min-height:64px;padding:13px 15px;display:flex}.stock-alert>div{flex-direction:column;gap:5px;min-width:0;display:flex}.stock-alert strong{color:var(--text-primary);white-space:nowrap;text-overflow:ellipsis;font-size:13px;overflow:hidden}.stock-alert span{color:var(--text-secondary);font-size:12px}.stock-alert svg{flex-shrink:0}.stock-alert.warning{background:#f59e0b14;border:1px solid #f59e0b40}.stock-alert.warning svg{color:#f59e0b}.stock-alert.danger{background:#ea433514;border:1px solid #ea433540}.stock-alert.danger svg{color:#ef4444}.stock-table-container,.movements-container{background:var(--card-bg);border:1px solid var(--border-color);border-radius:10px;width:100%;margin-bottom:26px;overflow:hidden}.stock-table-heading{border-bottom:1px solid var(--border-color);padding:18px 20px;margin:0!important}.stock-table-container .table,.movements-container .table{margin:0}.stock-page .table thead th{vertical-align:middle;letter-spacing:.04em;white-space:nowrap;height:42px;padding:0 14px;font-size:11px;font-weight:600}.stock-page .table tbody td{vertical-align:middle;height:54px;padding:10px 14px;font-size:12px}.stock-page .table tbody td strong{color:var(--text-primary);font-weight:600}.stock-page .table tbody td:nth-child(3) strong{font-size:14px}.stock-status{white-space:nowrap;border-radius:20px;align-items:center;gap:6px;padding:5px 9px;font-size:11px;font-weight:600;display:inline-flex}.stock-status.success{color:#25d366;background:#25d3661a}.stock-status.warning{color:#f59e0b;background:#f59e0b1a}.stock-status.danger{color:#ef4444;background:#ea43351a}.movement-type{white-space:nowrap;border-radius:20px;align-items:center;gap:6px;padding:5px 9px;font-size:11px;font-weight:600;display:inline-flex}.movement-type.entry{color:#25d366;background:#25d3661a}.movement-type.exit{color:#ef4444;background:#ea43351a}.stock-loading,.stock-empty{box-sizing:border-box;min-height:220px;color:var(--text-secondary);text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:8px;padding:30px;display:flex}.stock-empty svg{color:var(--primary)}.stock-empty h3{color:var(--text-primary);margin:3px 0;font-size:16px}.stock-empty p{margin:0;font-size:12px}.stock-movement-modal{width:min(600px,100vw - 30px);max-height:calc(100vh - 30px);overflow-y:auto}.stock-movement-modal select.form-input{cursor:pointer}.stock-movement-modal select.form-input option{background:var(--card-bg);color:var(--text-primary)}@keyframes stockSpin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.stock-table-container,.movements-container{overflow-x:auto}.stock-table-container .table,.movements-container .table{min-width:760px}@media (width<=900px){.stock-toolbar{align-items:stretch}.stock-search{width:100%}.stock-toolbar .btn{flex-shrink:0}.stock-alerts-grid{grid-template-columns:1fr}}@media (width<=600px){.stock-page .page-header{flex-direction:column;align-items:stretch;gap:15px}.stock-page .page-header .btn{justify-content:center;width:100%}.stock-toolbar{flex-direction:column}.stock-toolbar .btn{justify-content:center;width:100%}.stock-alerts-section,.stock-table-heading{padding:15px}.stock-page .section-heading h2{font-size:16px}.stock-movement-modal{width:calc(100vw - 20px);max-height:calc(100vh - 20px)}}.reservation-modal{width:min(720px,100vw - 32px);max-height:90vh;overflow-y:auto}.reservation-form-section{margin-top:24px}.reservation-products-header{justify-content:space-between;align-items:center;gap:16px;margin-bottom:14px;display:flex}.reservation-products-header h3{margin:0;font-size:17px}.reservation-products-header p{color:#8fa3ad;margin:4px 0 0;font-size:13px}.reservation-product-form-row{grid-template-columns:minmax(0,1fr) 110px 42px;align-items:center;gap:10px;margin-bottom:10px;display:grid}.reservation-product-form-row .form-input{box-sizing:border-box;width:100%}.quantity-input{text-align:center}.reservation-total-preview{border-top:1px solid #34444c;justify-content:space-between;align-items:center;margin-top:20px;padding-top:18px;font-size:15px;display:flex}.reservation-total-preview strong{font-size:20px;font-weight:700}.reservation-product-form-row .table-action{justify-content:center;align-items:center;width:42px;height:42px;display:flex}.modal-error{margin-bottom:18px}@media (width<=650px){.reservation-product-form-row{grid-template-columns:1fr 90px 42px}}@media (width<=500px){.reservation-products-header{flex-direction:column;align-items:flex-start}.reservation-product-form-row{grid-template-columns:1fr 80px 42px}}.reservations-page{box-sizing:border-box;color:#f1f5f9;width:100%;min-height:100%;padding:32px}.reservations-page .page-title{color:#f8fafc;letter-spacing:-.4px;margin:0;font-size:28px;font-weight:700}.reservations-page .btn{cursor:pointer;border:1px solid #0000;border-radius:7px;justify-content:center;align-items:center;gap:8px;min-height:40px;padding:0 15px;font-size:13px;font-weight:600;transition:background .2s,border-color .2s,transform .15s,box-shadow .2s;display:inline-flex}.reservations-page .btn:active{transform:translateY(1px)}.reservations-page .btn:disabled{opacity:.55;cursor:not-allowed}.reservations-page .btn-primary{color:#fff;background:#20d66b;border-color:#20d66b}.reservations-page .btn-primary:hover{background:#19bd5d;border-color:#19bd5d;box-shadow:0 5px 18px #20d66b2e}.reservations-page .btn-secondary{color:#e6edf2;background:#293b46;border-color:#354954}.reservations-page .btn-danger{color:#ff7272;background:#3a262b;border-color:#66353b}.reservations-page .btn-danger:hover{background:#4b2b31;border-color:#814149}.reservations-page .stats-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:20px;margin-bottom:30px;display:grid}.reservations-page .stat-card{box-sizing:border-box;background:#202f38;border:1px solid #30434d;border-radius:9px;justify-content:space-between;align-items:center;min-height:86px;padding:20px 22px;transition:transform .2s,border-color .2s;display:flex;position:relative}.reservations-page .stat-label{color:#8ba0ad;font-size:13px}.reservations-page .stat-value{color:#f4f7f9;font-size:26px;font-weight:700;line-height:1}.reservations-page .toolbar{justify-content:space-between;align-items:center;gap:15px;margin-bottom:18px;display:flex}.reservations-page .reservation-search-wrapper{box-sizing:border-box;color:#8ca1ad;background:#202f38;border:1px solid #344852;border-radius:7px;align-items:center;gap:9px;width:360px;height:42px;padding:0 13px;transition:border-color .2s,box-shadow .2s;display:flex}.reservations-page .reservation-search-wrapper input{color:#f1f5f9;background:0 0;border:none;outline:none;width:100%;height:100%;font-size:13px}.reservations-page .reservation-error{color:#ff6d6d;background:#64232a38;border:1px solid #68363d;border-radius:7px;margin-bottom:18px;padding:12px 15px;font-size:13px}.reservations-page .table-container{scrollbar-width:thin;background:#1e2d35;border:1px solid #30434d;border-radius:9px;width:100%;overflow-x:auto}.reservations-page .table th{text-align:left;color:#91a5b1;text-transform:uppercase;letter-spacing:.4px;border-bottom:1px solid #354953;height:45px;padding:0 16px;font-size:11px;font-weight:600}.reservations-page .table td{color:#e5edf2;border-bottom:1px solid #30414a;height:64px;padding:0 16px;font-size:13px}.reservations-page .reservation-client{align-items:center;gap:8px;font-weight:500;display:flex}.reservations-page .reservation-client svg{color:#9aacb7}.reservations-page .reservation-status{align-items:center;gap:5px;font-size:12px;font-weight:500;display:inline-flex}.reservations-page .reservation-status.pending{color:#e7b95b}.reservations-page .reservation-status.confirmed{color:#31d978}.reservations-page .reservation-status.cancelled{color:#ff6868}.reservations-page .reservation-status.completed{color:#62b6e8}.reservations-page .table-action{color:#9dafb9;cursor:pointer;background:#22343e;border:1px solid #354952;border-radius:7px;justify-content:center;align-items:center;width:34px;height:34px;padding:0;transition:background .2s,border-color .2s,color .2s,transform .15s;display:inline-flex}.reservations-page .table-action:hover{transform:translateY(-1px)}.reservations-page .table-action.view:hover{color:#66c4f0;background:#263e4a;border-color:#41677a}.reservations-page .table-action.confirm:hover{color:#31df79;background:#203d2e;border-color:#26784c}.reservations-page .table-action.delete{color:#e96868}.reservations-page .table-action.delete:hover{color:#ff7373;background:#43292e;border-color:#763e44}.reservations-page .reservation-loading{color:#8fa3ae;justify-content:center;align-items:center;gap:10px;min-height:180px;font-size:14px;display:flex}@keyframes reservationSpin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.reservations-page .reservation-empty{color:#718691;flex-direction:column;justify-content:center;align-items:center;gap:10px;min-height:260px;display:flex}.reservations-page .reservation-empty svg{opacity:.55}.reservations-page .modal-overlay{z-index:1000;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#030a0ec2;justify-content:center;align-items:center;padding:25px;animation:.18s reservationOverlayIn;display:flex;position:fixed;inset:0}@keyframes reservationOverlayIn{0%{opacity:0}to{opacity:1}}.reservations-page .client-modal{box-sizing:border-box;background:#202f38;border:1px solid #3b4f5a;border-radius:12px;width:100%;max-width:560px;max-height:calc(100vh - 50px);padding:26px;animation:.22s reservationModalIn;overflow-y:auto;box-shadow:0 25px 70px #00000080,0 5px 20px #00000040}@keyframes reservationModalIn{0%{opacity:0;transform:translateY(12px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}.reservations-page .modal-header h2{color:#f4f7f9;margin:0;font-size:19px;font-weight:700}.reservations-page .modal-close{color:#91a5b0;cursor:pointer;background:#293c47;border:1px solid #3a4e59;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:34px;height:34px;font-size:20px;line-height:1;transition:background .2s,color .2s,transform .2s;display:flex}.reservations-page .modal-close:hover{color:#fff;background:#344a56;transform:rotate(90deg)}.reservations-page .form-input{box-sizing:border-box;color:#eaf0f3;background:#202f38;border:1px solid #3a505b;border-radius:7px;outline:none;width:100%;height:42px;padding:0 12px;font-size:13px;transition:border-color .2s,box-shadow .2s,background .2s}.reservations-page .form-input:focus{background:#22333c;border-color:#20d66b;box-shadow:0 0 0 3px #20d66b14}.reservations-page select.form-input{cursor:pointer}.reservations-page .quantity-input{text-align:center;width:100px}.reservations-page .reservation-form-section{border-top:1px solid #344852;margin-top:8px;padding-top:20px}.reservations-page .reservation-total-preview{border-top:1px solid #354953;border-bottom:1px solid #354953;justify-content:space-between;align-items:center;margin-top:20px;padding:15px 0;display:flex}.reservations-page .reservation-detail-top>div{background:#1b2a32;border:1px solid #344852;border-radius:8px;min-width:0;padding:14px}.reservations-page .reservation-product-icon{color:#7fa8ba;background:#263c47;border-radius:7px;flex-shrink:0;justify-content:center;align-items:center;width:34px;height:34px;display:flex}.reservations-page .reservation-product-row>strong{color:#eaf0f3;flex-shrink:0;font-size:13px}.reservations-page .reservation-total-row{border-bottom:1px solid #344852;justify-content:space-between;align-items:center;padding:17px 0;display:flex}.reservations-page .reservation-total-row strong{color:#20d66b;font-size:21px}.reservations-page .client-modal::-webkit-scrollbar{width:7px;height:7px}.reservations-page .table-container::-webkit-scrollbar{width:7px;height:7px}.reservations-page .client-modal::-webkit-scrollbar-track{background:0 0}.reservations-page .table-container::-webkit-scrollbar-track{background:0 0}.reservations-page .client-modal::-webkit-scrollbar-thumb{background:#3b505b;border-radius:10px}.reservations-page .table-container::-webkit-scrollbar-thumb{background:#3b505b;border-radius:10px}.reservations-page .client-modal::-webkit-scrollbar-thumb:hover{background:#506773}.reservations-page .table-container::-webkit-scrollbar-thumb:hover{background:#506773}@media (width<=1100px){.reservations-page{padding:24px}.reservations-page .stats-grid,.reservations-page .reservation-detail-top{grid-template-columns:repeat(2,1fr)}}@media (width<=700px){.reservations-page{padding:18px}.reservations-page .page-header{flex-direction:column;align-items:flex-start}.reservations-page .page-title{font-size:23px}.reservations-page .page-header .btn{width:100%}.reservations-page .stats-grid{grid-template-columns:1fr;gap:12px}.reservations-page .stat-card{min-height:72px}.reservations-page .toolbar{flex-direction:column;align-items:stretch}.reservations-page .reservation-search-wrapper,.reservations-page .toolbar .btn{width:100%}.reservations-page .modal-overlay{align-items:center;padding:12px}.reservations-page .client-modal{border-radius:10px;max-height:calc(100vh - 24px);padding:20px}.reservations-page .reservation-product-form-row{grid-template-columns:minmax(0,1fr) 80px 36px;gap:6px}.reservations-page .reservation-detail-top{grid-template-columns:1fr}.reservations-page .modal-actions{flex-direction:column-reverse}.reservations-page .modal-actions .btn{width:100%}}@media (width<=450px){.reservations-page{padding:14px}.reservations-page .reservation-product-form-row{grid-template-columns:1fr 70px 34px}.reservations-page .form-input{font-size:12px}.reservations-page .reservation-products-header{align-items:flex-start}.reservations-page .reservation-products-header .btn{padding:0 10px}}.reservation-total-preview.vente-summary{border-top:1px solid #344650;border-bottom:1px solid #344650;flex-direction:column;gap:0;width:100%;margin-top:20px;padding:18px 0;display:flex}.reservation-total-preview .vente-summary-row{justify-content:space-between;align-items:center;gap:20px;width:100%;min-height:38px;display:flex}.reservation-total-preview .vente-summary-row span{color:#c1cdd3;font-size:13px;font-weight:600}.reservation-total-preview .vente-summary-row strong{color:#fff;white-space:nowrap;font-size:15px;font-weight:600}.reservation-total-preview .vente-discount-section{width:100%;padding:4px 0}.reservation-total-preview .vente-discount-header{justify-content:space-between;align-items:center;gap:20px;width:100%;min-height:38px;display:flex}.reservation-total-preview .vente-discount-header>span:first-child{color:#c1cdd3;font-size:13px;font-weight:600}.reservation-total-preview .vente-discount-value{white-space:nowrap;font-size:14px;font-weight:600;color:#ff7373!important}.reservation-total-preview .vente-summary-total{border-top:1px solid #344650;justify-content:space-between;align-items:center;gap:20px;width:100%;margin-top:10px;padding-top:14px;display:flex}.reservation-total-preview .vente-summary-total span{color:#fff;font-size:15px;font-weight:700}.reservation-total-preview .vente-summary-total strong{color:#19d36b;white-space:nowrap;font-size:21px;font-weight:800}.payment-overlay{z-index:2100;box-sizing:border-box;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#000000d1;justify-content:center;align-items:center;padding:20px;animation:.2s ease-out paymentFadeIn;display:flex;position:fixed;inset:0}@keyframes paymentFadeIn{0%{opacity:0}to{opacity:1}}.payment-modal{color:#e8eef1;background:#1e2a30;border:1px solid #33444e;border-radius:14px;flex-direction:column;width:100%;max-width:520px;max-height:90vh;animation:.22s cubic-bezier(.16,1,.3,1) paymentSlideUp;display:flex;position:relative;overflow:hidden;box-shadow:0 24px 60px #000000a6}@keyframes paymentSlideUp{0%{opacity:0;transform:translateY(18px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}.payment-modal-header{background:#1a252b;border-bottom:1px solid #2b3b44;justify-content:space-between;align-items:center;padding:20px 24px;display:flex}.payment-modal-title-group{align-items:center;gap:14px;display:flex}.payment-icon-wrapper{color:#19d36b;background:#19d36b24;border-radius:10px;justify-content:center;align-items:center;width:44px;height:44px;display:flex}.payment-modal-title-group h2{color:#fff;margin:0;font-size:18px;font-weight:700}.payment-subtitle{color:#8b9ea8;margin:3px 0 0;font-size:13px}.payment-close-btn{color:#9eb1bc;cursor:pointer;background:#273740;border:0;border-radius:50%;justify-content:center;align-items:center;width:32px;height:32px;transition:all .15s;display:flex}.payment-close-btn:hover{color:#fff;background:#364b56}.payment-modal-body{flex-direction:column;gap:18px;max-height:calc(90vh - 160px);padding:22px 24px;display:flex;overflow-y:auto}.payment-summary-card{background:#141e23;border:1px solid #2b3c45;border-radius:10px;justify-content:space-between;align-items:center;gap:16px;padding:16px 18px;display:flex}.payment-summary-info{flex-direction:column;gap:6px;display:flex}.payment-reference-tag{color:#4cd397;text-transform:uppercase;letter-spacing:.5px;background:#253944;border-radius:5px;align-self:flex-start;padding:3px 8px;font-size:11px;font-weight:700}.payment-client-info{color:#fff;align-items:center;gap:7px;font-size:14px;font-weight:600;display:flex}.payment-total-box{text-align:right;flex-direction:column;gap:2px;display:flex}.payment-total-label{color:#8295a0;text-transform:uppercase;letter-spacing:.5px;font-size:11px}.payment-total-amount{color:#19d36b;font-size:22px;font-weight:800}.payment-items-preview{background:#162228;border:1px solid #283942;border-radius:8px;padding:10px 14px}.payment-items-header{color:#8fa2ad;align-items:center;gap:7px;margin-bottom:8px;font-size:12px;font-weight:600;display:flex}.payment-items-list{flex-direction:column;gap:6px;max-height:100px;display:flex;overflow-y:auto}.payment-item-row{border-bottom:1px solid #20313a;justify-content:space-between;align-items:center;padding:4px 0;font-size:12px;display:flex}.payment-item-row:last-child{border-bottom:none}.payment-item-name{color:#d1dde3;text-overflow:ellipsis;white-space:nowrap;flex:1;padding-right:8px;font-weight:500;overflow:hidden}.payment-item-qty{color:#7d909b;white-space:nowrap;margin-right:12px}.payment-item-total{color:#fff;white-space:nowrap}.payment-section{flex-direction:column;gap:8px;display:flex}.payment-label{color:#9fb3be;font-size:13px;font-weight:600}.payment-modes-grid{grid-template-columns:repeat(auto-fit,minmax(88px,1fr));gap:8px;display:grid}.payment-mode-btn{color:#8b9ea9;cursor:pointer;background:#17242a;border:1px solid #2e404b;border-radius:8px;flex-direction:column;justify-content:center;align-items:center;gap:6px;padding:12px 6px;font-size:12px;font-weight:600;transition:all .18s;display:flex}.payment-mode-btn:hover:not(:disabled){color:#fff;background:#203139;border-color:#4a6270;transform:translateY(-1px)}.payment-mode-btn.active{color:#19d36b;background:#19d36b1f;border-color:#19d36b;box-shadow:0 0 0 1px #19d36b4d}.payment-input-group{align-items:center;display:flex;position:relative}.payment-input{color:#fff;box-sizing:border-box;background:#141e23;border:1px solid #30424c;border-radius:8px;width:100%;height:44px;padding:0 40px 0 14px;font-size:16px;font-weight:600;transition:all .15s}.payment-input:focus{border-color:#19d36b;outline:none;box-shadow:0 0 0 3px #19d36b26}.payment-currency{color:#7f939e;pointer-events:none;font-weight:700;position:absolute;right:14px}.payment-cash-section{background:#152228;border:1px dashed #2f434f;border-radius:10px;flex-direction:column;gap:12px;padding:14px;display:flex}.payment-cash-row{grid-template-columns:1fr 1fr;align-items:flex-end;gap:14px;display:grid}.payment-input-container{flex-direction:column;gap:6px;display:flex}.payment-change-card{box-sizing:border-box;background:#111a1e;border:1px solid #283a44;border-radius:8px;justify-content:space-between;align-items:center;height:44px;padding:0 14px;display:flex}.payment-change-header{color:#8295a0;align-items:center;gap:6px;font-size:12px;display:flex}.payment-change-value{color:#8295a0;font-size:15px;font-weight:700}.payment-change-value.has-change{color:#19d36b;font-size:16px}.payment-quick-cash{color:#7b8e98;flex-wrap:wrap;align-items:center;gap:8px;font-size:12px;display:flex}.payment-quick-btn{color:#b0c2cc;cursor:pointer;background:#1d2c33;border:1px solid #2c3e48;border-radius:6px;padding:4px 9px;font-size:12px;font-weight:600;transition:all .15s}.payment-quick-btn:hover:not(:disabled){color:#fff;background:#253942;border-color:#19d36b}.payment-error-alert{color:#ff7669;background:#ea43351f;border:1px solid #ea433559;border-radius:8px;align-items:center;gap:10px;padding:12px 14px;font-size:13px;line-height:1.4;display:flex}.payment-modal-footer{background:#1a252b;border-top:1px solid #2b3b44;justify-content:flex-end;align-items:center;gap:10px;padding:18px 24px;display:flex}.payment-btn-cancel{color:#b7c8d2;cursor:pointer;background:#233139;border:1px solid #344752;border-radius:8px;height:42px;padding:0 16px;font-size:14px;font-weight:600;transition:all .15s}.payment-btn-cancel:hover:not(:disabled){color:#fff;background:#2f414a}.payment-btn-secondary{color:#8faec0;cursor:pointer;background:0 0;border:1px solid #3b5361;border-radius:8px;height:42px;padding:0 16px;font-size:13px;font-weight:600;transition:all .15s}.payment-btn-secondary:hover:not(:disabled){color:#fff;background:#ffffff0d;border-color:#557588}.payment-btn-confirm{color:#fff;cursor:pointer;background:#19d36b;border:0;border-radius:8px;justify-content:center;align-items:center;gap:8px;height:42px;padding:0 20px;font-size:14px;font-weight:700;transition:all .18s;display:inline-flex;box-shadow:0 4px 14px #19d36b4d}.payment-btn-confirm:hover:not(:disabled){background:#13bc5d;transform:translateY(-1px);box-shadow:0 6px 18px #19d36b66}.payment-btn-confirm:disabled{opacity:.55;cursor:not-allowed;box-shadow:none;transform:none}.spin{animation:1s linear infinite paymentSpin}@keyframes paymentSpin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media (width<=580px){.payment-modal{border-radius:12px;max-width:100%}.payment-cash-row{grid-template-columns:1fr}.payment-modal-footer{flex-direction:column-reverse;align-items:stretch}.payment-btn-confirm,.payment-btn-secondary,.payment-btn-cancel{justify-content:center;width:100%}}.payment-success-modal{box-sizing:border-box;color:#e8eef1;text-align:center;background:#1e2a30;border:1px solid #33444e;border-radius:16px;width:100%;max-width:460px;padding:30px;animation:.22s cubic-bezier(.16,1,.3,1) paymentSlideUp;position:relative;box-shadow:0 24px 60px #000000a6}.payment-success-icon{color:#19d36b;background:#19d36b24;border:1px solid #19d36b4d;border-radius:50%;justify-content:center;align-items:center;width:72px;height:72px;margin:0 auto 16px;display:flex}.payment-success-modal h2{color:#fff;margin:0;font-size:22px}.payment-success-message{color:#9fb3be;margin:8px 0 20px;font-size:14px}.payment-success-summary{grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:22px;display:grid}.payment-success-summary>div{background:#141e23;border:1px solid #2b3c45;border-radius:8px;min-width:0;padding:11px 8px}.payment-success-summary span,.payment-success-summary strong{display:block}.payment-success-summary span{color:#8295a0;text-transform:uppercase;margin-bottom:4px;font-size:10px}.payment-success-summary strong{color:#fff;text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.payment-success-summary>div:nth-child(2) strong{color:#19d36b}.payment-success-question{color:#d1dde3;margin:0 0 12px;font-size:14px;font-weight:600}.payment-print-actions{grid-template-columns:1fr 1fr;gap:10px;display:grid}.payment-print-btn{color:#d1dde3;cursor:pointer;background:#17242a;border:1px solid #3b5361;border-radius:9px;justify-content:center;align-items:center;gap:8px;min-height:48px;padding:10px 12px;font-size:12px;font-weight:700;transition:all .18s;display:inline-flex}.payment-print-btn:hover{color:#fff;background:#203139;border-color:#19d36b;transform:translateY(-1px)}.payment-print-btn.primary{color:#19d36b;background:#19d36b1f;border-color:#19d36b}.payment-finish-btn{color:#9fb3be;cursor:pointer;background:0 0;border:1px solid #344752;border-radius:9px;justify-content:center;align-items:center;gap:8px;width:100%;min-height:44px;margin-top:10px;font-size:13px;font-weight:700;transition:all .18s;display:inline-flex}.payment-finish-btn:hover{color:#fff;background:#ffffff0d;border-color:#557588}@media (width<=580px){.payment-success-modal{padding:24px 18px}.payment-success-summary,.payment-print-actions{grid-template-columns:1fr}}.reservations-page{box-sizing:border-box;width:100%;min-height:100%;color:var(--text-primary);padding:32px;overflow-x:hidden}.reservations-page .page-header{justify-content:space-between;align-items:center;gap:20px;margin-bottom:28px;display:flex}.reservations-page .page-title{color:var(--text-primary);margin:0;font-size:28px;font-weight:700}.reservations-page .page-description{color:var(--text-secondary);margin:6px 0 0;font-size:14px}.reservations-page .btn{cursor:pointer;border:none;border-radius:7px;justify-content:center;align-items:center;gap:8px;width:auto;min-height:40px;padding:0 16px;font-size:14px;font-weight:600;transition:background .2s,border-color .2s,color .2s,transform .2s,opacity .2s;display:inline-flex}.reservations-page .btn:hover{transform:translateY(-1px)}.reservations-page .btn:disabled{opacity:.55;cursor:not-allowed;transform:none}.reservations-page .btn-primary{background:var(--primary);color:#fff}.reservations-page .btn-primary:hover{background:var(--primary-dark)}.reservations-page .btn-secondary{background:var(--bg-secondary);color:var(--text-primary);border:1px solid var(--border-color)}.reservations-page .btn-secondary:hover{background:var(--bg-tertiary);border-color:var(--primary)}.reservations-page .btn-danger{background:var(--danger);color:#fff}.reservations-page .btn-danger:hover{opacity:.9}.reservations-page .stats-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:20px;width:100%;margin-bottom:30px;display:grid}.reservations-page .stat-card{box-sizing:border-box;background:var(--card-bg);border:1px solid var(--border-color);border-radius:var(--radius-md);min-width:0;min-height:86px;box-shadow:var(--shadow);color:var(--text-primary);justify-content:space-between;align-items:center;gap:15px;padding:20px 22px;transition:transform .2s,border-color .2s,background .2s;display:flex;position:relative}.reservations-page .stat-card:hover{border-color:var(--primary);transform:translateY(-2px)}.reservations-page .stat-label{color:var(--text-secondary);margin-bottom:6px;font-size:13px;display:block}.reservations-page .stat-value{color:var(--text-primary);overflow-wrap:anywhere;font-size:26px;font-weight:700;line-height:1;display:block}.reservations-page .toolbar{justify-content:space-between;align-items:center;gap:15px;width:100%;margin-bottom:18px;display:flex}.reservations-page .reservation-search-wrapper{box-sizing:border-box;background:var(--bg-secondary);border:1px solid var(--border-color);width:min(360px,100%);height:42px;color:var(--text-secondary);border-radius:7px;align-items:center;gap:9px;padding:0 13px;transition:border-color .2s,box-shadow .2s,background .2s;display:flex}.reservations-page .reservation-search-wrapper:focus-within{border-color:var(--primary);box-shadow:0 0 0 3px #25d3661a}.reservations-page .reservation-search-wrapper svg{color:var(--text-secondary);flex-shrink:0}.reservations-page .reservation-search-wrapper input{width:100%;min-width:0;height:100%;color:var(--text-primary);background:0 0;border:none;outline:none;padding:0;font-size:13px}.reservations-page .reservation-search-wrapper input::placeholder{color:var(--text-muted)}.reservations-page .reservation-error{box-sizing:border-box;color:var(--danger);background:#ea43351a;border:1px solid #ea43354d;border-radius:7px;margin-bottom:18px;padding:12px 15px;font-size:13px}.reservations-page .modal-error{margin-bottom:20px}.reservations-page .table-container{background:var(--card-bg);border:1px solid var(--border-color);border-radius:var(--radius-md);width:100%;max-width:100%;box-shadow:var(--shadow);box-sizing:border-box;scrollbar-width:thin;overflow-x:auto}.reservations-page .table{border-collapse:collapse;width:100%;min-width:760px}.reservations-page .table thead{background:var(--bg-tertiary)}.reservations-page .table th{text-align:left;height:45px;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.4px;border-bottom:1px solid var(--border-color);white-space:nowrap;padding:0 16px;font-size:11px;font-weight:600}.reservations-page .table td{height:64px;color:var(--text-primary);border-bottom:1px solid var(--border-color);vertical-align:middle;padding:0 16px;font-size:13px}.reservations-page .table tbody tr{transition:background .18s}.reservations-page .table tbody tr:hover{background:var(--bg-tertiary)}.reservations-page .table tbody tr:last-child td{border-bottom:none}.reservations-page .reservation-client{color:var(--text-primary);white-space:nowrap;align-items:center;gap:9px;font-weight:600;display:flex}.reservations-page .reservation-client svg{color:var(--text-secondary);flex-shrink:0}.reservations-page .reservation-status{border-radius:999px;align-items:center;gap:6px;padding:6px 10px;font-size:12px;font-weight:600;line-height:1;display:inline-flex}.reservations-page .reservation-status.pending{color:#9a7100;background:#f7b73124}.reservations-page .reservation-status.confirmed{color:#16894a;background:#25d36621}.reservations-page .reservation-status.cancelled{color:#d33c3c;background:#ea43351f}.reservations-page .reservation-status.completed{color:#287fc4;background:#3498db1f}[data-theme=dark] .reservations-page .reservation-status.pending{color:#f7c957;background:#f7b7311f}[data-theme=dark] .reservations-page .reservation-status.confirmed{color:#25d366;background:#25d3661f}[data-theme=dark] .reservations-page .reservation-status.cancelled{color:#f66;background:#ea43351f}[data-theme=dark] .reservations-page .reservation-status.completed{color:#6cb8ff;background:#6cb8ff1f}.reservations-page .reservation-actions{align-items:center;gap:7px;display:flex}.reservations-page .table-action{border:1px solid var(--border-color);width:34px;height:34px;color:var(--text-secondary);cursor:pointer;background:0 0;border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;transition:background .2s,border-color .2s,color .2s,transform .2s;display:inline-flex}.reservations-page .table-action:hover{background:var(--bg-tertiary);transform:translateY(-1px)}.reservations-page .table-action.view:hover{color:var(--info);border-color:var(--info)}.reservations-page .table-action.confirm:hover{color:var(--success);border-color:var(--success)}.reservations-page .table-action.cancel:hover,.reservations-page .table-action.delete:hover{color:var(--danger);border-color:var(--danger)}.reservations-page .table-action:disabled{opacity:.4;cursor:not-allowed;transform:none}.reservations-page .reservation-empty{min-height:300px;color:var(--text-secondary);flex-direction:column;justify-content:center;align-items:center;gap:8px;display:flex}.reservations-page .reservation-empty svg{color:var(--text-muted)}.reservations-page .reservation-empty h3{color:var(--text-primary);margin:8px 0 0;font-size:16px}.reservations-page .reservation-empty p{color:var(--text-secondary);margin:0;font-size:14px}.reservations-page .reservation-loading{min-height:300px;color:var(--text-secondary);justify-content:center;align-items:center;gap:10px;display:flex}.reservations-page .spin{animation:1s linear infinite reservations-spin}@keyframes reservations-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.reservations-page .modal-overlay{z-index:1000;box-sizing:border-box;background:#0000008c;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0;overflow-y:auto}.reservations-page .client-modal{box-sizing:border-box;background:var(--card-bg);border:1px solid var(--border-color);border-radius:var(--radius-lg);width:100%;max-width:560px;max-height:90vh;padding:26px;overflow-y:auto;box-shadow:0 20px 60px #00000040}.reservations-page .reservation-modal{max-width:620px}.reservations-page .reservation-detail-modal{max-width:700px}.reservations-page .modal-header{justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:25px;display:flex}.reservations-page .modal-header h2{color:var(--text-primary);margin:0;font-size:20px}.reservations-page .modal-header p{color:var(--text-secondary);margin:6px 0 0;font-size:13px}.reservations-page .modal-close{background:var(--bg-tertiary);width:34px;height:34px;color:var(--text-secondary);cursor:pointer;border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;transition:background .2s,color .2s;display:inline-flex}.reservations-page .modal-close:hover{background:var(--border-color);color:var(--text-primary)}.reservations-page .form-group{margin-bottom:20px}.reservations-page .form-label{color:var(--text-primary);margin-bottom:8px;font-size:13px;font-weight:600;display:block}.reservations-page .form-input{box-sizing:border-box;border:1px solid var(--border-color);background:var(--bg-secondary);width:100%;height:42px;color:var(--text-primary);border-radius:7px;outline:none;padding:0 12px;font-size:13px;transition:border-color .2s,box-shadow .2s,background .2s,color .2s}.reservations-page .form-input:focus{border-color:var(--primary);background:var(--bg-secondary);color:var(--text-primary);box-shadow:0 0 0 3px #25d3661a}.reservations-page .form-input::placeholder{color:var(--text-muted)}.reservations-page .form-input option{background:var(--bg-secondary);color:var(--text-primary)}.reservations-page .reservation-products-header{justify-content:space-between;align-items:center;gap:15px;margin-bottom:15px;display:flex}.reservations-page .reservation-products-header h3{color:var(--text-primary);margin:0;font-size:15px;font-weight:700}.reservations-page .reservation-products-header p{color:var(--text-secondary);margin:4px 0 0;font-size:11px}.reservations-page .reservation-product-form-row{grid-template-columns:minmax(0,1fr) 100px 38px;align-items:center;gap:9px;margin-bottom:10px;display:grid}.reservations-page .reservation-product-form-row .form-input{margin:0}.reservations-page .quantity-input{text-align:center}.reservations-page .reservation-total-preview{border-top:1px solid var(--border-color);border-bottom:1px solid var(--border-color);justify-content:space-between;align-items:center;gap:15px;margin-top:20px;padding:15px 0;display:flex}.reservations-page .reservation-total-preview span{color:var(--text-secondary);font-size:13px;font-weight:600}.reservations-page .reservation-total-preview strong{color:var(--text-primary);font-size:19px}.reservations-page .modal-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:9px;margin-top:20px;display:flex}.reservations-page .reservation-detail-top{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:25px;display:grid}.reservations-page .reservation-detail-top>div{border:1px solid var(--border-color);background:var(--bg-secondary);border-radius:8px;min-width:0;padding:14px}.reservations-page .detail-label{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.4px;margin-bottom:7px;font-size:10px;font-weight:600;display:block}.reservations-page .reservation-detail-top strong{color:var(--text-primary);font-size:13px;display:block}.reservations-page .reservation-products-list{border:1px solid var(--border-color);border-radius:8px;flex-direction:column;display:flex;overflow:hidden}.reservations-page .reservation-product-row{background:var(--bg-secondary);border-bottom:1px solid var(--border-color);justify-content:space-between;align-items:center;gap:15px;padding:13px 14px;display:flex}.reservations-page .reservation-product-row:last-child{border-bottom:none}.reservations-page .reservation-product-info{align-items:center;gap:10px;min-width:0;display:flex}.reservations-page .reservation-product-icon{background:var(--bg-tertiary);width:34px;height:34px;color:var(--primary);border-radius:7px;flex-shrink:0;justify-content:center;align-items:center;display:flex}.reservations-page .reservation-product-info strong{color:var(--text-primary);font-size:14px;display:block}.reservations-page .reservation-product-info span{color:var(--text-secondary);margin-top:4px;font-size:12px;display:block}.reservations-page .reservation-product-row>strong{color:var(--text-primary);white-space:nowrap}.reservations-page .reservation-total-preview.vente-summary{border-top:1px solid var(--border-color);border-bottom:1px solid var(--border-color);flex-direction:column;gap:0;width:100%;margin-top:20px;padding:18px 0;display:flex}.reservations-page .vente-summary-row{justify-content:space-between;align-items:center;gap:20px;width:100%;min-height:38px;display:flex}.reservations-page .vente-summary-row span{color:var(--text-secondary);font-size:13px;font-weight:600}.reservations-page .vente-summary-row strong{color:var(--text-primary);white-space:nowrap;font-size:15px;font-weight:600}.reservations-page .vente-discount-section{width:100%;padding:4px 0}.reservations-page .vente-discount-header{justify-content:space-between;align-items:center;gap:20px;width:100%;min-height:38px;display:flex}.reservations-page .vente-discount-header span{color:var(--text-secondary);font-size:13px;font-weight:600}.reservations-page .vente-discount-header strong{color:var(--success);white-space:nowrap;font-size:15px}.reservations-page .reservation-total-row{border-top:1px solid var(--border-color);justify-content:space-between;align-items:center;gap:20px;width:100%;margin-top:10px;padding-top:14px;display:flex}.reservations-page .reservation-total-row span{color:var(--text-primary);font-size:14px;font-weight:700}.reservations-page .reservation-total-row strong{color:var(--primary);white-space:nowrap;font-size:21px}.reservations-page .client-modal::-webkit-scrollbar{width:7px;height:7px}.reservations-page .table-container::-webkit-scrollbar{width:7px;height:7px}.reservations-page .client-modal::-webkit-scrollbar-track{background:0 0}.reservations-page .table-container::-webkit-scrollbar-track{background:0 0}.reservations-page .client-modal::-webkit-scrollbar-thumb{background:var(--border-color);border-radius:10px}.reservations-page .table-container::-webkit-scrollbar-thumb{background:var(--border-color);border-radius:10px}.reservations-page .client-modal::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}.reservations-page .table-container::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}[data-theme=dark] .reservations-page .stat-card:hover{border-color:#4a5b64}[data-theme=dark] .reservations-page .table tbody tr:hover{background:#ffffff06}.reservations-page,.reservations-page .stat-card,.reservations-page .table-container,.reservations-page .reservation-search-wrapper,.reservations-page .table-action,.reservations-page .client-modal,.reservations-page .form-input,.reservations-page .reservation-product-row,.reservations-page .reservation-detail-top>div{transition:background-color .2s,border-color .2s,color .2s,box-shadow .2s}@media (width<=1100px){.reservations-page{padding:24px}.reservations-page .stats-grid,.reservations-page .reservation-detail-top{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=700px){.reservations-page{padding:18px}.reservations-page .page-header{flex-direction:column;align-items:flex-start}.reservations-page .page-title{font-size:23px}.reservations-page .page-header .btn{width:100%}.reservations-page .stats-grid{grid-template-columns:1fr;gap:12px}.reservations-page .stat-card{min-height:72px}.reservations-page .toolbar{flex-direction:column;align-items:stretch}.reservations-page .reservation-search-wrapper,.reservations-page .toolbar .btn{width:100%}.reservations-page .modal-overlay{align-items:center;padding:12px}.reservations-page .client-modal{border-radius:10px;max-height:calc(100vh - 24px);padding:20px}.reservations-page .reservation-product-form-row{grid-template-columns:minmax(0,1fr) 80px 36px;gap:6px}.reservations-page .reservation-detail-top{grid-template-columns:1fr}.reservations-page .modal-actions{flex-direction:column-reverse}.reservations-page .modal-actions .btn{width:100%}}@media (width<=450px){.reservations-page{padding:14px}.reservations-page .reservation-product-form-row{grid-template-columns:1fr 70px 34px}.reservations-page .form-input{font-size:12px}.reservations-page .reservation-products-header{align-items:flex-start}.reservations-page .reservation-products-header .btn{padding:0 10px}.reservations-page .reservation-total-row strong{font-size:18px}}.ventes-page{box-sizing:border-box;width:100%;min-height:100%;padding:32px}.ventes-page .page-header{justify-content:space-between;align-items:center;gap:20px;margin-bottom:28px;display:flex}.ventes-page .page-title{margin:0;font-size:28px;font-weight:700}.ventes-page .page-description{color:#82909b;margin:6px 0 0;font-size:14px}.ventes-page .btn{cursor:pointer;border:none;border-radius:7px;justify-content:center;align-items:center;gap:8px;min-height:40px;padding:0 16px;font-size:14px;font-weight:600;transition:background .2s,transform .2s,opacity .2s;display:inline-flex}.ventes-page .btn:hover{transform:translateY(-1px)}.ventes-page .btn:disabled{opacity:.55;cursor:not-allowed;transform:none}.ventes-page .btn-primary{color:#fff;background:#19d36b}.ventes-page .btn-primary:hover{background:#15bd5e}.ventes-page .btn-secondary:hover{background:var(--bg-tertiary);color:var(--text-primary);border-color:var(--border-color)}.ventes-page .btn-danger{color:#fff;background:#d83d3d}.ventes-page .btn-danger:hover{background:#bd3030}.ventes-page .vente-error{z-index:3000;box-sizing:border-box;background:var(--danger-bg,#fde8e7);border:1px solid var(--danger,#ea4335);width:auto;max-width:420px;color:var(--danger,#b42318);border-radius:8px;margin:0;padding:13px 16px;font-size:14px;position:fixed;top:24px;right:24px;box-shadow:0 8px 24px #0000002e}.ventes-page .stats-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;margin-bottom:28px;display:grid}.ventes-page .stat-card{box-sizing:border-box;background:#202d34;border:1px solid #2c3c45;border-radius:9px;justify-content:space-between;align-items:center;gap:15px;min-height:105px;padding:22px;display:flex}.ventes-page .stat-label{color:#8da0ad;margin-bottom:6px;font-size:13px;display:block}.ventes-page .stat-value{color:#fff;font-size:24px;font-weight:700;display:block}.ventes-page .toolbar{justify-content:space-between;align-items:center;margin-bottom:18px;display:flex}.ventes-page .vente-search-wrapper{box-sizing:border-box;color:#8ea0ab;background:#17242b;border:1px solid #2d404a;border-radius:7px;align-items:center;gap:9px;width:350px;min-height:42px;padding:0 13px;display:flex}.ventes-page .vente-search-wrapper input{color:#fff;background:0 0;border:none;outline:none;width:100%;font-size:14px}.ventes-page .table-container{background:#18252c;border:1px solid #2c3c45;border-radius:9px;width:100%;overflow-x:auto}.ventes-page .table{border-collapse:collapse;width:100%;min-width:800px}.ventes-page .table thead{background:#253640}.ventes-page .table th{text-align:left;color:#8ea0ad;text-transform:uppercase;padding:15px;font-size:12px;font-weight:600}.ventes-page .table td{color:#d7e0e5;border-top:1px solid #293941;padding:16px 15px;font-size:14px}.ventes-page .table tbody tr:hover{background:#ffffff06}.ventes-page .vente-client{align-items:center;gap:8px;display:flex}.ventes-page .vente-status{align-items:center;gap:5px;font-size:13px;font-weight:600;display:inline-flex}.ventes-page .vente-status.pending{color:#f4c95d}.ventes-page .vente-status.paid{color:#26d978}.ventes-page .vente-status.cancelled{color:#f66}.ventes-page .vente-actions{align-items:center;gap:7px;display:flex}.ventes-page .table-action{color:#9baab4;cursor:pointer;background:0 0;border:1px solid #2d404a;border-radius:6px;justify-content:center;align-items:center;width:32px;height:32px;display:inline-flex}.ventes-page .table-action:hover{background:#263740}.ventes-page .table-action.view:hover{color:#6cb8ff}.ventes-page .table-action.confirm:hover{color:#28dd79}.ventes-page .table-action.delete:hover{color:#ff6464}.ventes-page .table-action:disabled{opacity:.4;cursor:not-allowed}.ventes-page .vente-empty{color:#738692;flex-direction:column;justify-content:center;align-items:center;gap:8px;min-height:300px;display:flex}.ventes-page .vente-empty h3{color:#dce5e9;margin:8px 0 0}.ventes-page .vente-empty p{margin:0;font-size:14px}.ventes-page .vente-loading{color:#9aaab4;justify-content:center;align-items:center;gap:10px;min-height:400px;display:flex}.ventes-page .spin{animation:1s linear infinite spin}.ventes-page .modal-overlay{z-index:1000;box-sizing:border-box;background:#000000b8;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0;overflow-y:auto}.ventes-page .client-modal{box-sizing:border-box;background:#202d34;border:1px solid #344650;border-radius:12px;width:100%;max-width:560px;max-height:90vh;padding:26px;overflow-y:auto;box-shadow:0 20px 60px #00000073}.ventes-page .vente-modal{max-width:620px}.ventes-page .vente-detail-modal{max-width:700px}.ventes-page .modal-header{justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:25px;display:flex}.ventes-page .modal-header h2{color:#fff;margin:0;font-size:20px}.ventes-page .modal-header p{color:#82939e;margin:6px 0 0;font-size:13px}.ventes-page .modal-close{color:#a8b6be;cursor:pointer;background:#2b3d47;border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:34px;height:34px;display:inline-flex}.ventes-page .modal-close:hover{color:#fff;background:#374b57}.ventes-page .form-group{margin-bottom:20px}.ventes-page .form-label{color:#dce5e9;margin-bottom:8px;font-size:13px;font-weight:600;display:block}.ventes-page .form-input{box-sizing:border-box;color:#fff;background:#1a2930;border:1px solid #354954;border-radius:6px;outline:none;width:100%;min-height:42px;padding:0 12px;font-size:14px}.ventes-page .form-input:focus{border-color:#20d66f}.ventes-page .form-input option{color:#fff;background:#1a2930}.ventes-page .reservation-form-section{margin-top:20px}.ventes-page .reservation-products-header{justify-content:space-between;align-items:center;gap:15px;margin-bottom:15px;display:flex}.ventes-page .reservation-products-header h3{color:#fff;margin:0;font-size:16px}.ventes-page .reservation-products-header p{color:#82939e;margin:4px 0 0;font-size:12px}.ventes-page .reservation-product-form-row{grid-template-columns:minmax(0,1fr) 100px 38px;gap:8px;margin-bottom:10px;display:grid}.ventes-page .quantity-input{text-align:center}.ventes-page .reservation-total-preview,.ventes-page .reservation-total-row{color:#d8e1e5;border-top:1px solid #344650;justify-content:space-between;align-items:center;gap:15px;margin-top:20px;padding-top:18px;display:flex}.ventes-page .reservation-total-preview strong,.ventes-page .reservation-total-row strong{color:#fff;font-size:19px}.ventes-page .modal-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:10px;margin-top:22px;display:flex}.ventes-page .vente-detail-top{grid-template-columns:repeat(2,minmax(0,1fr));gap:15px;margin-bottom:20px;display:grid}.ventes-page .vente-detail-top>div{background:#1a2930;border:1px solid #2d404a;border-radius:7px;padding:14px}.ventes-page .detail-label{color:#81939e;margin-bottom:6px;font-size:12px;display:block}.ventes-page .vente-detail-top strong{color:#fff;font-size:14px}.ventes-page .reservation-products-list{flex-direction:column;gap:8px;display:flex}.ventes-page .reservation-product-row{background:#1a2930;border:1px solid #2d404a;border-radius:7px;justify-content:space-between;align-items:center;gap:15px;padding:13px;display:flex}.ventes-page .reservation-product-info{align-items:center;gap:10px;display:flex}.ventes-page .reservation-product-icon{color:#78a5bb;background:#263a44;border-radius:7px;justify-content:center;align-items:center;width:34px;height:34px;display:flex}.ventes-page .reservation-product-info strong{color:#fff;font-size:14px;display:block}.ventes-page .reservation-product-info span{color:#82939e;margin-top:4px;font-size:12px;display:block}.ventes-page .reservation-product-row>strong{color:#fff;white-space:nowrap}.ventes-page .confirm-overlay{z-index:2000;box-sizing:border-box;background:#000000c7;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.ventes-page .confirm-modal{box-sizing:border-box;background:#202d34;border:1px solid #344650;border-radius:12px;width:100%;max-width:430px;padding:28px;position:relative;box-shadow:0 20px 60px #00000080}.ventes-page .confirm-close{color:#a8b6be;cursor:pointer;background:#2b3d47;border:none;border-radius:50%;justify-content:center;align-items:center;width:32px;height:32px;display:flex;position:absolute;top:15px;right:15px}.ventes-page .confirm-icon{color:#f4c95d;background:#f4c95d1f;border-radius:50%;justify-content:center;align-items:center;width:52px;height:52px;margin-bottom:16px;display:flex}.ventes-page .confirm-modal.danger .confirm-icon{color:#f66;background:#ff5a5a1f}.ventes-page .confirm-modal.success .confirm-icon{color:#26d978;background:#26d9781f}.ventes-page .confirm-content h2{color:#fff;margin:0 0 8px;font-size:19px}.ventes-page .confirm-content p{color:#94a5ae;margin:0;font-size:14px;line-height:1.6}.ventes-page .confirm-actions{justify-content:flex-end;gap:10px;margin-top:25px;display:flex}@media (width<=1000px){.ventes-page .stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=700px){.ventes-page{padding:20px}.ventes-page .page-header{flex-direction:column;align-items:flex-start}.ventes-page .page-header .btn{width:100%}.ventes-page .stats-grid{grid-template-columns:1fr}.ventes-page .vente-search-wrapper{width:100%}.ventes-page .reservation-product-form-row{grid-template-columns:1fr 90px 38px}.ventes-page .vente-detail-top{grid-template-columns:1fr}.ventes-page .client-modal{padding:20px}}.ventes-page{box-sizing:border-box;width:100%;max-width:100%;overflow-x:hidden}.ventes-page .stats-grid{box-sizing:border-box;width:100%}.ventes-page .stat-card{min-width:0}.ventes-page .stat-value{overflow-wrap:anywhere}.ventes-page .vente-search-wrapper{width:min(360px,100%);min-width:0}.ventes-page .vente-search-wrapper input{appearance:none}.ventes-page .table-container{box-sizing:border-box;max-width:100%}.ventes-page .table th,.ventes-page .table td{vertical-align:middle}.ventes-page .table td:first-child{width:80px}.ventes-page .table td:nth-child(4) strong{white-space:nowrap}.ventes-page .vente-status{border-radius:999px;padding:6px 10px;line-height:1}.ventes-page .vente-status.pending{background:#f4c95d1a}.ventes-page .vente-status.paid{background:#26d9781a}.ventes-page .vente-status.cancelled{background:#ff66661a}.ventes-page .table-action{flex-shrink:0;transition:background .2s,border-color .2s,color .2s,transform .2s}.ventes-page .table-action:hover{transform:translateY(-1px)}.ventes-page .vente-client span{white-space:nowrap}@media (width<=1100px){.ventes-page .stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=700px){.ventes-page{padding:20px}.ventes-page .stats-grid{grid-template-columns:1fr}.ventes-page .vente-search-wrapper{width:100%}}.ventes-page{color:var(--text-primary)}.ventes-page .page-description{color:var(--text-secondary)}.ventes-page .btn-secondary{background:var(--bg-tertiary);color:var(--text-primary);border:1px solid var(--border-color)}.ventes-page .vente-search-wrapper{border-color:var(--border-color);background:var(--card-bg);color:var(--text-secondary)}.ventes-page .vente-search-wrapper input{color:var(--text-primary)}.ventes-page .vente-search-wrapper input::placeholder{color:var(--text-muted)}.ventes-page .table-container{border-color:var(--border-color);background:var(--card-bg)}.ventes-page .table{background:var(--card-bg)}.ventes-page .table thead,.ventes-page .table th{background:var(--bg-tertiary);color:var(--text-secondary)}.ventes-page .table td{background:var(--card-bg);border-color:var(--border-color);color:var(--text-primary)}.ventes-page .table tbody tr:hover,.ventes-page .table tbody tr:hover td{background:var(--bg-tertiary)}.ventes-page .table-action{border-color:var(--border-color);color:var(--text-secondary)}.ventes-page .table-action:hover{background:var(--bg-tertiary);color:var(--text-primary)}.ventes-page .stat-card{background:var(--card-bg);border-color:var(--border-color);color:var(--text-primary)}.ventes-page .stat-label{color:var(--text-secondary)}.ventes-page .stat-value{color:var(--text-primary)}.ventes-page .client-modal,.ventes-page .confirm-modal{background:var(--card-bg);border-color:var(--border-color);color:var(--text-primary)}.ventes-page .modal-header h2,.ventes-page .reservation-products-header h3,.ventes-page .reservation-total-preview strong,.ventes-page .reservation-total-row strong,.ventes-page .vente-detail-top strong,.ventes-page .reservation-product-info strong,.ventes-page .reservation-product-row>strong,.ventes-page .confirm-content h2{color:var(--text-primary)}.ventes-page .modal-header p,.ventes-page .reservation-products-header p,.ventes-page .detail-label,.ventes-page .reservation-product-info span,.ventes-page .confirm-content p{color:var(--text-secondary)}.ventes-page .modal-close,.ventes-page .confirm-close{background:var(--bg-tertiary);color:var(--text-secondary)}.ventes-page .form-input{background:var(--bg-secondary);color:var(--text-primary);border-color:var(--border-color)}.ventes-page .form-input option{background:var(--bg-secondary);color:var(--text-primary)}.ventes-page .vente-detail-top>div,.ventes-page .reservation-product-row{background:var(--bg-secondary);border-color:var(--border-color)}.ventes-page .reservation-product-icon{background:var(--bg-tertiary);color:var(--text-secondary)}.ventes-page .vente-empty,.ventes-page .vente-loading{color:var(--text-secondary)}.ventes-page .vente-empty h3{color:var(--text-primary)}.ventes-page .btn-refresh{background:var(--bg-secondary);color:var(--text-primary);border:1px solid var(--border-color);transition:background .2s,color .2s,border-color .2s,transform .2s}.ventes-page .btn-refresh:hover{background:var(--bg-tertiary);color:var(--text-primary);border-color:var(--text-secondary);transform:translateY(-1px)}.ventes-page .btn-refresh:active{transform:translateY(0)}.paiements-page{box-sizing:border-box;width:100%;min-height:100%;color:var(--text-primary);padding:32px;overflow-x:hidden}.paiements-page .page-header{justify-content:space-between;align-items:center;gap:20px;margin-bottom:28px;display:flex}.paiements-page .page-header h1{color:var(--text-primary);margin:0 0 6px;font-size:28px;font-weight:700}.paiements-page .page-header p{color:var(--text-secondary);margin:0;font-size:14px}.paiements-page .btn-refresh,.paiements-page .btn-primary,.paiements-page .btn-secondary{cursor:pointer;border:1px solid #0000;border-radius:7px;justify-content:center;align-items:center;gap:8px;min-height:40px;padding:0 16px;font-size:14px;font-weight:600;transition:background .2s,border-color .2s,color .2s,transform .2s,opacity .2s;display:inline-flex}.paiements-page .btn-refresh:hover,.paiements-page .btn-primary:hover,.paiements-page .btn-secondary:hover{transform:translateY(-1px)}.paiements-page .btn-refresh{background:var(--bg-secondary);color:var(--text-primary);border-color:var(--border-color)}.paiements-page .btn-refresh:hover{background:var(--bg-tertiary);border-color:var(--primary)}.paiements-page .btn-primary{background:var(--primary);color:#fff;width:100%;margin-top:8px}.paiements-page .btn-primary:hover{background:var(--primary-dark)}.paiements-page .btn-secondary{background:var(--bg-secondary);color:var(--text-primary);border-color:var(--border-color)}.paiements-page .btn-secondary:hover{background:var(--bg-tertiary);border-color:var(--primary)}.paiements-page .btn-primary:disabled,.paiements-page .btn-refresh:disabled,.paiements-page .btn-secondary:disabled{opacity:.55;cursor:not-allowed;transform:none}.paiements-page .alert{border-radius:8px;margin-bottom:18px;padding:13px 16px;font-size:14px;font-weight:500}.paiements-page .alert-success{color:var(--success);background:#25d3661a;border:1px solid #25d36640}.paiements-page .alert-error{color:var(--danger);background:#ea43351a;border:1px solid #ea433540}.paiements-page .paiement-form-card,.paiements-page .paiements-table-card{background:var(--card-bg);border:1px solid var(--border-color);border-radius:var(--radius-lg);box-shadow:var(--shadow);margin-bottom:24px;padding:22px}.paiements-page .card-title,.paiements-page .table-header{justify-content:space-between;align-items:center;gap:20px;margin-bottom:20px;display:flex}.paiements-page .card-title h2,.paiements-page .table-header h2{color:var(--text-primary);margin:0 0 5px;font-size:19px}.paiements-page .card-title p,.paiements-page .table-header p{color:var(--text-secondary);margin:0;font-size:13px}.paiements-page .payment-form{width:100%}.paiements-page .form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;display:grid}.paiements-page .form-group{flex-direction:column;gap:7px;display:flex}.paiements-page .form-group label,.paiements-page .filter-group label{color:var(--text-primary);font-size:13px;font-weight:600}.paiements-page .form-group input,.paiements-page .form-group select,.paiements-page .filter-group input,.paiements-page .filter-group select{box-sizing:border-box;border:1px solid var(--border-color);background:var(--bg-secondary);width:100%;min-height:42px;color:var(--text-primary);border-radius:8px;outline:none;padding:9px 11px;font-size:14px;transition:border-color .2s,box-shadow .2s,background .2s}.paiements-page .form-group input:focus,.paiements-page .form-group select:focus,.paiements-page .filter-group input:focus,.paiements-page .filter-group select:focus{border-color:var(--primary);box-shadow:0 0 0 3px #25d3661a}.paiements-page .form-group input::placeholder,.paiements-page .filter-group input::placeholder{color:var(--text-muted)}.paiements-page .form-group select option,.paiements-page .filter-group select option{background:var(--bg-secondary);color:var(--text-primary)}.paiements-page .form-group small{color:var(--text-secondary);font-size:12px}.paiements-page .paiement-summary{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:20px;margin-bottom:12px;display:grid}.paiements-page .summary-item{background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:9px;padding:15px}.paiements-page .summary-item span{color:var(--text-secondary);margin-bottom:7px;font-size:12px;display:block}.paiements-page .summary-item strong{color:var(--text-primary);font-size:17px}.paiements-page .summary-item.highlight{background:#25d36612;border-color:#25d3664d}.paiements-page .payment-filters{background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:10px;grid-template-columns:minmax(180px,2fr) repeat(4,minmax(130px,1fr)) auto;align-items:end;gap:12px;margin-bottom:20px;padding:15px;display:grid}.paiements-page .filter-group{flex-direction:column;gap:6px;display:flex}.paiements-page .search-filter{min-width:180px}.paiements-page .payment-filters .btn-secondary{white-space:nowrap;min-height:42px}.paiements-page .filtered-total{color:var(--text-primary);white-space:nowrap;font-size:14px}.paiements-page .table-container{width:100%;overflow-x:auto}.paiements-page .paiements-table{border-collapse:collapse;width:100%;min-width:950px}.paiements-page .paiements-table th{text-align:left;color:var(--text-secondary);background:var(--bg-tertiary);border-bottom:1px solid var(--border-color);white-space:nowrap;padding:13px 12px;font-size:12px;font-weight:700}.paiements-page .paiements-table td{border-bottom:1px solid var(--border-color);color:var(--text-primary);vertical-align:middle;white-space:nowrap;padding:13px 12px;font-size:13px}.paiements-page .paiements-table tbody tr{transition:background .18s}.paiements-page .paiements-table tbody tr:hover{background:var(--bg-tertiary)}.paiements-page .badge,.paiements-page .status{white-space:nowrap;border-radius:999px;justify-content:center;align-items:center;padding:5px 9px;font-size:11px;font-weight:700;display:inline-flex}.paiements-page .badge-sale{color:#2d5aa7;background:#2d5aa71a}.paiements-page .badge-reservation{color:#99621c;background:#f7b73124}.paiements-page .status-payee,.paiements-page .status-confirmee{color:#16894a;background:#25d36621}.paiements-page .status-en-cours,.paiements-page .status-en_attente,.paiements-page .status-en-attente{color:#9a7100;background:#f7b73124}.paiements-page .status-annulee{color:#d33c3c;background:#ea43351f}.paiements-page .status-terminee{background:var(--bg-tertiary);color:var(--text-secondary)}[data-theme=dark] .paiements-page .badge-sale{color:#80aaff;background:#80aaff1f}[data-theme=dark] .paiements-page .badge-reservation{color:#f7c957;background:#f7c9571f}[data-theme=dark] .paiements-page .status-payee,[data-theme=dark] .paiements-page .status-confirmee{color:#25d366;background:#25d3661f}[data-theme=dark] .paiements-page .status-en-cours,[data-theme=dark] .paiements-page .status-en_attente,[data-theme=dark] .paiements-page .status-en-attente{color:#f7c957;background:#f7c9571f}[data-theme=dark] .paiements-page .status-annulee{color:#f66;background:#ea43351f}.paiements-page .empty-state{text-align:center;color:var(--text-secondary);border:1px dashed var(--border-color);border-radius:10px;padding:45px 20px;font-size:14px}.paiements-page .transaction-actions{white-space:nowrap;align-items:center;gap:6px;display:flex}.paiements-page .btn-icon{border:1px solid var(--border-color);background:var(--bg-secondary);color:var(--text-primary);cursor:pointer;border-radius:7px;justify-content:center;align-items:center;padding:7px 9px;font-size:14px;transition:background .2s,border-color .2s,color .2s;display:inline-flex}.paiements-page .btn-icon:hover{background:var(--bg-tertiary);border-color:var(--primary);color:var(--primary)}.paiements-page .print-menu-wrap{display:inline-block;position:relative}.paiements-page .print-main-button{white-space:nowrap}.paiements-page .print-menu{z-index:1000;background:var(--card-bg);border:1px solid var(--border-color);border-radius:8px;min-width:190px;display:block;position:absolute;top:calc(100% + 5px);right:0;overflow:hidden;box-shadow:0 8px 25px #0000001f}.paiements-page .print-menu button{width:100%;color:var(--text-primary);text-align:left;cursor:pointer;background:0 0;border:0;padding:10px 13px;display:block}.paiements-page .print-menu button:hover{background:var(--bg-tertiary)}.paiements-page .transaction-modal-overlay{z-index:2000;box-sizing:border-box;background:#0000008c;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.paiements-page .transaction-modal{background:var(--card-bg);width:min(1000px,96vw);max-height:92vh;color:var(--text-primary);border:1px solid var(--border-color);border-radius:14px;padding:24px;overflow:auto;box-shadow:0 20px 60px #00000040}.paiements-page .transaction-modal-header{border-bottom:1px solid var(--border-color);justify-content:space-between;align-items:flex-start;margin-bottom:18px;padding-bottom:15px;display:flex}.paiements-page .transaction-modal-header h2{color:var(--text-primary);margin:0 0 4px}.paiements-page .transaction-modal-header p{color:var(--text-secondary);margin:0}.paiements-page .modal-close{color:var(--text-secondary);cursor:pointer;background:0 0;border:0;font-size:28px;line-height:1}.paiements-page .modal-close:hover{color:var(--text-primary)}.paiements-page .transaction-detail-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:22px;display:grid}.paiements-page .transaction-detail-grid>div{background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:8px;padding:12px}.paiements-page .transaction-detail-grid span,.paiements-page .transaction-totals span{color:var(--text-secondary);margin-bottom:4px;font-size:12px;display:block}.paiements-page .transaction-detail-grid strong{color:var(--text-primary);overflow-wrap:anywhere;display:block}.paiements-page .transaction-items h3{color:var(--text-primary);margin-bottom:10px}.paiements-page .transaction-items table{border-collapse:collapse;width:100%}.paiements-page .transaction-items th,.paiements-page .transaction-items td{border-bottom:1px solid var(--border-color);text-align:left;color:var(--text-primary);padding:10px}.paiements-page .transaction-items th{color:var(--text-secondary);background:var(--bg-tertiary)}.paiements-page .transaction-items th:nth-child(n+2),.paiements-page .transaction-items td:nth-child(n+2){text-align:right}.paiements-page .transaction-totals{width:min(380px,100%);margin:18px 0 0 auto}.paiements-page .transaction-totals>div{color:var(--text-primary);justify-content:space-between;gap:20px;padding:6px 0;display:flex}.paiements-page .transaction-totals .remaining{border-top:1px solid var(--border-color);margin-top:5px;padding-top:10px}.paiements-page .transaction-modal-actions{justify-content:flex-end;align-items:center;gap:10px;margin-top:22px;display:flex}@media (width<=1100px){.paiements-page .payment-filters{grid-template-columns:repeat(3,minmax(140px,1fr))}.paiements-page .search-filter{grid-column:span 2}}@media (width<=800px){.paiements-page{padding:16px}.paiements-page .page-header{flex-direction:column;align-items:flex-start}.paiements-page .form-grid,.paiements-page .paiement-summary{grid-template-columns:1fr}.paiements-page .payment-filters{grid-template-columns:1fr 1fr}.paiements-page .search-filter{grid-column:span 2}.paiements-page .filtered-total{white-space:normal}.paiements-page .table-header{flex-direction:column;align-items:flex-start}.paiements-page .transaction-detail-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.paiements-page .transaction-actions{flex-wrap:wrap}.paiements-page .print-main-button span{display:none}}@media (width<=520px){.paiements-page{padding:14px}.paiements-page .payment-filters{grid-template-columns:1fr}.paiements-page .search-filter{grid-column:span 1}.paiements-page .paiement-form-card,.paiements-page .paiements-table-card{padding:16px}.paiements-page .transaction-modal-overlay{padding:10px}.paiements-page .transaction-modal{width:100%;max-height:95vh;padding:18px}.paiements-page .transaction-detail-grid{grid-template-columns:1fr}.paiements-page .transaction-modal-actions{flex-direction:column;align-items:stretch}.paiements-page .transaction-modal-actions button{width:100%}}.paiements-page,.paiements-page .paiement-form-card,.paiements-page .paiements-table-card,.paiements-page .payment-filters,.paiements-page .summary-item,.paiements-page .form-group input,.paiements-page .form-group select,.paiements-page .filter-group input,.paiements-page .filter-group select,.paiements-page .paiements-table,.paiements-page .transaction-modal,.paiements-page .transaction-detail-grid>div,.paiements-page .btn-icon{transition:background-color .2s,border-color .2s,color .2s,box-shadow .2s}@media print{body *{visibility:hidden!important}.paiements-page .transaction-modal-overlay,.paiements-page .transaction-modal,.paiements-page .transaction-modal *{visibility:visible!important}.paiements-page .transaction-modal-overlay{background:#fff!important;padding:0!important;display:block!important;position:absolute!important;inset:0!important}.paiements-page .transaction-modal{color:#000!important;width:100%!important;max-width:none!important;max-height:none!important;box-shadow:none!important;background:#fff!important;border:none!important;border-radius:0!important;margin:0!important;padding:0!important;overflow:visible!important}.paiements-page .transaction-modal-actions,.paiements-page .modal-close{display:none!important}.paiements-page .printing-a4 .transaction-modal{width:100%!important;padding:0!important;font-size:12px!important}.paiements-page .printing-thermal .transaction-modal-overlay{width:80mm!important;min-width:80mm!important}.paiements-page .printing-thermal .transaction-modal{color:#000!important;width:72mm!important;min-width:72mm!important;margin:0 auto!important;padding:3mm 0!important;font-size:10px!important}.paiements-page .printing-thermal .transaction-modal-header{text-align:center!important;margin-bottom:10px!important;padding-bottom:8px!important;display:block!important}.paiements-page .printing-thermal .transaction-modal-header h2{margin-bottom:3px!important;font-size:17px!important}.paiements-page .printing-thermal .transaction-modal-header p{font-size:10px!important}.paiements-page .printing-thermal .transaction-detail-grid{grid-template-columns:1fr 1fr!important;gap:6px!important;margin-bottom:12px!important;display:grid!important}.paiements-page .printing-thermal .transaction-detail-grid>div{background:0 0!important;border:none!important;border-radius:0!important;padding:0!important}.paiements-page .printing-thermal .transaction-detail-grid span{margin-bottom:1px!important;font-size:8px!important}.paiements-page .printing-thermal .transaction-detail-grid strong{font-size:9px!important}.paiements-page .printing-thermal .transaction-items h3{margin:8px 0 5px!important;font-size:12px!important}.paiements-page .printing-thermal .transaction-items table{table-layout:fixed!important;width:100%!important;font-size:9px!important}.paiements-page .printing-thermal .transaction-items th,.paiements-page .printing-thermal .transaction-items td{overflow-wrap:anywhere!important;border-bottom:1px dashed #999!important;padding:4px 2px!important}.paiements-page .printing-thermal .transaction-items th:first-child,.paiements-page .printing-thermal .transaction-items td:first-child{text-align:left!important;width:42%!important}.paiements-page .printing-thermal .transaction-items th:nth-child(2),.paiements-page .printing-thermal .transaction-items td:nth-child(2){width:12%!important}.paiements-page .printing-thermal .transaction-items th:nth-child(3),.paiements-page .printing-thermal .transaction-items td:nth-child(3),.paiements-page .printing-thermal .transaction-items th:nth-child(4),.paiements-page .printing-thermal .transaction-items td:nth-child(4){width:23%!important}.paiements-page .printing-thermal .transaction-totals{width:100%!important;margin-top:10px!important;font-size:10px!important}.paiements-page .printing-thermal .transaction-totals>div{padding:3px 0!important}.paiements-page .printing-thermal .transaction-totals .remaining{border-top:1px dashed #777!important;margin-top:4px!important;padding-top:6px!important}}.rapports-page{width:100%;min-height:100%;padding:var(--space-xl);color:var(--text-primary)}.rapports-page .rapports-header{justify-content:space-between;align-items:flex-start;gap:var(--space-lg);margin-bottom:var(--space-xl);display:flex}.rapports-page .rapports-header h1{color:var(--text-primary);margin:0 0 6px;font-size:28px;font-weight:700;line-height:1.2}.rapports-page .rapports-header p{color:var(--text-secondary);margin:0;font-size:14px}.rapports-page .rapports-header-actions{align-items:center;gap:var(--space-sm);flex-wrap:wrap;display:flex}.rapports-page .rapport-btn{border-radius:var(--radius-md);cursor:pointer;border:1px solid #0000;justify-content:center;align-items:center;gap:8px;min-height:40px;padding:0 15px;font-family:inherit;font-size:13px;font-weight:600;transition:background-color .2s,border-color .2s,color .2s,transform .15s,box-shadow .2s;display:inline-flex}.rapports-page .rapport-btn:hover{transform:translateY(-1px)}.rapports-page .rapport-btn:active{transform:translateY(0)}.rapports-page .rapport-btn.primary{background:var(--primary);color:#fff;border-color:var(--primary)}.rapports-page .rapport-btn.primary:hover{background:var(--primary-dark);border-color:var(--primary-dark)}.rapports-page .rapport-btn.secondary{background:var(--card-bg);color:var(--text-primary);border-color:var(--border-color)}.rapports-page .rapport-btn.secondary:hover{background:var(--bg-tertiary)}.rapports-page .rapport-btn.full{width:100%}.rapports-page .rapport-error{margin-bottom:var(--space-lg);border-radius:var(--radius-md);color:var(--danger);background:#ea433514;border:1px solid #ea43354d;align-items:center;padding:12px 14px;font-size:13px;font-weight:500;display:flex}.rapports-page .rapport-filter-card{background:var(--card-bg);border:1px solid var(--border-color);border-radius:var(--radius-lg);box-shadow:var(--shadow);padding:var(--space-lg);margin-bottom:var(--space-lg)}.rapports-page .filter-title{margin-bottom:var(--space-lg);color:var(--primary);align-items:flex-start;gap:10px;display:flex}.rapports-page .filter-title h2{color:var(--text-primary);margin:0 0 4px;font-size:16px;font-weight:700}.rapports-page .filter-title span{color:var(--text-secondary);font-size:12px}.rapports-page .rapport-filters{grid-template-columns:repeat(4,minmax(0,1fr));gap:15px;display:grid}.rapports-page .filter-field{min-width:0}.rapports-page .filter-field label{color:var(--text-secondary);margin-bottom:7px;font-size:12px;font-weight:600;display:block}.rapports-page .filter-field select,.rapports-page .filter-field input{border:1px solid var(--border-color);border-radius:var(--radius-md);background:var(--bg-secondary);width:100%;min-height:40px;color:var(--text-primary);outline:none;padding:0 11px;font-family:inherit;font-size:13px;transition:border-color .2s,box-shadow .2s,background-color .2s}.rapports-page .filter-field select:focus,.rapports-page .filter-field input:focus{border-color:var(--primary);box-shadow:0 0 0 3px #25d3661f}.rapports-page .filter-field select{cursor:pointer}.rapports-page .date-input{border:1px solid var(--border-color);border-radius:var(--radius-md);background:var(--bg-secondary);min-height:40px;color:var(--text-secondary);align-items:center;gap:8px;padding:0 10px;transition:border-color .2s,box-shadow .2s;display:flex}.rapports-page .date-input:focus-within{border-color:var(--primary);box-shadow:0 0 0 3px #25d3661f}.rapports-page .date-input input{min-height:38px;box-shadow:none;background:0 0;border:0;outline:0;padding:0}.rapports-page .date-input input:focus{box-shadow:none}.rapports-page .search-field{grid-column:span 2}.rapports-page .rapport-stats{gap:var(--space-md);margin-bottom:var(--space-lg);grid-template-columns:repeat(4,minmax(0,1fr));display:grid}.rapports-page .rapport-stat-card{background:var(--card-bg);border:1px solid var(--border-color);border-radius:var(--radius-lg);min-width:0;box-shadow:var(--shadow);align-items:center;gap:13px;padding:16px;display:flex}.rapports-page .rapport-stat-card>div:last-child{min-width:0}.rapports-page .rapport-stat-card span{color:var(--text-secondary);margin-bottom:5px;font-size:12px;font-weight:500;display:block}.rapports-page .rapport-stat-card strong{color:var(--text-primary);white-space:nowrap;text-overflow:ellipsis;font-size:20px;font-weight:700;display:block;overflow:hidden}.rapports-page .stat-icon{border-radius:12px;flex:0 0 42px;justify-content:center;align-items:center;width:42px;height:42px;display:flex}.rapports-page .stat-icon.blue{color:var(--info);background:#34b7f11f}.rapports-page .stat-icon.green{color:var(--success);background:#25d3661f}.rapports-page .stat-icon.orange{color:var(--warning);background:#f7b73124}.rapports-page .stat-icon.purple{color:#8e44ad;background:#8e44ad1f}.rapports-page .payment-breakdown{margin-bottom:var(--space-lg);border:1px solid var(--border-color);border-radius:var(--radius-lg);background:var(--border-color);grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;display:grid;overflow:hidden}.rapports-page .payment-breakdown>div{background:var(--card-bg);padding:14px 16px}.rapports-page .payment-breakdown span{color:var(--text-secondary);margin-bottom:5px;font-size:12px;display:block}.rapports-page .payment-breakdown strong{color:var(--text-primary);font-size:15px;font-weight:700}.rapports-page .rapport-table-card{background:var(--card-bg);border:1px solid var(--border-color);border-radius:var(--radius-lg);box-shadow:var(--shadow);overflow:hidden}.rapports-page .rapport-table-header{justify-content:space-between;align-items:center;gap:var(--space-md);border-bottom:1px solid var(--border-color);padding:18px 20px;display:flex}.rapports-page .rapport-table-header h2{color:var(--text-primary);margin:0 0 5px;font-size:16px;font-weight:700}.rapports-page .rapport-table-header p{color:var(--text-secondary);margin:0;font-size:12px}.rapports-page .table-wrapper{width:100%;overflow-x:auto}.rapports-page .rapport-table{border-collapse:collapse;width:100%;min-width:900px;color:var(--text-primary);font-size:13px}.rapports-page .rapport-table th{background:var(--bg-tertiary);border-bottom:1px solid var(--border-color);color:var(--text-secondary);text-align:left;text-transform:uppercase;white-space:nowrap;padding:12px 14px;font-size:11px;font-weight:700}.rapports-page .rapport-table td{border-bottom:1px solid var(--border-color);color:var(--text-primary);vertical-align:middle;padding:13px 14px}.rapports-page .rapport-table tbody tr{transition:background-color .15s}.rapports-page .rapport-table tbody tr:hover{background:var(--bg-tertiary)}.rapports-page .rapport-table tbody tr:last-child td{border-bottom:0}.rapports-page .reference-cell{white-space:nowrap;font-weight:600}.rapports-page .amount-cell{white-space:nowrap;font-weight:700}.rapports-page .empty-row{text-align:center;color:var(--text-secondary)!important;padding:40px 20px!important}.rapports-page .type-badge,.rapports-page .status-badge{white-space:nowrap;border-radius:999px;justify-content:center;align-items:center;min-height:26px;padding:3px 9px;font-size:11px;font-weight:700;display:inline-flex}.rapports-page .type-badge.vente{color:var(--info);background:#34b7f11f}.rapports-page .type-badge.reservation{color:#8e44ad;background:#8e44ad1f}.rapports-page .type-badge.autre{color:var(--text-secondary);background:#8696a024}.rapports-page .status-badge.paye,.rapports-page .status-badge.paid,.rapports-page .status-badge.completed,.rapports-page .status-badge.confirme,.rapports-page .status-badge.confirmed{color:var(--success);background:#25d3661f}.rapports-page .status-badge.en_attente,.rapports-page .status-badge.pending{color:var(--warning);background:#f7b73124}.rapports-page .status-badge.annule,.rapports-page .status-badge.annulee,.rapports-page .status-badge.cancelled{color:var(--danger);background:#ea43351a}.rapports-page .status-badge.rembourse,.rapports-page .status-badge.refunded{color:var(--info);background:#34b7f11f}.rapports-page .table-view-btn{border:1px solid var(--border-color);border-radius:var(--radius-md);background:var(--bg-secondary);width:32px;height:32px;color:var(--text-secondary);cursor:pointer;justify-content:center;align-items:center;padding:0;transition:background-color .2s,color .2s,border-color .2s;display:inline-flex}.rapports-page .table-view-btn:hover{background:var(--primary-light);border-color:var(--primary);color:var(--primary-dark)}.rapports-page .rapport-modal-overlay{z-index:1000;background:#0000008c;justify-content:center;align-items:center;padding:20px;animation:.18s rapportOverlayIn;display:flex;position:fixed;inset:0}.rapports-page .rapport-print-modal,.rapports-page .rapport-detail-modal{background:var(--card-bg);border:1px solid var(--border-color);border-radius:var(--radius-lg);width:min(520px,100%);max-height:calc(100vh - 40px);animation:.2s rapportModalIn;overflow-y:auto;box-shadow:0 18px 50px #00000040}.rapports-page .rapport-modal-header{justify-content:space-between;align-items:flex-start;gap:var(--space-md);border-bottom:1px solid var(--border-color);padding:18px 20px;display:flex}.rapports-page .rapport-modal-header h2{color:var(--text-primary);margin:0 0 5px;font-size:18px}.rapports-page .rapport-modal-header p{color:var(--text-secondary);margin:0;font-size:12px}.rapports-page .rapport-modal-header>button{border:1px solid var(--border-color);width:34px;height:34px;color:var(--text-secondary);cursor:pointer;background:0 0;border-radius:50%;justify-content:center;align-items:center;padding:0;display:inline-flex}.rapports-page .rapport-modal-header>button:hover{background:var(--bg-tertiary);color:var(--text-primary)}.rapports-page .print-options{gap:10px;padding:20px;display:grid}.rapports-page .print-option{border:1px solid var(--border-color);border-radius:var(--radius-md);background:var(--bg-secondary);width:100%;color:var(--text-primary);text-align:left;cursor:pointer;align-items:center;gap:13px;padding:14px;transition:border-color .2s,background-color .2s,box-shadow .2s;display:flex}.rapports-page .print-option:hover{background:var(--bg-tertiary)}.rapports-page .print-option.active{border-color:var(--primary);background:var(--primary-light);box-shadow:0 0 0 2px #25d36614}.rapports-page .print-option svg{color:var(--primary);flex:none}.rapports-page .print-option strong{color:var(--text-primary);margin-bottom:4px;font-size:13px;display:block}.rapports-page .print-option span{color:var(--text-secondary);font-size:11px;display:block}.rapports-page .rapport-modal-actions{border-top:1px solid var(--border-color);justify-content:flex-end;gap:10px;padding:15px 20px;display:flex}.rapports-page .detail-grid{border:1px solid var(--border-color);border-radius:var(--radius-md);background:var(--border-color);grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;margin:20px;display:grid;overflow:hidden}.rapports-page .detail-grid>div{background:var(--bg-secondary);min-width:0;padding:13px}.rapports-page .detail-grid span{color:var(--text-secondary);margin-bottom:5px;font-size:11px;display:block}.rapports-page .detail-grid strong{color:var(--text-primary);overflow-wrap:anywhere;font-size:13px;display:block}@keyframes rapportOverlayIn{0%{opacity:0}to{opacity:1}}@keyframes rapportModalIn{0%{opacity:0;transform:translateY(8px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}@media (width<=1100px){.rapports-page .rapport-filters{grid-template-columns:repeat(3,minmax(0,1fr))}.rapports-page .rapport-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.rapports-page .search-field{grid-column:span 2}}@media (width<=800px){.rapports-page{padding:var(--space-lg)}.rapports-page .rapports-header{flex-direction:column}.rapports-page .rapports-header-actions{width:100%}.rapports-page .rapports-header-actions .rapport-btn{flex:1}.rapports-page .rapport-filters{grid-template-columns:repeat(2,minmax(0,1fr))}.rapports-page .search-field{grid-column:span 2}.rapports-page .payment-breakdown{grid-template-columns:repeat(2,minmax(0,1fr))}.rapports-page .rapport-table-header{flex-direction:column;align-items:flex-start}.rapports-page .rapport-table-header .rapport-btn{width:100%}}@media (width<=600px){.rapports-page{padding:var(--space-md)}.rapports-page .rapports-header h1{font-size:24px}.rapports-page .rapports-header-actions{flex-direction:column}.rapports-page .rapports-header-actions .rapport-btn{flex:none;width:100%}.rapports-page .rapport-filters{grid-template-columns:1fr}.rapports-page .search-field{grid-column:span 1}.rapports-page .rapport-stats,.rapports-page .payment-breakdown{grid-template-columns:1fr}.rapports-page .rapport-stat-card strong{font-size:18px}.rapports-page .rapport-modal-overlay{padding:12px}.rapports-page .rapport-print-modal,.rapports-page .rapport-detail-modal{max-height:calc(100vh - 24px)}.rapports-page .detail-grid{grid-template-columns:1fr}}@media (width<=400px){.rapports-page{padding:10px}.rapports-page .rapport-filter-card{padding:13px}.rapports-page .rapport-table-header{padding:15px}.rapports-page .rapport-modal-actions{flex-direction:column}.rapports-page .rapport-modal-actions .rapport-btn{width:100%}}@media print{.rapports-page{color:#000;background:#fff;padding:0}.rapports-page .rapports-header-actions,.rapports-page .rapport-filter-card,.rapports-page .rapport-stats,.rapports-page .payment-breakdown,.rapports-page .rapport-table-header .rapport-btn,.rapports-page .table-view-btn,.rapports-page .rapport-modal-overlay{display:none!important}.rapports-page .rapport-table-card{box-shadow:none;border:0}.rapports-page .rapport-table{min-width:0}.rapports-page .rapport-table th,.rapports-page .rapport-table td{color:#000;border-color:#ccc}}.parametres-page{box-sizing:border-box;width:100%;padding:28px}.parametres-page .page-header{margin-bottom:24px}.parametres-page .page-title{color:var(--text-primary);margin:0;font-size:26px;font-weight:700}.parametres-page .page-description{color:var(--text-secondary);margin:6px 0 0;font-size:14px}.settings-card{box-sizing:border-box;background:var(--card-bg);border:1px solid var(--border-color);width:100%;box-shadow:var(--shadow);border-radius:14px;margin-bottom:20px;padding:24px}.settings-card-header{border-bottom:1px solid var(--border-color);justify-content:space-between;align-items:flex-start;margin-bottom:0;padding-bottom:18px;display:flex}.settings-card-header h2{color:var(--text-primary);margin:0;font-size:18px;font-weight:700}.settings-card-header p{color:var(--text-secondary);margin:6px 0 0;font-size:13px;line-height:1.5}.settings-option{justify-content:space-between;align-items:center;gap:24px;padding:20px 0;display:flex}.settings-option-info{flex:1}.settings-option-info h3{color:var(--text-primary);margin:0 0 6px;font-size:15px;font-weight:600}.settings-option-info p{color:var(--text-secondary);margin:0;font-size:13px;line-height:1.5}.settings-toggle{border:1px solid var(--border-color);background:var(--bg-tertiary);min-width:115px;height:40px;color:var(--text-primary);cursor:pointer;border-radius:9px;padding:0 16px;font-size:13px;font-weight:600;transition:background .2s,border-color .2s,transform .2s}.settings-toggle:hover{border-color:var(--primary);background:var(--bg-secondary)}.settings-toggle:active{transform:scale(.98)}.settings-select{border:1px solid var(--border-color);background:var(--bg-secondary);width:260px;min-height:40px;color:var(--text-primary);cursor:pointer;border-radius:9px;outline:none;padding:0 12px;font-size:13px;transition:border-color .2s,box-shadow .2s}.settings-select:focus{border-color:var(--primary);box-shadow:0 0 0 3px #25d3661f}.settings-select-full{width:100%}.settings-form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 20px;padding-top:22px;display:grid}.settings-full-width{grid-column:1/-1}.settings-card .form-group{flex-direction:column;gap:7px;display:flex}.settings-card .form-group label{color:var(--text-primary);font-size:13px;font-weight:600}.settings-card .form-input{box-sizing:border-box;border:1px solid var(--border-color);background:var(--bg-secondary);width:100%;min-height:42px;color:var(--text-primary);border-radius:9px;outline:none;padding:0 13px;font-size:14px;transition:border-color .2s,box-shadow .2s,background .2s}.settings-card .form-input::placeholder{color:var(--text-muted)}.settings-card .form-input:focus{border-color:var(--primary);box-shadow:0 0 0 3px #25d3661f}.settings-textarea{resize:vertical;line-height:1.5;min-height:100px!important;padding:12px 13px!important}.settings-actions{border-top:1px solid var(--border-color);justify-content:flex-end;align-items:center;margin-top:22px;padding-top:18px;display:flex}.settings-card .btn-secondary{border:1px solid var(--border-color);background:var(--bg-tertiary);min-height:40px;color:var(--text-primary);cursor:pointer;border-radius:9px;padding:0 16px;font-size:13px;font-weight:600;transition:background .2s,border-color .2s}.settings-card .btn-secondary:hover{border-color:var(--primary);background:var(--bg-secondary)}.settings-card .btn-primary{background:var(--primary);color:#fff;cursor:pointer;border:none;border-radius:9px;min-height:42px;padding:0 20px;font-size:13px;font-weight:600;transition:background .2s,transform .2s,box-shadow .2s}.settings-card .btn-primary:hover{background:var(--primary-dark);box-shadow:0 4px 12px #25d3662e}.settings-card .btn-primary:active{transform:scale(.98)}.company-logo-section{border-bottom:1px solid var(--border-color);align-items:center;gap:20px;padding:22px 0;display:flex}.company-logo-preview{border:1px solid var(--border-color);background:var(--bg-tertiary);width:96px;height:96px;color:var(--text-muted);border-radius:14px;flex-shrink:0;justify-content:center;align-items:center;font-size:12px;font-weight:700;display:flex;overflow:hidden}.company-logo-preview img{object-fit:contain;width:100%;height:100%}.company-logo-info{flex-direction:column;align-items:flex-start;gap:8px;display:flex}.company-logo-info h3{color:var(--text-primary);margin:0;font-size:15px;font-weight:600}.company-logo-info p{color:var(--text-secondary);margin:0 0 4px;font-size:13px;line-height:1.5}.document-options{border-bottom:1px solid var(--border-color);grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding:22px 0;display:grid}.settings-checkbox{border:1px solid var(--border-color);background:var(--bg-secondary);min-height:42px;color:var(--text-primary);cursor:pointer;border-radius:9px;align-items:center;gap:10px;padding:10px 12px;font-size:13px;transition:border-color .2s,background .2s;display:flex}.settings-checkbox:hover{border-color:var(--primary);background:var(--bg-tertiary)}.settings-checkbox input{width:16px;height:16px;accent-color:var(--primary);cursor:pointer;margin:0}.settings-card+.settings-card{margin-top:20px}@media (width<=900px){.parametres-page{padding:20px}.settings-form-grid{grid-template-columns:1fr}.settings-full-width{grid-column:auto}.document-options{grid-template-columns:1fr}.settings-option{flex-direction:column;align-items:flex-start}.settings-select,.settings-toggle{width:100%}}@media (width<=600px){.parametres-page{padding:14px}.settings-card{border-radius:12px;padding:18px}.parametres-page .page-title{font-size:22px}.settings-card-header h2{font-size:17px}.settings-option{gap:14px;padding:18px 0}.settings-form-grid{gap:15px;padding-top:18px}.company-logo-section{flex-direction:column;align-items:flex-start}.company-logo-preview{width:86px;height:86px}.settings-actions{flex-direction:column;align-items:stretch}.settings-card .btn-primary,.company-logo-info,.settings-card .btn-secondary{width:100%}}.proformas-page{box-sizing:border-box;width:100%;min-height:100%;color:var(--text-primary);padding:32px;overflow-x:hidden}.proformas-page .page-header{justify-content:space-between;align-items:center;gap:20px;margin-bottom:28px;display:flex}.proformas-page .page-title,.proformas-page .page-header h1{color:var(--text-primary);margin:0 0 6px;font-size:28px;font-weight:700}.proformas-page .page-description,.proformas-page .page-header p{color:var(--text-secondary);margin:0;font-size:14px}.proformas-page .btn{cursor:pointer;border:1px solid #0000;border-radius:7px;justify-content:center;align-items:center;gap:8px;min-height:40px;padding:0 16px;font-size:14px;font-weight:600;transition:background .2s,border-color .2s,color .2s,transform .2s,opacity .2s;display:inline-flex}.proformas-page .btn:hover{transform:translateY(-1px)}.proformas-page .btn:disabled{opacity:.55;cursor:not-allowed;transform:none}.proformas-page .btn-primary{background:var(--primary);color:#fff;width:auto}.proformas-page .btn-primary:hover{background:var(--primary-dark)}.proformas-page .btn-secondary{background:var(--bg-secondary);color:var(--text-primary);border-color:var(--border-color)}.proformas-page .btn-secondary:hover{background:var(--bg-tertiary);border-color:var(--primary)}.proformas-page .btn-danger{background:var(--danger);color:#fff}.proformas-page .btn-danger:hover{opacity:.9}.proformas-page .proforma-error,.proformas-page .error-message{z-index:3000;box-sizing:border-box;background:var(--danger-bg,#fde8e7);border:1px solid var(--danger,#ea4335);width:auto;max-width:420px;color:var(--danger,#b42318);border-radius:8px;margin:0;padding:13px 16px;font-size:14px;position:fixed;top:24px;right:24px;box-shadow:0 8px 24px #0000002e}.proformas-page .stats-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;width:100%;margin-bottom:28px;display:grid}.proformas-page .stat-card{box-sizing:border-box;border:1px solid var(--border-color);background:var(--card-bg);min-height:105px;color:var(--text-primary);box-shadow:var(--shadow);border-radius:10px;justify-content:space-between;align-items:center;gap:15px;padding:22px;transition:background .2s,border-color .2s,transform .2s;display:flex}.proformas-page .stat-card:hover{border-color:#25d36659;transform:translateY(-1px)}.proformas-page .stat-card svg{color:var(--text-muted);flex-shrink:0}.proformas-page .stat-label{color:var(--text-secondary);margin-bottom:8px;font-size:13px;display:block}.proformas-page .stat-value{color:var(--text-primary);overflow-wrap:anywhere;font-size:25px;font-weight:700;line-height:1.1;display:block}.proformas-page .toolbar{justify-content:space-between;align-items:center;gap:15px;width:100%;margin-bottom:18px;display:flex}.proformas-page .proforma-search-wrapper{box-sizing:border-box;border:1px solid var(--border-color);background:var(--card-bg);width:360px;max-width:100%;min-height:42px;color:var(--text-muted);border-radius:7px;align-items:center;gap:9px;padding:0 13px;transition:border-color .2s,box-shadow .2s,background .2s;display:flex}.proformas-page .proforma-search-wrapper:focus-within{border-color:var(--primary);box-shadow:0 0 0 3px #25d3661a}.proformas-page .proforma-search-wrapper input{width:100%;min-width:0;height:40px;color:var(--text-primary);background:0 0;border:0;outline:0;padding:0;font-size:13px}.proformas-page .proforma-search-wrapper input::placeholder{color:var(--text-muted)}.proformas-page .table-container{box-sizing:border-box;border:1px solid var(--border-color);background:var(--card-bg);width:100%;max-width:100%;box-shadow:var(--shadow);scrollbar-width:thin;border-radius:10px;overflow-x:auto}.proformas-page .table{border-collapse:collapse;width:100%;min-width:900px}.proformas-page .table thead{background:var(--bg-tertiary)}.proformas-page .table th{text-align:left;height:44px;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.04em;white-space:nowrap;border-bottom:1px solid var(--border-color);padding:0 16px;font-size:11px;font-weight:700}.proformas-page .table td{height:58px;color:var(--text-primary);vertical-align:middle;border-bottom:1px solid var(--border-color);padding:0 16px;font-size:13px}.proformas-page .table tbody tr{transition:background .18s}.proformas-page .table tbody tr:hover{background:var(--bg-tertiary)}.proformas-page .table tbody tr:last-child td{border-bottom:none}.proformas-page .proforma-number{color:var(--text-primary);white-space:nowrap;font-weight:700}.proformas-page .proforma-client{align-items:center;gap:8px;font-weight:500;display:flex}.proformas-page .proforma-client svg{color:var(--text-muted);flex-shrink:0}.proformas-page .proforma-date{color:var(--text-secondary);white-space:nowrap}.proformas-page .proforma-total{color:var(--text-primary);white-space:nowrap;font-weight:700}.proformas-page .proforma-status{white-space:nowrap;border-radius:999px;justify-content:center;align-items:center;min-width:65px;padding:6px 10px;font-size:12px;font-weight:600;line-height:1;display:inline-flex}.proformas-page .proforma-status.draft,.proformas-page .proforma-status.brouillon{color:var(--text-secondary);background:#8080801c}.proformas-page .proforma-status.sent,.proformas-page .proforma-status.envoyee{color:#4285f4;background:#4285f41c}.proformas-page .proforma-status.accepted,.proformas-page .proforma-status.acceptee{color:#16894a;background:#25d3661f}.proformas-page .proforma-status.refused,.proformas-page .proforma-status.refusee,.proformas-page .proforma-status.cancelled,.proformas-page .proforma-status.annulee{color:#d33c3c;background:#ea43351f}[data-theme=dark] .proformas-page .proforma-status.draft,[data-theme=dark] .proformas-page .proforma-status.brouillon{color:#aebcc5;background:#ffffff14}[data-theme=dark] .proformas-page .proforma-status.sent,[data-theme=dark] .proformas-page .proforma-status.envoyee{color:#78aaff;background:#4285f41f}[data-theme=dark] .proformas-page .proforma-status.accepted,[data-theme=dark] .proformas-page .proforma-status.acceptee{color:#25d366;background:#25d3661f}[data-theme=dark] .proformas-page .proforma-status.refused,[data-theme=dark] .proformas-page .proforma-status.refusee,[data-theme=dark] .proformas-page .proforma-status.cancelled,[data-theme=dark] .proformas-page .proforma-status.annulee{color:#ff6b6b;background:#ea43351f}.proformas-page .proforma-actions{white-space:nowrap;align-items:center;gap:6px;display:flex}.proformas-page .table-action{border:1px solid var(--border-color);background:var(--bg-secondary);width:34px;height:34px;color:var(--text-secondary);cursor:pointer;border-radius:7px;flex-shrink:0;justify-content:center;align-items:center;padding:0;transition:background .2s,border-color .2s,color .2s,transform .2s;display:inline-flex}.proformas-page .table-action:hover{background:var(--bg-tertiary);border-color:var(--primary);color:var(--primary);transform:translateY(-1px)}.proformas-page .table-action.view{color:#4285f4}.proformas-page .table-action.view:hover{background:#4285f414;border-color:#4285f4}.proformas-page .table-action.send{color:var(--primary)}.proformas-page .table-action.send:hover{background:#25d36617}.proformas-page .table-action.cancel{color:var(--danger)}.proformas-page .table-action.cancel:hover{border-color:var(--danger);background:#ea433514}.proformas-page .proforma-empty{box-sizing:border-box;text-align:center;min-height:220px;color:var(--text-secondary);flex-direction:column;justify-content:center;align-items:center;padding:40px 20px;display:flex}.proformas-page .proforma-empty svg{color:var(--text-muted);margin-bottom:12px}.proformas-page .proforma-empty h3{color:var(--text-primary);margin:0 0 6px;font-size:16px}.proformas-page .proforma-empty p{color:var(--text-secondary);margin:0;font-size:13px}.proformas-page .proforma-loading{min-height:220px;color:var(--text-secondary);justify-content:center;align-items:center;gap:10px;display:flex}.proformas-page .spin{animation:1s linear infinite proforma-spin}@keyframes proforma-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.proformas-page .proforma-modal-overlay,.proforma-modal-overlay{z-index:2000;box-sizing:border-box;background:#0000008c;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.proformas-page .proforma-modal,.proforma-modal{box-sizing:border-box;border:1px solid var(--border-color);background:var(--card-bg);width:min(900px,96vw);max-height:92vh;color:var(--text-primary);border-radius:14px;padding:24px;overflow-y:auto;box-shadow:0 20px 60px #00000040}.proformas-page .proforma-modal-header,.proforma-modal-header{border-bottom:1px solid var(--border-color);justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:20px;padding-bottom:15px;display:flex}.proformas-page .proforma-modal-header h2,.proforma-modal-header h2{color:var(--text-primary);margin:0 0 5px;font-size:20px}.proformas-page .proforma-modal-header p,.proforma-modal-header p{color:var(--text-secondary);margin:0;font-size:13px}.proformas-page .modal-close,.proforma-modal .modal-close{border:1px solid var(--border-color);background:var(--bg-tertiary);width:32px;height:32px;color:var(--text-secondary);cursor:pointer;border-radius:50%;justify-content:center;align-items:center;padding:0;display:inline-flex}.proformas-page .modal-close:hover,.proforma-modal .modal-close:hover{color:var(--text-primary);border-color:var(--primary)}.proformas-page .form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;display:grid}.proformas-page .form-group{flex-direction:column;gap:7px;display:flex}.proformas-page .form-group label{color:var(--text-primary);font-size:13px;font-weight:600}.proformas-page .form-group input,.proformas-page .form-group select,.proformas-page .form-group textarea{box-sizing:border-box;border:1px solid var(--border-color);background:var(--bg-secondary);width:100%;min-height:42px;color:var(--text-primary);border-radius:8px;outline:none;padding:9px 11px;font-size:14px}.proformas-page .form-group textarea{resize:vertical;min-height:100px}.proformas-page .form-group input:focus,.proformas-page .form-group select:focus,.proformas-page .form-group textarea:focus{border-color:var(--primary);box-shadow:0 0 0 3px #25d3661a}.proformas-page .form-group input::placeholder,.proformas-page .form-group textarea::placeholder{color:var(--text-muted)}.proformas-page .form-group select option{background:var(--bg-secondary);color:var(--text-primary)}.proformas-page .proforma-products{border-top:1px solid var(--border-color);margin-top:22px;padding-top:20px}.proformas-page .proforma-products-header{justify-content:space-between;align-items:center;gap:15px;margin-bottom:14px;display:flex}.proformas-page .proforma-products-header h3{color:var(--text-primary);margin:0;font-size:17px}.proformas-page .proforma-product-row{grid-template-columns:minmax(0,2fr) 100px 150px 150px 42px;align-items:center;gap:10px;margin-bottom:10px;display:grid}.proformas-page .proforma-product-row input,.proformas-page .proforma-product-row select{box-sizing:border-box;border:1px solid var(--border-color);background:var(--bg-secondary);width:100%;min-height:40px;color:var(--text-primary);border-radius:7px;outline:none;padding:8px 10px}.proformas-page .proforma-product-row input:focus,.proformas-page .proforma-product-row select:focus{border-color:var(--primary)}.proformas-page .remove-product{border:1px solid var(--border-color);background:var(--bg-secondary);width:36px;height:36px;color:var(--danger);cursor:pointer;border-radius:7px;justify-content:center;align-items:center;padding:0;display:inline-flex}.proformas-page .remove-product:hover{border-color:var(--danger);background:#ea433514}.proformas-page .proforma-total-box{border-top:1px solid var(--border-color);width:min(420px,100%);margin:22px 0 0 auto;padding-top:16px}.proformas-page .proforma-total-row{color:var(--text-primary);justify-content:space-between;align-items:center;gap:20px;padding:6px 0;display:flex}.proformas-page .proforma-total-row span{color:var(--text-secondary)}.proformas-page .proforma-total-row strong{color:var(--text-primary)}.proformas-page .proforma-total-row.final{border-top:1px solid var(--border-color);margin-top:8px;padding-top:12px}.proformas-page .proforma-total-row.final span,.proformas-page .proforma-total-row.final strong{color:var(--primary);font-size:18px;font-weight:700}.proformas-page .modal-actions{border-top:1px solid var(--border-color);justify-content:flex-end;align-items:center;gap:10px;margin-top:24px;padding-top:18px;display:flex}.proformas-page .confirm-overlay,.confirm-overlay{z-index:3000;background:#0000008c;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.proformas-page .confirm-modal,.confirm-modal{box-sizing:border-box;border:1px solid var(--border-color);background:var(--card-bg);width:min(430px,95vw);color:var(--text-primary);border-radius:12px;padding:28px;box-shadow:0 20px 60px #00000040}.proformas-page .confirm-close,.confirm-close{border:1px solid var(--border-color);background:var(--bg-tertiary);width:32px;height:32px;color:var(--text-secondary);cursor:pointer;border-radius:50%;justify-content:center;align-items:center;display:flex;position:absolute;top:15px;right:15px}.proformas-page .confirm-icon,.confirm-icon{color:#d69f00;background:#f7c9571f;border-radius:50%;justify-content:center;align-items:center;width:52px;height:52px;margin-bottom:16px;display:flex}.proformas-page .confirm-modal.danger .confirm-icon,.confirm-modal.danger .confirm-icon{color:var(--danger);background:#ea43351f}.proformas-page .confirm-modal.success .confirm-icon,.confirm-modal.success .confirm-icon{color:var(--primary);background:#25d3661f}.proformas-page .confirm-content h2,.confirm-content h2{color:var(--text-primary);margin:0 0 8px;font-size:19px}.proformas-page .confirm-content p,.confirm-content p{color:var(--text-secondary);margin:0;font-size:14px;line-height:1.6}.proformas-page .confirm-actions,.confirm-actions{justify-content:flex-end;gap:10px;margin-top:25px;display:flex}@media (width<=1100px){.proformas-page .stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.proformas-page .proforma-product-row{grid-template-columns:minmax(0,2fr) 90px 130px 130px 42px}}@media (width<=800px){.proformas-page{padding:20px}.proformas-page .page-header{flex-direction:column;align-items:flex-start}.proformas-page .page-header .btn{width:100%}.proformas-page .stats-grid{grid-template-columns:1fr}.proformas-page .toolbar{flex-direction:column;align-items:stretch}.proformas-page .proforma-search-wrapper{width:100%}.proformas-page .form-grid{grid-template-columns:1fr}.proformas-page .proforma-product-row{grid-template-columns:minmax(0,1fr) 85px 42px}.proformas-page .proforma-product-row input:nth-child(3),.proformas-page .proforma-product-row input:nth-child(4),.proformas-page .proforma-product-row select:nth-child(3),.proformas-page .proforma-product-row select:nth-child(4){grid-column:span 1}.proformas-page .transaction-detail-grid{grid-template-columns:1fr 1fr}.proformas-page .modal-actions{flex-direction:column;align-items:stretch}.proformas-page .modal-actions .btn{width:100%}}@media (width<=600px){.proformas-page{padding:16px}.proformas-page .page-title,.proformas-page .page-header h1{font-size:24px}.proformas-page .stat-card{min-height:95px;padding:18px}.proformas-page .stat-value{font-size:23px}.proformas-page .proforma-modal,.proforma-modal{max-height:95vh;padding:18px}.proformas-page .proforma-products-header{flex-direction:column;align-items:flex-start}.proformas-page .proforma-products-header .btn,.proformas-page .proforma-total-box{width:100%}.proformas-page .confirm-modal,.confirm-modal{padding:22px}}@media (width<=480px){.proformas-page .btn{width:auto}.proformas-page .page-header .btn,.proformas-page .proforma-products-header .btn,.proformas-page .modal-actions .btn{width:100%}}.proformas-page,.proformas-page .stat-card,.proformas-page .table-container,.proformas-page .proforma-search-wrapper,.proformas-page .form-group input,.proformas-page .form-group select,.proformas-page .form-group textarea,.proformas-page .proforma-product-row input,.proformas-page .proforma-product-row select,.proformas-page .table-action,.proformas-page .proforma-modal,.proformas-page .confirm-modal{transition:background-color .2s,border-color .2s,color .2s,box-shadow .2s}.proformas-page .modal-overlay{z-index:2000;box-sizing:border-box;background:#0009;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.proformas-page .client-modal.proforma-detail-modal{box-sizing:border-box;border:1px solid var(--border-color);background:var(--card-bg);width:min(620px,94vw);max-height:90vh;color:var(--text-primary);border-radius:14px;padding:28px 30px;overflow-y:auto;box-shadow:0 20px 60px #0000004d}.proformas-page .proforma-detail-modal .modal-header{border-bottom:1px solid var(--border-color);justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:22px;padding-bottom:18px;display:flex}.proformas-page .proforma-detail-modal .modal-header h2{color:var(--text-primary);margin:0 0 5px;font-size:20px;font-weight:700;line-height:1.3}.proformas-page .proforma-detail-modal .modal-header p{color:var(--text-secondary);margin:0;font-size:13px}.proformas-page .proforma-detail-modal .modal-close{border:1px solid var(--border-color);background:var(--bg-tertiary);width:34px;height:34px;color:var(--text-secondary);cursor:pointer;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;padding:0;transition:background .2s,border-color .2s,color .2s;display:inline-flex}.proformas-page .proforma-detail-modal .modal-close:hover{border-color:var(--primary);background:var(--bg-secondary);color:var(--text-primary)}.proformas-page .proforma-detail-top{border:1px solid var(--border-color);background:var(--bg-secondary);border-radius:10px;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px 24px;margin-bottom:24px;padding:18px;display:grid}.proformas-page .proforma-detail-top>div{flex-direction:column;gap:5px;min-width:0;display:flex}.proformas-page .proforma-detail-top .detail-label{color:var(--text-secondary);font-size:12px;font-weight:500;display:block}.proformas-page .proforma-detail-top>div>strong{color:var(--text-primary);overflow-wrap:anywhere;font-size:14px;font-weight:600;line-height:1.4;display:block}.proformas-page .reservation-products-list{border-top:1px solid var(--border-color);border-bottom:1px solid var(--border-color);width:100%;margin-bottom:20px}.proformas-page .reservation-product-row{box-sizing:border-box;border-bottom:1px solid var(--border-color);grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:20px;width:100%;min-height:64px;padding:12px 4px;display:grid}.proformas-page .reservation-product-row:last-child{border-bottom:none}.proformas-page .reservation-product-info{align-items:center;gap:12px;min-width:0;display:flex}.proformas-page .reservation-product-icon{background:var(--bg-tertiary);width:34px;height:34px;color:var(--text-secondary);border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;display:flex}.proformas-page .reservation-product-info>div:last-child{flex-direction:column;gap:3px;min-width:0;display:flex}.proformas-page .reservation-product-info strong{color:var(--text-primary);overflow-wrap:anywhere;font-size:14px;font-weight:600}.proformas-page .reservation-product-info span{color:var(--text-secondary);font-size:12px}.proformas-page .reservation-product-row>strong{color:var(--text-primary);white-space:nowrap;text-align:right;font-size:14px;font-weight:700}.proformas-page .reservation-total-row{box-sizing:border-box;border-bottom:1px solid var(--border-color);grid-template-columns:1fr auto;align-items:center;gap:30px;width:100%;padding:16px 4px;display:grid}.proformas-page .reservation-total-row>div{min-width:0}.proformas-page .reservation-total-row>div:first-child{flex-direction:column;gap:7px;display:flex}.proformas-page .reservation-total-row>div:first-child span{color:var(--text-secondary);font-size:13px}.proformas-page .reservation-total-row>div:first-child strong{color:var(--text-primary);font-size:14px;font-weight:700}.proformas-page .reservation-total-row>div:last-child{text-align:right;flex-direction:column;gap:7px;min-width:120px;display:flex}.proformas-page .reservation-total-row>div:last-child span{color:var(--text-secondary);font-size:13px}.proformas-page .reservation-total-row>div:last-child strong{color:var(--text-primary);font-size:16px;font-weight:700}.proformas-page .reservation-total-row>div:last-child strong:last-child{color:var(--primary);font-size:17px}.proformas-page .proforma-detail-modal .modal-actions{border-top:1px solid var(--border-color);flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:10px;margin-top:18px;padding-top:18px;display:flex}.proformas-page .proforma-detail-modal .modal-actions .btn{white-space:nowrap;width:auto;min-height:38px}@media (width<=600px){.proformas-page .client-modal.proforma-detail-modal{width:100%;max-height:94vh;padding:20px}.proformas-page .proforma-detail-top{grid-template-columns:1fr;gap:13px;padding:15px}.proformas-page .reservation-product-row{grid-template-columns:1fr;gap:8px}.proformas-page .reservation-product-row>strong{text-align:left;padding-left:46px}.proformas-page .reservation-total-row{grid-template-columns:1fr auto;gap:15px}.proformas-page .proforma-detail-modal .modal-actions{flex-direction:column;align-items:stretch}.proformas-page .proforma-detail-modal .modal-actions .btn{width:100%}}@media (width<=400px){.proformas-page .client-modal.proforma-detail-modal{padding:16px}.proformas-page .proforma-detail-modal .modal-header h2{font-size:18px}.proformas-page .reservation-total-row{grid-template-columns:1fr}.proformas-page .reservation-total-row>div:last-child{text-align:left}}
