:root{--bg:#090b12;--panel:#111520;--panel2:#171c29;--line:#252b3a;--text:#f4f5f8;--muted:#8d96a8;--purple:#8b5cf6;--purple2:#b49aff;--green:#37d398;--yellow:#f6bd55;--red:#ff6079;--blue:#5da8ff;--sidebar:252px}*{box-sizing:border-box}html{color-scheme:dark}body{margin:0;background:radial-gradient(circle at 85% -10%,#251646 0,transparent 30%),var(--bg);color:var(--text);font:14px/1.5 Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif}a{color:inherit;text-decoration:none}.sidebar{position:fixed;inset:0 auto 0 0;width:var(--sidebar);padding:26px 18px 18px;background:rgba(12,15,24,.96);border-right:1px solid var(--line);display:flex;flex-direction:column;z-index:20}.brand{display:flex;gap:11px;align-items:center;padding:0 8px 28px;font-size:17px;font-weight:750}.brand-mark{display:block;width:38px;height:38px;object-fit:contain;filter:drop-shadow(0 7px 10px #8b5cf64f)}.brand small{display:block;font-size:8px;letter-spacing:.18em;color:var(--muted);margin-top:1px}.sidebar nav{display:flex;flex-direction:column;gap:3px;overflow:auto}.nav-label{font-size:9px;text-transform:uppercase;letter-spacing:.15em;color:#626b7c;padding:20px 12px 5px}.sidebar nav a{display:flex;align-items:center;gap:11px;color:#98a1b2;border-radius:10px;padding:9px 12px;font-weight:550}.sidebar nav a i{width:18px;text-align:center;font-style:normal;font-size:17px}.sidebar nav a:hover{color:#fff;background:#ffffff08}.sidebar nav a.active{color:#fff;background:linear-gradient(90deg,#8b5cf62b,#8b5cf60a);box-shadow:inset 3px 0 var(--purple)}.sidebar-user{margin-top:auto;border-top:1px solid var(--line);padding:17px 4px 0;display:flex;gap:9px;align-items:center}.sidebar-user .avatar{width:32px;height:32px;border-radius:50%;display:grid;place-items:center;background:#8b5cf62b;color:var(--purple2);font-weight:800}.sidebar-user div{min-width:0;flex:1}.sidebar-user strong,.sidebar-user small{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sidebar-user strong{font-size:12px}.sidebar-user small{font-size:10px;color:var(--muted)}.sidebar-user button{border:0;background:none;color:var(--muted);font-size:19px;cursor:pointer}.admin-main{margin-left:var(--sidebar);min-height:100vh}.page-shell{max-width:1500px;margin:auto;padding:35px 38px 70px}.page-head{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;margin-bottom:24px}.page-head h1{font-size:25px;line-height:1.2;margin:0 0 5px}.page-head p,.sub{margin:0;color:var(--muted)}.eyebrow{color:var(--purple2);text-transform:uppercase;letter-spacing:.13em;font-weight:700;font-size:10px}.grid{display:grid;gap:15px}.kpis{grid-template-columns:repeat(4,minmax(0,1fr));margin-bottom:22px}.card{background:linear-gradient(145deg,#141925,#10141e);border:1px solid var(--line);border-radius:15px;padding:18px;box-shadow:0 12px 30px #00000018}.kpi{position:relative;overflow:hidden}.kpi:after{content:"";position:absolute;width:70px;height:70px;border-radius:50%;right:-25px;top:-25px;background:var(--tone,var(--purple));opacity:.1}.kpi .label{color:var(--muted);font-size:12px}.kpi .value{font-size:28px;font-weight:780;margin:6px 0 2px;letter-spacing:-.03em}.kpi .hint{font-size:11px;color:var(--muted)}.two-col{grid-template-columns:minmax(0,1.65fr) minmax(300px,.8fr)}.card-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}.card-head h2,.card h2{margin:0;font-size:15px}.card-head a{color:var(--purple2);font-size:11px}.service{display:flex;justify-content:space-between;align-items:center;padding:12px 0;border-bottom:1px solid var(--line)}.service:last-child{border:0}.dot{display:inline-block;width:7px;height:7px;border-radius:50%;margin-right:7px;background:var(--red);box-shadow:0 0 0 4px #ff607914}.dot.ok{background:var(--green);box-shadow:0 0 0 4px #37d39814}.table-wrap{overflow:auto;margin:0 -4px}.table{width:100%;border-collapse:collapse;min-width:720px}.table th{text-align:left;padding:10px 12px;color:#727c8f;font-size:9px;text-transform:uppercase;letter-spacing:.1em;border-bottom:1px solid var(--line)}.table td{padding:12px;border-bottom:1px solid #202533;vertical-align:middle}.table tr:last-child td{border:0}.table tbody tr:hover{background:#ffffff03}.primary{font-weight:650}.secondary{display:block;color:var(--muted);font-size:11px;margin-top:2px}.mono{font:11px ui-monospace,SFMono-Regular,Consolas,monospace;color:#b9c1ce}.badge{display:inline-flex;align-items:center;padding:3px 8px;border-radius:99px;font-size:10px;font-weight:700;background:#8d96a81b;color:#aab1be}.badge.ok{background:#37d39817;color:var(--green)}.badge.warn{background:#f6bd5517;color:var(--yellow)}.badge.bad{background:#ff607917;color:var(--red)}.badge.purple{background:#8b5cf61c;color:var(--purple2)}.btn{display:inline-flex;justify-content:center;align-items:center;border:0;border-radius:9px;padding:9px 13px;background:var(--purple);color:#fff;font:600 12px inherit;cursor:pointer}.btn:hover{filter:brightness(1.12)}.btn.ghost{background:transparent;border:1px solid var(--line);color:#cbd0da}.btn.danger{background:#ff60791d;color:var(--red);border:1px solid #ff607930}.actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.flash{padding:11px 14px;border:1px solid #37d3983b;background:#37d39810;color:var(--green);border-radius:10px;margin-bottom:17px}.empty{text-align:center;color:var(--muted);padding:35px}.form{display:grid;gap:15px}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}.field label{display:block;color:#9da5b4;font-size:11px;font-weight:650;margin-bottom:6px}.field input,.field select,.field textarea{width:100%;border:1px solid var(--line);border-radius:9px;background:#0c1019;color:#fff;padding:10px 11px;font:13px inherit}.field textarea{min-height:260px;resize:vertical;line-height:1.65}.field input:focus,.field textarea:focus,.field select:focus{outline:2px solid #8b5cf642;border-color:var(--purple)}.template-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.template-card{display:flex;flex-direction:column;gap:12px}.template-card .preview{white-space:pre-wrap;color:#aab2c0;background:#090c13;border:1px solid #202635;border-radius:9px;padding:12px;min-height:90px;font-size:12px}.chips{display:flex;gap:6px;flex-wrap:wrap}.chip{font:10px ui-monospace,monospace;padding:4px 7px;background:#8b5cf616;border:1px solid #8b5cf62c;color:var(--purple2);border-radius:6px;cursor:pointer}.editor-layout{grid-template-columns:minmax(0,1.5fr) minmax(280px,.65fr)}.detail-list{display:grid;gap:0}.detail-row{display:flex;justify-content:space-between;gap:15px;padding:10px 0;border-bottom:1px solid var(--line)}.detail-row span{color:var(--muted)}.masked{letter-spacing:.08em}.public-main{min-height:100vh;display:grid;place-items:center;padding:20px}.ad-login{width:min(390px,100%);background:var(--panel);border:1px solid var(--line);border-radius:18px;padding:28px;box-shadow:0 25px 70px #0008}.ad-login h1{margin:0 0 5px}.ad-login p{color:var(--muted);margin:0 0 20px}.mobile-menu,.menu-shade{display:none}@media(max-width:1050px){.kpis{grid-template-columns:repeat(2,1fr)}.two-col,.editor-layout{grid-template-columns:1fr}}@media(max-width:760px){.sidebar{transform:translateX(-100%);transition:.2s}.menu-open .sidebar{transform:none}.menu-shade{position:fixed;inset:0;background:#0009;z-index:19}.menu-open .menu-shade{display:block}.mobile-menu{display:block;position:fixed;right:14px;top:14px;z-index:18;border:1px solid var(--line);border-radius:9px;background:var(--panel);color:#fff;padding:8px 11px}.admin-main{margin-left:0}.page-shell{padding:65px 16px 50px}.kpis,.template-grid,.form-grid{grid-template-columns:1fr}.page-head{align-items:flex-start;flex-direction:column}}

/* ============================================================
   REFORMA ADMIN v2 - estilo moderno, dropdowns, dialogs, KPIs
   ============================================================ */

/* Toolbar generica para header de pagina com filtros/acoes */
.toolbar{display:flex;gap:10px;align-items:center;flex-wrap:wrap;background:var(--panel2);border:1px solid var(--line);border-radius:12px;padding:12px 14px;margin-bottom:18px}
.toolbar .toolbar-title{font-size:13px;font-weight:650;margin-right:auto;color:#cdd3df}
.toolbar input,.toolbar select{height:35px;padding:0 10px;border-radius:8px;border:1px solid var(--line);background:#0a0d14;color:#fff;font:12px inherit}
.toolbar .field-inline{display:flex;gap:7px;align-items:center;color:var(--muted);font-size:11px}
.toolbar .field-inline input,.toolbar .field-inline select{margin:0}

/* KPI trend + sparkline */
.kpi .kpi-row{display:flex;align-items:baseline;gap:7px;flex-wrap:wrap}
.kpi .kpi-trend{display:inline-flex;align-items:center;gap:3px;font-size:11px;font-weight:700;padding:2px 7px;border-radius:99px}
.kpi .kpi-trend.up{background:#37d39815;color:var(--green)}
.kpi .kpi-trend.down{background:#ff607915;color:var(--red)}
.kpi .kpi-trend.flat{background:#8d96a814;color:var(--muted)}
.kpi .kpi-spark{display:block;margin-top:6px;height:24px;width:100%}

/* ============================================================
   ClientPicker - dropdown elegante de selecao de cliente
   ============================================================ */
.lk-cp{position:relative;width:100%}
.lk-cp-trigger{display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;padding:11px 13px;border:1px solid var(--line);border-radius:10px;background:#0c1019;color:#f4f5f8;font:13px inherit;cursor:pointer;transition:.15s}
.lk-cp-trigger:hover{border-color:#3a4257}
.lk-cp-trigger-text{color:var(--muted);text-align:left;flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.lk-cp-trigger-text.is-filled{color:#fff;font-weight:600}
.lk-cp-chevron{color:var(--muted);font-size:11px;transition:transform .2s}
.lk-cp-trigger[aria-expanded="true"] .lk-cp-chevron{transform:rotate(180deg)}
.lk-cp-panel{position:absolute;top:calc(100% + 6px);left:0;right:0;z-index:50;background:var(--panel);border:1px solid var(--line);border-radius:12px;box-shadow:0 25px 60px #00000080;display:flex;flex-direction:column;max-height:380px;overflow:hidden}
.lk-cp-search{padding:11px 12px;border:0;border-bottom:1px solid var(--line);background:transparent;color:#fff;font:13px inherit;outline:0}
.lk-cp-list{overflow:auto;padding:5px 0;flex:1;min-height:50px}
.lk-cp-list.lk-cp-loading::before{content:"";display:block;height:2px;background:linear-gradient(90deg,transparent,var(--purple),transparent);background-size:50% 100%;animation:lk-cp-load 1.2s infinite}
@keyframes lk-cp-load{from{background-position:-50% 0}to{background-position:150% 0}}
.lk-cp-item{display:flex;align-items:center;gap:10px;padding:9px 12px;cursor:pointer;transition:background .1s}
.lk-cp-item:hover{background:#ffffff06}
.lk-cp-item.is-selected{background:#8b5cf612}
.lk-cp-avatar{flex-shrink:0;width:32px;height:32px;border-radius:50%;background:linear-gradient(145deg,var(--purple),#5d2ed1);color:#fff;display:grid;place-items:center;font-weight:700;font-size:11px;letter-spacing:0.02em}
.lk-cp-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:1px}
.lk-cp-name{font-size:13px;font-weight:600;color:#fff;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.lk-cp-email{font-size:11px;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.lk-cp-status{flex-shrink:0;font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;padding:3px 7px;border-radius:99px}
.lk-cp-status--ativo{background:#37d39815;color:var(--green)}
.lk-cp-status--trial{background:#f6bd5515;color:var(--yellow)}
.lk-cp-status--novo{background:#5da8ff15;color:var(--blue)}
.lk-cp-status--suspenso,.lk-cp-status--revoked{background:#ff607915;color:var(--red)}
.lk-cp-status--admin{background:#8b5cf615;color:var(--purple2)}
.lk-cp-status--revendedor{background:#8b5cf615;color:var(--purple2)}
.lk-cp-check{flex-shrink:0;width:18px;color:var(--green);font-weight:800;font-size:14px}
.lk-cp-empty{padding:30px 15px;text-align:center;color:var(--muted);font-size:12px}
.lk-cp-footer{display:flex;justify-content:space-between;align-items:center;padding:9px 12px;border-top:1px solid var(--line);background:#0a0d14}
.lk-cp-count{color:var(--muted);font-size:11px}
.lk-cp-clear{background:transparent;border:0;color:var(--muted);font:11px inherit;cursor:pointer}
.lk-cp-clear:hover{color:var(--red)}
.lk-cp-chips{display:flex;gap:6px;flex-wrap:wrap;margin-top:8px}
.lk-cp-chip{display:inline-flex;align-items:center;gap:6px;padding:5px 10px;background:#8b5cf614;border:1px solid #8b5cf630;color:var(--purple2);border-radius:99px;font-size:11px;font-weight:600;max-width:200px}
.lk-cp-chip-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.lk-cp-chip-x{background:transparent;border:0;color:var(--purple2);font-size:16px;line-height:1;cursor:pointer;padding:0;margin-left:2px}
.lk-cp-chip-x:hover{color:var(--red)}

/* ============================================================
   Dialog de confirmacao (substitui confirm() nativo)
   ============================================================ */
dialog.lk-confirm{border:1px solid var(--line);padding:0;background:linear-gradient(145deg,#171c29,#10141e);color:#fff;border-radius:16px;max-width:480px;width:calc(100% - 32px);box-shadow:0 35px 100px #000c}
dialog.lk-confirm::backdrop{background:#00000099;backdrop-filter:blur(4px)}
.lk-confirm-form{padding:26px;display:flex;flex-direction:column;gap:20px}
.lk-confirm-heading{display:grid;grid-template-columns:38px 1fr;gap:14px;align-items:start}
.lk-confirm-icon{display:grid;place-items:center;width:38px;height:38px;border-radius:11px;background:#8b5cf620;color:var(--purple2);font-size:18px;font-weight:800}
.lk-confirm--danger .lk-confirm-icon{background:#ff607919;color:var(--red);box-shadow:inset 0 0 0 1px #ff607930}
.lk-confirm-title{margin:0;font-size:17px;font-weight:700;line-height:1.3}
.lk-confirm-message{margin:7px 0 0;color:var(--muted);font-size:13px;line-height:1.55}
.lk-confirm-actions{display:flex;justify-content:flex-end;gap:9px;margin-top:6px}
.lk-btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;border:0;border-radius:9px;padding:9px 16px;font:600 12px inherit;cursor:pointer;transition:.15s}
.lk-btn:active{transform:scale(.97)}
.lk-btn-primary{background:var(--purple);color:#fff;box-shadow:0 4px 14px #8b5cf644}
.lk-btn-primary:hover{filter:brightness(1.12)}
.lk-btn-ghost{background:transparent;border:1px solid var(--line);color:#cbd0da}
.lk-btn-ghost:hover{background:#ffffff05;color:#fff}
.lk-btn-danger{background:#ff607926;color:var(--red);border:1px solid #ff60793d}
.lk-btn-danger:hover{background:#ff60793a}
.lk-confirm--danger .lk-confirm-title{color:var(--red)}
.lk-btn[disabled]{opacity:.5;cursor:not-allowed}

/* ============================================================
   Action log (widget Minhas Acoes na dashboard)
   ============================================================ */
.action-log{display:flex;flex-direction:column;gap:2px;max-height:380px;overflow-y:auto;padding-right:4px;margin:-4px -4px 0}
.action-log::-webkit-scrollbar{width:6px}
.action-log::-webkit-scrollbar-thumb{background:#252b3a;border-radius:3px}
.action-item{display:grid;grid-template-columns:24px 1fr auto;gap:10px;align-items:flex-start;padding:10px 8px;border-radius:8px;transition:background .12s}
.action-item:hover{background:#ffffff05}
.action-dot{width:8px;height:8px;border-radius:50%;margin-top:6px;background:var(--purple);box-shadow:0 0 0 4px #8b5cf624}
.action-dot.action-dot--danger{background:var(--red);box-shadow:0 0 0 4px #ff607924}
.action-dot.action-dot--success{background:var(--green);box-shadow:0 0 0 4px #37d39824}
.action-dot.action-dot--warn{background:var(--yellow);box-shadow:0 0 0 4px #f6bd5524}
.action-content{min-width:0}
.action-title{font-size:12.5px;font-weight:600;color:#fff;line-height:1.3}
.action-title small{color:var(--muted);font-weight:500;font-size:11px;margin-left:6px}
.action-meta{font-size:10.5px;color:var(--muted);margin-top:2px;display:flex;gap:8px;flex-wrap:wrap}
.action-meta code{font:10px ui-monospace,monospace;background:#0a0d14;padding:1px 5px;border-radius:4px;color:#b9c1ce}
.action-time{font-size:10.5px;color:var(--muted);white-space:nowrap}
.action-empty{text-align:center;color:var(--muted);padding:35px 12px;font-size:12px}

/* Dashboard layout 3-col em telas largas */
@media(min-width:1280px){.three-col{grid-template-columns:minmax(0,1.4fr) minmax(0,1.2fr) minmax(0,1fr)}}
@media(min-width:1100px) and (max-width:1279px){.three-col{grid-template-columns:minmax(0,1.6fr) minmax(0,1fr)}}
@media(max-width:1099px){.three-col{grid-template-columns:1fr}}

/* Resumo de secao do dashboard */
.section{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px;margin-top:18px}
.section h2{margin:0;font-size:13px;font-weight:700;color:#cdd3df;text-transform:uppercase;letter-spacing:.1em}
.section .badge-count{background:var(--line);color:var(--muted);padding:3px 8px;border-radius:99px;font-size:10px;font-weight:700}

/* Lista rasa (usada em 'proximos vencimentos', etc) */
.list-reset{display:flex;flex-direction:column;gap:0;list-style:none;padding:0;margin:0}
.list-reset li{padding:10px 0;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;gap:12px;align-items:center}
.list-reset li:last-child{border-bottom:0}
.list-reset .li-main{flex:1;min-width:0}
.list-reset .li-title{font-weight:600;font-size:12.5px;color:#fff;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.list-reset .li-sub{font-size:10.5px;color:var(--muted);margin-top:2px}
.list-reset .li-meta{font-size:10.5px;color:var(--muted);text-align:right;white-space:nowrap}
