:root{--primary-color:#6366f1;--primary-hover:#4f46e5;--primary-gradient:linear-gradient(135deg,#667eea,#764ba2);--secondary-color:#f59e0b;--secondary-hover:#d97706;--success-color:#10b981;--success-hover:#059669;--danger-color:#ef4444;--danger-hover:#dc2626;--warning-color:#f59e0b;--warning-hover:#d97706;--info-color:#06b6d4;--info-hover:#0891b2;--purple-color:#8b5cf6;--purple-hover:#7c3aed;--pink-color:#ec4899;--pink-hover:#db2777;--indigo-color:#6366f1;--indigo-hover:#4f46e5;--teal-color:#14b8a6;--teal-hover:#0f766e;--orange-color:#fb923c;--orange-hover:#ea580c;--cyan-color:#06b6d4;--cyan-hover:#0891b2;--lime-color:#84cc16;--lime-hover:#65a30d;--bg-color:#f8fafc;--bg-white:#fff;--bg-dark:#0f172a;--bg-gradient:linear-gradient(135deg,#f093fb,#f5576c);--bg-card-gradient:linear-gradient(135deg,#fff,#f8fafc);--text-primary:#1e293b;--text-secondary:#64748b;--text-light:#94a3b8;--text-white:#fff;--text-accent:#6366f1;--border-color:#e2e8f0;--border-light:#f1f5f9;--border-radius:12px;--border-radius-lg:16px;--border-radius-xl:24px;--shadow-sm:0 1px 2px 0 #0000000d;--shadow:0 1px 3px 0 #0000001a,0 1px 2px 0 #0000000f;--shadow-md:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f;--shadow-lg:0 10px 15px -3px #0000001a,0 4px 6px -2px #0000000d;--shadow-xl:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a;--shadow-glow:0 0 20px #6366f14d;--header-height:64px;--transition:all 0.3s cubic-bezier(0.4,0,0.2,1);--transition-fast:all 0.15s ease;--transition-bounce:all 0.4s cubic-bezier(0.68,-0.55,0.265,1.55)}*{box-sizing:border-box;margin:0;padding:0}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#f8fafc;background:var(--bg-color);color:#1e293b;color:var(--text-primary);font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;line-height:1.6}a{color:inherit;text-decoration:none}button{cursor:pointer}button,input,select,textarea{font-family:inherit}.loading-screen{align-items:center;background:linear-gradient(135deg,#f8fafc,#fff);background:linear-gradient(135deg,var(--bg-color) 0,var(--bg-white) 100%);display:flex;flex-direction:column;height:100vh;justify-content:center;overflow:hidden;position:relative}.loading-screen:before{animation:pulse 3s ease-in-out infinite;background:radial-gradient(circle at 30% 40%,#6366f11a 0,#0000 50%),radial-gradient(circle at 70% 60%,#8b5cf61a 0,#0000 50%);bottom:0;content:"";left:0;position:absolute;right:0;top:0}@keyframes pulse{0%,to{opacity:.5}50%{opacity:1}}.spinner{animation:spin 1s linear infinite;border:4px solid #e2e8f0;border:4px solid var(--border-color);border-radius:50%;border-right:4px solid #6366f1;border-right:4px solid var(--primary-color);border-top:4px solid #0000;box-shadow:0 0 20px #6366f14d;box-shadow:var(--shadow-glow);height:60px;position:relative;width:60px;z-index:1}.spinner:after{animation:spin 1.5s linear infinite reverse;border:4px solid #0000;border-radius:50%;border-top-color:#f59e0b;border-top:4px solid var(--secondary-color);bottom:-4px;content:"";left:-4px;position:absolute;right:-4px;top:-4px}@keyframes shine{0%{transform:translateX(-100%)}to{transform:translateX(100%)}}.loading-screen p{color:#1e293b;color:var(--text-primary);font-size:16px;font-weight:600;margin-top:24px;position:relative;text-align:center;z-index:1}.auth-container{align-items:center;background:linear-gradient(135deg,#f093fb,#f5576c);background:var(--bg-gradient);display:flex;justify-content:center;min-height:100vh;overflow:hidden;padding:20px;position:relative}.auth-container:before{animation:float 20s ease-in-out infinite;background:radial-gradient(circle at 20% 80%,#7877c64d 0,#0000 50%),radial-gradient(circle at 80% 20%,#ffb1994d 0,#0000 50%),radial-gradient(circle at 40% 40%,#7877c633 0,#0000 50%);bottom:0;content:"";left:0;position:absolute;right:0;top:0}.auth-box{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:#fffffff2;border:1px solid #fff3;border-radius:24px;border-radius:var(--border-radius-xl);box-shadow:0 25px 50px #00000026;max-width:450px;padding:48px;position:relative;width:100%;z-index:1}.auth-logo{margin-bottom:40px;text-align:center}.auth-logo h1{align-items:center;color:#1e293b;color:var(--text-primary);display:flex;font-size:32px;font-weight:800;gap:12px;justify-content:center;margin-bottom:8px}.auth-logo h1 svg{color:#6366f1;color:var(--primary-color);filter:drop-shadow(0 0 20px rgba(99,102,241,.3));filter:drop-shadow(var(--shadow-glow))}.auth-logo p{color:#64748b;color:var(--text-secondary);font-size:16px;font-weight:500}.auth-form .form-group{margin-bottom:24px}.auth-form label{align-items:center;color:#1e293b;color:var(--text-primary);display:flex;font-size:14px;font-weight:600;margin-bottom:8px}.auth-form label svg{color:#6366f1;color:var(--primary-color);margin-right:8px}.auth-form input{background:#fff;background:var(--bg-white);border:2px solid #e2e8f0;border:2px solid var(--border-color);border-radius:16px;border-radius:var(--border-radius-lg);color:#1e293b;color:var(--text-primary);font-size:16px;padding:16px 20px;width:100%}.auth-form input:focus{border-color:#6366f1;border-color:var(--primary-color);box-shadow:0 0 0 4px #6366f11a;outline:none}.auth-form input::placeholder{color:#94a3b8;color:var(--text-light)}.auth-form .btn-primary{background:linear-gradient(135deg,#667eea,#764ba2);background:var(--primary-gradient);border:none;border-radius:16px;border-radius:var(--border-radius-lg);color:#fff;color:var(--text-white);font-size:16px;font-weight:700;padding:16px;width:100%}.auth-form .btn-primary:hover{background:#4f46e5;background:var(--primary-hover)}.auth-form .btn-primary:disabled{cursor:not-allowed;opacity:.7;transform:none}.auth-footer{color:#64748b;color:var(--text-secondary);margin-top:24px;text-align:center}.auth-footer a{color:#6366f1;color:var(--primary-color);font-weight:500}.auth-footer a:hover{text-decoration:underline}.layout{display:flex;flex-direction:column;min-height:100vh}.nav-item svg{font-size:20px}.main-content{flex:1 1;min-height:calc(100vh - 64px);min-height:calc(100vh - var(--header-height))}.header{align-items:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fff;background:var(--bg-white);background:#fffffff2;border-bottom:1px solid #e2e8f0;border-bottom:1px solid var(--border-color);display:flex;height:64px;height:var(--header-height);justify-content:space-between;padding:0 24px;position:-webkit-sticky;position:sticky;top:0;z-index:50}.header-title h1{font-size:24px;font-weight:600}.header-left{gap:32px}.header-left,.logo{align-items:center;display:flex}.logo{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#667eea,#764ba2);background:var(--primary-gradient);-webkit-background-clip:text;background-clip:text;color:#1e293b;color:var(--text-primary);font-size:20px;font-weight:700;gap:8px}.logo svg{color:#6366f1;color:var(--primary-color);filter:drop-shadow(0 0 20px rgba(99,102,241,.3));filter:drop-shadow(var(--shadow-glow));font-size:28px}.header-nav{align-items:center;display:flex;gap:8px}.header-nav .nav-item{align-items:center;border-radius:16px;border-radius:var(--border-radius-lg);color:#64748b;color:var(--text-secondary);display:flex;font-weight:600;gap:6px;padding:10px 18px;white-space:nowrap}.header-nav .nav-item:hover{background:#f8fafc;background:var(--bg-color);color:#1e293b;color:var(--text-primary)}.header-nav .nav-item.active{background:linear-gradient(135deg,#667eea,#764ba2);background:var(--primary-gradient);color:#fff;color:var(--text-white)}.header-nav .nav-item svg{font-size:18px}.btn-logout{align-items:center;background:#0000;border:1px solid #e2e8f0;border:1px solid var(--border-color);border-radius:12px;border-radius:var(--border-radius);color:#64748b;color:var(--text-secondary);display:flex;font-weight:500;gap:8px;padding:8px 16px}.btn-logout:hover{background:#ef4444;background:var(--danger-color);border-color:#ef4444;border-color:var(--danger-color);color:#fff;color:var(--text-white)}.user-menu{position:relative}.user-menu-trigger{align-items:center;background:#0000;border:1px solid #e2e8f0;border:1px solid var(--border-color);border-radius:12px;border-radius:var(--border-radius);color:#64748b;color:var(--text-secondary);cursor:pointer;display:flex;font-weight:500;gap:8px;padding:8px 16px}.user-menu-trigger:hover{background:var(--hover-bg);border-color:#6366f1;border-color:var(--primary-color)}.user-menu-dropdown{background:var(--card-bg);border:1px solid #e2e8f0;border:1px solid var(--border-color);border-radius:12px;border-radius:var(--border-radius);box-shadow:0 4px 12px #00000026;margin-top:4px;min-width:180px;position:absolute;right:0;top:100%;z-index:1000}.user-menu-item{align-items:center;background:none;border:none;color:#1e293b;color:var(--text-primary);cursor:pointer;display:flex;gap:8px;padding:12px 16px;text-align:left;width:100%}.user-menu-item:hover{background:var(--hover-bg)}.user-menu-item.logout:hover{background:#ef4444;background:var(--danger-color);color:#fff;color:var(--text-white)}.user-menu-item.chuyen-nam-hoc{color:#ef4444;font-weight:600}.user-menu-item.chuyen-nam-hoc:hover{background:#fef2f2;color:#dc2626}.page-content{padding:8px 24px 24px}.dashboard-stats{grid-gap:24px;display:grid;gap:24px;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));margin-bottom:40px}.stat-card{align-items:center;background:linear-gradient(135deg,#fff,#f8fafc);background:var(--bg-card-gradient);border:1px solid #f1f5f9;border:1px solid var(--border-light);border-radius:24px;border-radius:var(--border-radius-xl);box-shadow:0 1px 3px 0 #0000001a,0 1px 2px 0 #0000000f;box-shadow:var(--shadow);display:flex;gap:20px;overflow:hidden;padding:28px;position:relative}.stat-card:before{background:linear-gradient(135deg,#667eea,#764ba2);background:var(--primary-gradient);border-radius:24px 24px 0 0;border-radius:var(--border-radius-xl) var(--border-radius-xl) 0 0;content:"";height:4px;left:0;position:absolute;right:0;top:0}.stat-icon{align-items:center;border-radius:16px;border-radius:var(--border-radius-lg);display:flex;font-size:28px;height:64px;justify-content:center;position:relative;width:64px;z-index:1}.stat-icon.blue{background:linear-gradient(135deg,#3b82f6,#1d4ed8);box-shadow:0 4px 15px #3b82f64d}.stat-icon.blue,.stat-icon.green{color:#fff;color:var(--text-white)}.stat-icon.green{background:linear-gradient(135deg,#10b981,#059669);box-shadow:0 4px 15px #10b9814d}.stat-icon.purple{background:linear-gradient(135deg,#8b5cf6,#7c3aed);box-shadow:0 4px 15px #8b5cf64d;color:#fff;color:var(--text-white)}.stat-icon.orange{background:linear-gradient(135deg,#fb923c,#ea580c);box-shadow:0 4px 15px #fb923c4d}.stat-icon.orange,.stat-icon.red{color:#fff;color:var(--text-white)}.stat-icon.red{background:linear-gradient(135deg,#ef4444,#dc2626);box-shadow:0 4px 15px #ef44444d}.stat-info h3{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#1e293b,#64748b);background:linear-gradient(135deg,var(--text-primary) 0,var(--text-secondary) 100%);-webkit-background-clip:text;background-clip:text;color:#1e293b;color:var(--text-primary);font-size:32px;font-weight:800;margin:0}.stat-info p{color:#64748b;color:var(--text-secondary);font-size:16px;font-weight:600;letter-spacing:.5px;margin:4px 0 0;text-transform:uppercase}.card{background:linear-gradient(135deg,#fff,#f8fafc);background:var(--bg-card-gradient);border:1px solid #f1f5f9;border:1px solid var(--border-light);border-radius:24px;border-radius:var(--border-radius-xl);box-shadow:0 1px 3px 0 #0000001a,0 1px 2px 0 #0000000f;box-shadow:var(--shadow);overflow:hidden;position:relative}.card-header{background:linear-gradient(135deg,#fffc,#f8fafccc);border-bottom:1px solid #e2e8f0;border-bottom:1px solid var(--border-color);justify-content:space-between;padding:24px 28px}.card-header,.card-header h2{align-items:center;display:flex}.card-header h2{color:#1e293b;color:var(--text-primary);font-size:20px;font-weight:700;gap:8px;margin:0}.card-header h2:before{background:linear-gradient(135deg,#667eea,#764ba2);background:var(--primary-gradient);border-radius:2px;content:"";height:20px;width:4px}.card-body{padding:28px}.btn{border-radius:16px;border-radius:var(--border-radius-lg);font-weight:600;justify-content:center;letter-spacing:.5px;padding:12px 24px;text-transform:uppercase}.btn-primary{background:linear-gradient(135deg,#667eea,#764ba2);background:var(--primary-gradient)}.btn-secondary{background:linear-gradient(135deg,#f8fafc,#f1f5f9);background:linear-gradient(135deg,var(--bg-color) 0,var(--border-light) 100%);color:#1e293b;color:var(--text-primary)}.btn-secondary:hover{background:linear-gradient(135deg,#f1f5f9,#f8fafc);background:linear-gradient(135deg,var(--border-light) 0,var(--bg-color) 100%)}.btn-success{background:linear-gradient(135deg,#10b981,#059669);background:linear-gradient(135deg,var(--success-color) 0,var(--success-hover) 100%);color:#fff;color:var(--text-white)}.btn-success:hover{background:#059669;background:var(--success-hover)}.btn-danger{background:linear-gradient(135deg,#ef4444,#dc2626);background:linear-gradient(135deg,var(--danger-color) 0,var(--danger-hover) 100%)}.btn-danger:hover{background:var(--danger-hover)}.btn-sm{font-size:13px}.table-container{overflow-x:auto}.table{background:#fff;background:var(--bg-white);border-collapse:collapse;border-radius:16px;border-radius:var(--border-radius-lg);box-shadow:0 1px 3px 0 #0000001a,0 1px 2px 0 #0000000f;box-shadow:var(--shadow);overflow:hidden;width:100%}.table td,.table th{border-bottom:1px solid #f1f5f9;border-bottom:1px solid var(--border-light);padding:16px 20px;text-align:left}.table th{background:linear-gradient(135deg,#f8fafc,#f1f5f9);background:linear-gradient(135deg,var(--bg-color) 0,var(--border-light) 100%);color:#1e293b;color:var(--text-primary);font-size:14px;font-weight:700;letter-spacing:.8px;position:-webkit-sticky;position:sticky;text-transform:uppercase;top:0;z-index:10}.table tbody tr:hover{background:linear-gradient(135deg,#6366f105,#8b5cf605)}.table tbody tr:last-child td{border-bottom:none}.table-actions{display:flex;gap:6px}.form-group{margin-bottom:24px}.form-group label{align-items:center;display:block;display:flex;font-size:14px;font-weight:600;gap:6px;margin-bottom:8px}.form-control,.form-group label{color:#1e293b;color:var(--text-primary)}.form-control{background:#fff;background:var(--bg-white);border:2px solid #e2e8f0;border:2px solid var(--border-color);border-radius:16px;border-radius:var(--border-radius-lg);font-size:15px;padding:14px 18px;width:100%}.form-control:focus{border-color:#6366f1;border-color:var(--primary-color);box-shadow:0 0 0 4px #6366f11a;outline:none}.form-control::placeholder{color:#94a3b8;color:var(--text-light)}.form-row{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(2,1fr)}.modal-overlay{align-items:center;background:#00000080;bottom:0;display:flex;justify-content:center;left:0;padding:20px;position:fixed;right:0;top:0;z-index:1000}.modal{background:#fff;background:var(--bg-white);border-radius:16px;border-radius:var(--border-radius-lg);box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -2px #0000000d;box-shadow:var(--shadow-lg);max-height:90vh;max-width:500px;overflow-y:auto;width:100%}.modal-header{align-items:center;border-bottom:1px solid #e2e8f0;border-bottom:1px solid var(--border-color);display:flex;justify-content:space-between;padding:20px 24px}.modal-header h3{font-size:18px;font-weight:600}.modal-close{align-items:center;background:#d1d5db;border:none;border-radius:10px;color:#475467;cursor:pointer;display:flex;font-size:16px;font-weight:600;height:36px;justify-content:center;width:36px}.modal-close:hover{background:#b7c0cc}.modal-body{padding:24px}.modal-footer{border-top:1px solid #e2e8f0;border-top:1px solid var(--border-color);display:flex;gap:12px;justify-content:flex-end;padding:16px 24px}.tkb-container{overflow-x:auto}.tkb-filter{display:flex;flex-wrap:wrap;gap:16px;margin-bottom:20px}.tkb-filter select{border:1px solid #e2e8f0;border:1px solid var(--border-color);font-size:14px;min-width:200px;padding:10px 14px}.tkb-filter select,.tkb-grid{border-radius:12px;border-radius:var(--border-radius)}.tkb-grid{grid-gap:2px;background:#e2e8f0;background:var(--border-color);display:grid;gap:2px;grid-template-columns:80px repeat(6,1fr);min-width:800px;overflow:hidden}.tkb-cell{background:#fff;background:var(--bg-white);font-size:13px;min-height:80px;padding:12px}.tkb-header{background:#6366f1;background:var(--primary-color);color:#fff;color:var(--text-white);font-weight:600;padding:14px 12px;text-align:center}.tkb-tiet{align-items:center;background:#f8fafc;background:var(--bg-color);display:flex;font-weight:600;justify-content:center}.tkb-slot{cursor:pointer;position:relative}.tkb-slot:hover{background:#f8fafc;background:var(--bg-color)}.tkb-slot.filled{background:linear-gradient(135deg,#e0e7ff,#c7d2fe);border-left:3px solid #6366f1;border-left:3px solid var(--primary-color)}.tkb-slot .mon-name{color:#6366f1;color:var(--primary-color);font-weight:600;margin-bottom:4px}.tkb-slot .gv-name{color:#64748b;color:var(--text-secondary);font-size:12px}.tkb-slot .phong{color:#94a3b8;color:var(--text-light);font-size:11px;margin-top:4px}.empty-state{background:linear-gradient(135deg,#f8fafc,#f1f5f9);background:linear-gradient(135deg,var(--bg-color) 0,var(--border-light) 100%);border:2px dashed #e2e8f0;border:2px dashed var(--border-color);border-radius:24px;border-radius:var(--border-radius-xl);overflow:hidden;padding:80px 40px;position:relative}.empty-state:before{animation:float 6s ease-in-out infinite;background:radial-gradient(circle,#6366f108 0,#0000 70%);content:"";height:200%;left:-50%;position:absolute;top:-50%;width:200%}@keyframes float{0%,to{transform:translate(-50%,-50%) rotate(0deg)}50%{transform:translate(-50%,-50%) rotate(180deg)}}.empty-state svg{animation:bounce 2s ease-in-out infinite;color:#6366f1;color:var(--primary-color);filter:drop-shadow(0 0 20px rgba(99,102,241,.3));filter:drop-shadow(var(--shadow-glow));font-size:64px;margin-bottom:20px}@keyframes bounce{0%,20%,50%,80%,to{transform:translateY(0)}40%{transform:translateY(-10px)}60%{transform:translateY(-5px)}}.empty-state h3{font-size:24px;font-weight:700;margin-bottom:12px}.empty-state p{color:#64748b;color:var(--text-secondary);font-size:16px;margin:0 auto;max-width:400px}.alert{align-items:center;border-radius:12px;border-radius:var(--border-radius);display:flex;gap:12px;margin-bottom:20px;padding:12px 16px}.alert-error{background:#ef44441a;border:1px solid #ef444433;color:#ef4444;color:var(--danger-color)}.alert-success{background:#10b9811a;border:1px solid #10b98133;color:#10b981;color:var(--success-color)}.badge{border-radius:20px;display:inline-block;font-size:12px;font-weight:500;padding:4px 10px}.badge-primary{background:#4f46e51a;color:#6366f1;color:var(--primary-color)}.badge-success{background:#10b9811a;color:#10b981;color:var(--success-color)}@media (max-width:768px){.header-left{gap:16px}.header-nav{gap:4px}.header-nav .nav-item{font-size:14px;padding:6px 12px}.dashboard-stats,.form-row{grid-template-columns:1fr}}.order-controls{align-items:center;gap:2px}.order-controls .btn{font-size:12px;height:20px;min-width:24px;padding:2px 4px}.order-controls .btn:disabled{cursor:not-allowed;opacity:.3}.edit-mode-group{background:#f8fafc;background:var(--bg-color);border-radius:12px;border-radius:var(--border-radius);display:flex;gap:4px;padding:4px}.mode-radio{align-items:center;border-radius:6px;color:#64748b;color:var(--text-secondary);cursor:pointer;display:flex;font-size:13px;font-weight:500;gap:6px;padding:8px 12px;white-space:nowrap}.mode-radio.disabled{color:#94a3b8;color:var(--text-light);cursor:not-allowed;opacity:.6}.mode-radio.disabled svg{color:inherit}.mode-radio:hover{background:#4f46e51a;color:#6366f1;color:var(--primary-color)}.mode-radio.disabled:hover{background:#0000;color:#94a3b8;color:var(--text-light)}.mode-radio.active{background:#6366f1;background:var(--primary-color);color:#fff;color:var(--text-white)}.mode-radio input[type=radio]{display:none}.mode-radio svg{font-size:14px}.tkb-cell.fixed,.tkb-cell.has-tkb.fixed{background:linear-gradient(135deg,#fef2f2,#fee2e2);border-left:3px solid #dc2626}.tkb-cell.fixed .mon-name,.tkb-cell.fixed .tkb-content{color:#dc2626!important}.tkb-cell.fixed-mode{background:#dc26260d;cursor:pointer}.tkb-cell.fixed-mode:hover{background:#dc26261a}.tkb-content.fixed{position:relative}.tkb-content .fixed-icon{background:#fff;border-radius:50%;color:#dc2626;font-size:10px;padding:2px;position:absolute;right:-2px;top:-2px}.tkb-cell.adjust-mode{cursor:context-menu}.tkb-cell.adjust-target,.tkb-cell.teacher-highlight{outline:2px solid #6366f1;outline:2px solid var(--primary-color);outline-offset:-2px}.khoi-page{margin:0 auto;max-width:1200px;padding:24px}.page-header{align-items:flex-start;display:flex;gap:20px;justify-content:space-between;margin-bottom:32px}.header-content h2{align-items:center;color:#1e293b;color:var(--text-primary);display:flex;font-size:28px;font-weight:700;gap:12px;margin-bottom:8px}.header-content h2 svg{color:#6366f1;color:var(--primary-color)}.header-content p{color:#64748b;color:var(--text-secondary);font-size:16px;margin:0}.header-actions{align-items:center;display:flex;gap:12px}.btn{align-items:center;border:none;border-radius:12px;border-radius:var(--border-radius);cursor:pointer;display:inline-flex;font-size:14px;font-weight:500;gap:8px;padding:10px 16px;text-decoration:none}.btn-primary{background:#6366f1;background:var(--primary-color);color:#fff;color:var(--text-white)}.btn-primary:hover{background:#4f46e5;background:var(--primary-hover)}.btn-secondary{background:#fff;background:var(--bg-white);border:1px solid #e2e8f0;border:1px solid var(--border-color);color:#64748b;color:var(--text-secondary)}.btn-secondary:hover{background:#f8fafc;background:var(--bg-color);color:#1e293b;color:var(--text-primary)}.btn-danger{background:#ef4444;background:var(--danger-color);color:#fff;color:var(--text-white)}.btn-danger:hover{background:#dc2626}.btn-sm{font-size:12px;padding:6px 12px}.btn-icon{height:36px;justify-content:center;padding:8px;width:36px}.data-table{background:#fff;background:var(--bg-white);border:1px solid #e2e8f0;border:1px solid var(--border-color);border-radius:16px;border-radius:var(--border-radius-lg);box-shadow:0 1px 3px 0 #0000001a,0 1px 2px 0 #0000000f;box-shadow:var(--shadow);overflow:hidden;width:100%}.data-table th{background:#f9fafb;border-bottom:2px solid #e2e8f0;border-bottom:2px solid var(--border-color);color:#64748b;color:var(--text-secondary);font-size:13px;font-weight:600;letter-spacing:.5px;padding:16px 20px;text-transform:uppercase}.data-table td{border-bottom:1px solid #e2e8f0;border-bottom:1px solid var(--border-color);padding:16px 20px;vertical-align:middle}.data-table tr:hover{background:#f9fafb}.data-table tr:last-child td{border-bottom:none}.order-controls{display:flex;flex-direction:column;gap:4px}.action-buttons{display:flex;gap:8px}.empty-state{color:#64748b;color:var(--text-secondary);padding:60px 20px;text-align:center}.empty-state svg{color:#94a3b8;color:var(--text-light);font-size:48px;margin-bottom:16px}.empty-state h3{color:#1e293b;color:var(--text-primary);font-size:18px;margin-bottom:8px}.link{color:#6366f1;color:var(--primary-color);font-weight:500;text-decoration:none}.link:hover{text-decoration:underline}.form-actions{border-top:1px solid #e2e8f0;border-top:1px solid var(--border-color);display:flex;gap:12px;justify-content:flex-end;margin-top:24px;padding-top:20px}.zoom-controls{align-items:center;border-left:1px solid #e2e8f0;border-left:1px solid var(--border-color);display:flex;gap:4px;margin-left:16px;padding-left:16px}.panel-header{background:#fff;border-radius:8px 8px 0 0}.panel-header,.toolbar-top-row{border-bottom:1px solid #e5e7eb}.toolbar-top-row{align-items:center;background:#f9fafb;display:flex;gap:0;padding:0 12px}.toolbar-tab-bar{align-items:flex-end;display:flex;flex:1 1;gap:1px;overflow-x:auto;padding-left:8px;scrollbar-width:none}.toolbar-tab-bar::-webkit-scrollbar{display:none}.toolbar-tab{align-items:center;background:#0000;border:1px solid #0000;border-bottom:none;border-radius:6px 6px 0 0;bottom:-1px;color:#6b7280;cursor:pointer;display:inline-flex;font-size:15px;font-weight:500;gap:6px;padding:8px 16px;position:relative;transition:background .15s,color .15s;white-space:nowrap}.toolbar-tab:hover:not(:disabled){background:#fff;border-color:#e5e7eb;color:#4f46e5}.toolbar-tab.active{background:#fff;border-color:#e5e7eb #e5e7eb #fff;color:#4f46e5;font-weight:600;z-index:1}.toolbar-tab:disabled{cursor:not-allowed;opacity:.4}.toolbar-tab svg{font-size:14px}.edit-lock-toggle{align-self:flex-end;flex-shrink:0;margin-bottom:2px}.toolbar-panel{background:#fff;border-top:1px solid #e5e7eb;padding:12px 16px}.toolbar-panel-content{align-items:center;display:flex;flex-wrap:wrap;gap:14px}.panel-section-label{border-right:1px solid #e5e7eb;color:#9ca3af;font-size:11px;font-weight:600;letter-spacing:.5px;padding-right:6px;text-transform:uppercase;white-space:nowrap}.panel-btn-group{align-items:center;display:flex;flex-wrap:wrap;gap:6px}.panel-btn{align-items:center;background:#f3f4f6;border:1px solid #e5e7eb;border-radius:20px;color:#374151;cursor:pointer;display:inline-flex;font-size:13px;font-weight:500;gap:6px;padding:7px 13px;transition:background .15s,color .15s,border-color .15s;white-space:nowrap}.panel-btn:hover:not(:disabled){background:#e0e7ff;border-color:#c7d2fe;color:#4f46e5}.panel-btn.active{background:#4f46e5;border-color:#4f46e5;color:#fff}.panel-btn.active:hover:not(:disabled){background:#4338ca;border-color:#4338ca}.panel-btn.danger{background:#fff1f1;border-color:#fecaca;color:#dc2626}.panel-btn.danger:hover:not(:disabled){background:#fee2e2;border-color:#fca5a5}.panel-btn:disabled{cursor:not-allowed;opacity:.4}.panel-btn svg{font-size:13px}.panel-toggle-btn{align-items:center;background:#f3f4f6;border:1px solid #e5e7eb;border-radius:20px;color:#374151;cursor:pointer;display:inline-flex;font-size:13px;font-weight:500;gap:6px;padding:7px 13px;transition:background .15s,color .15s,border-color .15s;white-space:nowrap}.panel-toggle-btn input[type=checkbox]{display:none}.panel-toggle-btn:hover{background:#e0e7ff;border-color:#c7d2fe;color:#4f46e5}.panel-toggle-btn.active{background:#4f46e5;border-color:#4f46e5;color:#fff}.panel-toggle-btn svg{font-size:13px}.panel-divider{background:#e5e7eb;height:24px;margin:0 2px;width:1px}.panel-select{border:1px solid #d1d5db!important;border-radius:6px!important;font-size:13px!important;height:auto!important;padding:6px 8px!important}.toolbar-status-bar{align-items:center;background:#fffbeb;border-top:1px solid #fde68a;display:flex;flex-wrap:wrap;gap:8px;padding:6px 16px 8px}.status-badge{align-items:center;border-radius:12px;display:inline-flex;font-size:12px;font-weight:500;gap:6px;padding:3px 10px}.status-badge.block{background:#dbeafe;color:#1d4ed8}.status-badge.spread{background:#d1fae5;color:#065f46}.status-badge.fixed{background:#fee2e2;color:#dc2626}.status-badge.fixed-off{background:#fef3c7;color:#92400e}.status-badge.swap{background:#ede9fe;color:#7c3aed}.panel-btn.rei-o-ready{background:#fef9c3;border-color:#fde047;color:#854d0e}.panel-btn.rei-o-ready:hover{background:#fef08a;border-color:#facc15}:root{--toastify-color-light:#fff;--toastify-color-dark:#121212;--toastify-color-info:#3498db;--toastify-color-success:#07bc0c;--toastify-color-warning:#f1c40f;--toastify-color-error:#e74c3c;--toastify-color-transparent:#ffffffb3;--toastify-icon-color-info:var(--toastify-color-info);--toastify-icon-color-success:var(--toastify-color-success);--toastify-icon-color-warning:var(--toastify-color-warning);--toastify-icon-color-error:var(--toastify-color-error);--toastify-toast-width:320px;--toastify-toast-background:#fff;--toastify-toast-min-height:64px;--toastify-toast-max-height:800px;--toastify-font-family:sans-serif;--toastify-z-index:9999;--toastify-text-color-light:#757575;--toastify-text-color-dark:#fff;--toastify-text-color-info:#fff;--toastify-text-color-success:#fff;--toastify-text-color-warning:#fff;--toastify-text-color-error:#fff;--toastify-spinner-color:#616161;--toastify-spinner-color-empty-area:#e0e0e0;--toastify-color-progress-light:linear-gradient(90deg,#4cd964,#5ac8fa,#007aff,#34aadc,#5856d6,#ff2d55);--toastify-color-progress-dark:#bb86fc;--toastify-color-progress-info:var(--toastify-color-info);--toastify-color-progress-success:var(--toastify-color-success);--toastify-color-progress-warning:var(--toastify-color-warning);--toastify-color-progress-error:var(--toastify-color-error)}.Toastify__toast-container{box-sizing:border-box;color:#fff;padding:4px;position:fixed;-webkit-transform:translateZ(9999);-webkit-transform:translateZ(var(--toastify-z-index));width:320px;width:var(--toastify-toast-width);z-index:9999;z-index:var(--toastify-z-index)}.Toastify__toast-container--top-left{left:1em;top:1em}.Toastify__toast-container--top-center{left:50%;top:1em;transform:translateX(-50%)}.Toastify__toast-container--top-right{right:1em;top:1em}.Toastify__toast-container--bottom-left{bottom:1em;left:1em}.Toastify__toast-container--bottom-center{bottom:1em;left:50%;transform:translateX(-50%)}.Toastify__toast-container--bottom-right{bottom:1em;right:1em}@media only screen and (max-width:480px){.Toastify__toast-container{left:0;margin:0;padding:0;width:100vw}.Toastify__toast-container--top-center,.Toastify__toast-container--top-left,.Toastify__toast-container--top-right{top:0;transform:translateX(0)}.Toastify__toast-container--bottom-center,.Toastify__toast-container--bottom-left,.Toastify__toast-container--bottom-right{bottom:0;transform:translateX(0)}.Toastify__toast-container--rtl{left:auto;right:0}}.Toastify__toast{border-radius:4px;box-shadow:0 1px 10px 0 #0000001a,0 2px 15px 0 #0000000d;box-sizing:border-box;cursor:default;direction:ltr;display:flex;font-family:sans-serif;font-family:var(--toastify-font-family);justify-content:space-between;margin-bottom:1rem;max-height:800px;max-height:var(--toastify-toast-max-height);min-height:64px;min-height:var(--toastify-toast-min-height);overflow:hidden;padding:8px;position:relative;z-index:0}.Toastify__toast--rtl{direction:rtl}.Toastify__toast--close-on-click{cursor:pointer}.Toastify__toast-body{align-items:center;display:flex;flex:1 1 auto;margin:auto 0;padding:6px}.Toastify__toast-body>div:last-child{flex:1 1;word-break:break-word}.Toastify__toast-icon{-webkit-margin-end:10px;display:flex;flex-shrink:0;margin-inline-end:10px;width:20px}.Toastify--animate{animation-duration:.7s;animation-fill-mode:both}.Toastify--animate-icon{animation-duration:.3s;animation-fill-mode:both}@media only screen and (max-width:480px){.Toastify__toast{border-radius:0;margin-bottom:0}}.Toastify__toast-theme--dark{background:#121212;background:var(--toastify-color-dark);color:#fff;color:var(--toastify-text-color-dark)}.Toastify__toast-theme--colored.Toastify__toast--default,.Toastify__toast-theme--light{background:#fff;background:var(--toastify-color-light);color:#757575;color:var(--toastify-text-color-light)}.Toastify__toast-theme--colored.Toastify__toast--info{background:#3498db;background:var(--toastify-color-info);color:#fff;color:var(--toastify-text-color-info)}.Toastify__toast-theme--colored.Toastify__toast--success{background:#07bc0c;background:var(--toastify-color-success);color:#fff;color:var(--toastify-text-color-success)}.Toastify__toast-theme--colored.Toastify__toast--warning{background:#f1c40f;background:var(--toastify-color-warning);color:#fff;color:var(--toastify-text-color-warning)}.Toastify__toast-theme--colored.Toastify__toast--error{background:#e74c3c;background:var(--toastify-color-error);color:#fff;color:var(--toastify-text-color-error)}.Toastify__progress-bar-theme--light{background:linear-gradient(90deg,#4cd964,#5ac8fa,#007aff,#34aadc,#5856d6,#ff2d55);background:var(--toastify-color-progress-light)}.Toastify__progress-bar-theme--dark{background:#bb86fc;background:var(--toastify-color-progress-dark)}.Toastify__progress-bar--info{background:#3498db;background:var(--toastify-color-progress-info)}.Toastify__progress-bar--success{background:#07bc0c;background:var(--toastify-color-progress-success)}.Toastify__progress-bar--warning{background:#f1c40f;background:var(--toastify-color-progress-warning)}.Toastify__progress-bar--error{background:#e74c3c;background:var(--toastify-color-progress-error)}.Toastify__progress-bar-theme--colored.Toastify__progress-bar--error,.Toastify__progress-bar-theme--colored.Toastify__progress-bar--info,.Toastify__progress-bar-theme--colored.Toastify__progress-bar--success,.Toastify__progress-bar-theme--colored.Toastify__progress-bar--warning{background:#ffffffb3;background:var(--toastify-color-transparent)}.Toastify__close-button{align-self:flex-start;background:#0000;border:none;color:#fff;cursor:pointer;opacity:.7;outline:none;padding:0;transition:.3s ease}.Toastify__close-button--light{color:#000;opacity:.3}.Toastify__close-button>svg{fill:currentColor;height:16px;width:14px}.Toastify__close-button:focus,.Toastify__close-button:hover{opacity:1}@keyframes Toastify__trackProgress{0%{transform:scaleX(1)}to{transform:scaleX(0)}}.Toastify__progress-bar{bottom:0;height:5px;left:0;opacity:.7;position:absolute;transform-origin:left;width:100%;z-index:9999;z-index:var(--toastify-z-index)}.Toastify__progress-bar--animated{animation:Toastify__trackProgress linear 1 forwards}.Toastify__progress-bar--controlled{transition:transform .2s}.Toastify__progress-bar--rtl{left:auto;right:0;transform-origin:right}.Toastify__spinner{animation:Toastify__spin .65s linear infinite;border:2px solid #e0e0e0;border-color:var(--toastify-spinner-color-empty-area);border-radius:100%;border-right-color:#616161;border-right-color:var(--toastify-spinner-color);box-sizing:border-box;height:20px;width:20px}@keyframes Toastify__bounceInRight{0%,60%,75%,90%,to{animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;transform:translate3d(3000px,0,0)}60%{opacity:1;transform:translate3d(-25px,0,0)}75%{transform:translate3d(10px,0,0)}90%{transform:translate3d(-5px,0,0)}to{transform:none}}@keyframes Toastify__bounceOutRight{20%{opacity:1;transform:translate3d(-20px,0,0)}to{opacity:0;transform:translate3d(2000px,0,0)}}@keyframes Toastify__bounceInLeft{0%,60%,75%,90%,to{animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;transform:translate3d(-3000px,0,0)}60%{opacity:1;transform:translate3d(25px,0,0)}75%{transform:translate3d(-10px,0,0)}90%{transform:translate3d(5px,0,0)}to{transform:none}}@keyframes Toastify__bounceOutLeft{20%{opacity:1;transform:translate3d(20px,0,0)}to{opacity:0;transform:translate3d(-2000px,0,0)}}@keyframes Toastify__bounceInUp{0%,60%,75%,90%,to{animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;transform:translate3d(0,3000px,0)}60%{opacity:1;transform:translate3d(0,-20px,0)}75%{transform:translate3d(0,10px,0)}90%{transform:translate3d(0,-5px,0)}to{transform:translateZ(0)}}@keyframes Toastify__bounceOutUp{20%{transform:translate3d(0,-10px,0)}40%,45%{opacity:1;transform:translate3d(0,20px,0)}to{opacity:0;transform:translate3d(0,-2000px,0)}}@keyframes Toastify__bounceInDown{0%,60%,75%,90%,to{animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;transform:translate3d(0,-3000px,0)}60%{opacity:1;transform:translate3d(0,25px,0)}75%{transform:translate3d(0,-10px,0)}90%{transform:translate3d(0,5px,0)}to{transform:none}}@keyframes Toastify__bounceOutDown{20%{transform:translate3d(0,10px,0)}40%,45%{opacity:1;transform:translate3d(0,-20px,0)}to{opacity:0;transform:translate3d(0,2000px,0)}}.Toastify__bounce-enter--bottom-left,.Toastify__bounce-enter--top-left{animation-name:Toastify__bounceInLeft}.Toastify__bounce-enter--bottom-right,.Toastify__bounce-enter--top-right{animation-name:Toastify__bounceInRight}.Toastify__bounce-enter--top-center{animation-name:Toastify__bounceInDown}.Toastify__bounce-enter--bottom-center{animation-name:Toastify__bounceInUp}.Toastify__bounce-exit--bottom-left,.Toastify__bounce-exit--top-left{animation-name:Toastify__bounceOutLeft}.Toastify__bounce-exit--bottom-right,.Toastify__bounce-exit--top-right{animation-name:Toastify__bounceOutRight}.Toastify__bounce-exit--top-center{animation-name:Toastify__bounceOutUp}.Toastify__bounce-exit--bottom-center{animation-name:Toastify__bounceOutDown}@keyframes Toastify__zoomIn{0%{opacity:0;transform:scale3d(.3,.3,.3)}50%{opacity:1}}@keyframes Toastify__zoomOut{0%{opacity:1}50%{opacity:0;transform:scale3d(.3,.3,.3)}to{opacity:0}}.Toastify__zoom-enter{animation-name:Toastify__zoomIn}.Toastify__zoom-exit{animation-name:Toastify__zoomOut}@keyframes Toastify__flipIn{0%{animation-timing-function:ease-in;opacity:0;transform:perspective(400px) rotateX(90deg)}40%{animation-timing-function:ease-in;transform:perspective(400px) rotateX(-20deg)}60%{opacity:1;transform:perspective(400px) rotateX(10deg)}80%{transform:perspective(400px) rotateX(-5deg)}to{transform:perspective(400px)}}@keyframes Toastify__flipOut{0%{transform:perspective(400px)}30%{opacity:1;transform:perspective(400px) rotateX(-20deg)}to{opacity:0;transform:perspective(400px) rotateX(90deg)}}.Toastify__flip-enter{animation-name:Toastify__flipIn}.Toastify__flip-exit{animation-name:Toastify__flipOut}@keyframes Toastify__slideInRight{0%{transform:translate3d(110%,0,0);visibility:visible}to{transform:translateZ(0)}}@keyframes Toastify__slideInLeft{0%{transform:translate3d(-110%,0,0);visibility:visible}to{transform:translateZ(0)}}@keyframes Toastify__slideInUp{0%{transform:translate3d(0,110%,0);visibility:visible}to{transform:translateZ(0)}}@keyframes Toastify__slideInDown{0%{transform:translate3d(0,-110%,0);visibility:visible}to{transform:translateZ(0)}}@keyframes Toastify__slideOutRight{0%{transform:translateZ(0)}to{transform:translate3d(110%,0,0);visibility:hidden}}@keyframes Toastify__slideOutLeft{0%{transform:translateZ(0)}to{transform:translate3d(-110%,0,0);visibility:hidden}}@keyframes Toastify__slideOutDown{0%{transform:translateZ(0)}to{transform:translate3d(0,500px,0);visibility:hidden}}@keyframes Toastify__slideOutUp{0%{transform:translateZ(0)}to{transform:translate3d(0,-500px,0);visibility:hidden}}.Toastify__slide-enter--bottom-left,.Toastify__slide-enter--top-left{animation-name:Toastify__slideInLeft}.Toastify__slide-enter--bottom-right,.Toastify__slide-enter--top-right{animation-name:Toastify__slideInRight}.Toastify__slide-enter--top-center{animation-name:Toastify__slideInDown}.Toastify__slide-enter--bottom-center{animation-name:Toastify__slideInUp}.Toastify__slide-exit--bottom-left,.Toastify__slide-exit--top-left{animation-name:Toastify__slideOutLeft}.Toastify__slide-exit--bottom-right,.Toastify__slide-exit--top-right{animation-name:Toastify__slideOutRight}.Toastify__slide-exit--top-center{animation-name:Toastify__slideOutUp}.Toastify__slide-exit--bottom-center{animation-name:Toastify__slideOutDown}@keyframes Toastify__spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}
/*# sourceMappingURL=main.a2abed7f.css.map*/