/* Кабинет мастера: телефон в руке, палец вместо мыши. */
:root{
  --bg:#f2f4f7; --card:#fff; --ink:#151a20; --ink2:#5a6470; --ink3:#8b96a1;
  --line:#e3e8ed; --amber:#ff7a18; --amber-l:#fff3e6; --dark:#101820;
  --ok:#1c9b58; --warn:#e0a020; --bad:#d0483c; --blue:#2f8fd8;
  --r:14px; --shadow:0 2px 10px rgba(20,35,50,.07);
}
*{margin:0;padding:0;box-sizing:border-box;-webkit-tap-highlight-color:transparent}
body{font:400 15px/1.45 -apple-system,"Segoe UI",Roboto,Arial,sans-serif;color:var(--ink);background:var(--bg)}
.hidden{display:none!important}
button,input,select,textarea{font:inherit;color:inherit}

/* ── вход ── */
.login{min-height:100dvh;display:grid;place-items:center;background:var(--dark);padding:20px}
.login-box{width:min(360px,100%);display:flex;flex-direction:column;gap:11px}
.login-logo{color:#fff;font-weight:800;letter-spacing:.04em;display:flex;align-items:center;gap:8px;font-size:15px}
.login-logo i{width:9px;height:17px;background:var(--amber);border-radius:2px}
.login-sub{color:#7e8b98;font-size:13px;margin:-6px 0 8px 17px}
.in{background:#1b242e;border:1px solid #2b3743;color:#fff;padding:13px 14px;border-radius:12px;width:100%}
.in::placeholder{color:#6d7986}
.in:focus{outline:none;border-color:var(--amber)}
.btn{border:none;border-radius:12px;padding:13px 18px;font-weight:700;cursor:pointer;background:#e8edf2;color:var(--ink)}
.btn-main{background:var(--amber);color:#2a1200}
.btn-line{background:transparent;border:1px solid var(--line);color:var(--ink2);font-weight:600}
.btn-sm{padding:8px 13px;font-size:13.5px;border-radius:10px}
.btn-wide{width:100%}
.err{color:#ff8f80;font-size:13px;min-height:18px}

/* ── каркас ── */
.top{position:sticky;top:0;z-index:30;display:flex;align-items:center;justify-content:space-between;
  gap:10px;padding:11px 14px;background:var(--dark);color:#fff;padding-top:max(11px,env(safe-area-inset-top))}
.top-l{display:flex;align-items:center;gap:9px;font-weight:800;font-size:16px;letter-spacing:-.01em}
.mark{width:8px;height:16px;background:var(--amber);border-radius:2px;display:inline-block}
.top-r{display:flex;gap:8px}
.icon-btn{width:34px;height:34px;border-radius:10px;border:1px solid rgba(255,255,255,.2);
  background:transparent;color:#fff;font-size:17px;line-height:1;display:grid;place-items:center;cursor:pointer}
#btnAdd{background:var(--amber);border-color:var(--amber);color:#2a1200;font-size:22px;font-weight:700}
#btnUser{font-size:14px;font-weight:800}
main{padding:12px 12px 86px;max-width:900px;margin:0 auto}
.tabs{position:fixed;bottom:0;left:0;right:0;z-index:30;display:flex;background:#fff;
  border-top:1px solid var(--line);padding-bottom:env(safe-area-inset-bottom)}
.tab{flex:1;border:none;background:transparent;padding:9px 4px 10px;font-size:11px;color:var(--ink3);
  display:flex;flex-direction:column;align-items:center;gap:3px;cursor:pointer}
.tab b{font-size:17px;line-height:1}
.tab.on{color:var(--amber)}

/* ── карточки ── */
.card{background:var(--card);border-radius:var(--r);box-shadow:var(--shadow);padding:13px;margin-bottom:10px}
.card-tap{cursor:pointer;transition:transform .1s}
.card-tap:active{transform:scale(.99)}
.row{display:flex;align-items:center;gap:10px}
.row-b{justify-content:space-between}
.grow{flex:1;min-width:0}
.name{font-weight:700;font-size:15.5px;letter-spacing:-.01em}
.sub{color:var(--ink2);font-size:13.5px}
.dim{color:var(--ink3);font-size:12.5px}
.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.time{font-weight:800;font-size:17px;letter-spacing:-.02em;min-width:52px}
.money{font-weight:800;letter-spacing:-.01em}
.h2{font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.07em;color:var(--ink3);margin:14px 2px 7px}
.h2:first-child{margin-top:2px}
.empty{text-align:center;color:var(--ink3);padding:34px 16px;font-size:14px}
.pill{display:inline-block;padding:3px 9px;border-radius:20px;font-size:11.5px;font-weight:700;background:#eef2f6;color:var(--ink2)}
.p-new{background:#fff0e2;color:#c2570b}.p-scheduled{background:#e6f1fb;color:#1d6ba8}
.p-diag{background:#efe9fb;color:#5a3fb0}.p-quoted{background:#fdf3d8;color:#96700c}
.p-work{background:#e2f3ea;color:#12784a}.p-done{background:#e2f3ea;color:#12784a}
.p-lost{background:#fbe7e5;color:#a8342a}
.dot{width:9px;height:9px;border-radius:50%;flex:0 0 auto}
.tel{color:var(--blue);font-weight:700;text-decoration:none}
.acts{display:flex;gap:7px;flex-wrap:wrap;margin-top:10px}
.chips{display:flex;gap:6px;overflow-x:auto;padding:2px 0 8px;-webkit-overflow-scrolling:touch}
.chip{white-space:nowrap;border:1px solid var(--line);background:#fff;color:var(--ink2);
  padding:6px 12px;border-radius:20px;font-size:13px;cursor:pointer}
.chip.on{background:var(--dark);border-color:var(--dark);color:#fff;font-weight:600}

/* ── календарь ── */
.days{display:flex;gap:6px;overflow-x:auto;padding-bottom:9px}
.day{min-width:52px;border:1px solid var(--line);background:#fff;border-radius:12px;padding:7px 4px;
  text-align:center;cursor:pointer}
.day.on{background:var(--amber);border-color:var(--amber);color:#2a1200}
.day .dw{font-size:10.5px;text-transform:uppercase;letter-spacing:.04em;opacity:.7}
.day .dd{font-size:17px;font-weight:800;line-height:1.15}
.day .dn{font-size:10px;font-weight:700;color:var(--amber)}
.day.on .dn{color:#2a1200}
.slot{border-left:3px solid var(--amber);padding-left:10px}

/* ── формы и шторка ── */
.fld{display:flex;flex-direction:column;gap:4px;margin-bottom:10px}
.fld label{font-size:12px;color:var(--ink2);font-weight:600}
.fld input,.fld select,.fld textarea{border:1px solid var(--line);border-radius:11px;padding:11px 12px;
  background:#fff;width:100%}
.fld input:focus,.fld select:focus,.fld textarea:focus{outline:none;border-color:var(--amber);background:var(--amber-l)}
.fld textarea{resize:vertical;min-height:64px}
.two{display:flex;gap:9px}.two>*{flex:1}
.sheet{position:fixed;inset:0;z-index:60;display:flex;align-items:flex-end;justify-content:center}
.sheet-bg{position:absolute;inset:0;background:rgba(10,18,26,.5)}
.sheet-box{position:relative;width:min(560px,100%);max-height:92dvh;background:#fff;
  border-radius:18px 18px 0 0;display:flex;flex-direction:column;animation:up .18s ease-out}
@keyframes up{from{transform:translateY(24px);opacity:.6}to{transform:none;opacity:1}}
.sheet-head{display:flex;align-items:center;justify-content:space-between;padding:13px 14px;
  border-bottom:1px solid var(--line);font-weight:800}
.sheet-head .icon-btn{border-color:var(--line);color:var(--ink2)}
.sheet-body{padding:14px;overflow-y:auto;padding-bottom:max(18px,env(safe-area-inset-bottom))}
.toast{position:fixed;left:50%;bottom:96px;transform:translateX(-50%);z-index:80;background:var(--dark);
  color:#fff;padding:11px 18px;border-radius:12px;font-size:14px;box-shadow:0 8px 24px rgba(0,0,0,.25)}
.warn-box{background:#fff6e8;border:1px solid #f3d9ae;border-radius:11px;padding:10px;font-size:13.5px;margin-bottom:10px}
.stat{display:flex;justify-content:space-between;padding:9px 0;border-bottom:1px solid var(--line)}
.stat:last-child{border:none}
@media(min-width:720px){ main{padding:16px 16px 90px} }
