:root{
  --bg0:#070B14;
  --bg1:#0A1324;

  --panel: rgba(255,255,255,.06);
  --panel2: rgba(255,255,255,.08);
  --stroke: rgba(255,255,255,.10);
  --stroke2: rgba(255,255,255,.14);

  --text: rgba(255,255,255,.92);
  --muted: rgba(255,255,255,.62);
  --muted2: rgba(255,255,255,.48);

  --accent: #2A7BC7;
  --accent2:#0E4B85;
  --accentSoft: rgba(42,123,199,.16);

  --ok: #2BB673;
  --okSoft: rgba(43,182,115,.14);

  --warn: #E7B84B;
  --warnSoft: rgba(231,184,75,.16);

  --danger:#D35C5C;
  --dangerSoft: rgba(211,92,92,.14);

  --r12:12px;
  --r16:16px;
  --r20:20px;
  --r24:24px;

  --shadow: 0 16px 48px rgba(0,0,0,.45);
  --shadow2: 0 10px 30px rgba(0,0,0,.35);
}

*{ box-sizing:border-box; }
html,body{ height:100%; }

html{
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

body{
  margin:0;
  font-family: ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
  letter-spacing: 0;
  color: var(--text);
  background:
    radial-gradient(1200px 600px at 12% 12%, rgba(42,123,199,.28), transparent 60%),
    radial-gradient(900px 500px at 86% 18%, rgba(14,75,133,.26), transparent 55%),
    radial-gradient(900px 600px at 45% 92%, rgba(255,255,255,.06), transparent 60%),
    linear-gradient(180deg, var(--bg0), var(--bg1));
  background-repeat: no-repeat;
  background-attachment: fixed;
  background-size: cover;
}

h1, h2, h3,
.brand .title,
.cardHd h2,
.authTitle,
.mdSheetTitle,
.mdAsideTitle,
.mdSecretaryTitle,
.mdBlockTitle{
  text-wrap: balance;
}

p,
li,
.muted,
.help,
.authSub,
.brand .sub,
.mdSheetHint,
.mdEntrySub,
.mdEventsHint{
  text-wrap: pretty;
}

.profileBig,
.kpi .v,
.kpiValue,
.counter,
.simpleSummaryValue,
.reportArrival,
.reportDayCell,
.status-badge,
.badge,
.miniBadge,
.roleTime,
.mdStatePill,
.mdSlotBadge{
  font-variant-numeric: tabular-nums;
  font-feature-settings: "tnum" 1, "lnum" 1;
}

.app{
  max-width: 1180px;
  margin: 0 auto;
  padding: 22px 16px 46px;
}

/* ===== Topbar ===== */
.topbar{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  padding: 12px 14px;
  border-radius: var(--r20);
  background: linear-gradient(180deg, rgba(255,255,255,.09), rgba(255,255,255,.05));
  border: 1px solid var(--stroke);
  box-shadow: var(--shadow);
  backdrop-filter: blur(14px);
}

.brand{
  display:flex;
  align-items:center;
  gap:12px;
  min-width:0;
}
.brand img{
  height:44px;
  width:auto;
  display:block;
  filter: drop-shadow(0 6px 16px rgba(0,0,0,.35));
}

.brand .title{
  font-weight:800;
  font-size:16px;
  letter-spacing:.2px;
  white-space:nowrap;
}
.brand .sub{
  font-size:12px;
  color: var(--muted);
  margin-top:2px;
}

.actions{
  display:flex;
  gap:10px;
  align-items:center;
  flex-wrap:wrap;
}

/* ===== Cards ===== */
.card{
  margin-top: 14px;
  padding: 16px;
  border-radius: var(--r24);
  background: linear-gradient(180deg, rgba(15,23,42,.72), rgba(15,23,42,.52));
  border: 1px solid rgba(255,255,255,.10);
  box-shadow: var(--shadow2);
  backdrop-filter: blur(14px);
}

.row{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
  align-items:center;
}

.pill{
  display:inline-flex;
  gap:8px;
  align-items:center;
  padding: 8px 12px;
  border-radius: 999px;
  background: rgba(255,255,255,.06);
  border: 1px solid rgba(255,255,255,.10);
  color: rgba(255,255,255,.74);
  font-size: 13px;
}

.pill code{
  color: rgba(255,255,255,.95);
  background: transparent;
  border:0;
  padding:0;
}

/* ===== Buttons ===== */
.btn{
  padding: 10px 14px;
  border-radius: 999px;
  border: 1px solid var(--stroke);
  background: rgba(255,255,255,.08);
  color: var(--text);
  cursor:pointer;
  font-size: 14px;
  display:inline-flex;
  align-items:center;
  gap:10px;
  transition: transform .06s ease, background .15s ease, border-color .15s ease, box-shadow .15s ease;
}
.btn:hover{ background: rgba(255,255,255,.11); border-color: rgba(255,255,255,.16); }
.btn:active{ transform: translateY(1px); }
.btn[disabled]{ opacity:.55; cursor:not-allowed; }

.btn-soft{
  background: rgba(255,255,255,.06);
}

.btn-primary{
  background: linear-gradient(180deg, rgba(42,123,199,.30), rgba(42,123,199,.16));
  border-color: rgba(42,123,199,.35);
}
.btn-primary:hover{
  background: linear-gradient(180deg, rgba(42,123,199,.36), rgba(42,123,199,.18));
  box-shadow: 0 0 0 4px rgba(42,123,199,.10);
}

.btn-ok{
  background: linear-gradient(180deg, rgba(43,182,115,.26), rgba(43,182,115,.14));
  border-color: rgba(43,182,115,.35);
}
.btn-ok:hover{ box-shadow: 0 0 0 4px rgba(43,182,115,.10); }

.btn-danger{
  background: linear-gradient(180deg, rgba(211,92,92,.24), rgba(211,92,92,.12));
  border-color: rgba(211,92,92,.33);
}
.btn-danger:hover{ box-shadow: 0 0 0 4px rgba(211,92,92,.10); }

.btn-icon{
  width:44px; height:44px;
  padding:0;
  justify-content:center;
}

/* ===== Text ===== */
.muted{ color: var(--muted); font-size: 13px; }
.ok{ color: var(--ok); }
.err{ color: var(--danger); }

a{ color: rgba(255,255,255,.86); text-decoration: none; }
a:hover{ color: #fff; text-decoration: underline; }

/* ===== Table ===== */
.table{
  width:100%;
  border-collapse:collapse;
  overflow:hidden;
  border-radius: var(--r20);
  border: 1px solid rgba(255,255,255,.10);
  background: rgba(255,255,255,.04);
}
.table th, .table td{
  padding: 12px 12px;
  border-bottom: 1px solid rgba(255,255,255,.07);
  text-align:left;
  font-size: 13px;
}
.table th{
  color: rgba(255,255,255,.78);
  font-weight: 700;
  background: rgba(255,255,255,.06);
}

/* ===== Segmented tabs ===== */
.segTabs{
  margin-top: 14px;
  display:flex;
  justify-content:flex-start;
}
.seg{
  display:inline-flex;
  padding: 6px;
  border-radius: 999px;
  border: 1px solid rgba(255,255,255,.10);
  background: rgba(255,255,255,.05);
  box-shadow: var(--shadow2);
  backdrop-filter: blur(14px);
  gap:6px;
}
.seg button{
  border:0;
  background: transparent;
  color: rgba(255,255,255,.86);
  padding: 9px 12px;
  border-radius: 999px;
  cursor:pointer;
  display:flex;
  align-items:center;
  gap:10px;
  font-size: 14px;
}
.seg button:hover{ background: rgba(255,255,255,.06); }
.seg button.active{
  background: linear-gradient(180deg, rgba(255,255,255,.10), rgba(255,255,255,.06));
  border: 1px solid rgba(255,255,255,.12);
}

/* ===== Premium outline icons (unified) ===== */
svg.ico{
  width: 18px;
  height: 18px;
  opacity: .85;
  flex: 0 0 auto;
  display: inline-block;
}

/* hover */
button:hover svg.ico,
a:hover svg.ico{
  opacity: 1;
}

/* segmented tabs: active icon = accent */
.seg button.active svg.ico{
  opacity: 1;
  color: var(--accent);
}

/* icon buttons (if any) keep same behavior */
.btn-icon svg.ico,
.btnIcon svg.ico{
  width: 18px;
  height: 18px;
  opacity: .85;
}
.btn-icon:hover svg.ico,
.btnIcon:hover svg.ico{
  opacity: 1;
}

/* Icons */
.ico{ width:18px; height:18px; display:inline-block; opacity:.94; }

/* ===== Toast ===== */
.toast{
  position: fixed;
  right: 14px;
  bottom: 14px;
  padding: 12px 14px;
  border-radius: 16px;
  background: rgba(8,18,36,.92);
  border:1px solid rgba(255,255,255,.14);
  color: rgba(255,255,255,.92);
  max-width: 360px;
  display:none;
  z-index: 9999;
  box-shadow: var(--shadow2);
}
.toast.show{ display:block; }
.toast.ok{ border-color: rgba(43,182,115,.40); }
.toast.err{ border-color: rgba(211,92,92,.45); }
.toast.warn{ border-color: rgba(231,184,75,.45); }

/* ===== Forms / Auth ===== */

.authWrap{
  max-width: 560px;
  margin: 18px auto 0;
}

.authHead{
  display:flex;
  align-items:center;
  gap:12px;
  margin-bottom: 12px;
}

.authLogo{
  width: 76px;
  height: 76px;
  border-radius: 0;
  background: transparent;
  border: 0;
  padding: 0;
  box-shadow: none;
  display:block;
}


.authTitle{
  font-size: 18px;
  font-weight: 700;
  letter-spacing: .2px;
  line-height: 1.1;
}

.authSub{
  margin-top: 2px;
  color: var(--muted);
  font-size: 12px;
}

.formGrid{
  display:grid;
  gap: 12px;
  margin-top: 12px;
}

.field{
  display:flex;
  flex-direction:column;
  gap: 6px;
}

.label{
  color: var(--muted);
  font-size: 12px;
}

input, select, textarea{
  width: 100%;
  box-sizing: border-box;

  color: var(--text);
  background: rgba(5,10,22,.55);
  border: 1px solid rgba(255,255,255,.14);
  border-radius: 14px;

  padding: 12px 12px;
  outline: none;

  box-shadow: inset 0 1px 0 rgba(255,255,255,.05);
}

input::placeholder, textarea::placeholder{
  color: rgba(255,255,255,.42);
}

input:focus, select:focus, textarea:focus{
  border-color: rgba(120,170,255,.42);
  box-shadow:
    0 0 0 3px rgba(120,170,255,.12),
    inset 0 1px 0 rgba(255,255,255,.05);
}

.formActions{
  display:flex;
  align-items:center;
  gap: 12px;
}

.msg{
  min-height: 18px;
  font-size: 12px;
  color: var(--muted);
}

.msg.err{ color: rgba(255,140,140,.95); }
.msg.ok{  color: rgba(120,255,190,.92); }

.help{
  color: var(--muted2);
  font-size: 12px;
  line-height: 1.35;
}

/* ===== Calendar day highlighting (weekend / holiday) ===== */
.dayHead{ position: relative; }

.dayWeekend{
  background: rgba(231,184,75,.08) !important;
}
.dayHoliday{
  background: rgba(239,68,68,.10) !important;
}
.dayWeekend, .dayHoliday{
  box-shadow: inset 0 -1px 0 rgba(255,255,255,.06);
}

.dayTag{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  margin-left:8px;
  padding: 2px 6px;
  border-radius: 999px;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .2px;
  border: 1px solid rgba(255,255,255,.14);
  background: rgba(255,255,255,.05);
  color: rgba(255,255,255,.86);
}
.dayTag.weekend{
  border-color: rgba(231,184,75,.35);
  background: rgba(231,184,75,.10);
  color: rgba(231,184,75,.95);
}
.dayTag.holiday{
  border-color: rgba(239,68,68,.35);
  background: rgba(239,68,68,.12);
  color: rgba(239,68,68,.95);
}

/* ===== Manager duty planner ===== */
.mdPanel{ display:flex; flex-direction:column; gap:12px; }
.mdSurface,
.mdEventsCard,
.mdSecretaryCard{
  margin-top:14px;
}
.mdSurfaceHd{
  align-items:flex-start;
  gap:12px;
  flex-wrap:wrap;
}
.mdSurfaceHd h2,
.mdEventsCard h2{
  margin:0;
  font-size:15px;
}
.mdToolbar{
  display:flex;
  gap:8px;
  align-items:center;
  flex-wrap:wrap;
  justify-content:flex-end;
}
.mdToolbar .pill,
.mdToolbar .btn{
  min-height:36px;
}
.mdImportTrigger.isReady{
  background:linear-gradient(180deg, rgba(57,95,136,.96), rgba(38,69,102,.96));
  border-color:rgba(132,180,235,.42);
  box-shadow:0 10px 24px rgba(31,73,117,.24);
}
.mdFileMeta{
  display:inline-flex;
  align-items:center;
  gap:6px;
  padding:0;
  border:0;
  background:none;
  color:rgba(202,223,248,.8);
  font:inherit;
  cursor:pointer;
}
.mdFileMeta:hover{
  color:rgba(231,241,255,.96);
}
.mdFileMeta::before{
  content:"";
  width:8px;
  height:8px;
  border-radius:999px;
  background:rgba(119,194,255,.88);
  box-shadow:0 0 0 4px rgba(119,194,255,.14);
}
.mdWorkspace{
  display:grid;
  grid-template-columns: minmax(0, 1.55fr) minmax(320px, .95fr);
  gap:12px;
  align-items:start;
}
.mdWorkspaceOnlyGrid{
  grid-template-columns:minmax(0, 1fr);
}
.mdUiHidden{
  display:none !important;
}
.mdPrimary,
.mdAside{
  min-width:0;
}
.mdAside{
  display:flex;
  flex-direction:column;
  gap:12px;
}
.mdAsideCard{
  border:1px solid rgba(255,255,255,.08);
  background:rgba(255,255,255,.025);
  border-radius:14px;
  padding:12px;
}
.mdAsideHd,
.mdSecretaryHead{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  margin-bottom:10px;
}
.mdSecretaryHeadActions{
  display:flex;
  align-items:center;
  gap:8px;
}
.mdAsideTitle,
.mdSecretaryTitle,
.mdBlockTitle{
  font-weight:800;
  color:rgba(255,255,255,.88);
}
.mdWeekWrap{
  border-radius:14px;
}
.mdWeekTable th,
.mdWeekTable td{
  white-space:nowrap;
  padding:8px 10px;
  font-size:12px;
}
.mdWeekTable th:first-child{
  width:86px;
}
.mdWeekTable select,
.mdManagerSelect{
  min-width:0;
  width:100%;
  padding:7px 10px;
  border-radius:10px;
  font-size:12px;
}
.mdTimeSelect,
.mdAbsenceSelect{
  min-width:0;
  padding:7px 10px;
  border-radius:10px;
  font-size:12px;
}
.mdWeekSelect{
  min-width:84px;
}
.mdGroup{
  display:flex;
  flex-direction:column;
  gap:2px;
}
.mdGroup + .mdGroup{
  margin-top:10px;
  padding-top:8px;
  border-top:1px solid rgba(255,255,255,.08);
}
.mdGroupTitle{
  margin:0 0 4px;
  font-size:11px;
  font-weight:800;
  text-transform:uppercase;
  color:rgba(255,255,255,.58);
}
.mdEntryList{
  display:flex;
  flex-direction:column;
  gap:8px;
}
.mdEntryRow{
  width:100%;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:10px 12px;
  border-radius:12px;
  border:1px solid rgba(255,255,255,.08);
  background:rgba(255,255,255,.03);
  color:inherit;
  text-align:left;
}
.mdEntryLead,
.mdEntryTail{
  display:flex;
  align-items:center;
  gap:10px;
  min-width:0;
}
.mdEntryTail{
  flex-shrink:0;
}
.mdEntryMeta{
  min-width:0;
}
.mdEntryName{
  font-size:13px;
  font-weight:800;
  color:rgba(255,255,255,.9);
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.mdEntrySub{
  margin-top:2px;
  font-size:11px;
  color:rgba(255,255,255,.56);
}
.mdEntryOpen{
  font-size:11px;
  font-weight:700;
  color:rgba(255,255,255,.62);
}
.mdStatePill{
  display:inline-flex;
  align-items:center;
  gap:6px;
  max-width:250px;
  min-height:28px;
  padding:0 10px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.08);
  background:rgba(255,255,255,.04);
  font-size:12px;
  font-weight:700;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.mdStatePill.ok{ color:rgba(150,255,188,.95); border-color:rgba(34,197,94,.28); }
.mdStatePill.warn{ color:rgba(255,223,143,.95); border-color:rgba(245,158,11,.28); }
.mdStatePill.bad{ color:rgba(255,146,146,.96); border-color:rgba(239,68,68,.28); }
.mdStatePill.done{ color:rgba(214,220,232,.92); border-color:rgba(255,255,255,.14); }
.mdDutyRow{
  display:grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap:10px 12px;
  align-items:center;
  padding:8px 0;
  border-bottom:1px solid rgba(255,255,255,.07);
}
.mdDutyRow:last-child{
  border-bottom:0;
  padding-bottom:0;
}
.mdDutyMain{
  display:grid;
  grid-template-columns: auto minmax(140px, 1fr);
  gap:10px;
  align-items:center;
  min-width:0;
}
.mdStaticName{
  min-width:0;
  font-size:13px;
  font-weight:700;
  color:rgba(255,255,255,.9);
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.mdDutyActions{
  display:grid;
  grid-template-columns: 84px auto 84px auto 118px auto;
  gap:6px;
  align-items:center;
}
.mdDutyActions .mdTimeSelect{
  width:84px;
}
.mdDutyActions .mdAbsenceSelect{
  width:118px;
}
.mdDutyActions .btn{
  white-space:nowrap;
}
.mdSlotBadge{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  height:30px;
  padding:0 10px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.12);
  background:rgba(255,255,255,.04);
  font-size:12px;
  font-weight:800;
  white-space:nowrap;
}
.mdSlotBadge.green{ border-color:rgba(34,197,94,.35); color:rgba(145,255,185,.96); }
.mdSlotBadge.brown{ border-color:rgba(180,120,70,.35); color:rgba(222,173,132,.96); }
.mdSlotBadge.blue{ border-color:rgba(59,130,246,.35); color:rgba(142,196,255,.98); }
.mdSlotBadge.weekend{ border-color:rgba(231,184,75,.35); color:rgba(243,209,119,.98); }
.mdSlotBadge.default{ border-color:rgba(255,255,255,.1); color:rgba(255,255,255,.76); }
.mdTelegramPreview{
  margin:0;
  min-height:170px;
  white-space:pre-wrap;
  color:rgba(255,255,255,.88);
  font:12px/1.45 ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
}
.mdEventsCardInner{
  display:flex;
  flex-direction:column;
  gap:12px;
}
.mdEventsHint{
  max-width:76ch;
}
.mdFeedList{
  display:flex;
  flex-direction:column;
  gap:8px;
}
.mdFeedRow{
  display:flex;
  align-items:center;
  gap:10px;
  padding:9px 10px;
  border-radius:12px;
  border:1px solid rgba(255,255,255,.08);
  background:rgba(255,255,255,.025);
  font-size:12px;
}
.mdFeedTag{
  flex:0 0 auto;
  font-size:11px;
  font-weight:800;
  color:rgba(255,255,255,.62);
}
.mdOverlay{
  position:fixed;
  inset:0;
  z-index:1000;
  display:flex;
  align-items:flex-start;
  justify-content:center;
  overflow-y:auto;
  padding:clamp(18px, 6vh, 56px) 24px 24px;
  background:rgba(7,16,28,.58);
  backdrop-filter:blur(8px);
  animation:mdOverlayIn .18s ease-out;
}
.mdSheet{
  width:min(680px, 100%);
  max-height:calc(100vh - 48px);
  border-radius:16px;
  border:1px solid rgba(255,255,255,.1);
  background:linear-gradient(180deg, rgba(31,60,91,.97), rgba(17,36,61,.98));
  box-shadow:0 24px 70px rgba(2,8,20,.42);
  overflow:auto;
  animation:mdSheetIn .22s cubic-bezier(.22,.82,.22,1);
}
.mdOverlay.mdOverlayStable,
.mdSheet.mdSheetStable{
  animation:none;
}
.mdSheetHd{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px;
  padding:14px 16px 12px;
  border-bottom:1px solid rgba(255,255,255,.08);
}
.mdSheetTitle{
  font-size:17px;
  font-weight:800;
  color:rgba(255,255,255,.94);
}
.mdSheetTitleRow{
  display:flex;
  align-items:center;
  gap:10px;
  flex-wrap:wrap;
}
.mdSheetWide{
  width:min(880px, 100%);
}
.mdSheetBody{
  display:flex;
  flex-direction:column;
  gap:12px;
  padding:14px 16px 16px;
}
.mdSheetTopbar{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px;
  flex-wrap:wrap;
}
.mdSheetSummary{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  flex:1 1 320px;
}
.mdSheetPill{
  display:inline-flex;
  align-items:center;
  gap:6px;
  min-height:28px;
  padding:0 10px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.08);
  background:rgba(255,255,255,.03);
  color:rgba(255,255,255,.78);
  font-size:12px;
  font-weight:700;
}
.mdSheetModeBtn{
  display:inline-flex;
  align-items:center;
  gap:8px;
  min-height:36px;
  padding:0 12px;
  border-radius:999px;
  border:1px solid rgba(112,166,240,.24);
  background:rgba(56,92,138,.14);
  color:rgba(235,243,255,.9);
  font-size:12px;
  font-weight:800;
  cursor:pointer;
  transition:background .18s ease, border-color .18s ease, transform .18s ease;
}
.mdSheetModeBtn:hover{
  background:rgba(76,116,168,.2);
  border-color:rgba(132,185,255,.36);
  transform:translateY(-1px);
}
.mdSheetModeBtn.isActive{
  background:rgba(87,133,194,.26);
  border-color:rgba(132,185,255,.42);
}
.mdSheetModeIcon{
  width:18px;
  height:18px;
  border-radius:999px;
  display:grid;
  place-items:center;
  background:rgba(255,255,255,.08);
  font-size:11px;
}
.mdSheetSection{
  display:flex;
  flex-direction:column;
  gap:8px;
  padding-top:12px;
  border-top:1px solid rgba(255,255,255,.08);
}
.mdSheetSection:first-of-type{
  padding-top:0;
  border-top:0;
}
.mdSheetSectionTop{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:10px;
}
.mdSheetHint{
  font-size:12px;
  color:rgba(255,255,255,.58);
}
.mdSheetQuickActions{
  display:flex;
  align-items:center;
  gap:8px;
  flex-wrap:wrap;
}
.mdSheetTimes{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto;
  gap:10px;
  align-items:end;
}
.mdSheetMiniField{
  display:flex;
  flex-direction:column;
  gap:6px;
}
.mdSheetMiniField span{
  font-size:11px;
  font-weight:800;
  text-transform:uppercase;
  color:rgba(255,255,255,.52);
}
.mdSheetDisclosure{
  border-top:1px solid rgba(255,255,255,.08);
  padding-top:8px;
}
.mdSheetDisclosure summary{
  list-style:none;
  cursor:pointer;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  font-size:12px;
  font-weight:800;
  color:rgba(255,255,255,.82);
}
.mdSheetDisclosure summary::-webkit-details-marker{
  display:none;
}
.mdDisclosureIcon{
  width:20px;
  height:20px;
  color:rgba(255,255,255,.74);
  flex:0 0 auto;
  transition:transform .18s ease, opacity .18s ease;
}
.mdDisclosureDropdown[open] .mdDisclosureIcon{
  transform:rotate(180deg);
}
.mdSheetDisclosureBody{
  display:grid;
  gap:8px;
  margin-top:8px;
}
.mdSheetGrid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:12px;
}
.mdSheetBlock{
  display:flex;
  flex-direction:column;
  gap:8px;
}
.mdSheetLabel{
  font-size:11px;
  font-weight:800;
  text-transform:uppercase;
  color:rgba(255,255,255,.56);
}
.mdSheetMiniLabel{
  font-size:11px;
  font-weight:800;
  text-transform:uppercase;
  color:rgba(255,255,255,.58);
}
.mdSheetInline{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:8px;
  align-items:center;
}
.mdSheetInlineTight{
  grid-template-columns:auto;
  justify-content:flex-start;
}
.mdSheetEventGrid{
  display:grid;
  grid-template-columns:minmax(120px,.9fr) minmax(0,1.2fr) minmax(120px,.9fr) auto;
  gap:8px;
  align-items:center;
}
.mdSheetWheelGrid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:12px;
}
.mdSheetOfficeGrid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:12px;
}
.mdSheetOfficeCard{
  display:grid;
  gap:10px;
  padding:12px;
  border-radius:16px;
  border:1px solid rgba(255,255,255,.08);
  background:rgba(255,255,255,.025);
}
.mdSheetWheelCard{
  display:grid;
  gap:8px;
  padding:12px;
  border-radius:14px;
  border:1px solid rgba(255,255,255,.08);
  background:rgba(255,255,255,.025);
}
.mdSheetWheel{
  --md-wheel-h:28px;
  position:relative;
  height:calc(var(--md-wheel-h) * 4);
  border-radius:14px;
  border:1px solid rgba(255,255,255,.08);
  background:rgba(13,24,38,.54);
  overflow:hidden;
  display:grid;
  grid-template-columns:1fr 18px 1fr;
}
.mdSheetWheelCol{
  overflow-y:auto;
  scroll-snap-type:y mandatory;
  padding:calc(var(--md-wheel-h) * 1.5) 0;
  scrollbar-width:none;
  -ms-overflow-style:none;
}
.mdSheetWheelCol::-webkit-scrollbar{ display:none; }
.mdSheetWheelOption{
  width:100%;
  height:var(--md-wheel-h);
  display:grid;
  place-items:center;
  padding:0;
  border:0;
  background:none;
  color:rgba(236,242,255,.34);
  font-size:15px;
  font-weight:700;
  scroll-snap-align:center;
  cursor:pointer;
}
.mdSheetWheelOption.isActive{
  color:rgba(244,248,255,.96);
  font-size:20px;
  font-weight:800;
}
.mdSheetWheelSep{
  display:grid;
  place-items:center;
  color:rgba(240,245,255,.76);
  font-size:18px;
  font-weight:800;
}
.mdSheetWheelCenter{
  pointer-events:none;
  position:absolute;
  left:0;
  right:0;
  top:50%;
  height:var(--md-wheel-h);
  transform:translateY(-50%);
  border-top:1px solid rgba(255,255,255,.1);
  border-bottom:1px solid rgba(255,255,255,.1);
  background:linear-gradient(180deg, rgba(255,255,255,.02), rgba(255,255,255,.01));
}
.mdSheetWheelFade{
  pointer-events:none;
  position:absolute;
  inset:0;
  background:linear-gradient(180deg, rgba(11,18,28,.94) 0%, rgba(11,18,28,0) 24%, rgba(11,18,28,0) 76%, rgba(11,18,28,.94) 100%);
}
.mdQuickActionBtn{
  min-height:58px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:0 16px;
  border:1px solid rgba(255,255,255,.08);
  border-radius:16px;
  color:#f8fbff;
  cursor:pointer;
  font-weight:800;
  letter-spacing:0;
  transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}
.mdQuickActionBtn span{
  font-size:15px;
}
.mdQuickActionBtn strong{
  font-size:18px;
  font-weight:800;
}
.mdQuickActionBtn:hover{
  transform:translateY(-1px);
}
.mdQuickActionBtn.isArrive{
  background:linear-gradient(180deg, rgba(57,139,90,.96), rgba(40,104,67,.98));
  box-shadow:0 14px 28px rgba(24,74,45,.28);
}
.mdQuickActionBtn.isLeft{
  background:linear-gradient(180deg, rgba(157,64,78,.96), rgba(116,41,54,.98));
  box-shadow:0 14px 28px rgba(68,22,32,.24);
}
.mdDutyDayGrid{
  display:grid;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:12px;
}
.mdDutyDayCard{
  display:grid;
  gap:12px;
  padding:14px;
  border-radius:16px;
  border:1px solid rgba(255,255,255,.08);
  background:rgba(255,255,255,.028);
}
.mdDutyDayHead{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:10px;
}
.mdDutyDayTitleRow{
  display:flex;
  align-items:center;
  gap:10px;
  flex-wrap:wrap;
}
.mdDutyDayTitle{
  font-size:14px;
  font-weight:800;
  color:rgba(243,247,255,.94);
}
.mdDutyDayAssign{
  display:grid;
  gap:8px;
}
.mdDutyDayReplacements{
  display:grid;
  gap:8px;
}
.mdDutyDayReplaceForm{
  display:grid;
  gap:8px;
  min-width:0;
}
.mdDutyDayReplaceTimes{
  display:grid;
  grid-template-columns:minmax(0, 1fr) minmax(0, 1fr) auto;
  gap:8px;
  align-items:center;
  min-width:0;
}
.mdDutyDayReplaceTimes input{
  min-width:0;
}
.mdDutyDayLabel{
  font-size:11px;
  font-weight:800;
  text-transform:uppercase;
  color:rgba(255,255,255,.56);
}
.mdSheetEmpty{
  color:rgba(255,255,255,.62);
  font-size:12px;
}
.mdEventsGrid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:12px;
}
.mdEventBlock{
  border:1px solid rgba(255,255,255,.08);
  background:rgba(255,255,255,.025);
  border-radius:14px;
  padding:12px;
}
.mdInlineForm{
  display:grid;
  grid-template-columns: minmax(120px,1.1fr) 96px minmax(130px,1fr) minmax(120px,.95fr) auto;
  gap:8px;
  align-items:center;
  margin-top:10px;
}
.mdSubscriberCard .cardBd{
  display:grid;
  gap:18px;
}
.mdCollapseCard{
  overflow:hidden;
}
.mdCollapseSummary{
  list-style:none;
  cursor:pointer;
  user-select:none;
}
.mdCollapseSummary::-webkit-details-marker{
  display:none;
}
.mdCollapseSummary::marker{
  content:"";
}
.mdCollapseToggle{
  display:inline-flex;
  align-items:center;
  gap:6px;
}
.mdCollapseToggle svg{
  width:16px;
  height:16px;
  transition:transform .18s ease, opacity .18s ease;
  opacity:.82;
}
.mdCollapseCard[open] .mdCollapseToggle svg{
  transform:rotate(180deg);
}
.mdCollapseCard:not([open]) .cardBd{
  display:none;
}
.mdSubscriberSection{
  display:grid;
  gap:12px;
}
.mdSubscriberCreate{
  display:grid;
  grid-template-columns:minmax(180px,220px) minmax(180px,1fr) auto;
  gap:10px;
  align-items:center;
}
.mdSubscriberCreateManager{
  grid-template-columns:minmax(150px,.8fr) minmax(180px,1fr) minmax(190px,.9fr) auto;
}
.mdSubscriberCreateViewer{
  grid-template-columns:minmax(150px,.8fr) minmax(190px,.9fr) minmax(220px,1fr) auto;
}
.mdSubscriberGuide{
  display:flex;
  align-items:flex-start;
  gap:12px;
  padding:12px 14px;
  border:1px solid rgba(116,181,255,.16);
  border-radius:13px;
  background:linear-gradient(135deg,rgba(65,128,190,.11),rgba(255,255,255,.025));
  color:rgba(255,255,255,.66);
  line-height:1.45;
}
.mdSubscriberGuide strong{
  flex:0 0 auto;
  color:rgba(255,255,255,.9);
}
.mdSubscriberList{
  display:grid;
  gap:10px;
}
.mdSubscriberRow{
  display:grid;
  grid-template-columns:minmax(180px,1.1fr) minmax(170px,220px) auto auto;
  gap:10px;
  align-items:center;
  padding:12px 14px;
  border:1px solid rgba(255,255,255,.08);
  background:rgba(255,255,255,.025);
  border-radius:12px;
}
.mdSubscriberRowManager,
.mdSubscriberRowViewer{
  grid-template-columns:minmax(145px,.8fr) minmax(175px,1fr) minmax(185px,.9fr) auto auto;
}
.mdSubscriberField{
  display:grid;
  gap:5px;
  min-width:0;
}
.mdSubscriberField > span{
  font-size:10px;
  font-weight:800;
  letter-spacing:.035em;
  text-transform:uppercase;
  color:rgba(255,255,255,.48);
}
.mdObjectChoiceList{
  display:flex;
  flex-wrap:wrap;
  gap:6px;
}
.mdObjectChoice{
  position:relative;
  display:inline-flex;
  align-items:center;
}
.mdObjectChoice input{
  position:absolute;
  opacity:0;
  pointer-events:none;
}
.mdObjectChoice span{
  display:inline-flex;
  align-items:center;
  min-height:30px;
  padding:5px 10px;
  border:1px solid rgba(255,255,255,.1);
  border-radius:999px;
  background:rgba(255,255,255,.035);
  color:rgba(255,255,255,.66);
  cursor:pointer;
  transition:border-color .18s ease,background .18s ease,color .18s ease,transform .18s ease;
}
.mdObjectChoice input:checked + span{
  border-color:rgba(103,177,255,.42);
  background:rgba(68,139,211,.2);
  color:rgba(239,248,255,.96);
  box-shadow:0 0 18px rgba(64,139,216,.09);
}
.mdObjectChoice input:focus-visible + span{
  outline:2px solid rgba(126,194,255,.65);
  outline-offset:2px;
}
.mdObjectChoice:hover span{
  transform:translateY(-1px);
}
.mdSubscriberMain{
  display:grid;
  gap:4px;
  min-width:0;
}
.mdSubscriberName{
  font-size:14px;
  font-weight:800;
  color:rgba(255,255,255,.92);
}
.mdSubscriberToggle{
  display:inline-flex;
  align-items:center;
  gap:8px;
}
.mdSubscriberActions{
  display:inline-flex;
  gap:8px;
}
.mdSecretaryCard{
  padding:12px 14px;
}
.mdSecretaryCard [data-md-today]{
  display:flex;
  flex-direction:column;
  gap:4px;
}
.mdSecretaryPlanner{
  display:flex;
  flex-direction:column;
  gap:8px;
}
.mdSecretaryPlannerBody{
  display:flex;
  flex-direction:column;
  gap:6px;
}
.mdSecretaryGrid{
  display:grid;
  grid-template-columns: minmax(150px,1.25fr) 96px 160px 160px minmax(140px,1fr);
  gap:10px;
  align-items:center;
}
.mdSecretaryGridHead{
  padding:0 6px 4px;
  font-size:11px;
  font-weight:800;
  text-transform:uppercase;
  color:rgba(255,255,255,.52);
}
.mdSecretaryRow{
  padding:9px 10px;
  border-radius:12px;
  border:1px solid rgba(255,255,255,.08);
  background:rgba(255,255,255,.025);
}
.mdSecretaryManager{
  min-width:0;
}
.mdSecretaryManagerName{
  font-size:13px;
  font-weight:800;
  color:rgba(255,255,255,.92);
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.mdSecretaryControls{
  display:grid;
  grid-template-columns: 78px auto;
  gap:6px;
  align-items:center;
}
.mdSecretaryControls .mdTimeSelect{
  width:78px;
}
.mdSecretaryNote{
  min-width:0;
  font-size:12px;
  color:rgba(255,255,255,.78);
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.mdSecretaryNote.warn{ color:rgba(255,223,143,.95); }
.mdSecretaryNote.bad{ color:rgba(255,146,146,.96); }
.mdSecretaryNote.ok{ color:rgba(150,255,188,.95); }
.mdSecretaryNote.done{ color:rgba(214,220,232,.92); }
.mdSecretaryCard .mdEntryList{
  gap:6px;
}
.mdSecretaryCard .mdEntryRow{
  padding:8px 10px;
}
.mdSecretaryCard .mdEntryLead{
  gap:8px;
}
.mdSecretaryCard .mdEntryTail{
  gap:8px;
}
.mdSecretaryCard .mdStatePill{
  max-width:180px;
  font-size:11px;
}
.mdSecretaryCard .mdGroup + .mdGroup{
  margin-top:8px;
  padding-top:6px;
}
.mdSecretaryCard .mdDutyRow{
  gap:6px;
  padding:6px 0;
}
.mdSecretaryCard .mdDutyMain{
  grid-template-columns:auto minmax(118px, 1fr);
  gap:8px;
}
.mdSecretaryCard .mdDutyActions{
  grid-template-columns: 76px auto 76px auto 108px auto;
  gap:6px;
}
.mdSecretaryCard .mdDutyActions .mdTimeSelect{
  width:76px;
}
.mdSecretaryCard .mdDutyActions .mdAbsenceSelect{
  width:108px;
}
.mdSecretaryCard .btn.tiny{
  min-height:30px;
  padding:0 8px;
}
.mdSecretaryWeek{
  border:1px solid rgba(255,255,255,.08);
  border-radius:16px;
  background:rgba(255,255,255,.02);
  overflow:hidden;
}
.mdSecretaryWeekScroll{
  overflow:auto;
}
.mdSecretaryWeekTable{
  width:100%;
  min-width:780px;
  table-layout:fixed;
  border-collapse:separate;
  border-spacing:0;
}
.mdSecretaryColManager{
  width:214px;
}
.mdSecretaryColDay{
  width:calc((100% - 214px) / 7);
}
.mdSecretaryWeekTable th,
.mdSecretaryWeekTable td{
  position:relative;
  padding:0;
  border-right:1px solid rgba(255,255,255,.06);
  border-bottom:1px solid rgba(255,255,255,.06);
  background:rgba(255,255,255,.015);
}
.mdSecretaryWeekTable thead th{
  padding:8px 6px;
  text-align:center;
  font-size:11px;
  font-weight:800;
  color:rgba(255,255,255,.84);
  background:rgba(255,255,255,.035);
}
.mdSecretaryWeekTable thead th.isToday{
  background:linear-gradient(180deg, rgba(84,149,220,.3), rgba(49,96,154,.22));
  box-shadow:inset 2px 0 0 rgba(108,191,255,.38), inset -2px 0 0 rgba(108,191,255,.38), inset 0 0 0 1px rgba(146,211,255,.16);
}
.mdSecretaryWeekTable td.mdSecretaryWeekTd{
  transition:filter .18s ease, box-shadow .18s ease, background .18s ease;
}
.mdSecretaryWeekTable td.mdSecretaryWeekTd::before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:transparent;
  transition:background .18s ease, box-shadow .18s ease;
}
.mdSecretaryWeekTable td.mdSecretaryWeekTd::after{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:transparent;
  transition:background .18s ease;
}
.mdSecretaryWeekTable td.mdSecretaryWeekTd.isToday{
  box-shadow:inset 2px 0 0 rgba(112,194,255,.44), inset -2px 0 0 rgba(112,194,255,.44), inset 0 0 0 1px rgba(146,214,255,.14);
}
.mdSecretaryWeekTable td.mdSecretaryWeekTd.isToday::before{
  background:linear-gradient(180deg, rgba(92,164,240,.14), rgba(50,104,168,.1));
}
.mdSecretaryWeekHeadDay{
  font-size:11px;
  color:rgba(255,255,255,.58);
}
.mdSecretaryWeekHeadDate{
  margin-top:2px;
}
.mdSecretaryWeekHead{
  position:relative;
  min-height:40px;
  display:flex;
  align-items:flex-start;
  justify-content:center;
}
.mdSecretaryWeekHeadMain{
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  width:100%;
}
.mdWeekHeadEdit{
  position:absolute;
  top:2px;
  right:2px;
  width:18px;
  height:18px;
  display:grid;
  place-items:center;
  border:0;
  border-radius:999px;
  background:rgba(255,255,255,.08);
  color:rgba(255,255,255,.82);
  font-size:11px;
  line-height:1;
  cursor:pointer;
  opacity:0;
  transform:none;
  transition:opacity .16s ease, background .16s ease, color .16s ease;
}
.mdSecretaryWeekTable thead th:hover .mdWeekHeadEdit,
.mdSecretaryWeekTable thead th:focus-within .mdWeekHeadEdit{
  opacity:1;
}
.mdWeekHeadEdit:hover,
.mdWeekHeadEdit:focus-visible{
  background:rgba(103,158,228,.22);
  color:rgba(245,249,255,.96);
  outline:none;
}
.mdSecretaryStickyCol{
  position:sticky;
  left:0;
  z-index:2;
  min-width:214px;
  text-align:left;
  background:linear-gradient(180deg, rgba(44,70,102,.92), rgba(25,45,72,.95));
}
.mdSecretaryWeekRow:hover .mdSecretaryStickyCol{
  background:linear-gradient(180deg, rgba(54,84,118,.96), rgba(31,55,84,.98));
}
.mdSecretaryWeekRow:hover td.mdSecretaryWeekTd{
  filter:brightness(1.05);
}
.mdSecretaryWeekRow:hover td.mdSecretaryWeekTd::after{
  background:rgba(124,190,255,.035);
}
.mdSecretaryWeekManager{
  padding:10px 8px;
  font-size:13px;
  line-height:1.1;
  font-weight:800;
  color:rgba(255,255,255,.92);
  white-space:nowrap;
}
.mdBusyIndicator{
  margin-top:8px;
  display:inline-flex;
  align-items:center;
  gap:8px;
  min-height:20px;
  font-size:12px;
  font-weight:700;
  color:rgba(184,224,255,.96);
}
.mdBusySpinner{
  width:14px;
  height:14px;
  flex:0 0 14px;
  border-radius:999px;
  border:2px solid rgba(152,210,255,.28);
  border-top-color:rgba(206,239,255,.98);
  animation:mdSpin .7s linear infinite;
}
.mdRootBusy .mdSecretaryWeekCell,
.mdRootBusy .btn,
.mdRootBusy .inp,
.mdRootBusy select,
.mdRootBusy input[type="time"],
.mdRootBusy input[type="date"]{
  pointer-events:none;
}
.mdSecretaryWeekCell{
  width:100%;
  height:100%;
  min-height:58px;
  display:grid;
  grid-template-rows:22px minmax(18px, auto);
  align-content:start;
  justify-items:start;
  gap:3px;
  padding:6px 9px 5px;
  border:none;
  border-radius:0;
  background:transparent;
  color:rgba(255,255,255,.92);
  text-align:left;
  cursor:pointer;
  transition:background .18s ease, box-shadow .18s ease, transform .18s ease, filter .18s ease;
}
.mdSecretaryWeekBlank{
  min-height:58px;
  background:transparent;
}
.mdSecretaryWeekCell:hover{
  filter:brightness(1.06);
}
.mdSecretaryWeekCell.isToday{
  box-shadow:inset 0 0 0 1px rgba(157,214,255,.16);
}
.mdSecretaryWeekCell.isOff{
  cursor:default;
  color:rgba(255,255,255,.5);
}
.mdSecretaryWeekCell.isOff:hover{
  filter:none;
}
.mdSecretaryWeekTable td.mdSecretaryWeekTd.tone-green{
  background:linear-gradient(180deg, rgba(122,226,92,.4), rgba(53,115,67,.38));
  box-shadow:inset 0 0 0 1px rgba(161,241,133,.24);
}
.mdSecretaryWeekTable td.mdSecretaryWeekTd.tone-brown{
  background:linear-gradient(180deg, rgba(219,161,107,.38), rgba(111,78,56,.35));
  box-shadow:inset 0 0 0 1px rgba(240,189,142,.23);
}
.mdSecretaryWeekTable td.mdSecretaryWeekTd.tone-blue{
  background:linear-gradient(180deg, rgba(82,161,255,.43), rgba(35,83,151,.36));
  box-shadow:inset 0 0 0 1px rgba(143,204,255,.24);
}
.mdSecretaryWeekTable td.mdSecretaryWeekTd.tone-weekend{
  background:linear-gradient(180deg, rgba(164,117,255,.4), rgba(87,67,140,.36));
  box-shadow:inset 0 0 0 1px rgba(205,174,255,.24);
}
.mdSecretaryWeekTable td.mdSecretaryWeekTd.tone-off{
  background:rgba(255,255,255,.02);
}
.mdWeekHeadEdit svg{
  width:13px;
  height:13px;
  display:block;
}
.mdSecretaryWeekTable td.mdSecretaryWeekTd.tone-gold-meeting{
  background:rgba(255,255,255,.018);
}
.mdSecretaryWeekTable td.mdSecretaryWeekTd.tone-gold-meeting.hasGoldMeetings{
  background:linear-gradient(180deg, rgba(214,179,92,.24), rgba(91,74,38,.19));
  box-shadow:inset 0 0 0 1px rgba(255,224,147,.18);
}
.mdGoldMeetingCell{
  display:flex;
  flex-direction:column;
  gap:5px;
  min-height:58px;
  cursor:default;
}
.mdGoldMeetingCell:hover{
  filter:none;
}
.mdGoldMeetingChip{
  display:grid;
  grid-template-columns:auto minmax(0,1fr);
  align-items:center;
  gap:6px;
  width:100%;
  min-width:0;
  padding:4px 6px;
  border-radius:7px;
  border:1px solid rgba(255,232,169,.16);
  background:rgba(21,32,47,.52);
  color:rgba(252,246,226,.96);
}
.mdGoldMeetingTime{
  font-size:12px;
  line-height:1;
  font-weight:900;
  font-variant-numeric:tabular-nums;
  font-feature-settings:"tnum" 1, "lnum" 1;
  white-space:nowrap;
}
.mdGoldMeetingType{
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  font-size:10px;
  line-height:1;
  font-weight:800;
  color:rgba(255,238,190,.76);
}
.mdGoldMeetingMore{
  font-size:10px;
  line-height:1;
  font-weight:800;
  color:rgba(255,238,190,.7);
}
.mdSecretaryWeekShift{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  grid-row:1;
  height:22px;
  min-width:46px;
  padding:0 8px;
  border-radius:999px;
  font-size:12px;
  font-weight:800;
  line-height:1;
  font-variant-numeric:tabular-nums;
  font-feature-settings:"tnum" 1, "lnum" 1;
  letter-spacing:0;
  border:1px solid rgba(255,255,255,.1);
  background:rgba(12,26,46,.78);
  color:rgba(244,250,255,.98);
  white-space:nowrap;
  vertical-align:top;
}
.mdSecretaryWeekShift.tone-green{
  background:rgba(19,56,37,.88);
  border-color:rgba(139,238,113,.28);
  color:rgba(220,255,204,.98);
}
.mdSecretaryWeekShift.tone-brown{
  background:rgba(58,41,30,.88);
  border-color:rgba(239,193,148,.28);
  color:rgba(255,234,210,.98);
}
.mdSecretaryWeekShift.tone-blue{
  background:rgba(23,48,82,.9);
  border-color:rgba(144,203,255,.3);
  color:rgba(221,241,255,.98);
}
.mdSecretaryWeekShift.tone-weekend{
  background:rgba(47,34,78,.9);
  border-color:rgba(207,175,255,.3);
  color:rgba(241,229,255,.98);
}
.mdSecretaryWeekSummary{
  display:block;
  max-width:100%;
  min-width:0;
  font-size:11px;
  font-weight:700;
  color:rgba(255,255,255,.9);
  line-height:1.2;
  font-variant-numeric:tabular-nums;
  font-feature-settings:"tnum" 1, "lnum" 1;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.mdSecretaryWeekMeta{
  grid-row:2;
  display:grid;
  gap:4px;
  max-width:100%;
  min-height:18px;
  min-width:0;
}
.mdSecretaryWeekBadge{
  display:inline-flex;
  align-items:center;
  justify-content:flex-start;
  max-width:100%;
  min-width:0;
  min-height:18px;
  padding:0 7px;
  border-radius:999px;
  font-size:10px;
  font-weight:700;
  line-height:1.1;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
  border:1px solid rgba(255,255,255,.08);
}
.mdSecretaryWeekBadge.meeting{
  background:rgba(255,210,105,.14);
  color:rgba(255,231,164,.98);
}
.mdSecretaryWeekBadge.absence{
  background:rgba(255,146,146,.12);
  color:rgba(255,180,180,.98);
}
.mdSecretaryWeekBadge.ghost{
  background:rgba(255,255,255,.03);
  color:rgba(255,255,255,.56);
}
@keyframes mdSpin{
  to{ transform:rotate(360deg); }
}
.mdSheetMeetingList{
  display:flex;
  flex-direction:column;
  gap:6px;
  max-height:260px;
  overflow-y:auto;
  padding-right:4px;
  overscroll-behavior:contain;
}
.mdSheetOfficeActions{
  display:grid;
  grid-template-columns:minmax(0,1fr);
  gap:8px;
}
.mdSheetOfficeActions.hasDelete{
  grid-template-columns:repeat(2,minmax(0,1fr));
}
.mdSheetOfficeActions .btn{
  width:100%;
  min-width:0;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.mdAttendanceDeleteBtn{
  color:rgba(255,225,225,.96);
  background:rgba(154,39,52,.52);
  border-color:rgba(255,105,119,.58);
}
.mdAttendanceDeleteBtn:hover{
  color:rgba(255,240,240,.98);
  background:rgba(180,43,58,.68);
  border-color:rgba(255,126,138,.78);
  box-shadow:0 0 0 4px rgba(211,92,92,.12);
}
.mdAttendanceConfirm{
  display:grid;
  gap:8px;
  padding:10px;
  border:1px solid rgba(255,105,119,.38);
  border-radius:12px;
  background:rgba(92,24,35,.34);
  color:rgba(255,226,229,.96);
  font-size:12px;
  font-weight:700;
  line-height:1.35;
}
.mdAttendanceConfirm[hidden]{
  display:none;
}
.mdAttendanceConfirmActions{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:8px;
}
.mdAttendanceConfirmActions .btn{
  width:100%;
  justify-content:center;
}
.mdSheetCustomObjectRow{
  margin-top:8px;
}
.mdSheetCustomObjectRow input{
  width:100%;
}
.mdSheetMeetingItem{
  padding:8px 10px;
  border-radius:10px;
  border:1px solid rgba(255,255,255,.08);
  background:rgba(255,255,255,.025);
  font-size:12px;
  color:rgba(255,255,255,.84);
  min-width:0;
}
.mdSheetMeetingRow{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  min-width:0;
}
.mdMeetingObjectInline{
  min-width:0;
  display:flex;
  align-items:center;
  gap:7px;
}
.mdMeetingObjectInline span{
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.mdMeetingObjectIcon{
  width:24px;
  height:24px;
  flex:0 0 24px;
  object-fit:contain;
  opacity:.9;
}
.mdSheetMeetingActions{
  display:flex;
  align-items:center;
  gap:6px;
  flex-wrap:wrap;
  flex:0 0 auto;
}
@media (max-width: 900px){
  .mdSheetOfficeGrid{
    grid-template-columns:1fr;
  }
  .mdSheetOfficeActions{
    grid-template-columns:1fr;
  }
}
.mdDutyAssignPreview{
  display:flex;
  align-items:center;
  gap:10px;
  margin-top:2px;
}
.mdDutyAssignText{
  font-size:12px;
  font-weight:700;
  color:rgba(255,255,255,.82);
}
@keyframes mdOverlayIn{
  from{ opacity:0; }
  to{ opacity:1; }
}
@keyframes mdSheetIn{
  from{
    opacity:0;
    transform:translateY(14px) scale(.985);
  }
  to{
    opacity:1;
    transform:translateY(0) scale(1);
  }
}
.mdFileBtn{
  position:relative;
  overflow:hidden;
}
@media (max-width: 1180px){
  .mdWorkspace{ grid-template-columns:1fr; }
  .mdEventsGrid{ grid-template-columns:1fr; }
}
@media (max-width: 860px){
  .mdSecretaryWeekTable{
    min-width:700px;
  }
  .mdSecretaryColManager{
    width:156px;
  }
  .mdSecretaryColDay{
    width:78px;
  }
  .mdSecretaryGrid{
    grid-template-columns:1fr;
    gap:8px;
  }
  .mdSecretaryGridHead{
    display:none;
  }
  .mdEntryRow,
  .mdEntryLead,
  .mdEntryTail{
    align-items:flex-start;
  }
  .mdEntryRow{
    flex-direction:column;
  }
  .mdStatePill{
    max-width:none;
  }
  .mdSheetGrid,
  .mdSheetEventGrid,
  .mdSheetTimes{
    grid-template-columns:1fr;
  }
  .mdSheetOfficeGrid,
  .mdSheetWheelGrid{
    grid-template-columns:1fr;
  }
  .mdDutyDayGrid{
    grid-template-columns:1fr;
  }
  .mdDutyDayReplaceTimes{
    grid-template-columns:1fr;
  }
  .mdSheetMeetingRow{
    flex-direction:column;
    align-items:flex-start;
  }
  .mdDutyRow{ grid-template-columns:1fr; }
  .mdDutyActions{
    grid-template-columns: 1fr auto 1fr auto 1fr auto;
    justify-content:flex-start;
  }
  .mdInlineForm{
    grid-template-columns:1fr 1fr;
  }
  .mdSubscriberCreate,
  .mdSubscriberRow{
    grid-template-columns:1fr;
  }
  .mdSubscriberGuide{
    display:grid;
  }
}
@media (max-width: 560px){
  .mdDutyMain,
  .mdDutyActions,
  .mdInlineForm{
    grid-template-columns:1fr;
  }
  .mdSheetTopbar,
  .mdSheetSectionTop{
    flex-direction:column;
    align-items:stretch;
  }
  .mdSheetQuickActions{
    display:grid;
    grid-template-columns:1fr 1fr;
  }
  .mdQuickActionBtn{
    min-height:54px;
    padding:0 14px;
  }
  .mdQuickActionBtn span{
    font-size:14px;
  }
  .mdQuickActionBtn strong{
    font-size:16px;
  }
}
