:root {
  --navy: #0A1628;
  --navy-mid: #112240;
  --gold: #C9A227;
  --gold-pale: #E8C96A;
  --paper: #F6F4EE;
  --paper-dark: #ECEAE2;
  --white: #FFFFFF;
  --text-main: #0A1628;
  --text-soft: #4A5568;
  --success: #2D7D46;
  --danger: #B42318;
  --border: rgba(10, 22, 40, .12);
  --shadow: 0 12px 36px rgba(10, 22, 40, .08);
}
* { box-sizing: border-box; }
body { margin: 0; font-family: "Inter Tight", Inter, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; background: var(--paper); color: var(--text-main); }
button, input, select, textarea { font: inherit; }
button { cursor: pointer; }
.smc-app { width: min(1440px, 100%); margin: 0 auto; padding: 18px clamp(12px, 2vw, 28px) 56px; }
.smc-header { display: flex; align-items: center; justify-content: space-between; gap: 14px; min-height: 68px; }
.smc-back, .smc-mark { width: 42px; height: 42px; border-radius: 8px; display: grid; place-items: center; text-decoration: none; }
.smc-back { color: var(--navy); border: 1px solid var(--border); background: var(--white); }
.smc-title-block { display: flex; align-items: center; gap: 12px; flex: 1; min-width: 0; }
.smc-mark { color: var(--gold); background: var(--navy); font-size: 22px; }
.smc-header h1 { margin: 0; font-size: clamp(22px, 3vw, 34px); line-height: 1.05; }
.smc-header p { margin: 4px 0 0; color: var(--text-soft); font-size: 14px; }
.smc-header-actions { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; justify-content: flex-end; }
.smc-badge { display: inline-flex; align-items: center; min-height: 30px; padding: 6px 10px; border-radius: 999px; background: var(--paper-dark); color: var(--text-soft); font-size: 12px; font-weight: 800; }
.smc-badge-ready { background: rgba(45,125,70,.12); color: var(--success); }
.smc-badge-denied { background: rgba(180,35,24,.12); color: var(--danger); }
.smc-user { color: var(--text-soft); font-size: 13px; max-width: 240px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.smc-tabs { display: flex; gap: 6px; margin: 12px 0 18px; border-bottom: 1px solid var(--border); overflow-x: auto; }
.smc-tab { display: inline-flex; align-items: center; gap: 7px; border: 0; border-bottom: 2px solid transparent; background: transparent; color: var(--text-soft); padding: 12px 14px; white-space: nowrap; font-weight: 800; }
.smc-tab-active { color: var(--navy); border-bottom-color: var(--gold); }
.smc-main { min-height: 60vh; }
.smc-panel[hidden], .smc-gate[hidden] { display: none; }
.smc-workspace { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(340px, .9fr); gap: 18px; align-items: start; }
.smc-card { background: var(--white); border: 1px solid var(--border); border-radius: 8px; box-shadow: var(--shadow); padding: clamp(16px, 2vw, 24px); }
.smc-card-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 16px; margin-bottom: 16px; }
.smc-card h2 { margin: 0; font-size: 18px; line-height: 1.2; }
.smc-card p { margin: 6px 0 0; color: var(--text-soft); font-size: 13px; line-height: 1.5; }
.smc-primary, .smc-secondary { min-height: 42px; display: inline-flex; align-items: center; justify-content: center; gap: 8px; border-radius: 8px; padding: 9px 14px; font-weight: 900; border: 1px solid transparent; white-space: nowrap; }
.smc-primary { background: var(--navy); color: var(--white); }
.smc-primary:hover { background: var(--navy-mid); }
.smc-secondary { background: var(--white); color: var(--navy); border-color: var(--border); }
.smc-primary:disabled, .smc-secondary:disabled { opacity: .55; cursor: wait; }
.smc-fieldset { border: 0; padding: 0; margin: 0 0 18px; }
.smc-fieldset legend { font-weight: 900; margin-bottom: 10px; color: var(--navy); }
.smc-platform-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 8px; }
.smc-platform { min-height: 68px; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 5px; border: 1px solid var(--border); background: var(--paper); color: var(--text-soft); border-radius: 8px; font-weight: 900; }
.smc-platform i { font-size: 22px; }
.smc-platform.smc-selected { background: var(--navy); border-color: var(--navy); color: var(--white); }
.smc-pill-grid { display: flex; flex-wrap: wrap; gap: 8px; }
.smc-pill { border: 1px solid var(--border); background: var(--paper); color: var(--text-soft); border-radius: 999px; min-height: 36px; padding: 8px 12px; font-size: 13px; font-weight: 800; }
.smc-pill.smc-selected { background: rgba(201,162,39,.16); border-color: var(--gold); color: var(--navy); }
.smc-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
.smc-grid label { display: grid; gap: 6px; min-width: 0; }
.smc-grid span { font-size: 12px; color: var(--text-soft); font-weight: 900; text-transform: uppercase; letter-spacing: .04em; }
.smc-grid input, .smc-grid select, .smc-grid textarea { width: 100%; border: 1px solid var(--border); border-radius: 8px; padding: 10px 12px; color: var(--text-main); background: #fff; min-height: 42px; }
.smc-grid textarea { resize: vertical; line-height: 1.5; }
.smc-wide { grid-column: 1 / -1; }
.smc-side { position: sticky; top: 14px; }
.smc-results, .smc-history { display: grid; gap: 12px; }
.smc-empty { min-height: 260px; display: grid; place-items: center; align-content: center; gap: 8px; color: var(--text-soft); text-align: center; border: 1px dashed var(--border); border-radius: 8px; background: var(--paper); }
.smc-empty i { font-size: 38px; color: var(--gold); }
.smc-post { border: 1px solid var(--border); border-radius: 8px; background: var(--paper); overflow: hidden; }
.smc-post-head { display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 12px; border-bottom: 1px solid var(--border); background: var(--white); }
.smc-post-title { font-weight: 900; display: flex; align-items: center; gap: 7px; }
.smc-post-actions { display: flex; gap: 6px; flex-wrap: wrap; justify-content: flex-end; }
.smc-mini { min-height: 32px; border: 1px solid var(--border); border-radius: 7px; background: var(--white); color: var(--navy); font-size: 12px; font-weight: 900; padding: 6px 9px; }
.smc-post pre { margin: 0; white-space: pre-wrap; font-family: inherit; font-size: 13px; line-height: 1.55; padding: 12px; color: var(--text-main); }
.smc-calendar { display: grid; grid-template-columns: repeat(7, minmax(140px, 1fr)); gap: 10px; overflow-x: auto; }
.smc-day { min-height: 180px; border: 1px solid var(--border); border-radius: 8px; background: var(--paper); padding: 12px; }
.smc-day strong { display: block; color: var(--navy); margin-bottom: 2px; }
.smc-day small { color: var(--text-soft); }
.smc-cal-item { width: 100%; text-align: left; margin-top: 10px; border: 1px solid rgba(201,162,39,.45); border-radius: 8px; background: rgba(201,162,39,.12); color: var(--navy); padding: 9px; font-size: 12px; font-weight: 800; }
.smc-rules { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 14px; }
.smc-rules i { color: var(--gold); font-size: 26px; }
.smc-history-row { border: 1px solid var(--border); border-radius: 8px; padding: 12px; background: var(--paper); }
.smc-history-top { display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; }
.smc-history-top h3 { margin: 0; font-size: 15px; }
.smc-meta { color: var(--text-soft); font-size: 12px; margin-top: 4px; }
.smc-score-chip { display: inline-flex; align-items: center; gap: 4px; padding: 3px 9px; border-radius: 999px; font-size: 11px; font-weight: 800; margin-left: 6px; }
.smc-score-low { background: rgba(45,125,70,.12); color: var(--success); }
.smc-score-medium { background: rgba(201,162,39,.16); color: #A07E1A; }
.smc-score-high { background: rgba(180,35,24,.12); color: var(--danger); }
.smc-status-chip { display: inline-flex; align-items: center; padding: 3px 9px; border-radius: 999px; font-size: 11px; font-weight: 800; margin-left: 6px; background: var(--paper-dark); color: var(--text-soft); }
.smc-status-approved { background: rgba(45,125,70,.12); color: var(--success); }
.smc-status-rejected { background: rgba(180,35,24,.12); color: var(--danger); }
.smc-flags { padding: 10px 12px; border-top: 1px solid var(--border); background: var(--paper); }
.smc-flag { font-size: 11px; padding: 6px 9px; border-radius: 6px; margin-bottom: 5px; background: rgba(201,162,39,.1); border-left: 3px solid var(--gold); color: var(--text-soft); }
.smc-flag-block { background: rgba(180,35,24,.08); border-left-color: var(--danger); }
.smc-mini-approve { background: var(--success); color: var(--white); border-color: var(--success); }
.smc-mini-reject { background: rgba(180,35,24,.08); color: var(--danger); border-color: rgba(180,35,24,.25); }
.smc-mini-image { background: var(--gold); color: var(--navy); border-color: var(--gold); font-weight: 900; }
.smc-mini-image:hover { background: var(--gold-pale); }
.smc-post-image { padding: 0 12px 12px; }
.smc-post-image img { width: 100%; border-radius: 8px; display: block; border: 1px solid var(--border); }
.smc-post-image:empty { display: none; }
.smc-gate { text-align: center; padding: 70px 20px; }
.smc-gate i { font-size: 40px; color: var(--gold); }
.smc-toast { position: fixed; left: 50%; bottom: 22px; transform: translateX(-50%); z-index: 30; background: var(--navy); color: var(--white); border-radius: 8px; padding: 12px 16px; box-shadow: var(--shadow); max-width: min(92vw, 560px); font-size: 14px; }
.smc-toast.smc-error { background: var(--danger); }
@media (max-width: 980px) {
  .smc-workspace { grid-template-columns: 1fr; }
  .smc-side { position: static; }
  .smc-platform-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 640px) {
  .smc-header { align-items: flex-start; }
  .smc-back { display: none; }
  .smc-header-actions { width: 100%; justify-content: flex-start; }
  .smc-card-head { flex-direction: column; align-items: stretch; }
  .smc-grid { grid-template-columns: 1fr; }
  .smc-platform-grid { grid-template-columns: 1fr 1fr; }
  .smc-calendar { grid-template-columns: 1fr; }
}
