@import "https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&display=swap";@import "https://fonts.googleapis.com/css?family=Open+Sans:300,400,600,700&display=swap";:root{--bg-primary:#f4f7fb;--bg-secondary:#fff;--bg-tertiary:#f1f5f9;--accent-primary:#4f46e5;--accent-hover:#4338ca;--accent-gradient:linear-gradient(135deg, #4f46e5 0%, #7c3aed 100%);--text-primary:#0f172a;--text-secondary:#475569;--text-muted:#94a3b8;--border-color:#e2e8f0;--hover-bg:#0000000a;--table-header-bg:#f8fafc;--sidebar-width:280px;--header-height:70px;--shadow-sm:0 1px 2px 0 #0000000d;--shadow-md:0 4px 6px -1px #0000001a, 0 2px 4px -2px #0000001a;--shadow-lg:0 10px 15px -3px #0000001a, 0 4px 6px -4px #0000001a}*{box-sizing:border-box;margin:0;padding:0}body{background-color:var(--bg-primary);color:var(--text-primary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:Inter,sans-serif}.app-layout{height:100vh;display:flex;overflow:hidden}.main-content-wrapper{margin-left:var(--sidebar-width);flex-direction:column;flex:1;transition:margin-left .3s;display:flex;overflow:hidden}.main-content{background-color:var(--bg-primary);flex:1;padding:2rem;overflow-y:auto}.sidebar{width:var(--sidebar-width);background-color:var(--bg-secondary);border-right:1px solid var(--border-color);z-index:50;height:100vh;box-shadow:var(--shadow-sm);flex-direction:column;transition:transform .3s;display:flex;position:fixed;top:0;left:0}.sidebar-header{height:var(--header-height);border-bottom:1px solid var(--border-color);align-items:center;padding:0 1.5rem;display:flex}.sidebar-logo{background:var(--accent-gradient);-webkit-text-fill-color:transparent;-webkit-background-clip:text;align-items:center;gap:.75rem;font-size:1.25rem;font-weight:700;display:flex}.sidebar-nav{flex:1;padding:1rem 0;overflow-y:auto}.nav-item{margin:.25rem 1rem}.nav-link{color:var(--text-secondary);border-radius:.5rem;align-items:center;gap:.75rem;padding:.75rem 1rem;font-weight:500;text-decoration:none;transition:all .2s;display:flex}.nav-link:hover{background-color:var(--hover-bg);color:var(--text-primary)}.nav-link.active{background:var(--accent-gradient);color:#fff;box-shadow:var(--shadow-md)}.header{height:var(--header-height);background-color:var(--bg-secondary);border-bottom:1px solid var(--border-color);z-index:40;box-shadow:var(--shadow-sm);justify-content:space-between;align-items:center;padding:0 2rem;display:flex;position:sticky;top:0}.header-right{align-items:center;gap:1.5rem;display:flex}.icon-btn{color:var(--text-secondary);cursor:pointer;background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;width:40px;height:40px;transition:all .2s;display:flex}.icon-btn:hover{background-color:var(--hover-bg);color:var(--text-primary)}.user-profile{cursor:pointer;align-items:center;gap:.75rem;display:flex}.avatar{background:var(--accent-gradient);color:#fff;border-radius:50%;justify-content:center;align-items:center;width:36px;height:36px;font-weight:600;display:flex}.card{background-color:var(--bg-secondary);border:1px solid var(--border-color);box-shadow:var(--shadow-sm);border-radius:1rem;padding:1.5rem;transition:box-shadow .2s}.card:hover{box-shadow:var(--shadow-md)}.page-header{justify-content:space-between;align-items:center;margin-bottom:2rem;display:flex}.page-title{color:var(--text-primary);font-size:1.875rem;font-weight:700}.table-container{border:1px solid var(--border-color);background-color:var(--bg-secondary);border-radius:.75rem;overflow-x:auto}table{border-collapse:collapse;width:100%}th,td{text-align:left;border-bottom:1px solid var(--border-color);white-space:nowrap;padding:.5rem 1rem}th{background-color:var(--table-header-bg);color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em;font-size:.75rem;font-weight:600}tr:last-child td{border-bottom:none}tr:hover td{background-color:var(--hover-bg)}.toggle-switch{cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:.5rem;display:inline-flex;position:relative}.toggle-switch input{opacity:0;width:0;height:0;position:absolute}.toggle-slider{background-color:#ef444433;border:1px solid #ef4444;border-radius:20px;width:36px;height:20px;transition:all .3s;position:relative}.toggle-slider:before{content:"";background-color:#ef4444;border-radius:50%;width:14px;height:14px;transition:all .3s;position:absolute;bottom:2px;left:2px}.toggle-switch input:checked+.toggle-slider{background-color:#10b98133;border-color:#10b981}.toggle-switch input:checked+.toggle-slider:before{background-color:#10b981;transform:translate(16px)}.toggle-label{font-size:.75rem;font-weight:600}.toggle-label.active{color:#10b981}.toggle-label.inactive{color:#ef4444}.search-input{border:1px solid var(--border-color);background:var(--bg-secondary);width:100%;color:var(--text-primary);border-radius:.5rem;outline:none;padding:.75rem 1rem .75rem 2.5rem;font-family:inherit;transition:border-color .2s,box-shadow .2s}.search-input:focus{border-color:var(--accent-primary);box-shadow:0 0 0 3px #4f46e51a}.search-input::placeholder{color:var(--text-muted)}.btn{cursor:pointer;border:none;border-radius:.5rem;align-items:center;gap:.5rem;padding:.5rem 1rem;font-family:inherit;font-size:.875rem;font-weight:500;transition:all .2s;display:inline-flex}.btn-primary{background:var(--accent-gradient);color:#fff;box-shadow:var(--shadow-sm)}.btn-primary:hover{box-shadow:var(--shadow-md);opacity:.9}.btn-secondary{background:var(--bg-secondary);border:1px solid var(--border-color);color:var(--text-secondary)}.btn-secondary:hover{background:var(--hover-bg);color:var(--text-primary)}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--bg-primary)}::-webkit-scrollbar-thumb{background:var(--border-color);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}.auth-loading{background-color:var(--bg-primary);justify-content:center;align-items:center;min-height:100vh;display:flex}.auth-loading-spinner{border:3px solid var(--border-color);border-top-color:var(--accent-primary);border-radius:50%;width:2.5rem;height:2.5rem;animation:.8s linear infinite auth-spin}@keyframes auth-spin{to{transform:rotate(360deg)}}.mobile-menu-btn{display:none!important}@media (width<=1024px){.mobile-menu-btn{display:flex!important}.main-content-wrapper{margin-left:0!important}.sidebar{transform:translate(-100%)}.sidebar.open{transform:translate(0)!important}.sidebar-backdrop{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:45;background:#0f172a66;position:fixed;inset:0}}@media (width<=768px){.main-content{padding:1rem}.page-header{flex-direction:column;align-items:flex-start;gap:1rem}.header{padding:0 1rem}.card{padding:1rem!important}}.responsive-grid-2{grid-template-columns:1fr 1fr;gap:2rem;display:grid}.responsive-grid-3{grid-template-columns:1fr 1fr 1fr;gap:1rem;display:grid}.responsive-grid-4{grid-template-columns:1fr 1fr 1fr 1fr;gap:1rem;display:grid}@media (width<=768px){.responsive-grid-2,.responsive-grid-3,.responsive-grid-4{grid-template-columns:1fr!important;gap:1rem!important}}.spec-grid{grid-template-columns:1fr 1fr auto;gap:.5rem;display:grid}@media (width<=768px){.spec-grid{grid-template-columns:1fr!important}}.order-detail-grid{grid-template-columns:minmax(0,2fr) 360px;gap:1.5rem;display:grid}@media (width<=1024px){.order-detail-grid{grid-template-columns:1fr!important}}.order-filter-grid{grid-template-columns:minmax(280px,1fr) 180px 180px auto;align-items:center;gap:.75rem;margin-bottom:1.25rem;display:grid}@media (width<=768px){.order-filter-grid{grid-template-columns:1fr!important}}.legal-page-grid{grid-template-columns:260px minmax(0,1fr);align-items:start;gap:1.5rem;display:grid}@media (width<=768px){.legal-page-grid{grid-template-columns:1fr!important}}.login-page{background-color:#f8f9fa;min-height:100vh;font-family:Open Sans,sans-serif}.login-main{margin-top:0}.login-section{min-height:100vh}.login-container{width:100%;max-width:1200px;margin:0 auto;padding:0 1.5rem}.login-row{justify-content:center;align-items:center;min-height:100vh;display:flex}.login-form-column{width:100%;max-width:420px;padding:2rem 0}.login-alert{text-align:center;border-radius:.5rem;margin-bottom:1rem;padding:.875rem 1rem;font-size:.875rem;font-weight:600}.login-alert-error{color:#fff;background-color:#f5365c}.login-card{background:#fff;border-radius:1rem;overflow:hidden;box-shadow:0 20px 27px #0000000d}.login-card-header{text-align:left;padding:1.5rem 1.5rem 0}.login-title{text-align:center;color:#344767;margin:0 0 .5rem;font-size:1.5rem;font-weight:700}.login-subtitle{color:#67748e;margin:0 0 1rem;font-size:.875rem}.login-dev-hint{color:#4338ca;background-color:#eef2ff;border-radius:.5rem;margin:0 0 1rem;padding:.625rem .75rem;font-size:.8125rem;line-height:1.4}.login-card-body{padding:1.5rem}.login-field{margin-bottom:1rem}.login-input{color:#495057;background-color:#fff;border:1px solid #d2d6da;border-radius:.5rem;outline:none;width:100%;padding:.875rem 1rem;font-family:inherit;font-size:1rem;line-height:1.5;transition:border-color .15s,box-shadow .15s}.login-input:focus{border-color:#5e72e4;box-shadow:0 0 0 2px #5e72e426}.login-input::placeholder{color:#adb5bd}.login-remember{margin-bottom:.25rem}.login-switch{cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:.75rem;display:inline-flex}.login-switch input{opacity:0;width:0;height:0;position:absolute}.login-switch-slider{background-color:#e9ecef;border-radius:999px;width:2.5rem;height:1.375rem;transition:background-color .2s;position:relative}.login-switch-slider:before{content:"";background-color:#fff;border-radius:50%;width:1.125rem;height:1.125rem;transition:transform .2s;position:absolute;top:2px;left:2px;box-shadow:0 1px 3px #00000026}.login-switch input:checked+.login-switch-slider{background-color:#5e72e4}.login-switch input:checked+.login-switch-slider:before{transform:translate(1.125rem)}.login-switch-label{color:#344767;font-size:.875rem}.login-submit{text-align:center}.login-btn{color:#fff;cursor:pointer;background:linear-gradient(310deg,#7928ca 0%,#ff0080 100%);border:none;border-radius:.5rem;width:100%;margin-top:1.5rem;padding:.875rem 1.5rem;font-family:inherit;font-size:1rem;font-weight:600;transition:opacity .2s,transform .2s}.login-btn:hover:not(:disabled){opacity:.92}.login-btn:disabled{opacity:.7;cursor:not-allowed}.login-card-footer{text-align:center;padding:0 1.5rem 1.5rem}.login-card-footer p{color:#67748e;margin:0;font-size:.875rem}.login-link{color:#5e72e4;font-weight:700;text-decoration:none}.login-link:hover{text-decoration:underline}
