/* Kedra · bron paneli (bron.kedra.uz). Kompyuter uchun zich ish stoli: chap menyu (kedr), markazda soatlik jadval,
   o'ngda ariza kartasi. Holat rangi shakl bilan ham beriladi: yangi = punktir sariq, tasdiqlangan = yashil, yopiq = shtrix. */
:root{
  --bg:#f4f1ec; --surface:#fff; --surface2:#faf8f5; --ink:#241a12; --ink2:#665848; --ink3:#9a8c7d; --line:#e4ddd2; --line2:#eee8df;
  --side:#2c1c10; --side2:#3a2617; --sideink:#f3ebe0; --sideink2:rgba(243,235,224,.62);
  --cedar:#8b5a34; --cedar-d:#5a3820; --cedar-soft:#f3e8dc;
  --new:#9a6212; --new-bg:#fdf2dd; --new-line:#e3b866;
  --ok:#35602f; --ok-bg:#e3eedb; --ok-line:#9fc391;
  --bad:#a63e27; --bad-bg:#f9e3dc; --bad-line:#e2a291;
  --gray:#6d6259; --gray-bg:#ece7e0;
  --sec-oilaviy:#a8692f; --sec-erkaklar:#3d6585; --sec-ayollar:#9a4a66;
  --serif:"Cormorant","Cormorant Garamond",Georgia,serif;
  --sans:Inter,system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
  --hp:34px; /* bir soat balandligi */
  --shadow:0 18px 50px -20px rgba(44,28,16,.35);
}
*{box-sizing:border-box}
html,body{height:100%}
body{margin:0;background:var(--bg);color:var(--ink);font:400 13.5px/1.45 var(--sans);-webkit-font-smoothing:antialiased;overflow:hidden}
button,input,select,textarea{font:inherit;color:inherit}
button{background:none;border:0;padding:0;cursor:pointer}
a{color:inherit}
[hidden]{display:none!important}
.ico{width:18px;height:18px;flex:none}
:focus-visible{outline:2px solid var(--cedar);outline-offset:2px;border-radius:6px}
.num{font-variant-numeric:tabular-nums}

.boot{height:100%;display:grid;place-items:center}
.boot-mark{width:46px;height:58px;color:var(--cedar);animation:pulse 1.4s ease-in-out infinite}
@keyframes pulse{50%{opacity:.35}}

/* ---------- kirish ---------- */
.login{height:100%;display:grid;place-items:center;background:var(--side);color:var(--sideink);padding:24px}
.login-c{max-width:420px;display:grid;gap:16px;text-align:center;justify-items:center}
.login-c svg{width:48px;height:60px;color:#d7a77b}
.login-c h1{font:500 40px/1.05 var(--serif);margin:6px 0 0}
.login-c p{color:var(--sideink2);font-size:14px;line-height:1.6;margin:0}
.login-c code{background:rgba(255,255,255,.1);padding:2px 7px;border-radius:5px;color:#fff}
.login-c .btn{margin-top:8px}

/* ---------- qobiq ---------- */
.app{height:100%;display:grid;grid-template-columns:216px minmax(0,1fr)}
.side{background:var(--side);color:var(--sideink);display:flex;flex-direction:column;padding:18px 12px 14px;gap:4px;min-height:0}
.brand{display:flex;align-items:center;gap:10px;padding:2px 10px 20px;font:500 16px var(--serif);letter-spacing:.32em}
.brand svg{width:22px;height:28px;color:#d7a77b}
.brand small{display:block;font:500 9.5px var(--sans);letter-spacing:.2em;color:var(--sideink2);margin-top:2px}
.nav-b{display:flex;align-items:center;gap:11px;width:100%;padding:9px 10px;border-radius:9px;color:var(--sideink2);font-weight:500;text-align:left;transition:background .15s,color .15s}
.nav-b:hover{background:rgba(255,255,255,.06);color:var(--sideink)}
.nav-b.on{background:rgba(255,255,255,.11);color:#fff}
.nav-b .badge{margin-left:auto;min-width:22px;padding:1px 7px;border-radius:99px;background:var(--new-line);color:#3a2504;font:700 11px var(--sans);text-align:center}
.side .sp{flex:1}
.side-lang{display:flex;gap:2px;padding:0 6px 10px}
.side-lang button{padding:4px 8px;border-radius:6px;font:600 11px var(--sans);letter-spacing:.1em;color:var(--sideink2)}
.side-lang button.on{background:rgba(255,255,255,.14);color:#fff}
.side-me{padding:12px 10px 4px;border-top:1px solid rgba(255,255,255,.1);font-size:12.5px;display:grid;gap:2px}
.side-me b{font-weight:600}
.side-me span{color:var(--sideink2);font-size:11.5px}
.side-me a{color:var(--sideink2);font-size:11.5px;text-decoration:none}
.side-me a:hover{color:#fff}
.side .live{display:flex;align-items:center;gap:7px;padding:6px 10px;font-size:11.5px;color:var(--sideink2)}
.side .live i{width:7px;height:7px;border-radius:50%;background:#7fc06f;box-shadow:0 0 0 3px rgba(127,192,111,.18)}
.side .live.off i{background:#d36a4f;box-shadow:0 0 0 3px rgba(211,106,79,.2)}

.main{display:grid;grid-template-rows:auto auto minmax(0,1fr);min-width:0;min-height:0}
.main.full{grid-template-rows:auto minmax(0,1fr)}
.top{display:flex;align-items:center;gap:10px;padding:12px 18px;background:var(--surface);border-bottom:1px solid var(--line);flex-wrap:wrap}
.top h1{font:500 24px/1 var(--serif);margin:0 8px 0 4px;min-width:250px;white-space:nowrap}
.top h1 small{font:500 12px var(--sans);color:var(--ink3);margin-left:8px;letter-spacing:.02em}
.top .sp{flex:1}
.seg{display:inline-flex;border:1px solid var(--line);border-radius:9px;overflow:hidden;background:var(--surface)}
.seg button{padding:6px 12px;font-weight:500;color:var(--ink2);border-right:1px solid var(--line);display:inline-flex;align-items:center;gap:6px}
.seg button:last-child{border-right:0}
.seg button:hover{background:var(--surface2)}
.seg button.on{background:var(--cedar-soft);color:var(--cedar-d)}
.seg .ico{width:16px;height:16px}
.datepick{position:relative;display:inline-flex}
.datepick input{position:absolute;inset:0;opacity:0;cursor:pointer;width:100%}
.search{display:flex;align-items:center;gap:7px;padding:0 10px;height:34px;border:1px solid var(--line);border-radius:9px;background:var(--surface2);min-width:220px}
.search input{border:0;background:transparent;outline:none;width:100%;height:100%}
.search .ico{width:16px;height:16px;color:var(--ink3)}
.kbd{font:600 10.5px var(--sans);border:1px solid var(--line);border-bottom-width:2px;border-radius:5px;padding:0 5px;color:var(--ink3);background:var(--surface)}

.btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;height:34px;padding:0 13px;border-radius:9px;border:1px solid var(--line);background:var(--surface);font-weight:600;white-space:nowrap;transition:background .15s,border-color .15s,color .15s}
.btn:hover{border-color:var(--cedar);color:var(--cedar-d)}
.btn .ico{width:16px;height:16px}
.btn.pri{background:var(--cedar-d);border-color:var(--cedar-d);color:#fff}
.btn.pri:hover{background:var(--cedar);color:#fff}
.btn.ok{background:var(--ok);border-color:var(--ok);color:#fff}
.btn.ok:hover{background:#2b5126;color:#fff}
.btn.bad{color:var(--bad);border-color:var(--bad-line)}
.btn.bad:hover{background:var(--bad-bg);color:var(--bad)}
.btn.ghost{border-color:transparent;background:transparent}
.btn.big{height:42px;padding:0 18px;font-size:14px}
.btn:disabled{opacity:.5;cursor:not-allowed}
.btn.sideb{background:rgba(255,255,255,.08);border-color:transparent;color:#fff}

/* ---------- navbat ---------- */
.queue{display:flex;gap:8px;padding:9px 18px;background:var(--new-bg);border-bottom:1px solid var(--new-line);overflow-x:auto;align-items:stretch;min-height:0}
.queue.empty{background:var(--surface2);border-bottom-color:var(--line)}
.q-lbl{flex:none;display:flex;align-items:center;gap:8px;font:700 10.5px var(--sans);letter-spacing:.12em;text-transform:uppercase;color:var(--new);padding-right:6px}
.queue.empty .q-lbl{color:var(--ink3)}
.q-lbl .ico{width:16px;height:16px}
.qc{flex:none;display:grid;gap:1px;min-width:190px;max-width:240px;padding:7px 11px;border:1px solid var(--new-line);border-radius:9px;background:var(--surface);text-align:left;position:relative;transition:transform .15s,box-shadow .15s}
.qc:hover{transform:translateY(-1px);box-shadow:0 6px 16px -10px rgba(120,80,20,.6)}
.qc b{font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;padding-right:78px}
.qc span{font-size:12px;color:var(--ink2);white-space:nowrap}
.qc em{position:absolute;top:7px;right:9px;font:500 10.5px var(--sans);font-style:normal;color:var(--ink3)}
.qc.unseen::after{content:"";position:absolute;top:-4px;left:-4px;width:10px;height:10px;border-radius:50%;background:var(--bad);box-shadow:0 0 0 3px rgba(166,62,39,.2);animation:pulse 1.4s infinite}
.qc.warn{border-color:var(--bad-line)}
.qc .flag{font-size:11px;color:var(--bad);font-weight:600}
.qc.sel{outline:2px solid var(--cedar);outline-offset:1px}

/* ---------- ish maydoni ---------- */
.work{display:grid;grid-template-columns:minmax(0,1fr) 372px;min-height:0}
.work.nodrawer{grid-template-columns:minmax(0,1fr)}
.cal{overflow:auto;background:var(--surface);position:relative;min-width:0;border-right:1px solid var(--line)}
.gh{position:sticky;top:0;z-index:6;display:grid;background:var(--surface);border-bottom:1px solid var(--line)}
.gh > div{padding:9px 10px;font-weight:600;display:flex;align-items:center;gap:8px;min-width:0;border-left:1px solid var(--line2)}
.gh > div:first-child{border-left:0}
.gh .dot{width:9px;height:9px;border-radius:50%;flex:none}
.gh small{margin-left:auto;font-weight:500;color:var(--ink3);font-size:11.5px}
.gh .day{flex-direction:column;align-items:flex-start;gap:0;cursor:pointer}
.gh .day:hover{background:var(--surface2)}
.gh .day.today b{color:var(--cedar)}
.gh .day span{font-size:11px;color:var(--ink3);font-weight:500}
.gh .sub{display:grid;grid-template-columns:repeat(3,1fr);gap:2px;width:100%;margin-top:4px}
.gh .sub i{height:3px;border-radius:2px}
.gb{display:grid;position:relative}
.tcol div{height:var(--hp);font:500 10.5px var(--sans);color:var(--ink3);text-align:right;padding-right:8px;transform:translateY(-6px);font-variant-numeric:tabular-nums}
.tcol div:first-child{visibility:hidden}
.lane{position:relative;border-left:1px solid var(--line2);height:calc(var(--hp) * 24);
  background:repeating-linear-gradient(to bottom,transparent 0,transparent calc(var(--hp) - 1px),var(--line2) calc(var(--hp) - 1px),var(--line2) var(--hp))}
.lane.dayfirst{border-left:1px solid var(--line)}
.lane.past{background-color:rgba(244,241,236,.6)}
.lane .hov{position:absolute;left:2px;right:2px;height:var(--hp);border-radius:6px;background:var(--cedar-soft);opacity:0;pointer-events:none;display:flex;align-items:center;justify-content:center;font:600 11px var(--sans);color:var(--cedar-d)}
.lane:hover .hov{opacity:1}
.blk{position:absolute;left:3px;right:3px;border-radius:7px;padding:4px 7px;overflow:hidden;text-align:left;display:flex;flex-direction:column;gap:0;z-index:2;transition:box-shadow .15s,transform .15s;min-height:16px}
.blk:hover{z-index:4;box-shadow:0 8px 20px -10px rgba(44,28,16,.55)}
.blk b{font-weight:600;font-size:12.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.blk span{font-size:11.5px;color:var(--ink2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.blk .tag{font:700 9.5px var(--sans);letter-spacing:.08em;text-transform:uppercase}
.blk.ok{background:var(--ok-bg);border:1px solid var(--ok-line);border-left:4px solid var(--ok)}
.blk.keldi{background:#eef3ea;border:1px solid #c8dcbf;border-left:4px solid #7aa36c}
.blk.kelmadi{background:var(--gray-bg);border:1px solid #d8cfc4;border-left:4px solid var(--gray)}
.blk.new{background:var(--new-bg);border:1.5px dashed var(--new-line);border-left:4px solid var(--new)}
.blk.new .tag{color:var(--new)}
.blk.yopiq{background:repeating-linear-gradient(135deg,#e9e3da 0 6px,#f3efe9 6px 12px);border:1px solid #d9d0c4;border-left:4px solid var(--gray);color:var(--gray)}
.blk.closed{background:var(--surface2);border:1px dashed var(--line);opacity:.75;text-decoration:line-through}
.blk.taken{border-color:var(--bad);box-shadow:inset 0 0 0 1px var(--bad)}
.blk.clash{border-color:var(--bad-line)}
.blk.sel{outline:2px solid var(--cedar-d);outline-offset:1px;z-index:5}
.blk.cut-t{border-top-left-radius:0;border-top-right-radius:0}
.blk.cut-b{border-bottom-left-radius:0;border-bottom-right-radius:0}
.blk.unseen::after{content:"";position:absolute;top:4px;right:5px;width:8px;height:8px;border-radius:50%;background:var(--bad);animation:pulse 1.4s infinite}
.clean{position:absolute;left:3px;right:3px;border-radius:5px;z-index:1;background:repeating-linear-gradient(135deg,#ebe5dc 0 4px,transparent 4px 8px);border:1px solid var(--line2);font:500 9.5px var(--sans);color:var(--ink3);padding:2px 6px;overflow:hidden;white-space:nowrap}
.nowline{position:absolute;left:0;right:0;height:0;border-top:2px solid var(--bad);z-index:7;pointer-events:none}
.nowline::before{content:attr(data-t);position:absolute;left:4px;top:-9px;font:700 10px var(--sans);color:#fff;background:var(--bad);padding:1px 5px;border-radius:4px}
.week .blk{padding:2px 4px;left:1px;right:1px;border-radius:5px}
.week .blk b{font-size:11px}
.week .blk span{font-size:10.5px}
.week .clean{left:1px;right:1px;font-size:0}

/* ---------- o'ng panel ---------- */
.drawer{background:var(--surface);overflow:auto;display:flex;flex-direction:column;min-height:0}
.dr-h{display:flex;align-items:flex-start;gap:10px;padding:16px 18px 12px;border-bottom:1px solid var(--line2);position:sticky;top:0;background:var(--surface);z-index:2}
.dr-h h2{font:500 26px/1.05 var(--serif);margin:0;word-break:break-word}
.dr-h .no{font:600 11px var(--sans);letter-spacing:.08em;color:var(--ink3);margin-bottom:4px;text-transform:uppercase}
.dr-h .x{margin-left:auto;color:var(--ink3);padding:4px;border-radius:7px}
.dr-h .x:hover{background:var(--surface2);color:var(--ink)}
.dr-b{padding:14px 18px 18px;display:grid;gap:14px;align-content:start}
.pill{display:inline-flex;align-items:center;gap:6px;padding:3px 10px;border-radius:99px;font:700 10.5px var(--sans);letter-spacing:.07em;text-transform:uppercase;white-space:nowrap}
.pill::before{content:"";width:7px;height:7px;border-radius:50%;background:currentColor}
.pill.yangi{background:var(--new-bg);color:var(--new);border:1px solid var(--new-line)}
.pill.tasdiqlandi{background:var(--ok-bg);color:var(--ok);border:1px solid var(--ok-line)}
.pill.keldi{background:#eef3ea;color:#4f7c43;border:1px solid #c8dcbf}
.pill.kelmadi,.pill.bekor{background:var(--gray-bg);color:var(--gray);border:1px solid #d8cfc4}
.pill.rad{background:var(--bad-bg);color:var(--bad);border:1px solid var(--bad-line)}
.pill.yopiq{background:var(--gray-bg);color:var(--gray);border:1px solid #d8cfc4}
.dr-when{display:grid;gap:2px;padding:12px 14px;border-radius:11px;background:var(--surface2);border:1px solid var(--line2)}
.dr-when b{font:500 22px var(--serif)}
.dr-when span{color:var(--ink2);font-size:12.5px}
.kv{display:grid;grid-template-columns:96px 1fr;gap:7px 12px;margin:0}
.kv dt{color:var(--ink3)}
.kv dd{margin:0;font-weight:500;min-width:0;word-break:break-word}
.money{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap}
.money b{font:500 30px/1 var(--serif)}
.money span{color:var(--ink2);font-size:12.5px}
.phone-row{display:flex;align-items:center;gap:6px;flex-wrap:wrap}
.phone-row a{font-weight:600;text-decoration:none;font-variant-numeric:tabular-nums}
.icon-b{display:inline-grid;place-items:center;width:28px;height:28px;border-radius:7px;color:var(--ink3);border:1px solid var(--line2)}
.icon-b:hover{color:var(--cedar-d);border-color:var(--cedar)}
.icon-b .ico{width:15px;height:15px}
.warn{padding:10px 12px;border-radius:10px;background:var(--bad-bg);border:1px solid var(--bad-line);color:#7a2a17;font-size:12.5px;line-height:1.45}
.warn b{font-weight:700}
.warn button{text-decoration:underline;font-weight:600;color:inherit}
.acts{display:grid;gap:8px}
.acts .row{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.note-box{display:grid;gap:6px}
.note-box textarea{width:100%;min-height:58px;resize:vertical;border:1px solid var(--line);border-radius:9px;padding:8px 10px;background:var(--surface2)}
.note-box textarea:focus{outline:none;border-color:var(--cedar);background:#fff}
.sub-h{font:700 10.5px var(--sans);letter-spacing:.12em;text-transform:uppercase;color:var(--ink3);margin-bottom:-6px}
.log{display:grid;gap:7px;font-size:12px}
.log div{display:grid;grid-template-columns:78px 1fr;gap:8px;color:var(--ink2)}
.log time{color:var(--ink3);font-variant-numeric:tabular-nums}
.log b{color:var(--ink);font-weight:600}
.hist{display:grid;gap:4px;font-size:12px}
.hist button{display:flex;justify-content:space-between;gap:8px;padding:6px 9px;border-radius:7px;background:var(--surface2);text-align:left}
.hist button:hover{background:var(--cedar-soft)}

.today-h{padding:18px 18px 6px}
.today-h h2{font:500 26px var(--serif);margin:0}
.today-h p{color:var(--ink3);margin:2px 0 0;font-size:12.5px}
.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;padding:10px 18px}
.stat{padding:10px 11px;border-radius:10px;background:var(--surface2);border:1px solid var(--line2)}
.stat b{display:block;font:500 26px/1 var(--serif)}
.stat span{font-size:11px;color:var(--ink3)}
.stat.hot{background:var(--new-bg);border-color:var(--new-line)}
.tlist{padding:6px 18px 18px;display:grid;gap:6px}
.trow{display:grid;grid-template-columns:52px 1fr auto;gap:10px;align-items:center;padding:8px 10px;border-radius:9px;border:1px solid var(--line2);text-align:left}
.trow:hover{border-color:var(--cedar)}
.trow time{font-weight:700;font-variant-numeric:tabular-nums}
.trow b{display:block;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.trow span{font-size:11.5px;color:var(--ink3)}
.empty-n{color:var(--ink3);padding:10px 0;font-size:12.5px}

/* ---------- ro'yxat ---------- */
.listv{overflow:auto;background:var(--surface);min-width:0}
.lf{display:flex;gap:10px;align-items:center;padding:12px 18px;border-bottom:1px solid var(--line2);flex-wrap:wrap;position:sticky;top:0;background:var(--surface);z-index:3}
table.t{border-collapse:collapse;width:100%;font-size:13px}
.t th{position:sticky;top:0;background:var(--surface2);z-index:2;text-align:left;font:700 10.5px var(--sans);letter-spacing:.08em;text-transform:uppercase;color:var(--ink3);padding:9px 12px;border-bottom:1px solid var(--line)}
.t td{padding:10px 12px;border-bottom:1px solid var(--line2);vertical-align:middle;white-space:nowrap}
.t tbody tr{cursor:pointer}
.t tbody tr:hover{background:var(--surface2)}
.t tr.sel{background:var(--cedar-soft)}
.t td.w{white-space:normal;max-width:220px}
.t .dot{display:inline-block;width:8px;height:8px;border-radius:50%;margin-right:6px}

/* ---------- sozlamalar ---------- */
.setv{overflow:auto;padding:22px 26px 40px;background:var(--bg)}
.card{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:20px 22px;max-width:880px;margin-bottom:16px}
.card h2{font:500 24px var(--serif);margin:0 0 4px}
.card > p{color:var(--ink3);margin:0 0 16px;font-size:12.5px}
.fgrid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.f{display:grid;gap:5px}
.f > span{font:700 10.5px var(--sans);letter-spacing:.08em;text-transform:uppercase;color:var(--ink3)}
.f input,.f select,.f textarea{width:100%;height:36px;border:1px solid var(--line);border-radius:9px;padding:0 10px;background:var(--surface)}
.f textarea{height:auto;min-height:60px;padding:8px 10px;resize:vertical}
.f input:focus,.f select:focus,.f textarea:focus{outline:none;border-color:var(--cedar);box-shadow:0 0 0 3px rgba(139,90,52,.12)}
.f small{color:var(--ink3);font-size:11.5px}
.f.w2{grid-column:span 2}.f.w4{grid-column:1/-1}
.keyrow{display:flex;gap:12px;align-items:center;padding:9px 0;border-bottom:1px solid var(--line2)}
.keyrow b{font-weight:600}
.keyrow span{color:var(--ink3);font-size:12px}
.keybox{font:500 12.5px ui-monospace,monospace;background:var(--surface2);border:1px dashed var(--cedar);padding:10px 12px;border-radius:9px;word-break:break-all;user-select:all}

/* ---------- oyna ---------- */
.modal{position:fixed;inset:0;z-index:50;display:grid;place-items:center;background:rgba(36,26,18,.42);padding:20px;animation:fade .15s}
@keyframes fade{from{opacity:0}}
.mbox{width:min(640px,100%);max-height:calc(100vh - 40px);overflow:auto;background:var(--surface);border-radius:16px;box-shadow:var(--shadow);animation:rise .2s cubic-bezier(.2,.8,.2,1)}
@keyframes rise{from{transform:translateY(10px);opacity:0}}
.mbox.sm{width:min(440px,100%)}
.mh{display:flex;align-items:center;gap:10px;padding:16px 20px;border-bottom:1px solid var(--line2)}
.mh h3{font:500 24px var(--serif);margin:0}
.mh .x{margin-left:auto;color:var(--ink3)}
.mb{padding:16px 20px;display:grid;gap:14px}
.mf{display:flex;gap:8px;justify-content:flex-end;padding:12px 20px 16px;border-top:1px solid var(--line2);align-items:center}
.mf .msg{margin-right:auto;color:var(--bad);font-size:12.5px}
.kinds{display:flex;gap:8px}
.kinds button{flex:1;padding:10px;border:1px solid var(--line);border-radius:10px;font-weight:600;display:flex;align-items:center;justify-content:center;gap:8px}
.kinds button.on{border-color:var(--cedar);background:var(--cedar-soft);color:var(--cedar-d)}
.hours{display:grid;grid-template-columns:repeat(12,1fr);gap:4px}
.hours button{height:32px;border:1px solid var(--line);border-radius:7px;font:600 11.5px var(--sans);font-variant-numeric:tabular-nums}
.hours button:hover{border-color:var(--cedar)}
.hours button.on{background:var(--cedar-d);border-color:var(--cedar-d);color:#fff}
.hours button.busy{background:repeating-linear-gradient(135deg,#ebe5dc 0 4px,transparent 4px 8px);color:var(--ink3)}
.hours button.short{position:relative}
.hours button.short::after{content:"";position:absolute;top:3px;right:3px;width:5px;height:5px;border-radius:50%;background:var(--bad)}
.chips{display:flex;flex-wrap:wrap;gap:6px}
.chips button{padding:6px 11px;border:1px solid var(--line);border-radius:99px;font-size:12.5px}
.chips button.on,.chips button:hover{border-color:var(--cedar);background:var(--cedar-soft);color:var(--cedar-d)}
.check{display:flex;align-items:center;gap:9px;font-weight:500;cursor:pointer}
.check input{width:17px;height:17px;accent-color:var(--cedar-d)}
.calc{display:grid;justify-items:end;gap:0;padding:6px 12px;border-radius:10px;background:var(--surface2);border:1px solid var(--line2);min-height:36px}
.calc span{font-size:11.5px;color:var(--ink3);text-align:right}
.calc b{font:500 24px/1.1 var(--serif);order:-1}
.inline-msg{font-size:12.5px;color:var(--ink3)}
.inline-msg.bad{color:var(--bad)}

/* ---------- xabarlar ---------- */
.toasts{position:fixed;right:18px;bottom:18px;z-index:80;display:grid;gap:8px;justify-items:end}
.toast{display:flex;align-items:center;gap:10px;max-width:380px;padding:11px 14px;border-radius:11px;background:var(--side);color:var(--sideink);box-shadow:var(--shadow);font-size:13px;animation:rise .2s}
.toast.bad{background:#7a2a17}
.toast.new{background:var(--new-bg);color:var(--ink);border:1px solid var(--new-line);cursor:pointer}
.toast.new b{color:var(--new)}

@media (max-width:1180px){.work{grid-template-columns:minmax(0,1fr) 330px}.top h1{min-width:0}.search{min-width:160px}}
@media (max-width:900px){
  body{overflow:auto}
  .app{grid-template-columns:1fr;height:auto}
  .side{flex-direction:row;flex-wrap:wrap;align-items:center;padding:8px}
  .side .sp,.side-me,.brand small{display:none}
  .brand{padding:4px 8px}
  .nav-b{width:auto}
  .work{grid-template-columns:1fr}
  .drawer{border-top:1px solid var(--line)}
  .cal{max-height:70vh}
  .fgrid{grid-template-columns:1fr 1fr}
}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important}}
