.smc-est {
  --smc-bg: #f5f8fa;
  --smc-card: #fff;
  --smc-text: #1f2937;
  --smc-muted: #596579;
  --smc-border: #d8e2ea;
  --smc-blue: #1565c0;
  --smc-blue-dark: #0f4c81;
  --smc-green: #166534;
  --smc-green-bg: #dcfce7;
  --smc-amber: #9a5412;
  --smc-amber-bg: #ffedd5;
  --smc-red: #991b1b;
  --smc-red-bg: #fee2e2;
  --smc-violet: #3730a3;
  --smc-violet-bg: #e0e7ff;
  color: var(--smc-text);
  font-family: inherit;
  max-width: 980px;
  margin: 0 auto;
}
.smc-est *, .smc-est *::before, .smc-est *::after { box-sizing: border-box; }
.smc-est__hero { display:flex; gap:16px; align-items:center; padding:24px; margin-bottom:18px; border-radius:16px; background:linear-gradient(135deg,#0f4c5c,#1565c0); color:#fff; }
.smc-est__icon { font-size:46px; line-height:1; }
.smc-est h2, .smc-est h3 { margin-top:0; }
.smc-est__hero h2 { color:#fff; margin-bottom:6px; font-size:clamp(1.4rem,3vw,2rem); }
.smc-est__hero p { margin:0; color:#fff; opacity:.94; line-height:1.5; }
.smc-est__card { padding:22px; margin:0 0 20px; border:1px solid var(--smc-border); border-radius:15px; background:var(--smc-card); box-shadow:0 5px 20px rgba(15,76,92,.06); }
.smc-est__card h3 { padding-bottom:9px; margin-bottom:16px; border-bottom:2px solid #dbeafe; color:#163a5f; font-size:1.15rem; }
.smc-est__notice { margin-bottom:18px; padding:13px 15px; border-radius:10px; line-height:1.5; }
.smc-est__notice--warning { color:#7c3d12; background:#fff7ed; border:1px solid #fdba74; }
.smc-est__grid { display:grid; gap:12px 16px; }
.smc-est__grid--2 { grid-template-columns:repeat(2,minmax(0,1fr)); }
.smc-est__grid--3 { grid-template-columns:repeat(3,minmax(0,1fr)); }
.smc-est__field--wide { grid-column:1/-1; }
.smc-est label { display:block; margin:0; color:var(--smc-text); font-size:.88rem; font-weight:600; line-height:1.4; }
.smc-est input, .smc-est select { width:100%; min-height:43px; margin-top:5px; padding:9px 11px; border:1px solid #b9c6d1; border-radius:8px; background:#fff; color:var(--smc-text); font:inherit; }
.smc-est input:focus, .smc-est select:focus { outline:3px solid rgba(21,101,192,.18); border-color:var(--smc-blue); }
.smc-est__water { margin-top:14px; padding:15px; border-radius:10px; background:var(--smc-bg); }
.smc-est__check { display:flex !important; align-items:flex-start; gap:9px; margin-top:15px !important; cursor:pointer; }
.smc-est__check input { width:18px; min-height:18px; margin:1px 0 0; flex:0 0 auto; }
.smc-est__hint, .smc-est__intro { margin:7px 0 15px; color:var(--smc-muted); font-size:.82rem; line-height:1.5; }
.smc-est__periods { margin:16px 0 9px; padding:11px 13px; border-left:4px solid var(--smc-blue); background:#eff6ff; border-radius:6px; font-size:.88rem; line-height:1.5; }
.smc-est__maintenance-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; }
.smc-est__maintenance { padding:13px; border:1px solid var(--smc-border); border-radius:10px; background:var(--smc-bg); }
.smc-est__maintenance .smc-est__check { margin-top:0 !important; }
.smc-est__date { margin-top:12px !important; }
.smc-est__form-actions, .smc-est__toolbar { display:flex; flex-wrap:wrap; gap:9px; margin-top:18px; }
.smc-est__btn { display:inline-flex; align-items:center; justify-content:center; min-height:42px; padding:9px 15px; border:1px solid transparent; border-radius:8px; cursor:pointer; font:inherit; font-weight:700; text-decoration:none !important; }
.smc-est__btn--primary { color:#fff !important; background:var(--smc-blue); }
.smc-est__btn--primary:hover { background:var(--smc-blue-dark); }
.smc-est__btn--secondary { color:#17466e; background:#eff6ff; border-color:#bfdbfe; }
.smc-est__btn--ghost { color:#374151; background:#fff; border-color:var(--smc-border); }
.smc-est__btn--danger { color:var(--smc-red); background:#fff; border-color:#fecaca; }
.smc-est__form-error { margin-top:14px; padding:10px 12px; color:var(--smc-red); background:var(--smc-red-bg); border-radius:8px; }
.smc-est__list-head { display:flex; justify-content:space-between; gap:18px; align-items:flex-end; margin-bottom:15px; }
.smc-est__list-head h3 { margin-bottom:4px; }
.smc-est__list-head p { margin:0; color:var(--smc-muted); font-size:.8rem; }
.smc-est__filter { min-width:180px; }
.smc-est__empty { padding:26px 12px; text-align:center; color:var(--smc-muted); background:var(--smc-bg); border-radius:10px; }
.smc-est__item { margin-bottom:12px; padding:16px; border:1px solid var(--smc-border); border-radius:12px; background:var(--smc-bg); }
.smc-est__item-top { display:flex; justify-content:space-between; align-items:flex-start; gap:10px; }
.smc-est__item-name { font-size:1.03rem; font-weight:800; color:#173a5e; }
.smc-est__item-sub { margin-top:3px; color:var(--smc-muted); font-size:.8rem; line-height:1.45; }
.smc-est__badge { display:inline-block; flex:0 0 auto; padding:4px 9px; border-radius:999px; font-size:.72rem; font-weight:800; white-space:nowrap; }
.smc-est__badge--ok { color:var(--smc-green); background:var(--smc-green-bg); }
.smc-est__badge--soon { color:var(--smc-amber); background:var(--smc-amber-bg); }
.smc-est__badge--expired { color:var(--smc-red); background:var(--smc-red-bg); }
.smc-est__badge--unknown { color:var(--smc-violet); background:var(--smc-violet-bg); }
.smc-est__deadlines { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; margin-top:13px; }
.smc-est__deadline { display:flex; justify-content:space-between; gap:8px; align-items:center; padding:9px 10px; border-radius:8px; background:#fff; font-size:.81rem; }
.smc-est__deadline-label { color:var(--smc-muted); }
.smc-est__deadline-value { text-align:right; font-weight:700; }
.smc-est__item-actions { display:flex; justify-content:flex-end; gap:8px; margin-top:11px; }
.smc-est__item-actions button { padding:4px 7px; border:0; background:transparent; color:var(--smc-blue); cursor:pointer; font:inherit; font-size:.78rem; font-weight:700; }
.smc-est__item-actions button[data-action="delete"] { color:var(--smc-red); }
.smc-est__file-label { position:relative; overflow:hidden; }
.smc-est__file-label input { position:absolute; width:1px; height:1px; opacity:0; }
.smc-est__cta { display:flex; justify-content:space-between; align-items:center; gap:20px; padding:22px; margin:20px 0; border-radius:14px; background:#eaf2f8; border-left:5px solid var(--smc-blue); }
.smc-est__cta h3 { margin-bottom:5px; color:#173a5e; }
.smc-est__cta p { margin:0; color:var(--smc-muted); line-height:1.45; }
.smc-est__footer { padding:10px 6px; color:var(--smc-muted); font-size:.76rem; line-height:1.55; text-align:center; }
[hidden] { display:none !important; }
@media (max-width:760px) {
  .smc-est__grid--3, .smc-est__maintenance-grid { grid-template-columns:1fr; }
  .smc-est__deadlines { grid-template-columns:1fr; }
  .smc-est__cta, .smc-est__list-head { align-items:stretch; flex-direction:column; }
  .smc-est__cta .smc-est__btn { width:100%; }
}
@media (max-width:520px) {
  .smc-est__grid--2 { grid-template-columns:1fr; }
  .smc-est__hero { align-items:flex-start; padding:19px; }
  .smc-est__icon { font-size:34px; }
  .smc-est__card { padding:16px; }
  .smc-est__deadline { align-items:flex-start; }
  .smc-est__toolbar .smc-est__btn { width:100%; }
}

