:root{--bg:#EEF2EF;--surface:#FFFFFF;--surface-2:#F6F8F6;--line:#D5DDD8;--line-2:#E4EAE6;--ink:#14201B;--ink-2:#4B5B54;--ink-3:#7A8983;--accent:#0E6B58;--accent-ink:#FFFFFF;--accent-soft:#D6EBE4;--debt:#9A4A2A;--debt-soft:#F3E3DA;--good:#1F7A4A;--good-soft:#DDF0E4;--warn:#9A6A00;--warn-soft:#F7ECCF;--bad:#B3261E;--bad-soft:#F8DEDB;--info:#2B5C9A;--info-soft:#DDE7F5;--c-oblig:#0E6B58;--c-fijo:#6C8F3A;--c-temp:#C28A2E;--c-adel:#2B5C9A;--c-proj:#9A4A2A;--shadow:0 1px 2px rgba(20,32,27,.06),0 4px 14px rgba(20,32,27,.05);--f-display:"Bricolage Grotesque","Segoe UI",system-ui,sans-serif;--f-body:"Onest","Segoe UI",system-ui,-apple-system,sans-serif;--f-num:"IBM Plex Mono",ui-monospace,"SFMono-Regular",Menlo,monospace;--r:12px;--r-sm:8px}@media(prefers-color-scheme:dark){:root:not([data-theme=light]){--bg:#0E1512;--surface:#16201C;--surface-2:#1B2622;--line:#2C3A35;--line-2:#23302B;--ink:#E6EEEA;--ink-2:#A9B8B1;--ink-3:#7D8C86;--accent:#3FB79A;--accent-ink:#06231C;--accent-soft:#173A31;--debt:#E08A63;--debt-soft:#3A2419;--good:#5CC98C;--good-soft:#163323;--warn:#E3B43E;--warn-soft:#3A2F12;--bad:#F2776E;--bad-soft:#3F1B18;--info:#7FA9E3;--info-soft:#18273D;--c-oblig:#3FB79A;--c-fijo:#9CC25E;--c-temp:#E3B05A;--c-adel:#7FA9E3;--c-proj:#E08A63;--shadow:0 1px 2px rgba(0,0,0,.3);color-scheme:dark}}:root[data-theme=dark]{--bg:#0E1512;--surface:#16201C;--surface-2:#1B2622;--line:#2C3A35;--line-2:#23302B;--ink:#E6EEEA;--ink-2:#A9B8B1;--ink-3:#7D8C86;--accent:#3FB79A;--accent-ink:#06231C;--accent-soft:#173A31;--debt:#E08A63;--debt-soft:#3A2419;--good:#5CC98C;--good-soft:#163323;--warn:#E3B43E;--warn-soft:#3A2F12;--bad:#F2776E;--bad-soft:#3F1B18;--info:#7FA9E3;--info-soft:#18273D;--c-oblig:#3FB79A;--c-fijo:#9CC25E;--c-temp:#E3B05A;--c-adel:#7FA9E3;--c-proj:#E08A63;--shadow:0 1px 2px rgba(0,0,0,.3);color-scheme:dark}*{box-sizing:border-box}html,body{background:var(--bg)}body{color:var(--ink);font-family:var(--f-body);font-size:15px;line-height:1.45;margin:0}button,input,select,textarea{font:inherit;color:inherit}.num,.money{font-family:var(--f-num);font-variant-numeric:tabular-nums;letter-spacing:-.01em}h1,h2,h3{font-family:var(--f-display);margin:0;text-wrap:balance;letter-spacing:-.01em}h1{font-size:1.7rem;font-weight:700}h2{font-size:1.2rem;font-weight:650}h3{font-size:1rem;font-weight:650}.eyebrow{font-size:.72rem;text-transform:uppercase;letter-spacing:.09em;color:var(--ink-3);font-weight:600}.muted{color:var(--ink-2)}.faint{color:var(--ink-3)}.small{font-size:.85rem}.xs{font-size:.76rem}a{color:var(--accent)}:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:4px}.app{display:grid;grid-template-columns:232px minmax(0,1fr);min-height:100vh;background:linear-gradient(to right,var(--surface) 232px,var(--line) 232px,var(--line) 233px,transparent 233px)}.side{position:sticky;top:0;height:100vh;padding:22px 14px;border-right:1px solid var(--line);background:var(--surface);display:flex;flex-direction:column;gap:18px}.brand{display:flex;align-items:center;gap:10px;padding:0 8px}.brand-mark{width:34px;height:34px;border-radius:9px;background:var(--accent);color:var(--accent-ink);display:grid;place-items:center;font-family:var(--f-display);font-weight:800;font-size:1rem}.brand b{font-family:var(--f-display);font-size:1.15rem}.brand small{display:block;color:var(--ink-3);font-size:.72rem}.nav{display:flex;flex-direction:column;gap:2px}.nav button{all:unset;cursor:pointer;display:flex;align-items:center;gap:10px;padding:9px 10px;border-radius:8px;color:var(--ink-2);font-weight:500}.nav button:hover{background:var(--surface-2);color:var(--ink)}.nav button[aria-current=page]{background:var(--accent-soft);color:var(--ink);font-weight:650}.nav button:focus-visible{outline:2px solid var(--accent)}.nav svg{width:18px;height:18px;flex:none;stroke:currentColor;fill:none;stroke-width:1.8}.side-foot{margin-top:auto;font-size:.75rem;color:var(--ink-3);padding:0 8px;display:flex;flex-direction:column;gap:4px}.main{min-width:0;padding-inline:28px;padding-block:22px 60px}.wrap{max-width:1180px;margin:0 auto;display:flex;flex-direction:column;gap:20px}.topbar{display:flex;flex-wrap:wrap;gap:12px;align-items:flex-end;justify-content:space-between}.topbar .sub{color:var(--ink-2);font-size:.9rem;margin-top:2px}.actions{display:flex;flex-wrap:wrap;gap:8px}.btn{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--line);background:var(--surface);color:var(--ink);padding:8px 13px;border-radius:9px;cursor:pointer;font-weight:550;font-size:.9rem;white-space:nowrap}.btn:hover{border-color:var(--ink-3)}.btn.primary{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}.btn.primary:hover{filter:brightness(1.07)}.btn.danger{color:var(--bad);border-color:var(--bad-soft)}.btn.ghost{background:transparent;border-color:transparent;color:var(--ink-2)}.btn.ghost:hover{background:var(--surface-2)}.btn.sm{padding:5px 9px;font-size:.8rem;border-radius:7px}.btn[disabled]{opacity:.5;cursor:not-allowed}.chips{display:flex;flex-wrap:wrap;gap:6px}.chip{border:1px solid var(--line);background:var(--surface);padding:5px 11px;border-radius:99px;cursor:pointer;font-size:.84rem;color:var(--ink-2)}.chip[aria-pressed=true]{background:var(--ink);color:var(--bg);border-color:var(--ink)}.card{background:var(--surface);border:1px solid var(--line-2);border-radius:var(--r);padding:18px;box-shadow:var(--shadow);min-width:0}.card-h{display:flex;justify-content:space-between;align-items:baseline;gap:10px;margin-bottom:12px;flex-wrap:wrap}.grid{display:grid;gap:16px}.g2{grid-template-columns:repeat(2,minmax(0,1fr))}.g3{grid-template-columns:repeat(3,minmax(0,1fr))}.g4{grid-template-columns:repeat(4,minmax(0,1fr))}.span2{grid-column:span 2}.kpi{display:flex;flex-direction:column;gap:6px}.kpi .v{font-family:var(--f-num);font-variant-numeric:tabular-nums;font-size:1.75rem;font-weight:600;letter-spacing:-.03em;line-height:1.1}.kpi .v.debt{color:var(--debt)}.kpi .d{font-size:.82rem;color:var(--ink-2)}.kpi.hero{background:var(--ink);color:var(--bg);border-color:var(--ink)}.kpi.hero .eyebrow,.kpi.hero .d{color:color-mix(in srgb,var(--bg) 70%,transparent)}.kpi.hero .v{color:var(--bg)}.delta-good{color:var(--good);font-weight:600}.kpi.hero .delta-good{color:color-mix(in srgb,var(--good) 55%,var(--bg))}.bar{height:10px;background:var(--line-2);border-radius:99px;overflow:hidden;display:flex}.bar.thick{height:16px}.bar>i{display:block;height:100%;background:var(--accent)}.bar>i.debt{background:var(--debt)}.bar>i.warn{background:var(--warn)}.bar>i.bad{background:var(--bad)}.bar>i.good{background:var(--good)}.bar>i.o{background:var(--c-oblig)}.bar>i.f{background:var(--c-fijo)}.bar>i.t{background:var(--c-temp)}.bar>i.a{background:var(--c-adel)}.kpi.hero .bar{background:color-mix(in srgb,var(--bg) 22%,transparent)}.kpi.hero .bar>i{background:var(--bg)}.legend{display:flex;flex-wrap:wrap;gap:12px;font-size:.78rem;color:var(--ink-2)}.legend span{display:inline-flex;align-items:center;gap:6px}.legend span:before{content:"";width:10px;height:10px;border-radius:3px;background:var(--sw)}.legend span.line:before{height:3px;border-radius:2px}.legend span.dash:before{height:0;border-top:2px dashed var(--sw);background:none}.pill{display:inline-flex;align-items:center;gap:5px;font-size:.72rem;font-weight:650;padding:2px 8px;border-radius:99px;letter-spacing:.02em;white-space:nowrap}.pill:before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor}.st-Activa{background:var(--accent-soft);color:var(--accent)}.st-Pendiente{background:var(--surface-2);color:var(--ink-2);border:1px solid var(--line)}.st-Parcial{background:var(--warn-soft);color:var(--warn)}.st-Completada{background:var(--good-soft);color:var(--good)}.st-Archivada{background:var(--surface-2);color:var(--ink-3)}.st-Cancelada{background:var(--bad-soft);color:var(--bad)}.ev-pendiente{background:var(--surface-2);color:var(--ink-2);border:1px solid var(--line)}.ev-pagado{background:var(--good-soft);color:var(--good)}.ev-parcial{background:var(--warn-soft);color:var(--warn)}.ev-adelanto{background:var(--info-soft);color:var(--info)}.ev-completado{background:var(--accent-soft);color:var(--accent)}.ev-atrasado{background:var(--bad-soft);color:var(--bad)}.tag{font-size:.7rem;padding:1px 7px;border-radius:5px;background:var(--surface-2);color:var(--ink-2);border:1px solid var(--line-2);white-space:nowrap}.tag.deuda,.tag.msi{background:var(--debt-soft);color:var(--debt);border-color:transparent}.tag.fijo{background:var(--accent-soft);color:var(--accent);border-color:transparent}.tag.temporal{background:var(--warn-soft);color:var(--warn);border-color:transparent}.manual{display:inline-flex;gap:4px;align-items:center;font-size:.7rem;color:var(--warn);font-weight:600}.alerts{display:flex;flex-direction:column;gap:6px}.alert{display:flex;gap:10px;align-items:flex-start;padding:9px 12px;border-radius:9px;font-size:.88rem;border:1px solid transparent}.alert b{font-weight:650}.alert.critico{background:var(--bad-soft);color:var(--bad)}.alert.aviso{background:var(--warn-soft);color:var(--warn)}.alert.bueno{background:var(--good-soft);color:var(--good)}.alert.info{background:var(--info-soft);color:var(--info)}.alert .ico{font-weight:800;flex:none;width:18px;text-align:center}.alert span{color:var(--ink)}.rows{display:flex;flex-direction:column}.row{display:flex;align-items:center;gap:10px;padding:9px 0;border-bottom:1px dashed var(--line-2);min-width:0}.row:last-child{border-bottom:0}.row .grow{flex:1;min-width:0}.row .grow b{font-weight:600}.row .amt{font-family:var(--f-num);font-variant-numeric:tabular-nums;text-align:right;white-space:nowrap}.kv{display:grid;grid-template-columns:auto 1fr;gap:6px 14px;font-size:.88rem}.kv dt{color:var(--ink-2)}.kv dd{margin:0;text-align:right;font-family:var(--f-num);font-variant-numeric:tabular-nums}.stat-row{display:flex;flex-wrap:wrap;gap:6px 18px;font-size:.82rem;color:var(--ink-2)}.stat-row b{color:var(--ink);font-family:var(--f-num);font-weight:600}.stub-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(290px,1fr));gap:16px}.stub{position:relative;background:var(--surface);border:1px solid var(--line-2);border-radius:var(--r);box-shadow:var(--shadow);display:flex;flex-direction:column;min-width:0}.stub-top{padding:14px 16px 12px;display:flex;justify-content:space-between;align-items:flex-start;gap:8px}.stub-date{font-family:var(--f-display);font-size:1.35rem;font-weight:700;line-height:1}.stub-date small{display:block;font-family:var(--f-body);font-size:.72rem;font-weight:500;color:var(--ink-3);margin-top:4px;letter-spacing:.06em;text-transform:uppercase}.perf{height:0;border-top:2px dashed var(--line);margin:0 12px;position:relative}.perf:before,.perf:after{content:"";position:absolute;top:-9px;width:16px;height:16px;border-radius:50%;background:var(--bg);border:1px solid var(--line-2)}.perf:before{left:-21px;clip-path:inset(0 0 0 50%)}.perf:after{right:-21px;clip-path:inset(0 50% 0 0)}.stub-body{padding:12px 16px 14px;display:flex;flex-direction:column;gap:10px}.stub.actual{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent),var(--shadow)}.stub.excede{border-color:var(--bad)}.lines{display:grid;grid-template-columns:1fr auto;gap:3px 12px;font-size:.87rem}.lines .n{font-family:var(--f-num);font-variant-numeric:tabular-nums;text-align:right}.lines .sep{grid-column:1/-1;border-top:1px solid var(--line-2);margin:3px 0}.lines .tot{font-weight:650}.free{display:flex;justify-content:space-between;align-items:baseline}.free .v{font-family:var(--f-num);font-size:1.3rem;font-weight:600}.free .v.neg{color:var(--bad)}.items{display:flex;flex-direction:column;gap:2px;font-size:.83rem;border-top:1px solid var(--line-2);padding-top:8px}.items .it{display:flex;gap:8px;align-items:center;padding:3px 0}.items .it .grow{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dot{width:8px;height:8px;border-radius:50%;flex:none}.dot.obligatorios{background:var(--c-oblig)}.dot.fijos{background:var(--c-fijo)}.dot.temporales{background:var(--c-temp)}.debt-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(330px,1fr));gap:16px}.debt-card{display:flex;flex-direction:column;gap:12px}.debt-card .head{display:flex;justify-content:space-between;gap:10px;align-items:flex-start}.debt-card .head h3{font-size:1.08rem}.debt-card .big{display:flex;justify-content:space-between;align-items:flex-end;gap:10px;flex-wrap:wrap}.debt-card .big .v{font-family:var(--f-num);font-size:1.45rem;font-weight:600;letter-spacing:-.02em}.debt-card .foot{display:flex;flex-wrap:wrap;gap:6px;border-top:1px solid var(--line-2);padding-top:10px}.qcount{font-family:var(--f-display);font-weight:700;font-size:1.05rem}.tbl-wrap{overflow-x:auto;border:1px solid var(--line-2);border-radius:var(--r-sm)}table{width:100%;border-collapse:collapse;font-size:.86rem}th{text-align:left;font-weight:600;color:var(--ink-2);font-size:.74rem;text-transform:uppercase;letter-spacing:.06em;padding:9px 10px;background:var(--surface-2);border-bottom:1px solid var(--line);white-space:nowrap}td{padding:9px 10px;border-bottom:1px solid var(--line-2);vertical-align:top}tr:last-child td{border-bottom:0}td.n,th.n{text-align:right;font-family:var(--f-num);font-variant-numeric:tabular-nums;white-space:nowrap}tr.void td{text-decoration:line-through;color:var(--ink-3)}tr.best td{background:var(--accent-soft)}.form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 14px}.form .full{grid-column:1/-1}.field{display:flex;flex-direction:column;gap:4px;min-width:0}.field label{font-size:.8rem;font-weight:600;color:var(--ink-2)}.field .hint{font-size:.74rem;color:var(--ink-3)}input[type=text],input[type=number],input[type=date],input[type=month],select,textarea{width:100%;padding:8px 10px;border:1px solid var(--line);border-radius:8px;background:var(--surface);min-width:0}input:focus,select:focus,textarea:focus{outline:2px solid var(--accent);outline-offset:0;border-color:transparent}textarea{min-height:70px;resize:vertical}.check{display:flex;gap:8px;align-items:center;font-size:.88rem}.check input{width:16px;height:16px;accent-color:var(--accent)}fieldset{border:1px solid var(--line-2);border-radius:10px;padding:12px 14px 14px;margin:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 14px}fieldset legend{font-size:.74rem;text-transform:uppercase;letter-spacing:.08em;color:var(--ink-3);font-weight:700;padding:0 6px}.ov-field{position:relative}.ov-note{font-size:.72rem;color:var(--warn);display:flex;gap:6px;align-items:center;flex-wrap:wrap}.ov-note button{all:unset;cursor:pointer;color:var(--accent);text-decoration:underline;font-weight:600}.big-input{font-family:var(--f-num);font-size:1.6rem!important;font-weight:600;padding:10px 14px!important}.modal-bg{position:fixed;inset:0;background:#0a100e80;display:flex;align-items:flex-start;justify-content:center;padding:40px 16px;overflow-y:auto;z-index:50}.modal{background:var(--surface);border-radius:14px;width:100%;max-width:640px;box-shadow:0 20px 60px #00000040;display:flex;flex-direction:column;max-height:none}.modal.wide{max-width:880px}.modal-h{padding:16px 20px;border-bottom:1px solid var(--line-2);display:flex;justify-content:space-between;align-items:center;gap:10px}.modal-b{padding:18px 20px;display:flex;flex-direction:column;gap:14px}.modal-f{padding:14px 20px;border-top:1px solid var(--line-2);display:flex;justify-content:flex-end;gap:8px;flex-wrap:wrap}.x{all:unset;cursor:pointer;width:30px;height:30px;display:grid;place-items:center;border-radius:8px;color:var(--ink-2);font-size:1.2rem}.x:hover{background:var(--surface-2)}.celebrate{text-align:center;padding:10px 0 4px}.celebrate .big{font-size:3rem;line-height:1}.celebrate h2{font-size:1.6rem;margin-top:8px;color:var(--good);letter-spacing:.02em}.toast{position:fixed;bottom:20px;left:50%;transform:translate(-50%);background:var(--ink);color:var(--bg);padding:10px 16px;border-radius:10px;font-size:.9rem;z-index:60;box-shadow:var(--shadow);max-width:calc(100% - 32px)}.chart{width:100%;height:auto;display:block;overflow:visible}.chart text{fill:var(--ink-3);font-size:11px;font-family:var(--f-body)}.chart .grid-l{stroke:var(--line-2);stroke-width:1}.chart .axis{stroke:var(--line);stroke-width:1}.chart-empty{padding:30px;text-align:center;color:var(--ink-3);font-size:.88rem}.cal{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px}.cal .dow{font-size:.7rem;text-transform:uppercase;letter-spacing:.08em;color:var(--ink-3);text-align:center;padding:4px 0;font-weight:600}.cal .day{min-height:96px;background:var(--surface);border:1px solid var(--line-2);border-radius:8px;padding:5px;display:flex;flex-direction:column;gap:3px;min-width:0}.cal .day.out{opacity:.4}.cal .day.today{border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent)}.cal .day.payday{background:var(--surface-2)}.cal .dn{font-size:.75rem;font-weight:700;color:var(--ink-2);display:flex;justify-content:space-between}.cal .ev{font-size:.68rem;padding:1px 5px;border-radius:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;cursor:default}.sim-hero{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:16px}.reco{border-left:4px solid var(--accent);padding:4px 0 4px 14px;display:flex;flex-direction:column;gap:6px}.reco p{margin:0}.impact{font-size:.72rem;font-weight:700;padding:2px 8px;border-radius:99px}.impact.Alto{background:var(--good-soft);color:var(--good)}.impact.Medio{background:var(--warn-soft);color:var(--warn)}.impact.Bajo{background:var(--surface-2);color:var(--ink-3)}.arrow{color:var(--ink-3);padding:0 4px}.scen{display:flex;flex-direction:column;gap:10px}.scen .kv dd{font-size:.86rem}.notice{background:var(--info-soft);color:var(--ink);border-radius:9px;padding:10px 12px;font-size:.85rem}.empty{padding:28px;text-align:center;color:var(--ink-3)}@media(max-width:1100px){.g4{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:900px){.app{grid-template-columns:minmax(0,1fr);background:none}.side{position:sticky;top:env(safe-area-inset-top,0px);height:auto;z-index:20;flex-direction:column;padding:10px 0 0;border-right:0;border-bottom:1px solid var(--line);gap:8px}.brand{padding:0 16px}.nav{flex-direction:row;overflow-x:auto;padding:0 12px 8px;gap:4px;scrollbar-width:none}.nav::-webkit-scrollbar{display:none}.nav button{padding:7px 11px;white-space:nowrap;flex:none}.nav svg{display:none}.side-foot{display:none}.main{padding-inline:16px;padding-block:16px 60px}.g3,.g2,.sim-hero{grid-template-columns:minmax(0,1fr)}.span2{grid-column:auto}}@media(max-width:560px){.g4{grid-template-columns:minmax(0,1fr)}.g4.metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.form,fieldset{grid-template-columns:minmax(0,1fr)}h1{font-size:1.4rem}.kpi .v{font-size:1.5rem}.cal .day{min-height:64px;padding:3px}.cal .ev{font-size:0;height:6px;padding:0}.debt-grid,.stub-grid{grid-template-columns:minmax(0,1fr)}.topbar .actions .btn{flex:1 1 auto;justify-content:center}.modal-bg{padding:12px 8px}}@media(prefers-reduced-motion:no-preference){.card,.stub{transition:border-color .15s}}.toasts{position:fixed;left:50%;bottom:calc(20px + env(safe-area-inset-bottom,0px));transform:translate(-50%);display:flex;flex-direction:column;gap:8px;z-index:60;width:max-content;max-width:calc(100% - 32px)}.toasts .toast{position:static;transform:none;max-width:none}.toast.error{background:var(--bad);color:#fff}.modal-b>.modal-f{margin:4px -20px -18px;border-top:1px solid var(--line-2)}.sync{display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-size:.8rem;padding:8px 12px;border-radius:9px;background:var(--surface);border:1px solid var(--line-2)}.sync.offline{background:var(--bad-soft);color:var(--bad);border-color:transparent}.sync.warn{background:var(--warn-soft);color:var(--warn);border-color:transparent}.sync .dotlive{width:8px;height:8px;border-radius:50%;background:var(--good);flex:none}.sync .dotlive.off{background:var(--ink-3)}.sync .grow{flex:1;min-width:0}.side-user{display:flex;flex-direction:column;gap:6px;padding:0 8px}.side-user .email{font-size:.76rem;color:var(--ink-2);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.center-screen{min-height:100vh;display:grid;place-items:center;padding-inline:16px;padding-block:32px}.auth-card{width:100%;max-width:400px;display:flex;flex-direction:column;gap:16px}.auth-card .brand{padding:0}.auth-card form{display:flex;flex-direction:column;gap:12px}.err-text{color:var(--bad);font-size:.85rem;margin:0}.onb-options{display:grid;gap:12px}.onb-options .card{display:flex;flex-direction:column;gap:8px}.mobile-actions{display:none}@media(max-width:900px){.btn{min-height:40px}.btn.sm{min-height:34px}.chip{min-height:36px}.side-user,.topbar .actions.global{display:none}.mobile-actions{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;position:fixed;left:0;right:0;bottom:0;z-index:30;background:var(--surface);border-top:1px solid var(--line);padding:8px 10px calc(8px + env(safe-area-inset-bottom,0px))}.mobile-actions button{all:unset;cursor:pointer;display:flex;flex-direction:column;align-items:center;gap:2px;font-size:.7rem;font-weight:600;color:var(--ink-2);padding:6px 2px;border-radius:9px;min-height:44px;justify-content:center;text-align:center}.mobile-actions button b{font-size:1.15rem;line-height:1;color:var(--accent)}.mobile-actions button:active{background:var(--surface-2)}.main{padding-block:16px 96px}.toasts{bottom:calc(84px + env(safe-area-inset-bottom,0px))}input[type=text],input[type=number],input[type=date],input[type=email],input[type=password],select,textarea{font-size:16px}}input[type=email],input[type=password]{width:100%;padding:8px 10px;border:1px solid var(--line);border-radius:8px;background:var(--surface);min-width:0}.actions.global{display:contents}
