: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;gap:14px}.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:1200;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;align-items:stretch;gap:17px}.profile-layout>article{height:100%;margin-bottom:0}.profile-summary-panel{grid-row:auto}.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}
}



/* Interfaz funcional del sistema */
.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)}
.cycle-list-command .search{margin-right:auto}.list-pagination{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:16px;padding:12px 15px;background:var(--surface);border:1px solid var(--border);border-radius:12px;box-shadow:var(--shadow)}.list-pagination>span{color:var(--muted);font-size:10px;font-weight:700}.list-pagination>div{display:flex;align-items:center;gap:10px}.list-pagination>div>span{min-width:92px;text-align:center;color:var(--muted);font-size:10px;font-weight:700}.list-pagination button{min-height:36px;padding:0 12px;border:1px solid var(--border);border-radius:9px;background:var(--surface);color:var(--text);font-size:10px;font-weight:800;cursor:pointer}.list-pagination button:not(:disabled):hover{border-color:var(--primary);color:var(--primary);background:var(--primary-soft)}.list-pagination button:disabled{opacity:.42;cursor:not-allowed}.cycle-export-actions{flex-wrap:nowrap!important}.btn-export-pdf,.btn-export-excel{background:var(--surface);border:1px solid var(--border)}.btn-export-pdf{color:#cf4c52}.btn-export-excel{color:#27865a}.btn-export-pdf:hover{background:#fff1f1;border-color:#efb9bc}.btn-export-excel:hover{background:#ecf8f1;border-color:#acd8bf}.export-scope-form{display:flex;flex-direction:column;gap:10px}.export-scope-form>label{display:flex;align-items:flex-start;gap:11px;padding:13px;border:1px solid var(--border);border-radius:11px;cursor:pointer}.export-scope-form>label:has(input:checked){border-color:var(--primary);background:var(--primary-soft)}.export-scope-form>label>input{margin-top:3px;accent-color:var(--primary)}.export-scope-form>label>span{display:flex;flex-direction:column;gap:3px}.export-scope-form>label strong{font-size:11px}.export-scope-form>label small{color:var(--muted);font-size:9px}.export-range{display:grid;grid-template-columns:1fr 1fr;gap:12px;padding:0 13px}.export-range .functional-field{margin:0}
.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!important;inset:0!important;display:none;place-items:center;padding:20px;margin:0!important;z-index:5000!important}.functional-modal.open{display:grid}.functional-backdrop{position:absolute;inset:0;background:rgba(8,20,31,.62);backdrop-filter:blur(3px)}.functional-dialog{position:relative;width:min(720px,100%);max-height:calc(100dvh - 40px);margin:0;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}.cycle-list-command .search{width:100%;min-width:0}.cycle-list-command .segmented{width:100%;flex-wrap:nowrap}.cycle-list-command .segmented button{flex:1}.cycle-export-actions{display:grid!important;grid-template-columns:1fr 1fr}.cycle-export-actions #btnNewCycle{grid-column:1/-1}.list-pagination{align-items:stretch;flex-direction:column}.list-pagination>span{text-align:center}.list-pagination>div{justify-content:space-between}.list-pagination button{flex:1}.functional-form{grid-template-columns:1fr}.simulation-summary{grid-template-columns:1fr}.home-quick{grid-template-columns:1fr}.functional-modal{padding:9px}.functional-dialog{width:100%;margin:0;max-height:calc(100dvh - 18px)}}
@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:var(--surface);color:var(--text);border-right:1px solid var(--border);
  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:var(--primary);color:#fff}
.sidebar-help{margin-top:auto;padding:10px 0;border-top:1px solid var(--border);display:flex;justify-content:center}
.sidebar-actions{padding:8px 0;border-top:1px solid var(--border);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:var(--surface);border-bottom:1px solid var(--border);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-export-actions{display:flex;align-items:center;gap:10px}.credit-controlbar .search{margin-right:auto}.credit-controlbar>.btn{white-space:nowrap}.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-controlbar>.btn{width:100%}.credit-controlbar .segmented{width:100%;overflow-x:auto}.credit-controlbar .segmented button{flex:1}.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{display:grid;grid-template-columns:minmax(210px,.32fr) minmax(0,1fr);align-items:center;gap:28px;margin-bottom:16px;padding:20px}.business-settings .panel-header{margin:0}.business-settings .panel-header h2{margin-bottom:4px}.settings-inline-form{display:grid;grid-template-columns:minmax(260px,1.25fr) minmax(210px,.7fr) auto;gap:12px;align-items:end;margin:0}.settings-inline-form label{display:flex;flex-direction:column;gap:6px}.settings-inline-form label span{font-size:9px;font-weight:800}.settings-inline-form .btn{min-height:42px;white-space:nowrap}.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){.business-settings{grid-template-columns:1fr;gap:16px}.settings-inline-form{grid-template-columns:1fr 1fr}.settings-inline-form .btn{grid-column:1/-1;justify-self:end}.catalog-grid{grid-template-columns:1fr}}
@media(max-width:600px){.business-settings{padding:16px}.settings-inline-form{grid-template-columns:1fr}.settings-inline-form .btn{grid-column:auto;width:100%}}

/* 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}}

/* Dashboard compartido con la familia Click Derecho */
:root{--sidebar-open:248px;--sidebar-closed:76px;--navbar-height:64px}
.dashboard-layout .sidebar{position:fixed;top:0;left:0;bottom:0;width:var(--sidebar-open);padding:0;background:var(--surface);color:var(--text);border-right:1px solid var(--border);z-index:1040;display:flex;flex-direction:column;transform:none!important;transition:width .18s ease}
.dashboard-layout .sidebar.collapsed{width:var(--sidebar-closed)}
.dashboard-layout .sidebar-brand{display:flex;align-items:center;gap:12px;min-height:var(--navbar-height);height:var(--navbar-height);padding:0 16px;border-bottom:1px solid var(--border);font-weight:900}
.dashboard-layout .collapse-btn{flex:0 0 42px;width:42px;height:42px;border:0;border-radius:8px;color:var(--primary);background:var(--primary-soft);cursor:pointer}
.dashboard-layout .sidebar-nav{display:grid;align-items:stretch;gap:6px;margin:0;padding:16px 12px}
.dashboard-layout .sidebar-nav a,.dashboard-layout .sidebar-actions a,.dashboard-layout .sidebar-actions button{position:relative;width:100%;display:flex;align-items:center;gap:12px;min-height:44px;padding:0 12px;border:0;border-radius:8px;background:transparent;color:var(--text);font-weight:800;cursor:pointer}
.dashboard-layout .sidebar-nav a i,.dashboard-layout .sidebar-actions a i,.dashboard-layout .sidebar-actions button i{width:22px;text-align:center;color:var(--primary)}
.dashboard-layout .sidebar-nav a:hover,.dashboard-layout .sidebar-actions a:hover,.dashboard-layout .sidebar-actions button:hover{background:var(--primary-soft);color:var(--primary-dark)}
.dashboard-layout .sidebar-nav a.active{background:var(--primary);color:#fff}
.dashboard-layout .sidebar-nav a.active i{color:#fff}
.dashboard-layout .sidebar-actions{position:absolute;left:12px;right:12px;bottom:16px;display:grid;align-items:stretch;gap:6px;padding:8px 0 0;border-top:1px solid var(--border)}
.dashboard-layout .sidebar.collapsed span{display:none}
.dashboard-layout .sidebar.collapsed .sidebar-brand{justify-content:center;padding:0}
.dashboard-layout .sidebar.collapsed .sidebar-nav a,.dashboard-layout .sidebar.collapsed .sidebar-actions a,.dashboard-layout .sidebar.collapsed .sidebar-actions button{justify-content:center;padding:0}
.dashboard-layout .navbar-family{position:fixed;top:0;left:var(--sidebar-open);right:0;height:var(--navbar-height);padding:0 20px;background:var(--surface);border-bottom:1px solid var(--border);z-index:1030;display:flex;align-items:center;transition:left .18s ease}
.dashboard-layout .navbar-family.collapsed{left:var(--sidebar-closed)}
.dashboard-layout .navbar-brand-family{display:flex;align-items:center;gap:10px;font-weight:900;min-width:0}
.dashboard-layout .navbar-brand-family img{height:48px;width:auto;max-width:145px;object-fit:contain}
.dashboard-layout .navbar-brand-family strong{font-size:16px;color:var(--text)}
.content.app-main{min-width:0;min-height:100vh;margin-left:var(--sidebar-open);padding:calc(var(--navbar-height) + 24px) 24px 24px;background:var(--bg);transition:margin-left .18s ease}
.content.app-main.collapsed{margin-left:var(--sidebar-closed)}
@media(max-width:768px){
  :root{--sidebar-open:220px;--sidebar-closed:64px}
  .dashboard-layout .sidebar.collapsed{width:var(--sidebar-closed)}
  .dashboard-layout .sidebar:not(.collapsed){width:var(--sidebar-open);z-index:1200;box-shadow:14px 0 28px rgba(15,23,42,.18)}
  .dashboard-layout .sidebar:not(.collapsed) .sidebar-nav span,.dashboard-layout .sidebar:not(.collapsed) .sidebar-actions span{display:inline}
  .dashboard-layout .sidebar:not(.collapsed) .sidebar-nav a,.dashboard-layout .sidebar:not(.collapsed) .sidebar-actions a,.dashboard-layout .sidebar:not(.collapsed) .sidebar-actions button{justify-content:flex-start}
  .dashboard-layout .navbar-family,.dashboard-layout .navbar-family.collapsed{left:var(--sidebar-closed);padding:0 12px}
  .content.app-main,.content.app-main.collapsed{margin-left:var(--sidebar-closed);padding:calc(var(--navbar-height) + 14px) 12px 24px}
  .dashboard-layout .navbar-brand-family img{height:40px;max-width:126px}
  .dashboard-layout .navbar-brand-family strong{font-size:13px}
  .dashboard-layout .profile-copy{display:none}
  .dashboard-layout .profile-button{gap:5px}
  .sidebar [data-tooltip]:hover:after{display:none!important}
}
@media(max-width:380px){
  .dashboard-layout .navbar-family,.dashboard-layout .navbar-family.collapsed{padding:0 9px}
  .dashboard-layout .navbar-brand-family{gap:6px}
  .dashboard-layout .navbar-brand-family img{height:36px;max-width:110px}
  .dashboard-layout .navbar-brand-family strong{font-size:12px}
}
/* Perfil responsive sobre el dashboard compartido */
@media(min-width:769px) and (max-width:1100px){.profile-layout{grid-template-columns:1fr}.profile-summary-panel,.profile-form-panel{width:100%}}
@media(max-width:768px){.module-shell{margin-bottom:12px}.family-header{align-items:flex-start}.module-title{gap:10px}.module-title h1{font-size:20px}.module-icon{flex:0 0 40px;width:40px;height:40px}.profile-layout{display:grid;grid-template-columns:1fr;gap:12px}.profile-summary-panel,.profile-form-panel{width:100%;height:auto;padding:14px;margin:0}.profile-summary-main{align-items:center;gap:12px;padding-bottom:14px}.profile-photo-preview{flex:0 0 64px;width:64px;height:64px;border-radius:14px;font-size:21px}.profile-summary-copy h2{font-size:17px}.profile-info-grid{grid-template-columns:1fr;gap:8px;margin-top:13px}.profile-info-item,.profile-info-item.wide{grid-column:auto;padding:10px}.family-form{grid-template-columns:1fr;gap:11px;margin-top:14px}.family-form label,.family-form label:first-child,.form-actions{grid-column:auto}.form-actions .btn{width:100%}}
/* Resumen responsive */
.attention-list{display:grid;gap:10px;margin-top:16px}.attention-item{display:grid;grid-template-columns:42px minmax(0,1fr) auto;align-items:center;gap:12px;padding:12px 14px;border:1px solid var(--border);border-radius:9px;background:var(--surface-2)}.attention-icon{display:grid;place-items:center;width:42px;height:42px;border-radius:9px;background:var(--primary-soft);color:var(--primary)}.attention-item>div{display:flex;min-width:0;flex-direction:column;gap:4px}.attention-item strong{font-size:11px}.attention-item small{color:var(--muted);font-size:9px}.attention-empty{display:flex;align-items:center;gap:12px;padding:13px;border:1px solid var(--border);border-radius:9px;background:var(--surface-2)}.attention-empty>i{color:var(--primary);font-size:19px}.attention-empty>div{display:flex;flex-direction:column;gap:3px}.attention-empty strong{font-size:11px}.attention-empty small{font-size:9px;color:var(--muted)}
@media(min-width:769px) and (max-width:1100px){#homeMetrics{grid-template-columns:repeat(2,minmax(0,1fr))}.home-cycles .cycle-card{align-items:flex-start}}
@media(max-width:768px){#homeMetrics{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin-bottom:12px}#homeMetrics .metric-card{min-width:0;padding:14px}#homeMetrics .metric-top{gap:6px;font-size:9px}#homeMetrics .metric-top span{min-width:0}#homeMetrics .metric-card>strong{font-size:17px;overflow-wrap:anywhere}#homeMetrics .metric-card>small{font-size:8px;line-height:1.35}#homeMetrics .trend{margin-top:9px;font-size:8px}.attention-panel,.content.app-main>section.panel{padding:14px;margin-bottom:12px}.content.app-main>section.table-panel{padding:0}.panel-header{display:flex;align-items:flex-start;flex-direction:row;gap:10px}.panel-header>div{min-width:0}.panel-header h2{font-size:14px}.panel-header .link-button{flex:0 0 auto;white-space:nowrap}.attention-list{margin-top:12px}.attention-item{grid-template-columns:38px minmax(0,1fr);gap:10px;padding:11px}.attention-icon{width:38px;height:38px}.attention-item>.btn{grid-column:1/-1;width:100%}.home-cycles{gap:10px;margin-top:13px}.home-cycles .cycle-card{display:grid;grid-template-columns:38px minmax(0,1fr) auto;align-items:start;gap:10px;padding:12px}.home-cycles .cycle-icon{width:38px;height:38px}.home-cycles .cycle-main{min-width:0}.home-cycles .card-actions{align-self:start}.home-cycles .cycle-title-row{gap:7px}.home-cycles .cycle-title-row>div{min-width:0}.home-cycles .cycle-title-row h3{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.home-cycles .cycle-numbers{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.home-cycles .cycle-numbers strong{font-size:9px;overflow-wrap:anywhere}.content.app-main>section.table-panel .panel-header{padding:14px}.content.app-main>section.table-panel .table-wrap{overflow:visible;padding:0 12px 12px}.content.app-main>section.table-panel table{display:block;min-width:0}.content.app-main>section.table-panel thead{display:none}.content.app-main>section.table-panel tbody{display:grid;gap:9px}.content.app-main>section.table-panel tr{display:grid;grid-template-columns:1fr auto;gap:7px 12px;padding:12px;border:1px solid var(--border);border-radius:9px;background:var(--surface-2)}.content.app-main>section.table-panel td{display:block;padding:0;border:0;font-size:9px;text-align:left}.content.app-main>section.table-panel td:nth-child(1){grid-column:2;grid-row:1;color:var(--muted)}.content.app-main>section.table-panel td:nth-child(2){grid-column:1;grid-row:1}.content.app-main>section.table-panel td:nth-child(3),.content.app-main>section.table-panel td:nth-child(4),.content.app-main>section.table-panel td:nth-child(5){grid-column:1/-1;color:var(--muted)}.content.app-main>section.table-panel td:nth-child(3):before{content:'Categoría: ';font-weight:800}.content.app-main>section.table-panel td:nth-child(4):before{content:'Ciclo: ';font-weight:800}.content.app-main>section.table-panel td:nth-child(5):before{content:'Cliente / proveedor: ';font-weight:800}.content.app-main>section.table-panel td:nth-child(6){grid-column:1}.content.app-main>section.table-panel td:nth-child(7){grid-column:2;text-align:right}.content.app-main>section.table-panel td:nth-child(8){grid-column:1;font-size:12px}.content.app-main>section.table-panel td:nth-child(9){grid-column:2;grid-row:5/7;align-self:end}.content.app-main>section.table-panel .table-actions{justify-content:flex-end}}
@media(max-width:420px){#homeMetrics{grid-template-columns:1fr 1fr}#homeMetrics .metric-card>strong{font-size:15px}.home-cycles .cycle-card{grid-template-columns:34px minmax(0,1fr) auto}.home-cycles .cycle-icon{width:34px;height:34px}.home-cycles .cycle-numbers{grid-template-columns:1fr}.home-cycles .cycle-numbers span{display:grid;grid-template-columns:1fr auto;align-items:center}.panel-header h2{font-size:13px}.panel-header p{font-size:9px}}
/* Ciclos responsive */
@media(min-width:769px) and (max-width:1100px){#cycleMetrics{grid-template-columns:repeat(2,minmax(0,1fr))}.cycle-list-command{display:grid;grid-template-columns:minmax(240px,1fr) auto;gap:10px}.cycle-list-command .cycle-export-actions{grid-column:1/-1;justify-content:flex-end}.cycle-detail-metrics{grid-template-columns:repeat(3,minmax(0,1fr))}.cycle-quick-form{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:768px){#cycleMetrics{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin-bottom:12px}#cycleMetrics .metric-card{min-width:0;padding:14px}#cycleMetrics .metric-top{gap:6px;font-size:9px}#cycleMetrics .metric-card>strong{font-size:17px;overflow-wrap:anywhere}#cycleMetrics .metric-card>small{font-size:8px;line-height:1.35}#cycleMetrics .trend{margin-top:9px;font-size:8px}.cycle-list-command{display:grid;grid-template-columns:1fr;gap:9px;margin-bottom:12px}.cycle-list-command .search,.cycle-list-command .segmented,.cycle-list-command .cycle-export-actions{width:100%;margin:0}.cycle-list-command .segmented{display:grid;grid-template-columns:repeat(3,1fr)}.cycle-list-command .segmented button{padding-inline:7px}.cycle-export-actions{display:grid!important;grid-template-columns:1fr 1fr;gap:9px}.cycle-export-actions .btn{width:100%}.cycle-export-actions #btnNewCycle{grid-column:1/-1;grid-row:1}.cycle-export-actions #btnCyclesPdf{grid-column:1;grid-row:2}.cycle-export-actions #btnCyclesExcel{grid-column:2;grid-row:2}#cyclesList{gap:10px}#cyclesList .cycle-card{display:grid;grid-template-columns:40px minmax(0,1fr) auto;align-items:start;gap:10px;padding:13px}#cyclesList .cycle-icon{width:40px;height:40px}#cyclesList .cycle-main{min-width:0}#cyclesList .cycle-title-row{gap:7px}#cyclesList .cycle-title-row>div{min-width:0}#cyclesList .cycle-title-row h3{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}#cyclesList .cycle-numbers{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}#cyclesList .cycle-numbers strong{font-size:9px;overflow-wrap:anywhere}#cyclesList .card-actions{display:flex;align-self:start}.list-pagination{gap:10px;padding:11px}.list-pagination>div{display:grid;grid-template-columns:1fr auto 1fr;width:100%;gap:7px}.list-pagination>div>span{min-width:0}.list-pagination button{min-width:0;padding:0 8px}.cycle-detail-dialog{width:calc(100vw - 18px);max-height:calc(100dvh - 18px);margin:9px auto}.cycle-detail-dialog>header{padding:14px}.cycle-detail-dialog .functional-body{padding:12px}.cycle-detail-dialog>footer{padding:11px}.cycle-detail-hero{grid-template-columns:40px minmax(0,1fr);gap:10px;padding:12px}.cycle-detail-icon{width:40px;height:40px}.cycle-detail-copy{min-width:0;grid-template-columns:1fr auto}.cycle-detail-copy>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cycle-detail-actions{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;width:100%}.cycle-detail-actions .btn{width:100%;padding-inline:8px}.cycle-detail-metrics{grid-template-columns:1fr 1fr;gap:8px;margin:10px 0}.cycle-detail-metrics>div{min-width:0;padding:10px}.cycle-detail-metrics>div:last-child{grid-column:1/-1}.cycle-detail-metrics strong{font-size:13px;overflow-wrap:anywhere}.cycle-detail-toolbar{align-items:stretch;flex-direction:column;gap:9px;margin:13px 0 9px}.cycle-detail-toolbar>div:last-child{display:grid;grid-template-columns:1fr 1fr}.cycle-detail-toolbar .btn{width:100%;padding-inline:8px}.cycle-quick-form{grid-template-columns:1fr;padding:12px}.cycle-quick-actions{display:grid;grid-template-columns:1fr 1fr}.cycle-quick-actions .btn{width:100%}.cycle-detail-table{max-height:none;overflow:visible;border:0}.cycle-detail-table table{display:block;min-width:0}.cycle-detail-table thead{display:none}.cycle-detail-table tbody{display:grid;gap:8px}.cycle-detail-table tr{display:grid;grid-template-columns:1fr auto;gap:6px 10px;padding:11px;border:1px solid var(--border);border-radius:9px;background:var(--surface-2)}.cycle-detail-table td{display:block;padding:0;border:0;font-size:9px}.cycle-detail-table td:nth-child(1){grid-column:2;grid-row:1;color:var(--muted)}.cycle-detail-table td:nth-child(2){grid-column:1;grid-row:1}.cycle-detail-table td:nth-child(3){grid-column:1/-1;color:var(--muted)}.cycle-detail-table td:nth-child(3):before{content:'Categoría: ';font-weight:800}.cycle-detail-table td:nth-child(4){grid-column:1}.cycle-detail-table td:nth-child(5){grid-column:2;text-align:right}.cycle-detail-table td:nth-child(6){grid-column:1;font-size:12px;text-align:left}.cycle-detail-table td:nth-child(7){grid-column:2;grid-row:3/5;align-self:end}.cycle-row-actions{display:flex;justify-content:flex-end;gap:6px}.mini-settle span{display:none}.functional-dialog:not(.cycle-detail-dialog){width:calc(100vw - 18px);max-height:calc(100dvh - 18px);margin:9px auto}.functional-dialog:not(.cycle-detail-dialog)>header{padding:14px}.functional-dialog:not(.cycle-detail-dialog) .functional-body{padding:14px}.functional-dialog:not(.cycle-detail-dialog)>footer{padding:11px}.functional-dialog:not(.cycle-detail-dialog)>footer .btn{flex:1}}
@media(max-width:420px){#cycleMetrics .metric-card>strong{font-size:15px}#cyclesList .cycle-card{grid-template-columns:35px minmax(0,1fr) auto}#cyclesList .cycle-icon{width:35px;height:35px}#cyclesList .cycle-numbers{grid-template-columns:1fr}#cyclesList .cycle-numbers span{display:grid;grid-template-columns:1fr auto;align-items:center}.cycle-detail-actions,.cycle-detail-toolbar>div:last-child,.cycle-quick-actions{grid-template-columns:1fr}.list-pagination button{font-size:0}.list-pagination button i{font-size:10px}.list-pagination #cycleNextPage i{margin-left:0}}
@media(max-width:768px){.cycle-list-command .search{display:flex;align-items:center;flex-wrap:nowrap!important;gap:10px;padding:0 13px}.cycle-list-command .search i{flex:0 0 auto}.cycle-list-command .search input{min-width:0;width:100%;height:100%;padding:0}}

/* Clientes y proveedores: filas y paginación */
.contact-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.contact-grid{grid-template-columns:1fr;gap:11px}.contact-card{display:grid;grid-template-columns:46px minmax(0,1fr) auto;align-items:start;gap:14px;padding:15px 18px;border-left:4px solid var(--primary)}.contact-card .contact-avatar{width:46px;height:46px}.contact-main{min-width:0}.contact-title-row h2{font-size:13px;margin:4px 0 0}.contact-data{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:12px 0 0;padding-top:12px;border-top:1px solid var(--border)}.contact-data>span{display:flex;flex-direction:column;gap:3px}.contact-data>span>i{display:none}.contact-data strong{font-size:9px}.contact-card>.card-actions{display:flex;gap:7px;align-self:start}
@media(max-width:768px){.contact-summary{grid-template-columns:1fr 1fr;gap:9px}.contact-summary .metric-card{min-width:0;padding:14px}.contact-summary .metric-card>strong{font-size:17px}.contact-summary .metric-card>small{font-size:8px;line-height:1.35}.contact-toolbar{display:grid;grid-template-columns:1fr;gap:9px;padding:12px;margin-bottom:12px}.contact-toolbar>.search{display:flex;align-items:center;flex-wrap:nowrap!important;width:100%;min-width:0;margin:0}.contact-toolbar>.search input{min-width:0}.contact-toolbar>.segmented{display:grid;grid-template-columns:repeat(3,1fr);width:100%}.contact-toolbar>.segmented button{padding-inline:6px}.contact-toolbar>.btn{grid-row:2;width:100%}.contact-grid{gap:9px}.contact-card{grid-template-columns:40px minmax(0,1fr) auto;gap:10px;padding:12px}.contact-card .contact-avatar{width:40px;height:40px}.contact-title-row h2{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.contact-data{grid-template-columns:1fr;gap:7px;margin-top:10px;padding-top:10px}.contact-data>span{display:grid;grid-template-columns:1fr auto;align-items:center}.contact-data strong{text-align:right;max-width:160px}.contact-card>.card-actions{gap:5px}}
@media(max-width:420px){.contact-summary .metric-card>strong{font-size:15px}.contact-card{grid-template-columns:35px minmax(0,1fr) auto}.contact-card .contact-avatar{width:35px;height:35px}.contact-data strong{max-width:125px;overflow:hidden;text-overflow:ellipsis}.contact-dialog .functional-form{grid-template-columns:1fr}.contact-dialog .functional-span-2{grid-column:auto}}
/* Créditos responsive y agenda */
.credit-upcoming-featured{display:flex;align-items:center;gap:12px}.credit-upcoming-copy{display:flex;min-width:0;flex:1;flex-direction:column;gap:3px}.credit-upcoming-copy strong,.credit-upcoming-copy small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.credit-upcoming-next{display:grid;gap:6px;flex:1}.credit-upcoming-next>p{margin:0 0 2px;font-size:9px;font-weight:800;text-transform:uppercase;color:var(--muted)}.credit-upcoming-row{display:grid;grid-template-columns:1fr auto 12px;align-items:center;gap:10px;width:100%;padding:8px 10px;border:1px solid var(--border);border-left:3px solid var(--primary);border-radius:7px;background:var(--surface-2);color:var(--text);text-align:left;cursor:pointer}.credit-upcoming-row>span{display:flex;min-width:0;flex-direction:column}.credit-upcoming-row>span:nth-child(2){text-align:right}.credit-upcoming-row small{font-size:7px}.credit-upcoming-row strong{font-size:9px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.credit-upcoming-all{margin-left:auto;white-space:nowrap}.credit-upcoming-all>span{display:inline-grid;place-items:center;min-width:20px;height:20px;border-radius:99px;background:var(--surface);color:var(--primary)}.credit-agenda-dialog{width:min(900px,calc(100vw - 30px))}.credit-agenda-toolbar{display:flex;align-items:center;gap:10px}.credit-agenda-toolbar .search{margin-right:auto}.credit-agenda-summary{display:flex;align-items:baseline;gap:7px;margin:14px 0;padding:12px 14px;border-radius:8px;background:var(--primary-soft)}.credit-agenda-summary strong{font-size:20px;color:var(--primary)}.credit-agenda-summary span{font-size:9px;color:var(--muted)}.credit-agenda-list{display:grid;gap:8px}.credit-agenda-item{display:grid;grid-template-columns:150px minmax(0,1fr) auto auto;align-items:center;gap:12px;padding:12px;border:1px solid var(--border);border-left:4px solid var(--primary);border-radius:8px;background:var(--surface-2)}.credit-agenda-date,.credit-agenda-credit{display:flex;min-width:0;flex-direction:column;gap:3px}.credit-agenda-item small{font-size:8px;color:var(--muted)}.credit-agenda-item strong{font-size:10px}.credit-agenda-credit em{font-size:8px;color:var(--muted);font-style:normal}.credit-agenda-amount{white-space:nowrap}.credit-commitments{display:grid;gap:8px}.credit-commitment{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px 12px;border:1px solid var(--border);border-radius:8px;background:var(--surface-2)}.credit-commitment>span{display:grid;grid-template-columns:auto auto 1fr;align-items:center;gap:10px}.credit-commitment small{color:var(--muted);font-size:8px}.credit-commitment strong{font-size:11px}.credit-commitment em{color:var(--muted);font-size:8px;font-style:normal}.credit-commitment>div{display:flex;align-items:center;gap:7px}.credit-notes{margin-top:14px;padding:12px;border:1px solid var(--border);border-radius:8px;background:var(--surface-2)}.credit-notes strong{font-size:10px}.credit-notes p{margin:5px 0 0;color:var(--muted);font-size:9px;line-height:1.5}
@media(min-width:769px) and (max-width:1100px){#creditSummary{grid-template-columns:repeat(2,minmax(0,1fr))}.credit-controlbar{display:grid;grid-template-columns:minmax(220px,1fr) auto}.credit-export-actions{grid-column:1/-1;display:flex;justify-content:flex-end}.credit-upcoming{align-items:stretch;flex-direction:column}.credit-upcoming-all{width:100%;margin-left:0}}
@media(max-width:768px){#creditSummary{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin-bottom:12px}#creditSummary .metric-card{min-width:0;padding:14px}#creditSummary .metric-top{gap:6px;font-size:9px}#creditSummary .metric-card>strong{font-size:17px;overflow-wrap:anywhere}#creditSummary .metric-card>small{font-size:8px;line-height:1.35}.credit-upcoming{display:grid;gap:10px;padding:12px;margin-bottom:12px}.credit-upcoming-featured{display:grid;grid-template-columns:40px minmax(0,1fr);align-items:start;gap:10px}.credit-upcoming-icon{width:40px;height:40px}.credit-upcoming-copy strong,.credit-upcoming-copy small{white-space:normal}.credit-upcoming-featured>.btn{grid-column:1/-1;width:100%;margin:0}.credit-upcoming-next{width:100%}.credit-upcoming-row{grid-template-columns:minmax(0,1fr) auto 10px;gap:7px}.credit-upcoming-all{width:100%;margin:0;white-space:normal}.credit-upcoming-empty{display:grid!important;grid-template-columns:38px minmax(0,1fr);width:100%}.credit-controlbar{display:grid;grid-template-columns:1fr;gap:9px;margin-bottom:12px}.credit-controlbar .search{display:flex;align-items:center;flex-wrap:nowrap!important;width:100%;min-width:0;margin:0}.credit-controlbar .search input{min-width:0}.credit-controlbar .segmented{display:grid;grid-template-columns:repeat(4,1fr);width:100%;overflow:visible}.credit-controlbar .segmented button{min-width:0;padding-inline:4px;font-size:9px}.credit-export-actions{display:grid;grid-template-columns:1fr 1fr;gap:9px}.credit-export-actions .btn{width:100%}.credit-export-actions #btnNewCredit{grid-column:1/-1;grid-row:1}.credit-export-actions #btnCreditsPdf{grid-column:1;grid-row:2}.credit-export-actions #btnCreditsExcel{grid-column:2;grid-row:2}#creditsList{gap:10px}#creditsList .credit-card{padding:13px}#creditsList .credit-head{align-items:flex-start;gap:10px}#creditsList .bank-icon{width:38px;height:38px;flex:0 0 38px}#creditsList .credit-head>div:nth-child(2){min-width:0}#creditsList .credit-head h2,#creditsList .credit-head p{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}#creditsList .debt-main{margin-top:13px}#creditsList .debt-main strong{font-size:21px}#creditsList .debt-main small{line-height:1.4}#creditsList .credit-data{grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;margin:11px 0;padding:10px 0}#creditsList .credit-data strong,#creditsList .credit-data em{font-size:8px;overflow-wrap:anywhere}#creditsList .credit-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px}#creditsList .credit-actions .btn{width:100%}.credit-detail-dialog,.credit-agenda-dialog{width:calc(100vw - 18px);max-height:calc(100dvh - 18px);margin:9px auto}.credit-detail-dialog>header,.credit-agenda-dialog>header{padding:14px}.credit-detail-dialog .functional-body,.credit-agenda-dialog .functional-body{padding:12px}.credit-detail-dialog>footer,.credit-agenda-dialog>footer{padding:11px}.credit-detail-hero{gap:10px}.credit-detail-hero>div{min-width:0}.credit-detail-hero strong{font-size:22px}.credit-detail-hero small{line-height:1.4}.credit-detail-metrics{grid-template-columns:1fr 1fr;gap:8px;margin:12px 0}.credit-detail-metrics span{min-width:0;padding:10px}.credit-detail-metrics strong{font-size:11px;overflow-wrap:anywhere}.credit-history-title{align-items:stretch;flex-direction:column;gap:9px;margin:15px 0 9px}.credit-history-title .btn{width:100%}.credit-history-table{max-height:none;overflow:visible;border:0}.credit-history-table table{display:block;min-width:0}.credit-history-table thead{display:none}.credit-history-table tbody{display:grid;gap:8px}.credit-history-table tr{display:grid;grid-template-columns:1fr 1fr auto;gap:6px 9px;padding:11px;border:1px solid var(--border);border-radius:8px;background:var(--surface-2)}.credit-history-table td{display:flex;flex-direction:column;padding:0;border:0;font-size:9px;text-align:left}.credit-history-table td:nth-child(1){grid-column:1/-1}.credit-history-table td:nth-child(2):before{content:'Capital';color:var(--muted);font-size:7px}.credit-history-table td:nth-child(3):before{content:'Interés';color:var(--muted);font-size:7px}.credit-history-table td:nth-child(4):before{content:'Otros costos';color:var(--muted);font-size:7px}.credit-history-table td:nth-child(5):before{content:'Capitalizado';color:var(--muted);font-size:7px}.credit-history-table td:nth-child(6){grid-column:3;grid-row:2/4;align-self:end}.credit-commitment{align-items:stretch;flex-direction:column}.credit-commitment>span{grid-template-columns:1fr auto;gap:5px}.credit-commitment>span em{grid-column:1/-1}.credit-commitment>div{display:grid;grid-template-columns:1fr auto;width:100%}.credit-commitment .btn{width:100%}.credit-agenda-toolbar{align-items:stretch;flex-direction:column}.credit-agenda-toolbar .search{display:flex;flex-wrap:nowrap!important;width:100%;min-width:0;margin:0}.credit-agenda-toolbar .segmented{display:grid;grid-template-columns:repeat(2,1fr);width:100%}.credit-agenda-toolbar .segmented button{padding-inline:5px}.credit-agenda-item{grid-template-columns:1fr auto;gap:8px}.credit-agenda-date,.credit-agenda-credit{grid-column:1}.credit-agenda-amount{grid-column:2;grid-row:1/3}.credit-agenda-item>.btn{grid-column:1/-1;width:100%}.credit-agenda-pagination{margin-top:10px}}
@media(max-width:420px){#creditSummary .metric-card>strong{font-size:15px}#creditsList .credit-data{grid-template-columns:1fr}#creditsList .credit-data span{display:grid;grid-template-columns:1fr auto;align-items:center}#creditsList .credit-actions{grid-template-columns:1fr}.credit-detail-metrics{grid-template-columns:1fr 1fr}.credit-agenda-summary{align-items:flex-start;flex-direction:column}.credit-history-table tr{grid-template-columns:1fr 1fr auto}}
/* Estadísticas responsive */
.report-guide-toolbar{padding:18px 20px}.report-guide-heading{display:flex;align-items:center;justify-content:space-between;gap:20px}.report-guide-heading>div:first-child{display:flex;min-width:0;flex-direction:column;gap:4px}.report-guide-heading strong{font-size:16px}.report-guide-heading small{color:var(--muted);font-size:9px}.report-view-selector{flex:0 0 auto}.report-view-selector button{display:flex;align-items:center;gap:7px}.report-guide-fields{display:flex;align-items:flex-end;gap:12px;margin-top:16px;padding-top:16px;border-top:1px solid var(--border)}.report-guide-fields>label{display:flex;flex:1 1 180px;min-width:150px;flex-direction:column;gap:7px}.report-guide-fields>label>span{font-size:9px;font-weight:800}.report-guide-fields [hidden]{display:none!important}.report-toolbar-actions{display:flex;gap:8px;margin-left:auto}.report-context-banner{display:flex;align-items:flex-start;gap:12px;margin:0 0 14px;padding:14px 17px;border:1px solid var(--border);border-left:4px solid var(--primary);border-radius:9px;background:var(--surface)}.report-context-icon{display:grid;place-items:center;flex:0 0 40px;width:40px;height:40px;border-radius:9px;background:var(--primary-soft);color:var(--primary)}.report-context-banner>div{display:flex;min-width:0;flex-direction:column;gap:3px}.report-context-banner small{font-size:8px;font-weight:800;text-transform:uppercase;color:var(--primary)}.report-context-banner strong{font-size:14px}.report-context-banner p{margin:0;color:var(--muted);font-size:9px;line-height:1.45}.report-table-heading .search{margin-left:auto}
@media(min-width:769px) and (max-width:1100px){#reportSnapshot{grid-template-columns:repeat(2,minmax(0,1fr))}.report-guide-heading{align-items:flex-start;flex-direction:column}.report-view-selector{width:100%}.report-view-selector button{flex:1;justify-content:center}.report-guide-fields{flex-wrap:wrap}.report-guide-fields>label{flex:1 1 calc(33.333% - 12px)}.report-toolbar-actions{width:100%;justify-content:flex-end}.report-analysis-grid{grid-template-columns:1fr}}
@media(max-width:768px){.report-guide-toolbar{padding:13px;margin-bottom:12px}.report-guide-heading{align-items:stretch;flex-direction:column;gap:11px}.report-guide-heading strong{font-size:14px}.report-view-selector{display:grid;grid-template-columns:1fr;width:100%;gap:4px}.report-view-selector button{justify-content:flex-start;width:100%;padding:9px 10px}.report-guide-fields{display:grid;grid-template-columns:1fr;gap:9px;margin-top:12px;padding-top:12px}.report-guide-fields>label{width:100%;min-width:0}.report-toolbar-actions{display:grid;grid-template-columns:1fr 1fr;width:100%;margin:2px 0 0}.report-toolbar-actions .btn{width:100%}.report-toolbar-actions #reportClear{grid-column:1/-1}.report-context-banner{gap:10px;padding:12px;margin-bottom:12px}.report-context-icon{flex-basis:36px;width:36px;height:36px}.report-context-banner strong{font-size:12px}.report-context-banner p{font-size:8px}#reportSnapshot{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin-bottom:12px}#reportSnapshot .metric-card{min-width:0;padding:14px}#reportSnapshot .metric-top{gap:6px;font-size:9px}#reportSnapshot .metric-card>strong{font-size:17px;overflow-wrap:anywhere}#reportSnapshot .metric-card>small{font-size:8px;line-height:1.35}.report-analysis-grid{grid-template-columns:1fr;gap:12px}.report-analysis-grid>.panel{padding:14px;margin-bottom:0}.report-analysis-grid .panel-header{align-items:flex-start;flex-direction:row}.report-analysis-grid .soft-pill{flex:0 0 auto}.report-bars{gap:13px;margin-top:14px}.report-bar-row{grid-template-columns:1fr;gap:8px}.report-bar-track>span{height:19px}.report-category-chart{gap:12px;margin-top:14px}.report-category-row{grid-template-columns:7px minmax(0,1fr) auto;gap:7px}.report-category-row>strong{font-size:9px}.report-movement-panel{margin-top:12px}.report-table-heading{align-items:stretch!important;flex-direction:column!important;padding:14px!important}.report-table-heading .search{display:flex;align-items:center;flex-wrap:nowrap!important;width:100%;min-width:0;margin:0}.report-table-heading .search input{min-width:0}.report-movement-panel .table-wrap{overflow:visible;padding:0 12px}.report-movement-panel table{display:block;min-width:0}.report-movement-panel thead{display:none}.report-movement-panel tbody{display:grid;gap:9px}.report-movement-panel tr{display:grid;grid-template-columns:1fr auto;gap:6px 10px;padding:11px;border:1px solid var(--border);border-radius:9px;background:var(--surface-2)}.report-movement-panel td{display:block;padding:0;border:0;font-size:9px;text-align:left}.report-movement-panel td:nth-child(1){grid-column:2;grid-row:1;color:var(--muted)}.report-movement-panel td:nth-child(2){grid-column:1;grid-row:1}.report-movement-panel td:nth-child(3),.report-movement-panel td:nth-child(4),.report-movement-panel td:nth-child(5){grid-column:1/-1;color:var(--muted)}.report-movement-panel td:nth-child(3):before{content:'Categoría: ';font-weight:800}.report-movement-panel td:nth-child(4):before{content:'Ciclo: ';font-weight:800}.report-movement-panel td:nth-child(5):before{content:'Cliente / proveedor: ';font-weight:800}.report-movement-panel td:nth-child(6){grid-column:2;text-align:right}.report-movement-panel td:nth-child(7){grid-column:1;color:var(--muted)}.report-movement-panel td:nth-child(7):before{content:'Original: ';font-weight:800}.report-movement-panel td:nth-child(8){grid-column:2;font-size:11px;text-align:right}.report-pagination{margin:10px 12px 12px}}
@media(max-width:420px){#reportSnapshot .metric-card>strong{font-size:15px}.report-view-selector button{font-size:9px}.report-category-row>strong{max-width:90px;overflow-wrap:anywhere}.report-pagination button{font-size:0}.report-pagination button i{font-size:10px}}
/* Perfil responsive definitivo */
@media(min-width:769px) and (max-width:1100px){.family-profile-layout{grid-template-columns:1fr;gap:14px}.family-profile-layout>.profile-summary-panel,.family-profile-layout>.profile-edit-panel{width:100%;height:auto}.family-profile-layout .profile-info-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:768px){.family-profile-layout{display:grid;grid-template-columns:1fr;gap:12px}.family-profile-layout>.profile-summary-panel,.family-profile-layout>.profile-edit-panel{width:100%;height:auto;min-width:0;padding:14px;margin:0}.family-profile-layout .profile-summary-main{display:grid;grid-template-columns:64px minmax(0,1fr);gap:12px;align-items:center;padding-bottom:14px}.family-profile-layout .profile-summary-copy{min-width:0}.family-profile-layout .profile-summary-copy h2,.family-profile-layout .profile-summary-copy p{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.family-profile-layout .profile-summary-copy h2{font-size:17px}.family-profile-layout .profile-summary-copy p{font-size:9px}.family-profile-layout .profile-photo-preview{width:64px;height:64px}.family-profile-layout .profile-info-grid{display:grid;grid-template-columns:1fr;gap:8px;margin-top:12px}.family-profile-layout .profile-info-item,.family-profile-layout .profile-info-item.wide{grid-column:auto;min-width:0;padding:10px}.family-profile-layout .profile-info-item>div{min-width:0}.family-profile-layout .profile-info-item strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.family-profile-layout .module-toolbar{padding-bottom:11px;border-bottom:1px solid var(--border)}.family-profile-layout .family-form{display:grid;grid-template-columns:1fr;gap:11px;margin-top:13px}.family-profile-layout .family-form label,.family-profile-layout .family-form label:first-child,.family-profile-layout .form-actions{grid-column:auto;min-width:0}.family-profile-layout .form-control{width:100%;min-width:0}.family-profile-layout input[readonly]{cursor:not-allowed}.family-profile-layout .form-actions{margin-top:2px}.family-profile-layout .form-actions .btn{width:100%;min-height:44px}}
@media(max-width:380px){.family-profile-layout .profile-summary-main{grid-template-columns:54px minmax(0,1fr)}.family-profile-layout .profile-photo-preview{width:54px;height:54px;font-size:18px}.family-profile-layout .profile-summary-copy h2{font-size:15px}.family-profile-layout>.profile-summary-panel,.family-profile-layout>.profile-edit-panel{padding:12px}}
/* Configuración responsive */
@media(min-width:769px) and (max-width:1100px){.business-settings{grid-template-columns:1fr;gap:14px}.settings-inline-form{grid-template-columns:minmax(0,1fr) minmax(220px,.6fr)}.settings-inline-form .btn{grid-column:1/-1;justify-self:end}.catalog-grid{grid-template-columns:1fr;gap:14px}.catalog-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.catalog-item{width:100%}.catalog-item-name{min-width:0;flex:1;justify-content:space-between}}
@media(max-width:768px){.business-settings{display:grid;grid-template-columns:1fr;gap:12px;padding:14px;margin-bottom:12px}.business-settings .panel-header{display:block}.business-settings .panel-header h2{font-size:14px}.settings-inline-form{display:grid;grid-template-columns:1fr;gap:11px;width:100%}.settings-inline-form label{min-width:0}.settings-inline-form label span{font-size:9px;line-height:1.4}.settings-inline-form .form-control{width:100%;min-width:0}.settings-inline-form .btn{grid-column:auto;width:100%;min-height:44px}.catalog-grid{grid-template-columns:1fr;gap:12px}.catalog-panel{width:100%;min-width:0;padding:14px;margin:0}.catalog-heading{display:grid;grid-template-columns:40px minmax(0,1fr) 36px;gap:10px;padding-bottom:12px}.catalog-icon{width:40px;height:40px}.catalog-heading>div{min-width:0}.catalog-heading h2{font-size:13px}.catalog-heading p{font-size:8px;line-height:1.4}.catalog-heading>button{width:36px;height:36px}.catalog-list{display:grid;grid-template-columns:1fr;gap:7px;padding-top:12px}.catalog-item{display:grid;grid-template-columns:minmax(0,1fr) 34px;width:100%;min-width:0}.catalog-item-name{display:flex;min-width:0;width:100%;justify-content:space-between;padding:9px 10px;text-align:left}.catalog-item-name span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.catalog-item-name small{flex:0 0 auto;opacity:1}.catalog-item-delete{width:34px;min-height:36px}.catalog-dialog{width:calc(100vw - 18px);max-height:calc(100dvh - 18px);margin:9px auto}.catalog-dialog>header{padding:14px}.catalog-dialog .functional-body{padding:14px}.catalog-dialog>footer{display:grid;grid-template-columns:1fr 1fr;padding:11px}.catalog-dialog>footer .btn{width:100%}}
@media(max-width:380px){.business-settings,.catalog-panel{padding:12px}.catalog-heading{grid-template-columns:36px minmax(0,1fr) 34px}.catalog-icon{width:36px;height:36px}.catalog-heading>button{width:34px;height:34px}.catalog-dialog>footer{grid-template-columns:1fr}}
/* Dashboard estable por altura en tabletas y pantallas cortas */
.dashboard-layout .sidebar{height:100vh;height:100dvh;max-height:100dvh;overflow:hidden}.dashboard-layout .sidebar-brand{flex:0 0 var(--navbar-height)}.dashboard-layout .sidebar-nav{flex:1 1 auto;min-height:0;overflow-x:hidden;overflow-y:auto;scrollbar-width:thin}.dashboard-layout .sidebar-actions{position:static;left:auto;right:auto;bottom:auto;flex:0 0 auto;margin:auto 12px 12px;padding:8px 0 0;background:var(--surface)}
@media(min-width:769px) and (max-width:1100px){.dashboard-layout .sidebar-actions{margin-bottom:max(12px,env(safe-area-inset-bottom))}.dashboard-layout .sidebar-nav{padding-top:12px;padding-bottom:12px}}
@media(max-width:768px){.dashboard-layout .sidebar-actions{margin-bottom:max(10px,env(safe-area-inset-bottom))}.dashboard-layout .sidebar-nav{overscroll-behavior:contain}}
/* Menú de tableta: opciones compactas arriba, acciones siempre abajo */
.dashboard-layout .sidebar-nav{align-content:start;grid-auto-rows:44px}.dashboard-layout .sidebar-nav a{height:44px;min-height:44px}.dashboard-layout .sidebar-actions{margin-top:auto}
@media(min-width:769px) and (max-width:1100px){.dashboard-layout .sidebar-nav{align-content:start;grid-auto-rows:44px;gap:6px}.dashboard-layout .sidebar-actions{margin-top:auto}}
/* Footer visible completo del menú lateral */
.dashboard-layout .sidebar-nav{padding-bottom:112px}.dashboard-layout .sidebar-actions{position:absolute;left:12px;right:12px;bottom:max(10px,env(safe-area-inset-bottom));display:grid;grid-template-rows:44px 44px;gap:6px;margin:0;padding:8px 0 0;background:var(--surface);z-index:2}.dashboard-layout .sidebar-actions a,.dashboard-layout .sidebar-actions button{height:44px;min-height:44px}
@media(min-width:769px) and (max-width:1100px){.dashboard-layout .sidebar-nav{padding-bottom:112px}.dashboard-layout .sidebar-actions{position:absolute;bottom:max(10px,env(safe-area-inset-bottom));margin:0}}
/* Tooltips del menú colapsado: deben salir fuera del contenedor lateral. */
@media (min-width:769px){
  .dashboard-layout .sidebar.collapsed{overflow:visible}
  .dashboard-layout .sidebar.collapsed .sidebar-nav{overflow:visible}
  .dashboard-layout .sidebar.collapsed [data-tooltip]:hover:after{display:block;z-index:1300}
}

