.mark-portal { --ink:#102238; --muted:#65758a; --line:#d9e2eb; --accent:#1565c0; --surface:#fff; max-width:1320px; margin:30px auto; color:var(--ink); font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; }
.mark-portal * { box-sizing:border-box; }
.mark-portal-header { display:flex; justify-content:space-between; align-items:flex-end; gap:30px; padding:34px; border-radius:18px; background:linear-gradient(135deg,#0b1f35,#173f68); color:#fff; box-shadow:0 16px 40px rgba(10,31,53,.16); }
.mark-portal-eyebrow,.mark-portal-section-title span { display:block; font-size:11px; font-weight:800; letter-spacing:.14em; text-transform:uppercase; opacity:.72; }
.mark-portal-header h1 { margin:7px 0 7px; font-size:38px; color:#fff; }
.mark-portal-header p { margin:0; opacity:.78; }
.mark-portal-user { text-align:right; font-weight:700; }
.mark-portal-user a { color:#b8dcff; font-size:13px; }
.mark-portal-nav { display:flex; flex-wrap:wrap; gap:8px; margin:15px 0 28px; }
.mark-portal-nav a { background:#eef4fa; color:#173f68; border-radius:999px; padding:9px 14px; text-decoration:none; font-size:13px; font-weight:750; }
.mark-portal-section { margin:0 0 26px; padding:26px; border:1px solid var(--line); border-radius:16px; background:var(--surface); box-shadow:0 5px 20px rgba(15,34,56,.05); }
.mark-portal-section-title { display:flex; justify-content:space-between; align-items:end; gap:20px; margin-bottom:18px; }
.mark-portal-section-title h2 { margin:4px 0 0; font-size:25px; color:var(--ink); }
.mark-portal-section-title > strong { font-size:14px; color:var(--muted); }
.mark-portal-campaigns { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; }
.mark-portal-campaign { border:1px solid var(--line); border-radius:13px; padding:19px; background:linear-gradient(145deg,#fff,#f8fbfd); }
.mark-portal-campaign-top { display:flex; justify-content:space-between; gap:18px; }
.mark-portal-campaign h3 { margin:8px 0 4px; font-size:20px; color:var(--ink); }
.mark-portal-campaign p { margin:0; color:var(--muted); }
.mark-portal-badge { display:inline-block; background:#e2edf8; color:#174d80; border-radius:999px; padding:5px 9px; font-size:10px; font-weight:800; text-transform:uppercase; letter-spacing:.04em; }
.mark-portal-date { min-width:125px; text-align:right; font-size:13px; font-weight:750; }
.mark-portal-date span { display:block; color:var(--muted); font-size:10px; font-weight:500; margin:2px 0; }
.mark-portal-stats { display:grid; grid-template-columns:repeat(4,1fr); gap:8px; margin-top:18px; }
.mark-portal-stats div { padding:10px; background:#eef4f8; border-radius:8px; }
.mark-portal-stats span,.mark-portal-stats strong { display:block; }
.mark-portal-stats span { color:var(--muted); font-size:10px; }
.mark-portal-stats strong { margin-top:3px; font-size:14px; }
.mark-portal-notes { margin-top:13px; padding:11px; border-left:3px solid var(--accent); background:#f2f7fc; font-size:13px; }
.mark-portal-form label { display:block; margin-bottom:14px; font-size:13px; font-weight:750; }
.mark-portal-form input,.mark-portal-form select,.mark-portal-form textarea { display:block; width:100%; margin-top:6px; min-height:43px; padding:9px 11px; border:1px solid #afbdcb; border-radius:8px; background:#fff; }
.mark-portal-form-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:0 14px; }
.mark-portal-form button { appearance:none; border:0; border-radius:8px; padding:12px 18px; background:var(--accent); color:#fff; font-weight:800; cursor:pointer; }
.mark-portal-table-wrap { overflow:auto; }
.mark-portal table { width:100%; border-collapse:collapse; min-width:760px; }
.mark-portal th,.mark-portal td { padding:12px 10px; border-bottom:1px solid var(--line); text-align:left; vertical-align:top; }
.mark-portal th { color:var(--muted); font-size:10px; text-transform:uppercase; letter-spacing:.06em; }
.mark-portal td { font-size:13px; }
.mark-portal td a { color:var(--accent); font-weight:700; }
.mark-portal-notice { margin-bottom:16px; border-radius:9px; padding:12px 15px; font-weight:700; }
.mark-portal-notice.success { background:#dcfce7; color:#166534; }
.mark-portal-notice.error { background:#fee2e2; color:#991b1b; }
.mark-portal-card { max-width:520px; margin:70px auto; padding:28px; border:1px solid var(--line); border-radius:15px; background:#fff; }
.mark-portal-empty { grid-column:1/-1; padding:25px; text-align:center; color:var(--muted); }
@media (max-width:900px) { .mark-portal-campaigns { grid-template-columns:1fr; } .mark-portal-stats { grid-template-columns:repeat(2,1fr); } }
@media (max-width:620px) { .mark-portal { margin:12px; } .mark-portal-header { align-items:flex-start; flex-direction:column; padding:25px; } .mark-portal-user { text-align:left; } .mark-portal-section { padding:18px; } .mark-portal-form-grid,.mark-portal-stats { grid-template-columns:1fr; } .mark-portal-campaign-top { flex-direction:column; } .mark-portal-date { text-align:left; } }
