/* ============================================================
   Стол заказов — mobile-first дизайн-система.
   База — под телефон (≈360–390px), десктоп-улучшения в @media(min-width:720px).
   ============================================================ */
:root{
  --paper:#ffffff; --bg:#f7f4f0; --ink:#2b2724; --muted:#8c8178;
  --line:#ece5dd; --soft:#f6f1ec; --accent:#c9a27a; --accent-dark:#9c7850;
  --ok:#3f7d52; --warn:#c98a2b; --err:#b4543e; --radius:14px;
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{
  margin:0; font:15px/1.5 -apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif;
  color:var(--ink); background:var(--bg); -webkit-font-smoothing:antialiased;
}
h1{font-family:Georgia,serif;font-weight:600;font-size:22px;margin:0 0 4px;letter-spacing:.2px}
.sub{color:var(--muted);font-size:13.5px}
a{color:var(--accent-dark)}
.muted{color:var(--muted)}

/* ---- топбар (mobile-first: бренд+юзер в строке, меню — отдельной строкой со скроллом) ---- */
.topbar{
  position:sticky;top:0;z-index:20;background:var(--paper);border-bottom:1px solid var(--line);
  display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px;padding:10px 14px;
}
.topbar .brand{font-family:Georgia,serif;font-weight:700;letter-spacing:2px;font-size:15px;margin-right:auto}
.topbar .brand small{display:block;font:11px/1 sans-serif;letter-spacing:.3px;color:var(--muted);margin-top:2px}
.topbar nav{order:5;width:100%;display:flex;gap:6px;overflow-x:auto;-webkit-overflow-scrolling:touch;
  margin-top:2px;scrollbar-width:none}
.topbar nav::-webkit-scrollbar{display:none}
.topbar nav a{padding:7px 11px;border-radius:9px;font-size:13.5px;text-decoration:none;color:var(--muted);
  white-space:nowrap;flex:none}
.topbar nav a.active{background:var(--soft);color:var(--ink);font-weight:600}
.topbar .who{font-size:12.5px;color:var(--muted);white-space:nowrap}
.topbar .who-name{max-width:130px;overflow:hidden;text-overflow:ellipsis}

/* ---- контейнер ---- */
.wrap{max-width:1040px;margin:0 auto;padding:18px 16px 80px}
.page-head{margin-bottom:16px}

/* ---- карточки/панели ---- */
.card{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);
  box-shadow:0 6px 22px rgba(70,55,40,.05)}
.card.pad{padding:16px}

/* ---- поля формы ---- */
.field{display:flex;flex-direction:column;gap:5px;margin-bottom:13px}
.field label{font-size:12px;color:var(--muted);font-weight:600}
input,select,textarea{
  font:inherit;color:var(--ink);background:#fcfaf8;border:1px solid var(--line);
  border-radius:10px;padding:11px 12px;width:100%;min-width:0;
}
input:focus,select:focus,textarea:focus{outline:none;border-color:var(--accent);background:#fff}
textarea{resize:vertical;min-height:64px}

/* ---- кнопки (тач-таргет ≥44px) ---- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;
  min-height:44px;padding:11px 16px;border:1px solid var(--line);border-radius:11px;
  background:var(--paper);color:var(--ink);font:inherit;font-weight:600;cursor:pointer;
  text-decoration:none;transition:.15s;-webkit-tap-highlight-color:transparent}
.btn:hover{border-color:var(--accent)}
.btn.primary{background:var(--accent);border-color:var(--accent);color:#fff}
.btn.primary:hover{background:var(--accent-dark);border-color:var(--accent-dark)}
.btn.ghost{background:transparent}
.btn.sm{min-height:36px;padding:7px 12px;font-size:13px;border-radius:9px}
.btn.danger{color:var(--err);border-color:#e8cdc5}
.btn.block{width:100%}
.btn[disabled]{opacity:.55;cursor:default}

/* ---- статусы ---- */
.status{display:inline-flex;align-items:center;gap:6px;font-size:12.5px;font-weight:600;
  padding:5px 10px;border-radius:999px;white-space:nowrap}
.st-formed{background:#fdf4e3;color:#9a6c12}
.st-work{background:#e9f0fb;color:#345b9c}
.st-done{background:#e8f3ec;color:#2f6e44}
.st-pending{background:#fdf4e3;color:#9a6c12}
.st-approved{background:#e8f3ec;color:#2f6e44}
.st-rejected{background:#f7eae6;color:#a4452f}

/* ---- список заказов (карточки на телефоне) ---- */
.list{display:flex;flex-direction:column;gap:11px}
.order-card{display:block;text-decoration:none;color:inherit;background:var(--paper);
  border:1px solid var(--line);border-radius:var(--radius);padding:14px 15px;transition:.15s}
.order-card:active,.order-card:hover{border-color:var(--accent);box-shadow:0 6px 18px rgba(70,55,40,.07)}
.order-card .top{display:flex;align-items:center;gap:10px;margin-bottom:6px;flex-wrap:wrap}
.order-card .oid{font-weight:700;font-size:15px;white-space:nowrap}
.order-card .top .status{margin-left:auto}
.order-card .salon{font-weight:600}
.order-card .meta{color:var(--muted);font-size:13px;margin-top:3px}
.order-card .row-actions{margin-top:10px;display:flex;gap:8px}

/* ---- тулбар фильтров ---- */
.toolbar{display:flex;flex-direction:column;gap:10px;margin-bottom:16px}
.toolbar .row{display:flex;gap:10px;flex-wrap:wrap}
.toolbar .field{margin:0;flex:1;min-width:130px}
.count{color:var(--muted);font-size:13px;margin:2px 0 12px}

/* ---- панель множественного выбора (стол менеджера) ---- */
.selbar{position:sticky;top:54px;z-index:15;display:flex;align-items:center;gap:10px;flex-wrap:wrap;
  background:var(--paper);border:1px solid var(--line);border-radius:12px;padding:9px 12px;margin-bottom:12px}
.selbar .selall{display:flex;align-items:center;gap:8px;font-size:13.5px;cursor:pointer;user-select:none}
.selbar .selall input{width:auto;margin:0}
.selbar .sel-n{color:var(--muted);font-size:13px}
.selbar .spacer{flex:1}
.order-card.pickable{display:flex;align-items:center;gap:12px}
.order-card.pickable .col-main{flex:1;min-width:0}
.order-card .pick{display:flex;align-items:center;flex:none}
.order-card .pick input{width:20px;height:20px;margin:0;cursor:pointer}

/* ---- таблица состава (десктоп) / карточки (моб) ---- */
.items-mobile{display:flex;flex-direction:column;gap:10px}
.item-card{border:1px solid var(--line);border-radius:12px;padding:12px;background:#fcfaf8;position:relative}
.item-card .grid2{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.item-card .del{position:absolute;top:8px;right:8px}
.items-table{display:none}

.add-row{margin-top:12px}

/* ---- алерты ---- */
.alert{padding:11px 13px;border-radius:11px;font-size:13.5px;margin-bottom:12px}
.alert.err{background:#f7eae6;color:#9a3f2c;border:1px solid #e8cdc5}
.alert.ok{background:#e8f3ec;color:#2f6e44;border:1px solid #cfe6d6}
.alert.info{background:var(--soft);color:var(--ink);border:1px solid var(--line)}
.empty{text-align:center;color:var(--muted);padding:40px 16px}

/* ---- центрированная страница входа/регистрации ---- */
.auth-screen{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:24px 16px}
.auth-box{width:100%;max-width:420px}
.auth-box .brand{text-align:center;font-family:Georgia,serif;letter-spacing:2px;font-weight:700;
  font-size:20px;margin-bottom:18px}
.auth-box .brand small{display:block;font:12px/1 sans-serif;color:var(--muted);letter-spacing:.3px;margin-top:4px}
.auth-foot{text-align:center;margin-top:14px;font-size:13.5px;color:var(--muted)}

/* ---- модалка (отклонить заявку) ---- */
.modal-bg{position:fixed;inset:0;background:rgba(40,32,26,.4);display:none;
  align-items:center;justify-content:center;padding:16px;z-index:50}
.modal-bg.show{display:flex}
.modal{width:100%;max-width:420px}

/* ---- dev-переключатель доступов (плавающая панель) ---- */
.dev-switch{position:fixed;left:50%;transform:translateX(-50%);bottom:14px;z-index:60;
  display:flex;align-items:center;gap:7px;background:var(--ink);color:#fff;
  padding:7px 9px 7px 13px;border-radius:999px;box-shadow:0 8px 26px rgba(0,0,0,.28);
  font-size:12.5px}
.dev-switch span{opacity:.7;letter-spacing:.3px}
.dev-switch button{border:none;background:rgba(255,255,255,.14);color:#fff;font:inherit;
  font-weight:600;padding:7px 12px;border-radius:999px;cursor:pointer;min-height:auto}
.dev-switch button:hover{background:rgba(255,255,255,.26)}
.dev-switch button.on{background:var(--accent);color:#fff}

/* ============================ десктоп ============================ */
@media(min-width:720px){
  h1{font-size:25px}
  .wrap{padding:26px 24px 60px}

  /* топбар: меню обратно в строку */
  .topbar{flex-wrap:nowrap;gap:12px}
  .topbar .brand{margin-right:0}
  .topbar nav{order:0;width:auto;margin-left:auto;overflow:visible;margin-top:0}
  .topbar .who-name{max-width:none}
  .toolbar{flex-direction:row;align-items:flex-end}
  .toolbar .row{flex:1}

  /* состав заказа — таблицей */
  .items-mobile{display:none}
  .items-table{display:table;width:100%;border-collapse:collapse;font-size:14px}
  .items-table th{text-align:left;font-size:11px;text-transform:uppercase;letter-spacing:.5px;
    color:var(--muted);font-weight:700;padding:0 8px 8px;border-bottom:2px solid var(--line)}
  .items-table td{padding:6px;border-bottom:1px solid var(--line);vertical-align:middle}
  .items-table input{padding:8px 9px}

  /* список заказов — строки */
  .order-card{display:flex;align-items:center;gap:16px;padding:15px 18px}
  .order-card .top{margin:0}
  .order-card .col-main{flex:1;min-width:0}
  .order-card .top .status{margin-left:0}
  .order-card .row-actions{margin:0}
}
