.login-wrapper{min-height:100vh;display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden}.login-bg{position:absolute;top:0;right:0;bottom:0;left:0;z-index:0;overflow:hidden}.blob{position:absolute;border-radius:50%;filter:blur(80px);opacity:.35;animation:floatBlob 18s ease-in-out infinite}.blob-1{width:420px;height:420px;background:#0080ff;top:-10%;left:-5%;animation-delay:0s}.blob-2{width:350px;height:350px;background:#7e47eb;bottom:-10%;right:-5%;animation-delay:-6s}.blob-3{width:280px;height:280px;background:#dd3c8c;top:50%;left:60%;animation-delay:-12s}@keyframes floatBlob{0%,to{transform:translate(0) scale(1)}25%{transform:translate(40px,-30px) scale(1.05)}50%{transform:translate(-20px,40px) scale(.95)}75%{transform:translate(30px,20px) scale(1.02)}}.login-card{position:relative;z-index:1;width:100%;max-width:420px;padding:2.5rem;text-align:center}.login-header{margin-bottom:2rem}.login-logo{font-size:2.5rem;background:linear-gradient(135deg,var(--color-primary),hsl(260,80%,65%));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;margin-bottom:.5rem}.login-title{font-size:1.5rem;font-weight:800;letter-spacing:-.02em;margin-bottom:.3rem}.login-subtitle{font-size:.9rem;color:var(--color-text-secondary)}.login-error{display:flex;align-items:center;gap:8px;padding:10px 14px;margin-bottom:1.25rem;background:#e637371f;color:var(--color-danger);border-radius:var(--radius-sm);font-size:.85rem;font-weight:500}.login-form{text-align:left}.login-submit{width:100%;justify-content:center;margin-top:.5rem;padding:12px;font-size:.95rem}.login-footer-text{margin-top:1.5rem;font-size:.75rem;color:var(--color-text-muted)}.info-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem}.info-item label{display:block;font-size:.8rem;text-transform:uppercase;color:var(--color-text-muted);margin-bottom:4px;font-weight:600;letter-spacing:.5px}.info-item div{font-size:.95rem;color:var(--color-text)}.device-item{display:flex;align-items:center;gap:12px;padding:10px;background:#00000005;border:1px solid var(--color-border);border-radius:8px}.timeline{display:flex;flex-direction:column;position:relative;padding-left:20px}.timeline:before{content:"";position:absolute;top:0;bottom:0;left:29px;width:2px;background:var(--color-border);z-index:1}.timeline-item{display:flex;gap:15px;margin-bottom:1.5rem;position:relative;z-index:2}.timeline-icon{width:36px;height:36px;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0;box-shadow:0 0 0 4px var(--color-surface)}.timeline-content{flex:1;background:#00000005;border:1px solid var(--color-border);padding:12px 16px;border-radius:8px}[data-theme=dark] .timeline-content{background:#ffffff08}.timeline-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px}.timeline-action{font-weight:700;font-size:.85rem;color:var(--color-text);text-transform:capitalize}.timeline-date{font-size:.75rem;color:var(--color-text-muted)}.timeline-desc{font-size:.9rem;margin:0 0 8px;color:var(--color-text-secondary)}.timeline-user{font-size:.75rem;color:var(--color-text-muted);font-style:italic}.sidebar{position:fixed;top:0;left:0;width:var(--sidebar-width);height:100vh;background:var(--color-bg-secondary);border-right:1px solid var(--color-border);display:flex;flex-direction:column;z-index:100;transition:width var(--transition-normal);overflow-y:auto}.sidebar-brand{display:flex;align-items:center;gap:12px;padding:1.5rem 1.25rem 1.25rem}.brand-icon{font-size:1.75rem;color:var(--color-primary)}.brand-text{font-size:1.25rem;font-weight:800;letter-spacing:-.02em;background:linear-gradient(135deg,var(--color-primary),hsl(260,80%,65%));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.sidebar-nav{flex:1;padding:.5rem .75rem;display:flex;flex-direction:column;gap:2px}.sidebar-link{display:flex;align-items:center;gap:12px;padding:10px 14px;border-radius:var(--radius-sm);color:var(--color-text-secondary);font-size:.875rem;font-weight:500;transition:all var(--transition-fast);text-decoration:none}.sidebar-link:hover{background:var(--color-surface-hover);color:var(--color-text)}.sidebar-link.active{background:var(--color-primary-subtle);color:var(--color-primary)}.sidebar-link .material-icons-round{font-size:1.25rem}.sidebar-footer{padding:1rem 1.25rem;border-top:1px solid var(--color-border);display:flex;flex-direction:column;gap:12px}.sidebar-user{display:flex;align-items:center;gap:10px}.user-avatar{width:36px;height:36px;border-radius:var(--radius-full);background:linear-gradient(135deg,var(--color-primary),hsl(260,80%,65%));color:#fff;font-weight:700;font-size:.9rem;display:flex;align-items:center;justify-content:center}.user-info{flex:1;min-width:0}.user-name{font-size:.85rem;font-weight:600;color:var(--color-text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.user-role{font-size:.72rem;color:var(--color-text-muted);text-transform:capitalize}.sidebar-logout{width:100%;justify-content:center}@media (max-width: 768px){.sidebar{transform:translate(-100%)}.sidebar.open{transform:translate(0)}}.topbar{display:flex;align-items:center;justify-content:space-between;padding:.75rem 1.5rem;margin-bottom:2rem;border-radius:12px;background:var(--color-surface);box-shadow:0 4px 20px #0000000d}.topbar-org{display:flex;align-items:center;gap:12px}.topbar-logo{height:40px;width:40px;object-fit:contain;border-radius:8px;background:#ffffff1a;padding:2px}.topbar-logo-placeholder{height:40px;width:40px;display:flex;align-items:center;justify-content:center;border-radius:8px;background:var(--color-primary-light);color:var(--color-primary)}.topbar-org-name{font-size:1.2rem;font-weight:700;margin:0;color:var(--color-text);letter-spacing:-.02em}.topbar-branch{display:flex;align-items:center;gap:6px;background:#0ea5e91a;padding:6px 12px;border-radius:20px;color:var(--color-info)}.topbar-branch-icon{font-size:1.1rem}.topbar-branch-name{font-size:.9rem;font-weight:600}:root,[data-theme=dark]{--font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--color-bg: hsl(225, 15%, 8%);--color-bg-secondary: hsl(225, 14%, 11%);--color-surface: hsla(225, 14%, 16%, .75);--color-surface-hover: hsla(225, 14%, 20%, .85);--color-border: hsla(225, 10%, 30%, .45);--color-primary: hsl(210, 100%, 56%);--color-primary-hover: hsl(210, 100%, 64%);--color-primary-subtle: hsla(210, 100%, 56%, .12);--color-success: hsl(145, 65%, 45%);--color-warning: hsl(38, 92%, 55%);--color-danger: hsl(0, 78%, 56%);--color-text: hsl(0, 0%, 93%);--color-text-secondary: hsl(0, 0%, 62%);--color-text-muted: hsl(0, 0%, 42%);--color-on-primary: hsl(0, 0%, 100%);--shadow-sm: 0 1px 3px hsla(0, 0%, 0%, .4);--shadow-md: 0 4px 16px hsla(0, 0%, 0%, .35);--shadow-lg: 0 8px 32px hsla(0, 0%, 0%, .45);--shadow-glow: 0 0 20px hsla(210, 100%, 56%, .15);--radius-sm: 8px;--radius-md: 12px;--radius-lg: 16px;--radius-xl: 24px;--radius-full: 9999px;--transition-fast: .15s cubic-bezier(.4, 0, .2, 1);--transition-normal: .25s cubic-bezier(.4, 0, .2, 1);--transition-slow: .4s cubic-bezier(.4, 0, .2, 1);--sidebar-width: 260px;--sidebar-collapsed: 72px}[data-theme=light]{--color-bg: hsl(220, 20%, 97%);--color-bg-secondary: hsl(220, 18%, 94%);--color-surface: hsla(0, 0%, 100%, .88);--color-surface-hover: hsla(0, 0%, 100%, .95);--color-border: hsla(220, 10%, 80%, .5);--color-primary: hsl(210, 100%, 45%);--color-primary-hover: hsl(210, 100%, 38%);--color-primary-subtle: hsla(210, 100%, 45%, .08);--color-text: hsl(225, 15%, 12%);--color-text-secondary: hsl(225, 10%, 40%);--color-text-muted: hsl(225, 8%, 60%);--shadow-sm: 0 1px 3px hsla(220, 20%, 0%, .08);--shadow-md: 0 4px 16px hsla(220, 20%, 0%, .06);--shadow-lg: 0 8px 32px hsla(220, 20%, 0%, .1);--shadow-glow: 0 0 20px hsla(210, 100%, 45%, .08)}*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}html{font-size:16px;scroll-behavior:smooth}body{font-family:var(--font-family);background:var(--color-bg);color:var(--color-text);line-height:1.6;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;min-height:100vh}a{color:var(--color-primary);text-decoration:none;transition:color var(--transition-fast)}a:hover{color:var(--color-primary-hover)}img{max-width:100%;display:block}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:#8080804d;border-radius:3px}::-webkit-scrollbar-thumb:hover{background:#80808080}.glass-card{background:var(--color-surface);backdrop-filter:blur(16px) saturate(180%);-webkit-backdrop-filter:blur(16px) saturate(180%);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-md);transition:transform var(--transition-normal),box-shadow var(--transition-normal)}.glass-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-lg),var(--shadow-glow)}.btn{display:inline-flex;align-items:center;gap:8px;padding:10px 20px;font-family:var(--font-family);font-size:.875rem;font-weight:600;border:none;border-radius:var(--radius-sm);cursor:pointer;transition:all var(--transition-fast);outline:none}.btn:active{transform:scale(.97)}.btn-primary{background:var(--color-primary);color:var(--color-on-primary)}.btn-primary:hover{background:var(--color-primary-hover);box-shadow:var(--shadow-glow)}.btn-ghost{background:transparent;color:var(--color-text-secondary);border:1px solid var(--color-border)}.btn-ghost:hover{background:var(--color-surface-hover);color:var(--color-text)}.btn-danger{background:var(--color-danger);color:#fff}.btn-danger:hover{opacity:.9}.btn-sm{padding:6px 14px;font-size:.8rem}.btn-icon{width:36px;height:36px;padding:0;justify-content:center;border-radius:var(--radius-sm)}.input-field{width:100%;padding:10px 14px;font-family:var(--font-family);font-size:.9rem;color:var(--color-text);background:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:var(--radius-sm);outline:none;transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}.input-field:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-subtle)}.input-field::placeholder{color:var(--color-text-muted)}.form-label{display:block;font-size:.8rem;font-weight:600;color:var(--color-text-secondary);margin-bottom:6px;text-transform:uppercase;letter-spacing:.05em}.form-group{margin-bottom:1.25rem}.badge{display:inline-flex;align-items:center;padding:3px 10px;font-size:.72rem;font-weight:600;border-radius:var(--radius-full);text-transform:uppercase;letter-spacing:.04em}.badge-success{background:#28bd6626;color:var(--color-success)}.badge-warning{background:#f6a82326;color:var(--color-warning)}.badge-danger{background:#e6373726;color:var(--color-danger)}.badge-info{background:var(--color-primary-subtle);color:var(--color-primary)}.data-table{width:100%;border-collapse:separate;border-spacing:0}.data-table th{text-align:left;padding:12px 16px;font-size:.75rem;font-weight:700;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.06em;border-bottom:1px solid var(--color-border)}.data-table td{padding:14px 16px;font-size:.875rem;border-bottom:1px solid var(--color-border);transition:background var(--transition-fast)}.data-table tr:hover td{background:var(--color-surface-hover)}.stat-card{padding:1.25rem 1.5rem}.stat-card .stat-label{font-size:.78rem;font-weight:600;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.04em}.stat-card .stat-value{font-size:2rem;font-weight:800;color:var(--color-text);margin-top:4px}.stat-card .stat-change{font-size:.78rem;font-weight:500;margin-top:6px}.stat-card .stat-change.positive{color:var(--color-success)}.stat-card .stat-change.negative{color:var(--color-danger)}@keyframes fadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes slideInLeft{0%{opacity:0;transform:translate(-16px)}to{opacity:1;transform:translate(0)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.animate-fade-in{animation:fadeIn .4s var(--transition-normal) both}.animate-slide-in{animation:slideInLeft .35s var(--transition-normal) both}.page-wrapper{display:flex;min-height:100vh}.page-content{flex:1;padding:2rem;margin-left:var(--sidebar-width);transition:margin-left var(--transition-normal)}.page-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:2rem}.page-title{font-size:1.75rem;font-weight:800;color:var(--color-text)}.page-subtitle{font-size:.9rem;color:var(--color-text-secondary);margin-top:4px}.grid{display:grid;gap:1.25rem}.grid-2{grid-template-columns:repeat(2,1fr)}.grid-3{grid-template-columns:repeat(3,1fr)}.grid-4{grid-template-columns:repeat(4,1fr)}@media (max-width: 1200px){.grid-4,.grid-3{grid-template-columns:repeat(2,1fr)}}@media (max-width: 768px){.grid-4,.grid-3,.grid-2{grid-template-columns:1fr}.page-content{margin-left:0;padding:1rem}}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1000;animation:fadeIn .2s ease both}.modal-content{background:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:2rem;width:90%;max-width:520px;box-shadow:var(--shadow-lg);animation:fadeIn .25s ease both}.modal-title{font-size:1.25rem;font-weight:700;margin-bottom:1.25rem}.toast{position:fixed;top:24px;right:24px;padding:14px 20px;border-radius:var(--radius-sm);font-size:.875rem;font-weight:500;z-index:2000;animation:slideInLeft .3s ease both;box-shadow:var(--shadow-lg)}.toast-success{background:var(--color-success);color:#fff}.toast-error{background:var(--color-danger);color:#fff}.empty-state{text-align:center;padding:3rem 1rem;color:var(--color-text-muted)}.empty-state .material-icons-round{font-size:3rem;margin-bottom:1rem;opacity:.4}
