.sfc-view { display: grid; gap: 18px; }
.sfc-view .module-command-header { margin-bottom: 0; }
.sfc-strip { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; }
.sfc-strip-block { display: grid; gap: 3px; min-width: 0; padding: 14px; border: 1px solid var(--border); border-radius: 12px; background: var(--bg2); }
.sfc-strip-block.is-next { border-color: var(--accent, #4778df); }
.sfc-strip-block span { color: var(--text2); font-size: 11px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; }
.sfc-strip-block strong { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: 22px; }
.sfc-strip-block small { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; color: var(--text2); }
.sfc-viewbar { display: flex; justify-content: space-between; flex-wrap: wrap; gap: 10px; }
.sfc-viewbar > div { display: flex; gap: 7px; }
.sfc-agenda-day { margin: 0 0 18px; }
.sfc-agenda-day h3 { margin: 0; padding: 0 0 7px; border-bottom: 1px solid var(--border); font-size: 14px; }
.sfc-block-row { padding: 12px; border-left: 3px dashed var(--accent, #4778df); background: var(--bg3); font-size: 12px; }
.sfc-business-select { display: grid; gap: 5px; font-size: 11px; font-weight: 700; color: var(--text2); }
.sfc-business-select select { min-width: 220px; padding: 9px 12px; border: 1px solid var(--border); border-radius: 8px; color: var(--text); background: var(--bg2); }
.sfc-tabs { display: flex; gap: 8px; flex-wrap: wrap; border-bottom: 1px solid var(--border); }
.sfc-tabs button { padding: 10px 14px; border: 0; border-bottom: 2px solid transparent; background: transparent; color: var(--text2); cursor: pointer; font: inherit; font-weight: 600; }
.sfc-tabs button.active { border-color: var(--accent, #4778df); color: var(--text); }
.sfc-layout { display: grid; grid-template-columns: minmax(340px, 1.4fr) minmax(280px, 1fr); gap: 16px; align-items: start; }
.sfc-panel { padding: 20px; border: 1px solid var(--border); border-radius: 14px; background: var(--bg2); color: var(--text); }
.sfc-section-head { display: flex; align-items: start; justify-content: space-between; gap: 12px; margin-bottom: 18px; }
.sfc-section-head h2 { margin: 0; font-size: 18px; }
.sfc-section-head p, .sfc-empty { margin: 5px 0 0; color: var(--text2); font-size: 13px; }
.sfc-section-head > div:last-child { display: flex; gap: 6px; }
.sfc-weekdays, .sfc-days { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); }
.sfc-weekdays span { padding: 8px 3px; text-align: center; font-size: 11px; font-weight: 700; color: var(--text2); }
.sfc-day { display: flex; min-height: 72px; flex-direction: column; align-items: start; gap: 3px; padding: 7px; border: 1px solid var(--border); background: transparent; color: var(--text); text-align: left; cursor: pointer; }
.sfc-day--empty { opacity: .3; }
.sfc-day.is-selected { box-shadow: inset 0 0 0 2px var(--accent, #4778df); }
.sfc-day.is-today b { color: var(--accent, #4778df); }
.sfc-day span, .sfc-day small { display: block; max-width: 100%; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: 10px; }
.sfc-day span { padding: 2px 4px; border-radius: 4px; background: var(--bg3); }
.sfc-agenda { min-height: 300px; }
.sfc-appointment { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 8px; padding: 13px 0; border-top: 1px solid var(--border); }
.sfc-appointment > div:first-child { display: grid; gap: 3px; }
.sfc-appointment time { font-size: 11px; color: var(--text2); }
.sfc-appointment strong { font-size: 14px; }
.sfc-appointment span, .sfc-appointment small { font-size: 12px; color: var(--text2); }
.sfc-status { font-style: normal; font-weight: 700; text-transform: capitalize; }
.sfc-manage { display: grid; gap: 9px; width: 100%; padding: 12px; border-radius: 8px; background: var(--bg3); }
.sfc-form-grid, .sfc-type { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.sfc-form-grid label, .sfc-type label, .sfc-manage label { display: grid; gap: 5px; font-size: 12px; font-weight: 700; }
.sfc-form-grid input, .sfc-form-grid select, .sfc-type input, .sfc-manage input, .sfc-rule input[type=time] { width: 100%; box-sizing: border-box; padding: 8px; border: 1px solid var(--border); border-radius: 7px; color: var(--text); background: var(--bg3); font: inherit; }
.sfc-full { grid-column: 1 / -1; }
.sfc-slot-label { margin: 18px 0 8px; font-size: 12px; font-weight: 700; }
.sfc-slots { display: flex; flex-wrap: wrap; gap: 7px; margin: 9px 0 16px; }
.sfc-slots p { margin: 0; color: var(--text2); font-size: 12px; }
.sfc-slot { padding: 8px 10px; border: 1px solid var(--border); border-radius: 7px; background: var(--bg3); color: var(--text); cursor: pointer; }
.sfc-slot.is-selected { border-color: var(--accent, #4778df); box-shadow: inset 0 0 0 1px var(--accent, #4778df); }
.sfc-rule-day { padding: 10px 0; border-top: 1px solid var(--border); }
.sfc-rule-day-head { display: flex; align-items: center; justify-content: space-between; gap: 10px; }
.sfc-rule-rows small { color: var(--text2); }
.sfc-rule { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; padding: 8px 0; }
.sfc-rule input[type=time] { width: 130px; }
.sfc-rule select { padding: 8px; border: 1px solid var(--border); border-radius: 7px; color: var(--text); background: var(--bg3); }
.sfc-check { display: flex !important; align-items: center; gap: 7px; }
.sfc-check input { width: auto; }
.sfc-type { grid-template-columns: minmax(150px, 2fr) repeat(3, minmax(80px, 1fr)) auto auto; align-items: end; padding: 14px 0; border-top: 1px solid var(--border); }
.sfc-types + h3, .sfc-blocks + h3 { margin-top: 24px; }
.sfc-blocks article { display: flex; justify-content: space-between; align-items: center; gap: 12px; padding: 10px 0; border-top: 1px solid var(--border); }
.sfc-blocks article small { display: block; margin-top: 3px; color: var(--text2); }
.sfc-error { padding: 10px 14px; border: 1px solid #c76060; border-radius: 8px; background: rgba(199,96,96,.1); color: var(--text); }
@media (max-width: 950px) { .sfc-layout { grid-template-columns: 1fr; } .sfc-type { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 560px) { .sfc-panel { padding: 13px; } .sfc-strip-block { padding: 9px; } .sfc-strip-block strong { font-size: 16px; } .sfc-strip-block small { font-size: 10px; } .sfc-day { min-height: 54px; padding: 4px; } .sfc-day span { display: none; } .sfc-form-grid { grid-template-columns: 1fr; } }
