:root{--bg:#fbfaf7;--card:#fff;--ink:#1f2328;--mut:#6b7078;--line:#e6e2da;--acc:#c2185b;
--z1:#2e9d5b;--z2:#7cb342;--z3:#f2b705;--z4:#f08a24;--z5:#e0533d;--z6:#9c2a5a;--z7:#5e2a84}
@media (prefers-color-scheme:dark){:root{--bg:#16171a;--card:#1f2125;--ink:#ecebe8;--mut:#9ea3aa;--line:#33363c}}
*{box-sizing:border-box}
body{margin:0;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;background:var(--bg);color:var(--ink);line-height:1.4}
main{max-width:760px;margin:0 auto;padding:16px}
h1{font-size:1.35rem;margin:.2rem 0}
h2{font-size:1.05rem;margin:0 0 .6rem}
p.sub{color:var(--mut);margin:.2rem 0 1rem;font-size:.92rem}
.card{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:14px;margin-bottom:14px}
.sw{width:11px;height:11px;border-radius:50%}
.big{font-size:2rem;font-weight:700;color:var(--acc)}
.row{display:flex;gap:10px;flex-wrap:wrap}
.row>label{flex:1 1 150px}
label{display:block;font-size:.82rem;color:var(--mut)}
input,select{width:100%;font:inherit;padding:8px;border-radius:9px;border:1px solid var(--line);background:var(--bg);color:var(--ink);margin-top:3px}
input[type=checkbox]{width:auto}
table{width:100%;border-collapse:collapse;font-size:.88rem}
th,td{text-align:left;padding:7px 4px;border-bottom:1px solid var(--line);vertical-align:top}
th{color:var(--mut);font-weight:600;font-size:.78rem}
td.p{font-weight:700;white-space:nowrap;text-align:right}
.breakdown{font-size:.85rem;color:var(--mut);margin-top:6px}
.breakdown b{color:var(--ink)}
details summary{cursor:pointer;font-weight:600}
.note{font-size:.8rem;color:var(--mut)}
.search{position:relative}
.search input[type=search]{font-size:1rem;padding:10px}
.res{list-style:none;margin:4px 0 0;padding:4px;position:absolute;left:0;right:0;z-index:5;background:var(--card);border:1px solid var(--line);border-radius:10px;box-shadow:0 8px 24px rgba(0,0,0,.12);max-height:320px;overflow-y:auto}
.res li{display:flex;align-items:center;gap:8px;padding:9px 8px;border-radius:7px;cursor:pointer}
.res li.act,.res li:hover{background:var(--bg)}
.res .nm{flex:1}
.res .km{font-size:.8rem;color:var(--mut)}
.res .pr{font-weight:700;color:var(--acc);white-space:nowrap}
.res .vacio{cursor:default;color:var(--mut);font-size:.88rem}
.res mark{background:none;color:var(--acc);font-weight:700}
.tabs{display:flex;gap:6px;margin-bottom:10px}
.tabs button{flex:1;font:inherit;padding:8px;border-radius:9px;border:1px solid var(--line);background:var(--bg);color:var(--ink)}
.tabs button.on{background:var(--acc);border-color:var(--acc);color:#fff}
