@import"https://fonts.googleapis.com/css2?family=Montserrat:wght@400;500;600;700&display=swap";:root{--bg-page: #f4f6f9;--bg-surface: #ffffff;--bg-sidebar: #ffffff;--bg-sidebar-hover: #f0f5ff;--text-primary: #0f172a;--text-secondary: #64748b;--text-muted: #94a3b8;--blue-50: #eff6ff;--blue-100: #dbeafe;--blue-500: #3b82f6;--blue-600: #2563eb;--blue-700: #1d4ed8;--border: #e8edf3;--border-light: #f1f5f9;--shadow-xs: 0 1px 3px rgba(15, 23, 42, .06);--shadow-sm: 0 4px 14px rgba(15, 23, 42, .09), 0 2px 6px rgba(15, 23, 42, .06);--shadow-md: 0 12px 32px rgba(15, 23, 42, .13), 0 4px 12px rgba(15, 23, 42, .08);--shadow-lg: 0 20px 48px rgba(15, 23, 42, .16), 0 8px 20px rgba(15, 23, 42, .08);--shadow-card: 0 6px 18px rgba(15, 23, 42, .1), 0 2px 8px rgba(15, 23, 42, .07);--shadow-card-hover: 0 14px 36px rgba(15, 23, 42, .15), 0 6px 16px rgba(15, 23, 42, .09);--radius-sm: 8px;--radius-md: 12px;--radius-lg: 16px;--radius-xl: 20px;--sidebar-width: 260px;--topbar-height: 68px;--font: "Montserrat", system-ui, sans-serif;--transition: .2s cubic-bezier(.4, 0, .2, 1)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{font-family:var(--font);font-size:14px;line-height:1.5;color:var(--text-primary);background:var(--bg-page);min-height:100vh}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}.auth-page{position:relative;min-height:100vh;display:flex;align-items:center;justify-content:center;padding:24px;overflow:hidden;background:linear-gradient(160deg,#eef4ff,#f8fafc 45%,#e8f0fe)}.auth-amebas{position:absolute;top:0;right:0;bottom:0;left:0;z-index:0;pointer-events:none;overflow:hidden}.ameba{position:absolute;display:block;border-radius:40% 60% 65% 35%/45% 55%;filter:blur(28px);opacity:.92;will-change:transform,border-radius;mix-blend-mode:multiply;animation:ameba-drift var(--ameba-drift-dur, 14s) ease-in-out infinite,ameba-morph var(--ameba-morph-dur, 9s) ease-in-out infinite,ameba-pulse var(--ameba-pulse-dur, 6s) ease-in-out infinite;animation-delay:var(--ameba-drift-delay, 0s),var(--ameba-morph-delay, 0s),var(--ameba-pulse-delay, 0s)}.ameba--1{--ameba-drift-dur: 14s;--ameba-morph-dur: 7s;--ameba-pulse-dur: 5s;--ameba-drift-delay: 0s;--ameba-morph-delay: -1s;--ameba-pulse-delay: 0s;width:480px;height:420px;top:-15%;left:-12%;background:radial-gradient(circle at 35% 35%,#3b82f6,#2563eb 45%,#2563eb66 70%);box-shadow:0 0 80px #2563eb73}.ameba--2{--ameba-drift-dur: 18s;--ameba-morph-dur: 9s;--ameba-pulse-dur: 6.5s;--ameba-drift-delay: -3s;--ameba-morph-delay: -2s;--ameba-pulse-delay: -1.5s;width:520px;height:460px;top:5%;right:-18%;background:radial-gradient(circle at 55% 40%,#60a5fa,#3b82f6 50%,#60a5fa59 75%);box-shadow:0 0 100px #3b82f680;animation-direction:alternate-reverse,normal,normal}.ameba--3{--ameba-drift-dur: 16s;--ameba-morph-dur: 8s;--ameba-pulse-dur: 5.5s;--ameba-drift-delay: -6s;--ameba-morph-delay: -4s;--ameba-pulse-delay: -3s;width:400px;height:440px;bottom:-18%;left:5%;background:radial-gradient(circle at 50% 50%,#2563eb,#1d4ed8 40%,#3b82f659 72%);box-shadow:0 0 90px #1d4ed866}.ameba--4{--ameba-drift-dur: 20s;--ameba-morph-dur: 10s;--ameba-pulse-dur: 7s;--ameba-drift-delay: -2s;--ameba-morph-delay: -7s;--ameba-pulse-delay: -2.5s;width:340px;height:360px;bottom:8%;right:-5%;background:radial-gradient(circle at 45% 55%,#93c5fd,#3b82f6 55%,#93c5fd80 80%);opacity:.88;box-shadow:0 0 70px #60a5fa8c}.ameba--5{--ameba-drift-dur: 12s;--ameba-morph-dur: 6s;--ameba-pulse-dur: 4.5s;--ameba-drift-delay: -8s;--ameba-morph-delay: -1s;--ameba-pulse-delay: -4s;width:280px;height:300px;top:38%;left:32%;background:radial-gradient(circle at 50% 50%,#2563eb 0%,rgba(37,99,235,.55) 55%,transparent 72%);opacity:.75;filter:blur(36px);box-shadow:0 0 60px #2563eb59}.ameba--6{--ameba-drift-dur: 13s;--ameba-morph-dur: 7.5s;--ameba-pulse-dur: 5.2s;--ameba-drift-delay: -5s;--ameba-morph-delay: -3.5s;--ameba-pulse-delay: -2s;width:220px;height:260px;top:8%;left:42%;background:radial-gradient(circle at 40% 45%,#60a5fa,#3b82f6 60%,#60a5fa4d 78%);opacity:.8;filter:blur(24px)}.ameba--7{--ameba-drift-dur: 17s;--ameba-morph-dur: 9.5s;--ameba-pulse-dur: 6.8s;--ameba-drift-delay: -11s;--ameba-morph-delay: -6s;--ameba-pulse-delay: -5.5s;width:300px;height:280px;top:55%;right:22%;background:radial-gradient(circle at 60% 50%,#1d4ed8,#2563eb 50%,#2563eb66 75%);animation-direction:alternate-reverse,normal,normal}.ameba--8{--ameba-drift-dur: 11s;--ameba-morph-dur: 5.5s;--ameba-pulse-dur: 4s;--ameba-drift-delay: -1.5s;--ameba-morph-delay: -8s;--ameba-pulse-delay: -3.5s;width:180px;height:200px;top:22%;left:8%;background:radial-gradient(circle at 50% 50%,#93c5fd 0%,#60a5fa 55%,transparent 80%);opacity:.85;filter:blur(20px)}.ameba--9{--ameba-drift-dur: 19s;--ameba-morph-dur: 11.5s;--ameba-pulse-dur: 7.2s;--ameba-drift-delay: -9s;--ameba-morph-delay: -2s;--ameba-pulse-delay: -6s;width:360px;height:320px;bottom:5%;left:42%;background:radial-gradient(circle at 45% 55%,#3b82f6,#1e40af 45%,#3b82f659 70%);box-shadow:0 0 75px #1e40af66}.ameba--10{--ameba-drift-dur: 15s;--ameba-morph-dur: 8.5s;--ameba-pulse-dur: 5.8s;--ameba-drift-delay: -4.5s;--ameba-morph-delay: -9s;--ameba-pulse-delay: -1s;width:200px;height:240px;top:68%;left:-4%;background:radial-gradient(circle at 35% 65%,#2563eb,#60a5fa 50%,#93c5fd73 78%);opacity:.82}.ameba--11{--ameba-drift-dur: 21s;--ameba-morph-dur: 10.5s;--ameba-pulse-dur: 6.2s;--ameba-drift-delay: -12s;--ameba-morph-delay: -4.5s;--ameba-pulse-delay: -7s;width:260px;height:220px;top:-5%;right:28%;background:radial-gradient(circle at 50% 40%,#38bdf8,#3b82f6 55%,#38bdf859 80%);box-shadow:0 0 65px #38bdf873;animation-direction:normal,alternate-reverse,normal}.ameba--12{--ameba-drift-dur: 10s;--ameba-morph-dur: 5s;--ameba-pulse-dur: 3.8s;--ameba-drift-delay: -6.5s;--ameba-morph-delay: -10s;--ameba-pulse-delay: -2.8s;width:150px;height:170px;bottom:28%;right:35%;background:radial-gradient(circle at 50% 50%,#2563eb 0%,rgba(37,99,235,.5) 60%,transparent 85%);opacity:.7;filter:blur(22px)}.ameba--2,.ameba--7,.ameba--11{animation-name:ameba-drift-alt,ameba-morph,ameba-pulse}@keyframes ameba-drift-alt{0%,to{transform:translate(0) rotate(0) scale(1)}20%{transform:translate(-42px,30px) rotate(-12deg) scale(1.08)}45%{transform:translate(50px,-35px) rotate(14deg) scale(.9)}70%{transform:translate(-28px,-48px) rotate(-6deg) scale(1.12)}}@keyframes ameba-drift{0%,to{transform:translate(0) rotate(0) scale(1)}25%{transform:translate(48px,-40px) rotate(10deg) scale(1.1)}50%{transform:translate(-36px,44px) rotate(-8deg) scale(.92)}75%{transform:translate(40px,28px) rotate(6deg) scale(1.06)}}@keyframes ameba-pulse{0%,to{opacity:.82;filter:blur(28px)}50%{opacity:1;filter:blur(22px)}}@keyframes ameba-morph{0%,to{border-radius:40% 60% 65% 35%/45% 55%}33%{border-radius:65% 35% 45% 55%/55% 40% 60% 45%}66%{border-radius:35% 65% 55% 45%/40% 60% 35% 65%}}.auth-card{position:relative;z-index:1;width:100%;max-width:420px;background:#ffffffe0;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border-radius:var(--radius-xl);padding:40px 36px;box-shadow:var(--shadow-lg);border:1px solid var(--border-light)}@media(prefers-reduced-motion:reduce){.ameba{animation:none;opacity:.6}}.auth-brand{text-align:center;margin-bottom:32px}.auth-logo{width:48px;height:48px;margin:0 auto 16px;background:linear-gradient(135deg,var(--blue-600),var(--blue-500));border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;box-shadow:0 4px 14px #2563eb59}.auth-logo svg{width:26px;height:26px;color:#fff}.auth-brand h1{font-size:1.35rem;font-weight:700;letter-spacing:-.02em;color:var(--text-primary)}.auth-brand p{font-size:.8125rem;color:var(--text-secondary);margin-top:6px;font-weight:500}.form-group{margin-bottom:18px}.form-group label{display:block;font-size:.75rem;font-weight:600;color:var(--text-secondary);margin-bottom:8px;letter-spacing:.02em;text-transform:uppercase}.form-input{width:100%;height:46px;padding:0 14px;font-family:var(--font);font-size:.875rem;font-weight:500;color:var(--text-primary);background:var(--bg-page);border:1px solid var(--border);border-radius:var(--radius-sm);transition:border-color var(--transition),box-shadow var(--transition)}.form-input:focus{outline:none;border-color:var(--blue-500);box-shadow:0 0 0 3px #3b82f626;background:var(--bg-surface)}.form-input::placeholder{color:var(--text-muted);font-weight:400}.form-row{display:flex;align-items:center;justify-content:space-between;margin-bottom:24px;font-size:.8125rem}.form-check{display:flex;align-items:center;gap:8px;color:var(--text-secondary);font-weight:500;cursor:pointer}.form-check input{width:16px;height:16px;accent-color:var(--blue-600)}.link-muted{color:var(--blue-600);font-weight:600;font-size:.8125rem}.link-muted:hover{color:var(--blue-700)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;font-family:var(--font);font-size:.875rem;font-weight:600;border:none;border-radius:var(--radius-sm);cursor:pointer;transition:all var(--transition)}.btn-primary{width:100%;height:46px;background:var(--blue-600);color:#fff;box-shadow:0 2px 8px #2563eb4d}.btn-primary:hover{background:var(--blue-700);box-shadow:0 4px 14px #2563eb59;transform:translateY(-1px)}.btn-ghost{height:38px;padding:0 14px;background:transparent;color:var(--text-secondary);border:1px solid var(--border)}.btn-ghost:hover{background:var(--bg-page);color:var(--text-primary)}.btn-sm{height:34px;padding:0 12px;font-size:.8125rem;background:var(--blue-50);color:var(--blue-600)}.btn-sm:hover{background:var(--blue-100)}.app-shell{display:flex;min-height:100vh}.sidebar{width:var(--sidebar-width);flex-shrink:0;background:var(--bg-sidebar);border-right:1px solid var(--border);display:flex;flex-direction:column;position:fixed;top:0;left:0;bottom:0;z-index:100;transition:transform var(--transition)}.sidebar-brand{height:var(--topbar-height);padding:0 22px;display:flex;align-items:center;gap:12px;border-bottom:1px solid var(--border-light)}.sidebar-brand .brand-icon{width:36px;height:36px;background:linear-gradient(135deg,var(--blue-600),var(--blue-500));border-radius:10px;display:flex;align-items:center;justify-content:center;box-shadow:0 2px 10px #2563eb40}.sidebar-brand .brand-icon svg{width:20px;height:20px;color:#fff}.sidebar-brand span{font-size:1.0625rem;font-weight:700;letter-spacing:-.02em}.sidebar-nav{flex:1;padding:16px 12px;overflow-y:auto}.nav-section{font-size:.6875rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted);padding:12px 12px 8px}.nav-link{display:flex;align-items:center;gap:12px;padding:11px 14px;border-radius:var(--radius-sm);font-size:.875rem;font-weight:500;color:var(--text-secondary);margin-bottom:2px;transition:all var(--transition)}.nav-link svg{width:20px;height:20px;flex-shrink:0;opacity:.7}.nav-link:hover{background:var(--bg-sidebar-hover);color:var(--blue-600)}.nav-link:hover svg{opacity:1}.nav-link.active{background:var(--blue-50);color:var(--blue-600);font-weight:600}.nav-link.active svg{opacity:1;color:var(--blue-600)}.sidebar-footer{padding:16px 12px 20px;border-top:1px solid var(--border-light)}.nav-link.logout{color:var(--text-muted)}.nav-link.logout:hover{background:#fef2f2;color:#dc2626}.main-wrap{flex:1;margin-left:var(--sidebar-width);min-width:0;max-width:100%;display:flex;flex-direction:column;overflow-x:hidden}.topbar{min-height:var(--topbar-height);background:var(--bg-surface);border-bottom:1px solid var(--border);padding:0 28px;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px 16px;position:sticky;top:0;z-index:50}.topbar-left{display:flex;align-items:center;gap:12px;min-width:0;flex:1 1 auto}.topbar-heading{min-width:0;flex:1}.menu-toggle{display:none;flex-shrink:0;width:44px;height:44px;border:1px solid var(--border);background:var(--bg-surface);border-radius:var(--radius-sm);cursor:pointer;align-items:center;justify-content:center;padding:0;box-shadow:var(--shadow-xs)}.content-header{display:none;align-items:flex-start;gap:12px;margin-bottom:22px}.content-heading{min-width:0;flex:1;padding-top:2px}.content-header .page-title{font-size:1.375rem;font-weight:700;letter-spacing:-.03em;line-height:1.25}.content-header .page-subtitle{font-size:.875rem;margin-top:6px;color:var(--text-secondary);font-weight:500;line-height:1.4}.topbar-menu-mobile{display:none;position:relative;margin-left:auto}.topbar-menu-trigger{width:44px;height:44px;display:flex;align-items:center;justify-content:center;border:1px solid var(--border);background:var(--bg-surface);border-radius:var(--radius-sm);cursor:pointer;padding:0;color:var(--text-secondary);box-shadow:var(--shadow-xs);transition:background var(--transition),color var(--transition),border-color var(--transition)}.topbar-menu-trigger:hover,.topbar-menu-trigger[aria-expanded=true]{background:var(--blue-50);border-color:var(--blue-100);color:var(--blue-600)}.topbar-menu-panel{position:absolute;top:calc(100% + 10px);right:0;width:min(300px,calc(100vw - 24px));background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);padding:12px;z-index:120;opacity:0;visibility:hidden;transform:translateY(-6px) scale(.98);transform-origin:top right;transition:opacity .2s ease,transform .2s ease,visibility .2s;pointer-events:none}.topbar-menu-panel.is-open{opacity:1;visibility:visible;transform:translateY(0) scale(1);pointer-events:auto}.topbar-menu-panel .search-box{display:flex;width:100%;min-width:0;margin-bottom:8px}.topbar-menu-divider{height:1px;background:var(--border-light);margin:8px 0}.topbar-menu-item{display:flex;align-items:center;gap:12px;width:100%;padding:11px 12px;border:none;background:transparent;border-radius:var(--radius-sm);font-family:var(--font);font-size:.875rem;font-weight:600;color:var(--text-primary);cursor:pointer;text-align:left;transition:background var(--transition)}.topbar-menu-item:hover{background:var(--bg-page)}.topbar-menu-item svg{width:20px;height:20px;flex-shrink:0;color:var(--blue-600)}.topbar-menu-user{display:flex;align-items:center;gap:12px;padding:10px 12px;border-radius:var(--radius-sm);text-decoration:none;color:inherit;transition:background var(--transition)}.topbar-menu-user:hover{background:var(--bg-page)}.topbar-menu-user .user-avatar{width:40px;height:40px;font-size:.8125rem}.topbar-menu-user-info{min-width:0}.topbar-menu-user-info strong{display:block;font-size:.875rem;font-weight:700}.topbar-menu-user-info span{font-size:.75rem;color:var(--text-secondary);font-weight:500}.topbar-menu-item--danger{color:#dc2626}.topbar-menu-item--danger svg{color:#dc2626}.topbar-menu-item--danger:hover{background:#fef2f2}.page-title{font-size:1.125rem;font-weight:700;letter-spacing:-.02em;line-height:1.3}.page-title .title-short{display:none}.page-subtitle{font-size:.8125rem;color:var(--text-secondary);font-weight:500;line-height:1.35;margin-top:2px}.topbar-right{display:flex;align-items:center;gap:10px;flex-shrink:0}.topbar-actions{display:flex;align-items:center;gap:8px;flex-shrink:0}.btn-topbar-action{display:inline-flex;align-items:center;justify-content:center;gap:6px;flex-shrink:0}.btn-topbar-action .btn-icon{flex-shrink:0}.search-box{display:flex;align-items:center;gap:8px;height:40px;padding:0 14px;background:var(--bg-page);border:1px solid var(--border);border-radius:var(--radius-sm);min-width:220px}.search-box svg{width:18px;height:18px;color:var(--text-muted)}.search-box input{border:none;background:none;font-family:var(--font);font-size:.8125rem;font-weight:500;width:100%;outline:none;color:var(--text-primary)}.user-pill{display:flex;align-items:center;gap:10px;padding:6px 12px 6px 6px;background:var(--bg-page);border:1px solid var(--border);border-radius:999px}.user-avatar{width:32px;height:32px;border-radius:50%;background:linear-gradient(135deg,var(--blue-500),var(--blue-700));color:#fff;font-size:.75rem;font-weight:700;display:flex;align-items:center;justify-content:center}.user-pill .name{font-size:.8125rem;font-weight:600}.content{padding:28px;flex:1;min-width:0;max-width:100%;box-sizing:border-box}.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;margin-bottom:24px}.stats-grid--5{grid-template-columns:repeat(5,minmax(0,1fr));gap:16px}.card{background:var(--bg-surface);border-radius:var(--radius-md);border:1px solid var(--border-light);box-shadow:var(--shadow-card);transition:box-shadow var(--transition),transform var(--transition)}.card:hover{box-shadow:var(--shadow-card-hover)}.stat-card:hover,.charts-grid .card:hover,.charts-grid-bottom .card:hover,.placeholder-card:hover{transform:translateY(-2px)}.stat-card{padding:22px 24px}.stat-card .label{font-size:.75rem;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;margin-bottom:8px}.stat-card .value{font-size:1.75rem;font-weight:700;letter-spacing:-.03em;color:var(--text-primary);line-height:1.2}.stat-card .delta{display:inline-flex;align-items:center;gap:4px;margin-top:10px;font-size:.75rem;font-weight:600;padding:4px 8px;border-radius:6px}.stat-card .delta.up{background:#ecfdf5;color:#059669}.stat-card .delta.down{background:#fef2f2;color:#dc2626}.stat-card .icon-wrap{float:right;width:44px;height:44px;border-radius:var(--radius-sm);background:var(--blue-50);display:flex;align-items:center;justify-content:center;margin-top:-4px}.stat-card .icon-wrap svg{width:22px;height:22px;color:var(--blue-600)}.charts-grid,.charts-grid-bottom{display:grid;gap:20px;margin-bottom:24px;width:100%;min-width:0}.charts-grid{grid-template-columns:2fr 1fr}.charts-grid-bottom{grid-template-columns:1fr 1fr}.charts-grid .card,.charts-grid-bottom .card{min-width:0;max-width:100%;overflow:hidden}.card-header{padding:20px 24px 0;display:flex;align-items:flex-start;justify-content:space-between;gap:12px;flex-wrap:wrap}.card-header>div:first-child{min-width:0;flex:1 1 180px}.card-header h3{font-size:.9375rem;font-weight:700;letter-spacing:-.01em}.card-header p{font-size:.8125rem;color:var(--text-secondary);margin-top:4px;font-weight:500}.card-body{padding:16px 24px 24px;min-width:0}.chart-wrap{position:relative;width:100%;max-width:100%;min-width:0;height:260px}.chart-wrap-sm{height:220px}.chart-wrap canvas{display:block;max-width:100%!important}.table-card .card-header{padding-bottom:16px;border-bottom:1px solid var(--border-light);margin:0 24px;padding-left:0;padding-right:0}.table-wrap{overflow-x:auto}table.data-table{width:100%;border-collapse:collapse}.data-table th{text-align:left;font-size:.6875rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);padding:14px 24px;border-bottom:1px solid var(--border);background:var(--bg-page)}.data-table td{padding:14px 24px;font-size:.8125rem;font-weight:500;border-bottom:1px solid var(--border-light)}.data-table tbody tr:hover td{background:#fafbfd}.badge{display:inline-block;padding:4px 10px;font-size:.6875rem;font-weight:700;border-radius:999px;letter-spacing:.02em}.badge-success{background:#ecfdf5;color:#059669}.badge-warning{background:#fffbeb;color:#d97706}.badge-danger{background:#fef2f2;color:#dc2626}.badge-blue{background:var(--blue-50);color:var(--blue-600)}.page-hero{margin-bottom:24px}.page-hero h2{font-size:1.5rem;font-weight:700;letter-spacing:-.02em}.page-hero p{color:var(--text-secondary);font-weight:500;margin-top:6px}.placeholder-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.placeholder-card{padding:28px 24px;min-height:140px}.placeholder-card h4{font-size:.9375rem;font-weight:600;margin-bottom:8px}.placeholder-card p{font-size:.8125rem;color:var(--text-secondary);font-weight:500}.filters-bar{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:20px}.filters-bar .form-input{width:auto;min-width:160px;height:40px}.users-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:20px}.stat-card--compact{padding:18px 20px}.stat-card--compact .value{font-size:1.5rem}.stat-card--compact .delta{margin-top:8px}.user-cell{display:flex;align-items:center;gap:12px}.user-avatar--sm{width:36px;height:36px;font-size:.6875rem;flex-shrink:0}.user-avatar--muted{background:linear-gradient(135deg,#94a3b8,#64748b)}.badge-role{text-transform:capitalize}.badge-role--admin{background:#ede9fe;color:#6d28d9}.badge-role--supervisor{background:var(--blue-50);color:var(--blue-700)}.badge-role--operador{background:#f0fdf4;color:#15803d}.actions-cell{white-space:nowrap}.btn-table{font-family:var(--font);font-size:.75rem;font-weight:600;color:var(--blue-600);background:transparent;border:none;cursor:pointer;padding:4px 8px;border-radius:6px;margin-right:4px}.btn-table:hover{background:var(--blue-50)}.table-card-header{padding-bottom:12px;margin:0 24px;padding-left:0;padding-right:0;border-bottom:1px solid var(--border-light)}.table-card-header p{font-size:.8125rem;color:var(--text-secondary);margin-top:4px}.page-hint{font-size:.8125rem;color:var(--text-secondary);margin-top:16px;line-height:1.5}.page-hint code{font-size:.75rem;background:var(--bg-page);padding:2px 6px;border-radius:4px}.form-hint{font-size:.75rem;color:var(--text-muted);margin-top:6px;font-weight:500}.form-row--grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:0}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:200;display:flex;align-items:center;justify-content:center;padding:24px;background:#0f172a73;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);opacity:0;visibility:hidden;transition:opacity .2s ease,visibility .2s}.modal{width:100%;max-width:480px;max-height:calc(100vh - 48px);overflow-y:auto;background:var(--bg-surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);border:1px solid var(--border-light);transform:translateY(12px) scale(.98);transition:transform .2s ease}.modal-overlay.is-open .modal{transform:translateY(0) scale(1)}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:22px 24px 0}.modal-header h2{font-size:1.125rem;font-weight:700;letter-spacing:-.02em}.modal-close{width:36px;height:36px;display:flex;align-items:center;justify-content:center;border:1px solid var(--border);background:var(--bg-surface);border-radius:var(--radius-sm);cursor:pointer;color:var(--text-secondary)}.modal-close:hover{background:var(--bg-page)}.modal-body{padding:20px 24px 24px}.modal-footer{display:flex;justify-content:flex-end;gap:10px;margin-top:8px;padding-top:16px;border-top:1px solid var(--border-light)}@media(max-width:1200px){.stats-grid,.users-stats{grid-template-columns:repeat(2,1fr)}.stats-grid--5{grid-template-columns:repeat(3,minmax(0,1fr))}.charts-grid{grid-template-columns:1fr}}@media(max-width:991px){.sidebar{transform:translate(-100%)}.sidebar.open{transform:translate(0);box-shadow:var(--shadow-lg)}.main-wrap{margin-left:0}header.topbar>.topbar-right,.topbar-right--desktop{display:none!important}.topbar .topbar-left{display:flex!important;flex:1;min-width:0;align-items:center;gap:10px}.topbar .topbar-left .menu-toggle{display:flex}.topbar-heading{min-width:0;flex:1;overflow:hidden}.topbar-heading .page-title{font-size:1rem;margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.topbar-heading .page-subtitle{display:block;font-size:.75rem;margin-top:2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.topbar{display:flex;align-items:center;gap:8px;justify-content:flex-start;padding:10px 12px;min-height:60px;flex-wrap:nowrap}.topbar-menu-mobile{display:block!important;flex-shrink:0;margin-left:auto}.content-header{display:none!important}.topbar-heading .page-title .title-full{display:none}.topbar-heading .page-title .title-short{display:inline}.charts-grid,.charts-grid-bottom,.placeholder-grid{grid-template-columns:1fr}.chart-wrap{height:clamp(200px,42vw,280px)}.chart-wrap-sm{height:clamp(180px,38vw,240px)}.card-header{padding:16px 16px 0}.card-body{padding:12px 16px 20px}}@media(min-width:992px){.topbar-left .menu-toggle{display:flex}.content-header,.topbar-menu-mobile{display:none!important}}@media(max-width:600px){.stats-grid,.users-stats,.stats-grid--5,.form-row--grid{grid-template-columns:1fr}.actions-cell .btn-table{display:block;margin:2px 0}.content{padding:16px 16px 20px}.topbar-heading .page-title{font-size:.9375rem}.topbar-heading .page-subtitle{font-size:.6875rem}.menu-toggle,.topbar-menu-trigger{width:42px;height:42px}}.sidebar-backdrop{display:none;position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172a66;z-index:90;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.sidebar-backdrop.visible{display:block}#app{min-height:100vh}.stat-card .delta.meta{background:var(--blue-50, #eff6ff);color:var(--blue-700, #1d4ed8)}.dashboard-date-filter{margin-bottom:20px}.dashboard-date-filter__row{display:flex;flex-wrap:wrap;align-items:flex-end;gap:12px}.dashboard-date-filter__row .filter-field{margin:0}.dashboard-date-filter__row .form-input{width:auto;min-width:150px;height:38px}.dashboard-date-filter__actions{display:flex;align-items:center;gap:8px;flex-shrink:0}.dashboard-date-filter__actions .btn{width:auto;height:38px;padding:0 14px;white-space:nowrap}.dashboard-date-filter__hint{margin:8px 0 0;font-size:.8125rem;color:var(--text-secondary)}.chart-wrap-lg{height:340px}.chart-wrap-md{height:280px}.consumption-variation-card{margin-bottom:24px}.consumption-table-card{margin-top:24px}.consumption-legend{list-style:none;padding:12px 0 0;margin:0;display:flex;flex-wrap:wrap;gap:12px 20px;font-size:.8125rem;color:var(--text-secondary)}.consumption-legend .dot{display:inline-block;width:10px;height:10px;border-radius:50%;margin-right:6px;vertical-align:middle}.dot--ok{background:#10b981}.dot--high{background:#ef4444}.dot--low{background:#f59e0b}.data-table-row--alert td{background:#fef2f2}.table-sub{font-size:.75rem;font-weight:500;color:var(--text-secondary);margin-top:4px;max-width:220px;line-height:1.35}.text-danger{color:#dc2626}.brand-logo{display:block;border-radius:50%;object-fit:cover;flex-shrink:0;box-shadow:0 2px 10px #2563eb33}.brand-logo--lg{margin:0 auto 16px;box-shadow:0 4px 16px #2563eb47}.brand-logo--xl{width:104px;height:104px;margin:0 auto 20px;box-shadow:0 6px 20px #2563eb52}.sidebar-brand{justify-content:center;align-items:flex-start;padding:16px;min-height:auto;height:auto}.sidebar-brand .brand-logo--sidebar{width:112px;height:112px;margin-top:12px;box-shadow:0 4px 14px #2563eb47}.nav-link.nav-link--active{background:var(--bg-sidebar-hover);color:var(--blue-700);font-weight:600}.nav-link.nav-link--active svg{opacity:1;color:var(--blue-700)}.profile-layout{display:grid;grid-template-columns:minmax(280px,360px) 1fr;gap:20px;align-items:start}.profile-card{padding:24px}.profile-card .card-header{padding:0 0 20px}.profile-card__hero{display:flex;align-items:center;gap:16px;margin-bottom:20px}.profile-card__hero h3{margin:0;font-size:1.1rem}.profile-card__hero p{margin:4px 0 0;color:var(--text-secondary);font-size:.875rem}.profile-form{padding:0;max-width:420px}.profile-card .user-detail__grid{margin-bottom:0}@media(max-width:900px){.profile-layout{grid-template-columns:1fr}}.sidebar-logout{display:flex;align-items:center;gap:12px;width:100%;padding:12px 14px;border:1px solid var(--border-light);border-radius:var(--radius-md);background:linear-gradient(180deg,#fff 0%,var(--bg-sidebar-hover, #f8fafc) 100%);color:var(--text-secondary);font-family:inherit;cursor:pointer;text-align:left;transition:border-color .2s ease,background .2s ease,box-shadow .2s ease,color .2s ease}.sidebar-logout__icon{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:var(--radius-sm);background:#fef2f2;color:#dc2626;flex-shrink:0;transition:background .2s ease,transform .2s ease}.sidebar-logout__icon svg{width:18px;height:18px}.sidebar-logout__text{display:flex;flex-direction:column;gap:2px;min-width:0}.sidebar-logout__label{font-size:.875rem;font-weight:600;color:var(--text-primary)}.sidebar-logout__hint{font-size:.6875rem;font-weight:500;color:var(--text-muted)}.sidebar-logout:hover{border-color:#fecaca;background:linear-gradient(180deg,#fff,#fef2f2);box-shadow:0 4px 14px #dc262614}.sidebar-logout:hover .sidebar-logout__icon{background:#fee2e2;transform:translate(2px)}.sidebar-logout:hover .sidebar-logout__label{color:#b91c1c}.sidebar-logout:focus-visible{outline:2px solid #fca5a5;outline-offset:2px}.sidebar-logout:active{transform:scale(.99)}.vue-hidden{display:none!important}.form-error{color:#dc2626;font-size:.8125rem;margin-top:8px;font-weight:600}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172a73;z-index:200;display:flex;align-items:center;justify-content:center;padding:20px;opacity:1;visibility:visible}.modal-overlay.is-open{opacity:1;visibility:visible}.modal-card{background:var(--bg-surface);border-radius:var(--radius-lg);width:100%;max-width:480px;max-height:90vh;overflow-y:auto;box-shadow:var(--shadow-lg);border:1px solid var(--border-light)}.modal-header{padding:20px 24px;border-bottom:1px solid var(--border-light);display:flex;justify-content:space-between;align-items:center}.modal-header h3{font-size:1rem;font-weight:700}.modal-body{padding:20px 24px}.modal-footer{padding:16px 24px;border-top:1px solid var(--border-light);display:flex;gap:10px;justify-content:flex-end}.btn-close{background:none;border:none;font-size:1.5rem;cursor:pointer;color:var(--text-muted);line-height:1}.pagination{display:flex;align-items:center;justify-content:center;gap:8px;padding:16px 20px;border-top:1px solid var(--border-light)}.pagination-info{font-size:.8125rem;font-weight:600;color:var(--text-secondary);padding:0 12px}.detail-toolbar{display:flex;align-items:center;gap:16px;margin-bottom:16px;flex-wrap:wrap}.detail-title{font-size:1.1rem;font-weight:700;margin:0}.form-row--grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:12px}textarea.form-input{resize:vertical;min-height:80px}.form-card{background:var(--bg-surface);border:1px solid var(--border-light);border-radius:var(--radius-lg);padding:20px 24px;margin-bottom:16px}.form-card-title{font-size:.875rem;font-weight:700;margin:0 0 16px;color:var(--text-primary)}.order-photo-block{border:1px solid var(--border-light);border-radius:var(--radius-md);background:var(--bg-page, #f8fafc);padding:8px;overflow:hidden}.order-photo-block a{display:block}.order-photo-preview{display:block;width:100%;max-height:280px;object-fit:contain;border-radius:var(--radius-sm);background:#fff}.ld-label{display:block;font-size:.75rem;font-weight:600;color:var(--text-secondary);margin-bottom:6px}.data-table-row--clickable{cursor:pointer}.data-table-row--clickable:hover td,.data-table-row--clickable:focus-visible td{background:var(--bg-sidebar-hover, #f1f5f9)}.data-table .col-actions{width:1%;white-space:nowrap}.drawer-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172a66;z-index:300}.filter-drawer,.right-drawer{position:fixed;top:0;right:0;bottom:0;width:min(400px,100vw);background:var(--bg-surface);border-left:1px solid var(--border-light);box-shadow:var(--shadow-lg);z-index:301;display:flex;flex-direction:column}.right-drawer--wide{width:min(440px,100vw)}.filter-drawer__header,.right-drawer__header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:20px 24px;border-bottom:1px solid var(--border-light)}.filter-drawer__header h2,.right-drawer__header h2{font-size:1rem;font-weight:700;margin:0 0 4px}.filter-drawer__header p,.right-drawer__header p{font-size:.8125rem;color:var(--text-muted);margin:0}.filter-drawer__body,.right-drawer__body{flex:1;overflow-y:auto;padding:20px 24px;display:flex;flex-direction:column;gap:16px}.filter-drawer__footer,.right-drawer__footer{display:flex;justify-content:flex-end;flex-wrap:wrap;gap:10px;padding:16px 24px;border-top:1px solid var(--border-light)}.drawer-fade-enter-active,.drawer-fade-leave-active{transition:opacity .2s ease}.drawer-fade-enter-from,.drawer-fade-leave-to{opacity:0}.drawer-slide-enter-active,.drawer-slide-leave-active{transition:transform .25s ease}.drawer-slide-enter-from,.drawer-slide-leave-to{transform:translate(100%)}.filter-field label{display:block;font-size:.75rem;font-weight:600;color:var(--text-secondary);margin-bottom:6px}.filter-field .form-input{width:100%}.table-toolbar{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.table-toolbar-spacer{flex:1}.sortable-th{cursor:pointer;-webkit-user-select:none;user-select:none;white-space:nowrap}.sortable-th__label{margin-right:4px}.sortable-th__icon{display:inline-flex;flex-direction:column;vertical-align:middle;line-height:.65;font-size:.5rem;opacity:.25}.sortable-th:hover .sortable-th__icon,.sortable-th--active .sortable-th__icon{opacity:.55}.sortable-th--asc .sortable-th__chev--up,.sortable-th--desc .sortable-th__chev--down{opacity:1;color:var(--blue-700)}.sortable-th--asc .sortable-th__chev--down,.sortable-th--desc .sortable-th__chev--up{opacity:.15}.table-wrap--orders{max-width:100%;margin:0 -4px;padding:4px}.data-table--orders{width:max-content;min-width:100%}.data-table--orders th,.data-table--orders td{padding:14px 20px;font-size:.8125rem;vertical-align:middle}.data-table--orders .col-actions--orders,.data-table--orders .actions-cell--orders{position:sticky;left:0;z-index:2;min-width:132px;width:132px;background:var(--bg-surface);box-shadow:6px 0 10px -8px #0f172a1f}.data-table--orders thead .col-actions--orders{z-index:3;background:var(--bg-page)}.data-table--orders .actions-cell--orders{white-space:nowrap}.data-table--orders .btn-table--order{display:inline-block;padding:6px 12px;font-size:.8125rem;white-space:nowrap}.data-table--orders .orders-cell--nowrap{white-space:nowrap}.data-table--orders .orders-cell--wrap{min-width:160px;max-width:280px;white-space:normal;word-break:break-word;line-height:1.45}.data-table--orders .orders-cell--link{min-width:120px;max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.data-table--orders .orders-cell--datetime{min-width:148px;white-space:nowrap}@media(max-width:600px){.data-table--orders .btn-table--order{display:inline-block}}.modal-card--wide{max-width:520px}.modal-card--analysis{max-width:min(96vw,1040px);width:100%}.modal-sub{margin:4px 0 0;font-size:.8125rem;color:var(--text-muted);font-weight:500}.chart-wrap-analysis{height:380px;margin-top:8px}.analysis-kpis{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:4px}.analysis-kpi{flex:1;min-width:120px;padding:12px 14px;border-radius:var(--radius-sm);background:var(--bg-muted, #f8fafc);border:1px solid var(--border-light)}.analysis-kpi--alert{border-color:#fecaca;background:#fef2f2}.analysis-kpi__label{display:block;font-size:.6875rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted);margin-bottom:4px}.analysis-kpi strong{font-size:1rem;color:var(--text-primary)}.analysis-legend{display:flex;flex-wrap:wrap;gap:16px;list-style:none;margin:14px 0 0;padding:0;font-size:.75rem;color:var(--text-muted)}.analysis-legend li{display:flex;align-items:center;gap:6px}.analysis-legend .dot--line{background:#2563eb}.analysis-legend .dot--avg{background:#94a3b8}.analysis-empty{text-align:center;padding:24px 12px;color:var(--text-muted)}.analysis-empty p{margin:0 0 8px}.user-detail__hero{display:flex;align-items:center;gap:16px;margin-bottom:20px}.user-detail__hero h4{margin:0 0 4px;font-size:1.05rem}.user-detail__hero p{margin:0;color:var(--text-muted);font-size:.875rem}.user-avatar--lg{width:52px;height:52px;font-size:1rem}.user-detail__grid{display:grid;grid-template-columns:1fr 1fr;gap:14px 20px;margin:0 0 16px}.user-detail__grid dt{font-size:.6875rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);margin-bottom:4px}.user-detail__grid dd{margin:0;font-size:.875rem;font-weight:600}.user-detail__hint{font-size:.8125rem;color:var(--text-secondary);background:var(--bg-sidebar-hover, #f8fafc);border-radius:var(--radius-sm);padding:10px 12px;margin:0}.user-you{display:inline-block;margin-left:6px;font-size:.625rem;font-weight:700;text-transform:uppercase;color:var(--blue-700);background:var(--blue-50, #eff6ff);padding:2px 6px;border-radius:4px;vertical-align:middle}.page-hint--success{color:#166534;background:#f0fdf4;border:1px solid #bbf7d0;border-radius:var(--radius-sm);padding:10px 14px;margin-bottom:12px}.actions-cell--wrap{display:flex;flex-wrap:wrap;gap:4px;min-width:280px}.col-actions-wide{min-width:280px}.btn-table--danger{color:#b91c1c}.btn-table--danger:hover{background:#fef2f2;color:#991b1b}.btn-table:disabled{opacity:.45;cursor:not-allowed}.form-hint{font-size:.75rem;color:var(--text-muted);margin-top:6px}.dialog-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:400;display:flex;align-items:center;justify-content:center;padding:24px;background:#0f172a73;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.dialog-modal{width:100%;max-width:420px;background:var(--bg-surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);border:1px solid var(--border-light);overflow:hidden}.dialog-modal__header{display:flex;align-items:flex-start;gap:12px;padding:20px 20px 12px}.dialog-modal__header h3{margin:0;font-size:1rem;font-weight:700;padding-top:4px}.dialog-modal__icon{width:36px;height:36px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:800;font-size:1rem;flex-shrink:0}.dialog-modal__icon--info{background:var(--blue-50, #eff6ff);color:var(--blue-700, #1d4ed8)}.dialog-modal__icon--danger{background:#fef2f2;color:#dc2626}.dialog-modal__body{padding:0 20px 16px 68px}.dialog-modal__body p{margin:0 0 8px;font-size:.875rem;color:var(--text-secondary);line-height:1.5}.dialog-modal__body p:last-child{margin-bottom:0}.dialog-modal__footer{display:flex;justify-content:flex-end;gap:10px;padding:16px 20px;border-top:1px solid var(--border-light);background:var(--bg-sidebar-hover, #f8fafc)}.btn-danger{background:#dc2626;color:#fff;border:none;border-radius:var(--radius-sm);font-weight:600;cursor:pointer;height:38px;padding:0 18px}.btn-danger:hover{background:#b91c1c}.dialog-fade-enter-active,.dialog-fade-leave-active{transition:opacity .2s ease}.dialog-fade-enter-active .dialog-modal,.dialog-fade-leave-active .dialog-modal{transition:transform .2s ease}.dialog-fade-enter-from,.dialog-fade-leave-to{opacity:0}.dialog-fade-enter-from .dialog-modal,.dialog-fade-leave-to .dialog-modal{transform:translateY(8px) scale(.98)}
