:root{--green:#1b4636;--olive:#6b8050;--gold:#bba26c;--cream:#f7f7f1;--text:#23342d;--line:#e1e7de}*{box-sizing:border-box}body{margin:0;background:var(--cream);color:var(--text);font:16px/1.55 system-ui,-apple-system,Segoe UI,sans-serif}a{text-decoration:none;color:inherit}.wrap{width:100%;max-width:none;margin:0 auto;padding:0 clamp(16px,2vw,40px)}.top{background:white;border-bottom:1px solid var(--line)}.topin{display:flex;align-items:center;justify-content:space-between;min-height:90px;gap:20px}.brand{display:flex;gap:12px;align-items:center;color:var(--green)}.brand .tree{font-size:40px}.brand strong{display:block;font-family:Georgia,serif;letter-spacing:1px;font-size:25px}.brand small{display:block;letter-spacing:1.5px;font-size:10px;font-weight:700}nav{display:flex;gap:24px;flex-wrap:wrap}nav a{font-size:16px;font-weight:600}nav a:hover,.textlink{color:#50794d}.demo{font-size:12px;font-weight:750;letter-spacing:1px;color:#62745a;padding:17px 0}.hero{background:linear-gradient(120deg,#153c30,#42664a);color:white;border-radius:20px;padding:58px;display:grid;grid-template-columns:1.5fr 1fr;gap:30px;align-items:center;overflow:hidden}.hero h1{font:clamp(34px,4vw,58px)/1.12 Georgia,serif;margin:16px 0}.hero em{color:#e0c88e;font-weight:400}.hero p{max-width:540px;color:#e1e9e0}.heroart{text-align:center;font-size:155px}.heroart span{display:block;font-size:14px;letter-spacing:2px}.eyebrow{font-size:12px;letter-spacing:2px;font-weight:800;color:var(--gold)}h2{font:29px Georgia,serif;margin:36px 0 20px}.cards{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}.card,.stat,.panel,.note{background:#fff;border:1px solid var(--line);border-radius:16px;padding:26px}.card:hover{border-color:var(--gold);box-shadow:0 10px 30px #183f2915}.card h3{font:28px Georgia,serif;margin:6px 0}.card .icon{font-size:42px}.card p{color:#66746b}.card strong{color:#446f4b}.stats{display:grid;grid-template-columns:repeat(5,1fr);gap:14px}.stat{padding:20px}.stat span,.stat small{display:block;font-size:13px}.stat strong{display:block;font:35px Georgia,serif;color:var(--green);margin:10px 0}.stat small,.muted{color:#77837a}.note{margin:32px 0}.note p{margin-bottom:0}footer{text-align:center;padding:32px;color:#7d887e;font-size:13px}.btn{display:inline-block;border:0;border-radius:9px;background:#bba26c;color:#182d24;font:700 15px system-ui;padding:12px 21px;cursor:pointer}.btn:hover{filter:brightness(.95)}.btn.secondary{background:white;border:1px solid var(--line)}.sectionhead{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:30px 0}.sectionhead h1{font:42px Georgia,serif;margin:8px 0}.sectionhead p{margin:0;color:#718077}.filters{display:flex;gap:12px;margin:22px 0}.filters input{flex:1}.filters input,.filters select,.gridform input,.gridform select,.tablewrap input{border:1px solid #d7dfd7;border-radius:8px;padding:11px;font:inherit;background:white;max-width:100%}.tablewrap{overflow:auto;background:white;border-radius:14px;border:1px solid var(--line)}table{width:100%;border-collapse:collapse}th{text-align:left;background:#eef2eb;color:#456047;font-size:12px;letter-spacing:.6px;text-transform:uppercase}td,th{padding:13px 15px;border-bottom:1px solid #edf0eb}td{font-size:14px}.pill{background:#edf3eb;border-radius:30px;padding:5px 10px;color:#426445;font-size:12px}.panel{margin:18px 0}.panel h2{margin:0 0 17px}.gridform{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.gridform label{font-size:13px;font-weight:700}.gridform input,.gridform select{display:block;width:100%;margin-top:7px}.save{margin:10px 0 45px}.success{background:#dff3dd;color:#275a32;padding:14px;border-radius:8px}@media(max-width:900px){.stats{grid-template-columns:repeat(2,1fr)}.gridform{grid-template-columns:repeat(2,1fr)}.hero{padding:35px}.heroart{font-size:90px}}@media(max-width:650px){.topin{display:block;padding-top:14px;padding-bottom:16px}nav{margin-top:12px;gap:12px}.hero{grid-template-columns:1fr}.heroart{display:none}.cards{grid-template-columns:1fr}.sectionhead{display:block}.sectionhead .btn{margin-top:16px}.filters{flex-wrap:wrap}.filters input{flex-basis:100%}.gridform{grid-template-columns:1fr}.stats{grid-template-columns:1fr 1fr}}

/* Identidad LOS OLIVOS y aprovechamiento de toda la pantalla */
.brand .tree{display:inline-block;width:66px;height:66px;flex:0 0 66px;background:url("../img/logo-los-olivos.png") center/contain no-repeat;font-size:0;line-height:0;color:transparent}
.heroart img{display:block;width:min(100%,260px);max-height:260px;object-fit:contain;margin:0 auto 14px}
.heroart{font-size:initial}
@media(max-width:650px){.brand .tree{width:52px;height:52px;flex-basis:52px}.hero{padding:28px 22px}.heroart{display:block}.heroart img{width:150px}.heroart span{font-size:11px}}

/* LOS OLIVOS · PANEL PRINCIPAL */
.brand-logo{width:62px;height:62px;object-fit:contain;flex-shrink:0}
/* INICIO DEFINITIVO · 90 % en escritorio, centrado y adaptable */
.wrap{width:90%;max-width:1660px;margin-left:auto;margin-right:auto;padding-left:0;padding-right:0}
.topin{min-height:84px}
.dashboard-welcome{background:linear-gradient(112deg,#153b2e 0%,#24523c 60%,#53734d 100%);color:#fff;border-radius:22px;padding:clamp(30px,3.6vw,55px);display:flex;justify-content:space-between;align-items:center;gap:35px;min-height:275px;position:relative;overflow:hidden;box-shadow:0 14px 36px #183c2d15}
.dashboard-welcome:after{content:"";position:absolute;width:360px;height:360px;border:1px solid #ffffff20;border-radius:50%;right:-80px;top:-110px;pointer-events:none}
.dashboard-welcome-copy{position:relative;z-index:1}
.dashboard-kicker,.dashboard-overline{font-size:11px;letter-spacing:2px;font-weight:800;color:#ddc78d}
.dashboard-welcome h1{font:clamp(34px,3.5vw,57px)/1.12 Georgia,serif;margin:14px 0}
.dashboard-welcome h1 em{font-weight:400;color:#e7cd94}
.dashboard-welcome p{color:#e5ede5;max-width:720px;margin:0 0 25px;font-size:15px}
.dashboard-actions{display:flex;align-items:center;flex-wrap:wrap;gap:19px}
.dashboard-actions>span{font-size:12px;color:#d7e4d9}
.dashboard-welcome-logo{position:relative;z-index:1;object-fit:contain;width:clamp(145px,16vw,220px);height:190px;flex-shrink:0}
.dashboard-heading{display:flex;justify-content:space-between;align-items:end;gap:16px;margin:34px 0 17px}
.dashboard-heading h2{margin:4px 0 0;font:29px Georgia,serif}
.dashboard-overline{color:#71865e}
.dashboard-badge,.dashboard-legend{color:#69786d;font-size:12px}
.dashboard-kpis{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:14px}
.dashboard-kpi{background:#fff;border:1px solid var(--line);border-radius:17px;padding:20px 22px;display:flex;flex-direction:column;min-height:156px;min-width:0;transition:box-shadow .2s,border-color .2s}
.dashboard-kpi[href]:hover{border-color:var(--gold);box-shadow:0 9px 24px #1b463614}
.dashboard-kpi-icon{font-size:26px;margin-bottom:7px}
.dashboard-kpi>span:nth-child(2){font-size:13px;color:#66756b}
.dashboard-kpi strong{font:36px Georgia,serif;color:var(--green);margin:5px 0}
.dashboard-kpi small{font-size:11px;color:#819080;margin-top:auto}
.dashboard-heading-modules{margin-top:37px}
.dashboard-legend i{display:inline-block;width:8px;height:8px;border-radius:50%;background:#5c9870}
.dashboard-legend i.soon{background:#c3b89d}
.dashboard-modules-simple{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:15px}
.dashboard-module{background:#fff;border:1px solid var(--line);border-radius:17px;padding:24px 22px;display:flex;flex-direction:column;min-height:222px;min-width:0;transition:box-shadow .2s,border-color .2s}
.dashboard-module.available{border-top:4px solid #7c9a6b}
.dashboard-module.available:hover{border-color:var(--gold);box-shadow:0 10px 28px #183f2918}
.dashboard-module-icon{font-size:30px}
.dashboard-module h3{font:clamp(19px,1.35vw,23px) Georgia,serif;margin:13px 0 8px}
.dashboard-module p{color:#6d7b72;font-size:13px;margin:0 0 19px;line-height:1.55}
.dashboard-module-foot{margin-top:auto;padding-top:13px;border-top:1px solid #edf0e9;font-size:12px;font-weight:700;color:#3c7651;display:flex;justify-content:space-between;gap:10px}
.dashboard-module.upcoming{background:#fafbf8}
.dashboard-module.upcoming .dashboard-module-foot{color:#9a9587}
.dashboard-bottom{display:flex;justify-content:space-between;gap:20px;align-items:center;background:#eaf0e6;border:1px solid #dfe8d9;border-radius:15px;padding:22px 26px;margin:30px 0 10px}
.dashboard-bottom strong{color:#244c36}
.dashboard-bottom p{font-size:13px;color:#6e7b70;margin:4px 0 0}
.dashboard-bottom>span{font-size:11px;letter-spacing:1px;color:#6b806c;white-space:nowrap}
@media(max-width:1450px){.dashboard-kpis{grid-template-columns:repeat(3,minmax(0,1fr))}.dashboard-modules-simple{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:900px){.wrap{width:94%}.dashboard-modules-simple{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-welcome{padding:30px}.dashboard-welcome-logo{width:135px;height:145px}}
@media(max-width:650px){.wrap{width:auto;margin:0 16px}.topin{margin:0 16px}.dashboard-welcome-logo{display:none}.dashboard-welcome{min-height:0;padding:28px 23px}.dashboard-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-modules-simple{grid-template-columns:1fr}.dashboard-heading{align-items:start;flex-direction:column}.dashboard-bottom{flex-direction:column;align-items:start}.dashboard-kpi{min-height:145px}.dashboard-kpi strong{font-size:32px}.dashboard-bottom>span{white-space:normal}}

/* LOS OLIVOS · REDISEÑO GENERAL (inspiración de estructura, identidad propia) */
.wrap{width:90%;max-width:1700px;padding:0;margin:0 auto}
.top .wrap{width:90%;max-width:1700px}.topin{min-height:78px}
.ol-welcome{background:linear-gradient(115deg,#153a2c 0%,#315e41 70%,#587650 100%);border-radius:20px;color:#fff;display:flex;align-items:center;justify-content:space-between;gap:35px;padding:38px 48px;margin:6px 0 27px;overflow:hidden;min-height:240px}
.ol-welcome h1{font:clamp(29px,3vw,45px)/1.16 Georgia,serif;margin:9px 0 13px}.ol-welcome h1 em{color:#e6d29d;font-weight:400}.ol-welcome p{max-width:650px;color:#e6eee7;margin-bottom:20px}.ol-welcome img{width:180px;height:180px;object-fit:contain;filter:drop-shadow(0 7px 15px #0002)}
.ol-kicker,.ol-overline{font-size:11px;letter-spacing:1.5px;font-weight:800;color:#9c814c}.ol-kicker{color:#e6d29d}.ol-page-title{display:flex;align-items:center;justify-content:space-between;gap:15px;margin:20px 0 14px}.ol-page-title h2{font:29px Georgia,serif;margin:4px 0}.ol-date{color:#657b6d;font-size:13px}
.ol-metrics{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:13px;margin-bottom:24px}.ol-metrics-3{grid-template-columns:repeat(3,minmax(0,1fr))}.ol-metrics-4{grid-template-columns:repeat(4,minmax(0,1fr))}.ol-metric{display:flex;gap:13px;align-items:center;min-width:0;background:#fff;border:1px solid #dce7de;border-radius:15px;padding:17px 16px;box-shadow:0 4px 16px #173f2610}.ol-metric>span{display:grid;place-items:center;flex:0 0 48px;width:48px;height:48px;background:#eff5e9;border-radius:13px;font-size:23px;color:#315b3c}.ol-metric small{display:block;color:#617468;font-size:12px}.ol-metric strong{display:block;font-size:26px;color:#214834;line-height:1.25}
.ol-home-columns{display:grid;grid-template-columns:minmax(0,1fr) 260px;gap:19px;align-items:start}.ol-home-columns .ol-page-title{margin-top:0}.ol-modules{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px}.ol-module{display:flex;flex-direction:column;align-items:center;text-align:center;padding:25px 17px 17px;border:1px solid #dce6dd;border-radius:17px;min-height:260px;transition:transform .15s,box-shadow .15s}.ol-module:hover,.ol-action-card:hover{transform:translateY(-3px);box-shadow:0 9px 22px #183d2817}.ol-module-art{display:grid;place-items:center;font-size:58px;height:80px;margin-bottom:5px}.ol-module h3{font-size:20px;margin:8px 0}.ol-module p{font-size:13px;line-height:1.5;color:#5c6f64;margin:0 0 19px;max-width:260px}.ol-module-button{margin-top:auto;display:block;width:100%;padding:10px;border:1px solid currentColor;border-radius:9px;font-size:13px;font-weight:750;text-align:center}.ol-m1{background:#f0f6ef;color:#285c39}.ol-m2{background:#edf5f8;color:#2d5f79}.ol-m3{background:#fff7e8;color:#9b6c24}.ol-m4{background:#f4f0fa;color:#70519b}.ol-m5{background:#f7f3ed;color:#75613d}
.ol-aside-box,.ol-panel{background:white;border:1px solid #dce6de;border-radius:16px;padding:21px;margin-bottom:16px;box-shadow:0 3px 16px #173f2610}.ol-aside-box h3{font:22px Georgia,serif;color:#244d38;margin:6px 0 13px}.ol-aside-row{display:flex;justify-content:space-between;border-bottom:1px solid #e9eee9;padding:11px 0;font-size:13px}.ol-aside-row b{color:#28583b}.ol-link,.ol-text-btn{color:#276b4b;font-weight:700;font-size:13px}.ol-link:hover,.ol-text-btn:hover{text-decoration:underline}.ol-aside-box .ol-link{display:block;margin-top:15px}.ol-muted{color:#748177;font-size:13px}.ol-recent{display:flex;gap:12px;border-bottom:1px solid #edf0eb;padding:10px 0;font-size:13px}.ol-recent>b{color:#396447}.ol-recent small{display:block;color:#738275}.ol-aside-hint{background:#f0f6eb;color:#3a6646}.ol-aside-hint p{font-size:13px;margin-bottom:0}
.ol-heading{display:flex;justify-content:space-between;align-items:center;gap:20px;margin:14px 0 22px}.ol-heading h1{font:clamp(28px,3vw,39px) Georgia,serif;color:#204b35;margin:6px 0}.ol-heading p{color:#637569;margin:0}.ol-heading-buttons{display:flex;flex-wrap:wrap;gap:8px}.ol-action-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.ol-action-card{display:flex;align-items:center;gap:25px;min-height:210px;padding:25px;border:1px solid #dce6de;border-radius:18px;transition:transform .15s,box-shadow .15s}.ol-action-icon{font-size:64px;flex:0 0 110px;text-align:center}.ol-action-card h2{font:25px Georgia,serif;margin:0 0 10px}.ol-action-card p{font-size:14px;color:#617468;margin:0 0 18px}.ol-action-card .ol-module-button{width:max-content;min-width:170px;padding:9px 16px}
.ol-note{border:1px solid #d5e7d3;background:#f0f7ed;border-radius:12px;padding:15px 18px;margin:16px 0 30px;font-size:13px;color:#416047}.ol-panel h2{font:24px Georgia,serif;color:#234c37;margin:0 0 18px}.ol-filter-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:12px;align-items:end}.ol-filter-grid label,.ol-stack label{font-size:13px;font-weight:700;color:#4a6252}.ol-filter-grid input,.ol-filter-grid select,.ol-stack input,.ol-search input{width:100%;box-sizing:border-box;margin-top:5px}.ol-filter-grid .btn{min-height:44px}.ol-empty{background:white;border:1px dashed #d3dfd4;border-radius:15px;text-align:center;padding:46px 20px;color:#6a7d70;margin:15px 0 25px}.ol-empty strong{display:block;font-size:18px;color:#34553c}.ol-toolbar{display:flex;align-items:center;flex-wrap:wrap;gap:10px;margin:18px 0}.ol-toolbar b{margin-right:auto}.ol-table-panel{padding:18px}.ol-table-panel table{width:100%}.ol-table-panel table th{white-space:nowrap}.ol-table-panel table td{font-size:13px}.ol-status{display:inline-block;padding:5px 10px;border-radius:30px;font-size:12px;font-weight:800;white-space:nowrap}.ol-good{color:#1c7941;background:#e8f7e9}.ol-warn{color:#a3741f;background:#fff4d9}.ol-bad{color:#a53645;background:#ffedf0}.ol-text-btn{border:0;background:none;cursor:pointer;padding:4px}.ol-danger{background:none;border:0;color:#a04438;cursor:pointer;font-size:12px;font-weight:700}.ol-inline{display:inline-block}.ol-search{display:flex;align-items:end;gap:10px;flex-wrap:wrap}.ol-search>input{flex:1;min-width:240px}.ol-two{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.ol-stack{display:grid;gap:14px}.ol-alert{padding:14px;background:#fff0eb;color:#923a29;border-radius:10px}.ol-identity{padding:20px;border-radius:14px;background:#f1f7ef}.ol-identity>span{color:#267443}.ol-control-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:0 0 20px}.ol-control-link{background:white;border:1px solid #dbe6dc;border-radius:13px;padding:16px;font-size:18px}.ol-control-link b{font-size:16px;color:#24543b}.ol-control-link small{display:block;font-size:12px;color:#718075;margin-left:25px}.ol-shortcuts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.ol-shortcuts>a{display:flex;flex-wrap:wrap;gap:9px;align-items:center;padding:17px;background:#f2f6ef;border-radius:11px;color:#305d3f}.ol-shortcuts b{font-size:14px}.ol-shortcuts small{flex-basis:100%;color:#657b6a}.ol-shortcuts span{margin-left:auto}.ol-dialog{border:0;border-radius:17px;padding:24px;box-shadow:0 20px 60px #0004;max-width:94vw}.ol-dialog::backdrop{background:#122a1db3}.ol-close{float:right;border:0;background:transparent;cursor:pointer;font-size:18px}.ol-print-card{width:230px;text-align:center;border:1px solid #dce5db;padding:15px;border-radius:10px;break-inside:avoid;background:white}.ol-qr-code{display:flex;justify-content:center;min-height:155px;margin:10px auto}.ol-print-card strong,.ol-print-card small{display:block;margin:6px auto}.ol-print-card small{font-size:12px;color:#5d6d60}#ol-print-area{display:none}
@media(max-width:1100px){.ol-home-columns{grid-template-columns:1fr}.ol-home-aside{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.ol-metrics{grid-template-columns:repeat(3,minmax(0,1fr))}.ol-modules{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:750px){.wrap,.top .wrap{width:94%}.ol-welcome{padding:24px}.ol-welcome img{display:none}.ol-modules,.ol-action-grid,.ol-two,.ol-home-aside,.ol-shortcuts{grid-template-columns:1fr}.ol-metrics,.ol-metrics-3,.ol-metrics-4{grid-template-columns:repeat(2,minmax(0,1fr))}.ol-action-card{min-height:170px}.ol-action-icon{flex-basis:65px;font-size:43px}.ol-heading{display:block}.ol-heading-buttons{margin-top:12px}.ol-control-actions{grid-template-columns:1fr}.topin{flex-wrap:wrap;padding:12px 0}.top nav{gap:10px}}
@media print{body{background:#fff!important}body>.top,body>footer,.demo,.ol-heading,.ol-toolbar,.ol-panel:has(form),.ol-note,.ol-dialog{display:none!important}#ol-print-area{display:grid!important;grid-template-columns:repeat(4,1fr);gap:10px;margin:0;padding:0}.ol-print-card{width:auto;min-height:210px}.wrap{width:100%;max-width:none}.ol-qr-code img,.ol-qr-code canvas{max-width:155px}.ol-panel{box-shadow:none}}
