:root{--sap-primary:#0a6ed1;--sap-primary-hover:#0854a0;--sap-success:#2e7d32;--sap-warning:#f5a623;--sap-danger:#d32f2f;--sap-header-bg:#1c2e4a;--sap-sidebar-bg:#1e2a3a;--sap-sidebar-hover:#2d3e54;--sap-main-bg:#f5f6f7;--sap-card-bg:#fafbfc;--sap-text-dark:#1e2a3a;--sap-text-muted:#6b7280;--sap-border:#d4d8dd;--sap-focus-ring:rgba(10,110,209,.25);--space-xs:4px;--space-sm:8px;--space-md:16px;--space-lg:24px;--space-xl:32px;--sidebar-width:260px;--header-height:64px;--radius-sm:6px;--radius-md:8px;--ease-out:cubic-bezier(0.23,1,0.32,1);--ease-in-out:cubic-bezier(0.77,0,0.175,1);--ease-drawer:cubic-bezier(0.32,0.72,0,1);--transition-fast:120ms ease-out}*{margin:0;padding:0;box-sizing:border-box}body{font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;background:var(--sap-main-bg);color:var(--sap-text-dark)}.dashboard-wrapper{display:flex;flex-direction:column;min-height:100vh}.dashboard-header{height:var(--header-height);background:var(--sap-header-bg);display:flex;align-items:center;justify-content:space-between;padding:0 var(--space-lg);border-bottom:1px solid hsla(0,0%,100%,.08)}.logo{font-size:1.1rem;font-weight:600;color:#fff}.user-menu{display:flex;align-items:center;gap:var(--space-md);color:#f5f5f5}.user-menu button{background:none;border:none;color:#e2e8f0;cursor:pointer;font-size:.85rem;transition:color .16s ease}.user-menu button:hover{color:#fff}.dashboard-body{display:flex;flex:1 1}.sidebar{width:var(--sidebar-width);background:var(--sap-sidebar-bg);padding:var(--space-md) 0}.sidebar,.sidebar-nav{display:flex;flex-direction:column}.sidebar-nav a{display:flex;align-items:center;gap:var(--space-sm);padding:var(--space-sm) var(--space-lg);color:#cbd5e1;text-decoration:none;border-left:3px solid transparent;transition:background .16s ease}.sidebar-nav a:hover{background:hsla(0,0%,100%,.05)}.sidebar-nav a.active{background:var(--sap-sidebar-hover);border-left:3px solid var(--sap-primary);color:#fff}.main-content{flex:1 1;padding:var(--space-lg)}.card{background:var(--sap-card-bg);border:1px solid var(--sap-border);border-radius:var(--radius-md);padding:var(--space-md);margin-bottom:var(--space-lg);transition:box-shadow .2s ease,border-color .2s ease}.card-header{font-weight:600;margin-bottom:var(--space-sm)}.stat-card{padding:var(--space-md)}.stat-number{font-size:1.8rem;color:var(--sap-primary)}.stat-label{font-size:.8rem;color:var(--sap-text-muted)}table{width:100%;border-collapse:collapse}td,th{padding:var(--space-md);border-bottom:1px solid var(--sap-border)}th{font-size:.75rem;text-transform:uppercase;letter-spacing:.04em;background:#f7f8fa}.btn{padding:.5rem 1rem;border-radius:var(--radius-sm);font-size:.85rem;cursor:pointer;border:none;transition:transform .16s var(--ease-out),box-shadow .16s ease,background-color .18s ease,border-color .18s ease}.btn:active{transform:scale(.97)}.btn-primary{background:var(--sap-primary);color:#fff}.btn-primary svg{margin-top:-2px}.btn-primary:hover{background:var(--sap-primary-hover)}.btn-secondary{background:transparent;border:1px solid #d3d3d3}.btn-secondary svg{margin-top:-2px}@keyframes excite-jitter{0%{transform:translate(0) rotate(0deg)}20%{transform:translate(-1px,.5px) rotate(-1deg)}40%{transform:translate(-1px,-1px) rotate(1deg)}60%{transform:translate(1px,.5px) rotate(0deg)}80%{transform:translate(.5px,-.5px) rotate(1deg)}to{transform:translate(0) rotate(0deg)}}@keyframes excite-pulse{0%{transform:scale(1)}30%{transform:scale(1.12) rotate(2deg)}60%{transform:scale(.92) rotate(-2deg)}80%{transform:scale(1.05)}to{transform:scale(1)}}@keyframes excite-tilt-left{0%{transform:rotate(0deg)}25%{transform:rotate(-6deg)}75%{transform:rotate(6deg)}to{transform:rotate(0deg)}}@keyframes excite-tilt-right{0%{transform:rotate(0deg)}25%{transform:rotate(6deg)}75%{transform:rotate(-6deg)}to{transform:rotate(0deg)}}.tilt-variant-left:hover{animation:excite-tilt-left .25s ease-in-out 1}.tilt-variant-right:hover{animation:excite-tilt-right .25s ease-in-out 1}.btn-tilt{transform-origin:center center}.btn-link{display:inline-flex;align-items:center;color:#595959;text-decoration:none;transition:color .2s ease}.btn-pulse:hover>h2,.btn-pulse:hover>h4,.btn-pulse:hover>img,.btn-pulse:hover>p,.btn-pulse:hover>span{animation:excite-pulse .2s ease-in-out 1}.btn-danger{background:var(--sap-danger);color:#fff}input,select,textarea{width:100%;padding:.55rem .75rem;border:1px solid var(--sap-border);border-radius:var(--radius-sm);font-size:.9rem;transition:border-color .16s ease,box-shadow .16s ease}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--sap-primary);box-shadow:0 0 0 3px var(--sap-focus-ring)}label{font-size:.75rem;color:var(--sap-text-muted);margin-bottom:4px;display:block}.alert{padding:var(--space-md);border-left:4px solid;border-radius:var(--radius-sm);transition:opacity .2s ease}.alert-success{background:#e6f4ea;border-color:var(--sap-success)}.alert-error{background:#fce8e6;border-color:var(--sap-danger)}.sap-login-container{display:flex;justify-content:center;align-items:center;min-height:100vh;background:linear-gradient(135deg,#1c2e4a,#0f1a2e);padding:1.5rem}.sap-login-card{max-width:400px;width:100%;background:#fff;border-radius:.8rem;box-shadow:0 12px 40px rgba(0,0,0,.18);padding:2rem;transition:transform .25s var(--ease-out),box-shadow .25s ease}@media (hover:hover) and (pointer:fine){.sap-login-card:hover{transform:translateY(-2px);box-shadow:0 16px 56px rgba(0,0,0,.22)}}.sap-login-card .logo{text-align:center;margin-bottom:1.5rem}.sap-login-card .logo i{font-size:2.5rem!important;color:#0a6ed1;background:none;-webkit-background-clip:unset;background-clip:unset}.sap-login-card h2{text-align:center;font-size:1.5rem;font-weight:700;color:#1e2a3a;margin-bottom:.25rem;letter-spacing:-.02em}.sap-login-card .sub{text-align:center;color:#6b7280;font-size:.85rem;margin-bottom:1.5rem;border-bottom:none;padding-bottom:0}.sap-login-card .form-group{margin-bottom:1.25rem}.sap-login-card label{color:#4b5563;font-weight:500;margin-bottom:.5rem;display:block}.sap-login-card input{width:100%;padding:.6rem .75rem;border:1px solid #d1d5db;border-radius:.5rem;background:#fff;color:#111827;transition:border-color .16s ease,box-shadow .16s ease}.sap-login-card input:focus{border-color:#0a6ed1;box-shadow:0 0 0 3px rgba(10,110,209,.2);outline:none}.sap-login-card .btn{background:#0a6ed1;color:#fff;padding:.6rem;font-weight:600;border-radius:.5rem;width:100%;border:none;cursor:pointer;transition:transform .16s var(--ease-out),box-shadow .16s ease,background-color .18s ease}.sap-login-card .btn:active{transform:scale(.97)}.sap-login-card .btn:hover{background:#0854a0}.sap-login-card .links{text-align:center;margin-top:1.5rem}.sap-login-card .links a{color:#0a6ed1;text-decoration:none;transition:color .16s ease}.sap-login-card .alert{margin-bottom:1rem;padding:.5rem;border-radius:.5rem}@media (max-width:768px){.sidebar{display:none}.main-content{padding:var(--space-md)}.dashboard-header{padding:0 var(--space-md)}}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));grid-gap:var(--space-lg);gap:var(--space-lg);margin-bottom:var(--space-xl)}.card-header{display:flex;align-items:center;gap:var(--space-sm);margin-bottom:var(--space-md)}.card-header i{font-size:1.25rem!important;color:var(--sap-primary)}.card-header h3{font-weight:600;margin:0}i.fab,i.fad,i.fal,i.far,i.fas,i.fat{font-size:1rem!important;line-height:1;vertical-align:middle;max-width:1rem;max-height:1rem;display:inline-flex;align-items:center;justify-content:center}