/* JM GeoLab · azul de campo, verde de precisión. Sin recursos externos. */
:root{--green:#173d53;--mint:#eaf2df;--ink:#142d43;--muted:#667b8f;--line:#dfe7ef;--bg:#f2f5f9;--gold:#74952c;--jm-navy:#071e30;--jm-lime:#b4db59;--jm-card:#fff;--jm-input:#f8fafc;--jm-shadow:0 8px 30px #132d4610;--jm-sidebar:252px;color-scheme:light}
body{font-family:'Segoe UI Variable','Segoe UI',Arial,sans-serif;font-size:14px;letter-spacing:.05px;background:var(--bg);color:var(--ink)}*{scrollbar-width:thin;scrollbar-color:#b5c6d4 transparent}button,a,input,select,textarea{transition:background .16s,border-color .16s,box-shadow .16s,color .16s}button:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid #8cad38;outline-offset:3px}button,.button{border-radius:10px;min-height:40px;padding:10px 16px;font-weight:600;font-size:12px;background:var(--jm-card);color:var(--ink);border-color:var(--line)}button:hover,.button:hover{background:var(--mint);border-color:#b5c998}button.primary,.button.primary{background:#153d52;border-color:#153d52;color:#fff;box-shadow:0 3px 8px #09223816}button.primary:hover,.button.primary:hover{background:#21566d;border-color:#21566d}button:disabled{box-shadow:none;cursor:not-allowed}
body>aside{width:var(--jm-sidebar);padding:26px 18px 16px;background:var(--jm-navy);border:0;color:#dce7ee;overflow-y:auto;background-image:radial-gradient(ellipse at 0 0,#2d573938,transparent 60%)}.shell{margin-left:var(--jm-sidebar)}.brand{gap:12px;color:#fff;letter-spacing:-.8px}.jm-brand-icon{width:46px;height:46px;flex:none;border:1px solid #ffffff28;border-radius:14px;background:#ffffff0a;display:grid;place-items:center;color:var(--jm-lime)}.jm-brand-icon svg{width:31px;height:31px}.jm-brand-word{font-size:26px;font-weight:720;line-height:1;display:block}.jm-brand-word b{color:var(--jm-lime);font-weight:720}.jm-brand-caption{display:block;font-size:9px;color:#9bafbf;letter-spacing:1.8px;margin-top:8px;font-weight:500}.workspace{font-size:9px;letter-spacing:2px;color:#7890a4;margin:35px 13px 14px}aside nav{gap:5px}aside nav a{border-radius:10px;padding:12px 13px;color:#a4b9c9;gap:13px;position:relative}aside nav a span{font-size:12px;font-weight:550}aside nav a svg{width:19px;height:19px;flex:none;stroke-width:1.7}aside nav a:hover{background:#ffffff09;color:#fff}aside nav a.active{background:#b4db5916;color:#d5ef9d}aside nav a.active:before{content:'';position:absolute;left:0;top:13px;bottom:13px;border-radius:3px;width:3px;background:var(--jm-lime)}.local-status{border-color:#ffffff16;color:#adc1d0;font-size:10px;padding:18px 10px 4px;margin-top:auto}.local-status small{color:#7e98ab;font-size:9px;line-height:1.7}.local-status i{background:#b4db59;box-shadow:0 0 9px #b4db5940}.jm-location{font-size:10px;color:#adc1d0;line-height:1.8;padding-top:12px;letter-spacing:.2px}.jm-location strong{display:block;color:#d4e0e9;font-size:10px;font-weight:550}
header{height:76px;padding:0 36px;background:var(--jm-card);border-color:var(--line);color:var(--muted)}.header-right{gap:16px}.local-badge{color:#637b69;font-size:10px}.avatar{background:var(--mint);color:#365222;font-size:11px;width:34px;height:34px;border:1px solid #afc48655}.jm-theme-button{width:34px;min-height:34px;padding:7px;border-radius:50%;color:var(--muted);background:transparent}.jm-theme-button svg{width:17px;height:17px}.ri-bell{background:var(--jm-input);border:1px solid var(--line);color:var(--ink);font-size:11px;border-radius:9px;padding:8px 11px}.ri-has-alerts{background:#fff0cc;border-color:#e8d59d;color:#745216}main{padding:28px 36px;max-width:1600px}h1{font-size:29px;letter-spacing:-1px;font-weight:700}h2{font-size:16px;font-weight:650;letter-spacing:-.2px}.eyebrow{font-size:9px;letter-spacing:1.8px;color:#778e9f;font-weight:650}.subtitle{font-size:12px;color:var(--muted);line-height:1.8}.page-heading{margin-bottom:25px;gap:16px}.jm-greeting{font-size:12px;color:var(--muted);margin:0 0 16px}.jm-greeting strong{color:var(--ink);font-weight:600}
.jm-hero{background:#0b263b;color:#fff;border-radius:20px;position:relative;overflow:hidden;display:grid;grid-template-columns:minmax(0,1fr) 270px;align-items:center;min-height:282px;margin-bottom:24px;padding:32px 38px;isolation:isolate;border:1px solid #1c3f53;box-shadow:0 12px 30px #0a233b14}.jm-hero:before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse at 85% 35%,#658b3c30,transparent 55%);z-index:-1}.jm-contours{position:absolute;width:650px;height:420px;right:-100px;top:-75px;color:#8baa6970;z-index:-1;opacity:.42;pointer-events:none}.jm-hero-copy{position:relative;z-index:1}.jm-hero .eyebrow{color:#b4db59;letter-spacing:2px;display:flex;align-items:center;gap:9px}.jm-hero .eyebrow:before{content:'';height:5px;width:5px;background:#b4db59;border-radius:50%}.jm-hero h1{font-size:39px;line-height:1.16;letter-spacing:-1.3px;margin:16px 0 12px;font-weight:650}.jm-hero h1 em{font-style:normal;color:#c2e77c}.jm-hero p{color:#a9c0ce;font-size:12px;line-height:1.85;max-width:420px;margin:0}.jm-hero-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:23px}.jm-hero .primary{background:#b4db59;border-color:#b4db59;color:#142c26;box-shadow:none}.jm-hero .primary:hover{background:#c6e67e;border-color:#c6e67e}.jm-hero .jm-secondary{background:#ffffff08;border-color:#ffffff27;color:#d4e1ea}.jm-hero .jm-secondary:hover{background:#ffffff13}.jm-hero-emblem{position:relative;display:grid;place-items:center;align-self:stretch}.jm-hero-emblem:before{content:'';position:absolute;width:244px;height:244px;border:1px solid #b4db592a;border-radius:50%}.jm-hero-emblem img{width:220px;height:220px;object-fit:contain;border-radius:50%;box-shadow:0 18px 40px #0006}.jm-hero-chip{position:absolute;bottom:2px;right:0;font-size:8px;letter-spacing:1.4px;color:#a9c3cf;border:1px solid #ffffff20;background:#102f43;border-radius:6px;padding:7px 11px}
.cards{gap:17px;margin-bottom:24px}.stat{background:var(--jm-card);border:1px solid var(--line);border-radius:14px;box-shadow:var(--jm-shadow);padding:22px 20px;min-width:0}.stat .label{color:var(--muted);font-size:10px;max-width:calc(100% - 32px);line-height:1.5;min-height:16px}.stat .value{font-size:30px;letter-spacing:-1.2px;margin:15px 0 8px;color:var(--ink);font-weight:650;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}.stat .hint{color:#7a8fa0;font-size:10px;line-height:1.6}.stat .symbol{padding:8px;right:16px;top:16px;background:var(--jm-input);color:#57768a;border-radius:9px;display:grid;place-items:center}.stat .symbol svg{width:17px;height:17px}.stat:first-child .symbol{background:var(--mint);color:#688d31}.panel{background:var(--jm-card);border-color:var(--line);border-radius:14px;box-shadow:var(--jm-shadow)}.panel-head{border-color:var(--line);padding:20px 23px;flex-wrap:wrap}.panel-head a{color:#648331;font-weight:650}.panel-body{padding:23px}.help{color:var(--muted);font-size:11px}.notice{background:var(--mint);border-color:#c9d8b7;color:#617347;border-radius:12px;line-height:1.85}.notice strong{color:#3f5c2b}.grid-two{gap:22px}.grid-two>*{min-width:0}.banner{background:#0b2b40;border:1px solid #244353;border-radius:14px;padding:25px}.banner h2{font-size:20px;color:#eaf1f5}.banner p{color:#abc0ce}.banner .button{background:#b4db59;border-color:#b4db59;color:#182e27}.banner .eyebrow{color:#b4db59!important}.workflow-row strong{color:var(--ink);font-size:12px}.workflow-row small{color:var(--muted);line-height:1.7}.step-number{background:var(--jm-input);color:#6b8b3e;border:1px solid var(--line);border-radius:9px;font-weight:600}
input,select,textarea{border-color:var(--line);background:var(--jm-input);color:var(--ink);border-radius:9px;padding:12px;font-size:13px;min-height:42px}input:focus,select:focus,textarea:focus{outline:0;border-color:#90ad63;box-shadow:0 0 0 3px #8daf4320;background:var(--jm-card)}input::placeholder,textarea::placeholder{color:#8c9daa}label{color:var(--muted);font-size:11px;font-weight:550}label.check{font-weight:400}input[type=checkbox]{accent-color:#6d932f;min-height:initial}input[type=file]{padding:9px;background:var(--jm-card)}.form-tabs{gap:7px;background:var(--jm-card);border:1px solid var(--line);padding:7px;border-radius:12px;margin-bottom:22px}.form-tabs button{border-color:transparent;background:transparent;flex:1;white-space:nowrap;color:var(--muted);font-size:11px}.form-tabs button.active{background:#163f53;color:#fff;border-color:#163f53;box-shadow:0 3px 9px #15364920}.section-title{border-color:var(--line);padding:21px 24px}.section-title span{background:var(--mint);color:#638135;width:29px;height:29px;border-radius:9px;font-weight:650}.form-actions{background:color-mix(in srgb,var(--bg) 92%,transparent);backdrop-filter:blur(10px);border-top:1px solid var(--line);padding:16px 0;z-index:3}.form-section{margin-bottom:22px}.details span{color:var(--muted);font-size:10px}.details strong{color:var(--ink);font-size:13px;line-height:1.7}.record-top{flex-wrap:wrap}.tools{padding:20px 22px;border-bottom:1px solid var(--line);align-items:center}.tools .search{max-width:none;min-width:180px}.tools>select{min-height:42px}
table{font-size:12px}th{background:var(--jm-input);color:#7a8fa0;font-size:9px;font-weight:650;letter-spacing:1px;padding:14px 20px}td{border-color:var(--line);padding:18px 20px;color:var(--ink)}td small{color:var(--muted);line-height:1.7;font-size:10px}td a:hover{color:#6c902f}tbody tr:hover{background:var(--jm-input)}td strong{font-weight:600}.badge{border-radius:6px;background:var(--mint);color:#567532;padding:5px 8px;font-size:10px;font-weight:600}.badge.gray{background:var(--jm-input);color:var(--muted)}.badge.amber{background:#fff1d7;color:#946715}.badge.red{background:#ffece7;color:#a1503c}.progress{background:var(--line);height:4px}.progress i{background:#96b745}.alert-row{border-color:var(--line);line-height:1.7}.alert-row small{color:var(--muted)}.doc-card{border-color:var(--line);border-radius:14px;background:var(--jm-card);box-shadow:var(--jm-shadow);padding:23px;transition:transform .18s,box-shadow .18s}.doc-card:hover{transform:translateY(-3px);box-shadow:0 12px 30px #132d4618}.doc-card p{color:var(--muted)}.doc-card .doc-icon{color:#74963a}.office-summary>div{background:var(--jm-card);border-color:var(--line);border-radius:12px;box-shadow:var(--jm-shadow)}.office-summary strong{color:var(--ink)}.office-summary span{color:var(--muted)}.office-preview{background:#f7f9fb;border-color:var(--line);color:#172c40;border-radius:10px}.office-filled{border-color:var(--line)}.attached{border-color:var(--line);border-radius:10px;background:var(--jm-input)}.auth-drop{background:var(--jm-input);border-color:#c6d4df;border-radius:13px}.auth-file-icon{color:#7c9b43;border-color:var(--line);border-radius:9px}.auth-upload-copy p,.auth-upload-copy small{color:var(--muted)}.auth-review-field{border-color:var(--line);border-radius:10px}
.ri-record,.ri-alert,.ri-panel-footer{border-color:var(--line)}.ri-alert small,.ri-record-head small,.ri-state small{color:var(--muted)}.ri-unread{background:var(--mint);border-left-color:#8aa843}.ri-state{background:var(--jm-input);border-color:#88a848;border-radius:0 8px 8px 0}.ri-panel-footer{color:var(--muted);background:var(--jm-input);font-size:10px}.ri-panel-footer a{color:#6b8a3d;font-weight:600}#ri-dashboard{border-top:3px solid #92b449}#ri-dashboard .panel-head .help{font-size:10px}.ri-settings input[type=number]{max-width:180px}.empty{color:var(--muted)}.empty h3{color:var(--ink)}dialog{background:var(--jm-card);border-color:var(--line);border-radius:18px;box-shadow:0 35px 100px #031a3555;color:var(--ink)}dialog::backdrop{background:#041c33a6;backdrop-filter:blur(5px)}#modal-content>.panel-head{background:var(--jm-card)}#toast{background:#103548;color:#eff8e4;border:1px solid #8aa94455;border-radius:12px;box-shadow:0 10px 40px #10294230;font-size:12px;line-height:1.6}.fp-heading,.fp-main{background:var(--jm-card)}.fp-sidebar,.fp-footer,.fp-breadcrumbs,.fp-search{background:var(--jm-input);border-color:var(--line)}.fp-heading{border-color:var(--line)}.fp-title-icon{background:var(--mint);color:#6a8f30;border-color:#cbd9b7}.fp-heading h2,.fp-folder strong,.fp-destination strong{color:var(--ink)}.fp-heading p,.fp-count,.fp-folder small,.fp-destination small,.fp-local-note,.fp-no-recent{color:var(--muted)}.fp-folder{background:var(--jm-card);border-color:var(--line);border-radius:12px}.fp-folder:hover{background:var(--mint);border-color:#b0c68b}.fp-folder>svg{color:#809c43;fill:var(--mint)}.fp-shortcut{color:var(--muted)}.fp-shortcut.selected{background:var(--mint);color:#56782e}.fp-footer-actions .primary{background:#173d53;border-color:#173d53}.fp-footer-actions .primary:hover{background:#24596d}.fp-search input{background:transparent;min-height:initial}.fp-footer{border-color:var(--line)}.fp-destination>span,.fp-sidebar-title{color:#8c9eaa}.fp-breadcrumbs button{color:var(--muted)}footer{color:var(--muted);border-top:1px solid var(--line);font-size:10px;padding:20px 36px;gap:15px}.jm-footer-name{font-weight:650;color:var(--ink)}#license-lock{background:var(--bg)!important}#license-lock .panel{border-top:4px solid #a7c952}
html[data-jm-theme=dark]{--ink:#dce7ef;--muted:#9aafc0;--line:#2c4354;--bg:#0d1e2b;--jm-card:#142b3b;--jm-input:#102536;--mint:#263f2d;--jm-shadow:0 8px 30px #00000015;--green:#6e993c;color-scheme:dark}html[data-jm-theme=dark] .notice{border-color:#3d5633;color:#b3c69a}html[data-jm-theme=dark] .notice strong{color:#d1e1b3}html[data-jm-theme=dark] .office-preview{background:#f5f7f9;color:#162b3d}html[data-jm-theme=dark] .stat:first-child .symbol{color:#bedc87}html[data-jm-theme=dark] .badge{color:#b4d584}html[data-jm-theme=dark] .document{background:#fff;color:#17231d}html[data-jm-theme=dark] .local-badge{color:#b4c99e}html[data-jm-theme=dark] .form-tabs button.active{background:#294c60}html[data-jm-theme=dark] .panel-head a,html[data-jm-theme=dark] .ri-panel-footer a{color:#adcf76}
@media(min-width:1500px){main{padding:34px 44px}.jm-hero{padding:38px 44px;grid-template-columns:minmax(0,1fr) 330px}.jm-hero h1{font-size:45px}.jm-hero-emblem img{width:240px;height:240px}.jm-hero-emblem:before{width:268px;height:268px}}
@media(min-width:1101px){.grid-two{grid-template-columns:minmax(0,1fr) 280px}}
@media(max-width:1200px){:root{--jm-sidebar:224px}body>aside{padding:24px 14px 15px}.jm-brand-word{font-size:24px}.jm-brand-caption{font-size:8px;letter-spacing:1.3px}main{padding:26px}.jm-hero{padding:28px;grid-template-columns:minmax(0,1fr) 210px}.jm-hero h1{font-size:32px}.jm-hero-emblem img{width:180px;height:180px}.jm-hero-emblem:before{width:200px;height:200px}.jm-hero-chip{font-size:7px;right:-5px}.stat{padding:20px 16px}.stat .value{font-size:27px}.stat .symbol{right:11px;top:13px}}
@media(max-width:1000px){.cards{grid-template-columns:repeat(2,minmax(0,1fr))}.jm-hero{grid-template-columns:minmax(0,1fr) 170px}.jm-hero-emblem img{width:150px;height:150px}.jm-hero-emblem:before{width:168px;height:168px}.jm-hero-chip{display:none}.jm-hero h1{font-size:30px}.jm-hero p{font-size:11px}.jm-hero{padding:26px 24px}.page-heading{align-items:flex-start;flex-wrap:wrap}.form-tabs button{flex:1 1 28%}.header-right{gap:8px}.local-badge{display:none}}
@media(max-width:700px){body>aside{position:static;width:100%;padding:16px 18px;overflow:visible;border-radius:0}.shell{margin-left:0}.brand{display:inline-flex}.jm-brand-icon{width:37px;height:37px;border-radius:10px}.jm-brand-word{font-size:24px}.jm-brand-caption{font-size:8px;margin-top:6px}.workspace,.jm-location,.local-status{display:none}aside nav{display:flex;gap:4px;overflow-x:auto;margin-top:17px;padding-bottom:4px;scrollbar-width:none}aside nav a{padding:10px 12px;gap:8px;flex:none}aside nav a svg{width:16px;height:16px}aside nav a span{font-size:10px}aside nav a.active:before{display:none}header{height:59px;padding:0 18px;font-size:10px}.header-right{gap:7px}.avatar{display:none}.ri-bell{font-size:9px;padding:7px 8px}.jm-theme-button{min-height:30px;width:30px;padding:6px}main{padding:21px 17px}.jm-greeting{font-size:11px;margin-bottom:13px}.jm-hero{grid-template-columns:minmax(0,1fr) 110px;padding:25px 20px;min-height:250px;gap:8px;border-radius:16px}.jm-hero h1{font-size:26px;letter-spacing:-.8px;line-height:1.25}.jm-hero .eyebrow{font-size:7px;letter-spacing:1.1px}.jm-hero p{font-size:10px;line-height:1.8}.jm-hero-emblem img{width:104px;height:104px}.jm-hero-emblem:before{width:116px;height:116px}.jm-hero-actions{gap:7px;margin-top:18px}.jm-hero-actions .button{font-size:10px;padding:9px 11px;min-height:36px}.jm-hero .jm-secondary{display:none}.cards{gap:11px}.stat{padding:18px 15px;border-radius:12px}.stat .symbol{display:none}.stat .label{max-width:100%;font-size:10px}.stat .value{font-size:25px;margin:12px 0 7px}.stat .hint{font-size:9px}.panel-head{padding:17px 18px}.panel-body{padding:19px}.form-tabs{gap:3px;padding:5px}.form-tabs button{font-size:10px;min-height:36px;padding:8px}.form-actions{padding:12px 0}.form-actions button{font-size:10px;padding:10px}.form-actions>div{gap:6px}.page-heading h1{font-size:26px}.form-grid,.office-fields{grid-template-columns:minmax(0,1fr)}.section-title{padding:18px}.section-title h2{font-size:14px}footer{padding:18px;font-size:9px;flex-direction:column;gap:7px}.ri-panel-footer{padding:14px 18px}.tools{padding:16px;gap:9px}.tools .search{max-width:none;min-width:100%;flex-basis:100%}.office-summary{gap:10px}.office-summary>div{min-width:0;padding:18px;flex:1}.office-summary strong{font-size:25px}.jm-contours{opacity:.25}.jm-hero .eyebrow:before{width:4px;height:4px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{transition:none!important;animation:none!important;scroll-behavior:auto!important}}
@media print{.jm-greeting,.jm-hero,.jm-theme-button{display:none!important}html[data-jm-theme=dark]{color-scheme:light}dialog{box-shadow:none;background:white;color:#17231d}.document{background:#fff!important;color:#17231d!important}.document h1,.document h2{color:#17231d}}
html[data-jm-theme=dark] .badge.amber{color:#946715}html[data-jm-theme=dark] .badge.red{color:#a1503c}html[data-jm-theme=dark] .badge.gray{color:var(--muted)}.auth-text-details{color:var(--muted)}.auth-text-details pre{background:var(--jm-input);color:var(--ink)}.page-heading>div{min-width:0}.ri-alert p{overflow-wrap:anywhere}
.jm-brand-caption{font-size:7.5px;letter-spacing:1.1px;white-space:nowrap}.jm-greeting{font-size:11px;letter-spacing:.2px}
.brand{display:flex;align-items:center;text-decoration:none}
.jm-lock-brand{display:flex;align-items:center;gap:15px;margin-bottom:26px;padding-bottom:22px;border-bottom:1px solid var(--line)}.jm-lock-brand img{width:67px;height:67px;border-radius:50%;object-fit:contain}.jm-lock-brand strong{font-size:22px;letter-spacing:-.8px;color:var(--ink)}.jm-lock-brand small{display:block;margin-top:6px;font-size:8px;letter-spacing:1.2px;color:var(--muted)}
.jm-hero.jm-no-emblem{grid-template-columns:minmax(0,1fr)}.jm-hero.jm-no-emblem .jm-hero-copy{max-width:100%}.jm-hero.jm-no-emblem p{max-width:550px}.jm-hero.jm-no-emblem .jm-contours{right:-20px;opacity:.3}
