:root{
  --app:#f3f7f4; --card:#ffffff; --ink:#143029; --muted:#7d918b;
  --green:#0d3a31; --mint:#13a07a; --mint-d:#0c8a68; --mint-soft:#dcf2ea; --line:#e8eeeb;
}
*{margin:0;padding:0;box-sizing:border-box;font-family:'Inter',system-ui,-apple-system,'Segoe UI',Roboto,sans-serif;}
body{background:var(--app);color:var(--ink);}

/* marca */
.brand{display:flex;align-items:center;gap:12px;}
.brand.small{gap:9px;}
.logomark{width:34px;height:34px;border-radius:9px;background:var(--mint);position:relative;flex:none;}
.logomark:after{content:"";position:absolute;inset:9px;border:2px solid #fff;border-radius:4px;}
.brand.small .logomark{width:28px;height:28px;}
.brand-name{font-size:20px;font-weight:800;color:var(--green);letter-spacing:.3px;}
.brand-sub{font-size:12px;color:var(--muted);}

/* ===== LOGIN ===== */
.login-body{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:24px;
  background:radial-gradient(1200px 500px at 50% -10%, #e3efe9, var(--app));}
.login-card{width:100%;max-width:390px;background:var(--card);border:1px solid var(--line);
  border-radius:24px;padding:34px 30px;box-shadow:0 24px 60px rgba(13,58,49,.12);}
.login-card .brand{margin-bottom:24px;}
.alert{background:#fde8e8;color:#b53d3d;border:1px solid #f6cccc;border-radius:12px;
  padding:11px 14px;font-size:13px;margin-bottom:16px;}
.field-label{display:block;font-size:12.5px;font-weight:700;color:#42594f;margin:14px 0 7px;}
.field{display:flex;align-items:center;gap:10px;background:#f7faf8;border:1.5px solid var(--line);
  border-radius:13px;padding:0 13px;height:50px;transition:border-color .15s, box-shadow .15s;}
.field:focus-within{border-color:var(--mint);box-shadow:0 0 0 3px rgba(19,160,122,.12);background:#fff;}
.field svg{width:19px;height:19px;flex:none;}
.field input{flex:1;border:none;background:transparent;outline:none;font-size:15px;color:var(--ink);height:100%;}
.field .toggle{background:none;border:none;cursor:pointer;display:flex;padding:4px;}
.btn-primary{width:100%;margin-top:24px;background:var(--mint);color:#fff;font-weight:800;font-size:15px;
  border:none;border-radius:14px;padding:15px;cursor:pointer;box-shadow:0 10px 22px rgba(19,160,122,.28);
  transition:background .15s, transform .05s;}
.btn-primary:hover{background:var(--mint-d);}
.btn-primary:active{transform:translateY(1px);}
.btn-primary.sm{width:auto;margin:0;padding:11px 20px;font-size:13.5px;}
.login-foot{text-align:center;font-size:11.5px;color:#9fb1aa;margin-top:22px;letter-spacing:.4px;}

/* ===== APP / DASHBOARD ===== */
.topbar{height:62px;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;
  justify-content:space-between;padding:0 22px;position:sticky;top:0;z-index:40;}
.topbar-right{display:flex;align-items:center;gap:16px;}
.who{text-align:right;line-height:1.2;}
.who-name{display:block;font-size:13.5px;font-weight:700;color:var(--ink);}
.who-role{display:block;font-size:11px;color:var(--mint-d);font-weight:600;}
.btn-ghost{font-size:13px;font-weight:700;color:#5b716a;text-decoration:none;border:1px solid var(--line);
  border-radius:10px;padding:8px 14px;background:#fff;}
.btn-ghost:hover{background:#f1f5f3;}
.wrap{margin-left:248px;padding:30px 34px;max-width:1240px;}
.welcome h1{font-size:26px;color:var(--ink);}
.welcome p{font-size:14px;color:var(--muted);margin-top:6px;}
.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:24px;}
.card{background:#fff;border:1px solid var(--line);border-radius:18px;padding:20px;
  box-shadow:0 4px 14px rgba(20,48,41,.04);}
.card.locked{opacity:.55;}
.card-top{display:flex;justify-content:space-between;align-items:center;}
.card-name{font-size:17px;font-weight:800;color:var(--ink);}
.card-desc{font-size:13px;color:var(--muted);margin-top:6px;}
.card-foot{font-size:11.5px;font-weight:700;color:var(--mint);margin-top:14px;}
.card.locked .card-foot{color:#b0bdb7;}
.apitest{margin-top:26px;display:flex;align-items:center;gap:14px;}
.api-result{font-size:13px;color:var(--mint-d);font-weight:600;}
@media(max-width:680px){.grid{grid-template-columns:1fr 1fr;}}
@media(max-width:460px){.grid{grid-template-columns:1fr;}}

/* ===== NAV ===== */
.topbar-left{display:flex;align-items:center;gap:26px;}
.nav{display:flex;gap:4px;}
.nav-link{font-size:14px;font-weight:600;color:#5b716a;text-decoration:none;padding:8px 14px;border-radius:10px;}
.nav-link:hover{background:#eef3f1;}
.nav-link.on{background:var(--mint-soft);color:var(--mint-d);}

/* ===== listas / páginas ===== */
.page-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px;}
.page-head h1{font-size:24px;color:var(--ink);}
.back{display:inline-block;font-size:13px;color:#5b716a;text-decoration:none;font-weight:600;margin-bottom:14px;}
.back:hover{color:var(--mint-d);}
.searchbar{display:flex;gap:8px;margin-bottom:14px;}
.searchbar input{flex:1;background:#fff;border:1.5px solid var(--line);border-radius:12px;height:46px;padding:0 14px;font-size:14px;outline:none;}
.searchbar input:focus{border-color:var(--mint);box-shadow:0 0 0 3px rgba(19,160,122,.12);}
.searchbar button{background:var(--green);color:#fff;border:none;border-radius:12px;padding:0 20px;font-weight:700;font-size:13.5px;cursor:pointer;}
.chips{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:18px;}
.chip{font-size:13px;font-weight:600;padding:8px 16px;border-radius:20px;background:#eef3f0;color:#5b716a;text-decoration:none;}
.chip.on{background:var(--green);color:#fff;}
.rowcard{display:flex;align-items:center;gap:13px;background:#fff;border:1px solid var(--line);border-radius:16px;padding:14px;margin-bottom:11px;text-decoration:none;box-shadow:0 3px 10px rgba(20,48,41,.04);transition:transform .05s, box-shadow .15s;}
.rowcard:hover{box-shadow:0 6px 18px rgba(20,48,41,.09);}
.vic{width:46px;height:46px;border-radius:13px;background:#eef4f1;display:flex;align-items:center;justify-content:center;flex:none;}
.vic svg{width:24px;height:24px;}
.rc-info{flex:1;display:flex;flex-direction:column;}
.rc-title{font-size:15px;font-weight:800;color:var(--ink);letter-spacing:.4px;}
.rc-sub{font-size:12.5px;color:var(--muted);margin-top:1px;}
.rc-chev{color:#cdd8d3;font-size:22px;font-weight:700;}
.empty{background:#fff;border:1px dashed var(--line);border-radius:16px;padding:26px;text-align:center;color:var(--muted);font-size:14px;}
.empty.soft{border-style:solid;}
.empty a{color:var(--mint-d);font-weight:700;text-decoration:none;}

/* ===== detalle del vehículo ===== */
.detail{display:grid;grid-template-columns:1fr 300px;gap:20px;align-items:start;}
.detail-main,.detail-side{min-width:0;}
.vhero{background:linear-gradient(135deg,#11463b,#0c352c);border-radius:20px;padding:22px;color:#fff;position:relative;}
.vhero-plate{font-size:28px;font-weight:800;letter-spacing:1px;}
.vhero-sub{font-size:13px;color:#bfe0d5;margin-top:2px;}
.vhero-tag{position:absolute;top:18px;right:18px;background:rgba(255,255,255,.16);color:#fff;font-size:11px;font-weight:700;padding:4px 11px;border-radius:20px;}
.vstats{display:flex;background:#fff;border:1px solid var(--line);border-radius:16px;margin-top:14px;}
.vstat{flex:1;text-align:center;padding:14px 8px;}
.vstat+.vstat{border-left:1px solid var(--line);}
.vstat .n{font-size:15px;font-weight:800;color:var(--ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.vstat .l{font-size:11px;color:var(--muted);margin-top:2px;}
.tabs{display:flex;gap:6px;margin:20px 0 14px;border-bottom:1px solid var(--line);}
.tab{background:none;border:none;font-size:13.5px;font-weight:700;color:#6c827b;padding:10px 12px;cursor:pointer;border-bottom:2px solid transparent;margin-bottom:-1px;}
.tab.on{color:var(--mint-d);border-bottom-color:var(--mint);}
.tab-body{font-size:14px;}
.kv{font-size:14px;color:#3f564d;padding:8px 0;border-bottom:1px solid #f0f4f2;}
.kv b{color:var(--ink);}
.qr-card{background:#fff;border:1px solid var(--line);border-radius:18px;padding:20px;text-align:center;}
.qr-title{font-size:13px;font-weight:700;color:var(--ink);margin-bottom:14px;}
.qrbox{width:180px;margin:0 auto 12px;}
.qrbox svg{width:100%;height:auto;display:block;}
.qr-token{font-size:11px;letter-spacing:1px;color:#9fb1aa;margin-bottom:14px;}
.btn-ghost.full{display:block;text-align:center;}
.qr-hint{font-size:11.5px;color:var(--muted);margin-top:12px;}

/* ===== formularios ===== */
.formcard{background:#fff;border:1px solid var(--line);border-radius:20px;padding:26px;max-width:640px;}
.formcard h1{font-size:22px;color:var(--ink);margin-bottom:18px;}
.frow{display:flex;gap:14px;}
.fcol{flex:1;margin-bottom:14px;}
.fcol label{display:block;font-size:12.5px;font-weight:700;color:#42594f;margin-bottom:6px;}
.fcol input,.fcol select{width:100%;height:46px;border:1.5px solid var(--line);border-radius:12px;padding:0 13px;font-size:14px;background:#f9fbfa;outline:none;}
.fcol input:focus,.fcol select:focus{border-color:var(--mint);box-shadow:0 0 0 3px rgba(19,160,122,.12);background:#fff;}
.rescate{margin:6px 0 4px;background:#f7faf8;border:1px solid var(--line);border-radius:12px;padding:8px 14px;}
.rescate summary{cursor:pointer;font-size:13px;font-weight:700;color:#42594f;padding:6px 0;}
.form-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:8px;}
@media(max-width:760px){.detail{grid-template-columns:1fr;}.frow{flex-direction:column;gap:0;}}

/* ===== NAV responsive (hamburguesa) ===== */
.hamb{display:none;background:none;border:none;color:var(--ink);cursor:pointer;padding:6px;margin-right:2px;}
.hamb svg{width:26px;height:26px;}
.nav-overlay{display:none;position:fixed;inset:0;background:rgba(13,58,49,.35);z-index:30;}
@media(max-width:760px){
  .hamb{display:flex;}
  .topbar-left{gap:12px;}
  .nav{position:fixed;top:0;left:0;bottom:0;width:230px;background:#fff;flex-direction:column;gap:6px;
       padding:74px 16px 16px;box-shadow:4px 0 24px rgba(13,58,49,.18);z-index:50;
       transform:translateX(-100%);transition:transform .22s ease;}
  .nav .nav-link{font-size:15px;padding:12px 14px;}
  body.nav-open .nav{transform:translateX(0);}
  body.nav-open .nav-overlay{display:block;}
  .who-name{font-size:12.5px;} .who-role{font-size:10px;}
}

/* ===== ÓRDENES ===== */
.rc-meta{display:flex;flex-direction:column;align-items:flex-end;gap:5px;}
.rc-amt{font-size:13px;font-weight:800;color:var(--ink);}
.badge{font-size:10.5px;font-weight:700;padding:4px 10px;border-radius:20px;white-space:nowrap;}
.badge.big{font-size:12px;padding:6px 14px;}
.b-abierta{background:#e7eef4;color:#3f6b8c;}
.b-en_proceso{background:#fff3da;color:#b6810f;}
.b-terminada{background:#e3f0ff;color:#2f6bb0;}
.b-entregada{background:var(--mint-soft);color:var(--mint-d);}
.formcard.wide{max-width:760px;}
textarea{width:100%;border:1.5px solid var(--line);border-radius:12px;padding:11px 13px;font-size:14px;background:#f9fbfa;outline:none;font-family:inherit;resize:vertical;}
textarea:focus{border-color:var(--mint);box-shadow:0 0 0 3px rgba(19,160,122,.12);background:#fff;}
.items-label{display:block;font-size:12.5px;font-weight:700;color:#42594f;margin:16px 0 8px;}
.items-table{width:100%;border-collapse:collapse;margin-bottom:10px;}
.items-table th{font-size:11px;color:#7d918b;text-align:left;padding:6px 6px;font-weight:700;}
.items-table td{padding:5px 6px;vertical-align:top;}
.items-table input,.items-table select{width:100%;height:40px;border:1.5px solid var(--line);border-radius:9px;padding:0 9px;font-size:13px;background:#fff;outline:none;}
.items-table .prodsel{margin-bottom:5px;}
.items-table .s{font-size:13px;font-weight:700;color:var(--ink);padding-top:10px;}
.delrow{background:#fde7e7;color:#c0504f;border:none;width:30px;height:30px;border-radius:8px;font-size:16px;cursor:pointer;margin-top:4px;}
.items-table.view th{border-bottom:1px solid var(--line);}
.items-table.view td{border-bottom:1px solid #f0f4f2;font-size:13px;color:#3f564d;}
.items-table.view .r{text-align:right;color:#7d918b;}
.items-table.view .strong{font-weight:800;color:var(--ink);text-align:right;}
.items-table.view .saldo{color:#c0504f;}
.tag-srv{font-size:9.5px;background:#eef3f0;color:#5b716a;padding:2px 6px;border-radius:5px;margin-left:5px;}
.ord-head{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:14px;}
.ord-head h1{font-size:24px;color:var(--ink);}
.ord-sub{font-size:13px;color:var(--muted);margin-top:3px;}
.ord-notes{background:#f7faf8;border:1px solid var(--line);border-radius:14px;padding:14px 16px;margin-bottom:16px;}
.side-card{background:#fff;border:1px solid var(--line);border-radius:16px;padding:16px;margin-bottom:14px;}
.sc-title{font-size:12px;font-weight:700;color:var(--ink);margin-bottom:10px;text-transform:uppercase;letter-spacing:.5px;}
.sc-saldo{font-size:13px;color:#42594f;margin-bottom:10px;}
.inline-form{display:flex;gap:8px;}
.inline-form select{flex:1;height:42px;border:1.5px solid var(--line);border-radius:10px;padding:0 10px;background:#fff;}
.pay-form{display:flex;flex-direction:column;gap:9px;}
.pay-form input,.pay-form select{height:42px;border:1.5px solid var(--line);border-radius:10px;padding:0 11px;font-size:14px;background:#fff;outline:none;}
.btn-primary.full{width:100%;}
.pay-row{display:flex;justify-content:space-between;font-size:13px;padding:6px 0;border-bottom:1px solid #f0f4f2;}
.hist-item{display:flex;gap:13px;text-decoration:none;margin-bottom:4px;}
.hist-dot{width:11px;height:11px;border-radius:50%;background:var(--mint);margin-top:6px;flex:none;}
.hist-body{flex:1;background:#fff;border:1px solid var(--line);border-radius:14px;padding:12px 14px;margin-bottom:10px;}
.hist-top{display:flex;justify-content:space-between;}
.hist-top b{color:var(--ink);font-size:14px;}
.hist-date{font-size:11.5px;color:var(--muted);}
.hist-sub{display:block;font-size:12.5px;color:var(--mint-d);font-weight:600;margin-top:3px;}
.hist-diag{display:block;font-size:12px;color:#6b7d76;margin-top:5px;}

/* ===== SIDEBAR LAYOUT ===== */
.mtop{display:none;}
.mtop .hamb{display:flex;}
.sidebar{position:fixed;left:0;top:0;bottom:0;width:248px;background:#fff;border-right:1px solid var(--line);display:flex;flex-direction:column;padding:22px 16px;z-index:50;}
.sidebar .brand{margin:4px 8px 26px;}
.snav{display:flex;flex-direction:column;gap:4px;flex:1;}
.slink{display:flex;align-items:center;gap:12px;padding:11px 13px;border-radius:12px;color:#5b716a;text-decoration:none;font-size:14.5px;font-weight:600;}
.slink svg{width:21px;height:21px;}
.slink:hover{background:#f1f5f3;}
.slink.on{background:var(--mint-soft);color:var(--mint-d);}
.side-user{display:flex;align-items:center;gap:10px;padding:12px 8px 4px;border-top:1px solid var(--line);margin-top:8px;}
.su-av{width:38px;height:38px;border-radius:50%;background:var(--green);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:800;font-size:15px;flex:none;}
.su-info{flex:1;min-width:0;display:flex;flex-direction:column;}
.su-name{font-size:13px;font-weight:700;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.su-role{font-size:11px;color:var(--mint-d);font-weight:600;}
.su-out{color:#9aaca5;display:flex;padding:6px;border-radius:8px;}
.su-out:hover{background:#f1f5f3;color:#c0504f;}
.su-out svg{width:20px;height:20px;}

/* ===== DASHBOARD ===== */
.dash-head{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:22px;}
.dash-head h1{font-size:25px;color:var(--ink);}
.dash-head p{font-size:14px;color:var(--muted);margin-top:4px;}
.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:18px;}
.stat-card{background:#fff;border:1px solid var(--line);border-radius:18px;padding:20px;text-decoration:none;box-shadow:0 4px 14px rgba(20,48,41,.04);transition:box-shadow .15s;display:block;}
.stat-card:hover{box-shadow:0 8px 20px rgba(20,48,41,.09);}
.stat-card.hi{background:linear-gradient(150deg,#0d3a31,#1c5a4b);border:none;}
.sc-head{display:flex;justify-content:space-between;align-items:center;font-size:13.5px;font-weight:600;color:#5b716a;}
.stat-card.hi .sc-head{color:#cfe9e0;}
.sc-arrow{width:26px;height:26px;border:1px solid var(--line);border-radius:50%;display:flex;align-items:center;justify-content:center;color:#9aaca5;font-size:13px;}
.stat-card.hi .sc-arrow{border-color:rgba(255,255,255,.3);color:#fff;}
.sc-num{font-size:34px;font-weight:800;color:var(--ink);margin:12px 0 4px;line-height:1;}
.stat-card.hi .sc-num{color:#fff;}
.sc-sub{font-size:12px;color:var(--muted);}
.stat-card.hi .sc-sub{color:#a9cdc1;}
.dash-grid{display:grid;grid-template-columns:2fr 1fr;gap:16px;}
.panel{background:#fff;border:1px solid var(--line);border-radius:18px;padding:20px;box-shadow:0 4px 14px rgba(20,48,41,.04);}
.panel.wide{grid-column:1 / -1;}
.panel-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px;}
.panel-head h3{font-size:16px;color:var(--ink);font-weight:800;}
.panel-head a{font-size:12.5px;color:var(--mint);font-weight:700;text-decoration:none;}
.bars{display:flex;align-items:flex-end;justify-content:space-between;gap:10px;height:160px;}
.bar-col{flex:1;display:flex;flex-direction:column;align-items:center;gap:8px;height:100%;}
.bar-wrap{flex:1;width:100%;display:flex;align-items:flex-end;justify-content:center;}
.bar{width:60%;max-width:34px;background:linear-gradient(180deg,#18b083,#0d8a68);border-radius:8px 8px 4px 4px;position:relative;min-height:6px;}
.bar-n{position:absolute;top:-18px;left:50%;transform:translateX(-50%);font-size:11px;font-weight:700;color:var(--mint-d);}
.bar-day{font-size:12px;color:var(--muted);font-weight:600;}
.mini-row{display:flex;align-items:center;gap:11px;padding:11px 0;border-bottom:1px solid #f0f4f2;text-decoration:none;}
.mini-row:last-child{border-bottom:none;}
.mr-icon{width:38px;height:38px;border-radius:11px;background:#eef4f1;display:flex;align-items:center;justify-content:center;flex:none;}
.mr-icon svg{width:20px;height:20px;}
.mr-info{flex:1;display:flex;flex-direction:column;min-width:0;}
.mr-t{font-size:13.5px;font-weight:700;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.mr-s{font-size:12px;color:var(--muted);}
.mr-amt{font-size:13.5px;font-weight:800;color:#c0504f;}
.mini-empty{font-size:13px;color:var(--muted);text-align:center;padding:18px;}

@media(max-width:980px){.stats{grid-template-columns:1fr 1fr;}.dash-grid{grid-template-columns:1fr;}}
@media(max-width:860px){
  .mtop{display:flex;align-items:center;gap:12px;position:sticky;top:0;z-index:40;background:#fff;border-bottom:1px solid var(--line);padding:12px 16px;}
  .sidebar{transform:translateX(-100%);transition:transform .22s ease;}
  body.nav-open .sidebar{transform:translateX(0);}
  body.nav-open .nav-overlay{display:block;}
  .wrap{margin-left:0;padding:20px 16px;}
}
@media(max-width:460px){.stats{grid-template-columns:1fr;}}

/* ===== INVENTARIO / CAJA / POS ===== */
.data-table{width:100%;border-collapse:collapse;background:#fff;border:1px solid var(--line);border-radius:14px;overflow:hidden;}
.data-table th{font-size:11.5px;color:#7d918b;text-align:left;padding:12px 14px;font-weight:700;background:#f7faf8;}
.data-table td{padding:12px 14px;border-top:1px solid var(--line);font-size:13.5px;color:#3f564d;}
.data-table .r{text-align:right;}
.muted2{font-size:12px;color:#9aaca5;}
.stock-low{color:#c0504f;font-weight:800;}
.link-sm{font-size:12.5px;color:var(--mint-d);text-decoration:none;font-weight:600;}
.link-del{background:none;border:none;color:#c0504f;font-size:12.5px;font-weight:600;cursor:pointer;}
.check{display:flex;align-items:center;gap:9px;font-size:13.5px;color:#42594f;margin:8px 0 4px;cursor:pointer;}
.check input{width:17px;height:17px;}
.cat-add{display:flex;gap:8px;}
.cat-add input{flex:1;height:46px;border:1.5px solid var(--line);border-radius:12px;padding:0 13px;font-size:14px;background:#f9fbfa;}
.cat-list{margin-top:16px;}
.cat-row{display:flex;justify-content:space-between;align-items:center;padding:11px 2px;border-bottom:1px solid #f0f4f2;font-size:14px;color:var(--ink);}
.cat-row form{margin:0;}

/* modal */
.modal{display:none;position:fixed;inset:0;background:rgba(13,58,49,.4);z-index:60;align-items:center;justify-content:center;padding:20px;}
.modal.open{display:flex;}
.modal-card{background:#fff;border-radius:18px;padding:24px;width:100%;max-width:420px;box-shadow:0 24px 60px rgba(0,0,0,.25);}
.modal-card h3{font-size:17px;color:var(--ink);margin-bottom:16px;}

/* cajacard */
.cajacard{background:linear-gradient(135deg,#0d3a31,#1c5a4b);border-radius:20px;padding:22px;color:#fff;}
.cc-top{display:flex;justify-content:space-between;align-items:center;font-size:13px;color:#bfe0d5;}
.cc-user{font-size:12px;}
.cc-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px 18px;margin-top:16px;}
.ccl{font-size:11px;color:#a9cdc1;}
.ccv{font-size:18px;font-weight:800;margin-top:2px;}
.cc-exp{display:flex;justify-content:space-between;align-items:center;border-top:1px solid rgba(255,255,255,.15);margin-top:16px;padding-top:14px;}
.cc-exp span:first-child{font-size:13px;color:#bfe0d5;}
.cc-expv{font-size:23px;font-weight:800;}
.mov-row{display:flex;justify-content:space-between;align-items:center;padding:11px 0;border-bottom:1px solid #f0f4f2;}
.mov-c{display:block;font-size:13.5px;font-weight:700;color:var(--ink);}
.mov-t{display:block;font-size:11.5px;color:var(--muted);}
.mov-m{font-size:14px;font-weight:800;}
.mov-m.pos{color:var(--mint-d);}
.mov-m.neg{color:#c0504f;}

/* ===== PANEL MAESTRO ===== */
.b-activa{background:var(--mint-soft);color:var(--mint-d);}
.b-por_vencer{background:#fff3da;color:#b6810f;}
.b-vencida{background:#fde7e7;color:#c0504f;}
.b-suspendida{background:#e7eef4;color:#5b6b78;}
.lic-key{font-family:ui-monospace,Menlo,monospace;font-size:14px;font-weight:700;color:var(--ink);background:#f1f5f3;padding:8px 12px;border-radius:10px;letter-spacing:1px;display:inline-block;}
.emp-meta{display:flex;flex-wrap:wrap;gap:8px 22px;margin:10px 0 4px;font-size:13.5px;color:#3f564d;}
.emp-meta b{color:var(--ink);}
.vig{font-size:13.5px;color:#42594f;}
.danger{background:#c0504f !important;box-shadow:0 8px 16px rgba(192,80,79,.25) !important;}

/* separadores y ayudas de formulario (Fase 1) */
.sep{display:flex;align-items:center;gap:10px;margin:18px 0 10px;color:#6b7d76;font-size:12px;text-transform:uppercase;letter-spacing:.04em}
.sep::before,.sep::after{content:"";height:1px;background:var(--line,#e8eeeb);flex:1}
.hint{display:block;margin-top:5px;font-size:12px;color:#7c8a83}
.hint span{color:#0c8a68;font-weight:600}

/* estado en prueba */
.badge.b-prueba{background:#e7f0fd;color:#2563a8}
.badge.b-gracia{background:#fff3e0;color:#b26a00}
