/* Shared FINCORYA interface: reference layout, existing application content. */
.account-role-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-bottom:20px}
.account-role-card{display:grid;gap:16px;padding:22px;text-decoration:none;color:var(--brand-secondary)}
.account-role-card>span{font-size:18px;font-weight:600}.account-role-card strong{font-size:12px;font-weight:500;color:var(--brand-primary)}
.account-role-card:hover{border-color:var(--brand-primary);background:#f6fbf8}
.account-explanation{padding:16px 20px;border-left:3px solid var(--brand-primary);background:#edf6f1;color:var(--text-muted);font-size:13px;line-height:1.7;margin:0 0 24px}
.managed-account-form{max-width:980px}.managed-account-form>.button-row,.managed-account-form>.alert{grid-column:1/-1}
.managed-account-form input:focus{box-shadow:0 0 0 3px rgb(0 107 79 / 12%);outline-color:#006b4f}
#role-filter{min-height:44px;border:1px solid #dce3df;border-radius:8px;background:#fff;padding:8px 12px;color:#18201f;font:inherit;font-size:13px}
.managed-account-form .helptext ul,.managed-account-form small ul{padding-left:18px;margin:8px 0}
.finance-tabs{display:flex;flex-wrap:wrap;gap:6px;margin:0 0 24px;padding:10px;background:#fff;border:1px solid var(--line);border-radius:10px}
.finance-tabs .button{min-height:40px;border:0;background:transparent;padding:9px 12px;font-size:12px}
.finance-tabs .button:hover,.finance-tabs .button[aria-current="page"]{background:#e7f4ed;color:var(--brand-primary)}
.finance-record{padding:24px;border-bottom:1px solid var(--line)}.finance-record:last-child{border-bottom:0}
.finance-record h2{font-size:17px;margin:0 0 10px}.finance-record p{font-size:13px;color:var(--text-muted);margin:8px 0}
.finance-record pre{white-space:pre-wrap;overflow-wrap:anywhere;background:#f5f8f6;border:1px solid var(--line);border-radius:8px;padding:16px;font-size:12px}
.finance-form{padding:28px;margin:0;max-width:1050px;gap:20px}
.finance-form>div{display:grid;gap:8px;min-width:0}.finance-form label{font-size:13px;font-weight:500;color:var(--brand-secondary)}
.finance-form input:not([type="checkbox"]):not([type="radio"]),.finance-form select,.finance-form textarea{width:100%;min-height:48px;padding:12px;border:1px solid var(--line);border-radius:8px;background:#fff;color:var(--brand-text);font:inherit;font-size:14px}
.finance-form input[type="checkbox"]{width:18px;height:18px;accent-color:var(--brand-primary)}
.finance-form fieldset{min-width:0;padding:20px;border:1px solid var(--line);border-radius:10px}.finance-form fieldset>div{display:grid;gap:8px;margin-bottom:14px}
.finance-form .helptext{color:var(--text-muted);font-size:12px}.finance-form .button-row{display:flex;flex-wrap:wrap}
@media(max-width:820px){.account-role-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.finance-form{padding:20px}.finance-record{padding:20px}}
@media(max-width:560px){.account-role-grid{grid-template-columns:1fr}.finance-tabs{flex-wrap:nowrap;overflow-x:auto}.finance-tabs .button{flex:0 0 auto;width:auto}.managed-account-form{grid-template-columns:1fr}.panel-heading:has(#role-filter){align-items:flex-start;flex-direction:column;gap:12px}}
@font-face { font-family:Inter; src:url('/static/assets/fonts/Inter-Regular.woff2') format('woff2'); font-style:normal; font-weight:400; font-display:swap; }
@font-face { font-family:Inter; src:url('/static/assets/fonts/Inter-Medium.woff2') format('woff2'); font-style:normal; font-weight:500; font-display:swap; }
@font-face { font-family:Inter; src:url('/static/assets/fonts/Inter-SemiBold.woff2') format('woff2'); font-style:normal; font-weight:600; font-display:swap; }
@font-face { font-family:Inter; src:url('/static/assets/fonts/Inter-Bold.woff2') format('woff2'); font-style:normal; font-weight:700; font-display:swap; }
:root {
  --fincorya-emerald:#006b4f; --fincorya-dark-green:#013b36;
  --fincorya-gold:#c9a227; --fincorya-ivory:#f7f8f5; --fincorya-graphite:#18201f;
  --brand-primary:var(--fincorya-emerald); --brand-secondary:var(--fincorya-dark-green);
  --brand-text:var(--fincorya-graphite); --text-muted:#5f6b67; --line:#dce3df;
  --danger:#c0392b; --warning:#b7791f; --ui-focus:0 0 0 3px rgb(0 107 79 / 12%);
  --ui-shadow:0 2px 8px rgb(24 32 31 / 4%);
  --font-body:Inter,sans-serif; --font-heading:"Space Grotesk",Inter,sans-serif;
}
body { background:var(--fincorya-ivory); color:var(--brand-text); font-family:var(--font-body); }
h1,h2,h3,.metric-card>strong,.account-balance strong { font-family:var(--font-heading); }
.workspace { grid-template-columns:232px minmax(0,1fr); background:var(--fincorya-ivory); }
.workspace-sidebar { padding:20px 12px; background:var(--brand-secondary); box-shadow:none; border:0; }
.workspace-brand { min-height:78px; padding:0 12px 16px; margin-bottom:8px; }
.workspace-brand>a { display:flex; align-items:center; gap:10px; background:transparent; padding:0; text-decoration:none; }
.workspace-brand img { display:block; width:54px; height:54px; border-radius:6px; object-fit:contain; }
.workspace-brand-name { color:#fff; font-size:13px; font-weight:600; letter-spacing:.08em; }
.workspace-brand-name small { display:block; margin-top:3px; color:#a4c5bd; font-size:10px; font-weight:400; letter-spacing:.02em; }
.workspace-sidebar .nav-kicker { color:#a4c5bd; font-size:11px; font-weight:500; letter-spacing:.02em; text-transform:none; margin:24px 12px 8px; }
.workspace-link { min-height:44px; gap:12px; margin:3px 0; padding:10px 12px; border-radius:7px; color:#dfebe7; font-size:13px; font-weight:500; border:0; box-shadow:none; }
.workspace-link svg { width:18px; height:18px; }
.icon-button svg { width:22px; fill:none; stroke:var(--brand-secondary); stroke-width:2; stroke-linecap:round; }
.workspace-link:hover { color:#fff; background:rgb(255 255 255 / 7%); transform:none; }
.workspace-link.active { background:var(--brand-primary); color:#fff; box-shadow:none; border:0; }
.workspace-security { background:transparent; border-top:1px solid rgb(255 255 255 / 12%); border-radius:0; padding:18px 10px; }
.workspace-security strong,.workspace-identity strong { color:#e3eeea; font-size:12px; }
.workspace-security small,.workspace-identity small { color:#a4c5bd; font-size:11px; }
.workspace-topbar { height:76px; padding:0 28px; background:#fff; border-bottom:1px solid var(--line); box-shadow:none; gap:20px; }
.workspace-context { font-size:12px; }
.workspace-context>span { display:none; }
.workspace-context strong { font-weight:500; color:var(--text-muted); }
.fc-search { display:flex; align-items:center; gap:10px; width:min(420px,40vw); border:1px solid var(--line); border-radius:7px; padding:0 12px; background:#fbfcfb; }
.fc-search svg { width:16px; height:16px; fill:none; stroke:currentColor; stroke-width:1.6; }
.fc-search input { min-width:0; width:100%; min-height:42px; padding:0; border:0; background:transparent; font-size:12px; color:var(--brand-text); }
.fc-search:focus-within { border-color:var(--brand-primary); box-shadow:var(--ui-focus); }
.fc-search input:focus-visible { box-shadow:none; outline:none; }
.profile-compact { font-size:12px; border:0; font-weight:600; }
.profile-compact .avatar { background:var(--brand-secondary); }
.workspace-content { max-width:1600px; padding:28px; }
.page-hero,.module-page-header { margin-bottom:24px; align-items:center; }
.page-hero h1,.module-page-header h1 { font-size:clamp(24px,2.2vw,32px); letter-spacing:-.035em; line-height:1.25; font-weight:600; }
.page-hero p:not(.eyebrow),.module-page-header .muted { font-size:13px; color:var(--text-muted); }
.eyebrow { font-size:11px; font-weight:500; letter-spacing:.025em; text-transform:none; }
.panel,.metric-card,.account-card,.filter-bar { background:#fff; border:1px solid var(--line); border-radius:12px; box-shadow:var(--ui-shadow); }
.metric-grid { gap:16px; margin-bottom:24px; }
.metric-card { min-height:146px; padding:20px; gap:10px; }
.metric-card:hover,.account-card:hover { transform:none; box-shadow:var(--ui-shadow); border-color:#a9c7bb; }
.metric-head { font-size:12px; font-weight:500; }
.metric-symbol,.metric-symbol.deep { width:34px; height:34px; border-radius:50%; background:#e8f4ef; color:var(--brand-primary); }
.metric-symbol.gold { background:#fbf5e6; color:#866911; }
.metric-card>strong { font-size:28px; font-weight:600; color:var(--brand-secondary); }
.metric-card>small { font-size:11px; }
.metric-line { height:3px; }
.fee-stack { flex-wrap:wrap; }
.fee-stack strong { font-size:22px; }
.fee-stack small { font-size:12px; }
.panel-heading { min-height:68px; padding:18px 20px; border-bottom:1px solid #edf1ee; }
.panel-heading h2 { font-size:15px; font-weight:600; }
.panel-heading .eyebrow { margin-bottom:4px; }
.panel-heading>.muted { font-size:12px; }
.text-link { font-size:12px; font-weight:500; }
.content-grid,.insight-grid { grid-template-columns:minmax(0,2fr) minmax(260px,1fr); gap:20px; margin-bottom:24px; }
.fc-chart { padding:20px; }
.fc-chart-bars { display:flex; align-items:flex-end; gap:16px; height:170px; padding:12px 8px 0; background:repeating-linear-gradient(to top,#eaf0ed 0,#eaf0ed 1px,transparent 1px,transparent 40px); }
.fc-chart-day { flex:1; height:100%; display:flex; flex-direction:column; justify-content:flex-end; align-items:center; gap:6px; }
.fc-chart-day i { display:block; width:min(32px,65%); min-height:0; border-radius:4px 4px 0 0; background:var(--brand-primary); }
.fc-chart-day span { color:var(--brand-secondary); font-size:11px; font-variant-numeric:tabular-nums; }
.fc-chart-labels { display:flex; padding:10px 8px 0; gap:16px; color:var(--text-muted); font-size:11px; }
.fc-chart-labels span { flex:1; text-align:center; }
.fc-chart-data { margin-top:20px; color:var(--text-muted); font-size:12px; }
.fc-chart-data summary { cursor:pointer; }
.fc-chart-data table { min-width:0; }
.mix-list { gap:24px; padding:24px 20px; }
.mix-list span,.mix-list strong { font-size:12px; }
.mix-track { height:5px; }
th,td { padding:15px 16px; font-size:12px; }
th { color:var(--text-muted); font-size:11px; font-weight:500; text-transform:none; letter-spacing:0; background:#fcfdfc; }
td { border-color:#edf1ee; }
tbody tr:hover { background:#f5faf7; }
.reference { font-family:"JetBrains Mono",ui-monospace,monospace; font-size:11px; }
.money { text-align:right; font-variant-numeric:tabular-nums; }
.status-badge { font-size:11px; min-height:24px; padding:4px 8px; font-weight:500; border-radius:6px; }
.status-completed,.status-approved,.status-paid { color:#116c4e; background:#e7f6ef; }
.status-pending,.status-draft { color:#825814; background:#fff5df; }
.status-cancelled,.status-rejected { color:#9c3027; background:#fcecea; }
.notification-list { padding:0 20px; }
.notification-list li { padding:18px 0; }
.notification-list strong { font-size:12px; }
.notification-list p,.notification-list small { font-size:11px; }
.account-grid { gap:16px; }
.account-card { padding:20px; min-height:180px; color:inherit; text-decoration:none; cursor:pointer; }
.account-card small,.account-balance>span { font-size:12px; }
.account-balance strong { font-size:24px; font-weight:600; color:var(--brand-secondary); }
.currency-mark { background:#e8f4ef; color:var(--brand-primary); box-shadow:none; border-radius:50%; }
.button { min-height:44px; border-radius:8px; padding:10px 18px; font-size:13px; font-weight:600; transition:background .18s,border-color .18s; }
.button:hover,.button:active { transform:none; }
.button-primary { background:var(--brand-primary); border-color:var(--brand-primary); box-shadow:none; }
.button-primary:hover { background:var(--brand-secondary); box-shadow:none; }
.button-secondary { background:#fff; border-color:var(--line); color:var(--brand-secondary); }
:is(a,button,input,select,textarea,summary):focus-visible { outline:2px solid var(--brand-primary); outline-offset:3px; }
.workspace-sidebar :is(a,button):focus-visible { outline-color:#a9e2ce; }
.financial-form,.impact-panel { padding:28px; }
.financial-form .field { gap:8px; }
.financial-form .field label,.stack-form label { font-size:13px; font-weight:500; }
.financial-form :is(input:not([type=checkbox]):not([type=radio]),select,textarea),.stack-form :is(input,select,textarea) { min-height:48px; border-color:var(--line); border-radius:8px; font-size:14px; }
.financial-form #id_amount { min-height:64px; font-family:var(--font-heading); font-size:28px; font-weight:600; }
.financial-form #id_type label { border-radius:8px; padding:12px; font-size:13px; }
.financial-form #id_type input { min-height:auto; }
.financial-form input[type=checkbox] { width:18px; height:18px; min-height:18px; accent-color:var(--brand-primary); }
.workflow-grid { grid-template-columns:minmax(0,1.5fr) minmax(280px,1fr); gap:24px; align-items:start; }
.tariff-assurance { background:#edf7f3; border-color:#d5e9df; border-radius:8px; }
.tariff-assurance strong { font-size:13px; }
.tariff-assurance span { font-size:12px; }
.action-banner { background:#fff9e9; border-color:#ecdfbc; border-radius:10px; }
.workspace-footer { font-size:11px; color:var(--text-muted); }
/* Authentication: elegant brand-forward composition — the logo is the hero. */
.auth-page { min-height:100svh; background:var(--fincorya-ivory); }
.fc-auth { min-height:100svh; background:var(--fincorya-ivory); }
.fc-auth-layout { display:grid; grid-template-columns:minmax(0,1.05fr) minmax(0,1fr); min-height:100svh; }
.fc-auth-layout>* { min-width:0; }
.fc-auth .auth-card,.fc-auth .login-reveal,.fc-auth .form-stack,.fc-auth .field { min-width:0; max-width:100%; }
.fc-auth p,.fc-auth-footer { overflow-wrap:anywhere; }

.fc-auth-brand {
  position:relative; overflow:hidden; isolation:isolate; min-height:760px;
  padding:56px clamp(32px,6vw,96px) 52px; display:flex; flex-direction:column;
  align-items:flex-start; justify-content:center; gap:40px;
  background:linear-gradient(165deg,#0c3d34 0%,#013b36 48%,#011f1b 100%);
}
.fc-auth-grid {
  position:absolute; inset:0; z-index:0; opacity:.55;
  background-image:linear-gradient(rgb(247 248 245 / 6%) 1px,transparent 1px),linear-gradient(90deg,rgb(247 248 245 / 6%) 1px,transparent 1px);
  background-size:44px 44px;
  mask-image:radial-gradient(ellipse 75% 60% at 26% 22%,#000 0%,transparent 72%);
}
.fc-auth-glow { position:absolute; z-index:0; border-radius:50%; filter:blur(80px); pointer-events:none; }
.fc-auth-glow-a { width:480px; height:480px; top:-160px; left:-120px; background:radial-gradient(circle,rgb(201 162 39 / 38%),transparent 70%); }
.fc-auth-glow-b { width:540px; height:540px; bottom:-230px; right:-170px; background:radial-gradient(circle,rgb(0 107 79 / 55%),transparent 70%); }

.fc-auth-identity { position:relative; z-index:1; display:flex; flex-direction:column; align-items:flex-start; gap:22px; }
.fc-auth-logo {
  display:grid; place-items:center; width:220px; height:220px; padding:14px;
  border-radius:36px; background:linear-gradient(160deg,#fff,#f2f4f0);
  box-shadow:0 32px 70px rgb(0 0 0 / 40%), inset 0 1px rgb(255 255 255 / 70%);
}
.fc-auth-logo img { width:100%; height:100%; object-fit:contain; }
.fc-auth-wordmark { display:flex; align-items:baseline; gap:12px; }
.fc-auth-wordmark strong { color:#fff; font-family:var(--font-heading); font-size:27px; font-weight:700; letter-spacing:.045em; }
.fc-auth-wordmark span { color:#e3c869; font-family:var(--font-heading); font-size:14px; font-weight:600; letter-spacing:.32em; }

.fc-auth-copy { position:relative; z-index:1; max-width:440px; }
.fc-auth-eyebrow { display:inline-flex; align-items:center; margin-bottom:18px; padding:7px 14px; border:1px solid rgb(247 248 245 / 22%); border-radius:999px; background:rgb(247 248 245 / 8%); color:#cfe6dd; font-size:11px; font-weight:600; letter-spacing:.03em; }
.fc-auth-copy h1 { color:#fff; font-size:clamp(28px,3vw,42px); font-weight:650; line-height:1.18; letter-spacing:-.03em; margin-bottom:16px; }
.fc-auth-copy p { font-size:15px; line-height:1.7; color:rgb(247 248 245 / 74%); max-width:400px; }

.fc-auth-trust { position:relative; z-index:1; display:flex; flex-wrap:wrap; gap:14px 30px; margin:4px 0 0; padding:0; list-style:none; }
.fc-auth-trust li { display:flex; align-items:center; gap:9px; color:rgb(247 248 245 / 84%); font-size:12px; font-weight:500; }
.fc-auth-trust svg { width:18px; height:18px; flex:0 0 18px; fill:none; stroke:#e3c869; stroke-width:1.7; stroke-linecap:round; stroke-linejoin:round; }

.fc-auth-form { display:flex; flex-direction:column; justify-content:center; align-items:center; padding:48px clamp(24px,4vw,72px); background:#fff; }
.fc-auth .auth-card { width:100%; max-width:440px; margin:0; padding:44px 40px; border:1px solid #edf1ee; border-radius:20px; background:#fff; box-shadow:0 30px 70px rgb(1 59 54 / 9%); color:var(--brand-text); }
.fc-auth .auth-card h2 { font-family:var(--font-heading); font-size:28px; color:var(--brand-secondary); letter-spacing:-.03em; }
.fc-auth .auth-card .muted { color:var(--text-muted); font-size:14px; }
.fc-auth .form-stack { gap:22px; margin:28px 0 20px; }
.fc-auth .field label { color:var(--brand-secondary); font-size:13px; font-weight:600; }
.fc-auth .field input { min-height:52px; border:1.5px solid var(--line); border-radius:10px; background:#fbfcfb; color:var(--brand-text); box-shadow:none; font-size:14px; transition:border-color .18s,box-shadow .18s,background-color .18s; }
.fc-auth .field input:hover { border-color:#a9c7bb; }
.fc-auth .field input:focus { outline:0; border-color:var(--brand-primary); background:#fff; box-shadow:var(--ui-focus); }
.fc-auth .password-reveal { color:var(--text-muted); }
.fc-auth .button-primary { min-height:52px; width:100%; background:var(--brand-primary); color:#fff; box-shadow:0 12px 26px rgb(0 107 79 / 24%); margin-top:6px; font-size:14px; }
.fc-auth .button-primary:hover { background:var(--brand-secondary); box-shadow:0 14px 30px rgb(1 59 54 / 28%); }
.fc-auth .auth-help { color:var(--text-muted); font-size:12px; line-height:1.6; text-align:center; }
.fc-auth .auth-security-mark { display:inline-flex; align-items:center; gap:8px; background:#edf7f3; color:#366456; padding:8px 12px; border:0; border-radius:999px; font-size:11px; font-weight:700; margin-bottom:26px; }
.fc-auth .auth-security-mark svg { width:16px; height:16px; fill:none; stroke:currentColor; stroke-width:1.8; }
.fc-auth-footer { margin-top:28px; max-width:380px; text-align:center; font-size:11px; line-height:1.6; color:var(--text-muted); }
@media (max-width:1180px) {
  .workspace { grid-template-columns:216px minmax(0,1fr); }
  .metric-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .content-grid,.insight-grid { grid-template-columns:minmax(0,1fr); }
  .fc-search { width:min(360px,35vw); } .workspace-content { padding:24px; }
}
@media (max-width:820px) {
  .workspace { grid-template-columns:minmax(0,1fr); }
  .workspace-topbar { padding:0 16px; height:68px; gap:12px; }
  .workspace-context { display:none; } .fc-search { flex:1; width:auto; }
  .workspace-content { padding:20px 16px; } .workflow-grid { grid-template-columns:minmax(0,1fr); }
  .page-hero,.module-page-header { align-items:flex-start; }
  .fc-auth-layout { grid-template-columns:minmax(0,1fr); min-height:100svh; }
  .fc-auth-brand { min-height:auto; padding:32px 24px 26px; align-items:center; text-align:center; gap:16px; }
  .fc-auth-identity { align-items:center; }
  .fc-auth-logo { width:128px; height:128px; padding:10px; border-radius:26px; }
  .fc-auth-wordmark strong { font-size:20px; } .fc-auth-wordmark span { font-size:11px; }
  .fc-auth-copy,.fc-auth-trust,.fc-auth-grid { display:none; }
  .fc-auth-form { padding:24px 20px 40px; justify-content:flex-start; background:#fff; }
  .fc-auth .auth-card { padding:30px 24px; border-radius:18px; }
  .fc-auth .field input { font-size:16px; }
}
@media (max-width:560px) {
  .metric-grid { grid-template-columns:minmax(0,1fr); }
  .fc-search input { font-size:12px; } .workspace-topbar .profile-compact { gap:0; }
  .workspace-topbar .profile-compact>svg { display:none; }
  .financial-form,.impact-panel { padding:20px; }
  .fc-chart { padding:16px 12px; } .fc-chart-bars,.fc-chart-labels { gap:6px; }
  .panel-heading { padding:16px; } .fc-auth .auth-card h2 { font-size:24px; }
}
/* Personal workspace and reports share the same card rhythm and field sizing. */
.workflow-grid>*,.panel,.panel-heading>div,.field { min-width:0; }
.panel-heading { gap:12px; flex-wrap:wrap; }
.panel-body { padding:20px; }
.panel-body>.form-stack { margin:20px 0 0; }
.panel-body>p:first-child { margin-top:0; }
.party-layout { grid-template-columns:minmax(0,1.5fr) minmax(320px,1fr); }
.party-sidebar { display:grid; gap:20px; min-width:0; }
.party-situation.report-card { margin-top:0; }
.party-sidebar .panel-body { font-size:14px; line-height:1.6; overflow-wrap:anywhere; }
.party-sidebar .button-row .button { width:100%; }
.choice-history { border-top:1px solid var(--line); margin-top:20px; padding-top:12px; }
.choice-history summary { padding:10px 0; font-weight:600; cursor:pointer; }
.request-history-item+.request-history-item { border-top:1px solid var(--line); margin-top:16px; padding-top:16px; }
.request-history-heading { display:flex; justify-content:space-between; align-items:start; flex-wrap:wrap; gap:8px; }
.request-history-heading h3 { margin:0; font-size:14px; }
.request-history-item p { margin:8px 0 0; }
.report-meta { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; margin:0; padding:20px; background:#f8fbf9; border-bottom:1px solid var(--line); }
.report-meta dt { color:var(--text-muted); font-size:12px; margin-bottom:6px; }
.report-meta dd { margin:0; font-size:13px; line-height:1.6; overflow-wrap:anywhere; }
.report-card .table-wrap { margin:0; max-width:100%; }
.report-card .table-wrap+.table-wrap { border-top:1px solid var(--line); }
.report-card caption { text-align:left; padding:20px 16px 12px; color:var(--brand-secondary); font-size:14px; font-weight:600; }
.report-card caption.sr-only { padding:0; }
.financial-form.report-form>.field { grid-column:auto; }
.financial-form.report-form .form-actions { grid-column:1/-1; display:flex; flex-wrap:wrap; gap:12px; }
.report-form .form-actions .button { width:auto; }
.field input:not([type="checkbox"]):not([type="radio"]),.field select,.field textarea { font:inherit; font-size:14px; max-width:100%; }
.field input[type="checkbox"],.field input[type="radio"] { width:18px; min-height:18px; height:18px; padding:0; accent-color:var(--brand-primary); }
.status-ready,.status-executed { color:#116c4e; background:#e7f6ef; }
.status-failed { color:#9c3027; background:#fcecea; }
@media (max-width:1100px) {
  .party-layout,.report-layout { grid-template-columns:minmax(0,1fr); }
  .report-layout .impact-panel { position:static; }
}
@media (max-width:560px) {
  .panel-body,.report-meta { padding:16px; }
  .report-meta { grid-template-columns:minmax(0,1fr); }
  .report-form .form-actions .button { width:100%; }
  .field input:not([type="checkbox"]):not([type="radio"]),.field select,.field textarea { font-size:16px; }
}
@media (prefers-reduced-motion:reduce) {
  *,*::before,*::after { animation:none!important; transition:none!important; scroll-behavior:auto!important; }
}
