:root{--ink-0: #07090A;--ink-1: #0D1311;--ink-2: #11181A;--ink-3: #161E1E;--ink-4: #232C2A;--ink-5: #3A4642;--bg: #0A0F0E;--surface: #11181A;--surface-2: #0E1413;--line: #232C2A;--line-2: #1A2221;--fg: #F0F4F1;--fg-2: #C7D0CB;--fg-3: #8A938F;--fg-on-dark: #F0F4F1;--fg-on-dark-2: #8A938F;--green-50: #ECF8EF;--green-100: #D1EFD9;--green-200: #A6DFB4;--green-300: #6FCC85;--green-500: #2BAA4A;--green-600: #1F8C3B;--green-700: #176E2D;--green-900: #0C3E18;--lime: #B8E96A;--lime-soft: #9DD24F;--lime-dark: #5C8A22;--lime-ink: #1A2A0B;--orange-50: #2A1E11;--orange-100: #3B2715;--orange-300: #F8B173;--orange-500: #F18A2C;--orange-600: #FFA64D;--orange-700: #FFB876;--danger: #E5616B;--danger-bg: #2A1418;--warn: var(--orange-500);--warn-bg: var(--orange-50);--ok: var(--green-500);--ok-bg: rgba(43,170,74,.1);--info: #5B9DF0;--info-bg: rgba(91,157,240,.1);--r-1: 6px;--r-2: 10px;--r-3: 18px;--r-4: 24px;--shadow-sm: 0 1px 2px rgba(0,0,0,.4);--shadow-md: 0 6px 18px -6px rgba(0,0,0,.55), 0 2px 4px rgba(0,0,0,.3);--shadow-lg: 0 30px 60px -20px rgba(0,0,0,.6), 0 4px 12px rgba(0,0,0,.35);--glow-lime: 0 0 32px rgba(184,233,106,.18);--glow-green: 0 0 32px rgba(43,170,74,.2);--font-sans: "Inter", ui-sans-serif, system-ui, -apple-system, sans-serif;--font-display: "Inter Tight", "Inter", sans-serif;--font-mono: "JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, monospace}html,body{margin:0;padding:0}body{font-family:var(--font-sans);font-feature-settings:"cv11","ss01","ss03";color:var(--fg);background:var(--ink-0);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:14px;line-height:1.45}.cbvn-screen{width:1440px;height:900px;display:grid;grid-template-columns:var(--sb-w, 252px) 1fr;transition:grid-template-columns .22s cubic-bezier(.4,0,.2,1);background:var(--ink-0);color:var(--fg);overflow:hidden;position:relative;font-family:var(--font-sans);isolation:isolate}.cbvn-screen:before{content:"";position:absolute;z-index:0;left:18%;top:8%;width:520px;height:520px;border-radius:50%;background:radial-gradient(circle,rgba(184,233,106,.08),transparent 65%);pointer-events:none}.cbvn-screen:after{content:"";position:absolute;z-index:0;right:4%;bottom:4%;width:460px;height:460px;border-radius:50%;background:radial-gradient(circle,rgba(43,170,74,.1),transparent 65%);pointer-events:none}.cbvn-screen>*{position:relative;z-index:1}.sb{background:var(--ink-1);color:var(--fg-on-dark);display:flex;flex-direction:column;border-right:1px solid var(--ink-4);padding:8px;position:relative;width:100%;overflow:hidden;transition:width .22s cubic-bezier(.4,0,.2,1)}.sb--collapsed{padding:8px 6px}.sb--collapsed .sb-item{justify-content:center;padding:10px}.sb--collapsed .sb-item .icon{margin:0}.sb--collapsed .sb-nav{padding:0 2px}.sb-section-divider{height:1px;background:var(--ink-4);margin:12px 8px 6px;opacity:.6}.sb-toggle{margin-left:auto;width:28px;height:28px;display:grid;place-items:center;background:var(--ink-2);border:1px solid var(--ink-4);border-radius:8px;color:var(--fg-on-dark-2);cursor:pointer;flex-shrink:0;transition:color .15s,background .15s,border-color .15s,transform .22s}.sb-toggle:hover{color:var(--lime);border-color:#b8e96a4d;background:var(--ink-3)}.sb--collapsed .sb-toggle{transform:rotate(180deg)}.sb--collapsed .sb-logo{padding:12px 0;justify-content:center;gap:0}.sb--collapsed .sb-logo .sb-toggle{position:absolute;top:14px;right:-16px;z-index:5;border:1px solid var(--ink-4);background:var(--ink-2);box-shadow:var(--shadow-sm)}.badge-dot{position:absolute;top:8px;right:6px;width:7px;height:7px;border-radius:50%;background:var(--lime);box-shadow:0 0 6px var(--lime)}.sb-ext-arrow{font-size:11px;color:var(--lime);opacity:.5;margin-left:4px}.sb-item:hover .sb-ext-arrow{opacity:1}.sb-label{flex:1;min-width:0}.sb-logo{padding:16px 12px 14px;border-bottom:1px solid var(--ink-4);display:flex;align-items:center;gap:12px;margin-bottom:6px}.sb-logo img{width:36px;height:36px;object-fit:contain;filter:drop-shadow(0 0 12px rgba(184,233,106,.35))}.sb-logo .name{font-family:var(--font-display);font-size:14px;font-weight:700;letter-spacing:-.01em;line-height:1.2}.sb-logo .name span{display:block;font-size:10px;font-weight:500;color:var(--fg-on-dark-2);letter-spacing:.06em;text-transform:uppercase;margin-top:3px}.sb-section{padding:14px 14px 6px;font-size:10px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--fg-on-dark-2)}.sb-nav{display:flex;flex-direction:column;gap:2px;padding:0 4px}.sb-item{display:flex;align-items:center;gap:10px;padding:9px 12px;border-radius:12px;font-size:13px;color:var(--fg-on-dark);cursor:pointer;text-decoration:none;position:relative;transition:background .15s,color .15s}.sb-item:hover{background:var(--ink-2);color:var(--lime)}.sb-item.active{background:linear-gradient(135deg,var(--ink-2),var(--ink-3));color:#fff;font-weight:600;border:1px solid var(--ink-4);box-shadow:var(--glow-lime),inset 0 1px #ffffff0a}.sb-item.active .icon{color:var(--lime);filter:drop-shadow(0 0 6px rgba(184,233,106,.6))}.sb-item .icon{width:16px;height:16px;flex-shrink:0;opacity:.85}.sb-item .badge{margin-left:auto;font-size:10px;font-weight:700;background:var(--lime);color:var(--lime-ink);border-radius:999px;padding:1px 7px;min-width:18px;text-align:center;box-shadow:0 0 8px #b8e96a66}.sb-item .badge.muted{background:var(--ink-3);color:var(--fg-on-dark-2);box-shadow:none;border:1px solid var(--ink-4)}.sb-foot{margin-top:auto;padding:12px;border-top:1px solid var(--ink-4);display:flex;align-items:center;gap:10px;background:linear-gradient(180deg,transparent,rgba(184,233,106,.03));border-radius:0 0 12px 12px;position:relative}.sb--collapsed .sb-foot{justify-content:center;padding:12px 8px}.sb-foot-avatar{position:relative;width:38px;height:38px;padding:0;border-radius:50%;background:linear-gradient(135deg,var(--lime),var(--green-700));border:2px solid var(--ink-1);color:var(--lime-ink);cursor:pointer;flex-shrink:0;display:grid;place-items:center;font-weight:700;font-size:13px;box-shadow:0 0 0 1.5px #b8e96a66,0 0 16px #b8e96a40;transition:transform .15s,box-shadow .15s;overflow:hidden}.sb-foot-avatar:hover{transform:scale(1.05);box-shadow:0 0 0 1.5px #b8e96a99,0 0 22px #b8e96a66}.sb-foot-avatar img{width:100%;height:100%;object-fit:cover;border-radius:50%}.sb-foot-avatar .avatar-initials{color:var(--lime-ink);font-weight:700}.sb-foot-status{position:absolute;bottom:-1px;right:-1px;width:11px;height:11px;background:var(--green-300);border:2px solid var(--ink-1);border-radius:50%;box-shadow:0 0 6px #6fcc8599}.sb-foot .meta{line-height:1.2;flex:1;min-width:0}.sb-foot .meta b{font-size:12.5px;font-weight:600;color:#fff}.sb-foot .meta span{font-size:10.5px;color:var(--fg-on-dark-2);display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sb-foot .role-chip{margin-left:auto;font-size:9.5px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--lime);background:#b8e96a1a;padding:3px 8px;border-radius:999px;border:1px solid rgba(184,233,106,.25);white-space:nowrap}.main{display:flex;flex-direction:column;min-width:0;background:transparent}.tb{height:60px;background:#0d13118c;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-bottom:1px solid var(--ink-4);display:flex;align-items:center;padding:0 24px;gap:14px}.tb .crumbs{display:flex;align-items:center;gap:8px;font-size:12.5px;color:var(--fg-3)}.tb .crumbs b{color:var(--fg);font-weight:600}.tb .sep{color:var(--ink-4)}.tb .search{margin-left:auto;display:flex;align-items:center;gap:8px;background:var(--ink-2);border:1px solid var(--ink-4);border-radius:999px;padding:7px 14px;font-size:12.5px;color:var(--fg-3);min-width:320px}.tb .search kbd{font-family:var(--font-mono);font-size:10px;background:var(--ink-1);border:1px solid var(--ink-4);border-radius:4px;padding:1px 6px;color:var(--fg-3)}.tb-btn{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:50%;background:var(--ink-2);border:1px solid var(--ink-4);color:var(--fg-2);cursor:pointer;position:relative;transition:background .15s,color .15s,border-color .15s}.tb-btn:hover{background:var(--ink-3);color:var(--lime);border-color:#b8e96a4d}.tb-btn .dot{position:absolute;top:6px;right:6px;width:7px;height:7px;border-radius:50%;background:var(--orange-500);border:2px solid var(--ink-1);box-shadow:0 0 6px var(--orange-500)}.tb-user{display:inline-flex;align-items:center;gap:10px;padding:4px 10px 4px 4px;background:var(--ink-2);border:1px solid var(--ink-4);border-radius:999px;cursor:pointer;transition:background .15s,border-color .15s}.tb-user:hover{background:var(--ink-3);border-color:#b8e96a4d}.tb-user-avatar{width:30px;height:30px;border-radius:50%;object-fit:cover;background:linear-gradient(135deg,var(--lime),var(--green-700));display:inline-grid;place-items:center;flex-shrink:0;box-shadow:0 0 0 1.5px #b8e96a66}.tb-user-avatar--init{color:var(--lime-ink);font-weight:700;font-size:11px}.tb-user-meta{line-height:1.15;min-width:0;max-width:140px}.tb-user-meta b{display:block;font-size:12px;font-weight:600;color:#fff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tb-user-meta span{font-size:10px;color:var(--fg-3);letter-spacing:.04em;text-transform:uppercase}.tb-user .icon{color:var(--fg-3);flex-shrink:0}.content{flex:1;overflow:hidden;padding:24px 28px;display:flex;flex-direction:column;gap:18px}.ph{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.ph h1{font-family:var(--font-display);font-size:26px;font-weight:700;letter-spacing:-.02em;margin:0 0 4px;color:#fff}.ph .sub{font-size:13px;color:var(--fg-3)}.ph-actions{display:flex;gap:8px;align-items:center}.btn{display:inline-flex;align-items:center;gap:6px;height:36px;padding:0 16px;border-radius:999px;font-size:13px;font-weight:500;font-family:inherit;border:1px solid transparent;cursor:pointer;white-space:nowrap;transition:background .15s,border-color .15s,color .15s,transform .1s}.btn:active{transform:scale(.98)}.btn-primary{background:var(--lime);color:var(--lime-ink);border-color:var(--lime);box-shadow:0 0 16px #b8e96a59,inset 0 1px #ffffff40;font-weight:600}.btn-primary:hover{background:var(--lime-soft)}.btn-secondary{background:var(--ink-2);color:var(--fg);border-color:var(--ink-4)}.btn-secondary:hover{background:var(--ink-3);border-color:var(--ink-5)}.btn-ghost{background:transparent;color:var(--fg-2);border-color:transparent}.btn-ghost:hover{background:var(--ink-2);color:#fff}.btn-dark{background:var(--ink-3);color:var(--lime);border-color:#b8e96a4d}.btn-sm{height:30px;padding:0 12px;font-size:12px}.card{background:var(--ink-2);border:1px solid var(--ink-4);border-radius:var(--r-3);box-shadow:var(--shadow-sm);overflow:hidden}.card-h{padding:16px 20px;border-bottom:1px solid var(--ink-4);display:flex;align-items:center;gap:10px}.card-h h3{font-size:14px;font-weight:600;margin:0;color:#fff;letter-spacing:-.005em}.card-h .more{margin-left:auto}.card-b{padding:18px 20px}.kpi-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.kpi{background:var(--ink-2);border:1px solid var(--ink-4);border-radius:var(--r-3);padding:16px 18px;position:relative;overflow:hidden}.kpi .label{font-size:11px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--fg-3)}.kpi .value{font-family:var(--font-display);font-size:28px;font-weight:700;letter-spacing:-.02em;margin-top:6px;font-variant-numeric:tabular-nums;color:#fff}.kpi .delta{display:inline-flex;align-items:center;gap:4px;margin-top:8px;font-size:11.5px;font-weight:600;font-variant-numeric:tabular-nums}.kpi .delta.up{color:var(--green-300)}.kpi .delta.down{color:var(--danger)}.kpi .delta .muted{color:var(--fg-3);font-weight:500}.kpi .spark{position:absolute;right:16px;top:16px;width:80px;height:28px;opacity:.95}.kpi.accent-green{background:radial-gradient(circle at 100% 0%,rgba(43,170,74,.1),transparent 60%),var(--ink-2);border-color:#2baa4a40;box-shadow:0 0 24px #2baa4a1a}.kpi.accent-orange{background:radial-gradient(circle at 100% 0%,rgba(241,138,44,.1),transparent 60%),var(--ink-2);border-color:#f18a2c40}.kpi.accent-green:after,.kpi.accent-orange:after{content:none}.tbl{width:100%;border-collapse:collapse;font-size:12.5px}.tbl thead th{text-align:left;font-size:10.5px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--fg-3);padding:12px 14px;border-bottom:1px solid var(--ink-4);background:var(--surface-2);position:sticky;top:0}.tbl tbody td{padding:12px 14px;border-bottom:1px solid var(--line-2);vertical-align:middle;color:var(--fg)}.tbl tbody tr:hover{background:#b8e96a08}.tbl .num{font-variant-numeric:tabular-nums;text-align:right}.tbl .mono{font-family:var(--font-mono);font-size:11.5px;color:var(--fg-2)}.pill{display:inline-flex;align-items:center;gap:5px;height:22px;padding:0 9px;border-radius:999px;font-size:11px;font-weight:600;letter-spacing:.01em;border:1px solid transparent}.pill .pdot{width:6px;height:6px;border-radius:50%;box-shadow:0 0 4px currentColor}.pill-ok{background:#2baa4a1a;color:var(--green-300);border-color:#2baa4a40}.pill-ok .pdot{background:var(--green-300)}.pill-warn{background:#f18a2c1a;color:var(--orange-300);border-color:#f18a2c40}.pill-warn .pdot{background:var(--orange-500)}.pill-danger{background:#e5616b1a;color:var(--danger);border-color:#e5616b40}.pill-danger .pdot{background:var(--danger)}.pill-info{background:#5b9df01a;color:var(--info);border-color:#5b9df040}.pill-info .pdot{background:var(--info)}.pill-muted{background:var(--ink-2);color:var(--fg-2);border-color:var(--ink-4)}.pill-muted .pdot{background:var(--fg-3)}.tag{display:inline-flex;align-items:center;gap:5px;height:24px;padding:0 10px;border-radius:8px;font-size:11px;font-weight:500;background:var(--ink-3);color:var(--fg-2);border:1px solid var(--ink-4)}.tag .sw{width:8px;height:8px;border-radius:2px;box-shadow:0 0 4px currentColor}.avatar-sm{width:24px;height:24px;border-radius:50%;display:inline-grid;place-items:center;font-size:10.5px;font-weight:700;color:#fff;flex-shrink:0;box-shadow:0 0 0 1.5px var(--ink-1)}.avatar-md{width:34px;height:34px;border-radius:50%;display:inline-grid;place-items:center;font-size:12px;font-weight:700;color:#fff;flex-shrink:0;box-shadow:0 0 0 2px var(--ink-1)}.num{font-variant-numeric:tabular-nums}.mono{font-family:var(--font-mono);color:var(--fg-2)}.muted{color:var(--fg-3)}.row{display:flex;align-items:center;gap:8px}.col{display:flex;flex-direction:column}.grow{flex:1}.dot{display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--fg-3)}.seg{display:inline-flex;padding:3px;background:var(--ink-2);border:1px solid var(--ink-4);border-radius:999px;gap:2px}.seg button{padding:6px 14px;background:transparent;border:0;font-size:12px;font-weight:500;color:var(--fg-3);border-radius:999px;cursor:pointer;font-family:inherit}.seg button:hover{color:var(--fg)}.seg button.on{background:var(--ink-3);color:#fff;box-shadow:inset 0 0 0 1px var(--ink-4),0 2px 8px #0000004d}.scroll-y{overflow-y:auto}.scroll-y::-webkit-scrollbar{width:8px;height:8px}.scroll-y::-webkit-scrollbar-thumb{background:var(--ink-4);border-radius:4px}.scroll-y::-webkit-scrollbar-track{background:transparent}.placeholder-img{background:repeating-linear-gradient(135deg,transparent 0 11px,rgba(184,233,106,.04) 11px 12px),var(--ink-2);border:1px dashed var(--ink-4);border-radius:var(--r-2);display:grid;place-items:center;color:var(--fg-3);font-family:var(--font-mono);font-size:11px}.kpi-hill-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.kpi-hill{position:relative;background:radial-gradient(circle at 100% 0%,rgba(255,255,255,.02),transparent 55%),var(--ink-2);border:1px solid var(--ink-4);border-radius:var(--r-3);padding:16px 18px;overflow:hidden;min-height:138px;isolation:isolate}.kpi-hill-head{display:flex;align-items:center;gap:10px;margin-bottom:6px;z-index:2;position:relative}.kpi-hill-label{font-size:13px;font-weight:600;letter-spacing:-.005em;text-shadow:0 0 16px currentColor}.kpi-hill-icon{margin-left:auto;width:32px;height:32px;border-radius:10px;background:#ffffff05;border:1px solid;display:grid;place-items:center;flex-shrink:0}.kpi-hill-value{font-family:var(--font-display);font-size:30px;font-weight:700;letter-spacing:-.025em;color:#fff;margin:2px 0 8px;font-variant-numeric:tabular-nums;z-index:2;position:relative;text-shadow:0 2px 12px rgba(0,0,0,.35)}.kpi-hill-delta{display:inline-flex;align-items:center;gap:6px;font-size:12px;z-index:2;position:relative}.kpi-hill-delta .delta-arrow{font-size:14px;font-weight:700;font-family:var(--font-display)}.kpi-hill-delta .delta-arrow.up{color:#6fcc85}.kpi-hill-delta .delta-arrow.down{color:#e5616b}.kpi-hill-delta b{font-weight:700}.kpi-hill-note{color:var(--fg-3);font-weight:500;margin-left:2px}.kpi-hill-svg{position:absolute;right:0;bottom:0;width:65%;height:70%;z-index:1;pointer-events:none;opacity:.95}.dash-body{display:grid;grid-template-columns:1.45fr 1fr .95fr;gap:16px;min-height:0}.dash-body-2{display:grid;grid-template-columns:1.45fr 1fr .95fr;gap:16px;flex:1;min-height:0}.dash-card-flow,.dash-card-donut,.dash-card-geo,.dash-card-recent,.dash-card-marketing,.dash-card-pending{display:flex;flex-direction:column;min-height:0}.dash-card-h{padding:16px 20px;border-bottom:1px solid var(--ink-4);display:flex;align-items:flex-start;gap:12px}.dash-card-h>div:first-child{min-width:0}.dash-card-title{font-family:var(--font-display);font-size:15px;font-weight:700;letter-spacing:-.01em;margin-bottom:2px}.dash-card-sub{font-size:11px;color:var(--fg-3)}.dash-card-actions{margin-left:auto;display:flex;align-items:center;gap:12px}.dash-legend{display:flex;gap:14px;font-size:11.5px;color:var(--fg-2)}.dash-rank{display:inline-grid;place-items:center;width:26px;height:26px;border-radius:8px;background:var(--ink-3);color:var(--lime);font-family:var(--font-display);font-weight:700;font-size:11px;border:1px solid var(--ink-4)}.dash-card-recent .tbl thead th{background:transparent;border-bottom:1px solid var(--ink-4)}:root{color-scheme:dark;--sb-w: 268px;--sb-w-collapsed: 76px;--tb-h: 68px;--font-sans: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-display: "Inter Tight", "Inter", sans-serif;--font-mono: "JetBrains Mono", ui-monospace, "SFMono-Regular", Menlo, monospace;--radius-sm: 10px;--radius-md: 14px;--radius-lg: 18px;--radius-xl: 22px;--radius-2xl: 28px;--c-bg-0: #07090A;--c-bg-1: #0B1311;--c-bg-2: #0F1816;--c-bg-3: #11181A;--c-bg-4: #131D1B;--c-line: #1B2421;--c-line-2: #232C2A;--c-text: #ECF3EF;--c-text-2: #A6B3AE;--c-text-3: #6B7973;--c-text-4: #4F5C57;--c-lime: #B8E96A;--c-lime-soft: #9DD24F;--c-lime-ink: #1A2A0B;--c-green: #2BAA4A;--c-green-300: #6FCC85;--c-orange: #F18A2C;--c-orange-300: #F8B173;--c-danger: #E5616B;--c-info: #5B9DF0;--c-purple: #C397F0;--c-cyan: #8DD5F0}*{box-sizing:border-box}html,body,#root{margin:0;padding:0;height:100%;background:var(--c-bg-0);color:var(--c-text);font-family:var(--font-sans);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-feature-settings:"cv02","cv03","cv04","cv11"}body{background:radial-gradient(1100px 600px at 22% 14%,rgba(43,170,74,.09),transparent 65%),radial-gradient(900px 520px at 80% 86%,rgba(184,233,106,.05),transparent 65%),var(--c-bg-0)}*{scrollbar-width:thin;scrollbar-color:#232C2A transparent}*::-webkit-scrollbar{width:8px;height:8px}*::-webkit-scrollbar-track{background:transparent}*::-webkit-scrollbar-thumb{background:#232c2a;border-radius:8px}*::-webkit-scrollbar-thumb:hover{background:#3a4642}button,input,select,textarea{font-family:inherit}.app-shell{display:grid;grid-template-columns:var(--sb-w) 1fr;grid-template-rows:var(--tb-h) 1fr;grid-template-areas:"sidebar topbar" "sidebar main";height:100vh;width:100vw;overflow:hidden;transition:grid-template-columns .18s ease}.app-shell.collapsed{grid-template-columns:var(--sb-w-collapsed) 1fr}.app-shell>.as-sidebar{grid-area:sidebar;min-width:0}.app-shell>.as-topbar{grid-area:topbar;min-width:0;overflow-x:auto}.app-shell>.as-main{grid-area:main;overflow:auto;padding:32px 36px 80px;position:relative;min-width:0}.as-main:before{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(900px 480px at 70% 18%,rgba(184,233,106,.04),transparent 70%);z-index:0}.as-main>*{position:relative;z-index:1}.as-sidebar{background:linear-gradient(180deg,#0e1614,#0a100e);border-right:1px solid var(--c-line);display:flex;flex-direction:column;overflow:hidden}.as-sidebar-header{padding:18px 16px;display:flex;align-items:center;gap:12px;position:relative}.as-sidebar-header .brand-text{flex:1;min-width:0;overflow:hidden}.as-sidebar-header .brand-logo{width:44px;height:44px;object-fit:contain;flex-shrink:0;filter:drop-shadow(0 2px 8px rgba(184,233,106,.25))}.app-shell.collapsed .as-sidebar-header{justify-content:center;padding:18px 0}.app-shell.collapsed .as-nav-item{justify-content:center;padding:11px 0}.app-shell.collapsed .as-nav-item.active:before{left:0}.app-shell.collapsed .as-nav{padding:6px 8px 16px}.app-shell.collapsed .as-sidebar-foot{justify-content:center}.as-nav-sep{height:1px;background:var(--c-line);margin:12px 10px 4px}.badge-dot{min-width:8px!important;width:8px;height:8px;padding:0!important;border-radius:50%!important;position:absolute;top:8px;right:14px}.as-sidebar-header .logo-wrap img{width:100%;height:100%;object-fit:contain}.as-sidebar-header .brand-name{font-family:var(--font-display);font-weight:800;font-size:16px;letter-spacing:-.015em;color:#f4faf6}.as-sidebar-header .brand-sub{font-size:9.5px;color:var(--c-text-3);letter-spacing:.13em;text-transform:uppercase;margin-top:3px;font-weight:600}.as-nav{flex:1;overflow-y:auto;padding:6px 14px 24px}.as-nav-section{font-size:10px;font-weight:700;color:var(--c-text-4);letter-spacing:.16em;text-transform:uppercase;padding:22px 12px 8px}.as-nav-item{display:flex;align-items:center;gap:12px;padding:11px 14px;margin:2px 0;border-radius:12px;color:var(--c-text-2);text-decoration:none;font-size:13.5px;font-weight:500;cursor:pointer;transition:background .15s,color .15s,border-color .15s;border:1px solid transparent;position:relative}.as-nav-item:hover{background:var(--c-bg-3);color:var(--c-text)}.as-nav-item.active{background:linear-gradient(90deg,#b8e96a29,#b8e96a0a);color:var(--c-lime);border-color:#b8e96a33;font-weight:600;box-shadow:inset 0 0 0 1px #b8e96a0d}.as-nav-item.active:before{content:"";position:absolute;left:-14px;top:50%;transform:translateY(-50%);width:3px;height:22px;background:var(--c-lime);border-radius:0 4px 4px 0;box-shadow:0 0 14px #b8e96ab3}.as-nav-item .nav-icon{width:17px;height:17px;flex-shrink:0;opacity:.92}.as-nav-item.active .nav-icon{opacity:1}.as-nav-item .badge{margin-left:auto;font-size:10px;font-weight:700;background:#f18a2c29;color:var(--c-orange-300);border:1px solid rgba(241,138,44,.3);padding:1px 8px;border-radius:999px;min-width:22px;text-align:center}.as-nav-item.active .badge{background:#b8e96a2e;color:var(--c-lime);border-color:#b8e96a59}.as-sidebar-foot{border-top:1px solid var(--c-line);padding:14px 20px;display:flex;align-items:center;gap:10px;font-size:11px;color:var(--c-text-3)}.as-sidebar-foot .status-dot{width:8px;height:8px;border-radius:50%;background:var(--c-green-300);box-shadow:0 0 8px #6fcc8599}.as-topbar{background:linear-gradient(180deg,#0e1614,#0a1110);border-bottom:1px solid var(--c-line);display:flex;align-items:center;padding:0 20px;gap:14px}.tb-left{display:flex;align-items:center;gap:12px;flex:1 1 0;min-width:0}.tb-center{display:flex;justify-content:center;flex:0 1 480px;min-width:0}.tb-right{display:flex;align-items:center;gap:10px;flex:1 1 0;justify-content:flex-end}.tb-burger{width:38px;height:38px;border-radius:10px;background:var(--c-bg-3);border:1px solid var(--c-line);color:var(--c-text-2);display:grid;place-items:center;cursor:pointer;flex-shrink:0;transition:border-color .12s,color .12s,background .12s}.tb-burger:hover{border-color:#b8e96a59;color:var(--c-lime)}.tb-crumbs{display:flex;align-items:center;gap:10px;font-size:14px;color:var(--c-text-3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}.tb-crumbs .sep{color:var(--c-text-4);margin:0 2px;font-weight:300}.tb-crumbs .current{color:var(--c-text);font-weight:600;font-family:var(--font-display);letter-spacing:-.005em}.tb-year-seg,.tb-action,.tb-user{flex-shrink:0}@media (max-width: 1100px){.as-topbar{padding:0 14px;gap:10px}.tb-search kbd,.tb-user .who{display:none}.tb-center{flex:1 1 auto}}@media (max-width: 820px){.tb-crumbs,.tb-year-seg{display:none}}@media (max-width: 560px){.tb-center{display:none}}.tb-search{display:flex;align-items:center;gap:10px;background:var(--c-bg-3);border:1px solid var(--c-line);border-radius:12px;padding:0 14px;height:40px;width:100%;min-width:0;color:var(--c-text-3);font-size:13px;transition:border-color .15s,box-shadow .15s}.tb-search:focus-within{border-color:#b8e96a66;box-shadow:0 0 0 3px #b8e96a1a}.tb-search input{background:transparent;border:none;outline:none;color:var(--c-text);font-size:inherit;flex:1}.tb-search input::placeholder{color:var(--c-text-4)}.tb-search kbd{font-family:var(--font-mono);font-size:10.5px;background:var(--c-bg-1);color:var(--c-text-3);padding:3px 7px;border-radius:6px;border:1px solid var(--c-line-2);font-weight:600}.tb-year-seg{display:flex;align-items:center;background:var(--c-bg-3);border:1px solid var(--c-line);border-radius:12px;padding:3px;font-size:12.5px}.tb-year-seg button{background:transparent;border:none;color:var(--c-text-3);padding:6px 12px;border-radius:9px;font-size:inherit;font-weight:700;cursor:pointer;transition:background .12s,color .12s}.tb-year-seg button:hover{color:var(--c-text)}.tb-year-seg button.active{background:#b8e96a29;color:var(--c-lime)}.tb-action{width:40px;height:40px;border-radius:12px;background:var(--c-bg-3);border:1px solid var(--c-line);color:var(--c-text-2);display:grid;place-items:center;cursor:pointer;transition:border-color .15s,color .15s,background .15s;position:relative}.tb-action:hover{color:var(--c-text);border-color:#b8e96a59}.tb-action .dot-alert{position:absolute;top:9px;right:9px;width:8px;height:8px;border-radius:50%;background:var(--c-orange);box-shadow:0 0 0 2px var(--c-bg-3)}.tb-user{display:flex;align-items:center;gap:10px;background:var(--c-bg-3);border:1px solid var(--c-line);border-radius:12px;padding:4px 14px 4px 4px;cursor:pointer;transition:border-color .15s,background .15s;position:relative}.tb-user:hover{border-color:#b8e96a4d}.tb-user .avatar{width:32px;height:32px;border-radius:50%;background:linear-gradient(135deg,var(--c-green),var(--c-green-300));display:grid;place-items:center;color:#062012;font-weight:800;font-size:12px;overflow:hidden;flex-shrink:0;box-shadow:0 0 0 2px var(--c-bg-3),0 0 0 3px #b8e96a4d}.tb-user .avatar img{width:100%;height:100%;object-fit:cover}.tb-user .who{display:flex;flex-direction:column;align-items:flex-start;line-height:1.1}.tb-user .who .name{font-size:13px;font-weight:700;color:var(--c-text);max-width:140px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tb-user .who .role{font-size:9.5px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--c-lime)}.tb-user .who .role.empty{color:var(--c-text-3)}.tb-user .chev{margin-left:4px;color:var(--c-text-3)}.user-menu{position:absolute;top:calc(100% + 8px);right:0;background:var(--c-bg-3);border:1px solid var(--c-line-2);border-radius:var(--radius-md);padding:8px;min-width:220px;box-shadow:0 24px 48px #00000080;z-index:100;animation:fade-in .12s ease-out}@keyframes fade-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.user-menu .item{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:10px;font-size:13px;color:var(--c-text-2);cursor:pointer;background:transparent;border:none;width:100%;text-align:left}.user-menu .item:hover{background:var(--c-bg-4);color:var(--c-text)}.user-menu .item.danger:hover{color:var(--c-danger);background:#e5616b14}.user-menu .sep{height:1px;background:var(--c-line);margin:6px 4px}.page{max-width:1400px;margin:0 auto;padding-bottom:64px}.page-header{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:32px;gap:16px;flex-wrap:wrap}.page-header h1{font-family:var(--font-display);font-size:34px;font-weight:800;letter-spacing:-.028em;margin:0 0 8px;color:#f4faf6;line-height:1.05}.page-header .sub{font-size:13.5px;color:var(--c-text-3);line-height:1.55}.page-header .actions{display:flex;gap:12px}.btn-pri{background:linear-gradient(135deg,var(--c-lime) 0%,var(--c-lime-soft) 100%);color:var(--c-lime-ink);border:none;padding:11px 18px;border-radius:var(--radius-md);font-size:13px;font-weight:700;cursor:pointer;display:inline-flex;align-items:center;gap:9px;transition:transform .1s,box-shadow .15s,filter .15s;letter-spacing:-.005em}.btn-pri:hover{box-shadow:0 0 28px #b8e96a52}.btn-pri:active{transform:translateY(1px)}.btn-pri:disabled{opacity:.5;cursor:not-allowed}.btn-sec{background:var(--c-bg-3);color:var(--c-text);border:1px solid var(--c-line-2);padding:11px 18px;border-radius:var(--radius-md);font-size:13px;font-weight:600;cursor:pointer;display:inline-flex;align-items:center;gap:9px;transition:border-color .12s,background .12s}.btn-sec:hover{border-color:#3a4642;background:var(--c-bg-4)}.card{background:linear-gradient(180deg,var(--c-bg-3) 0%,#0F1614 100%);border:1px solid var(--c-line);border-radius:var(--radius-xl);padding:22px;box-shadow:0 1px #ffffff05 inset}.card h3{font-family:var(--font-display);font-size:16px;font-weight:700;margin:0 0 14px;color:#f4faf6;letter-spacing:-.01em}.kpi-hill-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:14px;margin-bottom:28px}@media (max-width: 1280px){.kpi-hill-grid{grid-template-columns:repeat(3,1fr)}}@media (max-width: 760px){.kpi-hill-grid{grid-template-columns:repeat(2,1fr)}}.kpi-hill{position:relative;background:linear-gradient(180deg,#11181a,#0d1311);border:1px solid var(--c-line);border-radius:var(--radius-xl);padding:18px 18px 12px;overflow:hidden;min-height:156px;display:flex;flex-direction:column;transition:transform .15s ease,border-color .15s ease,box-shadow .15s ease}.kpi-hill:hover{transform:translateY(-3px);border-color:#2c3633;box-shadow:0 12px 30px #0000005c}.kpi-hill .kpi-top{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:12px}.kpi-hill .kpi-label{font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;line-height:1.3}.kpi-hill .kpi-icon{width:32px;height:32px;border-radius:10px;display:grid;place-items:center}.kpi-hill .kpi-value{font-family:var(--font-display);font-size:36px;font-weight:800;letter-spacing:-.03em;color:#f4faf6;line-height:1;margin-top:4px}.kpi-hill .kpi-sub{font-size:11px;color:var(--c-text-3);margin-top:6px}.kpi-hill .kpi-hill-svg{position:absolute;left:0;right:0;bottom:0;height:56px;width:100%;pointer-events:none}.kpi-hill.sa .kpi-label{color:var(--c-lime)}.kpi-hill.sa .kpi-icon{background:#b8e96a24;color:var(--c-lime)}.kpi-hill.di .kpi-label{color:var(--c-green-300)}.kpi-hill.di .kpi-icon{background:#6fcc8524;color:var(--c-green-300)}.kpi-hill.ge .kpi-label{color:#8ab8f5}.kpi-hill.ge .kpi-icon{background:#5b9df024;color:#8ab8f5}.kpi-hill.se .kpi-label{color:var(--c-cyan)}.kpi-hill.se .kpi-icon{background:#8dd5f024;color:var(--c-cyan)}.kpi-hill.ti .kpi-label{color:var(--c-orange-300)}.kpi-hill.ti .kpi-icon{background:#f18a2c24;color:var(--c-orange-300)}.kpi-hill.co .kpi-label{color:var(--c-purple)}.kpi-hill.co .kpi-icon{background:#c397f024;color:var(--c-purple)}.users-grid{display:grid;grid-template-columns:1fr 400px;gap:20px}@media (max-width: 1280px){.users-grid{grid-template-columns:1fr}}.toolbar{display:flex;align-items:center;gap:12px;margin-bottom:16px;flex-wrap:wrap}.toolbar .field{flex:1;min-width:240px;display:flex;align-items:center;gap:9px;background:var(--c-bg-2);border:1px solid var(--c-line);border-radius:var(--radius-md);padding:0 14px;height:42px}.toolbar .field:focus-within{border-color:#b8e96a66;box-shadow:0 0 0 3px #b8e96a14}.toolbar .field input,.toolbar .field select{background:transparent;border:none;outline:none;color:var(--c-text);font-size:13.5px;flex:1}.toolbar .field select{cursor:pointer;appearance:none}.tbl{width:100%;border-collapse:separate;border-spacing:0;font-size:13px}.tbl thead th{text-align:left;font-size:10.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--c-text-4);font-weight:700;padding:14px 16px;border-bottom:1px solid var(--c-line);background:#0d131180}.tbl tbody tr{transition:background .12s}.tbl tbody tr:hover{background:#b8e96a06}.tbl tbody td{padding:16px;border-bottom:1px solid var(--c-line);color:var(--c-text);vertical-align:middle}.tbl tbody tr:last-child td{border-bottom:none}.tbl .person{display:flex;align-items:center;gap:14px}.tbl .person .avatar{width:40px;height:40px;border-radius:50%;background:linear-gradient(135deg,var(--c-green),var(--c-green-300));display:grid;place-items:center;color:#062012;font-weight:800;font-size:13px;flex-shrink:0;box-shadow:0 0 0 2px var(--c-bg-3),0 0 0 3px #b8e96a2e}.tbl .person .avatar img{width:100%;height:100%;border-radius:50%;object-fit:cover}.tbl .person .name{font-weight:600;font-size:13.5px}.tbl .person .email{font-size:11.5px;color:var(--c-text-3);margin-top:2px}.pill{display:inline-flex;align-items:center;font-size:10.5px;font-weight:700;padding:4px 11px;border-radius:999px;letter-spacing:.04em;border:1px solid transparent;white-space:nowrap;text-transform:uppercase}.pill.role-super_admin{background:#b8e96a24;color:var(--c-lime);border-color:#b8e96a4d}.pill.role-diretor{background:#6fcc8524;color:var(--c-green-300);border-color:#6fcc854d}.pill.role-gerente{background:#5b9df024;color:#8ab8f5;border-color:#5b9df04d}.pill.role-secretaria{background:#8dd5f024;color:var(--c-cyan);border-color:#8dd5f04d}.pill.role-ti{background:#f18a2c24;color:var(--c-orange-300);border-color:#f18a2c4d}.pill.role-coord{background:#c397f024;color:var(--c-purple);border-color:#c397f04d}.pill.muted{background:var(--c-bg-3);color:var(--c-text-3);border-color:var(--c-line-2)}.tbl .role-cell{display:flex;flex-wrap:wrap;gap:4px}.icon-btn{background:transparent;border:1px solid var(--c-line-2);color:var(--c-text-2);width:32px;height:32px;border-radius:9px;display:inline-grid;place-items:center;cursor:pointer;transition:border-color .12s,color .12s,background .12s}.icon-btn:hover{border-color:var(--c-lime);color:var(--c-lime);background:#b8e96a0d}.modal-back{position:fixed;inset:0;background:#07090ac7;backdrop-filter:blur(8px);display:grid;place-items:center;z-index:1000;padding:24px}.modal{width:100%;max-width:520px;background:var(--c-bg-3);border:1px solid var(--c-line-2);border-radius:var(--radius-2xl);padding:28px;box-shadow:0 50px 100px #0009;animation:modal-in .15s ease-out}@keyframes modal-in{0%{opacity:0;transform:translateY(8px) scale(.985)}to{opacity:1;transform:translateY(0) scale(1)}}.modal h2{font-family:var(--font-display);font-size:22px;font-weight:800;letter-spacing:-.02em;margin:0 0 6px;color:#f4faf6}.modal .sub{font-size:13px;color:var(--c-text-3);margin-bottom:22px;line-height:1.5}.modal .role-checks{display:grid;gap:9px;margin-top:14px}.modal .role-check{display:flex;align-items:center;gap:14px;padding:14px 16px;background:var(--c-bg-2);border:1px solid var(--c-line);border-radius:var(--radius-md);cursor:pointer;transition:border-color .12s,background .12s}.modal .role-check:hover{border-color:var(--c-line-2)}.modal .role-check input{accent-color:var(--c-lime);width:16px;height:16px;cursor:pointer}.modal .role-check.checked{border-color:#b8e96a66;background:#b8e96a0d}.modal .role-check .role-label{font-weight:600;font-size:14px;color:var(--c-text)}.modal .role-check .role-desc{font-size:11.5px;color:var(--c-text-3);margin-top:2px}.modal .actions{display:flex;gap:10px;justify-content:flex-end;margin-top:24px}.permission-matrix{font-size:11px}.permission-matrix-header,.permission-matrix-row{display:grid;grid-template-columns:1fr repeat(6,38px);gap:6px;align-items:center}.permission-matrix-header div{text-align:center;font-weight:700;color:var(--c-text-2);letter-spacing:.04em;font-size:10.5px}.permission-matrix-row{padding:10px 0;border-top:1px solid var(--c-line)}.permission-matrix-row .res{font-size:12px;color:var(--c-text);text-align:left;padding-right:8px}.permission-matrix-row .cell{text-align:center;font-size:10px;font-weight:700;height:24px;border-radius:6px;display:grid;place-items:center;background:#ffffff05;border:1px solid var(--c-line)}.permission-matrix-row .cell.empty{color:var(--c-text-4)}.permission-matrix-row .cell.has-L{color:var(--c-text-2);background:var(--c-bg-3)}.permission-matrix-row .cell.has-LE{color:var(--c-green-300);background:#6fcc8514;border-color:#6fcc8538}.permission-matrix-row .cell.has-LA,.permission-matrix-row .cell.has-LEA{color:var(--c-lime);background:#b8e96a1a;border-color:#b8e96a47}.login-shell{display:grid;grid-template-columns:1.1fr 1fr;min-height:100vh;width:100%}.login-hero{background:var(--c-bg-1);color:var(--c-text);padding:56px 64px;position:relative;overflow:hidden;display:flex;flex-direction:column}.login-hero .bg-logo{position:absolute;right:-240px;top:-200px;width:1100px;height:1100px;object-fit:contain;opacity:.1;filter:saturate(.85);pointer-events:none}.login-form-col{display:grid;place-items:center;padding:48px 32px}.login-form-card{width:100%;max-width:420px;display:flex;flex-direction:column;align-items:center;text-align:center}.login-cta-btn{width:280px;height:56px;display:flex;align-items:center;justify-content:center;gap:14px;border:none;border-radius:14px;background:var(--c-lime);color:var(--c-lime-ink);font-family:inherit;font-size:16px;font-weight:700;cursor:pointer;box-shadow:0 0 32px #b8e96a4d,0 8px 24px #0000004d;transition:transform .12s,box-shadow .12s;outline:none}.login-cta-btn:active{transform:translateY(1px)}.login-cta-btn:disabled{opacity:.65;cursor:wait}.login-cta-google-badge{width:36px;height:36px;border-radius:50%;background:#fff;display:grid;place-items:center;flex-shrink:0}@media (max-width: 880px){.login-shell{grid-template-columns:1fr}.login-hero{display:none}}.full-loading{position:fixed;inset:0;display:grid;place-items:center;background:var(--c-bg-0);color:var(--c-text-2);font-size:13.5px;z-index:9999}.full-loading .dot{width:10px;height:10px;border-radius:50%;background:var(--c-lime);display:inline-block;margin-right:10px;animation:pulse 1.2s ease-in-out infinite}@keyframes pulse{0%,to{opacity:.35;transform:scale(.85)}50%{opacity:1;transform:scale(1.05)}}.page-empty{display:grid;place-items:center;min-height:460px;text-align:center;padding:56px 24px;border:1px dashed var(--c-line-2);border-radius:var(--radius-2xl);background:linear-gradient(180deg,var(--c-bg-3) 0%,#0D1311 100%);position:relative;overflow:hidden}.page-empty:before{content:"";position:absolute;inset:0;background:radial-gradient(420px 220px at 50% 30%,rgba(184,233,106,.06),transparent 70%);pointer-events:none}.page-empty h2{font-family:var(--font-display);font-size:24px;font-weight:800;letter-spacing:-.015em;margin:16px 0 8px;color:var(--c-text)}.page-empty p{color:var(--c-text-3);font-size:13.5px;max-width:480px;line-height:1.6;margin:0 auto}.page-empty .icon-circle{width:64px;height:64px;border-radius:50%;background:#b8e96a1a;border:1px solid rgba(184,233,106,.25);display:grid;place-items:center;color:var(--c-lime);box-shadow:0 0 28px #b8e96a1a}.filter-chips{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:14px}.filter-chip{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;background:var(--c-bg-3);border:1px solid var(--c-line);border-radius:999px;font-size:11.5px;font-weight:600;color:var(--c-text-2);cursor:pointer;transition:border-color .12s,background .12s,color .12s}.filter-chip:hover{color:var(--c-text);border-color:var(--c-line-2)}.filter-chip.active{background:#b8e96a1f;border-color:#b8e96a59;color:var(--c-lime)}.filter-chip .count{background:#00000040;padding:1px 7px;border-radius:999px;font-size:10px}.status-pill{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:999px;font-size:10.5px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;border:1px solid transparent;white-space:nowrap}.status-pill.ativo{background:#6fcc8524;color:var(--c-green-300);border-color:#6fcc854d}.status-pill.manutencao{background:#f18a2c24;color:var(--c-orange-300);border-color:#f18a2c4d}.status-pill.baixado{background:#e5616b24;color:#f18a8e;border-color:#e5616b4d}.status-pill.transito{background:#5b9df024;color:#8ab8f5;border-color:#5b9df04d}.status-pill.perdido{background:#c397f024;color:var(--c-purple);border-color:#c397f04d}.status-pill .dot{width:6px;height:6px;border-radius:50%;background:currentColor;box-shadow:0 0 6px currentColor}.cat-badge{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:8px;font-size:11px;font-weight:600;background:var(--c-bg-2);border:1px solid var(--c-line);color:var(--c-text-2)}.warranty-pill{font-size:11px;font-weight:700;letter-spacing:.02em}.warranty-pill.ativa{color:var(--c-green-300)}.warranty-pill.vencendo{color:var(--c-orange-300)}.warranty-pill.vencida{color:var(--c-danger)}.tag-mono{font-family:var(--font-mono);font-size:11.5px;background:var(--c-bg-2);padding:3px 8px;border-radius:6px;color:var(--c-lime);border:1px solid var(--c-line);font-weight:600}.drawer-back{position:fixed;inset:0;background:#07090a99;backdrop-filter:blur(4px);z-index:900;animation:fade-in .15s ease-out}.drawer{position:fixed;top:0;right:0;bottom:0;width:520px;max-width:92vw;background:linear-gradient(180deg,var(--c-bg-3) 0%,#0E1614 100%);border-left:1px solid var(--c-line-2);box-shadow:-32px 0 80px #00000080;z-index:901;display:flex;flex-direction:column;animation:drawer-in .22s cubic-bezier(.2,.8,.2,1)}@keyframes drawer-in{0%{transform:translate(40px);opacity:0}to{transform:translate(0);opacity:1}}.drawer-head{display:flex;align-items:center;gap:12px;padding:18px 22px;border-bottom:1px solid var(--c-line)}.drawer-head h3{font-family:var(--font-display);font-size:18px;font-weight:800;letter-spacing:-.02em;margin:0;flex:1}.drawer-body{flex:1;overflow-y:auto;padding:22px}.drawer-foot{display:flex;gap:10px;justify-content:flex-end;padding:16px 22px;border-top:1px solid var(--c-line);background:#0000002e}.drawer-tabs{display:flex;gap:4px;padding:0 22px;border-bottom:1px solid var(--c-line)}.drawer-tab{padding:12px 14px;font-size:12.5px;font-weight:600;color:var(--c-text-3);border:none;background:transparent;cursor:pointer;border-bottom:2px solid transparent;transition:color .12s,border-color .12s}.drawer-tab:hover{color:var(--c-text)}.drawer-tab.active{color:var(--c-lime);border-bottom-color:var(--c-lime)}.asset-hero{display:flex;gap:18px;align-items:flex-start;margin-bottom:24px}.asset-photo{width:120px;height:120px;border-radius:var(--radius-lg);background:var(--c-bg-2);border:1px solid var(--c-line);overflow:hidden;display:grid;place-items:center;flex-shrink:0;color:var(--c-text-4)}.asset-photo img{width:100%;height:100%;object-fit:cover}.asset-hero-info{flex:1;min-width:0}.asset-hero-info .tag-mono{display:inline-block;margin-bottom:8px}.asset-hero-info h2{font-family:var(--font-display);font-size:22px;font-weight:800;letter-spacing:-.02em;margin:0 0 4px}.asset-hero-info .sub{font-size:12.5px;color:var(--c-text-3)}.specs-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px 18px;margin-bottom:24px}.spec-item{font-size:12.5px}.spec-item .k{color:var(--c-text-4);font-size:10.5px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;margin-bottom:4px}.spec-item .v{color:var(--c-text);font-weight:500}.section-title{font-family:var(--font-display);font-size:14px;font-weight:700;letter-spacing:-.01em;margin:24px 0 12px;display:flex;align-items:center;gap:8px;color:var(--c-text)}.section-title .badge-count{background:var(--c-bg-2);color:var(--c-text-3);font-size:10px;font-weight:700;padding:1px 7px;border-radius:999px;border:1px solid var(--c-line)}.timeline{display:flex;flex-direction:column;gap:0}.timeline-item{display:flex;gap:14px;position:relative;padding-bottom:16px}.timeline-item:not(:last-child):before{content:"";position:absolute;left:13px;top:28px;bottom:-2px;width:1px;background:var(--c-line)}.timeline-dot{width:28px;height:28px;border-radius:50%;background:var(--c-bg-2);border:1px solid var(--c-line);display:grid;place-items:center;flex-shrink:0;color:var(--c-text-3);z-index:1}.timeline-content{flex:1;min-width:0;padding-top:4px}.timeline-content .title{font-size:13px;color:var(--c-text);font-weight:600}.timeline-content .when{font-size:11px;color:var(--c-text-3);margin-top:2px}.bulk-bar{position:sticky;bottom:16px;display:flex;align-items:center;gap:14px;padding:12px 18px;margin:16px auto 0;max-width:720px;background:var(--c-bg-3);border:1px solid var(--c-line-2);border-radius:var(--radius-xl);box-shadow:0 20px 48px #00000080;z-index:80}.bulk-bar .count{font-size:13px;font-weight:700;color:var(--c-lime)}.steps-head{display:flex;gap:8px;margin-bottom:22px}.step-pill{flex:1;font-size:11px;font-weight:700;letter-spacing:.04em;padding:6px 10px;border-radius:8px;background:var(--c-bg-2);color:var(--c-text-3);border:1px solid var(--c-line);text-align:center}.step-pill.active{background:#b8e96a24;border-color:#b8e96a4d;color:var(--c-lime)}.step-pill.done{background:#6fcc851a;border-color:#6fcc854d;color:var(--c-green-300)}.field-group{display:grid;gap:12px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}@media (max-width: 540px){.form-row{grid-template-columns:1fr}}.input-label{font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--c-text-3);margin-bottom:6px;display:block}.input-base{width:100%;padding:11px 13px;background:var(--c-bg-2);border:1px solid var(--c-line);border-radius:var(--radius-md);color:var(--c-text);font-size:13.5px;outline:none;transition:border-color .12s,box-shadow .12s;font-family:inherit}.input-base:focus{border-color:#b8e96a66;box-shadow:0 0 0 3px #b8e96a14}select.input-base{appearance:none;cursor:pointer}textarea.input-base{resize:vertical;min-height:80px}.attach-item{display:flex;align-items:center;gap:12px;padding:12px 14px;background:var(--c-bg-2);border:1px solid var(--c-line);border-radius:var(--radius-md);margin-bottom:8px}.attach-icon{width:36px;height:36px;border-radius:9px;background:#5b9df01a;color:#8ab8f5;display:grid;place-items:center;flex-shrink:0}.attach-meta{flex:1;min-width:0}.attach-name{font-size:13px;font-weight:600;color:var(--c-text)}.attach-sub{font-size:11px;color:var(--c-text-3);margin-top:2px}.qr-box{display:flex;flex-direction:column;align-items:center;gap:10px;padding:18px;background:#fff;border-radius:var(--radius-lg);width:fit-content;margin:0 auto}.qr-box .label{color:#1a2a0b;font-family:var(--font-mono);font-size:12px;font-weight:700}.tbl input[type=checkbox]{width:16px;height:16px;accent-color:var(--c-lime);cursor:pointer}.label-page{background:#fff;color:#0a1110;min-height:100vh;padding:24px;display:flex;flex-direction:column;align-items:center;font-family:var(--font-sans)}.label-page .toolbar-print{display:flex;gap:10px;margin-bottom:18px}.label-sheet{width:210mm;background:#fff;padding:10mm 8mm;display:grid;grid-template-columns:repeat(3,1fr);grid-template-rows:repeat(4,auto);gap:4mm;box-shadow:0 12px 32px #0000002e}.label-item{border:1px dashed #ccc;border-radius:6px;padding:6mm 4mm;display:flex;gap:6mm;align-items:center;page-break-inside:avoid;background:#fff}.label-item .label-qr{flex-shrink:0}.label-item .label-info{font-family:var(--font-sans);color:#0a1110;line-height:1.3;font-size:10pt;flex:1;min-width:0}.label-item .label-tag{font-family:var(--font-mono);font-weight:800;font-size:13pt;letter-spacing:.02em}.label-item .label-name{font-size:9pt;font-weight:600;margin-top:2pt;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.label-item .label-sub{font-size:7pt;margin-top:4pt;color:#666;letter-spacing:.04em;text-transform:uppercase;font-weight:700}.label-item .label-brand{font-size:7pt;color:#2baa4a;font-weight:700;letter-spacing:.06em;text-transform:uppercase;margin-top:6pt}@media print{@page{size:A4;margin:0}html,body{background:#fff;margin:0;padding:0}.label-page{padding:0}.label-page .toolbar-print{display:none}.label-sheet{box-shadow:none;padding:8mm 6mm}.label-item{border:1px solid #ddd}}.inline-empty{text-align:center;padding:40px 24px;color:var(--c-text-3);font-size:13px}.order-status-pill{display:inline-flex;align-items:center;gap:6px;font-size:10.5px;font-weight:700;padding:4px 10px;border-radius:999px;letter-spacing:.04em;text-transform:uppercase;border:1px solid currentColor;white-space:nowrap}.order-status-pill .dot{width:6px;height:6px;border-radius:50%;background:currentColor;box-shadow:0 0 6px currentColor}.order-status-pill.aberta{color:#8ab8f5;background:#5b9df01a}.order-status-pill.em_andamento{color:#f8b173;background:#f18a2c1a}.order-status-pill.aguardando_peca{color:#c397f0;background:#c397f01a}.order-status-pill.concluida{color:#6fcc85;background:#6fcc851a}.order-status-pill.cancelada{color:#e5616b;background:#e5616b1a}.order-number{font-family:var(--font-mono);font-size:11.5px;font-weight:700;color:var(--c-lime);background:#b8e96a14;border:1px solid rgba(184,233,106,.25);padding:3px 9px;border-radius:8px;display:inline-block}.attach-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:10px}.payment-method-badge{font-size:10.5px;font-weight:700;padding:3px 9px;background:#5b9df01a;border:1px solid rgba(91,157,240,.25);color:#8ab8f5;border-radius:8px;text-transform:uppercase;letter-spacing:.04em}.os-meta-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px 18px;margin-bottom:22px}@media (max-width: 540px){.os-meta-grid{grid-template-columns:1fr}}.os-fieldset{border:1px solid var(--c-line);border-radius:var(--radius-lg);padding:16px;background:var(--c-bg-2);margin-bottom:14px}.os-fieldset legend{font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--c-lime);padding:0 8px}.kpi-cost{font-family:var(--font-mono);font-size:13px;font-weight:700;color:var(--c-orange-300)}.cal-toolbar{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.cal-viewseg{display:flex;gap:3px;background:var(--c-bg-3);border:1px solid var(--c-line);border-radius:12px;padding:3px}.cal-viewseg button{background:transparent;border:none;color:var(--c-text-3);font-size:12.5px;font-weight:600;padding:6px 14px;border-radius:9px;cursor:pointer}.cal-viewseg button.active{background:#b8e96a24;color:var(--c-lime)}.cal-nav{display:flex;align-items:center;gap:8px}.cal-nav button{width:34px;height:34px;border-radius:9px;background:var(--c-bg-3);border:1px solid var(--c-line);color:var(--c-text-2);cursor:pointer;display:grid;place-items:center}.cal-nav button:hover{border-color:var(--c-line-2);color:var(--c-text)}.cal-nav .month-label{font-family:var(--font-display);font-size:15px;font-weight:700;min-width:130px;text-align:center;text-transform:capitalize}.year-strip{display:grid;grid-template-columns:repeat(12,1fr);gap:6px;margin-bottom:4px}.year-month{background:var(--c-bg-2);border:1px solid var(--c-line);border-radius:10px;padding:10px 8px;cursor:pointer;transition:border-color .12s,background .12s}.year-month:hover{border-color:var(--c-line-2)}.year-month.active{border-color:#b8e96a73;background:#b8e96a0d}.year-month .ym-name{font-size:11px;font-weight:700;color:var(--c-text-2)}.year-month.active .ym-name{color:var(--c-lime)}.year-month .ym-count{font-size:18px;font-weight:800;font-family:var(--font-display);color:var(--c-text)}.year-month .ym-bar{height:3px;border-radius:2px;margin-top:6px;background:linear-gradient(90deg,var(--c-green),var(--c-lime))}.cal-layout{display:grid;grid-template-columns:1fr 320px;gap:18px}@media (max-width: 1200px){.cal-layout{grid-template-columns:1fr}}.cal-grid{background:var(--c-bg-3);border:1px solid var(--c-line);border-radius:var(--radius-xl);overflow:hidden}.cal-weekdays{display:grid;grid-template-columns:repeat(7,1fr);border-bottom:1px solid var(--c-line)}.cal-weekdays div{padding:12px 10px;font-size:10.5px;font-weight:700;letter-spacing:.1em;color:var(--c-text-4);text-align:left}.cal-days{display:grid;grid-template-columns:repeat(7,1fr);grid-auto-rows:minmax(100px,1fr)}.cal-day{border-right:1px solid var(--c-line);border-bottom:1px solid var(--c-line);padding:6px 8px;min-height:100px;position:relative;cursor:pointer;transition:background .1s}.cal-day:hover{background:#b8e96a06}.cal-day.tinted:hover{background:none;filter:brightness(1.3)}.cal-day.tinted .cal-daynum{color:var(--c-text-1);font-weight:700}.cal-day:nth-child(7n){border-right:none}.cal-day.out{background:#0000002e}.cal-day.out .cal-daynum{color:var(--c-text-4)}.cal-day.today .cal-daynum{background:var(--c-green);color:#062012;width:24px;height:24px;border-radius:50%;display:grid;place-items:center;font-weight:800}.cal-daynum{font-size:12px;font-weight:600;color:var(--c-text-2);margin-bottom:4px}.cal-event{font-size:10.5px;padding:2px 6px;border-radius:5px;margin-bottom:3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;border-left:3px solid currentColor;background:#ffffff0a;cursor:pointer}.cal-event-more{font-size:10px;color:var(--c-text-3);padding-left:6px}.cal-aside{display:flex;flex-direction:column;gap:16px}.legend-item{display:flex;align-items:center;gap:10px;padding:8px 4px;font-size:12.5px;border-bottom:1px solid var(--c-line)}.legend-item:last-child{border-bottom:none}.legend-swatch{width:14px;height:14px;border-radius:4px;flex-shrink:0}.legend-item .lbl{flex:1;color:var(--c-text-2)}.legend-item .cnt{font-size:11px;font-weight:700;color:var(--c-text-3);font-family:var(--font-mono)}.cal-status-banner{display:flex;align-items:center;gap:14px;padding:14px 18px;border-radius:var(--radius-lg);margin-bottom:20px;border:1px solid var(--c-line)}.cal-status-banner.rascunho{background:#6b797314;border-color:#6b79734d}.cal-status-banner.revisao{background:#f8b17314;border-color:#f8b1734d}.cal-status-banner.publicado{background:#6fcc8514;border-color:#6fcc854d}.cal-status-pill{display:inline-flex;align-items:center;gap:7px;padding:4px 12px;border-radius:999px;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;border:1px solid currentColor}.cal-status-banner .msg{flex:1;font-size:13px;color:var(--c-text-2)}.wizard{max-width:920px;margin:0 auto}.wizard-steps{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:28px}.wizard-step-tab{padding:14px 16px;border-radius:var(--radius-lg);background:var(--c-bg-2);border:1px solid var(--c-line);position:relative}.wizard-step-tab.active{background:#b8e96a14;border-color:#b8e96a59}.wizard-step-tab.done{background:#6fcc850f;border-color:#6fcc854d}.wizard-step-tab .num{width:26px;height:26px;border-radius:50%;display:grid;place-items:center;font-size:12px;font-weight:800;background:var(--c-bg-3);color:var(--c-text-3);margin-bottom:8px}.wizard-step-tab.active .num{background:var(--c-lime);color:var(--c-lime-ink)}.wizard-step-tab.done .num{background:var(--c-green);color:#062012}.wizard-step-tab .st-label{font-size:13px;font-weight:700;color:var(--c-text)}.wizard-step-tab .st-desc{font-size:11px;color:var(--c-text-3);margin-top:2px}.wizard-body{background:var(--c-bg-3);border:1px solid var(--c-line);border-radius:var(--radius-xl);padding:28px}.wizard-body h2{font-family:var(--font-display);font-size:22px;font-weight:800;letter-spacing:-.02em;margin:0 0 6px}.wizard-body .step-sub{font-size:13.5px;color:var(--c-text-3);margin-bottom:24px}.wizard-foot{display:flex;justify-content:space-between;align-items:center;margin-top:28px;padding-top:20px;border-top:1px solid var(--c-line)}.bimester-form{display:grid;grid-template-columns:1.4fr 1fr 1fr .7fr;gap:10px;align-items:end;margin-bottom:12px;padding:14px;background:var(--c-bg-2);border:1px solid var(--c-line);border-radius:var(--radius-md)}@media (max-width: 680px){.bimester-form{grid-template-columns:1fr 1fr}}.wz-row{display:grid;grid-template-columns:1.6fr 1fr 1fr auto;gap:10px;align-items:end;margin-bottom:10px;padding:12px 14px;background:var(--c-bg-2);border:1px solid var(--c-line);border-radius:var(--radius-md)}@media (max-width: 680px){.wz-row{grid-template-columns:1fr 1fr}}.wz-add{display:inline-flex;align-items:center;gap:8px;margin-top:8px;font-size:13px;font-weight:600;color:var(--c-lime);background:transparent;border:1px dashed rgba(184,233,106,.35);border-radius:var(--radius-md);padding:10px 16px;cursor:pointer;width:100%;justify-content:center}.wz-add:hover{background:#b8e96a0d}.wz-del{width:36px;height:38px;border-radius:9px;background:transparent;border:1px solid var(--c-line);color:var(--c-text-3);cursor:pointer;display:grid;place-items:center}.wz-del:hover{border-color:#e5616b;color:#e5616b}.assess-bimester{border:1px solid var(--c-line);border-radius:var(--radius-lg);margin-bottom:16px;overflow:hidden}.assess-bimester-head{padding:12px 16px;background:var(--c-bg-2);font-size:13px;font-weight:700;border-bottom:1px solid var(--c-line);color:var(--c-text)}.assess-bimester-body{padding:14px 16px}.bimester-item{display:flex;align-items:center;gap:10px;padding:9px 0;border-bottom:1px solid var(--c-line)}.bimester-item:last-child{border-bottom:none}.bimester-bar{width:3px;height:32px;border-radius:2px;flex-shrink:0;background:var(--c-info)}.bimester-item .bi-label{font-size:12.5px;font-weight:600;color:var(--c-text)}.bimester-item .bi-range{font-size:11px;color:var(--c-text-3)}.bimester-item .bi-days{margin-left:auto;font-size:11px;font-weight:700;color:var(--c-lime);font-family:var(--font-mono)}
