/* Палитра залочена (DESIGN.md §5). Светлая — основная, тёмная — второй режим. */
:root{
  --bg:#EFEFF4; --card:#FFFFFF; --input:#EDEFF3;
  --text:#0B0B0F; --text2:#8A8E99; --line:#E2E5EA;
  --accent:#2F82FF; --ok:#22A45D; --danger:#E5484D; --warn:#E8A020;
  --radius:16px;
}
@media (prefers-color-scheme:dark){
  :root{
    --bg:#0E1116; --card:#171B22; --input:#1F242D;
    --text:#E8EAED; --text2:#8A93A0; --line:#252B34; --accent:#5AA6FF;
  }
}
*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}
body{
  margin:0; background:var(--bg); color:var(--text);
  font:400 16px/1.4 -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;
  padding:0 0 calc(76px + env(safe-area-inset-bottom));
}
.wrap{max-width:640px;margin:0 auto;padding:12px}
h1{font-size:20px;font-weight:600;margin:8px 4px 12px}
.muted{color:var(--text2);font-size:13px}
.num{font-variant-numeric:tabular-nums}

/* карточки и строки */
.card{background:var(--card);border-radius:var(--radius);overflow:hidden;margin-bottom:12px}
.row{display:flex;align-items:center;gap:12px;padding:14px 16px;min-height:56px;
     border-bottom:1px solid var(--line);cursor:pointer}
.row:last-child{border-bottom:none}
.row:active{background:var(--input)}
.ico{width:40px;height:40px;border-radius:50%;flex:0 0 40px;
     display:grid;place-items:center;background:var(--accent)}
.ico svg{width:20px;height:20px;stroke:#fff;fill:none;stroke-width:2;
         stroke-linecap:round;stroke-linejoin:round}
.ico.ready{background:var(--ok)} .ico.wait{background:var(--warn)}
.ico.done{background:var(--text2)} .ico.bad{background:var(--danger)}
.grow{flex:1;min-width:0}
.name{font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.right{text-align:right;flex:0 0 auto}
.sum{font-weight:600}

/* статусы */
.pill{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:999px;
      font-size:13px;font-weight:500;background:var(--input);color:var(--text2)}
.pill.ok{background:rgba(34,164,93,.14);color:var(--ok)}
.pill.warn{background:rgba(232,160,32,.16);color:#8a5b00}
.pill.bad{background:rgba(229,72,77,.14);color:var(--danger)}
@media (prefers-color-scheme:dark){ .pill.warn{color:var(--warn)} }

/* кнопки */
.btn{display:block;width:100%;min-height:52px;border:none;border-radius:12px;
     background:var(--accent);color:#fff;font:600 17px/1 inherit;cursor:pointer}
.btn:disabled{background:var(--input);color:var(--text2);cursor:default}
.btn.danger{background:var(--danger)}
.btn.ghost{background:transparent;color:var(--accent)}

/* переписка */
.chat{display:flex;flex-direction:column;gap:8px;padding:12px 16px;max-height:46vh;overflow-y:auto}
.msg{max-width:78%;padding:10px 14px;border-radius:16px;background:var(--input);
     white-space:pre-wrap;word-break:break-word}
.msg.out{align-self:flex-end;background:var(--accent);color:#fff}
.msg .when{display:block;font-size:11px;opacity:.6;margin-top:4px}

/* нижнее меню — плавающая пилюля */
nav{position:fixed;left:50%;transform:translateX(-50%);
    bottom:calc(12px + env(safe-area-inset-bottom));
    display:flex;gap:4px;padding:6px;border-radius:999px;
    background:var(--card);box-shadow:0 6px 24px rgba(0,0,0,.12);z-index:5}
@media (prefers-color-scheme:dark){ nav{box-shadow:none;border:1px solid var(--line)} }
nav button{min-width:88px;min-height:48px;border:none;border-radius:999px;background:transparent;
           color:var(--text2);font:600 14px/1 inherit;cursor:pointer}
nav button[aria-current="page"]{background:var(--input);color:var(--accent)}

/* шторка подтверждения */
.sheet{position:fixed;inset:0;background:rgba(0,0,0,.45);display:none;z-index:10;
       align-items:flex-end}
.sheet[open]{display:flex}
.sheet__inner{background:var(--card);width:100%;border-radius:20px 20px 0 0;
              padding:20px 16px calc(20px + env(safe-area-inset-bottom))}
.sheet h2{font-size:18px;margin:0 0 12px}
.check{background:var(--input);border-radius:12px;padding:12px 14px;margin-bottom:16px}
.check div{display:flex;justify-content:space-between;padding:4px 0}

.empty{text-align:center;padding:48px 24px;color:var(--text2)}
.empty b{display:block;color:var(--text);font-size:17px;margin-bottom:6px}
.err{background:rgba(229,72,77,.12);color:var(--danger);border-radius:12px;
     padding:12px 14px;margin-bottom:12px;font-size:15px}
.back{background:none;border:none;color:var(--accent);font:600 16px/1 inherit;
      padding:8px 4px;margin-bottom:4px;cursor:pointer}
