:root{font-family:system-ui,sans-serif;color:#173e35;background:#f6f4ed;font-synthesis:none}*{box-sizing:border-box}body{margin:0}header,main,footer{max-width:900px;margin:auto;padding:24px;padding-left:max(24px,env(safe-area-inset-left));padding-right:max(24px,env(safe-area-inset-right))}header{padding-top:max(40px,env(safe-area-inset-top))}h1{font-family:Georgia,serif;font-size:clamp(2.6rem,7vw,4.4rem);line-height:1.05;margin:20px 0}h2{font-size:1.35rem}p{line-height:1.6}.eyebrow{font-size:.75rem;letter-spacing:.12em}section{background:#fff;border:1px solid #d9dfd6;border-radius:18px;padding:22px;margin-bottom:22px}button,.file{display:inline-block;border:0;border-radius:8px;padding:13px 16px;background:#173e35;color:#fff;font:inherit;margin:6px 6px 6px 0;cursor:pointer;min-height:44px}button:hover,.file:hover{background:#28594b}button:focus-visible,a:focus-visible,select:focus-visible,.file:focus-within{outline:3px solid #b1761b;outline-offset:3px}.file{position:relative;overflow:hidden}.file input{position:absolute;inset:0;opacity:0;width:100%;cursor:pointer}a{color:#28594b;display:inline-block;margin:8px}select{font:inherit;padding:10px;max-width:100%;border:1px solid #8b9e93;border-radius:6px;background:#fff;color:#173e35}article{border-top:1px solid #d9dfd6;padding:16px 0}article h3{overflow-wrap:anywhere}article label{display:block;padding:12px 0}input[type=checkbox]{width:20px;height:20px;vertical-align:middle}.heading{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}#dashboard{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.metric{background:#edf2ec;padding:16px;border-radius:10px}.metric span{display:block;font-size:.85rem}.metric strong{display:block;font-size:1.4rem;padding-top:10px;overflow-wrap:anywhere}#message:not(:empty){background:#e8edda;border-left:4px solid #617d3c;padding:15px}#offline{font-size:.9rem}footer{padding-bottom:max(30px,env(safe-area-inset-bottom));font-size:.85rem}[hidden]{display:none!important}@media(max-width:550px){#dashboard{grid-template-columns:1fr}section{padding:16px}main{padding-top:0}article select{width:100%}}.password,#restore label{display:block;margin:12px 0}input[type=password]{display:block;width:100%;max-width:400px;padding:12px;margin-top:6px;font:inherit;border:1px solid #8b9e93;border-radius:6px}.catalog-item{list-style:none;border-top:1px solid #d9dfd6;padding:14px 0;overflow-wrap:anywhere}#category-list,#rule-list{padding-left:0}input[type=text],input[type=search]{display:block;width:100%;max-width:400px;font:inherit;padding:12px;margin:8px 0;border:1px solid #8b9e93;border-radius:6px}summary{cursor:pointer;padding:12px 0}button:disabled{opacity:.5;cursor:default}.movement-filters{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:12px;margin:16px 0}.movement-filters label{display:block}.movement-filters select{display:block;width:100%;margin:8px 0}body{background:#f4f6f2;color:#203d35;padding-bottom:90px}header{max-width:1260px;display:flex;justify-content:space-between;align-items:center;padding:18px 24px;border-bottom:1px solid #dbe2d8;gap:12px}.brand{font-family:Georgia,serif;font-size:1.4rem;text-decoration:none;font-weight:700;margin:0}.header-actions{display:flex;gap:12px;align-items:center;flex-wrap:wrap;justify-content:flex-end}.header-actions #offline{font-size:.75rem}.settings-link{font-size:.9rem}main{max-width:1100px}.page-heading{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;margin:12px 0 28px}.page-heading h1{font-family:Georgia,serif;font-size:clamp(2rem,4vw,3rem);margin:8px 0}.page-heading .eyebrow{margin:0;font-size:.68rem}section{border-color:#e0e6dd;box-shadow:0 4px 24px #173e3505}button{background:#fff;color:#173e35;border:1px solid #afbeb0}button:hover{background:#e9efe8}button.primary,#create-category,#create-subcategory,#export,#preview>button:first-of-type{background:#173e35;color:#fff;border-color:#173e35}button.danger,#forget-all{background:#fff6f2;color:#923923;border-color:#d9ac9d}.file{background:#173e35;color:#fff}.main-nav{position:fixed;bottom:0;left:0;right:0;display:flex;justify-content:space-around;background:#fff;border-top:1px solid #dbe2d8;padding:8px 4px max(8px,env(safe-area-inset-bottom));z-index:10}.main-nav a{margin:0;padding:13px 5px;text-decoration:none;font-size:.73rem;font-weight:600;border-radius:9px;min-height:44px}.main-nav a[aria-current=page]{background:#e3ecdf;color:#173e35}.metric{background:#f0f4ed;padding:22px}.metric strong{font-size:1.8rem}.metric:last-child{background:#173e35;color:#fff}#dashboard{grid-template-columns:repeat(3,1fr)}#debts{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.debt-card{border:1px solid #dde4da;padding:18px;border-radius:12px}.debt-card>strong{font-size:1.5rem}.budget-row{padding:16px 0;border-top:1px solid #e2e7df}.budget-row p{margin:6px 0}meter{width:100%;height:16px}.hint{font-size:.85rem;color:#66766c}.hero-total{font-size:2.8rem;color:#173e35}textarea,input[type=date]{display:block;width:100%;font:inherit;border:1px solid #afbeb0;border-radius:7px;padding:12px;margin:8px 0}textarea{min-height:90px;resize:vertical}details>summary{font-weight:600}#page-ajustes details{margin:10px 0}#limits-list{list-style:none;padding:0}#forecast-list{padding-left:20px}#forecast-list li{margin:14px 0}#message:empty{display:none}article details{margin:12px 0}#page-movimientos section:first-child p{font-size:.9rem}footer{font-size:.75rem;color:#66766c}@media(min-width:1000px){body{padding-bottom:0;padding-left:210px}header{padding-top:22px}.main-nav{top:0;bottom:0;right:auto;width:210px;display:flex;flex-direction:column;justify-content:flex-start;padding:100px 18px 24px;border-top:0;border-right:1px solid #dbe2d8;gap:12px}.main-nav a{font-size:.95rem;padding:14px 18px}}@media(max-width:600px){header{padding:14px 18px}.brand{font-size:1.1rem}.header-actions #offline{display:none}main{padding:18px}#dashboard{grid-template-columns:1fr}.metric{display:flex;justify-content:space-between;align-items:center;padding:16px}.metric strong{padding:0;font-size:1.6rem}#debts{grid-template-columns:1fr}.page-heading{margin:6px 0 20px}.main-nav a{font-size:.68rem}}@media(max-width:600px){.header-actions #offline{display:block;font-size:.65rem}.header-actions{gap:6px}.header-actions #update{font-size:.75rem;padding:8px}.brand{max-width:120px}}.budget-row.over-limit small{color:#9a3624;font-weight:600}
