.sidebar-footer{margin-top:auto;padding-top:1rem;border-top:1px solid var(--color-border)}.logout-btn{display:flex;align-items:center;gap:.625rem;padding:.625rem .75rem;border-radius:var(--radius-sm);color:var(--color-text-secondary);background:none;border:none;cursor:pointer;width:100%;font-size:.9rem;font-weight:500;transition:all var(--transition-fast)}.logout-btn:hover{background:#ff3b301a;color:var(--color-danger)}.nav-badge{margin-left:auto;background:var(--color-danger);color:#fff;font-size:.7rem;font-weight:600;min-width:18px;height:18px;border-radius:9px;display:flex;align-items:center;justify-content:center;padding:0 5px;animation:pulse-badge 2s ease-in-out infinite}@keyframes pulse-badge{0%,to{opacity:1}50%{opacity:.7}}.import-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:1.25rem}.import-card{background:var(--color-bg-primary);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:1.5rem;box-shadow:var(--shadow-sm)}.import-card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem}.import-card-title{font-size:1.1rem;font-weight:600;color:var(--color-text-primary)}.import-card-desc{color:var(--color-text-secondary);font-size:.875rem;margin-bottom:1rem}.import-card-fields{background:var(--color-bg-secondary);border-radius:var(--radius-sm);padding:.75rem;margin-bottom:1rem;font-size:.8rem}.fields-label{color:var(--color-text-muted);display:block;margin-bottom:.25rem}.fields-value{color:var(--color-text-primary);font-family:monospace;word-break:break-all}.import-card-actions{display:flex;gap:.5rem;margin-bottom:1rem}.import-card-actions .btn{flex:1;text-decoration:none;text-align:center}.import-btn{width:100%}.import-result{text-align:center}.result-stat{display:flex;flex-direction:column;align-items:center;padding:1.5rem;background:var(--color-bg-secondary);border-radius:var(--radius-md);margin-bottom:1rem}.result-stat.success .result-number{color:var(--color-success)}.result-number{font-size:2.5rem;font-weight:700}.result-label{color:var(--color-text-secondary);font-size:.9rem;margin-top:.25rem}.result-errors{text-align:left;background:#ff3b3014;border-radius:var(--radius-md);padding:1rem}.result-errors h4{color:var(--color-danger);font-size:.9rem;margin-bottom:.5rem}.result-errors ul{margin:0;padding-left:1.25rem;color:var(--color-text-secondary);font-size:.85rem;max-height:200px;overflow-y:auto}.result-errors li{margin-bottom:.25rem}.login-container{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#667eea,#764ba2);padding:1rem}.login-card{background:var(--color-bg-primary);border-radius:var(--radius-lg);box-shadow:0 20px 60px #0000004d;padding:2.5rem;width:100%;max-width:400px}.login-header{text-align:center;margin-bottom:2rem}.login-title{font-size:1.5rem;font-weight:700;color:var(--color-text-primary);margin-bottom:.5rem}.login-subtitle{color:var(--color-text-secondary);font-size:.9rem}.login-form{display:flex;flex-direction:column;gap:1.25rem}.login-error{background:#ff3b301a;border:1px solid var(--color-danger);border-radius:var(--radius-md);padding:.75rem 1rem;color:var(--color-danger);font-size:.875rem;text-align:center}.remember-me{margin-bottom:0}.checkbox-label{display:flex;align-items:center;gap:.5rem;color:var(--color-text-secondary);font-size:.875rem;cursor:pointer}.checkbox-label:hover{color:var(--color-text-primary)}.login-btn{width:100%;padding:.75rem;font-size:1rem;font-weight:600;margin-top:.5rem}.login-btn:disabled{opacity:.7;cursor:not-allowed}.login-footer{text-align:center;margin-top:2rem;padding-top:1.5rem;border-top:1px solid var(--color-border)}.login-footer p{color:var(--color-text-muted);font-size:.75rem}:root{--color-bg-primary: #ffffff;--color-bg-secondary: #f5f5f7;--color-bg-tertiary: #e8e8ed;--color-bg-hover: #e1e1e6;--color-text-primary: #1d1d1f;--color-text-secondary: #6e6e73;--color-text-muted: #86868b;--color-accent: #0071e3;--color-accent-hover: #0066cc;--color-success: #34c759;--color-warning: #ff9500;--color-danger: #ff3b30;--color-border: #d2d2d7;--gradient-primary: linear-gradient(135deg, #667eea 0%, #764ba2 100%);--gradient-accent: linear-gradient(180deg, #0077ed 0%, #0071e3 100%);--shadow-sm: 0 1px 3px rgba(0, 0, 0, .06);--shadow-md: 0 4px 12px rgba(0, 0, 0, .08);--shadow-lg: 0 10px 40px rgba(0, 0, 0, .12);--radius-sm: 6px;--radius-md: 10px;--radius-lg: 14px;--transition-fast: .15s ease;--transition-normal: .25s ease}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-size:16px}body{font-family:-apple-system,BlinkMacSystemFont,SF Pro Text,Segoe UI,Roboto,sans-serif;background:var(--color-bg-secondary);color:var(--color-text-primary);line-height:1.6;min-height:100vh;-webkit-font-smoothing:antialiased}.app-container{display:flex;min-height:100vh}.sidebar{width:240px;background:linear-gradient(180deg,#f5f5f7,#ececf0);border-right:1px solid var(--color-border);padding:1.25rem;display:flex;flex-direction:column;position:fixed;height:100vh;left:0;top:0}.sidebar-logo{font-size:1.25rem;font-weight:600;color:var(--color-text-primary);margin-bottom:1.75rem;padding:.5rem .75rem}.sidebar-nav{display:flex;flex-direction:column;gap:.25rem;flex:1}.nav-item{display:flex;align-items:center;gap:.625rem;padding:.625rem .75rem;border-radius:var(--radius-sm);color:var(--color-text-secondary);text-decoration:none;transition:all var(--transition-fast);font-weight:500;font-size:.9rem}.nav-item:hover{background:#0000000a;color:var(--color-text-primary)}.nav-item.active{background:var(--color-accent);color:#fff}.nav-icon{width:18px;height:18px;font-size:1rem}.main-content{flex:1;margin-left:240px;padding:2rem;background:var(--color-bg-primary);min-height:100vh}.page-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.75rem}.page-title{font-size:1.5rem;font-weight:600;color:var(--color-text-primary);letter-spacing:-.02em}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.375rem;padding:.5rem 1rem;border-radius:var(--radius-md);font-weight:500;font-size:.875rem;border:none;cursor:pointer;transition:all var(--transition-fast)}.btn-primary{background:var(--color-accent);color:#fff}.btn-primary:hover{background:var(--color-accent-hover)}.btn-secondary{background:var(--color-bg-tertiary);color:var(--color-text-primary);border:1px solid var(--color-border)}.btn-secondary:hover{background:var(--color-bg-hover)}.btn-danger{background:var(--color-danger);color:#fff}.btn-danger:hover{opacity:.9}.btn-success{background:var(--color-success);color:#fff}.btn-success:hover{opacity:.9}.btn-success:disabled{opacity:.7;cursor:default}.btn-sm{padding:.375rem .75rem;font-size:.8rem}.btn-icon{padding:.375rem;min-width:32px}.card{background:var(--color-bg-primary);border-radius:var(--radius-lg);border:1px solid var(--color-border);padding:1.25rem;margin-bottom:1.25rem;box-shadow:var(--shadow-sm)}.card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.25rem}.card-title{font-size:1rem;font-weight:600;color:var(--color-text-primary)}.table-container{overflow-x:auto}.table{width:100%;border-collapse:collapse}.table th,.table td{padding:.875rem 1rem;text-align:left;border-bottom:1px solid var(--color-border)}.table th{color:var(--color-text-secondary);font-weight:500;font-size:.75rem;text-transform:uppercase;letter-spacing:.05em;background:var(--color-bg-secondary)}.table th:first-child{border-radius:var(--radius-sm) 0 0 0}.table th:last-child{border-radius:0 var(--radius-sm) 0 0}.table tr:hover td{background:#00000005}.table td{color:var(--color-text-primary);font-size:.9rem}.table tr.row-expired td{background:#ff3b3014}.table tr.row-expired:hover td{background:#ff3b301f}.table tr.row-completed td{opacity:.4}.table tr.row-completed:hover td{opacity:.55}.status-tag.status-completed{background:#8e8e9326;color:#8e8e93}.form-group{margin-bottom:1rem}.form-label{display:block;margin-bottom:.375rem;color:var(--color-text-secondary);font-weight:500;font-size:.85rem}.form-input,.form-select{width:100%;padding:.625rem .875rem;background:var(--color-bg-primary);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text-primary);font-size:.9rem;transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}.form-input:focus,.form-select:focus{outline:none;border-color:var(--color-accent);box-shadow:0 0 0 3px #0071e326}.form-input::placeholder{color:var(--color-text-muted)}.modal-overlay{position:fixed;inset:0;background:#0006;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;z-index:1000;animation:fadeIn .2s ease}.modal-content{background:var(--color-bg-primary);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);padding:1.5rem;width:100%;max-width:480px;max-height:90vh;overflow-y:auto;animation:slideUp .3s ease}.modal-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.25rem}.modal-title{font-size:1.125rem;font-weight:600;color:var(--color-text-primary)}.modal-close{background:none;border:none;color:var(--color-text-muted);cursor:pointer;font-size:1.25rem;line-height:1;padding:.25rem;border-radius:var(--radius-sm)}.modal-close:hover{background:var(--color-bg-tertiary);color:var(--color-text-primary)}.modal-footer{display:flex;gap:.75rem;justify-content:flex-end;margin-top:1.5rem}.status-tag{display:inline-flex;align-items:center;padding:.2rem .625rem;border-radius:999px;font-size:.75rem;font-weight:500}.status-normal,.status-active{background:#34c7591f;color:#248a3d}.status-offline,.status-suspended{background:#ff95001f;color:#c93400}.status-expired{background:#ff3b301f;color:#d70015}.search-box{position:relative;max-width:320px}.search-input{width:100%;padding:.5rem .875rem .5rem 2.25rem;background:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text-primary);font-size:.875rem}.search-icon{position:absolute;left:.75rem;top:50%;transform:translateY(-50%);color:var(--color-text-muted);font-size:.875rem}.checkbox{width:16px;height:16px;cursor:pointer;accent-color:var(--color-accent)}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.empty-state{text-align:center;padding:3rem;color:var(--color-text-muted)}.empty-state-icon{font-size:2.5rem;margin-bottom:.75rem}.empty-state-text{font-size:.95rem}.loading{display:flex;justify-content:center;align-items:center;padding:3rem}.loading-spinner{width:32px;height:32px;border:3px solid var(--color-border);border-top-color:var(--color-accent);border-radius:50%;animation:spin .7s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.toolbar{display:flex;gap:.75rem;margin-bottom:1.25rem;flex-wrap:wrap;align-items:center}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:1rem;margin-bottom:1.5rem}.stat-card{background:var(--color-bg-primary);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:1rem 1.25rem;box-shadow:var(--shadow-sm)}.stat-value{font-size:1.75rem;font-weight:600;color:var(--color-accent);letter-spacing:-.02em}.stat-label{color:var(--color-text-secondary);font-size:.8rem;margin-top:.125rem}.action-btns{display:flex;gap:.5rem}.loading-screen{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;background:var(--color-bg-secondary);gap:1rem}.loading-screen p{color:var(--color-text-secondary);font-size:.9rem}.product-seats{display:flex;flex-direction:column;gap:.375rem}.seat-item{display:flex;align-items:center;gap:.5rem;font-size:.85rem}.seat-item .product-name{color:var(--color-text-secondary);min-width:80px}.seat-item .seat-count{font-weight:500}.seat-item .used{color:var(--color-success)}.seat-item .used.full{color:var(--color-danger)}.seat-item .separator{color:var(--color-text-tertiary);margin:0 2px}.seat-item .total{color:var(--color-text-secondary)}.product-config-list{display:flex;flex-direction:column;gap:.75rem}.product-config-item{display:flex;align-items:center;gap:.75rem;padding:.75rem;background:var(--color-bg-secondary);border-radius:var(--radius-md)}.product-config-item .form-select{flex:1}.modal-lg{max-width:700px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}@media(max-width:640px){.form-row{grid-template-columns:1fr}}.text-muted{color:var(--color-text-tertiary)}.payment-progress{display:inline-block}.progress-bar{position:relative;min-width:70px;height:22px;background:var(--color-bg-tertiary);border-radius:11px;overflow:hidden}.progress-bar.complete{background:#34c75926}.progress-fill{position:absolute;left:0;top:0;height:100%;background:var(--color-accent);border-radius:11px;transition:width .3s ease}.progress-bar.complete .progress-fill{background:var(--color-success)}.progress-text{position:relative;z-index:1;display:flex;align-items:center;justify-content:center;height:100%;font-size:.75rem;font-weight:500;color:var(--color-text-primary);padding:0 .75rem}.stats-grid-4{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;margin-bottom:1.5rem}@media(max-width:768px){.stats-grid-4{grid-template-columns:repeat(2,1fr)}}.custom-price{color:var(--color-success)}.price-tag{display:inline-block;margin-left:.375rem;padding:.125rem .375rem;font-size:.7rem;background:var(--color-success);color:#fff;border-radius:var(--radius-sm)}.payment-status{display:inline-flex;align-items:center;justify-content:center;padding:.375rem .75rem;font-size:.8rem;font-weight:500;border-radius:var(--radius-md);min-width:68px}.payment-status.paid{background:#10b98126;color:var(--color-success)}.auth-page{height:calc(100vh - 4rem);display:flex;flex-direction:column}.auth-layout{display:flex;gap:1.5rem;flex:1;min-height:0}.console-sidebar{width:220px;flex-shrink:0;background:var(--color-bg-primary);border:1px solid var(--color-border);border-radius:var(--radius-lg);display:flex;flex-direction:column;overflow:hidden}.sidebar-header{padding:.875rem 1rem;border-bottom:1px solid var(--color-border);background:var(--color-bg-secondary)}.sidebar-title{font-size:.8rem;font-weight:500;color:var(--color-text-secondary)}.console-list{flex:1;overflow-y:auto;padding:.5rem}.console-item{display:flex;align-items:center;justify-content:space-between;padding:.625rem .75rem;margin-bottom:.25rem;border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-fast)}.console-item:hover{background:var(--color-bg-tertiary)}.console-item.active{background:var(--color-accent);color:#fff}.console-name{font-size:.875rem;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.console-count{font-size:.75rem;padding:.125rem .5rem;background:#0000000f;border-radius:999px;flex-shrink:0}.console-item.active .console-count{background:#fff3;color:#fff}.auth-content{flex:1;min-width:0;display:flex;flex-direction:column;gap:1rem}.auth-toolbar{display:flex;gap:.75rem}.auth-toolbar .search-box{max-width:100%}.auth-toolbar .search-input{background:var(--color-bg-primary)}.btn-icon-only{background:none;border:none;cursor:pointer;padding:.25rem;font-size:1rem;opacity:.6;transition:opacity var(--transition-fast)}.btn-icon-only:hover{opacity:1}@media(max-width:768px){.auth-layout{flex-direction:column}.console-sidebar{width:100%;max-height:200px}}.remaining-days{font-weight:500;color:var(--color-success)}.remaining-days.warning{color:var(--color-warning)}.remaining-days.expired{color:var(--color-danger)}.product-section{margin-bottom:2rem}.section-title{display:flex;align-items:center;gap:.5rem;font-size:1.125rem;font-weight:600;color:var(--color-text-primary);margin-bottom:1rem}.section-icon{font-size:1.25rem}.section-count{font-size:.8rem;font-weight:500;color:var(--color-text-secondary);background:var(--color-bg-tertiary);padding:.125rem .5rem;border-radius:999px;margin-left:.25rem}.product-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:1rem}.product-card{background:var(--color-bg-primary);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:1rem;transition:all var(--transition-fast);box-shadow:var(--shadow-sm)}.product-card:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.product-card-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:.75rem}.product-icon{font-size:2rem}.product-actions{display:flex;gap:.25rem;opacity:0;transition:opacity var(--transition-fast)}.product-card:hover .product-actions{opacity:1}.product-card-body{display:flex;flex-direction:column;gap:.5rem}.product-name{font-size:1rem;font-weight:600;color:var(--color-text-primary);margin:0}.product-category{display:inline-block;font-size:.75rem;font-weight:500;padding:.25rem .5rem;border-radius:var(--radius-sm);width:fit-content}.product-category.single{background:#0071e31a;color:var(--color-accent)}.product-category.collection{background:#34c7591a;color:var(--color-success)}.dealer-section{margin-bottom:2rem}.dealer-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:1rem}.dealer-card{background:var(--color-bg-primary);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:1rem;transition:all var(--transition-fast);box-shadow:var(--shadow-sm);text-align:center}.dealer-card:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.dealer-card-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:.5rem}.dealer-avatar{font-size:2.5rem;display:block;margin:0 auto .5rem}.dealer-card .dealer-actions{position:absolute;top:.5rem;right:.5rem;display:flex;gap:.25rem;opacity:0;transition:opacity var(--transition-fast)}.dealer-card{position:relative}.dealer-card:hover .dealer-actions{opacity:1}.dealer-card-body{display:flex;flex-direction:column;align-items:center;gap:.5rem}.dealer-name{font-size:1rem;font-weight:600;color:var(--color-text-primary);margin:0}.dealer-level{display:inline-block;font-size:.75rem;font-weight:500;padding:.25rem .625rem;border-radius:var(--radius-sm);background:var(--color-bg-tertiary);color:var(--color-text-secondary)}.dealer-level.level-domestic_senior{background:#ff95001f;color:#c93400}.dealer-level.level-domestic_intermediate{background:#34c7591f;color:#248a3d}.dealer-level.level-domestic_junior{background:#0071e31f;color:var(--color-accent)}.dealer-level.level-foreign{background:#5856d61f;color:#5856d6}.bill-dealer-list{display:flex;flex-direction:column;gap:.75rem}.bill-dealer-card{background:var(--color-bg-primary);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:1rem 1.25rem;box-shadow:var(--shadow-sm)}.bill-dealer-row{display:flex;align-items:center;gap:2rem}.bill-dealer-info{display:flex;align-items:center;gap:.75rem;min-width:160px}.bill-dealer-avatar{font-size:1.5rem}.bill-dealer-name{font-size:1rem;font-weight:600;color:var(--color-text-primary);margin:0}.bill-dealer-level{font-size:.7rem;color:var(--color-text-secondary)}.bill-stat-item{text-align:center;min-width:100px}.bill-stat-value{font-size:1rem;font-weight:700;color:var(--color-text-primary)}.bill-stat-label{font-size:.7rem;color:var(--color-text-secondary)}.bill-dealer-actions{display:flex;gap:.5rem;margin-left:auto}.bill-past-list{margin-top:1rem;padding-top:1rem;border-top:1px solid var(--color-border)}.bill-past-title{font-size:.875rem;font-weight:600;color:var(--color-text-secondary);margin:0 0 .75rem}.bill-past-item{display:flex;align-items:center;gap:1rem;padding:.5rem 0;border-bottom:1px solid var(--color-border)}.bill-past-item:last-child{border-bottom:none}.bill-past-period{font-weight:500;color:var(--color-text-primary);min-width:80px}.bill-past-amount{flex:1;color:var(--color-text-secondary)}@media(max-width:768px){.bill-dealer-stats{grid-template-columns:repeat(2,1fr)}}.confirm-dialog-overlay{position:fixed;inset:0;background:#00000080;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:2000;animation:fadeIn .15s ease}.confirm-dialog{background:var(--color-bg-primary);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);padding:2rem;width:100%;max-width:380px;text-align:center;animation:scaleIn .2s ease}@keyframes scaleIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.confirm-dialog-icon{font-size:2.5rem;margin-bottom:1rem}.confirm-dialog-title{font-size:1.125rem;font-weight:600;color:var(--color-text-primary);margin-bottom:.5rem}.confirm-dialog-message{font-size:.9rem;color:var(--color-text-secondary);margin-bottom:1.5rem;line-height:1.5}.confirm-dialog-actions{display:flex;gap:.75rem;justify-content:center}.confirm-dialog-actions .btn{min-width:100px}.btn-warning{background:var(--color-warning);color:#fff}.btn-warning:hover{opacity:.9}
