@charset "UTF-8";:root{--canvas: #0b1120;--surface-1: #101a2e;--surface-2: #16223c;--surface-3: #1c2b4a;--hairline: rgba(120, 160, 255, .1);--hairline-soft: rgba(120, 160, 255, .055);--ink: #f0f4fc;--ink-muted: #8b9bb8;--ink-faint: #5a6a87;--accent: #3b82f6;--accent-hover: #60a5fa;--accent-soft: rgba(59, 130, 246, .15);--success: #34d399;--success-soft: rgba(52, 211, 153, .14);--warning: #f5a623;--warning-soft: rgba(245, 166, 35, .14);--danger: #ff6b5e;--danger-soft: rgba(255, 107, 94, .14);--c-emerald: #34d399;--c-violet: #a855f7;--c-orange: #fb923c;--c-cyan: #22d3ee;--c-amber: #f5a623;--c-teal: #2dd4bf;--c-indigo: #818cf8;--c-rose: #fb7185;--c-pink: #f472b6;--c-sky: #38bdf8;--c-lime: #a3e635;--shadow-md: 0 10px 30px rgba(0, 0, 0, .35), 0 2px 6px rgba(0, 0, 0, .3);--shadow-card: inset 0 1px 0 rgba(160, 190, 255, .07), 0 10px 30px rgba(0, 0, 0, .28), 0 1px 2px rgba(0, 0, 0, .24);--shadow-card-hover: inset 0 1px 0 rgba(160, 190, 255, .09), 0 16px 40px -6px rgba(0, 0, 0, .4), 0 2px 4px rgba(0, 0, 0, .28);--r-sm: 8px;--r-md: 14px;--r-lg: 20px;--r-xl: 30px;--r-pill: 100px}*{box-sizing:border-box}html,body{margin:0;min-height:100%;overflow-x:hidden;background:var(--canvas);color:var(--ink);font-family:Inter,system-ui,-apple-system,Segoe UI,sans-serif;overflow-anchor:none;font-feature-settings:"cv01","cv05","cv09","cv11","ss03","ss07","dlig";-webkit-font-smoothing:antialiased}h1,h2,h3,h4{font-family:Inter Tight,Inter,sans-serif;margin:0;line-height:1.15;letter-spacing:-.02em;text-wrap:balance}code,.mono{font-family:JetBrains Mono,ui-monospace,monospace}.tabular{font-variant-numeric:tabular-nums}a{color:var(--accent);text-decoration:none}a:hover{color:var(--accent-hover)}button{font-family:inherit;cursor:pointer}input,select,textarea{font-family:inherit}ng-icon{display:inline-flex;align-items:center;justify-content:center;vertical-align:-2.5px;flex:none}ng-icon svg{width:100%;height:100%;display:block}ng-icon.ic{width:16px;height:16px}ng-icon.ic-lg{width:22px;height:22px;vertical-align:-4px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;border:none;border-radius:var(--r-pill);font-size:14.5px;font-weight:600;padding:10px 18px;white-space:nowrap;position:relative;z-index:0;overflow:hidden}.btn:after{content:"";position:absolute;inset:0;z-index:-1;transform:translateY(101%);transition:transform .22s cubic-bezier(.16,1,.3,1)}.btn-primary{background:var(--accent);color:#fff}.btn-primary:after{background:linear-gradient(to top,var(--accent-hover),#93c5fd)}.btn-secondary{background:var(--surface-2);color:var(--ink);border:1px solid var(--hairline)}.btn-secondary:after{background:var(--surface-3)}.btn-primary:hover:after,.btn-secondary:hover:after{transform:translateY(0)}.btn-primary:disabled,.btn-secondary:disabled{opacity:.45;cursor:not-allowed}.btn-primary:disabled:hover:after,.btn-secondary:disabled:hover:after{transform:translateY(101%)}.btn-secondary:hover{color:var(--ink);border-color:#78a0ff4d}.btn-secondary:disabled{background:var(--surface-2);color:var(--ink)}.btn-ghost{background:transparent;color:var(--ink-muted)}.btn-danger-ghost{background:transparent;color:var(--danger)}.btn-block{width:100%;padding:11px 18px}.icon-btn{background:transparent;border:none;color:var(--ink-faint);padding:7px;border-radius:var(--r-sm);display:grid;place-items:center}.icon-btn:hover{background:var(--surface-2);color:var(--ink)}.field{display:flex;flex-direction:column;gap:6px;margin-bottom:14px}.field label,label.field-label{font-size:13.5px;font-weight:600;color:var(--ink-muted)}.field input,.field select,.field textarea,input.vp-input,select.vp-select,textarea.vp-input{padding:11px 14px;border-radius:var(--r-md);border:1px solid var(--hairline);background:var(--surface-2);color:var(--ink);font-size:15px;outline:none;width:100%}.field textarea,textarea.vp-input{resize:vertical;min-height:76px;line-height:1.45}.field input:focus,.field select:focus,.field textarea:focus,input.vp-input:focus,select.vp-select:focus,textarea.vp-input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}::placeholder{color:var(--ink-faint)}.field select,select.vp-select{appearance:none;-webkit-appearance:none;border-radius:var(--r-md);padding-right:36px;cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%2396969f' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 10px center;background-size:16px}.field select:hover,select.vp-select:hover{border-color:var(--accent)}.field select:focus,select.vp-select:focus{border-radius:var(--r-md)}.file-picker{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.file-picker-input{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.file-picker-trigger{display:inline-flex;align-items:center;gap:7px;padding:10px 18px;border-radius:var(--r-pill);background:var(--surface-2);border:1px solid var(--hairline);color:var(--ink);font-size:13.5px;font-weight:600;cursor:pointer;white-space:nowrap}.file-picker-trigger:hover{border-color:var(--accent);color:var(--ink)}.file-picker-input:focus-visible+.file-picker-trigger{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.file-picker-name{font-size:12.5px;color:var(--ink-faint);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:260px}.file-picker-name.has-file{color:var(--ink);font-weight:500}.dropzone{position:relative;display:flex;align-items:center;gap:14px;padding:18px 20px;border-radius:var(--r-lg);border:1.5px dashed var(--hairline);background:var(--surface-2);color:var(--ink-faint);transition:border-color .15s ease,background .15s ease}.dropzone .ic-lg{color:var(--ink-faint);flex:none}.dropzone-text{display:flex;flex-direction:column;gap:2px;font-size:12.5px;min-width:0}.dropzone-text strong{color:var(--ink);font-size:13.5px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dropzone-link{color:var(--accent);cursor:pointer;font-weight:600}.dropzone-link:hover{text-decoration:underline}.dropzone.has-file{border-style:solid;border-color:var(--success);background:var(--success-soft)}.dropzone.has-file .ic-lg{color:var(--success)}.dropzone.drag-over{border-style:solid;border-color:var(--accent);background:var(--accent-soft)}.dropzone.drag-over .ic-lg{color:var(--accent)}.dropzone .file-picker-input{position:absolute;inset:0;width:100%;height:100%;opacity:0;clip:auto;margin:0;cursor:pointer}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}input[type=number]{appearance:textfield;-moz-appearance:textfield}.troll-mark{display:inline-block;flex:none;background:currentColor;-webkit-mask:url("./media/android-troll-U5PDEI5D.png") center/contain no-repeat;mask:url("./media/android-troll-U5PDEI5D.png") center/contain no-repeat}.brand-mark{width:58px;height:58px;border-radius:var(--r-md);background:var(--surface-2);border:1px solid var(--hairline);display:grid;place-items:center;flex:none}.brand-mark img{width:42px;height:42px;display:block}.brand-mark.lg{width:104px;height:104px;border-radius:26px;position:relative;box-shadow:0 0 0 1px var(--hairline),0 16px 40px -8px #3b82f666}.brand-mark.lg:before{content:"";position:absolute;inset:-22px;background:radial-gradient(circle,var(--accent-soft) 0%,transparent 70%);z-index:-1}.brand-mark.lg img{width:74px;height:74px}.app-shell{display:flex;min-height:100vh}.sidebar{width:280px;flex:none;background:var(--surface-1);border-right:1px solid var(--hairline);padding:20px 14px;display:flex;flex-direction:column;gap:22px}.sidebar-brand{display:flex;flex-direction:column;align-items:center;text-align:center;gap:16px;padding:14px 4px 0}.sidebar-brand .brand-mark{width:96px;height:96px;border-radius:26px;background:radial-gradient(circle at 50% 0%,rgba(59,130,246,.18) 0%,transparent 70%),var(--surface-2);border:1px solid rgba(120,160,255,.2);box-shadow:inset 0 1px #a0beff1f,0 18px 44px -14px #3b82f68c}.sidebar-brand .brand-mark img{width:74px;height:74px}.sidebar-brand .name{font-family:Geist,Inter Tight,sans-serif;font-weight:700;font-size:25px;letter-spacing:-.035em;line-height:1;transition:color .15s ease}.sidebar-brand:hover .name{color:var(--accent-hover)}.sidebar-brand .role{display:block;margin-top:7px;font-size:11px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-faint)}.brand-status-row{display:flex;align-items:center;justify-content:center;gap:10px;padding:0 4px;margin-top:-6px}.brand-status{display:inline-flex;align-items:center;gap:6px;font-size:10.5px;font-weight:700;letter-spacing:.07em;text-transform:uppercase;color:var(--success);background:var(--success-soft);border:1px solid rgba(52,211,153,.25);padding:4px 10px;border-radius:var(--r-pill)}.brand-status.bad{color:var(--danger);background:var(--danger-soft);border-color:#ff6b5e40}.brand-status.warn{color:var(--warning);background:var(--warning-soft);border-color:#f5a62340}.brand-status .dot{width:6px;height:6px;border-radius:50%;background:currentColor;box-shadow:0 0 6px currentColor;animation:vp-glow-pulse 2.4s ease-in-out infinite}.brand-version{font-size:11px;font-weight:600;color:var(--ink-faint)}.nav-group{display:flex;flex-direction:column;gap:2px}.nav-eyebrow{font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-faint);padding:4px 10px;margin-top:6px}.nav-section{font-size:10.5px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--c-sky);padding:14px 10px 4px;opacity:.85}.nav-section:nth-of-type(2){color:var(--c-sky)}.nav-group .nav-section+.nav-item{margin-top:0}.nav-item{display:flex;align-items:center;gap:10px;padding:10px;border-radius:var(--r-md);font-size:14.5px;font-weight:500;color:var(--ink-muted);border:none;background:transparent;text-align:left;width:100%}.nav-item.active{background:var(--surface-2);color:var(--ink);font-weight:600}.nav-item .ic{color:var(--ink-faint);opacity:.85;transition:color .15s ease,opacity .15s ease,filter .15s ease}.nav-item .ic.ic-users{color:var(--accent)}.nav-item .ic.ic-package{color:var(--c-emerald)}.nav-item .ic.ic-globe{color:var(--c-violet)}.nav-item .ic.ic-dashboard{color:var(--accent)}.nav-item .ic.ic-store{color:var(--c-cyan)}.nav-item .ic.ic-bypass{color:var(--c-orange)}.nav-item .ic.ic-search{color:var(--c-amber)}.nav-item .ic.ic-template{color:var(--c-emerald)}.nav-item .ic.ic-plan{color:var(--c-amber)}.nav-item .ic.ic-inject{color:var(--c-violet)}.nav-item .ic.ic-tutorial{color:var(--danger)}.nav-item .ic.ic-reseller{color:var(--c-amber)}.nav-item .ic.ic-support{color:var(--c-teal)}.nav-item:not(.active):hover{background:#78a0ff12;color:var(--ink)}.nav-item:not(.active):hover .ic,.nav-item.active .ic{opacity:1;filter:drop-shadow(0 0 6px currentColor)}.empty-state{text-align:center;padding:26px 20px!important;font-size:14px;color:var(--ink-faint)}.empty-state .troll-mark{display:block;width:44px;height:44px;margin:0 auto 10px;color:var(--ink-faint);opacity:.7}.sidebar-foot{margin-top:auto;display:flex;align-items:center;gap:9px;padding:8px;border-radius:var(--r-md);border:1px solid var(--hairline);background:var(--surface-2)}.avatar{width:28px;height:28px;border-radius:50%;background:var(--accent-soft);color:var(--accent);display:grid;place-items:center;font-size:12px;font-weight:700;flex:none}.sidebar-foot .who{display:flex;flex-direction:column;line-height:1.25;overflow:hidden}.sidebar-foot .who .u{font-size:12.5px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sidebar-foot .who .p{font-size:11px;color:var(--ink-faint)}.sidebar-foot .who{flex:1;min-width:0}.logout-btn{flex:none;color:var(--ink-faint)}.logout-btn:hover{color:var(--danger);background:var(--danger-soft)}.main{flex:1;min-width:0;padding:28px 34px 60px;overflow-anchor:none}.page-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:22px;flex-wrap:wrap}.page-head h1,.page-head h2{font-size:26px;font-weight:700;letter-spacing:-.025em;display:inline-flex;align-items:center;gap:11px}.page-ic{display:grid;place-items:center;width:36px;height:36px;flex:none;border-radius:11px;background:var(--surface-2);border:1px solid var(--hairline)}.page-ic .ic{width:18px;height:18px}.c-blue{color:var(--accent)}.c-emerald{color:var(--c-emerald)}.c-violet{color:var(--c-violet)}.c-cyan{color:var(--c-cyan)}.c-amber{color:var(--c-amber)}.c-orange{color:var(--c-orange)}.c-teal{color:var(--c-teal)}.c-indigo{color:var(--c-indigo)}.c-rose{color:var(--c-rose)}.c-pink{color:var(--c-pink)}.c-sky{color:var(--c-sky)}.c-lime{color:var(--c-lime)}.page-head .desc{font-size:15px;color:var(--ink-muted);margin-top:4px}.card{background:var(--surface-1);border:1px solid var(--hairline);border-radius:var(--r-lg);box-shadow:var(--shadow-card);padding:22px 24px}.toolbar{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:14px}.search-box{display:flex;align-items:center;gap:8px;background:var(--surface-1);border:1px solid var(--hairline);border-radius:var(--r-pill);padding:8px 14px;color:var(--ink-faint);min-width:220px}.search-box input{border:none;background:transparent;outline:none;color:var(--ink);font-size:14px;width:100%}.chip-row{display:flex;gap:8px;flex-wrap:wrap}.fchip{border:1px solid var(--hairline);background:var(--surface-1);color:var(--ink-muted);font-size:12.5px;font-weight:600;padding:7px 13px;border-radius:var(--r-pill);display:inline-flex;align-items:center;gap:6px}.fchip .ic{width:14px;height:14px;opacity:.95}.fchip.c-blue{color:var(--accent);background:#3b82f61a;border-color:#3b82f64d}.fchip.c-emerald{color:var(--c-emerald);background:#34d3991a;border-color:#34d3994d}.fchip.c-violet{color:var(--c-violet);background:#a855f71a;border-color:#a855f74d}.fchip.c-cyan{color:var(--c-cyan);background:#22d3ee1a;border-color:#22d3ee4d}.fchip.c-amber{color:var(--c-amber);background:#f5a6231a;border-color:#f5a6234d}.fchip.c-orange{color:var(--c-orange);background:#fb923c1a;border-color:#fb923c4d}.fchip.active{background:var(--accent);color:#fff;border-color:var(--accent)}.toolbar-spacer{flex:1}.result-count{font-size:12px;color:var(--ink-faint)}.filter-select{padding:8px 14px;border-radius:var(--r-pill);border:1px solid var(--hairline);background:var(--surface-1);color:var(--ink-muted);font-size:12.5px;font-weight:600}.user-cell{display:flex;align-items:center;gap:10px}.avatar-sm{width:28px;height:28px;border-radius:50%;background:var(--accent-soft);color:var(--accent-hover);display:grid;place-items:center;font-size:11px;font-weight:700;flex:none}.user-name{font-weight:600}.papel-user{color:var(--c-emerald)}.papel-revendedor{color:var(--c-amber)}.papel-admin{color:var(--accent)}.avatar-sm.papel-user{background:#34d39929}.avatar-sm.papel-revendedor{background:#f5a62329}.avatar-sm.papel-admin{background:#3b82f629}.role-badge{font-size:10px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--c-emerald);background:#34d3991f;border:1px solid rgba(52,211,153,.3);padding:2px 8px;border-radius:var(--r-pill)}.table-card{background:var(--surface-1);border:1px solid var(--hairline);border-radius:var(--r-lg);box-shadow:var(--shadow-card);overflow:hidden;overflow-x:auto}table{width:100%;border-collapse:collapse;font-variant-numeric:tabular-nums}thead th{text-align:left;font-size:12.5px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--ink-faint);padding:12px 18px;border-bottom:1px solid var(--hairline);background:var(--surface-2);white-space:nowrap}tbody td{padding:14px 18px;font-size:14.5px;border-bottom:1px solid var(--hairline);vertical-align:middle}tbody tr:last-child td{border-bottom:none}.th-sort{display:inline-flex;align-items:center;gap:5px;font:inherit;color:inherit;background:transparent;border:0;padding:0;cursor:pointer;text-transform:inherit;letter-spacing:inherit}.th-sort:hover{color:var(--accent-hover)}.th-setas{font-size:11px;opacity:.7}.paginacao{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;padding:12px 18px;border-top:1px solid var(--hairline);background:var(--surface-2);font-size:13px;color:var(--ink-muted)}.paginacao-info{display:flex;align-items:center;gap:14px}.paginacao-tamanho{display:inline-flex;align-items:center;gap:6px}.paginacao-tamanho select{padding:4px 8px;border-radius:var(--r-sm);border:1px solid var(--hairline);background:var(--surface-1);color:inherit;font:inherit}.paginacao-controles{display:inline-flex;align-items:center;gap:10px}.paginacao-pagina{font-variant-numeric:tabular-nums;color:var(--ink-faint)}.modal-overlay{position:fixed;inset:0;background:#060a16a8;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);display:flex;align-items:center;justify-content:center;padding:18px;z-index:1000;animation:vp-fade-in .15s ease both}.modal-card{background:var(--surface-1);border:1px solid var(--hairline);border-radius:var(--r-lg);box-shadow:0 30px 70px -24px #000000bf;width:min(460px,92vw);max-height:90vh;overflow-y:auto;padding:22px}.modal-card h2{margin:0 0 8px;font-size:18px;font-weight:700;letter-spacing:-.01em}.modal-card .modal-text{font-size:13.5px;color:var(--ink-muted);line-height:1.5;margin:0 0 14px}.modal-card .modal-field{display:flex;flex-direction:column;gap:6px;margin-bottom:14px}.modal-card .modal-field label{font-size:12px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--ink-faint)}.modal-card select,.modal-card input[type=text]{width:100%;padding:9px 11px;border:1px solid var(--hairline);border-radius:var(--r-sm);background:var(--surface-2);color:var(--ink);font:inherit;font-size:14px}.modal-card select:focus,.modal-card input[type=text]:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.modal-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:4px}.modal-aviso{font-size:12.5px;color:var(--c-orange);margin:0 0 12px}.modal-card .modal-perigo{color:var(--danger)}.perigo-panel{margin-top:18px;border-color:#f8717166}.perigo-panel .panel-title{color:var(--danger)}.table-card thead th:nth-child(1){color:var(--c-cyan)}.table-card thead th:nth-child(2){color:var(--c-emerald)}.table-card thead th:nth-child(3){color:var(--c-amber)}.table-card thead th:nth-child(4){color:var(--c-violet)}.table-card thead th:nth-child(5){color:var(--c-rose)}.table-card thead th:nth-child(6){color:var(--c-sky)}.table-card thead th:nth-child(7){color:var(--c-orange)}.table-card thead th:nth-child(8){color:var(--c-pink)}.table-card thead th:nth-child(9){color:var(--c-lime)}.table-card tbody td:nth-child(1){color:var(--c-cyan)}.table-card tbody td:nth-child(2){color:var(--c-emerald)}.table-card tbody td:nth-child(3){color:var(--c-amber)}.table-card tbody td:nth-child(4){color:var(--c-violet)}.table-card tbody td:nth-child(5){color:var(--c-rose)}.table-card tbody td:nth-child(6){color:var(--c-sky)}.table-card tbody td:nth-child(7){color:var(--c-orange)}.table-card tbody td:nth-child(8){color:var(--c-pink)}.table-card tbody td:nth-child(9){color:var(--c-lime)}.table-card thead th:nth-child(1){box-shadow:inset 0 -2px 0 var(--c-cyan)}.table-card thead th:nth-child(2){box-shadow:inset 0 -2px 0 var(--c-emerald)}.table-card thead th:nth-child(3){box-shadow:inset 0 -2px 0 var(--c-amber)}.table-card thead th:nth-child(4){box-shadow:inset 0 -2px 0 var(--c-violet)}.table-card thead th:nth-child(5){box-shadow:inset 0 -2px 0 var(--c-rose)}.table-card thead th:nth-child(6){box-shadow:inset 0 -2px 0 var(--c-sky)}.table-card thead th:nth-child(7){box-shadow:inset 0 -2px 0 var(--c-orange)}.table-card thead th:nth-child(8){box-shadow:inset 0 -2px 0 var(--c-pink)}.table-card thead th:nth-child(9){box-shadow:inset 0 -2px 0 var(--c-lime)}.row-actions{display:flex;gap:6px;justify-content:flex-end;flex-wrap:wrap}.status-pill{display:inline-flex;align-items:center;gap:6px;font-size:13px;font-weight:600;padding:4px 11px 4px 9px;border-radius:var(--r-pill);border:0;cursor:pointer;transition:filter .15s ease,box-shadow .15s ease}button.status-pill:hover{filter:brightness(1.12);box-shadow:0 0 0 3px var(--accent-soft)}.status-pill.ok{background:var(--success-soft);color:var(--success)}.status-pill.warn{background:var(--warning-soft);color:var(--warning)}.status-pill.bad{background:var(--danger-soft);color:var(--danger)}.status-pill.spin .ic{animation:vp-spin 1.4s linear infinite}@keyframes vp-spin{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){.status-pill.spin .ic{animation:none}}.login-screen{position:relative;min-height:100vh;display:flex;align-items:center;justify-content:center;padding:48px 20px;overflow:hidden}.login-screen:before{content:"";position:absolute;left:50%;bottom:-40vh;transform:translate(-50%);width:140vw;height:100vh;background:radial-gradient(ellipse at center bottom,rgba(59,130,246,.16) 0%,rgba(37,99,235,.06) 45%,transparent 72%);pointer-events:none}.login-screen:after{content:"";position:absolute;top:-30vh;left:50%;transform:translate(-50%);width:120vw;height:80vh;background:radial-gradient(ellipse at center top,rgba(59,130,246,.14) 0%,transparent 68%);pointer-events:none}.login-card{position:relative;width:100%;max-width:400px;border:1px solid transparent;border-radius:var(--r-xl);background:linear-gradient(var(--surface-1),var(--surface-1)) padding-box,linear-gradient(135deg,#3b82f680,#3b82f60f 45%,#78a0ff4d) border-box;box-shadow:inset 0 1px #a0beff14,0 24px 60px -18px #3b82f64d;padding:38px 34px 30px;display:flex;flex-direction:column;align-items:center;gap:6px}.input-icon-wrap{position:relative}.input-icon-wrap input{padding-left:40px}.input-icon{position:absolute;left:14px;top:50%;transform:translateY(-50%);color:var(--ink-faint);pointer-events:none;transition:color .15s ease}.input-icon-wrap input:focus+.input-icon,.input-icon-wrap:focus-within .input-icon{color:var(--accent)}.login-error{margin-top:14px;width:100%;justify-content:center}.login-card .brand-mark.lg{margin-bottom:20px;margin-top:4px}.login-card h1{font-size:28px;font-weight:700;letter-spacing:-.025em}.login-card .sub{font-size:15px;color:var(--ink-muted);margin-bottom:22px;text-align:center}.login-card .field{width:100%}.login-card .btn-block{margin-top:6px}.aviso-screen{position:relative;min-height:100vh;display:flex;align-items:center;justify-content:center;padding:48px 20px;overflow:hidden}.aviso-screen:before{content:"";position:absolute;left:50%;bottom:-40vh;transform:translate(-50%);width:140vw;height:100vh;background:radial-gradient(ellipse at center bottom,rgba(59,130,246,.2) 0%,rgba(37,99,235,.07) 45%,transparent 72%);pointer-events:none}.aviso-screen:after{content:"";position:absolute;top:-30vh;left:50%;transform:translate(-50%);width:120vw;height:80vh;background:radial-gradient(ellipse at center top,rgba(99,102,241,.16) 0%,transparent 68%);pointer-events:none}.aviso-card{position:relative;width:100%;max-width:640px;border:1px solid transparent;border-radius:var(--r-xl);background:linear-gradient(var(--surface-1),var(--surface-1)) padding-box,linear-gradient(135deg,#3b82f680,#3b82f60f 45%,#78a0ff4d) border-box;box-shadow:inset 0 1px #a0beff14,0 24px 60px -18px #3b82f64d;padding:42px 38px 34px;display:flex;flex-direction:column;align-items:center;gap:8px;text-align:center}.aviso-card .brand-mark.lg{margin-bottom:12px}.aviso-card h1{font-size:27px;font-weight:700;letter-spacing:-.025em;line-height:1.2}.aviso-texto{font-size:15px;line-height:1.65;color:var(--ink-muted);margin:4px 0 10px;white-space:pre-line;max-width:540px}.aviso-foot{margin-top:16px;font-size:12px;color:var(--ink-faint);letter-spacing:.02em}.phone-frame{position:relative;width:100%;max-width:268px;aspect-ratio:9/19.5;margin:20px auto;padding:10px;border-radius:42px;background:#0a101e;border:1px solid rgba(120,160,255,.14);box-shadow:inset 0 0 0 2px #78a0ff0d,0 18px 44px -10px #000000b3}.phone-frame:before{content:"";position:absolute;top:10px;left:50%;transform:translate(-50%);width:84px;height:20px;border-radius:999px;background:#0a101e;z-index:2}.phone-notch{position:absolute;top:18px;left:50%;transform:translate(-50%);width:34px;height:4px;border-radius:999px;background:#78a0ff33;z-index:3}.template-preview{width:100%;height:100%;border:none;border-radius:32px;background:#fff;display:block}.modal-backdrop{position:fixed;inset:0;z-index:200;background:#0009;display:flex;align-items:center;justify-content:center;padding:20px}.modal-card{width:100%;max-width:380px;background:var(--surface-1);border:1px solid var(--hairline);border-radius:var(--r-lg);box-shadow:var(--shadow-md);padding:20px 22px 22px}.modal-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.modal-head h3{font-size:15px;font-weight:700}.modal-body{display:flex;flex-direction:column;gap:16px;margin-bottom:20px}.modal-hint{font-size:11.5px;color:var(--ink-faint)}.modal-actions{display:flex;align-items:center;justify-content:space-between;gap:10px}.autosave-status{display:inline-flex;align-items:center;gap:5px;font-size:12px;color:var(--ink-faint)}.autosave-status .ic{color:var(--success)}@keyframes vp-rise-in{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}@keyframes vp-pop-in{0%{opacity:0;transform:translateY(14px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes vp-fade-in{0%{opacity:0}to{opacity:1}}@keyframes vp-glow-pulse{0%,to{opacity:.38}50%{opacity:.6}}@keyframes vp-blob{0%{transform:translate(0) scale(1)}33%{transform:translate(40px,-60px) scale(1.12)}66%{transform:translate(-30px,30px) scale(.92)}to{transform:translate(0) scale(1)}}@keyframes vp-shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}@keyframes vp-pulse-glow{0%,to{box-shadow:0 0 18px #3b82f62e}50%{box-shadow:0 0 38px #3b82f661}}.app-shell{position:relative}.app-shell:before,.app-shell:after{content:"";position:fixed;z-index:0;width:520px;height:520px;border-radius:50%;filter:blur(120px);pointer-events:none;animation:vp-blob 24s ease-in-out infinite}.app-shell:before{top:-180px;left:-120px;background:radial-gradient(circle,rgba(59,130,246,.16) 0%,transparent 65%)}.app-shell:after{bottom:-220px;right:-140px;background:radial-gradient(circle,rgba(37,99,235,.14) 0%,transparent 65%);animation-delay:-8s}.sidebar,.main{position:relative;z-index:1}.sidebar{animation:vp-fade-in .35s ease both}.nav-item{animation:vp-rise-in .6s cubic-bezier(.16,1,.3,1) both}.nav-item:nth-child(2){animation-delay:.06s}.nav-item:nth-child(3){animation-delay:.12s}.nav-item:nth-child(4){animation-delay:.18s}.nav-item:nth-child(5){animation-delay:.24s}.nav-item:nth-child(6){animation-delay:.3s}.nav-item:nth-child(n+7){animation-delay:.36s}.main>*{animation:vp-rise-in .7s cubic-bezier(.16,1,.3,1) both}.main>*:nth-child(1){animation-delay:.04s}.main>*:nth-child(2){animation-delay:.12s}.main>*:nth-child(3){animation-delay:.2s}.main>*:nth-child(4){animation-delay:.28s}.main>*:nth-child(n+5){animation-delay:.36s}.login-card{animation:vp-pop-in .6s cubic-bezier(.16,1,.3,1) both}.modal-backdrop{animation:vp-fade-in .15s ease both}.modal-card{animation:vp-pop-in .25s cubic-bezier(.16,1,.3,1) both}.brand-mark.lg:before{animation:vp-glow-pulse 3.2s ease-in-out infinite}.table-card tbody tr{animation:vp-rise-in .6s cubic-bezier(.16,1,.3,1) both}.table-card tbody tr:nth-child(1){animation-delay:.04s}.table-card tbody tr:nth-child(2){animation-delay:.1s}.table-card tbody tr:nth-child(3){animation-delay:.16s}.table-card tbody tr:nth-child(4){animation-delay:.22s}.table-card tbody tr:nth-child(n+5){animation-delay:.28s}.app-list .app-row{animation:vp-rise-in .35s ease both}a,button,input,select,.nav-item,.fchip,.status-pill,.card,.app-row,.dom-row,tbody tr{transition:background-color .15s ease,border-color .15s ease,color .15s ease,box-shadow .15s ease,transform .12s ease,opacity .15s ease}.btn-primary:hover,.btn-secondary:hover{box-shadow:0 8px 22px -4px #3b82f680;transform:translateY(-1px) scale(1.02)}.btn-primary:active:not(:disabled){transform:translateY(0) scale(.97)}.btn-secondary:hover{border-color:var(--accent);color:var(--ink)}.btn-secondary:active:not(:disabled),.btn-danger-ghost:active,.btn-ghost:active{transform:scale(.96)}.btn-danger-ghost:hover{background:var(--danger-soft)}.icon-btn:active{transform:scale(.9)}.nav-item{position:relative}.nav-item.active:before{content:"";position:absolute;left:-14px;top:50%;transform:translateY(-50%);width:3px;height:60%;border-radius:0 3px 3px 0;background:var(--accent)}tbody tr:hover{background:#78a0ff0a}.card:hover,a.card:hover{border-color:var(--hairline-soft);box-shadow:var(--shadow-card-hover);transform:translateY(-2px)}.fchip:hover:not(.active){border-color:var(--accent);color:var(--ink)}.brand-mark{transition:transform .2s ease}.sidebar-brand:hover .brand-mark{transform:rotate(-4deg) scale(1.05)}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}}@media(max-width:860px){.app-shell{flex-direction:column}.sidebar{width:100%;flex-direction:row;align-items:center;overflow-x:auto;padding:12px 14px;gap:14px}.sidebar-brand{flex-direction:row;text-align:left;gap:10px;padding:0}.sidebar-brand .brand-mark{width:46px;height:46px;border-radius:14px;box-shadow:none}.sidebar-brand .brand-mark img{width:34px;height:34px}.sidebar-brand .name{font-size:18px}.sidebar-brand .role,.brand-status-row{display:none}.nav-group{flex-direction:row}.sidebar-foot{display:none}.main{padding:22px 18px 50px}}.sub-tabs{display:inline-flex;gap:4px;padding:4px;margin-bottom:18px;border:1px solid var(--hairline);border-radius:var(--r-pill)}.role-badge-admin{color:var(--accent);background:#3b82f61f;border-color:#3b82f64d}.role-badge-rev{color:var(--c-amber);background:#f5a6231f;border-color:#f5a6234d}.sub-tab{padding:8px 16px;border-radius:var(--r-pill);font-size:13px;font-weight:600;color:var(--ink-muted);text-decoration:none;transition:background .2s ease,color .2s ease}.sub-tab:hover{color:var(--ink)}.sub-tab.active{background:var(--accent);color:#fff}.mini-stat{position:relative;overflow:hidden}.mini-stat:before{content:"";position:absolute;inset:0 0 auto;height:3px;background:var(--accent)}.mini-stats .mini-stat:nth-child(1):before{background:var(--accent)}.mini-stats .mini-stat:nth-child(2):before{background:var(--c-emerald)}.mini-stats .mini-stat:nth-child(3):before{background:var(--c-orange)}.mini-stats .mini-stat:nth-child(4):before{background:var(--c-amber)}.mini-stats .mini-stat:nth-child(5):before{background:var(--c-cyan)}.mini-stats .mini-stat:nth-child(6):before{background:var(--c-violet)}.plan-name{display:inline-flex;align-items:center;gap:8px}.col-link{font-weight:700;text-decoration:none;cursor:pointer}.col-link:hover{text-decoration:underline}.stat-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(168px,1fr));gap:14px;margin-bottom:26px}.stat-card{position:relative;background:var(--surface-1);border:1px solid var(--hairline);border-radius:var(--r-lg);box-shadow:var(--shadow-card);padding:16px 18px;display:flex;flex-direction:column;gap:4px;overflow:hidden;transition:transform .2s cubic-bezier(.16,1,.3,1),border-color .2s ease,box-shadow .2s ease;animation:vp-rise-in .7s cubic-bezier(.16,1,.3,1) both}.stat-card:hover{transform:translateY(-2px);border-color:var(--accent);box-shadow:var(--shadow-card-hover),0 14px 32px -18px #3b82f68c}.stat-ic{display:grid;place-items:center;width:34px;height:34px;border-radius:10px;background:var(--surface-2);border:1px solid var(--hairline);margin-bottom:6px}.stat-num{font-family:Inter Tight,sans-serif;font-size:28px;font-weight:700;line-height:1}.stat-label{font-size:12.5px;color:var(--ink-muted)}.panel-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(340px,1fr));gap:16px}.panel{background:var(--surface-1);border:1px solid var(--hairline);border-radius:var(--r-lg);box-shadow:var(--shadow-card);padding:18px 20px 20px}.panel-title{font-size:15px;font-weight:700;letter-spacing:-.01em;margin-bottom:14px}.panel-empty{font-size:13px;color:var(--ink-faint);margin:0}.dist{margin-bottom:12px}.dist:last-child{margin-bottom:0}.dist-head{display:flex;align-items:center;gap:9px;margin-bottom:6px}.dist-ic{display:grid;place-items:center;width:26px;height:26px;border-radius:8px;background:var(--surface-2);border:1px solid var(--hairline);flex:none}.dist-ic .ic{width:15px;height:15px}.dist-label{font-size:13.5px;font-weight:600;flex:1;min-width:0}.dist-valor{font-size:14px;font-weight:700}.dist-track{height:6px;border-radius:var(--r-pill);background:#78a0ff1a;overflow:hidden}.dist-fill{display:block;height:100%;border-radius:var(--r-pill);background:currentColor;transition:width .7s cubic-bezier(.16,1,.3,1)}.periodo-toggle{display:inline-flex;gap:3px;padding:3px;border:1px solid var(--hairline);border-radius:var(--r-pill);background:var(--surface-1)}.periodo-btn{border:0;background:transparent;color:var(--ink-muted);font-size:12.5px;font-weight:600;padding:7px 14px;border-radius:var(--r-pill);cursor:pointer;transition:background .2s ease,color .2s ease}.periodo-btn:hover{color:var(--ink)}.periodo-btn.active{background:var(--accent);color:#fff}
