*,*:before,*:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;color-scheme:light}body{margin:0;font:14px/1.45 system-ui,sans-serif;padding-top:env(safe-area-inset-top,0px)}img{max-width:100%}[hidden]{display:none!important}:root{--bg:#ECEEEA;--surface:#FFFFFF;--surface-2:#F5F6F3;--ink:#1A201C;--muted:#5C6660;--line:#D3D8D1;--accent:#1F4E8C;--accent-ink:#FFFFFF;--accent-soft:#DDE6F2;--mark:#E8A900;--grid:rgba(26,32,28,.07);--ok:#2E7D4F;--ok-soft:#DCEFE3;--warn:#9A6200;--warn-soft:#F8EBCF;--bad:#B42318;--bad-soft:#F9DEDB;--idle:#7A847E;--idle-soft:#E6E9E4;--bar:#C7D2DF;--c-mano:#1F4E8C;--c-mat:#8A5A2B;--c-op:#5B6B3A;--f-display:"Barlow Condensed","Arial Narrow",system-ui,sans-serif;--f-body:"IBM Plex Sans",system-ui,-apple-system,"Segoe UI",sans-serif;--f-mono:"IBM Plex Mono",ui-monospace,"SFMono-Regular",Menlo,monospace;--r:10px;--nav-h:62px}@media (prefers-color-scheme: dark){:root:not([data-theme=light]){--bg:#121614;--surface:#1B201D;--surface-2:#222824;--ink:#E7EBE6;--muted:#9AA39D;--line:#323A35;--accent:#7AA7E8;--accent-ink:#0C1828;--accent-soft:#1D2B3E;--mark:#F2C23A;--grid:rgba(231,235,230,.06);--ok:#62C08F;--ok-soft:#183325;--warn:#E3AA4F;--warn-soft:#3A2D14;--bad:#F08577;--bad-soft:#3E1D19;--idle:#8C958F;--idle-soft:#2A302C;--bar:#34404E;--c-mano:#7AA7E8;--c-mat:#D19A63;--c-op:#A9BE7A;color-scheme:dark}}:root[data-theme=dark]{--bg:#121614;--surface:#1B201D;--surface-2:#222824;--ink:#E7EBE6;--muted:#9AA39D;--line:#323A35;--accent:#7AA7E8;--accent-ink:#0C1828;--accent-soft:#1D2B3E;--mark:#F2C23A;--grid:rgba(231,235,230,.06);--ok:#62C08F;--ok-soft:#183325;--warn:#E3AA4F;--warn-soft:#3A2D14;--bad:#F08577;--bad-soft:#3E1D19;--idle:#8C958F;--idle-soft:#2A302C;--bar:#34404E;--c-mano:#7AA7E8;--c-mat:#D19A63;--c-op:#A9BE7A;color-scheme:dark}html,body{min-height:100%}body{background:var(--bg);color:var(--ink);font-family:var(--f-body);font-size:15px;line-height:1.45;-webkit-tap-highlight-color:transparent}body:before{content:"";position:fixed;inset:0 0 auto;height:env(safe-area-inset-top,0px);z-index:30;background:var(--surface)}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.num{font-family:var(--f-mono);font-variant-numeric:tabular-nums}.top{position:sticky;top:env(safe-area-inset-top,0px);z-index:20;background:var(--surface);border-bottom:1px solid var(--line)}.top-in{max-width:1080px;margin:0 auto;display:flex;align-items:center;gap:8px;padding-block:10px;padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px))}.obra-btn{flex:1;min-width:0;display:flex;flex-direction:column;align-items:flex-start;background:none;border:0;padding:2px 0;text-align:left}.obra-btn .lbl{font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}.obra-btn .nm{font-family:var(--f-display);font-weight:700;font-size:22px;line-height:1.1;max-width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.obra-btn .nm:after{content:" ▾";font-size:14px;color:var(--muted)}.icon-btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;height:40px;min-width:40px;padding:0 10px;border-radius:8px;border:1px solid var(--line);background:var(--surface-2);font-weight:600;font-size:13px}.icon-btn svg{width:18px;height:18px}main{max-width:1080px;margin:0 auto;padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px));padding-block:16px calc(var(--nav-h) + 96px + env(safe-area-inset-bottom,0px));display:flex;flex-direction:column;gap:16px}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:16px;min-width:0}.sec-h{display:flex;align-items:baseline;justify-content:space-between;gap:12px;flex-wrap:wrap}h2.h{font-family:var(--f-display);font-weight:700;font-size:20px;letter-spacing:.01em;margin:0;text-wrap:balance}.eyebrow{font-size:11px;letter-spacing:.09em;text-transform:uppercase;color:var(--muted);font-weight:600}.muted{color:var(--muted)}.small{font-size:13px}.link-btn{background:none;border:0;color:var(--accent);font-weight:600;padding:4px 0;font-size:14px}.grid2{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));gap:16px}.btns{display:flex;gap:8px;flex-wrap:wrap}.hero{display:flex;flex-direction:column;gap:14px}.hero-top{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap}.big{font-family:var(--f-display);font-weight:700;font-size:56px;line-height:.9}.big small{font-size:26px}.big.money{font-size:44px}.prog{position:relative;height:14px;border-radius:7px;background:var(--surface-2);border:1px solid var(--line)}.prog .fill{position:absolute;inset:0 auto 0 0;border-radius:7px;background:var(--accent)}.prog .plan{position:absolute;top:-5px;bottom:-5px;width:3px;margin-left:-1.5px;background:var(--mark);border-radius:2px}.legend{display:flex;gap:14px;flex-wrap:wrap;font-size:12px;color:var(--muted)}.legend i{display:inline-block;width:10px;height:10px;border-radius:2px;margin-right:5px;vertical-align:-1px}.facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,96px),1fr));gap:8px}.fact{background:var(--surface-2);border-radius:8px;padding:10px;min-width:0}.fact b{display:block;font-family:var(--f-mono);font-size:17px;font-weight:500;overflow-wrap:anywhere}.fact span{font-size:12px;color:var(--muted)}.pill{display:inline-flex;align-items:center;gap:5px;font-size:12px;font-weight:600;padding:3px 9px;border-radius:999px;white-space:nowrap}.pill.ok{background:var(--ok-soft);color:var(--ok)}.pill.warn{background:var(--warn-soft);color:var(--warn)}.pill.bad{background:var(--bad-soft);color:var(--bad)}.pill.run{background:var(--accent-soft);color:var(--accent)}.pill.idle{background:var(--idle-soft);color:var(--idle)}.list{display:flex;flex-direction:column}.row{display:flex;align-items:center;gap:12px;padding:11px 0;border-top:1px solid var(--line);background:none;border-left:0;border-right:0;border-bottom:0;width:100%;text-align:left}.list .row:first-child{border-top:0}.row .main{flex:1;min-width:0}.row .t{font-weight:600;overflow-wrap:anywhere}.row .s{font-size:13px;color:var(--muted);overflow-wrap:anywhere}.row .amt{font-family:var(--f-mono);font-variant-numeric:tabular-nums;white-space:nowrap;text-align:right}.stripe{width:4px;align-self:stretch;border-radius:2px;flex:none}.stripe.ok{background:var(--ok)}.stripe.warn{background:var(--warn)}.stripe.bad{background:var(--bad)}.stripe.run{background:var(--accent)}.stripe.idle{background:var(--line)}.stripe.mano{background:var(--c-mano)}.stripe.materiales{background:var(--c-mat)}.stripe.operativos{background:var(--c-op)}.empty{text-align:center;padding:28px 12px;color:var(--muted);display:flex;flex-direction:column;align-items:center;gap:10px}.empty h3{font-family:var(--f-display);font-size:22px;color:var(--ink);margin:0}.empty p{margin:0;max-width:52ch}.ledger{width:100%;border-collapse:collapse;font-size:14px}.ledger td{padding:7px 0;border-top:1px solid var(--line);vertical-align:baseline}.ledger tr:first-child td{border-top:0}.ledger td:last-child{text-align:right;font-family:var(--f-mono);font-variant-numeric:tabular-nums;white-space:nowrap;padding-left:12px}.ledger tr.total td{font-weight:600;border-top:2px solid var(--ink)}.ledger tr.dim td{color:var(--muted)}.catrow{display:flex;flex-direction:column;gap:6px;padding:12px 0;border-top:1px solid var(--line)}.catrow:first-child{border-top:0;padding-top:4px}.catrow .hd{display:flex;justify-content:space-between;gap:10px;align-items:baseline;flex-wrap:wrap}.catrow .hd b{font-weight:600}.cbar{position:relative;height:16px;border-radius:4px;background:var(--surface-2);border:1px solid var(--line)}.cbar .bud{position:absolute;inset:0 auto 0 0;background:var(--bar);border-radius:3px}.cbar .real{position:absolute;top:3px;bottom:3px;left:0;border-radius:2px}.cbar .exp{position:absolute;top:-4px;bottom:-4px;width:3px;margin-left:-1.5px;background:var(--mark);border-radius:2px}.cbar .real.mano{background:var(--c-mano)}.cbar .real.materiales{background:var(--c-mat)}.cbar .real.operativos{background:var(--c-op)}.cbar .real.over{background:var(--bad)}.cnums{display:flex;gap:14px;flex-wrap:wrap;font-size:12px;color:var(--muted)}.cnums b{color:var(--ink);font-family:var(--f-mono);font-weight:500}.filters{display:flex;gap:6px;flex-wrap:wrap}.filters button{border:1px solid var(--line);background:var(--surface);border-radius:999px;padding:6px 12px;font-size:13px;font-weight:600;color:var(--muted)}.filters button[aria-pressed=true]{background:var(--ink);color:var(--surface);border-color:var(--ink)}.subnav{display:flex;gap:4px;overflow-x:auto;border-bottom:1px solid var(--line);margin-bottom:-4px}.subnav button{flex:none;border:0;background:none;padding:10px 12px;font-weight:600;font-size:14px;color:var(--muted);border-bottom:3px solid transparent}.subnav button[aria-current=page]{color:var(--ink);border-bottom-color:var(--accent)}.subnav .cnt{font-family:var(--f-mono);font-size:11px;background:var(--surface-2);border-radius:6px;padding:1px 5px;margin-left:4px}.g-tools{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap}.seg{display:inline-flex;border:1px solid var(--line);border-radius:8px;overflow:hidden}.seg button{border:0;background:var(--surface);padding:7px 12px;font-size:13px;font-weight:600;color:var(--muted)}.seg button[aria-pressed=true]{background:var(--accent);color:var(--accent-ink)}.g-scroll{overflow-x:auto;border:1px solid var(--line);border-radius:var(--r);background:var(--surface);-webkit-overflow-scrolling:touch}.g-inner{position:relative}.g-row,.g-head,.g-group{display:flex;min-height:44px}.g-name{position:sticky;left:0;z-index:2;flex:none;width:var(--gn);background:var(--surface);border-right:1px solid var(--line);padding:6px 10px;display:flex;flex-direction:column;justify-content:center;min-width:0;box-sizing:border-box}.g-track{position:relative;flex:none;border-bottom:1px solid var(--line);background-image:linear-gradient(to right,var(--grid) 1px,transparent 1px)}.g-row{cursor:pointer}.g-row:hover .g-name{background:var(--surface-2)}.g-tname{font-size:13px;font-weight:600;line-height:1.25;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.g-meta{font-size:11px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.g-head{min-height:34px;position:relative}.g-head .g-name{font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);font-weight:600}.g-month{position:absolute;top:0;bottom:0;border-left:1px solid var(--line);padding:8px 6px;font-size:11px;font-weight:600;color:var(--muted);text-transform:uppercase;letter-spacing:.06em;white-space:nowrap;overflow:hidden;box-sizing:border-box}.g-group{min-height:30px}.g-group .g-name{background:var(--surface-2);font-family:var(--f-display);font-weight:700;font-size:14px;letter-spacing:.05em;text-transform:uppercase}.g-group .g-track{background-color:var(--surface-2)}.g-sum{position:absolute;top:13px;height:5px;background:var(--muted);opacity:.55;border-radius:2px}.g-bar{position:absolute;top:11px;height:22px;border-radius:5px;background:var(--bar);overflow:hidden;display:flex;align-items:center}.g-bar.co{background-image:repeating-linear-gradient(135deg,transparent 0 5px,rgba(127,127,127,.25) 5px 7px)}.g-fill{position:absolute;inset:0 auto 0 0;background:var(--accent)}.g-bar.ok .g-fill{background:var(--ok)}.g-bar.warn .g-fill{background:var(--warn)}.g-bar.bad .g-fill{background:var(--bad)}.g-bar.bad{box-shadow:inset 0 0 0 2px var(--bad)}.g-bar.warn{box-shadow:inset 0 0 0 2px var(--warn)}.g-bar span{position:relative;font-family:var(--f-mono);font-size:11px;padding:0 6px;color:var(--ink);text-shadow:0 0 3px var(--surface)}.g-today{position:absolute;top:0;bottom:0;width:2px;background:var(--mark);z-index:1;pointer-events:none}.g-today:before{content:"HOY";position:absolute;top:2px;left:4px;font-size:10px;font-weight:700;color:#1a201c;background:var(--mark);padding:1px 4px;border-radius:3px}.g-orig{position:absolute;top:0;bottom:0;width:0;border-left:2px dashed var(--muted);z-index:1;pointer-events:none;opacity:.7}.entry{display:flex;flex-direction:column;gap:8px;padding:14px 0;border-top:1px solid var(--line)}.entry:first-child{border-top:0;padding-top:0}.entry-h{display:flex;justify-content:space-between;gap:10px;font-size:12px;color:var(--muted)}.entry p{margin:0}.entry .res{font-weight:600}.entry .raw{font-size:14px;color:var(--muted);font-style:italic}.chg{margin:0;padding-left:18px;font-size:13px}.photos{display:grid;grid-template-columns:repeat(auto-fill,minmax(88px,1fr));gap:6px}.photos button{padding:0;border:0;border-radius:6px;overflow:hidden;aspect-ratio:1;background:var(--surface-2);max-width:100%}.photos img{width:100%;height:100%;object-fit:cover;display:block}.mat{display:flex;flex-direction:column;gap:8px;padding:12px 0;border-top:1px solid var(--line);background:none;border-left:0;border-right:0;border-bottom:0;text-align:left;width:100%}.mat:first-child{border-top:0}.mat-h{display:flex;justify-content:space-between;gap:10px;align-items:baseline}.mat-h b{font-weight:600}.meter{position:relative;height:8px;border-radius:4px;background:var(--surface-2);border:1px solid var(--line);overflow:hidden}.meter .rec{position:absolute;inset:0 auto 0 0;background:var(--bar)}.meter .use{position:absolute;inset:0 auto 0 0;background:var(--accent)}.mat-n{display:flex;gap:14px;flex-wrap:wrap;font-size:12px;color:var(--muted)}.mat-n b{color:var(--ink);font-family:var(--f-mono);font-weight:500}.nav{position:fixed;left:0;right:0;bottom:0;z-index:20;background:var(--surface);border-top:1px solid var(--line);padding-bottom:env(safe-area-inset-bottom,0px);padding-left:env(safe-area-inset-left,0px);padding-right:env(safe-area-inset-right,0px)}.nav-in{max-width:640px;margin:0 auto;display:grid;grid-template-columns:repeat(5,1fr);height:var(--nav-h)}.nav button{background:none;border:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;font-size:11px;font-weight:600;color:var(--muted)}.nav button svg{width:22px;height:22px}.nav button[aria-current=page]{color:var(--accent)}.fab{position:fixed;z-index:21;right:max(16px,calc(env(safe-area-inset-right,0px) + 16px));bottom:calc(var(--nav-h) + 14px + env(safe-area-inset-bottom,0px));display:flex;align-items:center;gap:8px;padding:0 20px 0 16px;height:52px;border-radius:26px;border:0;background:var(--accent);color:var(--accent-ink);font-weight:600;font-size:15px;box-shadow:0 6px 18px #00000038}.fab svg{width:20px;height:20px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:0 16px;border-radius:9px;border:1px solid var(--line);background:var(--surface-2);font-weight:600;font-size:15px;text-decoration:none;color:var(--ink)}.btn.sm{min-height:36px;padding:0 12px;font-size:14px}.btn.primary{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}.btn.danger{color:var(--bad);background:transparent;border-color:transparent}.btn[disabled]{opacity:.55;cursor:default}.field{display:flex;flex-direction:column;gap:5px;min-width:0}.field label,.field .lab{font-size:12px;font-weight:600;color:var(--muted);letter-spacing:.02em}.field input,.field select,.field textarea{width:100%;box-sizing:border-box;min-height:44px;padding:9px 11px;border-radius:8px;border:1px solid var(--line);background:var(--surface);font-size:16px}.field textarea{min-height:110px;resize:vertical;line-height:1.45}.fields{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,140px),1fr));gap:12px}.check{display:flex;gap:10px;align-items:flex-start;font-size:14px}.check input{width:20px;height:20px;margin-top:2px;flex:none;accent-color:var(--accent)}.chips{display:flex;gap:6px;flex-wrap:wrap}.chip{border:1px dashed var(--line);background:var(--surface-2);border-radius:999px;padding:6px 11px;font-size:13px;color:var(--muted);text-align:left}.range-row{display:flex;gap:12px;align-items:center}.range-row input[type=range]{flex:1;accent-color:var(--accent);min-height:30px;padding:0;border:0}.range-row output{font-family:var(--f-mono);font-size:20px;min-width:56px;text-align:right}.qbtns{display:flex;gap:6px;flex-wrap:wrap}.qbtns button{border:1px solid var(--line);background:var(--surface-2);border-radius:7px;padding:6px 10px;font-size:13px;font-family:var(--f-mono)}.note{font-size:13px;color:var(--muted);background:var(--surface-2);border-radius:8px;padding:10px 12px}.summary-box{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,120px),1fr));gap:8px;background:var(--surface-2);border-radius:8px;padding:10px 12px;font-size:13px}.summary-box b{display:block;font-family:var(--f-mono);font-size:16px;font-weight:500}.change{display:flex;gap:10px;align-items:flex-start;padding:12px 0;border-top:1px solid var(--line)}.change:first-child{border-top:0}.change>input{width:20px;height:20px;margin-top:2px;flex:none;accent-color:var(--accent)}.change .body{flex:1;min-width:0;display:flex;flex-direction:column;gap:6px}.change .k{font-size:11px;letter-spacing:.07em;text-transform:uppercase;color:var(--muted);font-weight:600}.change .fields{gap:8px}.change .field input,.change .field select{min-height:38px;padding:6px 9px;font-size:15px}.alert-line{display:flex;gap:8px;align-items:flex-start;font-size:14px;color:var(--warn)}.thumbs{display:flex;gap:8px;flex-wrap:wrap}.thumb{position:relative;width:76px;height:76px;border-radius:8px;overflow:hidden;background:var(--surface-2);border:1px solid var(--line)}.thumb img{width:100%;height:100%;object-fit:cover}.thumb .pdf{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;padding:6px;box-sizing:border-box;font-size:10px;text-align:center;color:var(--muted);overflow:hidden;word-break:break-all}.thumb .pdf b{font-family:var(--f-display);font-size:18px;color:var(--bad)}.thumb button{position:absolute;top:3px;right:3px;width:22px;height:22px;border-radius:11px;border:0;background:#0009;color:#fff;font-size:14px;line-height:1}.file-btn{position:relative;overflow:hidden}.file-btn input{position:absolute;inset:0;opacity:0;cursor:pointer}.sheet-wrap{position:fixed;inset:0;z-index:40;display:flex;align-items:flex-end;justify-content:center}.sheet-backdrop{position:absolute;inset:0;background:#0a0e0c80}.sheet{position:relative;width:100%;max-width:640px;max-height:92%;display:flex;flex-direction:column;background:var(--surface);border-radius:16px 16px 0 0;box-shadow:0 -10px 30px #00000040;animation:up .22s ease-out}@keyframes up{0%{transform:translateY(24px);opacity:.6}to{transform:none;opacity:1}}@media (prefers-reduced-motion:reduce){.sheet,.spin{animation:none}}@media (min-width:700px){.sheet-wrap{align-items:center}.sheet{border-radius:16px;max-height:88%}}.sheet-head{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:14px max(16px,env(safe-area-inset-right,0px)) 10px max(16px,env(safe-area-inset-left,0px));border-bottom:1px solid var(--line)}.sheet-head h2{font-family:var(--f-display);font-size:22px;margin:0}.sheet-body{overflow-y:auto;padding:16px max(16px,env(safe-area-inset-right,0px)) 16px max(16px,env(safe-area-inset-left,0px));display:flex;flex-direction:column;gap:14px}.sheet-foot{display:flex;gap:8px;justify-content:flex-end;flex-wrap:wrap;padding:12px max(16px,env(safe-area-inset-right,0px)) calc(12px + env(safe-area-inset-bottom,0px)) max(16px,env(safe-area-inset-left,0px));border-top:1px solid var(--line)}.sheet-foot:empty{display:none}.sheet-foot .spacer{flex:1}.big-photo{width:100%;border-radius:8px;display:block}.toast{position:fixed;left:50%;transform:translate(-50%);bottom:calc(var(--nav-h) + 80px + env(safe-area-inset-bottom,0px));z-index:50;background:var(--ink);color:var(--bg);padding:10px 16px;border-radius:9px;font-size:14px;max-width:calc(100% - 32px);box-shadow:0 6px 18px #00000040}.skel{height:14px;border-radius:6px;background:var(--surface-2)}.spin{width:16px;height:16px;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;animation:sp .8s linear infinite;display:inline-block}@keyframes sp{to{transform:rotate(360deg)}}.obra-opt{display:flex;flex-direction:column;align-items:flex-start;gap:2px;padding:12px;border:1px solid var(--line);border-radius:9px;background:var(--surface);width:100%;text-align:left}.obra-opt[aria-current=true]{border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent)}.obra-opt b{font-family:var(--f-display);font-size:19px}.ledger th{font-size:11px;font-weight:600;color:var(--muted);text-transform:uppercase;letter-spacing:.05em;padding:6px 4px;text-align:right;border-bottom:1px solid var(--line)}.raya td,.raya th{text-align:center;padding:4px 3px}.raya td:first-child,.raya th:first-child{text-align:left}.raya td:last-child{text-align:right}.rinp{width:70px;min-height:34px;border:1px solid var(--line);border-radius:7px;padding:4px 6px;text-align:right;background:var(--surface);font:14px var(--f-mono);color:var(--ink)}.dia{width:34px;height:34px;border-radius:8px;border:1px solid var(--line);background:var(--surface-2);font-weight:700;color:var(--ok)}.dia.d1{background:var(--ok-soft);border-color:var(--ok)}.dia.d05{background:var(--warn-soft);border-color:var(--warn);color:var(--warn)}.dia[disabled],.rinp[disabled]{opacity:.7}.lang-switch{display:flex;gap:6px;justify-content:center}.lang-switch button{border:1px solid var(--line);background:var(--surface);border-radius:999px;padding:5px 12px;font-size:13px;font-weight:600;color:var(--muted)}.lang-switch button[aria-pressed=true]{background:var(--ink);color:var(--surface);border-color:var(--ink)}.ia-box{display:flex;flex-direction:column;gap:6px;padding:12px;border:1px dashed var(--acc,#1F4E8C);border-radius:12px;background:color-mix(in srgb,var(--acc,#1F4E8C) 6%,transparent)}.ia-box .btn svg{width:18px;height:18px}#o_ia,#c_ia{display:block;line-height:1.4}#o_ia .spin,#c_ia .spin{width:12px;height:12px;vertical-align:-1px;margin-right:4px}.ia-ok{color:var(--ink,inherit)}.ia-ok details summary{cursor:pointer;color:var(--acc,#1F4E8C)}#auth{min-height:100%}.auth-wrap{min-height:100vh;min-height:100dvh;box-sizing:border-box;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;padding-block:32px;padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px));background:linear-gradient(to right,var(--grid) 1px,transparent 1px) 0 0 / 28px 100%,var(--bg)}.auth-card{width:100%;max-width:400px;box-sizing:border-box;background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:24px;display:flex;flex-direction:column;gap:14px;box-shadow:0 10px 30px #00000014}.auth-brand{display:flex;align-items:center;gap:10px;color:var(--accent);font-family:var(--f-display);font-weight:700;font-size:24px;letter-spacing:.01em}.auth-brand svg{width:34px;height:34px}.auth-brand span{color:var(--ink)}.auth-card h1{font-family:var(--f-display);font-size:30px;margin:4px 0 0;line-height:1.05}.auth-sub{margin:0;color:var(--muted);font-size:14px}.auth-form{display:flex;flex-direction:column;gap:12px}.auth-form .field span{font-size:12px;font-weight:600;color:var(--muted)}.auth-form .field{display:flex;flex-direction:column;gap:5px}.auth-form input{min-height:46px;padding:10px 12px;border-radius:9px;border:1px solid var(--line);background:var(--surface);font-size:16px;color:var(--ink)}.btn.block{width:100%}.auth-msg{font-size:14px;color:var(--bad);background:var(--bad-soft);border-radius:8px;padding:9px 12px}.auth-msg.ok{color:var(--ok);background:var(--ok-soft)}.auth-or{display:flex;align-items:center;gap:10px;color:var(--muted);font-size:12px;text-transform:uppercase;letter-spacing:.08em}.auth-or:before,.auth-or:after{content:"";flex:1;height:1px;background:var(--line)}.auth-foot{font-size:14px;color:var(--muted)}.auth-foot .link-btn,.auth-form .link-btn{align-self:center}
