:root{--primary:#176b4d;--primary-dark:#0d5038;--primary-soft:#e8f3ee;--gold:#d49a3a;--red:#b64b4b;--blue:#4676a9;--bg:#f3f5f2;--surface:#fff;--surface-2:#f8faf8;--border:#dfe6e1;--text:#17231e;--muted:#6f7e76;--sidebar:#12271f;--shadow:0 14px 40px rgba(25,50,39,.08);--radius:16px;--sidebar-width:252px}
[data-theme=dark]{--bg:#101713;--surface:#18221d;--surface-2:#1d2923;--border:#304039;--text:#eef5f1;--muted:#9caea4;--sidebar:#0b1712;--shadow:0 14px 40px rgba(0,0,0,.25);--primary-soft:#203b30}
*{box-sizing:border-box}html,body{min-height:100%}body{margin:0;background:var(--bg);color:var(--text);font-family:Manrope,Arial,sans-serif;font-size:14px}button,input{font:inherit}button,a{transition:.2s ease}a{text-decoration:none;color:inherit}.brand{display:flex;align-items:center;gap:12px}.brand-mark{width:42px;height:42px;display:grid;place-items:center;border-radius:13px;background:linear-gradient(145deg,#26835f,var(--primary));color:#fff;box-shadow:0 8px 20px rgba(23,107,77,.24)}.brand span:last-child{display:flex;flex-direction:column}.brand small{color:var(--muted);font-weight:600;font-size:11px;margin-top:2px}.public-header{height:76px;padding:0 clamp(22px,5vw,72px);display:flex;align-items:center;justify-content:space-between;position:absolute;inset:0 0 auto;z-index:5}.icon-button{width:42px;height:42px;border:1px solid var(--border);background:var(--surface);border-radius:12px;color:var(--text);cursor:pointer}.login-page{min-height:100vh;display:grid;grid-template-columns:1.08fr .92fr;background:var(--bg)}.login-story{padding:150px clamp(42px,8vw,130px) 70px;display:flex;flex-direction:column;justify-content:center;background:radial-gradient(circle at 18% 22%,rgba(212,154,58,.16),transparent 31%),linear-gradient(145deg,#102b20,#174c37);color:#fff;position:relative;overflow:hidden}.login-story:after{content:"";position:absolute;width:420px;height:420px;border:1px solid rgba(255,255,255,.08);border-radius:50%;right:-160px;bottom:-90px;box-shadow:0 0 0 70px rgba(255,255,255,.025),0 0 0 140px rgba(255,255,255,.02)}.story-badge{align-self:flex-start;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.15);padding:9px 13px;border-radius:99px;font-weight:700;font-size:12px}.story-badge i{color:#e4b65e;margin-right:7px}.login-story h1{font-size:clamp(42px,5vw,70px);line-height:1.05;letter-spacing:-3px;margin:28px 0 22px;max-width:780px}.login-story h1 em{font-style:normal;color:#e7b860}.login-story>p{font-size:17px;line-height:1.7;color:#c9d9d1;max-width:660px}.story-metrics{display:flex;gap:42px;margin-top:44px;position:relative;z-index:1}.story-metrics div{display:flex;flex-direction:column}.story-metrics strong{font-size:23px}.story-metrics span{font-size:11px;color:#b7cbc0;margin-top:5px}.login-panel{display:grid;place-items:center;padding:110px 45px 45px}.login-card{width:min(430px,100%);background:var(--surface);padding:38px;border:1px solid var(--border);border-radius:22px;box-shadow:var(--shadow)}.login-title{display:flex;gap:14px;align-items:center;margin-bottom:30px}.login-title h2{margin:0;font-size:24px}.login-title p{margin:4px 0 0;color:var(--muted)}.login-card label{display:block;font-weight:700;margin:18px 0 8px}.input-wrap{height:48px;border:1px solid var(--border);border-radius:11px;background:var(--surface-2);display:flex;align-items:center;padding:0 14px;gap:10px}.input-wrap:focus-within{border-color:var(--primary);box-shadow:0 0 0 3px rgba(23,107,77,.12)}.input-wrap i{color:var(--muted)}.input-wrap input{border:0;outline:0;background:transparent;color:var(--text);width:100%;height:100%}.input-wrap button{border:0;background:transparent;color:var(--muted);cursor:pointer}.login-options{display:flex;justify-content:space-between;align-items:center;margin:17px 0;color:var(--muted);font-size:12px}.check{display:flex!important;align-items:center;gap:7px;margin:0!important}.btn{border:0;border-radius:10px;padding:11px 16px;font-weight:800;display:inline-flex;gap:9px;align-items:center;justify-content:center;cursor:pointer}.btn-primary{background:var(--primary);color:#fff}.btn-primary:hover{background:var(--primary-dark);transform:translateY(-1px)}.btn-block{width:100%;min-height:48px}.demo-note{color:var(--muted);font-size:11px;text-align:center;margin:18px 0 0}.alert{background:#fff1f0;border:1px solid #ffd2cf;color:#9a3832;padding:11px;border-radius:10px}.sidebar{position:fixed;inset:0 auto 0 0;width:var(--sidebar-width);background:var(--sidebar);color:#d8e5de;padding:22px 14px;display:flex;flex-direction:column;z-index:20}.sidebar-brand{display:flex;align-items:center;gap:11px;padding:0 7px 23px;border-bottom:1px solid rgba(255,255,255,.08)}.sidebar-brand .brand-mark{width:39px;height:39px;flex:0 0 auto}.brand-copy{display:flex;flex-direction:column;min-width:0}.brand-copy strong{font-size:13px;white-space:nowrap}.brand-copy small{color:#87a295;font-size:10px;margin-top:2px}.sidebar-toggle{margin-left:auto;background:transparent;color:#91a99d;border:0;cursor:pointer;width:32px;height:32px}.sidebar-nav{display:flex;flex-direction:column;gap:5px;margin-top:24px}.sidebar-nav a,.sidebar-footer a,.sidebar-footer button{min-height:45px;padding:0 14px;border-radius:10px;display:flex;align-items:center;gap:13px;color:#9eb5aa;background:transparent;border:0;font-weight:700;text-align:left;cursor:pointer}.sidebar-nav a i,.sidebar-footer i{width:20px;text-align:center}.sidebar-nav a:hover,.sidebar-nav a.active{background:rgba(255,255,255,.09);color:#fff}.sidebar-nav a.active:before{content:"";width:3px;height:22px;background:#58bd8e;border-radius:3px;position:absolute;left:14px}.sidebar-footer{margin-top:auto;border-top:1px solid rgba(255,255,255,.08);padding-top:14px}.sidebar-footer a,.sidebar-footer button{width:100%}.topbar{height:72px;position:fixed;inset:0 0 auto var(--sidebar-width);background:color-mix(in srgb,var(--surface) 94%,transparent);backdrop-filter:blur(10px);border-bottom:1px solid var(--border);display:flex;align-items:center;padding:0 30px;z-index:15}.period-selector{border:1px solid var(--border);border-radius:10px;padding:10px 13px;color:var(--muted);display:flex;gap:9px;align-items:center;font-size:12px;background:var(--surface)}.profile{margin-left:auto;display:flex;align-items:center;gap:11px}.profile-copy{display:flex;flex-direction:column;text-align:right}.profile-copy strong{font-size:12px}.profile-copy small{font-size:10px;color:var(--muted)}.avatar{width:39px;height:39px;border-radius:12px;background:var(--primary-soft);color:var(--primary);display:grid;place-items:center;font-weight:800}.mobile-menu{display:none}.app-main{margin-left:var(--sidebar-width);padding:104px clamp(24px,3vw,46px) 46px;min-height:100vh;transition:.2s}.page-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:25px;margin-bottom:28px}.eyebrow{text-transform:uppercase;letter-spacing:1.6px;color:var(--primary);font-size:10px!important;font-weight:800;margin-bottom:8px!important}.page-heading h1{font-size:29px;letter-spacing:-.7px;margin:0 0 7px}.page-heading p{color:var(--muted);margin:0;font-size:13px}.metric-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:18px}.metric-card,.panel,.credit-card,.report-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow)}.metric-card{padding:19px;position:relative;overflow:hidden}.metric-card:after{content:"";position:absolute;inset:auto -16px -24px auto;width:70px;height:70px;background:var(--primary-soft);border-radius:50%}.metric-top{display:flex;justify-content:space-between;color:var(--muted);font-weight:700;font-size:11px}.metric-top i{font-size:16px;color:var(--primary)}.metric-card>strong{display:block;font-size:23px;margin:11px 0 3px;letter-spacing:-.6px}.metric-card>small{color:var(--muted);font-size:10px}.trend{display:block;margin-top:15px;font-size:10px;font-weight:700}.trend.up{color:var(--primary)}.trend.warning{color:#ae7621}.dashboard-grid{display:grid;grid-template-columns:1.45fr .85fr;gap:18px;margin-bottom:18px}.panel{padding:21px;margin-bottom:18px}.panel-header{display:flex;justify-content:space-between;gap:20px;align-items:flex-start}.panel-header h2{font-size:16px;margin:0 0 4px}.panel-header p{font-size:10px;color:var(--muted);margin:0}.soft-pill{padding:7px 10px;background:var(--surface-2);border:1px solid var(--border);border-radius:8px;color:var(--muted);font-size:10px}.link-button{border:0;background:transparent;color:var(--primary);font-weight:800;font-size:11px;cursor:pointer}.chart-legend{display:flex;gap:16px;justify-content:flex-end;font-size:10px;color:var(--muted);margin:8px 0}.dot{width:7px;height:7px;border-radius:50%;display:inline-block;margin-right:5px}.dot.income,.bar.income{background:var(--primary)}.dot.expense,.bar.expense{background:#d8e3dc}.bar-chart{height:210px;border-bottom:1px solid var(--border);display:flex;align-items:flex-end;justify-content:space-around;padding:20px 5px 0;background:repeating-linear-gradient(to bottom,transparent 0,transparent 49px,var(--border) 50px)}.bar-group{height:100%;display:flex;flex-direction:column;justify-content:flex-end;align-items:center;gap:8px;width:12%}.bars{height:170px;width:100%;display:flex;align-items:flex-end;justify-content:center;gap:5px}.bar{width:12px;border-radius:5px 5px 1px 1px}.bar-group small{color:var(--muted);font-size:9px}.donut-row{display:flex;align-items:center;justify-content:center;gap:28px;min-height:222px}.donut{width:135px;height:135px;border-radius:50%;background:conic-gradient(#176b4d 0 38%,#d49a3a 38% 65%,#5a7f71 65% 79%,#9fb3aa 79%);display:grid;place-items:center}.donut:before{content:"";width:86px;height:86px;background:var(--surface);border-radius:50%;position:absolute}.donut span{position:relative;display:flex;flex-direction:column;text-align:center}.donut strong{font-size:17px}.donut small{color:var(--muted)}.legend-list{display:flex;flex-direction:column;gap:13px;font-size:10px;min-width:125px}.legend-list span{display:grid;grid-template-columns:9px 1fr auto;gap:7px}.legend-list i{width:8px;height:8px;border-radius:3px}.cycle-cards{display:grid;gap:14px}.cycle-cards.compact{grid-template-columns:1fr 1fr;margin-top:18px}.cycle-card{display:flex;gap:15px;align-items:center;background:var(--surface);border:1px solid var(--border);border-radius:14px;padding:17px}.cycle-icon{width:45px;height:45px;flex:0 0 auto;border-radius:12px;background:var(--primary-soft);color:var(--primary);display:grid;place-items:center;font-size:18px}.cycle-main{flex:1;min-width:0}.cycle-main h3{font-size:13px;margin:0 0 3px}.cycle-main p{color:var(--muted);font-size:10px;margin:0}.cycle-title-row{display:flex;justify-content:space-between}.status{padding:5px 8px;border-radius:99px;font-size:9px;font-weight:800}.status.active{background:var(--primary-soft);color:var(--primary)}.status.closed{background:var(--surface-2);color:var(--muted)}.progress-label{display:flex;justify-content:space-between;color:var(--muted);font-size:9px;margin:13px 0 6px}.progress{height:6px;background:var(--surface-2);border-radius:5px;margin:12px 0;overflow:hidden}.progress span{height:100%;display:block;background:linear-gradient(90deg,var(--primary),#51a77e);border-radius:5px}.cycle-numbers{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.cycle-numbers span{color:var(--muted);font-size:9px;display:flex;flex-direction:column}.cycle-numbers strong{color:var(--text);font-size:11px;margin-top:4px}.green{color:var(--primary)!important}.row-action{border:0;background:var(--surface-2);color:var(--muted);width:34px;height:34px;border-radius:9px;cursor:pointer}.filters{display:flex;justify-content:space-between;gap:20px;margin-bottom:16px}.search{height:42px;display:flex;align-items:center;gap:9px;background:var(--surface);border:1px solid var(--border);border-radius:10px;padding:0 13px;min-width:300px}.search.small{height:38px;min-width:240px}.search i{color:var(--muted)}.search input{border:0;outline:0;background:transparent;color:var(--text);width:100%}.segmented{display:flex;padding:3px;background:var(--surface);border:1px solid var(--border);border-radius:10px}.segmented button{border:0;background:transparent;color:var(--muted);padding:7px 14px;border-radius:7px;font-weight:700;font-size:11px;cursor:pointer}.segmented button.active{background:var(--primary-soft);color:var(--primary)}.quick-actions{display:grid;grid-template-columns:repeat(4,1fr);gap:13px;margin-bottom:18px}.quick{border:1px solid var(--border);background:var(--surface);border-radius:13px;padding:15px;display:flex;align-items:center;gap:12px;color:var(--text);text-align:left;cursor:pointer}.quick>i{width:40px;height:40px;border-radius:11px;display:grid;place-items:center}.quick.income>i{background:var(--primary-soft);color:var(--primary)}.quick.expense>i{background:#fbeceb;color:var(--red)}.quick.labor>i{background:#edf3f9;color:var(--blue)}.quick.fuel>i{background:#fcf3e4;color:#ad7622}.quick span{display:flex;flex-direction:column}.quick strong{font-size:11px}.quick small{font-size:9px;color:var(--muted);margin-top:3px}.table-panel{padding:0;overflow:hidden}.table-panel .panel-header{padding:20px}.table-wrap{overflow:auto}table{border-collapse:collapse;width:100%;min-width:840px}th{background:var(--surface-2);color:var(--muted);font-size:9px;text-transform:uppercase;letter-spacing:.6px;text-align:left;padding:12px 18px;border-top:1px solid var(--border);border-bottom:1px solid var(--border)}td{padding:13px 18px;border-bottom:1px solid var(--border);font-size:10px}tbody tr:hover{background:var(--surface-2)}.right{text-align:right}.movement-icon{width:31px;height:31px;border-radius:8px;display:inline-grid;place-items:center;margin-right:9px}.movement-icon.ingreso{background:var(--primary-soft);color:var(--primary)}.movement-icon.gasto{background:#fbeceb;color:var(--red)}.movement-copy{display:inline-flex;vertical-align:middle;flex-direction:column}.movement-copy strong{font-size:10px}.movement-copy small{color:var(--muted);font-size:8px}.currency{padding:4px 7px;border-radius:6px;font-weight:800;font-size:8px}.currency.mxn{background:var(--primary-soft);color:var(--primary)}.currency.usd{background:#edf3f9;color:var(--blue)}.amount{font-weight:800}.amount.ingreso{color:var(--primary)}.amount.gasto{color:var(--red)}.credit-summary{display:grid;grid-template-columns:repeat(4,1fr);background:var(--surface);border:1px solid var(--border);border-radius:14px;margin-bottom:18px}.credit-summary div{padding:17px 22px;border-right:1px solid var(--border);display:flex;flex-direction:column}.credit-summary div:last-child{border:0}.credit-summary span{font-size:9px;color:var(--muted)}.credit-summary strong{font-size:17px;margin-top:5px}.credit-grid{display:grid;grid-template-columns:1fr 1fr;gap:17px}.credit-card{padding:21px}.credit-head{display:flex;align-items:center;gap:12px}.bank-icon{width:42px;height:42px;display:grid;place-items:center;background:var(--primary-soft);color:var(--primary);border-radius:11px}.credit-head p{font-size:9px;color:var(--muted);margin:0 0 3px}.credit-head h2{font-size:14px;margin:0}.credit-head .row-action{margin-left:auto}.debt-main{margin:22px 0 0}.debt-main span,.debt-main small{display:block;color:var(--muted);font-size:9px}.debt-main strong{display:block;font-size:25px;margin:4px 0}.credit-data{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--border);border-bottom:1px solid var(--border);padding:13px 0;margin:15px 0}.credit-data span{display:flex;flex-direction:column}.credit-data small{color:var(--muted);font-size:8px}.credit-data strong{font-size:10px;margin-top:4px}.credit-actions{display:flex;gap:9px}.btn-soft{background:var(--primary-soft);color:var(--primary)}.btn-outline{border:1px solid var(--border);background:transparent;color:var(--text)}.info-banner{display:flex;gap:13px;background:#fcf5e8;border:1px solid #eddbbb;color:#5e4930;border-radius:12px;padding:15px 18px;margin-top:18px}.info-banner>i{color:var(--gold);margin-top:3px}.info-banner strong{font-size:11px}.info-banner p{font-size:10px;margin:4px 0 0}.report-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.report-card{padding:21px;display:grid;grid-template-columns:auto 1fr;gap:15px}.report-icon{width:45px;height:45px;display:grid;place-items:center;border-radius:12px}.report-icon.green{background:var(--primary-soft);color:var(--primary)}.report-icon.blue{background:#edf3f9;color:var(--blue)}.report-icon.gold{background:#fcf3e4;color:#ad7622}.report-icon.red{background:#fbeceb;color:var(--red)}.report-card h2{font-size:14px;margin:2px 0 6px}.report-card p{font-size:10px;color:var(--muted);line-height:1.6;margin:0}.report-card button{grid-column:2;border:0;background:transparent;color:var(--primary);font-weight:800;text-align:left;padding:0;cursor:pointer;font-size:10px}.toast{position:fixed;right:24px;bottom:24px;max-width:380px;background:#152b21;color:#fff;padding:14px 18px;border-radius:11px;box-shadow:0 15px 40px rgba(0,0,0,.25);transform:translateY(30px);opacity:0;pointer-events:none;z-index:99;transition:.25s;font-size:11px}.toast.show{transform:none;opacity:1}.sidebar-collapsed{--sidebar-width:78px}.sidebar-collapsed .brand-copy,.sidebar-collapsed .sidebar-nav span,.sidebar-collapsed .sidebar-footer span{display:none}.sidebar-collapsed .sidebar-brand{justify-content:center}.sidebar-collapsed .sidebar-toggle{position:absolute;top:75px}.sidebar-collapsed .sidebar-nav{margin-top:52px}.sidebar-collapsed .sidebar-nav a,.sidebar-collapsed .sidebar-footer a,.sidebar-collapsed .sidebar-footer button{justify-content:center}.sidebar-collapsed .sidebar-nav a.active:before{left:7px}
@media(max-width:1100px){.metric-grid{grid-template-columns:1fr 1fr}.quick-actions{grid-template-columns:1fr 1fr}.dashboard-grid{grid-template-columns:1fr}.cycle-cards.compact{grid-template-columns:1fr}.credit-grid{grid-template-columns:1fr}}
@media(max-width:760px){:root{--sidebar-width:0px}.sidebar{transform:translateX(-100%);width:260px;transition:.25s}.sidebar-open .sidebar{transform:none}.topbar{left:0;padding:0 18px}.mobile-menu{display:block;border:0;background:transparent;color:var(--text);font-size:18px;margin-right:13px}.period-selector{padding:8px}.period-selector span{display:none}.profile-copy{display:none}.app-main{margin-left:0;padding:94px 17px 30px}.page-heading{align-items:flex-start;flex-direction:column}.metric-grid,.credit-summary,.report-grid{grid-template-columns:1fr}.credit-summary div{border-right:0;border-bottom:1px solid var(--border)}.login-page{grid-template-columns:1fr}.login-story{display:none}.public-header{position:absolute;padding:18px 22px}.login-panel{padding:110px 18px 30px}.login-card{padding:27px 22px}.cycle-numbers{grid-template-columns:1fr 1fr}.filters{align-items:stretch;flex-direction:column}.search,.search.small{min-width:0;width:100%}.quick-actions{grid-template-columns:1fr}.panel-header{flex-direction:column}.credit-actions{flex-direction:column}.report-card{grid-template-columns:auto 1fr}.story-metrics{gap:20px}}



/* Identidad Click Derecho + lenguaje agricola del producto */
:root{
  --cd-logo-blue:#70a0d0;
  --cd-blue:#1f7ae0;
  --cd-blue-deep:#102a43;
  --cd-graphite:#2f343b;
  --cd-fog:#f4f8fb;
  --cd-cyan:#19b6d2;
  --cd-green:#25b67a;
  --cd-amber:#f2a93b;
  --primary:var(--cd-blue);
  --primary-dark:#155fb3;
  --primary-soft:#eaf3fd;
  --agri:var(--cd-green);
  --agri-soft:#e9f8f1;
  --earth:var(--cd-amber);
  --bg:var(--cd-fog);
  --sidebar:var(--cd-blue-deep);
  --text:#172b3d;
  --muted:#687b8c;
  --border:#dbe6ef;
  --shadow:0 14px 40px rgba(16,42,67,.09)
}
[data-theme=dark]{
  --bg:#0b1620;
  --surface:#122331;
  --surface-2:#172b3a;
  --border:#294354;
  --text:#edf6fc;
  --muted:#9cb1bf;
  --sidebar:#08131d;
  --primary-soft:#183a56;
  --agri-soft:#163b30
}
.brand-mark{background:linear-gradient(145deg,var(--cd-logo-blue),var(--cd-blue));box-shadow:0 8px 20px rgba(31,122,224,.24)}
.login-story{background:radial-gradient(circle at 17% 23%,rgba(37,182,122,.20),transparent 31%),radial-gradient(circle at 76% 76%,rgba(242,169,59,.12),transparent 28%),linear-gradient(145deg,#0d2539,var(--cd-blue-deep) 58%,#123d46)}
.login-story h1 em{color:#7fd5aa}.story-badge i{color:#63cf99}.story-metrics strong{color:#fff}.story-metrics span{color:#b8ccd8}
.sidebar-nav a.active:before{background:var(--cd-green)}
.metric-card.positive .metric-top i,.metric-card.positive .trend,.cycle-card .cycle-icon,.cycle-card .green{color:#168a58!important}
.cycle-card .cycle-icon,.quick.income>i,.movement-icon.ingreso,.currency.mxn{background:var(--agri-soft);color:#168a58}
.cycle-card .progress span{background:linear-gradient(90deg,#20a66d,#6bc99c)}
.status.active{background:var(--agri-soft);color:#168a58}
.bar.income,.dot.income{background:var(--cd-blue)}
.donut{background:conic-gradient(var(--cd-blue) 0 38%,var(--cd-amber) 38% 65%,var(--cd-green) 65% 79%,var(--cd-logo-blue) 79%)}
.legend-list span:nth-child(1) i{background:var(--cd-blue)!important}.legend-list span:nth-child(2) i{background:var(--cd-amber)!important}.legend-list span:nth-child(3) i{background:var(--cd-green)!important}.legend-list span:nth-child(4) i{background:var(--cd-logo-blue)!important}
.report-icon.green{background:var(--agri-soft);color:#168a58}.info-banner{background:#fff8eb;border-color:#f0ddb7;color:#5e4930}



/* Estructura interna compartida con la familia Click Derecho */
.module-shell{margin-bottom:18px}.family-header{display:flex;justify-content:space-between;align-items:center}.module-title{display:flex;gap:13px;align-items:center}.module-title h1{font-size:25px;margin:0 0 5px}.module-title p{margin:0;color:var(--muted);font-size:12px}.module-icon{width:45px;height:45px;border-radius:11px;background:var(--primary-soft);color:var(--primary);display:grid;place-items:center;font-size:17px}.navbar-brand-family{display:flex;align-items:center;gap:10px}.navbar-brand-family .brand-mark.small{width:36px;height:36px;border-radius:10px}.navbar-brand-family>div{display:flex;flex-direction:column}.navbar-brand-family strong{font-size:12px}.navbar-brand-family small{font-size:9px;color:var(--muted)}.topbar-actions{margin-left:auto;position:relative}.profile-button{border:0;background:transparent;color:var(--text);display:flex;align-items:center;gap:10px;padding:7px;border-radius:10px;cursor:pointer}.profile-button:hover{background:var(--surface-2)}.profile-button>i{font-size:9px;color:var(--muted)}.profile-menu{position:absolute;right:0;top:54px;width:220px;background:var(--surface);border:1px solid var(--border);border-radius:11px;box-shadow:var(--shadow);padding:7px;z-index:40}.profile-menu-head{display:flex;flex-direction:column;padding:10px 11px;border-bottom:1px solid var(--border);margin-bottom:5px}.profile-menu-head strong{font-size:11px}.profile-menu-head span{font-size:9px;color:var(--muted);margin-top:3px}.profile-menu a{display:flex;align-items:center;gap:10px;padding:10px;border-radius:8px;color:var(--text);font-size:10px;font-weight:700}.profile-menu a:hover{background:var(--surface-2);color:var(--primary)}.profile-menu a i{width:17px;text-align:center}.profile-menu-divider{border-top:1px solid var(--border);margin:5px}.avatar img{width:100%;height:100%;border-radius:12px;object-fit:cover}.sidebar-help{margin-top:auto;border-top:1px solid rgba(255,255,255,.08);padding-top:12px}.sidebar-help a{min-height:43px;padding:0 14px;border-radius:10px;display:flex;align-items:center;gap:13px;color:#9eb5aa;font-weight:700}.sidebar-help a:hover{background:rgba(255,255,255,.08);color:#fff}.sidebar-footer{margin-top:4px}.sidebar.collapsed .brand-copy,.sidebar.collapsed .sidebar-nav span,.sidebar.collapsed .sidebar-help span,.sidebar.collapsed .sidebar-footer span{display:none}.sidebar.collapsed{width:78px}.sidebar.collapsed~.topbar{left:78px}.sidebar.collapsed .sidebar-brand{justify-content:center}.sidebar.collapsed .sidebar-toggle{margin:0}.sidebar.collapsed .sidebar-nav a,.sidebar.collapsed .sidebar-help a,.sidebar.collapsed .sidebar-footer a,.sidebar.collapsed .sidebar-footer button{justify-content:center}.sidebar.collapsed .sidebar-nav a.active:before{left:7px}.dashboard-layout:has(.sidebar.collapsed)+.app-main{margin-left:78px}.profile-layout{display:grid;grid-template-columns:1.15fr .85fr;gap:17px}.profile-summary-panel{grid-row:span 2}.profile-summary-main{display:flex;align-items:center;gap:18px;padding-bottom:20px;border-bottom:1px solid var(--border)}.profile-photo-preview{width:92px;height:92px;border-radius:18px;background:var(--primary-soft);color:var(--primary);display:grid;place-items:center;font-size:25px;font-weight:800;cursor:pointer;position:relative;overflow:hidden}.profile-photo-preview img{width:100%;height:100%;object-fit:cover}.profile-photo-preview>i{position:absolute;right:6px;bottom:6px;width:25px;height:25px;border-radius:7px;background:var(--primary);color:#fff;display:grid;place-items:center;font-size:10px}.profile-summary-copy>span{color:var(--primary);font-size:9px;font-weight:800;text-transform:uppercase;letter-spacing:.7px}.profile-summary-copy h2{font-size:20px;margin:5px 0}.profile-summary-copy p{color:var(--muted);font-size:10px;margin:0}.profile-info-grid{display:grid;grid-template-columns:1fr 1fr;gap:11px;margin-top:18px}.profile-info-item{display:flex;align-items:center;gap:10px;background:var(--surface-2);border:1px solid var(--border);padding:12px;border-radius:10px}.profile-info-item.wide{grid-column:1/-1}.profile-info-item>i{color:var(--primary);width:20px;text-align:center}.profile-info-item div{display:flex;flex-direction:column}.profile-info-item span{font-size:8px;color:var(--muted)}.profile-info-item strong{font-size:10px;margin-top:3px}.module-toolbar h2{font-size:14px;margin:0 0 4px}.module-toolbar p{font-size:9px;color:var(--muted);margin:0}.family-form{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:18px}.family-form label{display:flex;flex-direction:column;gap:7px;font-size:9px;font-weight:800}.family-form label:first-child{grid-column:1/-1}.form-control{height:42px;border:1px solid var(--border);border-radius:9px;background:var(--surface-2);color:var(--text);padding:0 12px;outline:0}.form-control:focus{border-color:var(--primary);box-shadow:0 0 0 3px rgba(31,122,224,.12)}.form-actions{grid-column:1/-1;display:flex;justify-content:flex-end}.security-note{display:flex;gap:12px;padding:15px;background:var(--surface-2);border:1px solid var(--border);border-radius:10px;margin:18px 0}.security-note>i{color:var(--primary);font-size:18px}.security-note div{display:flex;flex-direction:column}.security-note strong{font-size:10px}.security-note span{font-size:9px;color:var(--muted);margin-top:4px;line-height:1.5}.config-nav-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.config-nav-card{min-height:145px;border:1px solid var(--border);border-radius:14px;background:var(--surface);color:var(--text);padding:19px;text-align:left;display:flex;flex-direction:column;align-items:flex-start;cursor:pointer;box-shadow:var(--shadow)}.config-nav-card:hover{transform:translateY(-2px);border-color:var(--cd-logo-blue)}.config-nav-card>i{width:42px;height:42px;border-radius:11px;background:var(--primary-soft);color:var(--primary);display:grid;place-items:center;font-size:17px}.config-nav-card strong{font-size:12px;margin-top:17px}.config-nav-card span{font-size:9px;color:var(--muted);margin-top:4px}.sidebar-collapsed{--sidebar-width:78px}.sidebar-collapsed .sidebar{width:78px}.sidebar-collapsed .sidebar~.topbar{left:78px}
@media(max-width:1000px){.config-nav-grid{grid-template-columns:repeat(2,1fr)}.profile-layout{grid-template-columns:1fr}.profile-summary-panel{grid-row:auto}}
@media(max-width:760px){.sidebar.collapsed{width:260px}.sidebar.collapsed~.topbar{left:0}.sidebar.collapsed .brand-copy,.sidebar.collapsed .sidebar-nav span,.sidebar.collapsed .sidebar-help span,.sidebar.collapsed .sidebar-footer span{display:flex}.dashboard-layout:has(.sidebar.collapsed)+.app-main{margin-left:0}.navbar-brand-family .brand-mark,.navbar-brand-family>div{display:none}.config-nav-grid{grid-template-columns:1fr 1fr}.profile-layout{grid-template-columns:1fr}.family-form{grid-template-columns:1fr}.family-form label:first-child,.form-actions{grid-column:auto}}



/* Barra publica con logo oficial Click Derecho */
.public-brand-logo{display:flex;align-items:center;height:100%}
.public-brand-logo img{display:block;width:auto;height:52px;max-width:min(220px,58vw);object-fit:contain}
@media(max-width:760px){.public-brand-logo img{height:45px}}



/* Barra superior publica a todo el ancho */
.public-header{
  position:absolute;
  top:0;
  left:0;
  right:0;
  width:100%;
  height:70px;
  padding:0 14px;
  background:var(--surface);
  border-bottom:1px solid var(--border);
  z-index:30;
}
.public-brand-logo img{height:55px}
@media(max-width:760px){
  .public-header{height:70px;padding:0 14px}
  .public-brand-logo img{height:48px}
}



/* Login homologado con la familia Click Derecho */
.loginShell{
  min-height:100vh;
  padding-top:70px;
  display:grid;
  grid-template-columns:minmax(0,1.08fr) minmax(420px,.92fr);
  background:var(--bg);
  overflow:hidden
}
.loginHero{
  position:relative;
  min-height:calc(100vh - 70px);
  padding:28px clamp(42px,5.3vw,86px) 72px;
  display:flex;
  flex-direction:column;
  color:#fff;
  overflow:hidden;
  background:linear-gradient(145deg,#0d355f 0%,#115b9f 58%,#1f7acc 100%)
}
.loginHero:before,.loginHero:after{
  content:"";
  position:absolute;
  border:1px solid rgba(255,255,255,.15);
  border-radius:50%;
  pointer-events:none
}
.loginHero:before{width:330px;height:330px;right:6%;bottom:10%}
.loginHero:after{width:440px;height:440px;right:-18%;bottom:-12%}
.loginBrandMini{display:flex;align-items:center;gap:12px;position:relative;z-index:2}
.loginBrandIcon{width:42px;height:42px;border-radius:9px;display:grid;place-items:center;background:rgba(255,255,255,.14);color:#8ce0b4}
.loginBrandMini>span:last-child{display:flex;flex-direction:column}
.loginBrandMini strong{font-size:14px}.loginBrandMini small{font-size:10px;color:#d6e9f5;margin-top:2px;font-weight:700}
.loginHeroContent{position:relative;z-index:2;margin:auto 0;max-width:690px;padding:34px 0 60px}
.loginPill{display:inline-flex;align-items:center;gap:7px;padding:9px 13px;border:1px solid rgba(255,255,255,.24);border-radius:999px;background:rgba(255,255,255,.1);font-size:11px;font-weight:800}
.loginPill i{color:#82d9aa}
.loginHero h1{max-width:670px;margin:28px 0 20px;font-size:clamp(42px,4.6vw,68px);line-height:1.1;letter-spacing:-2.4px;font-weight:800}
.loginHeroContent>p{max-width:660px;margin:0;color:#edf6fb;font-size:14px;line-height:1.75}
.loginStats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px;max-width:500px;margin-top:40px}
.loginStats div{display:flex;flex-direction:column}.loginStats strong{font-size:20px}.loginStats span{margin-top:4px;color:#d7e9f4;font-size:10px;font-weight:700}
.loginPanel{min-height:calc(100vh - 70px);display:grid;place-items:center;padding:42px;background:var(--bg)}
.loginPanel form{width:min(430px,100%)}
.loginCard{width:100%;padding:30px 32px;background:var(--surface);border:1px solid var(--border);border-radius:8px;box-shadow:0 22px 55px rgba(16,42,67,.12)}
.loginCardHead{display:flex;align-items:center;gap:13px;margin-bottom:27px}
.loginCardIcon{width:42px;height:42px;flex:0 0 auto;border-radius:8px;display:grid;place-items:center;background:var(--primary);color:#fff;box-shadow:0 9px 20px rgba(31,122,224,.24)}
.loginCardHead>span:last-child{display:flex;flex-direction:column}.loginCardHead strong{font-size:22px;letter-spacing:-.5px}.loginCardHead small{margin-top:3px;color:var(--muted);font-size:9px;font-weight:700}
.loginField{margin-top:17px}.loginField label{display:block;margin:0 0 7px;font-size:11px;font-weight:800}
.loginInputWrap{height:48px;display:flex;align-items:center;gap:10px;padding:0 13px;border:1px solid var(--border);border-radius:8px;background:var(--surface);transition:.2s}
.loginInputWrap:focus-within{border-color:var(--primary);box-shadow:0 0 0 3px rgba(31,122,224,.11)}
.loginInputWrap>i{width:17px;color:#6d8294;text-align:center}.loginInputWrap input{height:100%;width:100%;border:0;outline:0;background:transparent;color:var(--text);font:inherit}
.loginInputWrap button{border:0;background:transparent;color:var(--muted);cursor:pointer;padding:5px}
.loginMeta{display:flex;justify-content:space-between;gap:15px;margin:15px 0;color:var(--muted);font-size:10px;font-weight:700}
.loginMeta i{color:var(--primary)}.loginSubmit{width:100%;min-height:48px;border-radius:8px}.loginSubmit i{margin-left:6px}
.loginHint{max-width:300px;margin:16px auto 0;text-align:center;color:var(--muted);font-size:9px;line-height:1.5;font-weight:700}
.loginAlert{display:flex;gap:8px;align-items:center;padding:10px 11px;border-radius:8px;background:#fff0ef;border:1px solid #f5c9c5;color:#a83b34;font-size:10px;font-weight:700;margin-bottom:14px}
.loginFooter{position:fixed;left:14px;bottom:10px;z-index:35;color:#687b8c;font-size:10px;font-weight:800;pointer-events:none}
.loginFooter p{margin:0;padding:6px 9px;border-radius:7px;background:rgba(255,255,255,.86);border:1px solid rgba(219,230,239,.8);box-shadow:0 7px 18px rgba(16,42,67,.08)}
@media(max-width:900px){
  .loginShell{grid-template-columns:1fr;padding-top:70px}
  .loginHero{min-height:auto;padding:35px 28px 40px}.loginHeroContent{padding:42px 0 20px}.loginHero h1{font-size:42px;max-width:600px}
  .loginPanel{min-height:auto;padding:45px 22px 80px}.loginFooter{position:absolute;bottom:auto;top:calc(100% - 46px)}
}
@media(max-width:560px){
  .loginHero{padding:25px 21px 34px}.loginHero h1{font-size:34px;letter-spacing:-1.3px}.loginStats{gap:13px}.loginStats strong{font-size:16px}.loginPanel{padding:34px 16px 72px}.loginCard{padding:25px 21px}.loginFooter{left:9px}.loginFooter p{font-size:9px}
}



/* Afinacion visual de familia Click Derecho */
body{font-family:'Nunito Sans',Arial,sans-serif}
.loginShell{grid-template-columns:minmax(0,1.08fr) minmax(420px,.92fr)}
.loginHero{padding-left:clamp(52px,5.4vw,88px);padding-right:clamp(52px,5.4vw,88px)}
.loginHeroContent{max-width:680px}
.loginHero h1{max-width:650px;font-weight:900}
.loginPanel{padding:40px}
.loginPanel form{width:min(430px,100%)}
.loginCard{border-radius:8px;padding:30px 32px}
.loginCardHead strong{font-weight:900}
.loginSubmit{font-weight:900}
.loginFooter p{font-weight:800}
.public-header{height:72px}
.loginShell{padding-top:72px}
.loginHero,.loginPanel{min-height:calc(100vh - 72px)}
@media(max-width:900px){.loginShell{padding-top:72px}.loginHero{padding-left:28px;padding-right:28px}}



/* Escala exacta del login de Punto de Venta */
.loginShell{min-height:100vh;margin:0;padding-top:0;grid-template-columns:minmax(0,1.08fr) minmax(420px,.92fr)}
.loginHero{min-height:100vh;padding:44px clamp(28px,6vw,88px);justify-content:center}
.loginHero:before{width:520px;height:520px;right:-170px;bottom:-150px;background:rgba(255,255,255,.04)}
.loginHero:after{width:330px;height:330px;right:70px;bottom:110px}
.loginBrandMini{position:absolute;top:96px;left:clamp(28px,6vw,88px);gap:12px}
.loginBrandMini strong{font-size:1rem;font-weight:800}.loginBrandMini small{font-size:inherit;color:rgba(255,255,255,.7);font-weight:700}
.loginHeroContent{max-width:760px;padding:0}
.loginPill{gap:8px;padding:9px 14px;font-size:inherit}
.loginHero h1{margin:28px 0 18px;max-width:720px;font-size:clamp(2.65rem,5vw,4.9rem);line-height:1.02;font-weight:900;letter-spacing:normal}
.loginHeroContent>p{max-width:660px;margin:0;color:rgba(255,255,255,.82);font-size:1.1rem;line-height:1.65}
.loginStats{display:flex;flex-wrap:wrap;gap:28px 52px;max-width:none;margin-top:58px}
.loginStats div{min-width:120px}.loginStats strong{font-size:1.55rem;line-height:1.1}.loginStats span{margin-top:6px;font-size:.86rem}
.loginPanel{min-height:100vh;padding:104px 28px 76px;display:flex;align-items:center;justify-content:center}
#login{width:min(430px,100%)}.loginPanel form{width:min(430px,100%)}
.loginCard{width:100%;padding:34px 38px 32px;border-radius:8px;box-shadow:0 24px 60px rgba(15,23,42,.12)}
.loginCardHead{gap:14px;margin-bottom:28px}.loginCardIcon{width:42px;height:42px;border-radius:8px}
.loginCardHead strong{font-size:1.6rem;line-height:1.1;font-weight:900}.loginCardHead small{margin-top:6px;font-size:inherit;font-weight:700}
.loginField{margin-top:0;margin-bottom:18px}.loginField label{margin:0 0 8px;font-size:.93rem}
.loginInputWrap{position:relative;height:auto;display:block;padding:0;border:0;background:transparent}
.loginInputWrap>i{position:absolute;left:15px;top:50%;transform:translateY(-50%);z-index:2}
.loginInputWrap .form-control{width:100%;height:48px;padding:0 42px;border:1px solid var(--border);border-radius:8px;background:var(--surface);color:var(--text)}
.loginInputWrap button{position:absolute;right:9px;top:50%;transform:translateY(-50%);z-index:2}
.loginMeta{align-items:center;gap:16px;margin:4px 0 18px;font-size:.86rem}
.loginSubmit{width:100%;min-height:48px;border-radius:8px}
@media(max-width:900px){
  .loginShell{grid-template-columns:1fr;padding-top:72px}
  .loginHero{min-height:auto;padding:35px 28px 40px;justify-content:flex-start}
  .loginBrandMini{position:relative;top:auto;left:auto}
  .loginHeroContent{padding:42px 0 20px}
  .loginHero h1{font-size:42px}
  .loginPanel{min-height:auto;padding:45px 22px 80px}
}



/* Selector de tema y escala base iguales a Punto de Venta */
body{font-size:15px}
.public-theme-toggle{
  width:42px;
  height:42px;
  padding:0;
  border:0;
  border-radius:0;
  background:transparent;
  color:#0057c8;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  cursor:pointer
}
.public-theme-toggle:hover,.public-theme-toggle:focus{background:transparent;color:#004aa8;outline:0}
.public-theme-toggle i{font-size:14px}



/* Compensacion de escala visual frente a Punto de Venta */
.public-theme-toggle i{font-size:18px}
.loginBrandIcon{font-size:16px}
.loginBrandMini strong{font-size:1.08rem}
.loginBrandMini small{font-size:.82rem;margin-top:2px}
.loginPill{font-size:1rem}
.loginHeroContent>p{font-size:1.18rem;line-height:1.65}
.loginStats strong{font-size:1.65rem}
.loginStats span{font-size:.93rem}
@media(max-width:560px){
  .public-theme-toggle i{font-size:17px}
  .loginPill{font-size:.9rem}
  .loginHeroContent>p{font-size:1.05rem}
  .loginStats strong{font-size:1.4rem}
  .loginStats span{font-size:.82rem}
}



/* Copyright con la misma escala de Punto de Venta */
.loginFooter{
  position:fixed;
  left:18px;
  right:18px;
  bottom:0;
  z-index:35;
  min-height:48px;
  padding:10px 0 14px;
  display:flex;
  align-items:center;
  color:var(--muted);
  font-size:15px;
  font-weight:800
}
.loginFooter p{
  margin:0;
  padding:6px 10px;
  border-radius:8px;
  line-height:1.2
}
@media(max-width:900px){
  .loginFooter{position:absolute;left:14px;right:14px;bottom:auto;top:calc(100% - 48px)}
}
@media(max-width:560px){
  .loginFooter{left:14px;right:14px;font-size:14px}
  .loginFooter p{font-size:inherit}
}



/* Prototipo funcional local */
.functional-command{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:18px}.functional-command>div{display:flex;gap:9px}.functional-command>p{margin:0;color:var(--muted)}
.home-cycles{margin-top:18px}.home-quick{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:18px}.home-quick .quick{width:100%}
.card-actions,.table-actions{display:flex;gap:6px;margin-left:auto}.card-actions button,.table-actions button{width:32px;height:32px;border:1px solid var(--border);border-radius:8px;background:var(--surface-2);color:var(--muted);cursor:pointer}.card-actions button:hover,.table-actions button:hover{color:var(--primary);border-color:var(--primary)}
.functional-modal{position:fixed;inset:0;display:none;z-index:1000}.functional-modal.open{display:block}.functional-backdrop{position:absolute;inset:0;background:rgba(8,20,31,.62);backdrop-filter:blur(3px)}.functional-dialog{position:relative;width:min(720px,calc(100vw - 30px));max-height:calc(100vh - 40px);margin:20px auto;background:var(--surface);border:1px solid var(--border);border-radius:14px;box-shadow:0 30px 80px rgba(0,0,0,.3);overflow:hidden;display:flex;flex-direction:column}.functional-dialog>header{padding:18px 21px;border-bottom:1px solid var(--border);display:flex;justify-content:space-between;align-items:center}.functional-dialog>header p{margin:0 0 3px;color:var(--primary);font-size:9px;font-weight:800;text-transform:uppercase;letter-spacing:1px}.functional-dialog>header h2{font-size:18px;margin:0}.functional-dialog>header button{width:35px;height:35px;border:1px solid var(--border);background:var(--surface-2);color:var(--muted);border-radius:9px;cursor:pointer}.functional-body{padding:21px;overflow:auto}.functional-dialog>footer{padding:14px 21px;border-top:1px solid var(--border);display:flex;justify-content:flex-end;gap:9px}.functional-form{display:grid;grid-template-columns:1fr 1fr;gap:14px}.functional-field{display:flex;flex-direction:column;gap:7px}.functional-field>span{font-size:10px;font-weight:800}.functional-field .form-control{width:100%}.functional-field select.form-control{appearance:auto}.modal-credit-summary{display:flex;flex-direction:column;padding:15px 17px;margin-bottom:18px;border-radius:11px;background:var(--primary-soft)}.modal-credit-summary span,.modal-credit-summary small{font-size:9px;color:var(--muted)}.modal-credit-summary strong{font-size:23px;margin:4px 0}.simulation-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:17px}.simulation-summary span{display:flex;flex-direction:column;padding:13px;border:1px solid var(--border);border-radius:10px;background:var(--surface-2)}.simulation-summary small{color:var(--muted);font-size:8px}.simulation-summary strong{font-size:13px;margin-top:5px}.simulation-table{max-height:50vh;border:1px solid var(--border);border-radius:10px}.empty-state{padding:40px;text-align:center;color:var(--muted);background:var(--surface);border:1px dashed var(--border);border-radius:12px}.report-snapshot{margin-bottom:18px}
@media(max-width:760px){.functional-command{align-items:stretch;flex-direction:column}.functional-command>div{flex-wrap:wrap}.functional-form{grid-template-columns:1fr}.simulation-summary{grid-template-columns:1fr}.home-quick{grid-template-columns:1fr}.functional-dialog{margin:10px auto;max-height:calc(100vh - 20px)}}
@media print{.sidebar,.topbar,.page-heading .btn,.functional-command,.report-card button,.toast{display:none!important}.app-main{margin:0!important;padding:20px!important}.panel,.report-card,.credit-summary{box-shadow:none;break-inside:avoid}}



/* Separacion entre identidad de producto y contenido, igual a Punto de Venta */
@media(min-width:901px){
  .loginHeroContent{transform:translateY(44px)}
}
@media(max-width:900px){
  .loginHeroContent{transform:none}
}



/* Entorno interno homologado con la familia Click Derecho */
:root{--sidebar-open:248px;--sidebar-closed:76px;--navbar-height:64px}
.dashboard-layout{min-height:0;height:0}
.sidebar{
  position:fixed;inset:0 auto 0 0;width:var(--sidebar-closed);padding:0;
  background:#fff;color:#334155;border-right:1px solid #dbe3ec;
  box-shadow:none;display:flex;flex-direction:column;z-index:30;transition:.2s
}
.sidebar-brand{height:64px;min-height:64px;padding:0;border-bottom:1px solid #dbe3ec;display:flex;align-items:center;justify-content:center}
.collapse-btn{width:42px;height:42px;border:0;border-radius:8px;background:#eaf2fb;color:#0057c8;display:grid;place-items:center;cursor:pointer;font-size:16px}
.sidebar-nav{display:flex;flex-direction:column;align-items:center;gap:5px;margin:12px 0;padding:0}
.sidebar-nav a,.sidebar-help a,.sidebar-actions a,.sidebar-actions button{
  position:relative;width:50px;min-height:45px;padding:0;border:0;border-radius:8px;
  display:flex;align-items:center;justify-content:center;gap:0;background:transparent;color:#334155;font-weight:700
}
.sidebar-nav a i,.sidebar-help a i,.sidebar-actions i{width:auto;font-size:16px;text-align:center}
.sidebar-nav a span,.sidebar-help span,.sidebar-actions span{display:none}
.sidebar-nav a:before{display:none}
.sidebar-nav a:hover,.sidebar-nav a.active{background:#eaf2fb;color:#0057c8}
.sidebar-nav a.active{background:#0057c8;color:#fff}
.sidebar-help{margin-top:auto;padding:10px 0;border-top:1px solid #dbe3ec;display:flex;justify-content:center}
.sidebar-actions{padding:8px 0;border-top:1px solid #dbe3ec;display:flex;flex-direction:column;align-items:center}
.sidebar-actions button{cursor:pointer}
.sidebar [data-tooltip]:hover:after{
  content:attr(data-tooltip);position:absolute;left:58px;top:50%;transform:translateY(-50%);
  padding:7px 9px;border-radius:6px;background:#102a43;color:#fff;font-size:11px;white-space:nowrap;z-index:60;box-shadow:0 8px 20px rgba(15,23,42,.18)
}
.navbar-family{
  position:fixed;top:0;right:0;left:var(--sidebar-closed);height:64px;padding:0 20px;
  background:#fff;border-bottom:1px solid #dbe3ec;display:flex;align-items:center;z-index:25;transition:.2s
}
.navbar-brand-family{display:flex;align-items:center;gap:12px}.navbar-brand-family img{height:48px;width:auto;object-fit:contain}.navbar-brand-family strong{font-size:18px;color:#172033}
.topbar-actions{margin-left:auto;position:relative}.profile-button{padding:0;border:0;background:transparent}.avatar{width:42px;height:42px;border-radius:50%;border:1px solid #dbe3ec;background:#fff;color:#0057c8;font-size:9px}.avatar img{border-radius:50%}
.app-main{margin-left:var(--sidebar-closed);padding:88px 24px 34px;min-height:100vh;background:#f4f7fb}
.page-heading.module-shell{margin:0 0 18px;padding:18px;background:#fff;border:1px solid #dbe3ec;border-radius:8px;box-shadow:0 10px 28px rgba(15,23,42,.05);display:flex;align-items:center;justify-content:space-between}
.page-heading .module-title{display:flex;align-items:center;gap:14px}.page-heading .module-icon{width:52px;height:52px;border-radius:8px;background:#eaf2fb;color:#0057c8;font-size:20px}
.page-heading h1{font-size:24px;line-height:1.1;margin:0 0 5px;color:#172033}.page-heading p{font-size:14px;color:#64748b;margin:0}
.metric-grid{gap:14px}.metric-card,.panel,.credit-card,.report-card,.cycle-card,.credit-summary{border-radius:8px;border-color:#dbe3ec;box-shadow:0 8px 22px rgba(15,23,42,.05)}
.metric-card{padding:18px}.metric-card>strong{font-size:21px}.panel{padding:18px}
.btn{border-radius:7px;min-height:40px}.search{border-radius:8px}.quick{border-radius:8px}.cycle-card{border-radius:8px}
.profile-menu{top:52px}
.sidebar-collapsed{--sidebar-width:76px}.sidebar-collapsed .sidebar{width:76px}.sidebar-collapsed .sidebar~.navbar-family{left:76px}
.dashboard-layout:has(.sidebar.collapsed)+.app-main{margin-left:76px}
@media(max-width:760px){
 .sidebar{transform:translateX(-100%);width:76px}.sidebar-open .sidebar{transform:none}
 .navbar-family{left:0;padding:0 14px}.navbar-brand-family img{height:43px}
 .app-main{margin-left:0;padding:82px 14px 28px}
 .page-heading.module-shell{align-items:flex-start}.sidebar [data-tooltip]:hover:after{display:none}
}



/* Expansion opcional del menú como los sistemas hermanos */
.sidebar:not(.collapsed){width:248px}
.sidebar:not(.collapsed) .sidebar-brand{justify-content:flex-start;padding-left:17px}
.sidebar:not(.collapsed) .sidebar-nav{align-items:stretch;padding:0 13px}
.sidebar:not(.collapsed) .sidebar-nav a,.sidebar:not(.collapsed) .sidebar-help a,.sidebar:not(.collapsed) .sidebar-actions a,.sidebar:not(.collapsed) .sidebar-actions button{width:100%;justify-content:flex-start;padding:0 15px;gap:13px}
.sidebar:not(.collapsed) .sidebar-nav a span,.sidebar:not(.collapsed) .sidebar-help span,.sidebar:not(.collapsed) .sidebar-actions span{display:inline}
.sidebar:not(.collapsed) .sidebar-help,.sidebar:not(.collapsed) .sidebar-actions{align-items:stretch;padding-left:13px;padding-right:13px}
.sidebar:not(.collapsed)~.navbar-family{left:248px}
body:not(.sidebar-collapsed) .app-main{margin-left:248px}



/* Perfil completo en barra superior */
.profile-button{display:flex;align-items:center;gap:10px;padding:6px 8px;border-radius:9px}
.profile-button:hover{background:#f4f7fb}
.profile-copy{display:flex;flex-direction:column;text-align:right;line-height:1.2}
.profile-copy strong{font-size:12px;color:#172033;font-weight:800}
.profile-copy small{margin-top:2px;font-size:9px;color:#64748b;font-weight:700}
.avatar{width:42px;height:42px;border-radius:10px;border:0;background:#eaf2fb;color:#1f7ae0;font-size:13px;font-weight:900}
.avatar img{border-radius:10px}
.profile-chevron{font-size:9px;color:#64748b;transition:transform .2s}
.profile-button[aria-expanded="true"] .profile-chevron{transform:rotate(180deg)}



/* Desplegable de perfil compacto como Punto de Venta */
.profile-menu{width:185px;top:50px;padding:6px;border-radius:8px}
.profile-menu a{min-height:38px;padding:9px 10px;border-radius:6px;font-size:12px}
.profile-menu a i{width:18px;color:#64748b}
.profile-menu-divider{margin:4px 5px}



/* Detalle funcional del ciclo */
.cycle-detail-dialog{width:min(1040px,calc(100vw - 30px))}
.cycle-detail-hero{display:grid;grid-template-columns:auto 1fr auto;gap:15px;align-items:center;padding:17px;border:1px solid var(--border);border-radius:8px;background:var(--surface-2)}
.cycle-detail-icon{width:52px;height:52px;border-radius:8px;background:var(--agri-soft);color:#168a58;display:grid;place-items:center;font-size:21px}
.cycle-detail-copy{display:grid;grid-template-columns:1fr auto;align-items:center;gap:5px 15px}.cycle-detail-copy>span{color:var(--muted);font-size:11px}.cycle-detail-copy>strong{font-size:10px;color:#168a58}.cycle-detail-copy .progress{grid-column:1/-1;margin:4px 0 0}.cycle-detail-copy>small{grid-column:1/-1;color:var(--muted);font-size:9px}
.cycle-detail-actions{display:flex;gap:8px}.btn-soft-danger{background:#fbeceb;color:#b64b4b}.btn-soft{background:var(--primary-soft);color:var(--primary)}
.cycle-detail-metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:11px;margin:15px 0}.cycle-detail-metrics>div{padding:14px;border:1px solid var(--border);border-radius:8px;background:var(--surface);display:flex;flex-direction:column}.cycle-detail-metrics span{color:var(--muted);font-size:9px}.cycle-detail-metrics strong{font-size:16px;margin-top:5px}.positive-text{color:#168a58}.negative-text{color:#b64b4b}
.cycle-detail-toolbar{display:flex;align-items:center;justify-content:space-between;gap:15px;margin:18px 0 12px}.cycle-detail-toolbar h3{font-size:15px;margin:0 0 3px}.cycle-detail-toolbar p{font-size:9px;color:var(--muted);margin:0}.cycle-detail-toolbar>div:last-child{display:flex;gap:8px}
.cycle-quick-form{display:grid;grid-template-columns:1.2fr 1fr .8fr .65fr .8fr;gap:10px;padding:15px;margin-bottom:14px;border:1px solid var(--border);border-radius:8px;background:var(--surface-2)}.cycle-quick-form>div:first-child{grid-column:1/-1;display:flex;flex-direction:column}.cycle-quick-form>div:first-child strong{font-size:12px}.cycle-quick-form>div:first-child small{font-size:9px;color:var(--muted)}.cycle-quick-form label{display:flex;flex-direction:column;gap:5px;font-size:9px;font-weight:800}.cycle-quick-actions{grid-column:1/-1;display:flex;justify-content:flex-end;gap:8px}
.cycle-detail-table{max-height:330px;border:1px solid var(--border);border-radius:8px}.cycle-detail-table td strong,.cycle-detail-table td small{display:block}.cycle-detail-table td small{color:var(--muted);margin-top:2px}.mini-delete{width:30px;height:30px;border:1px solid var(--border);border-radius:7px;background:var(--surface-2);color:#b64b4b;cursor:pointer}.empty-state.compact{padding:25px;border:0}
@media(max-width:760px){.cycle-detail-hero{grid-template-columns:auto 1fr}.cycle-detail-actions{grid-column:1/-1}.cycle-detail-metrics{grid-template-columns:1fr 1fr}.cycle-detail-toolbar{align-items:flex-start;flex-direction:column}.cycle-quick-form{grid-template-columns:1fr}.cycle-quick-form>div:first-child,.cycle-quick-actions{grid-column:auto}}



/* Segundo ciclo: consulta operativa de movimientos */
.movement-summary{margin-bottom:14px}.movement-summary small{display:block;margin-top:4px;color:var(--muted);font-size:9px}
.movement-filter-panel{padding:14px 16px}.movement-filters{display:grid;grid-template-columns:minmax(240px,1.5fr) repeat(4,minmax(120px,.7fr)) auto;gap:10px;align-items:end}.movement-filters label{display:flex;flex-direction:column;gap:5px}.movement-filters label>span{font-size:9px;color:var(--muted);font-weight:800}.movement-filters .search{width:100%;min-width:0;height:42px}.movement-filters .form-control{height:42px}.movement-filters .btn{height:42px}.filter-count{margin:10px 0 0;color:var(--muted);font-size:9px;text-align:right}
@media(max-width:1180px){.movement-filters{grid-template-columns:1.5fr repeat(2,1fr)}}
@media(max-width:760px){.movement-filters{grid-template-columns:1fr}.filter-count{text-align:left}}


/* Experiencia operativa de creditos */
.credit-controlbar{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:0 0 14px}.credit-upcoming{min-height:76px;display:flex;align-items:center;gap:14px;padding:14px 17px;margin-bottom:16px;background:var(--surface);border:1px solid var(--border);border-left:4px solid var(--primary);border-radius:8px;box-shadow:0 8px 22px rgba(15,23,42,.04)}.credit-upcoming-icon{width:43px;height:43px;border-radius:8px;background:var(--primary-soft);color:var(--primary);display:grid;place-items:center;font-size:17px}.credit-upcoming>div:nth-child(2){display:flex;flex-direction:column;gap:3px}.credit-upcoming span{font-size:9px;color:var(--muted);font-weight:700;text-transform:uppercase;letter-spacing:.5px}.credit-upcoming strong{font-size:12px}.credit-upcoming small{font-size:10px;color:var(--muted)}.credit-upcoming>.btn{margin-left:auto}.credit-upcoming-empty{display:flex!important;align-items:center;gap:12px}.credit-upcoming-empty>i{font-size:22px;color:var(--primary)}.credit-upcoming-empty span{display:flex;flex-direction:column;text-transform:none;letter-spacing:0}.credit-actions{display:grid;grid-template-columns:repeat(3,1fr)}.credit-actions .btn{padding:9px 8px;font-size:10px}.credit-detail-dialog{width:min(900px,calc(100vw - 30px))}.credit-detail-hero{display:flex;align-items:flex-start;justify-content:space-between}.credit-detail-hero>div{display:flex;flex-direction:column}.credit-detail-hero span,.credit-detail-hero small{color:var(--muted);font-size:9px}.credit-detail-hero strong{font-size:27px;margin:4px 0}.credit-detail-progress{height:8px;margin-bottom:7px}.credit-detail-caption{display:flex;justify-content:space-between;color:var(--muted);font-size:9px}.credit-detail-caption strong{color:var(--text)}.credit-detail-metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:18px 0}.credit-detail-metrics span{display:flex;flex-direction:column;padding:12px;border:1px solid var(--border);background:var(--surface-2);border-radius:8px}.credit-detail-metrics small{font-size:8px;color:var(--muted)}.credit-detail-metrics strong{font-size:13px;margin-top:5px}.credit-history-title{display:flex;align-items:center;justify-content:space-between;margin:20px 0 10px}.credit-history-title h3{font-size:14px;margin:0 0 3px}.credit-history-title p{font-size:9px;color:var(--muted);margin:0}.credit-history-table{border:1px solid var(--border);border-radius:8px;max-height:280px}.credit-history-table table{min-width:720px}.credit-history-empty{padding:28px;display:flex;align-items:center;flex-direction:column;gap:5px;color:var(--muted)}.credit-history-empty i{font-size:20px;color:var(--primary)}.credit-history-empty strong{color:var(--text);font-size:11px}.credit-history-empty small{font-size:9px}.credit-payment-delete{width:30px;height:30px;border:1px solid var(--border);border-radius:7px;background:var(--surface-2);color:var(--muted);cursor:pointer}.credit-payment-delete:hover{color:var(--red);border-color:var(--red)}
@media(max-width:760px){.credit-controlbar{align-items:stretch;flex-direction:column}.credit-upcoming{align-items:flex-start;flex-wrap:wrap}.credit-upcoming>.btn{margin-left:0;width:100%}.credit-actions{grid-template-columns:1fr}.credit-detail-metrics{grid-template-columns:1fr 1fr}.credit-detail-caption{gap:8px;flex-direction:column}.credit-history-title{align-items:stretch;flex-direction:column;gap:10px}}

/* Centro de reportes interactivo */
.report-toolbar{display:flex;align-items:flex-end;gap:10px;margin-bottom:14px}.report-toolbar>div:first-child{display:flex;flex-direction:column;margin-right:auto}.report-toolbar>div:first-child strong{font-size:13px}.report-toolbar>div:first-child small{font-size:9px;color:var(--muted);margin-top:4px}.report-toolbar label{display:flex;flex-direction:column;gap:5px;min-width:220px}.report-toolbar label span{font-size:9px;font-weight:800}.report-analysis-grid{display:grid;grid-template-columns:1.3fr .7fr;gap:16px}.report-analysis-grid>.panel{min-width:0}.report-secondary-grid{grid-template-columns:1fr 1fr}.report-bars{display:flex;flex-direction:column;gap:18px;margin-top:20px}.report-bar-row{display:grid;grid-template-columns:190px 1fr;gap:14px;align-items:center}.report-bar-title{display:flex;align-items:center;gap:9px}.report-bar-title>div{display:flex;flex-direction:column}.report-bar-title strong{font-size:10px}.report-bar-title small{font-size:8px;color:var(--muted);margin-top:3px}.report-crop-icon{width:33px;height:33px;border-radius:8px;background:var(--primary-soft);color:var(--primary);display:grid;place-items:center}.report-bar-track{display:flex;flex-direction:column;gap:6px}.report-bar-track>span{min-width:2px;height:22px;display:flex;align-items:center;position:relative}.report-bar-track>span i{position:absolute;inset:0;border-radius:4px}.report-bar-track>span small{position:relative;z-index:1;font-size:8px;font-weight:800;white-space:nowrap;padding-left:7px}.report-bar-track .income i{background:color-mix(in srgb,var(--primary) 25%,transparent)}.report-bar-track .income small{color:var(--primary-dark)}.report-bar-track .expense i{background:#fbeceb}.report-bar-track .expense small{color:#b34b45}.report-category-chart{display:flex;flex-direction:column;gap:15px;margin-top:20px}.report-category-row{display:grid;grid-template-columns:8px 1fr auto;align-items:center;gap:9px}.report-category-row>div>span{display:flex;justify-content:space-between;margin-bottom:5px}.report-category-row strong{font-size:9px}.report-category-row small{font-size:8px;color:var(--muted)}.report-category-dot{width:8px;height:8px;border-radius:3px;background:var(--primary)}.report-category-dot.c1{background:var(--blue)}.report-category-dot.c2{background:var(--gold)}.report-category-dot.c3{background:var(--red)}.report-category-dot.c4{background:#7b68c2}.report-category-track{height:5px;background:var(--surface-2);border-radius:4px;overflow:hidden}.report-category-track i{height:100%;display:block;background:var(--primary);border-radius:4px}.report-currency{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:18px}.report-currency article{padding:13px;border:1px solid var(--border);border-radius:8px;background:var(--surface-2);display:grid;grid-template-columns:1fr 1fr;gap:10px}.report-currency article>.currency{grid-column:1/-1;justify-self:start}.report-currency article>div{display:flex;flex-direction:column}.report-currency article>div:last-child{grid-column:1/-1;padding-top:8px;border-top:1px solid var(--border)}.report-currency small,.report-debt small{font-size:8px;color:var(--muted)}.report-currency strong{font-size:11px;margin-top:3px}.report-debt{margin-top:18px}.report-debt-main{display:flex;justify-content:space-between;align-items:center;padding:15px;background:var(--primary-soft);border-radius:8px}.report-debt-main span{display:flex;flex-direction:column}.report-debt-main strong{font-size:20px;margin-top:4px}.report-debt-main i{font-size:22px;color:var(--primary)}.report-debt-details{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:10px 0}.report-debt-details span{display:flex;flex-direction:column;padding:9px;border:1px solid var(--border);border-radius:7px}.report-debt-details strong{font-size:10px;margin-top:4px}.report-debt>.btn{width:100%}.report-movement-panel{margin-top:0}.positive-text{color:var(--primary)!important}.negative-text{color:var(--red)!important}
@media(max-width:1050px){.report-analysis-grid{grid-template-columns:1fr}.report-toolbar{align-items:stretch;flex-wrap:wrap}.report-toolbar>div:first-child{width:100%}.report-toolbar label{flex:1}}
@media(max-width:760px){.report-toolbar{flex-direction:column}.report-toolbar label,.report-toolbar .btn{width:100%}.report-bar-row{grid-template-columns:1fr}.report-currency{grid-template-columns:1fr}.report-debt-details{grid-template-columns:1fr}}
@media print{.report-toolbar,.report-movement-panel{display:none!important}.report-analysis-grid{grid-template-columns:1fr 1fr!important}.report-analysis-grid>.panel{break-inside:avoid}.report-cycle-panel,.report-category-panel{min-height:360px}}

/* Producto agricola configurable */
.generic-product-banner{display:flex;align-items:center;gap:13px;padding:15px 18px;margin-bottom:16px;border:1px solid #bed8f3;border-radius:8px;background:#eef6ff}.generic-product-banner>span{width:40px;height:40px;display:grid;place-items:center;border-radius:8px;background:#dcecff;color:var(--primary);font-size:17px}.generic-product-banner>div{display:flex;flex-direction:column}.generic-product-banner strong{font-size:11px}.generic-product-banner p{font-size:9px;color:var(--muted);margin:4px 0 0}.business-settings{margin-bottom:16px}.settings-inline-form{display:grid;grid-template-columns:1.4fr .6fr .7fr auto;gap:12px;align-items:end;margin-top:17px}.settings-inline-form label{display:flex;flex-direction:column;gap:6px}.settings-inline-form label span{font-size:9px;font-weight:800}.catalog-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.catalog-panel{margin-bottom:0;min-width:0}.catalog-heading{display:flex;align-items:center;gap:11px;padding-bottom:14px;border-bottom:1px solid var(--border)}.catalog-heading>div{display:flex;flex-direction:column}.catalog-heading h2{font-size:13px;margin:0 0 3px}.catalog-heading p{font-size:9px;color:var(--muted);margin:0}.catalog-heading>button{width:34px;height:34px;margin-left:auto;border:0;border-radius:7px;background:var(--primary);color:#fff;cursor:pointer}.catalog-icon{width:39px;height:39px;border-radius:8px;display:grid;place-items:center}.catalog-icon.crop,.catalog-icon.income{background:var(--primary-soft);color:var(--primary)}.catalog-icon.expense{background:#fbeceb;color:var(--red)}.catalog-icon.labor{background:#edf3f9;color:var(--blue)}.catalog-list{display:flex;flex-wrap:wrap;gap:7px;padding-top:14px}.catalog-item{display:flex;border:1px solid var(--border);border-radius:7px;background:var(--surface-2);overflow:hidden}.catalog-item-name{border:0;background:transparent;color:var(--text);padding:7px 9px;display:flex;align-items:center;gap:7px;cursor:pointer}.catalog-item-name span{font-size:9px;font-weight:700}.catalog-item-name small{font-size:7px;color:var(--muted);opacity:0}.catalog-item:hover .catalog-item-name small{opacity:1}.catalog-item-delete{width:28px;border:0;border-left:1px solid var(--border);background:transparent;color:var(--muted);cursor:pointer;font-size:8px}.catalog-item-delete:hover{background:#fbeceb;color:var(--red)}.catalog-dialog{width:min(470px,calc(100vw - 30px))}.catalog-help{font-size:9px;color:var(--muted);margin:10px 0 0}
[data-theme=dark] .generic-product-banner{background:#132a3d;border-color:#274b69}
@media(max-width:1000px){.settings-inline-form{grid-template-columns:1fr 1fr}.catalog-grid{grid-template-columns:1fr}}
@media(max-width:600px){.settings-inline-form{grid-template-columns:1fr}.generic-product-banner{align-items:flex-start}}

/* Operacion recurrente: mano de obra y combustible */
.operation-toolbar{display:flex;align-items:flex-end;gap:12px;margin-bottom:16px}.operation-toolbar>.segmented{margin-right:auto}.operation-toolbar>.segmented button{display:flex;align-items:center;gap:7px}.operation-toolbar>label:not(.search){display:flex;flex-direction:column;gap:5px;min-width:190px}.operation-toolbar>label>span{font-size:9px;font-weight:800}.operation-content-grid{display:grid;grid-template-columns:.65fr 1.35fr;gap:16px}.operation-insight{margin-bottom:0}.operation-table-panel{margin-bottom:0}.operation-cycle-bars{display:flex;flex-direction:column;gap:15px;margin-top:19px}.operation-cycle-bars>div>span{display:flex;justify-content:space-between;gap:10px;margin-bottom:6px}.operation-cycle-bars strong{font-size:9px}.operation-cycle-bars small{font-size:8px;color:var(--muted)}.operation-cycle-bars i{height:7px;display:block;background:var(--surface-2);border-radius:5px;overflow:hidden}.operation-cycle-bars b{display:block;height:100%;background:linear-gradient(90deg,var(--primary),#70a0d0);border-radius:5px}.operation-table-panel table{min-width:850px}.operation-table-panel td>strong{font-size:10px}.operation-cell-note{display:block;color:var(--muted);font-size:8px;margin-top:3px}
@media(max-width:1100px){.operation-toolbar{flex-wrap:wrap}.operation-toolbar>.segmented{width:100%;margin-right:0}.operation-toolbar>.segmented button{flex:1;justify-content:center}.operation-content-grid{grid-template-columns:1fr}}
@media(max-width:700px){.operation-toolbar{align-items:stretch;flex-direction:column}.operation-toolbar>label:not(.search),.operation-toolbar>.btn{width:100%}.operation-summary strong{font-size:15px}}

/* Ventas e ingresos agricolas */
.sales-toolbar{display:flex;align-items:flex-end;gap:11px;margin-bottom:16px}.sales-toolbar>.search{margin-right:auto;min-width:280px}.sales-toolbar>label:not(.search){display:flex;flex-direction:column;gap:5px;min-width:130px}.sales-toolbar>label>span{font-size:9px;font-weight:800}.sales-layout{display:grid;grid-template-columns:.45fr 1.55fr;gap:16px}.sales-channel-panel,.sales-table-panel{margin-bottom:0}.sales-channels{display:flex;flex-direction:column;gap:16px;margin-top:18px}.sales-channels>div>span{display:flex;justify-content:space-between;gap:8px;margin-bottom:6px}.sales-channels strong{font-size:9px}.sales-channels small{font-size:8px;color:var(--muted)}.sales-channels i{display:block;height:7px;border-radius:5px;background:var(--surface-2);overflow:hidden}.sales-channels b{display:block;height:100%;border-radius:5px;background:linear-gradient(90deg,var(--primary),#70a0d0)}.sales-table-panel table{min-width:1000px}.sale-dialog{width:min(760px,calc(100vw - 30px))}.functional-span-2{grid-column:1/-1}.sale-total-preview{display:flex;flex-direction:column;margin-top:17px;padding:14px 16px;border-radius:8px;background:var(--primary-soft);border:1px solid color-mix(in srgb,var(--primary) 18%,var(--border))}.sale-total-preview span,.sale-total-preview small{font-size:9px;color:var(--muted)}.sale-total-preview strong{font-size:22px;margin:4px 0;color:var(--primary-dark)}
@media(max-width:1150px){.sales-toolbar{flex-wrap:wrap}.sales-toolbar>.search{width:100%;margin-right:0}.sales-layout{grid-template-columns:1fr}}
@media(max-width:700px){.sales-toolbar{align-items:stretch;flex-direction:column}.sales-toolbar>label:not(.search),.sales-toolbar>.btn{width:100%}.functional-span-2{grid-column:auto}}

/* Directorio de clientes y proveedores */
.contact-toolbar{display:flex;align-items:center;gap:12px;margin-bottom:16px}.contact-toolbar>.search{margin-right:auto;min-width:360px}.contact-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:15px}.contact-card{padding:18px;background:var(--surface);border:1px solid var(--border);border-radius:8px;box-shadow:0 8px 22px rgba(15,23,42,.05)}.contact-card-head{display:flex;align-items:center;gap:10px;padding-bottom:14px;border-bottom:1px solid var(--border)}.contact-card-head>div{min-width:0;flex:1}.contact-card-head h2{font-size:12px;margin:3px 0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.contact-card-head p{font-size:8px;color:var(--muted);margin:0}.contact-avatar{width:42px;height:42px;flex:0 0 auto;display:grid;place-items:center;border-radius:9px;font-size:11px;font-weight:800}.contact-avatar.cliente{background:var(--primary-soft);color:var(--primary)}.contact-avatar.proveedor{background:#edf3f9;color:var(--blue)}.contact-kind{font-size:8px;color:var(--primary);font-weight:800}.contact-data{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:15px 0}.contact-data>span{display:flex;align-items:flex-start;gap:8px;min-width:0}.contact-data>span>i{width:23px;height:23px;display:grid;place-items:center;border-radius:6px;background:var(--surface-2);color:var(--muted);font-size:9px}.contact-data>span>div{display:flex;flex-direction:column;min-width:0}.contact-data small{font-size:7px;color:var(--muted)}.contact-data strong{font-size:8px;margin-top:3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.contact-actions{display:flex;gap:8px}.contact-actions .btn:first-child{flex:1}.contact-actions .danger:hover{color:var(--red);border-color:var(--red)}.contact-dialog{width:min(680px,calc(100vw - 30px))}.contact-notes{resize:vertical;min-height:74px;padding-top:10px}
@media(max-width:1200px){.contact-grid{grid-template-columns:1fr 1fr}}
@media(max-width:760px){.contact-toolbar{align-items:stretch;flex-direction:column}.contact-toolbar>.search{min-width:0;width:100%;margin-right:0}.contact-toolbar>.segmented,.contact-toolbar>.btn{width:100%}.contact-toolbar>.segmented button{flex:1}.contact-grid{grid-template-columns:1fr}}

/* Navegacion compacta de la Version 1 */
.sidebar-nav a[href="configuracion.php"]{margin-top:0!important;padding-top:0;border-top:0}

/* Coherencia del flujo de movimientos V1 */
.movement-workflow{display:grid;grid-template-columns:1fr auto 1fr auto 1fr;align-items:center;gap:12px;padding:13px 16px;margin-bottom:14px;border:1px solid var(--border);border-radius:8px;background:var(--surface)}.movement-workflow>span{display:grid;grid-template-columns:28px 1fr;column-gap:9px;align-items:center}.movement-workflow b{grid-row:1/3;width:28px;height:28px;display:grid;place-items:center;border-radius:7px;background:var(--primary-soft);color:var(--primary);font-size:10px}.movement-workflow strong{font-size:9px}.movement-workflow small{font-size:8px;color:var(--muted);margin-top:2px}.movement-workflow>i{font-size:9px;color:var(--muted)}.movement-step-guide{display:flex;align-items:center;justify-content:center;gap:9px;margin:-3px 0 17px;padding-bottom:14px;border-bottom:1px solid var(--border)}.movement-step-guide span{display:flex;align-items:center;gap:6px;color:var(--muted);font-size:8px;font-weight:800}.movement-step-guide span b{width:20px;height:20px;display:grid;place-items:center;border-radius:6px;background:var(--surface-2)}.movement-step-guide span.active{color:var(--primary)}.movement-step-guide span.active b{background:var(--primary);color:#fff}.movement-step-guide i{width:24px;height:1px;background:var(--border)}.movement-form-note{display:flex;gap:8px;align-items:flex-start;padding:10px 12px;border-radius:7px;background:var(--primary-soft);color:var(--muted);font-size:8px}.movement-form-note i{color:var(--primary);margin-top:1px}.status.pending{background:#fff4dc;color:#9a6b16}.generic-product-banner>a{margin-left:auto;white-space:nowrap}
[data-theme=dark] .status.pending{background:#47391f;color:#f1c66a}
@media(max-width:760px){.movement-workflow{grid-template-columns:1fr}.movement-workflow>i{display:none}.movement-step-guide{gap:5px}.movement-step-guide span{font-size:0}.movement-step-guide span b{font-size:8px}.generic-product-banner{flex-wrap:wrap}.generic-product-banner>a{width:100%;margin-left:0}}

/* Inicio en blanco controlado */
.data-reset-panel{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-top:16px;border-color:#efc9c6;background:color-mix(in srgb,var(--surface) 92%,#fff0ef)}.data-reset-panel>div{display:flex;align-items:center;gap:12px}.data-reset-panel h2{font-size:12px;margin:0 0 4px}.data-reset-panel p{font-size:9px;color:var(--muted);margin:0;max-width:680px}.data-reset-icon{width:40px;height:40px;display:grid;place-items:center;flex:0 0 auto;border-radius:8px;background:#fbeceb;color:var(--red)}.btn-danger-outline{border:1px solid #dc7d77;background:transparent;color:#b64b4b;white-space:nowrap}.btn-danger-outline:hover{background:#b64b4b;color:#fff}
@media(max-width:760px){.data-reset-panel{align-items:stretch;flex-direction:column}.data-reset-panel>.btn{width:100%}}

/* Ciclos como centro operativo de la Version 1 */
.cycle-detail-metrics{grid-template-columns:repeat(5,1fr)}
.cycle-quick-form{grid-template-columns:repeat(4,minmax(135px,1fr))}.cycle-quick-heading{grid-column:1/-1}
@media(max-width:1000px){.cycle-detail-metrics{grid-template-columns:repeat(3,1fr)}.cycle-quick-form{grid-template-columns:1fr 1fr}}
@media(max-width:600px){.cycle-detail-metrics,.cycle-quick-form{grid-template-columns:1fr}.cycle-quick-heading,.cycle-quick-actions{grid-column:auto}}

.credit-previous-toggle{display:flex;align-items:flex-start;gap:11px;padding:13px 14px;border:1px solid var(--border);border-radius:8px;background:var(--surface-2);cursor:pointer}.credit-previous-toggle input{margin-top:3px;accent-color:var(--primary)}.credit-previous-toggle span{display:flex;flex-direction:column;gap:3px}.credit-previous-toggle strong{font-size:10px}.credit-previous-toggle small{font-size:9px;color:var(--muted)}#creditOpeningBalance[hidden]{display:none}#creditOpeningBalance .functional-field{margin:0}

.credit-advanced{border:1px solid var(--border);border-radius:8px;background:var(--surface-2)}.credit-advanced summary{padding:13px 14px;font-size:10px;font-weight:800;cursor:pointer}.credit-advanced>div{padding:0 14px 14px}.credit-late-alert{display:flex;gap:10px;margin:13px 0;padding:11px;border:1px solid #efc47c;border-radius:8px;background:#fff8ea;color:#9a5b00}.credit-late-alert>span{display:flex;flex-direction:column;gap:3px}.credit-late-alert strong{font-size:10px}.credit-late-alert small{font-size:8px}.credit-late-detail{margin:18px 0;padding:15px;border:1px solid #efc47c;border-radius:8px;background:#fff8ea}.credit-late-detail header{display:flex;align-items:center;gap:9px;color:#9a5b00}.credit-late-detail header div{display:flex;flex-direction:column}.credit-late-detail header small{font-size:9px}.credit-late-detail>div{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:12px}.credit-late-detail>div span{display:flex;flex-direction:column;padding:9px;background:rgba(255,255,255,.6);border-radius:6px;font-size:8px;color:#7d6641}.credit-late-detail>div strong{margin-top:4px;font-size:11px;color:#5f3b00}.credit-late-detail p{margin:10px 0 0;font-size:8px;color:#7d6641}
.credit-data em{display:block;margin-top:3px;color:var(--muted);font-size:8px;font-style:normal}.credit-late-detail em{font-size:7px;font-style:normal}@media(max-width:760px){.credit-late-detail>div{grid-template-columns:1fr 1fr}}

.cycle-row-actions{display:flex;align-items:center;justify-content:flex-end;gap:6px}.mini-settle{min-height:30px;padding:0 9px;border:1px solid #9dd8bd;border-radius:7px;background:#eaf8f1;color:#168257;font-size:9px;font-weight:800;cursor:pointer}.mini-settle i{margin-right:5px}.mini-settle:hover{background:#d8f1e5}

.attention-panel{border-left:4px solid var(--primary)}.attention-panel .panel-header h2 i{margin-right:7px;color:var(--primary)}.attention-list{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-top:15px}.attention-item{display:flex;align-items:center;gap:11px;min-height:68px;padding:11px 12px;border:1px solid var(--border);border-radius:8px;background:var(--surface-2)}.attention-item>div{display:flex;flex:1;min-width:0;flex-direction:column;gap:3px}.attention-item strong{font-size:10px}.attention-item small{font-size:9px;color:var(--muted)}.attention-item .btn{min-height:34px;padding:7px 10px;font-size:9px}.attention-icon{width:36px;height:36px;flex:0 0 auto;display:grid;place-items:center;border-radius:8px;background:var(--primary-soft);color:var(--primary)}.attention-item.gasto .attention-icon,.attention-item.urgent .attention-icon{background:#fbeceb;color:#c45656}.attention-empty{grid-column:1/-1;display:flex;align-items:center;justify-content:center;gap:11px;padding:24px;color:var(--primary)}.attention-empty i{font-size:24px}.attention-empty div{display:flex;flex-direction:column}.attention-empty small{color:var(--muted);margin-top:3px}.quick{min-height:72px;text-align:left}.quick strong{font-size:11px}.quick small{font-size:9px}@media(max-width:900px){.attention-list{grid-template-columns:1fr}}@media(max-width:600px){.attention-item{align-items:flex-start;flex-wrap:wrap}.attention-item .btn{width:100%}.metric-card>strong{font-size:20px}}
/* Login compacto cuando la ventana tiene poca altura */
@media (min-width:901px) and (max-height:900px){
  .loginHero{padding-top:22px;padding-bottom:58px;justify-content:flex-start}
  .loginBrandMini{position:relative;top:auto;left:auto;flex:0 0 auto}
  .loginHeroContent{margin:22px 0 0;padding:0 0 48px;transform:none}
  .loginHero h1{margin:20px 0 14px;font-size:clamp(40px,4.1vw,58px);line-height:1.05}
  .loginHeroContent>p{font-size:1rem;line-height:1.5}
  .loginStats{margin-top:25px;gap:22px}
  .loginStats strong{font-size:1.35rem}.loginStats span{font-size:.8rem;margin-top:4px}
  .loginPanel{min-height:calc(100vh - 70px);padding:82px 28px 58px}
  .loginCard{padding:27px 32px 25px}.loginCardHead{margin-bottom:21px}
  .loginField{margin-bottom:14px}.loginMeta{margin-bottom:14px}
  .loginFooter{min-height:42px;padding:7px 0 9px;font-size:12px}
}
@media (min-width:901px) and (max-height:700px){
  .loginHeroContent{margin:16px 0 0;padding-bottom:42px}
  .loginHero h1{font-size:40px;margin:15px 0 10px}
  .loginHeroContent>p{font-size:.9rem;line-height:1.4}
  .loginStats{display:none}
  .loginPanel{padding-top:68px;padding-bottom:48px}
  .loginCard{padding-top:22px;padding-bottom:20px}
}