/* Syber commerce UI (cart, checkout, pay, portal). Uses theme tokens with fallbacks. */
.sc {
	--sc-primary: var(--si-primary, #007788);
	--sc-primary-2: var(--si-primary-2, #00b3c4);
	--sc-accent: var(--si-accent, #ffaa17);
	--sc-surface: var(--si-surface, #fff);
	--sc-surface-2: var(--si-surface-2, #eef4f7);
	--sc-text: var(--si-text, #0b1b2b);
	--sc-muted: var(--si-muted, #5b6b7b);
	--sc-border: var(--si-border, rgba(11, 27, 43, 0.12));
	--sc-radius: 18px;
	max-width: 1200px;
	margin: 0 auto;
	padding: clamp(24px, 4vw, 48px) 0;
	color: var(--sc-text);
}
.sc *, .sc *::before, .sc *::after { box-sizing: border-box; }
.sc-narrow { max-width: 560px; }
.sc h2 { font-size: clamp(1.5rem, 3vw, 2rem); margin: 0 0 4px; }
.sc h3 { font-size: 1.15rem; margin: 0 0 12px; }
.sc h4 { margin: 0 0 10px; font-size: 1rem; }
.sc-muted { color: var(--sc-muted); }
.sc-small { font-size: 0.85rem; }
.sc-center { text-align: center; }
.sc-pad { padding: 18px 22px 0; margin: 0; }
.sc-eyebrow { margin: 0 0 6px; font-size: 0.75rem; font-weight: 700; text-transform: uppercase; letter-spacing: 0.12em; color: var(--sc-primary); }

.sc-head { display: flex; justify-content: space-between; align-items: center; gap: 16px; flex-wrap: wrap; margin-bottom: 20px; }
.sc-grid { display: grid; grid-template-columns: minmax(0, 1fr) 360px; gap: 20px; align-items: start; }
.sc-grid--even { grid-template-columns: 1fr 1fr; }
@media (max-width: 900px) { .sc-grid, .sc-grid--even { grid-template-columns: 1fr; } }
.sc-card { background: var(--sc-surface); border: 1px solid var(--sc-border); border-radius: var(--sc-radius); padding: 22px; margin-bottom: 16px; box-shadow: 0 1px 2px rgba(11, 27, 43, 0.04), 0 8px 24px -16px rgba(11, 27, 43, 0.2); }
.sc-card--flush { padding: 0; overflow-x: auto; }
.sc-card--warn { border-color: var(--sc-accent); }
.sc-sticky { position: sticky; top: 96px; }

/* Forms */
.sc label { display: flex; flex-direction: column; gap: 6px; font-weight: 600; font-size: 0.9rem; }
.sc input[type="text"], .sc input[type="email"], .sc input[type="tel"], .sc input[type="password"], .sc input[type="number"], .sc input:not([type]), .sc select, .sc textarea {
	width: 100%; padding: 11px 13px; border-radius: 12px; border: 1px solid var(--sc-border); background: var(--sc-surface); color: var(--sc-text); font: inherit; font-weight: 400;
}
.sc input:focus, .sc select:focus, .sc textarea:focus { outline: none; border-color: var(--sc-primary); box-shadow: 0 0 0 3px rgba(0, 179, 196, 0.18); }
.sc input[readonly] { background: var(--sc-surface-2); }
.sc-fields { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.sc-span2 { grid-column: span 2; }
@media (max-width: 600px) { .sc-fields { grid-template-columns: 1fr; } .sc-span2 { grid-column: auto; } }
.sc-business { display: none !important; }
.is-business .sc-business { display: flex !important; }
.sc-fieldset { border: 1px solid var(--sc-border); border-radius: 14px; padding: 14px; margin: 0 0 12px; }
.sc-fieldset legend { font-weight: 800; padding: 0 6px; }
.sc-check { flex-direction: row !important; align-items: flex-start; gap: 10px !important; font-weight: 500 !important; margin: 14px 0; }
.sc-check input { margin-top: 3px; }
.sc-seg { display: inline-flex; gap: 4px; padding: 4px; border-radius: 999px; background: var(--sc-surface-2); margin-bottom: 16px; }
.sc-seg label { flex-direction: row; align-items: center; gap: 6px; padding: 8px 14px; border-radius: 999px; cursor: pointer; }
.sc-seg label:has(input:checked) { background: var(--sc-surface); box-shadow: 0 1px 4px rgba(0, 0, 0, 0.1); }
.sc-seg input { accent-color: var(--sc-primary); }
.sc-inline { display: flex; gap: 8px; align-items: center; flex-wrap: wrap; }
.sc-inline input[type="text"] { min-width: 260px; flex: 1; }
.sc-inline select { width: auto; }

/* Buttons */
.sc-btn { display: inline-flex; align-items: center; justify-content: center; gap: 8px; padding: 12px 20px; border-radius: 14px; border: 1px solid transparent; font: inherit; font-weight: 700; font-size: 0.95rem; cursor: pointer; text-decoration: none !important; color: #fff !important; background: linear-gradient(135deg, var(--sc-primary), var(--sc-primary-2)); transition: filter 0.15s ease, transform 0.15s ease; }
.sc-btn:hover { filter: brightness(1.07); transform: translateY(-1px); }
.sc-btn:disabled { opacity: 0.55; cursor: not-allowed; transform: none; }
.sc-btn--ghost { color: var(--sc-text) !important; background: transparent; border-color: var(--sc-border); }
.sc-btn--paypal { color: #003087 !important; background: #ffc439; }
.sc-btn--block { width: 100%; margin-top: 10px; }
.sc-btn--sm { padding: 7px 14px; font-size: 0.85rem; border-radius: 10px; }
.sc-link { background: none; border: 0; padding: 4px 6px; color: var(--sc-primary); font: inherit; font-weight: 600; cursor: pointer; }
.sc-link--danger { color: #c0392b; }

/* Alerts & badges */
.sc-alert { padding: 14px 18px; border-radius: 14px; margin-bottom: 16px; font-weight: 600; border: 1px solid; }
.sc-alert--error { background: #fdecea; border-color: #f5c2bd; color: #8a1f17; }
.sc-alert--success { background: #e3f7ef; border-color: #b4e6d1; color: #0d6b4f; }
.sc-alert--info { background: #e8f6f8; border-color: #bfe7ec; color: #005661; }
.sc-badge { display: inline-block; padding: 3px 10px; border-radius: 999px; font-size: 0.72rem; font-weight: 800; text-transform: uppercase; letter-spacing: 0.04em; background: var(--sc-surface-2); color: var(--sc-muted); vertical-align: middle; }
.sc-badge--paid, .sc-badge--active, .sc-badge--default { background: #dff6ef; color: #0d7a5a; }
.sc-badge--unpaid, .sc-badge--pending, .sc-badge--pending_registration, .sc-badge--pending_transfer { background: #fff4dc; color: #8a5800; }
.sc-badge--overdue, .sc-badge--suspended { background: #fde5e3; color: #b3261e; }

/* Cart lines */
.sc-line { display: grid; grid-template-columns: 1fr auto auto; gap: 16px; align-items: center; padding: 18px 22px; border-bottom: 1px solid var(--sc-border); }
.sc-line:last-child { border-bottom: 0; }
.sc-line__main { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.sc-line__main strong { word-break: break-all; }
.sc-line__opts { display: flex; gap: 12px; flex-wrap: wrap; margin-top: 10px; }
.sc-line__opts label { font-size: 0.8rem; }
.sc-line__opts select, .sc-line__opts input { width: auto; min-width: 110px; padding: 7px 10px; }
.sc-line__price { font-weight: 800; text-align: right; white-space: nowrap; }
.sc-line__price small { display: block; font-weight: 500; font-size: 0.72rem; color: var(--sc-muted); }

/* Totals */
.sc-totals { margin: 0 0 8px; }
.sc-totals div { display: flex; justify-content: space-between; padding: 6px 0; color: var(--sc-muted); }
.sc-totals dt, .sc-totals dd { margin: 0; }
.sc-totals__total { color: var(--sc-text) !important; font-weight: 800; font-size: 1.1rem; border-top: 1px solid var(--sc-border); margin-top: 6px; padding-top: 12px !important; }
.sc-mini { list-style: none; margin: 0 0 12px; padding: 0; }
.sc-mini li { padding: 8px 0; border-bottom: 1px dashed var(--sc-border); }
.sc-mini small { display: block; color: var(--sc-muted); }

/* Tables */
.sc-table { width: 100%; border-collapse: collapse; font-size: 0.95rem; }
.sc-table th, .sc-table td { padding: 12px 16px; text-align: left; border-bottom: 1px solid var(--sc-border); vertical-align: top; }
.sc-table th { font-size: 0.75rem; text-transform: uppercase; letter-spacing: 0.06em; color: var(--sc-muted); background: var(--sc-surface-2); }
.sc-table .num { text-align: right; white-space: nowrap; }
.sc-table tfoot td { border-bottom: 0; color: var(--sc-muted); padding-top: 8px; padding-bottom: 8px; }
.sc-table__total td { color: var(--sc-text) !important; font-weight: 800; font-size: 1.05rem; }
@media (max-width: 640px) { .sc-table th, .sc-table td { padding: 10px; } .sc-line { grid-template-columns: 1fr auto; } .sc-line .sc-link { grid-column: 2; grid-row: 1; } .sc-line__price { grid-column: 1 / -1; text-align: left; } .sc-inline input[type="text"] { min-width: 0; } }

/* Pay */
.sc-due { display: flex; justify-content: space-between; align-items: baseline; margin: 0 0 12px; }
.sc-due strong { font-size: 1.8rem; letter-spacing: -0.02em; }
.sc-method { margin: 12px 0; padding-top: 12px; border-top: 1px solid var(--sc-border); }
.sc-stripe-element { min-height: 60px; }
.sc-error { color: #b3261e; font-weight: 600; margin: 10px 0 0; }
.sc-bank summary { cursor: pointer; font-weight: 700; }
.sc-bank dl, .sc-bpay dl { margin: 10px 0; }
.sc-bank dl div, .sc-bpay dl div { display: flex; justify-content: space-between; padding: 4px 0; }
.sc-bank dt, .sc-bpay dt { color: var(--sc-muted); }
.sc-bank dd, .sc-bpay dd { margin: 0; font-weight: 600; }
.sc-bpay { margin-top: 10px; padding: 10px 12px; border-radius: 12px; background: var(--sc-surface-2); }
.sc-tick { width: 56px; height: 56px; margin: 0 auto 10px; border-radius: 50%; display: grid; place-items: center; font-size: 28px; color: #fff; background: linear-gradient(135deg, #12b886, #0d7a5a); }

/* Portal */
.sc-tabs { display: flex; gap: 4px; overflow-x: auto; padding: 4px; margin-bottom: 18px; border-radius: 14px; background: var(--sc-surface-2); }
.sc-tabs a { padding: 10px 16px; border-radius: 10px; white-space: nowrap; font-weight: 700; text-decoration: none; color: var(--sc-muted) !important; }
.sc-tabs a.is-active { background: var(--sc-surface); color: var(--sc-text) !important; box-shadow: 0 1px 4px rgba(0, 0, 0, 0.08); }
.sc-stats { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; }
.sc-stats .sc-card { display: flex; flex-direction: column; gap: 4px; }
.sc-stats small { color: var(--sc-muted); }
.sc-stats strong { font-size: 1.6rem; letter-spacing: -0.02em; }
@media (max-width: 800px) { .sc-stats { grid-template-columns: 1fr 1fr; } }
.sc-cards { list-style: none; margin: 0; padding: 0; }
.sc-cards li { display: flex; justify-content: space-between; align-items: center; gap: 8px; flex-wrap: wrap; padding: 10px 0; border-bottom: 1px solid var(--sc-border); }

/* Login form */
.sc #loginform p { margin: 0 0 12px; }
.sc #loginform label { display: block; }
.sc #loginform input[type="text"], .sc #loginform input[type="password"] { width: 100%; padding: 11px 13px; border-radius: 12px; border: 1px solid var(--sc-border); }
.sc #loginform .button-primary { padding: 12px 22px; border-radius: 14px; border: 0; font-weight: 700; color: #fff; background: linear-gradient(135deg, var(--sc-primary), var(--sc-primary-2)); cursor: pointer; }
.sc #loginform .login-remember label { display: flex; flex-direction: row; gap: 8px; align-items: center; font-weight: 500; }

/* Domain management (Phase 3) */
.sc-toggle { display: flex; justify-content: space-between; align-items: center; gap: 16px; padding: 12px 0; border-bottom: 1px solid var(--sc-border); }
.sc-toggle:last-of-type { border-bottom: 0; }
.sc-switch { position: relative; flex: none; width: 48px; height: 28px; border-radius: 999px; border: 0; padding: 0; cursor: pointer; background: #c9d3dc; transition: background 0.2s ease; }
.sc-switch span { position: absolute; top: 3px; left: 3px; width: 22px; height: 22px; border-radius: 50%; background: #fff; box-shadow: 0 1px 3px rgba(0,0,0,.25); transition: transform 0.2s ease; }
.sc-switch.is-on { background: var(--sc-primary); }
.sc-switch.is-on span { transform: translateX(20px); }
.sc-switch:disabled { opacity: 0.5; cursor: not-allowed; }
.sc-fields--dns { grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); align-items: end; margin-bottom: 12px; }
.sc-fields--dns [hidden] { display: none !important; }
.sc-dns-add { border-top: 1px solid var(--sc-border); padding-bottom: 20px !important; }
.sc-edit summary { cursor: pointer; color: var(--sc-primary); font-weight: 700; list-style: none; }
.sc-edit[open] { text-align: left; min-width: 280px; }
.sc-edit form { margin-top: 8px; }
.sc-break { word-break: break-all; }
.sc-code { display: inline-block; padding: 6px 10px; border-radius: 8px; background: var(--sc-surface-2); font-size: 1.05rem; user-select: all; }
.sc-badge--failed, .sc-badge--expired, .sc-badge--deleted { background: #fde5e3; color: #b3261e; }
.sc-badge--transferring_out, .sc-badge--pending_delete { background: #fff4dc; color: #8a5800; }

/* Staff portal (Phase 4) */
.st-nav { display: flex; flex-wrap: wrap; gap: 4px; padding: 4px; margin-bottom: 18px; border-radius: 14px; background: var(--sc-surface-2); }
.st-nav a { display: inline-flex; align-items: center; gap: 8px; padding: 10px 14px; border-radius: 10px; font-weight: 700; text-decoration: none; color: var(--sc-muted) !important; }
.st-nav a.is-active { background: var(--sc-surface); color: var(--sc-text) !important; box-shadow: 0 1px 4px rgba(0,0,0,.08); }
.st-count { min-width: 22px; padding: 1px 7px; border-radius: 999px; font-size: 0.75rem; text-align: center; background: rgba(0,179,196,.15); color: var(--sc-primary); }
.st-count--hot { background: #e5484d; color: #fff; }
.st-filters { display: flex; gap: 8px; margin-bottom: 12px; flex-wrap: wrap; }
.st-filters input[type=search] { flex: 1; min-width: 200px; }
.st-filters select { width: auto; }
.st-row--urgent td:first-child { box-shadow: inset 4px 0 0 #e5484d; }
.st-row--high td:first-child { box-shadow: inset 4px 0 0 var(--sc-accent); }
.st-late { color: #b3261e; font-weight: 700; }
.st-summary { background: var(--sc-surface-2); border-radius: 12px; padding: 12px 14px; margin-top: 10px; white-space: pre-line; }
.st-dl { margin: 0; }
.st-dl div { display: grid; grid-template-columns: 140px 1fr; gap: 12px; padding: 8px 0; border-bottom: 1px dashed var(--sc-border); }
.st-dl dt { color: var(--sc-muted); }
.st-dl dd { margin: 0; word-break: break-word; }
@media (max-width: 600px) { .st-dl div { grid-template-columns: 1fr; gap: 2px; } }
.st-manage label { margin-bottom: 10px; }
.st-timeline { list-style: none; margin: 0 0 16px; padding: 0; }
.st-timeline li { padding: 10px 0 10px 16px; border-left: 2px solid var(--sc-border); }
.st-timeline li p { margin: 4px 0 0; }
.st-timeline__complete { border-left-color: #12b886 !important; }
.st-timeline__note { border-left-color: var(--sc-primary) !important; }
.st-notifs { list-style: none; margin: 0; padding: 0; }
.st-notifs a { display: flex; flex-direction: column; gap: 2px; padding: 14px 22px; border-top: 1px solid var(--sc-border); text-decoration: none; color: var(--sc-text) !important; }
.st-notifs a:hover { background: var(--sc-surface-2); }
.st-notifs span { color: var(--sc-muted); }
.st-notifs small { color: var(--sc-muted); font-size: 0.78rem; }
.sc-badge--task-open { background: #e8f6f8; color: #005661; }
.sc-badge--task-in_progress { background: #fff4dc; color: #8a5800; }
.sc-badge--task-waiting { background: #eef2f5; color: #5b6b7b; }
.sc-badge--task-done { background: #dff6ef; color: #0d7a5a; }
.sc-badge--task-cancelled { background: #eef2f5; color: #5b6b7b; }

/* Portal: security, team, overview (Phase 5) */
.sc-qr { width: 200px; height: 200px; margin: 12px 0; padding: 8px; background: #fff; border-radius: 12px; border: 1px solid var(--sc-border); }
.sc-qr svg { width: 100%; height: 100%; display: block; }
.sc-codes { list-style: none; padding: 0; margin: 10px 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 6px; }
.sc-codes code { font-size: 1rem; letter-spacing: .05em; }
.sc-steps-mini { padding-left: 18px; }
.sc-steps-mini li { margin-bottom: 14px; }
.sc-switch-acc { display: flex; gap: 8px; align-items: center; }
.sc-switch-acc select { width: auto; }
.sc-todo { list-style: none; margin: 0; padding: 0; }
.sc-todo li { display: flex; justify-content: space-between; align-items: center; gap: 12px; padding: 14px 22px; border-top: 1px solid var(--sc-border); flex-wrap: wrap; }
.sc-todo li span { display: flex; gap: 10px; align-items: center; }
.sc-dot { width: 10px; height: 10px; border-radius: 50%; flex: none; }
.sc-dot--warn { background: var(--sc-accent); }
.sc-dot--bad { background: #e5484d; }
.sc-dot--info { background: var(--sc-primary-2); }
.sc-dot--ok { background: #12b886; }

/* ---- Projects, growth & migrations (Phases 8–9) ---- */
.sc-table-wrap { overflow-x: auto; }
.sc-pre { white-space: pre-line; }
.sc-note { background: #fff4dc; color: #6b4600; border-radius: 10px; padding: 8px 12px; margin: 8px 0; font-size: 0.9rem; }
.sc-grid2 { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; align-items: start; }
@media (max-width: 860px) { .sc-grid2 { grid-template-columns: 1fr; } }
.sc-pj-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: 16px; }
.sc-pj-card { display: flex; flex-direction: column; gap: 8px; color: inherit; text-decoration: none; transition: transform .15s, box-shadow .15s; }
.sc-pj-card:hover { transform: translateY(-2px); box-shadow: 0 16px 40px -24px rgba(0, 80, 92, .5); }
.sc-pj-card strong { font-size: 1.1rem; }
.sc-pj-card .sc-badge { align-self: flex-start; }
.sc-progress { height: 8px; border-radius: 999px; background: var(--sc-surface-2); overflow: hidden; margin: 8px 0; }
.sc-progress span { display: block; height: 100%; border-radius: 999px; background: var(--sc-primary-2); }
.sc-progress--sm { height: 6px; max-width: 160px; margin: 4px 0; }
.sc-ms { list-style: none; margin: 0; padding: 0; counter-reset: ms; }
.sc-ms__item { position: relative; padding: 0 0 18px 34px; counter-increment: ms; }
.sc-ms__item::before { content: counter(ms); position: absolute; left: 0; top: 0; width: 24px; height: 24px; border-radius: 50%; display: grid; place-items: center; font-size: .75rem; font-weight: 800; background: var(--sc-surface-2); color: var(--sc-muted); }
.sc-ms__item:not(:last-child)::after { content: ''; position: absolute; left: 11px; top: 28px; bottom: 4px; width: 2px; background: var(--sc-border); }
.sc-ms__item.is-approved::before, .sc-ms__item.is-done::before { content: '✓'; background: #dff6ef; color: #0d7a5a; }
.sc-ms__item.is-awaiting_approval::before { background: var(--sc-accent); color: #0b1b2b; }
.sc-ms__head { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; }
.sc-ms__item p { margin: 4px 0; }
.sc-review { margin-top: 10px; padding: 12px; border-radius: 14px; background: var(--sc-surface-2); display: grid; gap: 8px; }
.sc-badge--pj-planning, .sc-badge--pj-todo, .sc-badge--pj-draft, .sc-badge--pj-on_hold, .sc-badge--mg-requested { background: #eef2f5; color: #5b6b7b; }
.sc-badge--pj-active, .sc-badge--pj-in_progress, .sc-badge--mg-in_progress { background: #e8f6f8; color: #005661; }
.sc-badge--pj-awaiting_approval { background: #fff4dc; color: #8a5800; }
.sc-badge--pj-changes_requested, .sc-badge--pj-cancelled { background: #fde5e3; color: #b3261e; }
.sc-badge--pj-approved, .sc-badge--pj-done, .sc-badge--pj-completed, .sc-badge--pj-published, .sc-badge--mg-completed { background: #dff6ef; color: #0d7a5a; }
.sc-posts { display: grid; grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)); gap: 12px; }
.sc-post { border: 1px solid var(--sc-border); border-radius: 14px; padding: 14px; display: grid; gap: 8px; align-content: start; }
.sc-post header { display: flex; justify-content: space-between; align-items: center; gap: 8px; }
.sc-post p { margin: 0; }
.sc-post--new { border-style: dashed; }
.sc-files { list-style: none; margin: 0 0 12px; padding: 0; }
.sc-files li { display: flex; flex-wrap: wrap; align-items: baseline; gap: 4px 10px; padding: 8px 0; border-bottom: 1px dashed var(--sc-border); }
.sc-upload { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; }
.sc-upload input[type="file"] { flex: 1; min-width: 0; }
.sc-upload .sc-check { margin: 0; }
.sc-inline-form { display: inline; margin-left: auto; }
.sc-linkbtn { background: none; border: 0; padding: 0; color: #b3261e; font: inherit; font-size: .85rem; cursor: pointer; text-decoration: underline; }
.sc-thread { display: grid; gap: 10px; max-height: 420px; overflow-y: auto; margin-bottom: 12px; }
.sc-msg { padding: 10px 14px; border-radius: 14px; background: var(--sc-surface-2); max-width: 92%; }
.sc-msg.is-staff { background: #e8f6f8; justify-self: start; }
.sc-msg.is-client { justify-self: end; }
.sc-msg.is-internal { background: #fff4dc; border: 1px dashed #e0b45c; }
.sc-msg p { margin: 4px 0; }
.sc-ms-row { border-bottom: 1px solid var(--sc-border); padding: 10px 0; }
.sc-ms-edit { display: grid; grid-template-columns: 2fr 1.4fr 1fr 0.8fr auto; gap: 8px; align-items: center; }
.sc-ms-add { margin-top: 14px; grid-template-columns: 2fr 1fr 1fr auto; }
@media (max-width: 760px) { .sc-ms-edit, .sc-ms-add { grid-template-columns: 1fr 1fr; } }
.sc-ms-meta { display: flex; flex-wrap: wrap; gap: 10px; align-items: center; margin-top: 6px; }
.sc-chips { display: flex; flex-wrap: wrap; gap: 6px; }
.sc-chips a { padding: 6px 12px; border-radius: 999px; border: 1px solid var(--sc-border); color: inherit; text-decoration: none; font-size: .9rem; font-weight: 600; }
.sc-chips a.is-active { background: var(--sc-primary); border-color: var(--sc-primary); color: #fff; }
.sc-steps { margin: 12px 0; padding-left: 22px; }
.sc-steps li { padding: 4px 0; }
.sc-steps li.is-done { color: var(--sc-muted); }
.sc-steps li.is-done::marker { content: '✓  '; color: #0d7a5a; font-weight: 800; }
.sc-steps--staff { list-style: none; padding: 0; }
.sc-steps--staff li { border-bottom: 1px dashed var(--sc-border); }
.sc-steps--staff .sc-inline { justify-content: space-between; }
.sc-copy { display: flex; gap: 8px; }
.sc-copy input { flex: 1; min-width: 0; }
.sc-charts { display: grid; grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); gap: 18px; margin: 12px 0; }
.sc-chart { margin: 0; max-width: 560px; }
.sc-chart figcaption { font-weight: 700; font-size: .9rem; margin-bottom: 6px; }
.sc-chart__svg { width: 100%; height: auto; display: block; overflow: visible; }
.sc-chart__grid { stroke: var(--sc-border); stroke-width: 1; }
.sc-chart__axis { stroke: var(--sc-muted); stroke-width: 1; opacity: .5; }
.sc-chart__tick { fill: var(--sc-muted); font-size: 11px; }
.sc-chart__bar { outline: none; }
.sc-chart__bar:hover path, .sc-chart__bar:focus path { opacity: .8; }
.sc-chart__bar:focus-visible rect { stroke: var(--sc-primary); stroke-width: 2; }
@media print {
	.sc-tabs, .sc-noprint, .sc-head form, .sc-switch-acc, .sc-review, .sc-upload, #messages form, #files form, header.site-header, footer, .si-header, .si-footer { display: none !important; }
	.sc-card { box-shadow: none; break-inside: avoid; }
}
.sc-discounts { list-style: none; margin: 0 0 10px; padding: 0; }
.sc-discounts li { display: flex; justify-content: space-between; gap: 10px; padding: 6px 10px; border-radius: 10px; background: #dff6ef; color: #0d7a5a; font-size: .9rem; margin-bottom: 6px; }
.sc-promo { margin: 12px 0; }
.sc-pager { display: flex; justify-content: center; align-items: center; gap: 12px; margin: 8px 0 16px; }


/* Dark mode: status colours (light pastel badges would glare on dark surfaces). */
@media (prefers-color-scheme: dark) {
	:root:not([data-theme="light"]) .sc-badge--paid, :root:not([data-theme="light"]) .sc-badge--active, :root:not([data-theme="light"]) .sc-badge--default, :root:not([data-theme="light"]) .sc-badge--task-done, :root:not([data-theme="light"]) .sc-badge--pj-approved, :root:not([data-theme="light"]) .sc-badge--pj-done, :root:not([data-theme="light"]) .sc-badge--pj-completed, :root:not([data-theme="light"]) .sc-badge--pj-published, :root:not([data-theme="light"]) .sc-badge--mg-completed, :root:not([data-theme="light"]) .sc-discounts li, :root:not([data-theme="light"]) .ss-price em, :root:not([data-theme="light"]) .sc-ms__item.is-approved::before, :root:not([data-theme="light"]) .sc-ms__item.is-done::before { background: rgba(52, 199, 140, .16); color: #7be0b5; }
	:root:not([data-theme="light"]) .sc-badge--unpaid, :root:not([data-theme="light"]) .sc-badge--pending, :root:not([data-theme="light"]) .sc-badge--pending_registration, :root:not([data-theme="light"]) .sc-badge--pending_transfer, :root:not([data-theme="light"]) .sc-badge--transferring_out, :root:not([data-theme="light"]) .sc-badge--pending_delete, :root:not([data-theme="light"]) .sc-badge--task-in_progress, :root:not([data-theme="light"]) .sc-badge--pj-awaiting_approval, :root:not([data-theme="light"]) .sc-note { background: rgba(255, 170, 23, .16); color: #ffd27a; }
	:root:not([data-theme="light"]) .sc-badge--overdue, :root:not([data-theme="light"]) .sc-badge--suspended, :root:not([data-theme="light"]) .sc-badge--failed, :root:not([data-theme="light"]) .sc-badge--expired, :root:not([data-theme="light"]) .sc-badge--deleted, :root:not([data-theme="light"]) .sc-badge--pj-changes_requested, :root:not([data-theme="light"]) .sc-badge--pj-cancelled { background: rgba(255, 99, 88, .16); color: #ff9d94; }
	:root:not([data-theme="light"]) .sc-badge--task-open, :root:not([data-theme="light"]) .sc-badge--pj-active, :root:not([data-theme="light"]) .sc-badge--pj-in_progress, :root:not([data-theme="light"]) .sc-badge--mg-in_progress { background: rgba(0, 179, 196, .16); color: #7fe3ee; }
	:root:not([data-theme="light"]) .sc-msg.is-staff { background: rgba(0, 179, 196, .14); color: inherit; }
	:root:not([data-theme="light"]) .sc-badge--task-waiting, :root:not([data-theme="light"]) .sc-badge--task-cancelled, :root:not([data-theme="light"]) .sc-badge--pj-planning, :root:not([data-theme="light"]) .sc-badge--pj-todo, :root:not([data-theme="light"]) .sc-badge--pj-draft, :root:not([data-theme="light"]) .sc-badge--pj-on_hold, :root:not([data-theme="light"]) .sc-badge--mg-requested { background: rgba(255, 255, 255, .08); color: #b8c4cf; }
	:root:not([data-theme="light"]) .sc-msg.is-internal { background: rgba(255, 170, 23, .1); border-color: rgba(255, 170, 23, .4); color: inherit; }
	:root:not([data-theme="light"]) .sc-linkbtn { color: #ff9d94; }
}
:root[data-theme="dark"] .sc-badge--paid, :root[data-theme="dark"] .sc-badge--active, :root[data-theme="dark"] .sc-badge--default, :root[data-theme="dark"] .sc-badge--task-done, :root[data-theme="dark"] .sc-badge--pj-approved, :root[data-theme="dark"] .sc-badge--pj-done, :root[data-theme="dark"] .sc-badge--pj-completed, :root[data-theme="dark"] .sc-badge--pj-published, :root[data-theme="dark"] .sc-badge--mg-completed, :root[data-theme="dark"] .sc-discounts li, :root[data-theme="dark"] .ss-price em, :root[data-theme="dark"] .sc-ms__item.is-approved::before, :root[data-theme="dark"] .sc-ms__item.is-done::before { background: rgba(52, 199, 140, .16); color: #7be0b5; }
:root[data-theme="dark"] .sc-badge--unpaid, :root[data-theme="dark"] .sc-badge--pending, :root[data-theme="dark"] .sc-badge--pending_registration, :root[data-theme="dark"] .sc-badge--pending_transfer, :root[data-theme="dark"] .sc-badge--transferring_out, :root[data-theme="dark"] .sc-badge--pending_delete, :root[data-theme="dark"] .sc-badge--task-in_progress, :root[data-theme="dark"] .sc-badge--pj-awaiting_approval, :root[data-theme="dark"] .sc-note { background: rgba(255, 170, 23, .16); color: #ffd27a; }
:root[data-theme="dark"] .sc-badge--overdue, :root[data-theme="dark"] .sc-badge--suspended, :root[data-theme="dark"] .sc-badge--failed, :root[data-theme="dark"] .sc-badge--expired, :root[data-theme="dark"] .sc-badge--deleted, :root[data-theme="dark"] .sc-badge--pj-changes_requested, :root[data-theme="dark"] .sc-badge--pj-cancelled { background: rgba(255, 99, 88, .16); color: #ff9d94; }
:root[data-theme="dark"] .sc-badge--task-open, :root[data-theme="dark"] .sc-badge--pj-active, :root[data-theme="dark"] .sc-badge--pj-in_progress, :root[data-theme="dark"] .sc-badge--mg-in_progress { background: rgba(0, 179, 196, .16); color: #7fe3ee; }
:root[data-theme="dark"] .sc-msg.is-staff { background: rgba(0, 179, 196, .14); color: inherit; }
:root[data-theme="dark"] .sc-badge--task-waiting, :root[data-theme="dark"] .sc-badge--task-cancelled, :root[data-theme="dark"] .sc-badge--pj-planning, :root[data-theme="dark"] .sc-badge--pj-todo, :root[data-theme="dark"] .sc-badge--pj-draft, :root[data-theme="dark"] .sc-badge--pj-on_hold, :root[data-theme="dark"] .sc-badge--mg-requested { background: rgba(255, 255, 255, .08); color: #b8c4cf; }
:root[data-theme="dark"] .sc-msg.is-internal { background: rgba(255, 170, 23, .1); border-color: rgba(255, 170, 23, .4); color: inherit; }
:root[data-theme="dark"] .sc-linkbtn { color: #ff9d94; }
