:root{
  --bg:var(--tg-theme-bg-color,#0f1117);
  --text:var(--tg-theme-text-color,#eef0f6);
  --hint:var(--tg-theme-hint-color,#8b93a7);
  --card:var(--tg-theme-secondary-bg-color,#181b25);
  --btn:var(--tg-theme-button-color,#f7931a);
  --btn-text:var(--tg-theme-button-text-color,#111);
  --line:rgba(128,128,128,.22);
  --ok:#2fb344;--bad:#e5484d;--warn:#f59f00;--r:14px;
}
*{box-sizing:border-box;margin:0;padding:0;-webkit-tap-highlight-color:transparent}
html,body{background:var(--bg);color:var(--text);font:16px/1.45 -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif}
body{padding:14px 14px 90px;max-width:560px;margin:0 auto}
h1{font-size:22px;margin:4px 0 12px}h2{font-size:17px;margin:18px 0 8px}
.hint{color:var(--hint);font-size:13px}.center{text-align:center}.mono{font-family:ui-monospace,Menlo,Consolas,monospace;word-break:break-all}
.card{background:var(--card);border-radius:var(--r);padding:14px;margin-bottom:12px}
.row{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:7px 0;border-bottom:1px solid var(--line)}
.row:last-child{border-bottom:0}.row b{text-align:right}
.big{font-size:26px;font-weight:700}
.tiles{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:12px}
.tile{background:var(--card);border:0;color:var(--text);border-radius:var(--r);padding:16px 12px;text-align:left;font:inherit;cursor:pointer;min-height:84px}
.tile .ic{font-size:24px;display:block;margin-bottom:6px}.tile b{display:block}.tile span.s{font-size:12px;color:var(--hint)}
.tile.wide{grid-column:1/3}
button,.btn{font:inherit;cursor:pointer}
.btn{display:block;width:100%;border:0;border-radius:12px;padding:14px;font-weight:600;background:var(--btn);color:var(--btn-text);text-align:center;margin-top:10px}
.btn.sec{background:var(--card);color:var(--text);border:1px solid var(--line)}
.btn.danger{background:var(--bad);color:#fff}.btn.ok{background:var(--ok);color:#fff}
.btn.sm{display:inline-block;width:auto;padding:8px 12px;font-size:14px;margin:4px 4px 0 0}
.btn:disabled{opacity:.45;cursor:not-allowed}
.btns{display:grid;grid-template-columns:1fr 1fr;gap:10px}
input,select,textarea{width:100%;font:inherit;color:var(--text);background:var(--bg);border:1px solid var(--line);border-radius:12px;padding:13px;outline:none}
input:focus,select:focus,textarea:focus{border-color:var(--btn)}
textarea{min-height:80px;resize:vertical}
label{display:block;font-size:13px;color:var(--hint);margin:12px 0 5px}
.seg{display:flex;background:var(--bg);border:1px solid var(--line);border-radius:12px;padding:3px;margin:6px 0}
.seg button{flex:1;border:0;background:none;color:var(--hint);padding:9px;border-radius:9px;font-weight:600}
.seg button.on{background:var(--btn);color:var(--btn-text)}
.chips{display:flex;flex-wrap:wrap;gap:6px;margin:8px 0}
.chip{border:1px solid var(--line);background:var(--bg);color:var(--text);border-radius:999px;padding:6px 12px;font-size:13px}
.pill{display:inline-block;padding:2px 9px;border-radius:999px;font-size:12px;font-weight:600;background:var(--line)}
.pill.new,.pill.checking,.pill.pending{background:rgba(245,159,0,.2);color:var(--warn)}
.pill.completed{background:rgba(47,179,68,.2);color:var(--ok)}
.pill.cancelled,.pill.rejected,.pill.expired{background:rgba(229,72,77,.18);color:var(--bad)}
.calc{border:1px dashed var(--btn);border-radius:var(--r);padding:12px;margin-top:12px}
.err{color:var(--bad);font-size:14px;margin-top:8px;min-height:20px}
.item{display:block;width:100%;text-align:left;background:var(--card);border:0;color:var(--text);border-radius:var(--r);padding:12px 14px;margin-bottom:8px;font:inherit}
.item .top{display:flex;justify-content:space-between;gap:8px;align-items:center}
.tabs{display:flex;gap:6px;overflow-x:auto;margin:0 -14px 12px;padding:0 14px 4px}
.tabs button{flex:none;border:1px solid var(--line);background:var(--card);color:var(--text);border-radius:999px;padding:8px 14px;font-size:14px}
.tabs button.on{background:var(--btn);color:var(--btn-text);border-color:transparent}
.back{background:none;border:0;color:var(--btn);font:inherit;padding:4px 0 10px}
.req{background:var(--bg);border:1px solid var(--btn);border-radius:12px;padding:12px;white-space:pre-wrap;word-break:break-word;margin-top:8px}
.switch{display:flex;justify-content:space-between;align-items:center;padding:6px 0}
.switch input{width:auto}
.progress{height:8px;background:var(--line);border-radius:99px;overflow:hidden;margin:8px 0}.progress i{display:block;height:100%;background:var(--btn)}
#toast{position:fixed;left:50%;bottom:24px;transform:translate(-50%,30px);background:#222;color:#fff;padding:11px 18px;border-radius:12px;opacity:0;transition:.25s;pointer-events:none;max-width:90%;text-align:center;z-index:9;font-size:14px}
#toast.show{opacity:1;transform:translate(-50%,0)}#toast.bad{background:var(--bad)}
.timer{font-variant-numeric:tabular-nums;font-weight:700}
.loading{text-align:center;padding:40px;color:var(--hint)}
