/* Connected Community — календарь на месяц, программа лояльности.
   Часть оформления портала. Файлы подключаются в templates/index.html по порядку номеров: поздние правила перебивают ранние. */
/* =========================================================
   КАЛЕНДАРЬ НА МЕСЯЦ
   ========================================================= */
.cal{background:var(--surface);border:1px solid var(--border);border-radius:14px;box-shadow:var(--shadow);overflow:hidden;}
.cal-head{display:flex;align-items:center;gap:10px;padding:14px 16px;border-bottom:1px solid var(--border);flex-wrap:wrap;}
.cal-title{font-family:'Samsung Sans','Golos Text',sans-serif;font-weight:700;font-size:20px;min-width:180px;text-align:center;}
.cal-nav{
  width:36px;height:36px;border-radius:50%;border:1px solid var(--border);background:var(--surface);
  font-size:22px;line-height:1;cursor:pointer;color:var(--ink);
}
.cal-nav:hover{border-color:var(--orange);color:var(--orange-dark);}
.cal-today{padding:7px 14px;font-size:12.5px;}
.cal-legend{margin-left:auto;display:flex;gap:14px;font-size:12px;color:var(--ink-soft);}
.cal-legend span::before{content:"";display:inline-block;width:10px;height:10px;border-radius:3px;margin-right:6px;vertical-align:-1px;}
.cal-legend .ev::before{background:var(--orange);}
.cal-legend .vac::before{background:#3FA36B;}
.cal-legend .bd::before{background:#E4A62A;}
.cal-legend .hol::before{background:var(--orange-tint);border:1px solid var(--orange-soft);box-sizing:border-box;}

.cal-weekdays{display:grid;grid-template-columns:repeat(7,1fr);background:var(--bg-soft);border-bottom:1px solid var(--border);}
.cal-weekdays div{padding:8px 0;text-align:center;font-size:11.5px;font-weight:700;text-transform:uppercase;letter-spacing:0.05em;color:var(--ink-soft);}
.cal-weekdays div:nth-child(n+6){color:var(--orange-dark);}

.cal-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));}   /* minmax(0): длинная плашка не растягивает колонку (проверка 08.10.2026) */
.cal-cell{min-width:0;
  min-height:104px;padding:6px 6px 8px;
  border-right:1px solid var(--border);border-bottom:1px solid var(--border);
  cursor:pointer;transition:background .12s;position:relative;
}
.cal-cell:nth-child(7n){border-right:none;}
.cal-cell:hover{background:var(--orange-tint);}
.cal-cell.other{background:var(--bg-soft);opacity:0.55;}
.cal-cell.weekend .cal-day{color:var(--orange-dark);}
.cal-day{font-size:13px;font-weight:700;width:26px;height:26px;display:flex;align-items:center;justify-content:center;border-radius:50%;}
.cal-cell.today .cal-day{background:var(--orange);color:#fff;box-shadow:0 0 0 3px var(--orange-soft);}
.cal-items{display:flex;flex-direction:column;gap:3px;margin-top:4px;}
.cal-chip{
  font-size:11.5px;font-weight:600;line-height:1.3;padding:3px 7px;border-radius:6px;
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis;cursor:pointer;
}
.cal-chip.ev{background:var(--orange);color:#fff;}
.cal-chip.ev:hover{background:var(--orange-dark);}
.cal-chip.vac{background:#E3F4E9;color:#1F6B3E;border:1px solid #BFE3CC;}
.cal-chip.bd{background:#FFF1CC;color:#7A5410;cursor:default;}
.cal-chip.hol{background:var(--orange-tint);color:var(--orange-dark);border:1px solid var(--orange-soft);}
html[data-theme="dark"] .cal-chip.vac{background:#173323;color:#8FD9A4;border-color:#22523A;}
html[data-theme="dark"] .cal-chip.bd{background:#3A2E12;color:#F0C769;}
@media (max-width:860px){
  .cal-cell{min-height:70px;padding:4px;}
  .cal-chip{font-size:10px;padding:2px 4px;}
  .cal-legend{display:none;}
}

/* ---- с девятью вкладками: до 1500px вкладки отдельной строкой целиком ---- */
@media (max-width:1500px){
  .masthead{flex-wrap:wrap;}
  .masthead-actions{order:2;margin-left:auto;}
  .nav-tabs{order:3;flex-basis:100%;margin:6px 0 0;flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;}
  .nav-tabs::-webkit-scrollbar{display:none;}
}

/* =========================================================
   ПРОГРАММА ЛОЯЛЬНОСТИ
   ========================================================= */
.loy-intro{
  display:flex;align-items:center;gap:16px;margin-bottom:22px;
  padding:18px 22px;border-radius:14px;
  background:linear-gradient(120deg,var(--orange-tint),var(--surface));
  border:1px solid var(--orange-soft);box-shadow:var(--shadow);
}
.loy-intro-mark{font-size:34px;line-height:1;}
.loy-intro-title{font-family:'Samsung Sans','Golos Text',sans-serif;font-weight:700;font-size:19px;}
.loy-intro-text{font-size:14px;color:var(--ink-soft);margin-top:3px;max-width:70ch;line-height:1.5;}

/* Программа лояльности — карточки-плитки, подробности в окне (24.09.2026) */
.lp-deck{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;}   /* ровно 3 в ряд — 9 карточек лояльности встают 3×3 */
@media (max-width:1100px){.lp-deck{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media (max-width:640px){.lp-deck{grid-template-columns:1fr;}}
/* вариант A «Спокойный» (выбор пользователя 24.09.2026): белые карточки без цветных полос, оранжевый только в значке */
.lp-card{flex:1 1 260px;background:var(--surface);border:1px solid var(--border);border-radius:16px;
  padding:20px 22px 18px;display:flex;flex-direction:column;align-items:flex-start;cursor:pointer;min-width:0;
  transition:border-color .15s,transform .15s;}
.lp-card:hover{border-color:var(--orange);transform:translateY(-2px);}
.lp-card:focus-visible{outline:2px solid var(--orange);outline-offset:2px;}
.lp-card .lp-ico{margin-bottom:14px;}
.lp-ico{width:44px;height:44px;border-radius:50%;background:var(--orange-tint);color:var(--orange);display:flex;align-items:center;justify-content:center;flex:none;}
.lp-ico .ico{width:21px;height:21px;}
.lp-card .lp-title{font-family:'Samsung Sans','Golos Text',sans-serif;font-weight:800;font-size:17px;color:var(--ink);line-height:1.3;}
.lp-title{font-family:'Samsung Sans','Golos Text',sans-serif;font-weight:800;font-size:17px;line-height:1.3;}
.lp-big{font-family:'Samsung Sans','Golos Text',sans-serif;font-weight:800;font-size:22px;line-height:1.15;color:var(--ink);white-space:nowrap;margin-top:6px;}
.lp-cap{font-size:13px;color:var(--ink-soft);line-height:1.4;margin-top:4px;}
.lp-more{margin-top:auto;padding-top:18px;font-weight:600;font-size:13px;color:var(--ink-soft);transition:color .15s;}
.lp-card:hover .lp-more{color:var(--orange);}
.lp-card .lp-big{white-space:normal;}
.lp-modal{max-width:720px;}
/* корпоративные мероприятия — три события с оранжевым краем (25.09.2026) */
.lp-event{padding:12px 16px;border-left:3px solid var(--orange);border-radius:0 12px 12px 0;background:var(--orange-tint);}
.lp-event-title{font-family:'Samsung Sans','Golos Text',sans-serif;font-weight:800;font-size:15px;margin-bottom:4px;}
/* Вакансии (24.09.2026): карточки как в базе знаний */
.vac-card.closed{opacity:.6;}
.vac-refer{display:flex;align-items:center;gap:16px;margin-top:24px;padding:20px 24px;border:1px dashed var(--orange);border-radius:16px;background:var(--orange-tint);}
.vac-refer-text{flex:1;min-width:0;}
.vac-refer .lp-ico{background:var(--surface);}
.vac-refer-title{font-family:'Samsung Sans','Golos Text',sans-serif;font-weight:800;font-size:16px;}
@media (max-width:640px){.vac-refer{flex-direction:column;align-items:flex-start;}}
.vac-closed{margin-top:8px;font-size:12px;font-weight:700;color:var(--ink-soft);text-transform:uppercase;letter-spacing:.04em;}
/* Табель английского (24.09.2026) */
.eng-mark{display:inline-flex;width:22px;height:22px;border-radius:6px;align-items:center;justify-content:center;font-size:12px;font-weight:800;}
.eng-mark.yes{background:#E3F4E8;color:#1E7A3C;}
.eng-mark.no{background:#FDE7E3;color:#B3261E;}
.eng-miss{color:var(--ink-soft);font-style:normal;}
.eng-sum{font-weight:800;white-space:nowrap;}
.eng-summary{font-size:14px;margin:4px 0 14px;color:var(--ink-soft);}
.eng-summary b{color:var(--ink);}
.eng-list{display:flex;flex-direction:column;gap:8px;max-width:720px;}
.eng-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 16px;border:1px solid var(--border);border-radius:12px;background:var(--surface);}
.eng-row.today{border-color:var(--orange);}
.eng-date{font-weight:600;font-size:14px;}
.eng-date small{display:block;font-weight:400;color:var(--ink-soft);font-size:12.5px;margin-top:2px;}
.eng-actions{display:flex;gap:8px;align-items:center;flex:none;}
.eng-future{font-size:13px;color:var(--ink-soft);}
.eng-pill{font-size:12px;font-weight:700;padding:3px 10px;border-radius:999px;}
.eng-pill.yes{background:#E3F4E8;color:#1E7A3C;}
.eng-pill.no{background:#FDE7E3;color:#B3261E;}
.eng-days{display:flex;flex-wrap:wrap;gap:8px;}
html[data-theme="dark"] .eng-mark.yes,html[data-theme="dark"] .eng-pill.yes{background:#1F3A28;color:#8FD9A4;}
html[data-theme="dark"] .eng-mark.no,html[data-theme="dark"] .eng-pill.no{background:#40221E;color:#FF9A8A;}
/* Книга месяца от CEO — правая колонка главной, обложка во всю ширину карточки */
.widget-book .book-cover{display:block;width:100%;height:auto;aspect-ratio:2/3;object-fit:cover;border-radius:10px;margin:4px auto 12px;max-width:100%;
  border:1px solid var(--border);cursor:zoom-in;}
.book-title{font-family:'Samsung Sans','Golos Text',sans-serif;font-weight:800;font-size:16px;line-height:1.3;}
/* мало места по высоте — книга строкой: обложка слева, текст справа (fitBookCover) */
.widget-book.book-row .book-body{display:flex;align-items:center;gap:14px;}
.book-edit{margin-left:auto;font-family:'Samsung Sans','Roboto',sans-serif;font-weight:600;font-size:12px;color:var(--ink-soft);text-decoration:none;}
.book-edit:hover{color:var(--orange);}
.widget-book.book-row .book-cover{width:92px;height:138px;flex:none;margin:0;}
/* «Мои заявки» на главной — в одну строку, чтобы книга месяца помещалась без прокрутки */
.widget-myreq.compact .widget-req{flex-direction:row;align-items:center;justify-content:space-between;gap:8px;padding:6px 8px;}
.widget-myreq.compact .widget-req-top{min-width:0;flex:1;}
.widget-myreq.compact .widget-req-title{-webkit-line-clamp:1;}
.widget-myreq.compact .widget-req-bottom{padding-left:0;flex:none;}
.widget-myreq.compact .widget-req-note{display:none;}
.book-author{font-size:13px;color:var(--ink-soft);margin-top:2px;}
.book-link{color:inherit;text-decoration:none;}
.widget-book.clickable{cursor:pointer;transition:border-color .15s;}   /* вся карточка книги — кнопка (25.09.2026) */
.widget-book.clickable:hover{border-color:var(--orange);}
.widget-book.clickable:hover .book-title{color:var(--orange);}
/* карточка книги месяца (25.09.2026) */
.book-card-top{display:flex;gap:18px;align-items:flex-end;}
.book-card-cover{width:120px;height:180px;object-fit:cover;border-radius:10px;border:1px solid var(--border);flex:none;}
.book-card-title{font-family:'Samsung Sans','Golos Text',sans-serif;font-weight:800;font-size:20px;line-height:1.25;margin-bottom:4px;}
.book-why{white-space:pre-line;}
.book-link:hover{color:var(--orange);}
.book-note{font-size:13px;line-height:1.5;margin-top:10px;padding-top:10px;border-top:1px solid var(--border);}
/* База знаний по папкам (24.09.2026): карточки как в программе лояльности, файлы — в окне папки */
.kb-folder-name{font-family:'Samsung Sans','Golos Text',sans-serif;font-weight:800;font-size:20px;line-height:1.25;color:var(--ink);}
.kb-modal .modal-body{gap:10px;}
.kb-file{display:flex;align-items:center;gap:16px;padding:14px 16px;border:1px solid var(--orange-soft);border-left:3px solid var(--orange);
  border-radius:0 12px 12px 0;background:var(--surface);}
.kb-file-text{flex:1;min-width:0;}
.kb-file-title{font-weight:700;font-size:14.5px;line-height:1.35;}
.kb-file-desc{font-size:13px;color:var(--ink-soft);margin-top:3px;line-height:1.45;}
.kb-file-meta{font-size:12px;color:var(--ink-soft);margin-top:4px;}
.kb-file-actions{display:flex;align-items:center;gap:6px;flex:none;}
@media (max-width:640px){.kb-file{flex-direction:column;align-items:flex-start;}}
/* окно подробностей программы лояльности — оранжевые акценты внутри */
.lp-modal .lp-ico{background:var(--orange);color:#fff;}
.lp-modal .lp-fig{background:var(--orange-tint);border:1px solid var(--orange-soft);}
.lp-modal .lp-big{color:var(--orange);}
.lp-modal .lp-tile{border-left:3px solid var(--orange);border-radius:0 12px 12px 0;}
.lp-modal .lp-tiers{border-color:var(--orange-soft);}
.lp-modal .lp-tiers .lp-row + .lp-row{border-top-color:var(--orange-soft);}
.lp-modal .lp-chips li{border-color:var(--orange-soft);background:var(--orange-tint);}
.lp-modal .lp-label{color:var(--orange);}
.lp-modal .lp-note{border-top-color:var(--orange-soft);}
.lp-modal .modal-head .lp-head{display:flex;align-items:center;gap:12px;}
.lp-modal .modal-head h3{margin:0;}
.lp-modal .modal-body{display:flex;flex-direction:column;gap:14px;}
.lp-fig{display:flex;align-items:baseline;gap:12px;flex-wrap:wrap;padding:14px 18px;border-radius:12px;background:var(--bg-soft);}
.lp-fig .lp-big{margin-top:0;}
.lp-text{font-size:14.5px;line-height:1.55;}
.lp-label{font-size:12.5px;font-weight:700;color:var(--ink-soft);text-transform:uppercase;letter-spacing:.04em;margin-bottom:-6px;}
.lp-chips{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:8px;}
.lp-chips li{padding:7px 12px;border-radius:999px;border:1px solid var(--border);font-size:13.5px;line-height:1.3;}
.lp-tiles{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;}
@media (max-width:560px){.lp-tiles{grid-template-columns:1fr;}}
.lp-tile{background:var(--bg-soft);border-radius:12px;padding:14px 16px;display:flex;flex-direction:column;gap:8px;}
.lp-tile-title{font-weight:700;font-size:14px;line-height:1.35;}
.lp-row{display:flex;justify-content:space-between;align-items:baseline;gap:12px;font-size:13.5px;color:var(--ink-soft);}
.lp-row b{font-family:'Samsung Sans','Golos Text',sans-serif;font-weight:800;font-size:16px;color:var(--ink);white-space:nowrap;}
.lp-tile .lp-row + .lp-row{border-top:1px dashed var(--border);padding-top:8px;}
.lp-tiers{display:flex;flex-direction:column;border:1px solid var(--border);border-radius:12px;overflow:hidden;}
.lp-tiers .lp-row{padding:12px 16px;color:var(--ink);line-height:1.45;}
.lp-tiers .lp-row + .lp-row{border-top:1px solid var(--border);}
.lp-tiers .lp-row b{color:var(--ink);}
.lp-tiers .lp-row small{display:block;font-size:12px;color:var(--ink-soft);margin-top:2px;}
.lp-steps{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px;}
.lp-steps li{display:flex;align-items:center;gap:12px;font-size:14.5px;line-height:1.4;}
.lp-steps li span{width:28px;height:28px;border-radius:50%;background:var(--orange);color:#fff;font-weight:800;font-size:13px;
  display:flex;align-items:center;justify-content:center;flex:none;}
.lp-note{padding-top:12px;border-top:1px solid var(--border);font-size:13px;color:var(--ink-soft);line-height:1.5;}
.loy-intro{margin-bottom:16px;}
.loy-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:16px;}
.loy-card{
  background:var(--surface);border:1px solid var(--border);border-top:5px solid var(--orange);
  border-radius:14px;padding:20px 22px 18px;box-shadow:var(--shadow);
  display:flex;flex-direction:column;gap:10px;
}
.loy-icon{font-size:30px;line-height:1;}
.loy-title{font-family:'Samsung Sans','Golos Text',sans-serif;font-weight:700;font-size:18px;line-height:1.25;}
.loy-text{font-size:14px;line-height:1.55;}
.loy-list,.loy-steps{margin:0;padding-left:0;list-style:none;display:flex;flex-direction:column;gap:6px;font-size:14px;}
.loy-list li{padding:8px 12px;background:var(--bg-soft);border-radius:8px;}
.loy-steps li{padding:8px 12px;border-left:3px solid var(--orange);background:var(--bg-soft);border-radius:0 8px 8px 0;}
.loy-table{width:100%;border-collapse:collapse;font-size:13.5px;}
.loy-table th{text-align:left;padding:10px 0 4px;font-size:13px;color:var(--orange-dark);border-bottom:1px solid var(--border);}
.loy-table td{padding:6px 0;border-bottom:1px dashed var(--border);vertical-align:top;}
.loy-table td:last-child{text-align:right;font-weight:800;white-space:nowrap;color:var(--ink);font-family:'Samsung Sans','Golos Text',sans-serif;font-size:15px;}
.loy-table tr:last-child td{border-bottom:none;}
.loy-note{font-size:12.5px;color:var(--ink-soft);margin-top:auto;padding-top:6px;}

.loy-when{
  margin-top:18px;padding:18px 22px;border-radius:14px;
  background:linear-gradient(135deg,#FF7A1F,#E85C00);color:#fff;box-shadow:0 10px 26px rgba(255,102,0,0.28);
}
.loy-when-title{font-family:'Samsung Sans','Golos Text',sans-serif;font-weight:700;font-size:18px;}
.loy-when-text{font-size:14px;opacity:0.92;margin-top:4px;}
.loy-dates{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px;}
.loy-dates span{background:rgba(255,255,255,0.18);border:1px solid rgba(255,255,255,0.35);padding:7px 14px;border-radius:999px;font-weight:600;font-size:13.5px;}
