/* Календарь команды — стиль кабинета RS: белый фон, Plex, без скруглений и теней, красный только у главного.
   Цвета участников — исключение 07.11 (владелец, вариант Б), только в этом приложении. */
@font-face{font-family:"IBM Plex Sans";font-weight:300;src:url(fonts/ibm-plex-sans-cyrillic-300-normal.woff2) format("woff2");unicode-range:U+0400-04FF}
@font-face{font-family:"IBM Plex Sans";font-weight:300;src:url(fonts/ibm-plex-sans-latin-300-normal.woff2) format("woff2")}
@font-face{font-family:"IBM Plex Sans";font-weight:400;src:url(fonts/ibm-plex-sans-cyrillic-400-normal.woff2) format("woff2");unicode-range:U+0400-04FF}
@font-face{font-family:"IBM Plex Sans";font-weight:400;src:url(fonts/ibm-plex-sans-latin-400-normal.woff2) format("woff2")}
@font-face{font-family:"IBM Plex Sans";font-weight:500;src:url(fonts/ibm-plex-sans-cyrillic-500-normal.woff2) format("woff2");unicode-range:U+0400-04FF}
@font-face{font-family:"IBM Plex Sans";font-weight:500;src:url(fonts/ibm-plex-sans-latin-500-normal.woff2) format("woff2")}
@font-face{font-family:"IBM Plex Sans Condensed";font-weight:500;src:url(fonts/ibm-plex-sans-condensed-cyrillic-500-normal.woff2) format("woff2");unicode-range:U+0400-04FF}
@font-face{font-family:"IBM Plex Sans Condensed";font-weight:500;src:url(fonts/ibm-plex-sans-condensed-latin-500-normal.woff2) format("woff2")}
@font-face{font-family:"IBM Plex Mono";font-weight:300;src:url(fonts/ibm-plex-mono-cyrillic-300-normal.woff2) format("woff2");unicode-range:U+0400-04FF}
@font-face{font-family:"IBM Plex Mono";font-weight:300;src:url(fonts/ibm-plex-mono-latin-300-normal.woff2) format("woff2")}

:root{
  --bg:#FFFFFF; --sheet:#F7F7F5; --ink:#141413; --sub:#6A6862; --line:#E4E3DF; --red:#A3271C; --ok:#2F7A4A;
  --on-ev:#FFFFFF;
  /* цвета участников (07.11, вариант Б) — временные, до новой палитры RS */
  --member-1:#3F5B74; --member-2:#3D6B57; --member-3:#9A5B2E; --member-4:#5E4F73; --member-5:#4A4A46;
  --mono:"IBM Plex Mono",ui-monospace,Menlo,monospace;
  --cond:"IBM Plex Sans Condensed","IBM Plex Sans","Arial Narrow",sans-serif;
  --sans:"IBM Plex Sans",-apple-system,"Segoe UI",Roboto,sans-serif;
  --hour:48px;
}
.dark{--bg:#131312; --sheet:#1C1C1A; --ink:#EDECE8; --sub:#9A978F; --line:#2E2D2A; --red:#E0675C; --on-ev:#131312;
  --member-1:#8FA7BD; --member-2:#8DBFA5; --member-3:#D19A6E; --member-4:#B0A2C8; --member-5:#B5B3AC}
*{box-sizing:border-box;margin:0;padding:0}
html,body{background:var(--bg);color:var(--ink);font:400 14px/1.4 var(--sans);-webkit-text-size-adjust:100%}
button,input,select{font:inherit;color:inherit;background:none;border:0;border-radius:0}
button{cursor:pointer}
[hidden]{display:none!important}

.tabs{display:flex;border-bottom:1px solid var(--line);position:sticky;top:0;background:var(--bg);z-index:3}
.tabs button{flex:1;padding:12px 0 10px;font:500 12px var(--cond);letter-spacing:.1em;text-transform:uppercase;color:var(--sub)}
.tabs .on{color:var(--ink);box-shadow:inset 0 -2px 0 var(--ink)}

.weekbar{display:flex;align-items:center;justify-content:space-between;padding:14px 8px 10px}
.weekbar .t{font:500 18px var(--cond)}
.weekbar button{font:300 22px var(--sans);color:var(--sub);width:44px;height:36px}
.people{display:flex;flex-wrap:wrap;gap:6px 14px;padding:0 16px 12px;font:400 12px var(--sans);color:var(--sub)}
.people span,.chip{display:inline-flex;align-items:center;gap:6px}
.sw{width:12px;height:12px;display:inline-block;flex:none}

.days{display:grid;grid-template-columns:36px repeat(5,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.days div{padding:8px 0 6px;text-align:center;font:400 11px var(--cond);letter-spacing:.08em;text-transform:uppercase;color:var(--sub)}
.days b{display:flex;justify-content:center;align-items:center;gap:4px;font:300 15px var(--mono);color:var(--ink);letter-spacing:0;margin-top:2px}
.days .today b::before{content:"";width:6px;height:6px;background:var(--red)}
.allday{display:grid;grid-template-columns:36px repeat(5,1fr);border-bottom:1px solid var(--line)}
.allday div{min-height:0;padding:2px}
.allday .ev{position:static;margin:1px 0}
.body{position:relative;display:grid;grid-template-columns:36px repeat(5,1fr)}
.hours div{height:var(--hour);font:300 10px var(--mono);color:var(--sub);text-align:right;padding-right:6px;transform:translateY(-6px)}
.col{position:relative;border-left:1px solid var(--line);background:repeating-linear-gradient(to bottom,transparent 0 calc(var(--hour) - 1px),var(--line) calc(var(--hour) - 1px) var(--hour))}
.ev{position:absolute;left:2px;right:2px;padding:3px 4px;font:400 10px/1.25 var(--sans);overflow:hidden;text-align:left;color:var(--on-ev)}
.ev i{display:block;font:300 9px var(--mono);font-style:normal;opacity:.8}
.ev.busy{background:var(--sheet)!important;color:var(--sub);border:1px dashed currentColor}
.now{position:absolute;left:0;right:0;height:0;border-top:1px solid var(--red);pointer-events:none}
.now::before{content:"";position:absolute;left:-4px;top:-4px;width:7px;height:7px;background:var(--red)}
.hint{padding:10px 16px 18px;font:300 12px var(--sans);color:var(--sub);border-top:1px solid var(--line)}

.ctl{padding:14px 16px 6px;font:300 14px var(--sans)}
.ctl b{font-weight:500}
.filters{display:flex;gap:8px;padding:8px 16px 12px;flex-wrap:wrap}
.chip{border:1px solid var(--line);padding:6px 10px;font:400 12px var(--sans);color:var(--sub)}
.chip.on{border-color:var(--ink);color:var(--ink)}
.stage{width:100%;padding:14px 16px 6px;display:flex;justify-content:space-between;font:500 11px var(--cond);letter-spacing:.12em;text-transform:uppercase;color:var(--sub);border-top:1px solid var(--line)}
.stage b{font:300 12px var(--mono);letter-spacing:0}
.deal{width:100%;display:grid;grid-template-columns:14px 1fr auto;gap:4px 10px;padding:10px 16px;align-items:start;text-align:left}
.deal .sw{margin-top:4px}
.deal .co{font:500 15px var(--sans)}
.deal .src{font:300 11px var(--mono);color:var(--sub);text-align:right;margin-top:3px}
.deal .step{grid-column:2/4;font:300 13px var(--sans);color:var(--sub);display:flex;justify-content:space-between;gap:8px}
.deal .d{font:300 12px var(--mono);color:var(--ink);white-space:nowrap;display:inline-flex;align-items:center;gap:6px}
.sq{width:10px;height:10px;display:inline-block;border:1px solid var(--ink);flex:none}
.sq.f{background:var(--ink)}
.sq.r{border-color:var(--red)}
.sq.rf{background:var(--red);border-color:var(--red)}
.tick{color:var(--ok)}
.empty{padding:28px 16px;color:var(--sub);font:300 14px var(--sans)}

#shade{position:fixed;inset:0;background:rgba(20,20,19,.36);z-index:5}
#sheet{position:fixed;left:0;right:0;bottom:0;max-height:88vh;overflow:auto;background:var(--bg);border-top:1px solid var(--line);padding:18px 16px calc(20px + env(safe-area-inset-bottom));z-index:6}
.lbl{font:400 11px var(--cond);letter-spacing:.1em;text-transform:uppercase;color:var(--sub)}
#sheet h2{font:500 20px var(--cond);margin:6px 0 2px}
.when{font:300 14px var(--mono);margin-bottom:14px}
.rows{border-top:1px solid var(--line)}
.row{display:flex;justify-content:space-between;gap:12px;padding:10px 0;border-bottom:1px solid var(--line)}
.row>span:first-child{color:var(--sub);font-weight:300}
.row>span:last-child{text-align:right}
.st{display:inline-flex;align-items:center;gap:6px}
label.input{border:1px solid var(--line);padding:0 12px;margin-top:8px;display:flex;align-items:center;gap:10px;min-height:44px}
label.input em{font-style:normal;color:var(--sub);font-weight:300;white-space:nowrap}
label.input input,label.input select{flex:1;text-align:right;min-width:0;height:42px;outline:none}
.msg{margin-top:12px;font:400 13px var(--sans);display:flex;gap:8px;align-items:flex-start}
.btns{display:flex;gap:10px;margin-top:16px;align-items:center;flex-wrap:wrap}
.btn{height:44px;padding:0 18px;display:inline-flex;align-items:center;justify-content:center;font:500 13px var(--cond);letter-spacing:.1em;text-transform:uppercase}
.btn.main{background:var(--red);color:#fff;flex:1}
.btn.sec{border:1px solid var(--ink)}
.link{font:400 13px var(--sans);color:var(--sub);margin-left:auto;padding:12px 0}
.stages{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin-top:12px}
.stages button{border:1px solid var(--line);height:40px;font:500 12px var(--cond);letter-spacing:.06em;text-transform:uppercase;color:var(--sub)}
.stages .on{border-color:var(--ink);background:var(--ink);color:var(--bg)}
.denied{padding:48px 24px;text-align:center;color:var(--sub)}
