.workspace-nav { display:flex; flex-wrap:wrap; gap:8px; padding:20px 0; border-bottom:1px solid var(--line); }
.workspace-nav button, .campaign-terms button { border:1px solid #ccd6ce; border-radius:6px; padding:12px 18px; background:transparent; color:var(--teal-deep); font:inherit; font-size:.9375rem; font-weight:700; cursor:pointer; }
.workspace-nav button[aria-pressed="true"], .campaign-terms button[aria-pressed="true"] { color:#fff; background:var(--teal-deep); border-color:var(--teal-deep); }
[hidden] { display:none !important; }
.portal-body .skip-link:not(:focus) { left:-10000px; transform:none; }
.portal-dashboard[data-project-type="file_delivery"] #file-workspace > .deliverables-panel:not(.asset-panel) { display:none; }
.portal-dashboard #file-workspace > .deliverables-panel:not(.asset-panel) { margin-inline:0; }
.campaign-panel { padding-block:28px; }
.campaign-heading h2 { font-size:2rem; line-height:1.2; }
.campaign-heading p { max-width:640px; margin:12px 0 20px; color:var(--muted); }
.campaign-heading .eyebrow { color:var(--red); font-size:.875rem; margin-top:0; }
.campaign-terms { display:flex; flex-wrap:wrap; gap:8px; margin-bottom:24px; }
.campaign-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; margin-top:20px; }
.campaign-grid[data-columns="two"] { grid-template-columns:repeat(2,minmax(0,1fr)); }
.campaign-card { display:flex; flex-direction:column; min-width:0; padding:24px; border:1px solid #ccd6ce; border-top:3px solid var(--teal); border-radius:8px; background:#fff; }
.campaign-type { color:var(--teal-deep); font-size:.875rem; font-weight:600; margin:0 0 8px; }
.campaign-card h3, .campaign-order h3, .custom-campaign-empty h3 { margin:0; font-family:"Manrope",Arial,sans-serif; font-size:1.375rem; line-height:1.4; }
.campaign-price { margin:20px 0 4px; color:var(--ink); font-family:"Manrope",Arial,sans-serif; font-size:2rem; line-height:1.4; font-weight:800; }
.campaign-price span { display:inline-block; margin-left:8px; font-family:"DM Sans",Arial,sans-serif; color:var(--muted); font-weight:400; font-size:.875rem; }
.campaign-total { margin:0; color:var(--muted); font-size:.875rem; }
.campaign-card ul { padding-left:20px; margin:24px 0; font-size:1rem; }
.campaign-card li { margin-bottom:12px; }
.campaign-card button, .campaign-order button { min-height:46px; padding:12px 16px; background:var(--teal-deep); color:#fff; border:0; border-radius:6px; font:inherit; font-weight:700; cursor:pointer; }
.campaign-card button { margin-top:auto; }
.campaign-card button:hover, .campaign-order button:hover { background:var(--ink); }
.custom-campaigns { margin-top:24px; display:grid; gap:16px; }
.custom-campaign-empty { display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:16px 32px; padding:24px 0; border-block:1px solid var(--line); }
.custom-campaign-empty p { color:var(--muted); max-width:660px; margin-bottom:0; }
.custom-campaign-empty a { color:var(--teal-deep); text-decoration:underline; font-weight:600; }
.campaign-orders-heading { display:flex; justify-content:space-between; flex-wrap:wrap; gap:16px; align-items:center; margin-top:32px; }
.campaign-order { display:flex; align-items:center; justify-content:space-between; gap:24px; border-bottom:1px solid var(--line); padding:24px 0; }
.campaign-order p { color:var(--muted); margin-bottom:0; }
.campaign-order .campaign-type { color:var(--teal-deep); margin-bottom:8px; }
.campaign-order button { flex-shrink:0; }
.campaign-dialog { width:min(560px,calc(100% - 32px)); max-height:calc(100dvh - 32px); overflow-y:auto; border:1px solid #ccd6ce; border-radius:8px; padding:28px; color:var(--ink); background:#fff; }
.campaign-dialog::backdrop { background:#142b2980; }
.campaign-dialog-heading { display:flex; gap:20px; justify-content:space-between; align-items:flex-start; }
.campaign-dialog-heading h2 { font-size:1.5rem; }
.campaign-dialog-heading button { padding:0 10px; font-size:1.75rem; line-height:1.4; border:0; background:transparent; cursor:pointer; color:var(--ink); }
.campaign-dialog form { display:grid; gap:16px; }
.campaign-dialog p { margin:0; }
.campaign-dialog select { width:100%; min-height:48px; padding:10px 12px; background:#fff; border:1px solid #bdcbbf; border-radius:6px; font:inherit; color:var(--ink); }
.campaign-payment-terms { padding:16px; border-left:3px solid var(--teal); background:#edf4f0; }
.campaign-consent { display:flex; align-items:flex-start; gap:12px; }
.campaign-consent input { flex-shrink:0; width:20px; height:20px; margin-top:4px; accent-color:var(--teal-deep); }
.campaign-dialog button:disabled { opacity:.5; cursor:not-allowed; }
.admin-campaign-panel { margin-top:40px; padding-top:28px; border-top:1px solid var(--line); }
.admin-campaign-panel h2 { font-size:1.75rem; }
.admin-campaign-panel > p { color:var(--muted); }
.admin-campaign-panel .campaign-grid { grid-template-columns:1fr 1fr; }
.admin-campaign-panel input,.admin-campaign-panel select,.admin-campaign-panel textarea { width:100%; padding:12px; border:1px solid var(--line); border-radius:6px; font:inherit; }
.admin-campaign-panel form { display:grid; gap:12px; background:#fff; border:1px solid var(--line); padding:24px; border-radius:8px; }
.admin-campaign-record { padding:20px 0; border-bottom:1px solid var(--line); }
.admin-campaign-record p { margin:8px 0; }
.admin-campaign-record button { min-height:44px; padding:10px 14px; border:1px solid var(--teal); background:transparent; border-radius:6px; font:inherit; color:var(--teal-deep); cursor:pointer; }
@media(max-width:850px) { .campaign-grid,.campaign-grid[data-columns="two"],.admin-campaign-panel .campaign-grid { grid-template-columns:1fr; } .campaign-order { flex-direction:column; align-items:flex-start; } }
@media(max-width:620px) { .campaign-heading h2 { font-size:1.625rem; } .campaign-card { padding:20px; } .campaign-dialog { padding:20px; } .workspace-nav button { padding:10px 12px; font-size:.875rem; } }
