@import url("https://fonts.googleapis.com/css2?family=Barlow+Condensed:wght@500;700;800&family=Source+Sans+3:wght@400;500;600;700&display=swap");:root{--ink:#252525;--muted:#4f4f4f;--paper:#ffffff;--sand:#ebebeb;--forest:#39b54a;--forest-deep:#006837;--copper:#be0012;--copper-soft:#d7244c;--navy:#082f68;--line:rgba(37,37,37,0.12);--danger:#be0012;--ok:#009245;--shadow:0 18px 50px rgba(0,104,55,0.14);--radius:14px;--font-display:"Barlow Condensed",sans-serif;--font-body:"Source Sans 3",sans-serif}*{box-sizing:border-box}body,html{margin:0;padding:0;min-height:100%;font-family:var(--font-body);color:var(--ink);background:radial-gradient(circle at 12% 18%,rgba(57,181,74,.12),transparent 34%),radial-gradient(circle at 88% 8%,rgba(8,47,104,.08),transparent 30%),linear-gradient(180deg,#ffffff,#ebebeb)}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}.display,h1,h2,h3{font-family:var(--font-display);letter-spacing:.02em;margin:0}.container{width:min(1120px,calc(100% - 2rem));margin:0 auto}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;border:none;border-radius:999px;padding:.85rem 1.4rem;background:var(--forest);color:#ffffff;font-weight:600;cursor:pointer;transition:transform .2s ease,background .2s ease}.btn:hover{transform:translateY(-1px);background:var(--forest-deep)}.btn.secondary{background:transparent;color:var(--forest);border:1.5px solid var(--forest)}.btn.danger{background:var(--danger)}.btn.sm{padding:.45rem .85rem;font-size:.9rem;border-radius:999px}.btn.icon{padding:.5rem;width:2.25rem;height:2.25rem;border-radius:10px}.btn.icon svg{width:1.1rem;height:1.1rem;display:block}.btn:disabled{opacity:.6;cursor:not-allowed;transform:none}.field{display:grid;grid-gap:.35rem;gap:.35rem;margin-bottom:1rem;align-content:start}.grid-2>.field,.grid-2>.field-span{margin-bottom:0}.field label{font-weight:600;font-size:.95rem;color:var(--ink)}.field .date-field-wrapper,.field .date-input,.field .react-datepicker-wrapper,.field .react-datepicker__input-container,.field input,.field select,.field textarea{width:100%}.field .date-field-wrapper,.field .react-datepicker-wrapper{display:block;padding:0;border:0}.field .react-datepicker__input-container,.field .react-datepicker__input-container input{display:block}.field .date-input,.field input:not([type=checkbox]):not([type=radio]),.field select,.field textarea{border:1px solid var(--line);background:rgba(255,255,255,.85);border-radius:10px;padding:.75rem .9rem;color:var(--ink);outline:none;box-shadow:none;transition:border-color .15s ease,box-shadow .15s ease,background .15s ease}.field .date-input:hover,.field input:not([type=checkbox]):not([type=radio]):hover,.field select:hover,.field textarea:hover{border-color:rgba(57,181,74,.4)}.field .date-input:focus,.field input:not([type=checkbox]):not([type=radio]):focus,.field select:focus,.field textarea:focus{border-color:var(--forest);background:#fff;box-shadow:0 0 0 3px rgba(57,181,74,.2)}.field .date-input::placeholder,.field input:not([type=checkbox]):not([type=radio])::placeholder{color:rgba(79,79,79,.7)}.field .error{color:var(--danger);font-size:.85rem}.field .date-input.is-invalid,.field input.is-invalid:not([type=checkbox]):not([type=radio]),.field select.is-invalid,.field textarea.is-invalid{border-color:var(--danger);background:rgba(220,53,69,.04)}.field .date-input.is-invalid:focus,.field input.is-invalid:not([type=checkbox]):not([type=radio]):focus,.field select.is-invalid:focus,.field textarea.is-invalid:focus{border-color:var(--danger);box-shadow:0 0 0 3px rgba(220,53,69,.2)}#datepicker-portal{position:relative;z-index:80}.date-field-popper,.react-datepicker-popper{z-index:80!important}.react-datepicker{font-family:var(--font-body);border:1px solid var(--line);border-radius:12px;box-shadow:0 16px 40px rgba(0,104,55,.16);overflow:hidden;background:#fff}.react-datepicker__header{background:linear-gradient(180deg,#ffffff,#ebebeb);border-bottom:1px solid var(--line);padding-top:.75rem}.react-datepicker-time__header,.react-datepicker-year-header,.react-datepicker__current-month{font-family:var(--font-display);color:var(--forest-deep);font-weight:700}.react-datepicker__day-name{color:var(--muted);font-weight:600}.react-datepicker__day--keyboard-selected,.react-datepicker__day--selected,.react-datepicker__time-list-item--selected{background:var(--forest)!important;color:#ffffff!important}.react-datepicker__day:hover,.react-datepicker__month-text:hover,.react-datepicker__time-list-item:hover{background:rgba(57,181,74,.14)}.react-datepicker__triangle{display:none}.checkbox-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(70px,1fr));grid-gap:.5rem;gap:.5rem}.checkbox-grid label{display:flex;gap:.4rem;font-weight:500;border:1px solid var(--line);border-radius:8px;padding:.45rem .55rem}.checkbox-grid label,.field-check{align-items:center;background:rgba(255,255,255,.55)}.field-check{display:inline-flex;gap:.65rem;padding:.7rem .95rem;font-weight:600;color:var(--ink);cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;border:1px solid var(--line);border-radius:10px;width:-moz-fit-content;width:fit-content;max-width:100%}.field-activo,.field-check{margin:1.25rem 0 1.35rem}.field-activo .field-check{margin:0}.field-hint{margin:.45rem 0 0;font-size:.875rem;line-height:1.4;color:var(--muted);max-width:36rem}.field-check input{width:1.15rem;height:1.15rem;accent-color:var(--forest);cursor:pointer;flex-shrink:0}.modal-overlay{position:fixed;inset:0;z-index:50;display:grid;place-items:center;padding:1rem;background:rgba(28,36,32,.45);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.modal{width:min(420px,100%);margin:0}.modal.panel{background:#fff}.modal--form{width:min(560px,100%);max-height:min(90vh,800px);overflow-y:auto}.modal--form-wide{width:min(720px,100%)}.usuarios-stack{display:none}.usuario-row{padding:1rem 0;border-bottom:1px solid var(--line)}.usuario-row:last-child{border-bottom:none;padding-bottom:0}.usuario-row:first-child{padding-top:0}.usuario-field{display:grid;grid-template-columns:7.5rem minmax(0,1fr);grid-gap:.5rem .75rem;gap:.5rem .75rem;padding:.35rem 0;align-items:start}.usuario-label{color:var(--muted);font-size:.85rem;font-weight:600}.usuario-value{min-width:0;overflow-wrap:anywhere}.usuario-actions{margin-top:.65rem}.modal-title{margin:0 0 .5rem;color:var(--forest);font-size:1.25rem}.modal-message{margin:0 0 1.25rem;color:var(--muted);line-height:1.45}.form-card,.panel{background:rgba(255,255,255,.7);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:1.5rem}.grid-2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:1rem 1.25rem;gap:1rem 1.25rem;align-items:start}.form-actions{display:flex;gap:.65rem;flex-wrap:wrap;align-items:center;margin-top:.25rem}.table-empty{padding:1.5rem .75rem;text-align:center;color:var(--muted)}.badge{display:inline-flex;align-items:center;padding:.2rem .55rem;border-radius:999px;font-size:.8rem;font-weight:600;background:rgba(0,146,69,.12);color:var(--ok);white-space:nowrap}.badge.off{background:rgba(79,79,79,.12);color:var(--muted)}.alert{padding:.85rem 1rem;border-radius:10px;margin-bottom:1rem;background:rgba(190,0,18,.08);color:var(--danger);border:1px solid rgba(190,0,18,.2)}.alert.ok{background:rgba(0,146,69,.1);color:var(--ok);border-color:rgba(0,146,69,.25)}.table-wrap{overflow-x:auto}table{width:100%;border-collapse:collapse}td,th{text-align:left;padding:.85rem .7rem;border-bottom:1px solid var(--line);white-space:nowrap}th{font-size:.85rem;text-transform:uppercase;letter-spacing:.04em;color:var(--muted)}.actions{display:flex;gap:.5rem;flex-wrap:wrap}.actions-menu{position:relative;display:inline-flex}.actions-menu-trigger{min-width:2.25rem}.actions-menu-panel{position:fixed;z-index:60;min-width:11rem;padding:.35rem;border:1px solid var(--line);border-radius:.65rem;background:#fff;box-shadow:0 10px 28px rgba(0,40,20,.12)}.actions-menu-item{width:100%;display:flex;align-items:center;gap:.55rem;padding:.55rem .65rem;border:0;border-radius:.45rem;background:transparent;color:var(--ink);font:inherit;font-size:.92rem;text-align:left;cursor:pointer}.actions-menu-item:focus-visible,.actions-menu-item:hover{background:rgba(57,181,74,.1);outline:none}.actions-menu-item.danger{color:var(--danger)}.actions-menu-item.danger:focus-visible,.actions-menu-item.danger:hover{background:rgba(190,0,18,.08)}.actions-menu-item-icon{display:inline-flex;width:1.1rem;height:1.1rem;flex-shrink:0}.actions-menu-item-icon svg,.actions-menu-trigger svg{width:100%;height:100%;display:block}.site-header{position:-webkit-sticky;position:sticky;top:0;z-index:20;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:rgba(255,255,255,.9);border-bottom:1px solid var(--line)}.site-header .inner{display:flex;align-items:center;justify-content:space-between;min-height:72px;gap:1rem}.brand{font-family:var(--font-display);font-size:1.55rem;font-weight:800;color:var(--forest-deep);display:inline-flex;align-items:center}.brand-logo{display:block;width:auto;height:2.5rem;object-fit:contain}.brand-logo--sm{height:2rem}.brand-logo--hero{height:clamp(5.5rem,14vw,8.5rem);margin-bottom:1rem}.auth-brand{display:flex;justify-content:center;margin-bottom:1.25rem}.auth-brand .brand-logo{height:3.25rem}.auth-fields{display:grid;grid-gap:.85rem;gap:.85rem;margin-top:1.25rem;padding:1.15rem;border:1px solid var(--line);border-radius:12px;background:rgba(255,255,255,.92)}.auth-fields .field{margin-bottom:0}.auth-fields .field input:not([type=checkbox]):not([type=radio]){background:#fff}.nav{display:flex;gap:1rem;flex-wrap:wrap;align-items:center}.nav a{color:var(--muted);font-weight:600}.nav a:not(.nav-cta):hover{color:var(--forest-deep)}.nav a.nav-cta{display:inline-flex;align-items:center;gap:.45rem;margin-left:.35rem;padding:.55rem 1.05rem;border-radius:999px;background:linear-gradient(135deg,var(--forest) 0,var(--forest-deep) 100%);color:#fff;font-family:var(--font-display);font-size:1.05rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;box-shadow:0 8px 20px rgba(0,104,55,.22);transition:transform .2s ease,box-shadow .2s ease,background .2s ease}.nav a.nav-cta:hover{color:#fff;transform:translateY(-1px);box-shadow:0 12px 26px rgba(0,104,55,.28);background:linear-gradient(135deg,#287b33 0,var(--forest-deep) 100%)}.nav a.nav-cta:focus-visible{outline:2px solid var(--copper);outline-offset:3px}.nav-cta-icon{display:inline-flex;align-items:center;justify-content:center;width:1.55rem;height:1.55rem;border-radius:999px;background:rgba(255,255,255,.16);color:#fff}.hero{min-height:calc(100vh - 72px);display:grid;align-items:end;position:relative;overflow:hidden;background:linear-gradient(120deg,rgba(0,104,55,.86),rgba(8,47,104,.4)),url(https://images.unsplash.com/photo-1504307651254-35680f356dfd?auto=format&fit=crop&w=1800&q=80) 50%/cover no-repeat;color:#ffffff}.hero .content{width:min(1120px,calc(100% - 2rem));margin:0 auto 4.5rem;animation:rise .9s ease both}.hero h1{font-size:clamp(3rem,8vw,6.2rem);line-height:.92;max-width:10ch}.hero p{max-width:38ch;font-size:1.15rem;opacity:.92}.section{padding:5rem 0}.section h2{font-size:clamp(2.2rem,4vw,3.4rem);margin-bottom:.75rem}.section p.lead{max-width:55ch;color:var(--muted);font-size:1.08rem}.experience-strip{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:1rem;gap:1rem;margin-top:2rem}.experience-strip article{padding:1.4rem;border-top:3px solid var(--copper);background:rgba(255,255,255,.45)}.experience-strip strong{display:block;font-family:var(--font-display);font-size:2.4rem;color:var(--forest)}.intranet-shell{display:grid;grid-template-columns:260px 1fr;min-height:100vh}.sidebar{position:-webkit-sticky;position:sticky;top:0;align-self:start;height:100vh;height:100dvh;background:linear-gradient(180deg,var(--navy),var(--forest-deep));color:#ffffff;padding:1.5rem 1rem;display:flex;flex-direction:column;gap:1rem;overflow-y:auto}.sidebar-top{display:flex;align-items:center;justify-content:space-between;gap:.75rem}.sidebar .brand{color:#ffffff;font-size:1.4rem;padding:0 .5rem;min-width:0}.sidebar .brand-logo{height:2.25rem;max-width:160px}.sidebar-user{margin:0 .5rem;padding-bottom:1rem;border-bottom:1px solid rgba(255,255,255,.2);opacity:.8;font-size:.9rem}.sidebar-toggle{display:none;width:2.5rem;height:2.5rem;padding:0;border:1px solid rgba(255,255,255,.28);border-radius:10px;background:rgba(255,255,255,.08);color:inherit;cursor:pointer;flex-direction:column;align-items:center;justify-content:center;gap:.28rem}.sidebar-toggle-bar{display:block;width:1.15rem;height:2px;border-radius:999px;background:currentColor;transition:transform .2s ease,opacity .2s ease}.sidebar.is-open .sidebar-toggle-bar:first-child{transform:translateY(6.5px) rotate(45deg)}.sidebar.is-open .sidebar-toggle-bar:nth-child(2){opacity:0}.sidebar.is-open .sidebar-toggle-bar:nth-child(3){transform:translateY(-6.5px) rotate(-45deg)}.sidebar-backdrop{display:none}.sidebar nav{display:flex;flex-direction:column;gap:.35rem;flex:1 1;min-height:0}.sidebar a,.sidebar button.linkish,.sidebar button.nav-folder-toggle{border:none;background:transparent;color:inherit;text-align:left;padding:.75rem .85rem;border-radius:10px;cursor:pointer;font-weight:600}.nav-item-label{display:inline-flex;align-items:center;gap:.65rem;min-width:0}.nav-icon{width:1.15rem;height:1.15rem;flex-shrink:0;opacity:.92}.sidebar .nav-folder.has-active>.nav-folder-toggle,.sidebar a.active,.sidebar a:hover,.sidebar button.linkish:hover,.sidebar button.nav-folder-toggle:hover{background:rgba(255,255,255,.1)}.sidebar button.sidebar-logout{margin-top:auto;padding-top:.85rem;border-top:1px solid rgba(255,255,255,.2);opacity:.9}.nav-folder{display:grid;grid-gap:.2rem;gap:.2rem}.nav-folder-toggle{display:flex;align-items:center;justify-content:space-between;gap:.5rem;width:100%}.nav-folder-chevron{width:.45rem;height:.45rem;border-right:2px solid;border-bottom:2px solid;transform:rotate(-45deg);opacity:.85;transition:transform .15s ease;flex-shrink:0}.nav-folder.is-open .nav-folder-chevron{transform:rotate(45deg)}.nav-folder-children{display:grid;grid-gap:.2rem;gap:.2rem;padding-left:.65rem}.nav-folder-children a{font-weight:500;font-size:.95rem;padding:.6rem .85rem}.main{padding:1.5rem}.page-head{display:flex;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1.25rem;flex-wrap:wrap}.charts-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:1rem;gap:1rem}.chart-card{min-height:320px}.chart-card h3{margin-bottom:1rem}.kpi-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));grid-gap:1rem;gap:1rem}.kpi-card{display:flex;flex-direction:column;gap:.35rem;padding:1rem 1.1rem}.kpi-label{margin:0;color:var(--muted);font-size:.85rem;font-weight:600}.kpi-value{margin:0;font-size:1.65rem;font-weight:700;color:var(--ink);line-height:1.15}.auth-page{min-height:100vh;display:grid;place-items:center;padding:2rem 1rem}.auth-page .form-card{width:min(560px,100%)}.auth-page.wide .form-card{width:min(820px,100%)}.subsection{margin-top:1.5rem;padding-top:1.25rem;border-top:1px solid var(--line)}.subsection h3{margin-bottom:1rem;color:var(--forest)}@keyframes rise{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}@media (max-width:900px){.intranet-shell{grid-template-columns:1fr;grid-template-rows:auto 1fr;align-content:start}.sidebar{position:-webkit-sticky;position:sticky;top:0;z-index:30;align-self:start;width:100%;height:auto;padding:.85rem 1rem;gap:0;overflow-y:visible}.sidebar-toggle{display:inline-flex}.sidebar nav,.sidebar-user{display:none}.sidebar.is-open{position:fixed;inset:0 auto 0 0;width:min(280px,86vw);height:100vh;padding:1rem;gap:1rem;overflow-y:auto;box-shadow:8px 0 32px rgba(0,0,0,.28)}.sidebar.is-open .sidebar-user{display:block}.sidebar.is-open nav{display:flex}.sidebar-backdrop{display:block;position:fixed;inset:0;z-index:20;border:none;padding:0;margin:0;background:rgba(8,47,104,.45);cursor:pointer}.charts-grid,.experience-strip,.grid-2,.kpi-grid{grid-template-columns:1fr}.nav{display:none}td{white-space:normal;overflow-wrap:anywhere}.usuarios-list .usuarios-table{display:none}.usuarios-list .usuarios-stack{display:block}.usuario-field{grid-template-columns:6.25rem minmax(0,1fr)}}