/* DasonField: cuaderno de campo, cartografía y gabinete. Sin dependencias externas. */
:root{--df-forest:#133d30;--df-deep:#102c25;--df-paper:#f5f2e9;--df-ink:#233a32;--df-muted:#53665d;--df-line:#d7dfd4;--df-orange:#e6a45e}
.df-site{font-family:ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;line-height:1.65;accent-color:var(--df-forest)}
.df-site *{box-sizing:border-box}.df-site img,.df-site svg{max-width:100%}.df-site [hidden]{display:none!important}
.df-site :is(h1,h2,h3){text-wrap:balance}.df-site :is(p,li,a){overflow-wrap:break-word}
.df-site :is(a,button,input,select,textarea):focus-visible{outline:3px solid #bd7737;outline-offset:4px}
.df-site :is(input,select,textarea){font:inherit}.df-site button{cursor:pointer}.df-site button:disabled{cursor:wait}
.df-site :is(a,button){touch-action:manipulation}.df-site .df-skip{position:absolute;left:12px;top:-80px;z-index:100;background:white;color:#133d30;padding:12px}.df-skip:focus{top:8px}
.df-nav{background:var(--df-paper);color:var(--df-ink);border-bottom:1px solid var(--df-line)}
.df-nav-inner{max-width:1200px;margin:auto;padding:18px 28px;display:flex;align-items:center;gap:28px;justify-content:space-between;flex-wrap:wrap}
.df-brand{font-size:22px;letter-spacing:-.7px;font-weight:800;text-decoration:none;color:var(--df-forest);display:flex;align-items:center;gap:10px}.df-brand svg{width:30px;height:34px}
.df-nav-links{display:flex;gap:24px;flex-wrap:wrap;font-size:14px}.df-nav-links a{color:var(--df-ink);text-decoration:none}.df-nav-links a:hover{text-decoration:underline}
.df-wrap{max-width:1200px;margin:auto;padding:0 28px}.df-home{background:var(--df-paper);color:var(--df-ink);margin:0}
.df-home .df-hero{background:var(--df-deep);color:#f7f5ea;padding:64px 0 52px;overflow:hidden}
.df-hero-grid{display:grid;grid-template-columns:1fr 1.08fr;gap:54px;align-items:center}
.df-home .df-kicker{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.17em;color:#e7b77d;margin:0 0 20px}
.df-home h1{font-size:clamp(36px,4.5vw,62px);line-height:1.07;letter-spacing:-2px;margin:0 0 24px;font-weight:650}
.df-home .df-intro{font-size:18px;line-height:1.7;color:#d6e3d7;max-width:540px}
.df-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px;align-items:center}
.df-button{display:inline-flex;justify-content:center;align-items:center;min-height:48px;padding:11px 21px;border:1px solid #406151;border-radius:8px;background:#d6e7bc;color:#15382c!important;text-decoration:none;font-weight:700;font-size:14px}
.df-button.secondary{background:transparent;color:#f3f5ec!important;border-color:#799487}.df-button:hover{filter:brightness(1.07)}
.df-home .df-caption{font-size:12px;color:#c0d4c7;margin:16px 0 0}.df-terrain{margin:0;border:1px solid #577c64;border-radius:14px;overflow:hidden;background:#1a4034;box-shadow:0 18px 55px #0002}
.df-terrain img{display:block;width:100%;height:auto}.df-terrain figcaption{padding:12px 18px;color:#d3dfd1;font-size:12px;border-top:1px solid #577c64;line-height:1.5}
.df-home section.df-section{padding:76px 0}.df-home .df-section.alt{background:#fff;border-block:1px solid var(--df-line)}
.df-section-head{display:grid;grid-template-columns:1fr 1fr;gap:45px;margin-bottom:32px;align-items:end}.df-home h2{font-size:clamp(28px,3vw,40px);line-height:1.2;letter-spacing:-1px;margin:0 0 12px}.df-home h3{font-size:19px;line-height:1.35;margin:0 0 12px}.df-home .df-section p{color:var(--df-muted);margin-top:0}
.df-home .df-section .df-kicker{color:#647548}.df-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.df-card{border:1px solid var(--df-line);border-radius:10px;padding:27px;background:#fff;position:relative}.df-card p{font-size:15px;margin-bottom:0}.df-index{display:block;font-size:12px;color:#657c68;letter-spacing:.08em;border-bottom:1px solid var(--df-line);padding-bottom:15px;margin-bottom:21px;font-weight:700}
.df-workflow{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));list-style:none;padding:0;gap:24px;margin:36px 0 0}.df-workflow li{border-top:2px solid #8b9f76;padding-top:20px}.df-workflow b{display:block;margin-bottom:9px}.df-workflow p{font-size:14px}
.df-two{display:grid;grid-template-columns:1fr 1fr;gap:48px}.df-note{border-left:3px solid #b4814d;padding:14px 20px;background:#ebeede;border-radius:0 8px 8px 0;font-size:14px}
.df-home .df-section .df-button{background:var(--df-forest);color:#fff!important}.df-home .df-footer{padding:40px 0;background:var(--df-deep);color:#c5d8ca}.df-footer .df-wrap{display:flex;justify-content:space-between;gap:30px;flex-wrap:wrap}.df-footer nav{display:flex;flex-wrap:wrap;gap:12px 24px;max-width:650px}.df-footer a{color:#dbe7d9;font-size:14px}.df-footer p{margin:0;font-size:13px}
.df-sheet{background:#fbfcf7;border:1px solid #bfcfba;border-radius:10px;overflow:hidden;box-shadow:0 16px 35px #143b3010;align-self:center}.df-sheet-head{display:flex;justify-content:space-between;gap:15px;background:#254a37;color:#edf3df;padding:16px 20px;font-size:11px;letter-spacing:.1em}.df-sheet-scroll{overflow-x:auto}.df-sheet table{border-collapse:collapse;width:100%;font-size:14px;font-variant-numeric:tabular-nums}.df-sheet th,.df-sheet td{padding:15px 16px;text-align:left;border-bottom:1px solid #dce4d6;white-space:nowrap}.df-sheet th{color:#42563d;font-size:12px;background:#eaf0e2}.df-sheet tbody tr:nth-child(2n){background:#f0f5e9}.df-sheet caption{text-align:left;padding:16px;color:#526548;font-size:12px;caption-side:bottom}.df-home .df-sheet>p{font-size:11px;padding:0 16px 16px;margin:0}.df-text-link{color:#205439;text-underline-offset:5px;font-weight:650;font-size:15px}
/* Documentación: jerarquía editorial, tablas legibles y cabecera cartográfica. */
.df-site .legal-hero{background-color:var(--df-deep);background-image:linear-gradient(90deg,#102c25 40%,#102c2580),url('/trazado-20260925.svg');background-position:right center;background-size:auto,540px;background-repeat:no-repeat;color:#f5f4e9;padding-block:48px}
.df-site .legal-hero-inner{padding-block:0}.df-site .legal-hero :is(h1,.legal-lead,.legal-meta,.legal-kicker){color:#f1f4e9}.df-site .legal-hero .legal-lead{max-width:740px}.df-site .legal-hero .legal-meta{color:#c5d8ca}.df-site .legal-hero .legal-kicker{color:#e9bc88}
.df-site .legal-article{border-radius:12px;box-shadow:0 8px 28px #193b2606}.df-site .legal-card{border-radius:10px;border-color:#ccd8ca}.df-site .legal-price{letter-spacing:-1px;font-variant-numeric:tabular-nums}
.df-site .legal-article h2{padding-top:12px;border-top:1px solid #e1e6dc;scroll-margin-top:110px}.df-site .legal-table-wrap{overflow-x:auto}.df-site .legal-header{background:#faf9f3}.df-site .legal-btn{border-radius:7px}
.df-site .legal-article p{max-width:85ch}.df-site .legal-note{border-radius:6px}.df-site .legal-toc{border-radius:10px}
/* Desktop mantiene los enlaces de descarga y el instalador publicados. */
.df-desktop header.hero{background:var(--df-deep);padding:48px 0}.df-desktop .envoltura{max-width:1120px}.df-desktop header.hero h1{font-size:clamp(32px,4vw,52px);letter-spacing:-1.5px}.df-desktop .df-desktop-map{margin:30px 0 0;max-width:660px}.df-desktop .df-desktop-map img{width:100%;max-height:290px;object-fit:cover;object-position:center}.df-desktop .cap{border-radius:10px;border-color:var(--df-line);box-shadow:none}.df-desktop .destacado{border-left-color:#bc854f}.df-desktop :is(.descargar,.boton){border-radius:8px}.df-desktop section{padding-block:52px}
/* Cuenta: se conservan IDs, estados ocultos, validaciones y comportamiento. */
.df-auth{background:#102c25 url('/trazado-20260925.svg') no-repeat left center;background-size:min(65vw,900px);background-attachment:fixed;color:#ecf2e7;padding:36px 22px;min-height:100vh;display:grid;place-items:center}
.df-auth>main{width:min(100%,490px);max-width:490px;background:#173e32;border:1px solid #496658;padding:30px;border-radius:16px;box-shadow:0 20px 80px #06140d55;margin:0}
.df-auth .marca{margin-bottom:25px}.df-auth .marca img{width:52px;height:52px;border-radius:12px}.df-auth :is(h1,.marca h1){font-size:28px;line-height:1.2;letter-spacing:-.5px;color:#f7f6ef}.df-auth .marca p{font-size:15px;line-height:1.65;color:#d4e1d4}.df-auth .tarjeta{border:1px solid #617567;border-radius:10px;padding:22px;background:#f8f7ef;color:#233b30}.df-auth .tarjeta :is(label,.pista){color:#415547}.df-auth .tarjeta input{background:white;border-color:#9dac9d;color:#193a2a;min-height:46px}.df-auth .tarjeta a{color:#245d41}.df-auth .tarjeta #submit{background:#24533c;color:white;border-radius:7px;min-height:48px}.df-auth .tarjeta .ojo{color:#285c41}.df-auth :is(.pie,.pie-firma){color:#cadcca}.df-auth .pie-enlaces a{color:#dfebd8}.df-auth .aviso.error{color:#a62f2f}.df-auth .df-auth-label{font-size:11px;text-transform:uppercase;letter-spacing:.15em;color:#edbb80;margin:0 0 20px;text-align:center}.df-auth .campo-clave input{min-width:0}.df-auth .enlaces{gap:14px;flex-wrap:wrap}
.df-auth .pie-portal{margin-top:24px;padding-top:18px;border-top:1px solid #547261;font-size:13px}.df-auth .pie-enlaces{display:flex;flex-wrap:wrap;justify-content:center;gap:12px 18px}.df-auth .pie-firma{font-size:12px;line-height:1.7;text-align:center}
.df-utility .repo-header{background:#153c2e;color:#f5f6ef}.df-utility .repo-header :is(a,small){color:#e0e9da}.df-utility .repo-main{max-width:1120px}.df-utility :is(.auth-card,.upload-card,.file-card){border-radius:10px}.df-utility .cinta{background:#153c2e}.df-utility .ficha{border-radius:10px}
@media(min-width:900px){.df-desktop header.hero .envoltura{display:grid;grid-template-columns:1.05fr 1fr;column-gap:44px;row-gap:16px;align-items:start}.df-desktop header.hero .envoltura>:not(figure){grid-column:1;margin-block:0}.df-desktop header.hero .df-desktop-map{grid-column:2;grid-row:1 / span 5;align-self:center;margin:0;max-width:none}.df-desktop .df-desktop-map img{max-height:none;object-fit:contain}.df-desktop header.hero .descargar{justify-self:start}}
@media(min-width:1100px){.df-auth>main{margin-left:42vw}}
@media(max-width:760px){.df-nav-inner{padding:16px 20px;gap:14px}.df-nav-links{gap:12px 18px;font-size:13px}.df-wrap{padding-inline:20px}.df-hero-grid,.df-section-head,.df-two{grid-template-columns:1fr;gap:28px}.df-home .df-hero{padding-block:38px}.df-home h1{letter-spacing:-1px}.df-home section.df-section{padding-block:44px}.df-cards{grid-template-columns:1fr}.df-workflow{grid-template-columns:1fr 1fr}.df-site .legal-hero{background-image:linear-gradient(90deg,#102c25ed,#102c25df),url('/trazado-20260925.svg')}.df-auth{background-image:none;padding:18px 12px}.df-auth>main{padding:24px 18px}.df-auth .tarjeta{padding:18px}.df-terrain figcaption{font-size:11px}.df-desktop .df-desktop-map img{max-height:none}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto!important}*,*::before,*::after{animation:none!important;transition:none!important}}
