:root{--bg:#f6f4ef;--card:#fff;--ink:#1b1f1d;--muted:#6b726e;--brand:#1f3a2e;--accent:#e4572e;--ok:#2e7d4f;--warn:#b26a00;--line:#e1ddd3;--err:#b3261e}*{box-sizing:border-box}html,body{margin:0;background:var(--bg);color:var(--ink);font:16px/1.4 system-ui,-apple-system,Segoe UI,Roboto,sans-serif;-webkit-text-size-adjust:100%}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer}h1{font-size:1.35rem;margin:.4rem 0 .8rem}h2{font-size:1.05rem;margin:1.4rem 0 .5rem}h3{margin:.2rem 0 .6rem}.muted{color:var(--muted)}.small{font-size:.82rem}.center{text-align:center}.grow{flex:1}.row{display:flex;gap:.6rem;align-items:center}.shell{min-height:100vh;padding-bottom:env(safe-area-inset-bottom)}.driver{max-width:560px;margin:0 auto;padding-bottom:96px}.admin{max-width:1200px;margin:0 auto}.banner{padding:.55rem .9rem;margin:.4rem .8rem;border-radius:10px;font-size:.92rem}.banner.warn{background:#fff3dc;color:#6b4300}.banner.info{background:#e6eef9;color:#18365f}.banner.ok{background:#e3f3e8;color:#164a2b}.err{background:#fde8e6;color:var(--err);padding:.55rem .9rem;margin:.4rem .8rem;border-radius:10px}.top{display:flex;align-items:center;justify-content:space-between;gap:.6rem;padding:.7rem .9rem;background:var(--brand);color:#fff;position:sticky;top:0;z-index:5}.top .muted{color:#b9cbc1}.link{background:none;border:0;color:inherit;text-decoration:underline;padding:.3rem}.page .link,.lt .link,.modal .link{color:#1d4ed8}.primary,.secondary{border:0;border-radius:12px;padding:.85rem 1.1rem;font-weight:600;min-height:48px}.primary{background:var(--brand);color:#fff}.primary:disabled{background:#b9c2bd}.secondary{background:#e9e5da}.datebar{display:flex;align-items:center;justify-content:space-between;padding:.6rem .9rem}.datebar button{width:44px;height:44px;border-radius:50%;border:1px solid var(--line);background:#fff;font-size:1.4rem}.tabs{display:flex;gap:.4rem;padding:0 .8rem}.tabs button{flex:1;padding:.55rem;border:1px solid var(--line);border-radius:10px;background:#fff}.tabs .on{background:var(--brand);color:#fff}.progress{height:6px;background:#e1ddd3;margin:.5rem .9rem;border-radius:3px;overflow:hidden}.progress span{display:block;height:100%;background:var(--ok)}.storelist{list-style:none;padding:0 .8rem;margin:.5rem 0;display:grid;gap:.55rem}.store{width:100%;display:flex;justify-content:space-between;align-items:center;gap:.6rem;text-align:left;background:var(--card);border:1px solid var(--line);border-radius:14px;padding:.8rem .9rem;min-height:64px}.store.done{background:#eaf5ee;border-color:#bfe0cb}.store.queued{background:#fff7e6;border-color:#f0d8a0}.chip{background:#ece8dd;padding:.2rem .6rem;border-radius:999px;font-size:.82rem;white-space:nowrap}.done .chip{background:var(--ok);color:#fff}.chip.warn{background:#ffe3b0}.chip.ok{background:#cdebd8}.rule{color:var(--warn)}.login{max-width:380px;margin:0 auto;padding:2rem 1rem;text-align:center}.usergrid{display:grid;gap:.7rem}.big{padding:1rem;border-radius:14px;border:1px solid var(--line);background:#fff;font-size:1.1rem;font-weight:600;display:flex;flex-direction:column}.big small{font-weight:400;color:var(--muted)}.pin{font-size:2rem;letter-spacing:.4rem;height:3rem}.keypad{display:grid;grid-template-columns:repeat(3,1fr);gap:.6rem}.keypad button{height:62px;font-size:1.5rem;border-radius:14px;border:1px solid var(--line);background:#fff}.keypad .ok{background:var(--brand);color:#fff}.keypad .ok:disabled{background:#b9c2bd}.steps{display:flex;list-style:none;padding:0;margin:0;background:#fff;border-bottom:1px solid var(--line);position:sticky;top:56px;z-index:4}.steps li{flex:1;text-align:center;padding:.6rem .2rem;font-size:.85rem;color:var(--muted);border-bottom:3px solid transparent}.steps .on{color:var(--brand);font-weight:700;border-color:var(--accent)}.steps .past{color:var(--ok)}.hint{margin:.6rem .9rem;font-size:.92rem;color:#3d4642}.search{width:calc(100% - 1.8rem);margin:.3rem .9rem;padding:.7rem .8rem;border-radius:10px;border:1px solid var(--line);background:#fff}.lines{list-style:none;padding:0 .8rem;margin:.4rem 0;display:grid;gap:.45rem}.lines li{background:#fff;border:1px solid var(--line);border-radius:12px;padding:.55rem .7rem;display:grid;grid-template-columns:1fr auto;gap:.4rem .6rem;align-items:center}.lines li.active,.lines li.diff{border-color:var(--accent);background:#fff6f2}.lines li.todo{border-color:#e9c36b}.lines li select{grid-column:1 / -1;padding:.55rem;border-radius:8px;border:1px solid var(--line);background:#fff}.lines li select.invalid{border-color:var(--err)}.pname small{display:block;color:var(--muted);font-size:.78rem}.stepper{display:flex;align-items:center}.stepper button{width:44px;height:44px;border-radius:10px;border:1px solid var(--line);background:#f1eee6;font-size:1.4rem}.stepper input{width:52px;height:44px;text-align:center;border:1px solid var(--line);border-radius:10px;margin:0 4px;font-size:1.1rem;background:#fff}.stepper.invalid input{border-color:#e9a400;background:#fff9e8}.add{width:calc(100% - 1.6rem);margin:.5rem .8rem;padding:.7rem;border-radius:10px;border:1px dashed var(--muted);background:transparent}.bar{position:fixed;bottom:0;left:0;right:0;max-width:560px;margin:0 auto;display:flex;gap:.6rem;padding:.7rem .8rem calc(.7rem + env(safe-area-inset-bottom));background:#f6f4eff7;border-top:1px solid var(--line);z-index:6}.bar .primary{flex:1}.sign{padding:0 .9rem}.recap{width:100%;margin:.5rem 0;border-collapse:collapse}.recap td{padding:.35rem 0;border-bottom:1px solid var(--line)}.recap td:last-child{text-align:right;font-weight:600}.sign .search{width:100%;margin:.4rem 0}.sign textarea{width:100%;margin-top:.5rem;padding:.7rem;border-radius:10px;border:1px solid var(--line)}.sigwrap{position:relative;margin:.5rem 0}.sigpad{width:100%;height:200px;background:#fff;border:2px dashed #b9b4a6;border-radius:12px;touch-action:none;display:block}.sigph{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;color:#b9b4a6;pointer-events:none}.clear{position:absolute;right:6px;top:6px;color:var(--muted)}.done-screen{padding:3rem 1rem}.bigcheck{width:90px;height:90px;border-radius:50%;background:var(--ok);color:#fff;font-size:3rem;display:grid;place-items:center;margin:0 auto 1rem}.adminbar{flex-wrap:wrap}.adminbar nav{display:flex;gap:.2rem;flex-wrap:wrap}.adminbar nav button{background:transparent;border:0;color:#cfe0d6;padding:.45rem .7rem;border-radius:8px}.adminbar nav .on{background:#ffffff29;color:#fff;font-weight:700}.page{padding:1rem}.daypicker{display:flex;gap:.4rem;flex-wrap:wrap;align-items:center;margin-bottom:.8rem}.daypicker button{padding:.4rem .7rem;border-radius:10px;border:1px solid var(--line);background:#fff;display:flex;flex-direction:column;align-items:center;line-height:1.2}.daypicker .on{border-color:var(--brand);box-shadow:0 0 0 2px var(--brand) inset}.daypicker .validated small{color:var(--ok)}.daypicker .draft small{color:var(--warn)}.daypicker input{padding:.45rem;border:1px solid var(--line);border-radius:8px}.kpis{display:flex;gap:.7rem;flex-wrap:wrap;margin:.4rem 0 .8rem}.kpis>div{background:#fff;border:1px solid var(--line);border-radius:12px;padding:.6rem 1rem;min-width:130px}.kpis b{display:block;font-size:1.5rem}.kpis span{color:var(--muted);font-size:.85rem}.actions{display:flex;gap:.5rem;flex-wrap:wrap;align-items:center;margin:.6rem 0}.actions .search{width:260px;margin:0}.actions .primary,.actions .secondary{min-height:42px;padding:.5rem 1rem}.storeblock{background:#fff;border:1px solid var(--line);border-radius:12px;margin-bottom:.5rem;overflow:hidden}.storehead{width:100%;display:flex;gap:.6rem;align-items:center;padding:.7rem .9rem;background:none;border:0;text-align:left}.tour{background:var(--brand);color:#fff;border-radius:6px;padding:0 .45rem;font-weight:700}.sum{font-weight:700}.lt{border-collapse:collapse;width:100%;font-size:.92rem}.lt th,.lt td{padding:.4rem .6rem;border-bottom:1px solid var(--line);text-align:left;vertical-align:middle}.lt th{color:var(--muted);font-weight:600;font-size:.8rem;background:#faf8f3}.lt .num{text-align:right;font-variant-numeric:tabular-nums}.lt input[type=number]{width:70px;padding:.3rem;border:1px solid var(--line);border-radius:6px;text-align:right}.lt tr.edited{background:#fff3e8}.lt tr.off{opacity:.5}.lt tr.tot td{font-weight:700;background:#faf8f3}.lt small{display:block;color:var(--muted)}.lt select{padding:.3rem;border:1px solid var(--line);border-radius:6px;max-width:100%}.wide{background:#fff;border:1px solid var(--line);border-radius:12px;overflow:hidden}.daytog button{width:28px;height:28px;border:1px solid var(--line);background:#fff;margin-right:2px;border-radius:6px;font-size:.8rem}.daytog .on{background:var(--brand);color:#fff;border-color:var(--brand)}.form{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:.8rem}.form.row{grid-template-columns:repeat(auto-fill,minmax(150px,1fr))}.form label{display:flex;flex-direction:column;gap:.25rem;font-size:.88rem;color:var(--muted)}.form input,.form select{padding:.55rem;border:1px solid var(--line);border-radius:8px;background:#fff;color:var(--ink)}.importbox{background:#fff;border:1px solid var(--line);border-radius:12px;padding:1rem;margin:.8rem 0}.result{background:#1b1f1d;color:#d6f5e0;padding:1rem;border-radius:10px;overflow:auto;max-height:360px;font-size:.82rem}.modal{position:fixed;top:0;right:0;bottom:0;left:0;background:#0006;display:grid;place-items:center;z-index:20;padding:1rem}.modal .card{background:#fff;border-radius:14px;padding:1rem;max-width:760px;max-height:88vh;overflow:auto;width:100%}@media (max-width:700px){.page{padding:.6rem}.lt{font-size:.82rem}.wide{overflow-x:auto;display:block}}@media print{.noprint,.top,.daypicker,.banner{display:none!important}body{background:#fff}}
