:root{--ink:#373435;--khaki:#a08f63;--red:#ab2328;--soft:#eeeae0;--bg:#f4f2ed;--mut:#6d6a65;--ok:#1f6b3a;--err:#a12a2a;--line:rgba(55,52,53,.16)}
*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:linear-gradient(135deg,#f4f2ed,#ece9e1);color:var(--ink);font:16px/1.45 -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;min-height:100vh;min-height:100dvh}
[hidden]{display:none !important}
#top{padding:calc(10px + env(safe-area-inset-top)) 14px 10px;text-align:center;font-size:12.5px;font-weight:800;letter-spacing:.2px;color:#fff;background:var(--ink);border-bottom:3px solid #b79a4a}
.banner{background:#fff3cd;color:#5c4a00;border-bottom:1px solid #e0c36a;padding:8px 14px;font-size:13px;text-align:center}
.screen{padding:16px 14px 24px;max-width:560px;margin:0 auto}
.card{background:#fff;border:1px solid var(--line);border-radius:18px;padding:22px 18px;box-shadow:0 10px 30px rgba(55,52,53,.1)}
.logo{display:block;margin:0 0 8px}
.brand{font-weight:800;color:var(--khaki);letter-spacing:.5px;font-size:11px}
h1{font-size:24px;margin:4px 0 6px}
.lead{font-size:13.5px;color:var(--mut);margin:0 0 14px}
label{display:block;font-weight:700;font-size:13px;margin:14px 0 6px}
input,select{width:100%;font:inherit;font-size:17px;padding:13px 14px;border:1px solid var(--line);border-radius:12px;background:#fff;color:var(--ink);min-height:50px;appearance:none;-webkit-appearance:none}
select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='9' viewBox='0 0 14 9'%3E%3Cpath d='M1 1l6 6 6-6' fill='none' stroke='%23373435' stroke-width='2'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center;padding-right:38px}
input:focus,select:focus{outline:2px solid var(--khaki);outline-offset:1px}
.pw{position:relative}.pw input{padding-right:52px}
.pw button{position:absolute;right:4px;top:4px;width:44px;height:44px;border:0;background:transparent;color:var(--mut);border-radius:10px}
button{font:inherit;cursor:pointer}
button.primary{width:100%;min-height:52px;border:0;border-radius:14px;background:var(--ink);color:#fff;font-weight:800;letter-spacing:.3px;font-size:16px;margin-top:16px}
button.primary:disabled{opacity:.45}
button.secondary{min-height:46px;padding:0 16px;border:1px solid var(--ink);border-radius:12px;background:#fff;color:var(--ink);font-weight:700;font-size:14.5px}
button.ghost{min-height:40px;padding:0 14px;border:1px solid var(--line);border-radius:10px;background:#fff;color:var(--ink);font-weight:700;font-size:13.5px}
.note{font-size:11.5px;color:var(--mut);margin:14px 0 0}
.msg{min-height:18px;font-size:13.5px;margin-top:10px}.msg.err{color:var(--err);font-weight:600}.msg.ok{color:var(--ok)}
.who{display:flex;justify-content:space-between;align-items:center;gap:10px;background:#fff;border:1px solid var(--line);border-radius:14px;padding:10px 12px;margin-bottom:12px}
.who-l{font-size:11px;color:var(--mut);font-weight:700;text-transform:uppercase;letter-spacing:.4px}.who-n{font-weight:800;font-size:15px}
.app{padding-bottom:calc(132px + env(safe-area-inset-bottom))}
.c{background:#fff;border:1px solid var(--line);border-radius:16px;padding:14px;margin-bottom:12px;box-shadow:0 4px 14px rgba(55,52,53,.06)}
.c-h{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px;font-size:12px;font-weight:800;color:var(--mut);letter-spacing:.4px}
.c-x{width:40px;height:40px;border:1px solid var(--line);border-radius:10px;background:#fff;color:var(--err);font-size:20px;line-height:1}
.c input{font-size:20px;letter-spacing:.5px}
.nm{margin-top:8px;padding:10px 12px;border-radius:10px;background:#faf9f6;border:1px solid var(--line);font-size:14.5px;min-height:42px;display:flex;align-items:center}
.nm.ok{color:var(--ok);font-weight:700}.nm.err{color:var(--err);font-weight:600}.nm.load{color:var(--mut)}
.warn{margin-top:8px;padding:10px 12px;border:1px solid #e0c36a;border-radius:10px;background:#fff7d6;font-size:13.5px}
.warn.bad{border-color:#e3a1a1;background:#fdecec;color:#7a1f1f;font-weight:600}
.warn button{margin-top:8px;min-height:42px;width:100%}
.sit{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:10px}
.sit button{min-height:50px;border:1.5px solid var(--line);border-radius:12px;background:#fff;color:var(--ink);font-weight:800;font-size:14px;letter-spacing:.3px}
.sit button.on{background:var(--ink);color:#fff;border-color:var(--ink)}
.sit button.lib{grid-column:1/-1}
.sit button:disabled{opacity:.4}
.row-add{display:flex;align-items:center;gap:12px;margin:4px 0 8px}.cnt{font-size:12.5px;color:var(--mut)}
#bar{position:fixed;left:0;right:0;bottom:0;background:rgba(255,255,255,.97);border-top:1px solid var(--line);padding:8px 14px calc(10px + env(safe-area-inset-bottom));box-shadow:0 -6px 20px rgba(55,52,53,.1)}
#bar .tabs{display:flex;gap:6px;max-width:560px;margin:0 auto}
.tab{flex:1;min-height:42px;border:0;border-radius:10px;background:#eeeae0;color:var(--ink);font-weight:800;font-size:14px}
.tab.on{background:var(--ink);color:#fff}
#bar .send{max-width:560px;display:block;margin:8px auto 0}
.sum{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:8px}
.sum div{background:#fff;border:1px solid var(--line);border-radius:12px;padding:10px 12px}
.sum b{display:block;font-size:24px}.sum span{font-size:12px;color:var(--mut);font-weight:700;letter-spacing:.3px}
.sum-h{font-size:13px;font-weight:800;letter-spacing:.3px}.sum-h small{font-weight:600;color:var(--mut)}
.list .it{display:flex;justify-content:space-between;gap:10px;background:#fff;border:1px solid var(--line);border-radius:12px;padding:10px 12px;margin-top:8px;font-size:14px}
.list .it b{font-size:11.5px;letter-spacing:.3px;white-space:nowrap}.list .it small{display:block;color:var(--mut)}
.list .none{color:var(--mut);font-size:13.5px;margin-top:8px}
#foot{margin-top:22px;text-align:center;font-size:10.5px;color:#9a968c}
.modal{position:fixed;inset:0;background:rgba(30,28,29,.55);display:flex;align-items:flex-end;justify-content:center;z-index:50}
.sheet{width:100%;max-width:560px;max-height:88vh;overflow:auto;background:#fff;border-radius:18px 18px 0 0;padding:18px 16px calc(18px + env(safe-area-inset-bottom))}
.sheet h2{font-size:18px;margin:0 0 10px}
.sheet p{margin:6px 0;font-size:14.5px}.sheet ul{margin:6px 0 10px;padding-left:18px;font-size:14px}
.sheet .grp{margin:10px 0 4px;font-weight:800;font-size:13.5px}
.m-act{display:flex;gap:10px;margin-top:14px}.m-act button{flex:1}
.toast{position:fixed;left:14px;right:14px;bottom:calc(150px + env(safe-area-inset-bottom));background:var(--ink);color:#fff;padding:12px 14px;border-radius:12px;font-size:14px;z-index:60;text-align:center;max-width:532px;margin:0 auto}
@media (min-width:600px){.modal{align-items:center}.sheet{border-radius:18px}}
.sp{margin-top:18px}

button.primary.alt{background:var(--khaki)}
button.wide{width:100%;margin-top:10px}
label.first{margin-top:0}
.foot2{margin-top:18px;text-align:center;font-size:10.5px;color:#9a968c}
textarea{width:100%;font:inherit;font-size:16px;padding:12px 14px;border:1px solid var(--line);border-radius:12px;background:#fff;color:var(--ink);min-height:280px;resize:vertical;white-space:pre-wrap}
textarea:focus{outline:2px solid var(--khaki);outline-offset:1px}
.eq{display:flex;align-items:center;gap:10px;background:#faf9f6;border:1px solid var(--line);border-radius:12px;padding:10px 12px;margin-top:8px}
.eq-i{flex:1;min-width:0}.eq-i b{display:block;font-size:15px}.eq-i small{color:var(--mut);font-size:12.5px}
.eq input{width:92px;text-align:center;font-size:20px;min-height:48px;padding:6px}
.eq input.bad{border-color:var(--err)}
.eq-t{display:flex;justify-content:space-between;font-weight:800;padding:10px 12px;margin-top:8px;background:#eeeae0;border-radius:12px;font-size:14.5px}
.seg{display:flex;gap:6px;margin-bottom:12px}
.seg button{flex:1;min-height:42px;border:1.5px solid var(--line);border-radius:10px;background:#fff;color:var(--ink);font-weight:800;font-size:13.5px}
.seg button.on{background:var(--ink);color:#fff;border-color:var(--ink)}
.kp{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:8px 0 14px}
.kp>div{background:#fff;border:1px solid var(--line);border-left:5px solid var(--c,#373435);border-radius:12px;padding:10px 12px}
.kp .t{font-size:11.5px;color:var(--mut);font-weight:700;letter-spacing:.3px;text-transform:uppercase}
.kp .v{font-size:26px;font-weight:800;line-height:1.15}.kp .p{font-size:12px;color:var(--mut)}
.kp .full{grid-column:1/-1}
.bars{margin:6px 0 14px}.bar-r{margin:8px 0}
.bar-r .l{display:flex;justify-content:space-between;gap:8px;font-size:13.5px}.bar-r .l b{white-space:nowrap}
.bar-r .tr{height:8px;border-radius:6px;background:#eeeae0;margin-top:4px;overflow:hidden}.bar-r .tr i{display:block;height:100%;background:var(--c,#d64545)}
.none{color:var(--mut);font-size:13.5px;margin-top:8px}
a.linkbtn{display:flex;align-items:center;justify-content:center;min-height:46px;margin-top:10px;border:1px solid var(--ink);border-radius:12px;background:#fff;color:var(--ink);font-weight:700;font-size:14.5px;text-decoration:none}
.dias-t{width:100%;border-collapse:collapse;font-size:13.5px;margin:6px 0 14px}.dias-t td{padding:6px 4px;border-bottom:1px solid var(--line)}.dias-t td:last-child{text-align:right;font-weight:800}
.lbl-f{font-size:11.5px;font-weight:800;letter-spacing:.3px;text-transform:uppercase;color:var(--mut);margin:4px 0 6px}
