@font-face{font-family:"Peyda";src:url("/fonts/Peyda-400.ttf") format("truetype");font-style:normal;font-weight:400;font-display:swap}
@font-face{font-family:"Peyda";src:url("/fonts/Peyda-500.ttf") format("truetype");font-style:normal;font-weight:500;font-display:swap}
@font-face{font-family:"Peyda";src:url("/fonts/Peyda-600.ttf") format("truetype");font-style:normal;font-weight:600;font-display:swap}
@font-face{font-family:"Peyda";src:url("/fonts/Peyda-700.ttf") format("truetype");font-style:normal;font-weight:700;font-display:swap}
@font-face{font-family:"Peyda";src:url("/fonts/Peyda-800.ttf") format("truetype");font-style:normal;font-weight:800;font-display:swap}

:root{
  color-scheme:light;
  --ink:#172033;
  --ink-soft:#354158;
  --muted:#667085;
  --muted-strong:#4e5a6d;
  --line:#dde3ec;
  --line-strong:#cbd5e3;
  --paper:#fff;
  --soft:#f4f7fb;
  --canvas:#f7f9fc;
  --navy:#10284a;
  --navy-deep:#0d1c31;
  --blue:#315ec9;
  --blue-dark:#234aa6;
  --blue-soft:#eef3ff;
  --teal:#167d78;
  --teal-soft:#eaf7f5;
  --amber:#ad7416;
  --amber-soft:#fff7e7;
  --rose:#b5475c;
  --rose-soft:#fff0f3;
  --white-soft:#edf4ff;
  --shadow-xs:0 2px 8px rgba(23,32,51,.045);
  --shadow-sm:0 8px 24px rgba(23,32,51,.065);
  --shadow-md:0 16px 42px rgba(12,28,52,.10);
  --shadow-lg:0 30px 90px rgba(12,28,52,.20);
  --radius-xs:.5rem;
  --radius-sm:.75rem;
  --radius-md:1rem;
  --radius-lg:1.35rem;
  --radius-xl:1.75rem;
  --text-sm:clamp(1rem,.82vw,1.375rem);
  --text-base:clamp(1rem,.94vw,1.5rem);
  --text-lg:clamp(1.125rem,1.1vw,1.75rem);
  --text-card:clamp(1.25rem,1.28vw,2rem);
  --text-section:clamp(1.65rem,1.72vw,2.75rem);
  --text-page:clamp(2rem,2.15vw,3.75rem);
  --text-display:clamp(2.75rem,3.15vw,5.5rem);
  --text-kpi:clamp(2rem,2.15vw,4rem);
  --space-1:.25rem;
  --space-2:.5rem;
  --space-3:.75rem;
  --space-4:1rem;
  --space-5:1.25rem;
  --space-6:1.5rem;
  --space-8:2rem;
  --space-10:2.5rem;
  --space-12:3rem;
  --space-16:4rem;
  --rail-width:17rem;
  --topbar-height:4.5rem;
  --content-max:112.5rem;
  --focus:0 0 0 3px rgba(49,94,201,.26);
  --ease:cubic-bezier(.22,1,.36,1);
}

*,*::before,*::after{box-sizing:border-box}
html{min-width:20rem;min-height:100%;font-family:"Peyda",system-ui,sans-serif;font-size:16px;background:var(--canvas);text-rendering:optimizeLegibility;-webkit-text-size-adjust:100%}
body{min-width:20rem;min-height:100dvh;margin:0;background:var(--canvas);color:var(--ink);font-family:"Peyda",system-ui,sans-serif;font-size:var(--text-base);line-height:1.7;font-synthesis:none}
button,input,select,textarea{font:inherit;color:inherit}
button,a{touch-action:manipulation}
button{cursor:pointer}
a{color:inherit;text-decoration:none}
img,svg{display:block;max-width:100%}
table{font-variant-numeric:tabular-nums}
h1,h2,h3,p{overflow-wrap:break-word}
h1,h2,h3{margin:0;line-height:1.35;letter-spacing:-.018em}
p{margin:0}
small{font-size:var(--text-sm)}
[hidden]{display:none!important}
::selection{background:#cddafa;color:var(--navy)}
:focus-visible{outline:none;box-shadow:var(--focus)}
.ui-icon{width:1.4rem;height:1.4rem;flex:0 0 auto}
.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.ltr-value{direction:ltr;unicode-bidi:isolate;font-variant-numeric:tabular-nums}
.muted-text{color:var(--muted)}
.skip-link{position:fixed;top:.75rem;right:50%;z-index:1000;transform:translate(50%,-180%);padding:.75rem 1rem;border-radius:var(--radius-sm);background:var(--paper);color:var(--navy);box-shadow:var(--shadow-md);font-weight:800;transition:transform .2s var(--ease)}
.skip-link:focus{transform:translate(50%,0)}

/* Shared controls */
.button{min-height:3rem;display:inline-flex;align-items:center;justify-content:center;gap:.55rem;padding:.65rem 1.05rem;border:1px solid transparent;border-radius:var(--radius-sm);font-size:var(--text-sm);font-weight:750;line-height:1.4;white-space:nowrap;transition:transform .2s var(--ease),border-color .2s ease,background .2s ease,color .2s ease,box-shadow .2s ease}
.button:hover{transform:translateY(-1px)}
.button:active{transform:translateY(0)}
.button-primary{background:var(--blue);color:#fff;box-shadow:0 8px 22px rgba(49,94,201,.18)}
.button-primary:hover{background:var(--blue-dark)}
.button-secondary{border-color:var(--line-strong);background:var(--paper);color:var(--ink-soft)}
.button-secondary:hover{border-color:#aebbd0;background:var(--blue-soft);color:var(--blue-dark)}
.button-quiet{border-color:transparent;background:transparent;color:var(--muted-strong)}
.button-quiet:hover{background:var(--soft);color:var(--ink)}
.button-on-dark{background:#fff;color:var(--navy);box-shadow:0 10px 28px rgba(0,0,0,.12)}
.button-on-dark:hover{background:var(--white-soft)}
.button-block{width:100%}
.button.is-disabled,.button:disabled{cursor:not-allowed;pointer-events:none;opacity:.48;transform:none}
.icon-button{position:relative;width:3rem;height:3rem;display:inline-grid;place-items:center;flex:0 0 auto;padding:0;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--paper);color:var(--ink-soft);transition:background .2s ease,border-color .2s ease,color .2s ease,transform .2s var(--ease)}
.icon-button:hover{border-color:#bdc9dc;background:var(--blue-soft);color:var(--blue);transform:translateY(-1px)}
.icon-button.is-active{border-color:#b8c9ec;background:var(--blue-soft);color:var(--blue)}
.text-link,.text-button{display:inline-flex;align-items:center;gap:.35rem;border:0;background:none;color:var(--blue);font-size:var(--text-sm);font-weight:750}
.text-link:hover,.text-button:hover{text-decoration:underline;text-underline-offset:.22rem}
.eyebrow{display:block;margin-bottom:.35rem;color:var(--blue);font-size:var(--text-sm);font-weight:800;letter-spacing:.01em}

.field-group{display:grid;gap:.45rem;min-width:0}
.field-group>label,.field-group>span,.field-group legend,.filter-bar label>span{color:var(--ink-soft);font-size:var(--text-sm);font-weight:700}
.field-group legend{padding:0;margin-bottom:.6rem}
.input-shell{min-height:3.25rem;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:.65rem;padding:0 .8rem;border:1px solid var(--line-strong);border-radius:var(--radius-sm);background:#fff;transition:border-color .2s ease,box-shadow .2s ease}
.input-shell:focus-within{border-color:var(--blue);box-shadow:var(--focus)}
.input-shell>.ui-icon{color:var(--muted)}
.input-shell input{min-width:0;width:100%;height:3.1rem;padding:0;border:0;outline:0;background:transparent}
.input-action{width:2.75rem;height:2.75rem;display:grid;place-items:center;border:0;border-radius:var(--radius-xs);background:transparent;color:var(--muted)}
.input-action:hover{background:var(--soft);color:var(--ink)}
input:not(.otp-input),select,textarea{min-height:3.25rem;width:100%;padding:.7rem .85rem;border:1px solid var(--line-strong);border-radius:var(--radius-sm);background:#fff;outline:0;transition:border-color .2s ease,box-shadow .2s ease}
textarea{resize:vertical;line-height:1.7}
input:focus,select:focus,textarea:focus{border-color:var(--blue);box-shadow:var(--focus)}
input::placeholder,textarea::placeholder{color:#8993a5}
.field-label-row{display:flex;align-items:center;justify-content:space-between;gap:1rem}
.field-label-row a{color:var(--blue);font-size:var(--text-sm);font-weight:700}
.field-help,.field-error{display:flex;align-items:flex-start;gap:.35rem;color:var(--muted);font-size:var(--text-sm);line-height:1.6}
.field-error{color:var(--rose)}
.field-error .ui-icon{width:1.25rem;height:1.25rem;margin-top:.15rem}
.has-error .input-shell,.has-error input{border-color:var(--rose)}
.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.1rem}
.field-span-2{grid-column:1/-1}

.status-badge{min-height:2rem;display:inline-flex;align-items:center;justify-content:center;gap:.35rem;padding:.3rem .6rem;border-radius:999px;font-size:var(--text-sm);font-weight:750;line-height:1.2;white-space:nowrap}
.status-badge>i:not(.ui-icon){width:.45rem;height:.45rem;border-radius:50%;background:currentColor}
.status-badge .ui-icon{width:1.1rem;height:1.1rem}
.status-neutral{background:#eef1f5;color:#536074}
.status-info,.status-accent{background:var(--blue-soft);color:#3158aa}
.status-success{background:var(--teal-soft);color:#11655f}
.status-warning{background:var(--amber-soft);color:#7c5516}
.status-critical{background:var(--rose-soft);color:#9c3b50}
.version-label{display:inline-flex;align-items:center;padding:.3rem .55rem;border:1px solid var(--line);border-radius:999px;background:#fff;color:var(--muted-strong);font-size:var(--text-sm);font-weight:700}
.inline-alert{display:flex;align-items:flex-start;gap:.8rem;padding:1rem 1.05rem;border:1px solid;border-radius:var(--radius-md);font-size:var(--text-sm)}
.inline-alert .ui-icon{margin-top:.15rem}
.inline-alert strong{display:block;margin-bottom:.15rem}
.inline-alert p{line-height:1.65}
.alert-info{border-color:#cdd9f2;background:var(--blue-soft);color:#3158aa}
.alert-success{border-color:#c9e7e3;background:var(--teal-soft);color:#11655f}
.alert-warning{border-color:#ecd9b7;background:var(--amber-soft);color:#72531f}
.alert-critical{border-color:#ecd5da;background:var(--rose-soft);color:#943c55}

.progress-block{display:grid;gap:.35rem}
.progress-meta{display:flex;align-items:center;justify-content:space-between;gap:1rem;color:var(--muted);font-size:var(--text-sm)}
.progress-meta strong{color:var(--ink)}
.progress-track{height:.5rem;overflow:hidden;border-radius:999px;background:#e6eaf0}
.progress-track i{display:block;width:var(--progress,0);height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--teal),var(--blue));transition:width .34s var(--ease)}

/* App shell */
.app-shell{min-height:100dvh;display:grid;grid-template-columns:var(--rail-width) minmax(0,1fr);direction:rtl;background:var(--canvas)}
.app-rail{position:sticky;top:0;z-index:60;height:100dvh;display:grid;grid-template-rows:auto minmax(0,1fr) auto;gap:1.35rem;padding:1.25rem;background:radial-gradient(circle at 10% 0%,#264a7d 0,transparent 32%),linear-gradient(160deg,var(--navy-deep),var(--navy) 66%,#0b313b);color:#fff;box-shadow:-10px 0 40px rgba(13,28,49,.12)}
.product-brand{min-height:3.75rem;display:flex;align-items:center;gap:.75rem;padding:.45rem;border-radius:var(--radius-md)}
.product-brand>span:last-child{min-width:0}
.product-brand strong,.product-brand small{display:block}
.product-brand strong{font-size:var(--text-lg);font-weight:800}
.product-brand small{color:#cbd8e8;font-size:var(--text-sm)}
.brand-symbol{width:2.8rem;height:2.8rem;display:grid;grid-template-columns:repeat(3,.38rem);align-items:end;justify-content:center;gap:.2rem;padding:.65rem;border:1px solid rgba(255,255,255,.18);border-radius:.8rem;background:linear-gradient(135deg,var(--navy),var(--blue));box-shadow:0 8px 24px rgba(0,0,0,.14)}
.brand-symbol i{display:block;width:.38rem;border-radius:.3rem .3rem 0 0;background:#fff}
.brand-symbol i:nth-child(1){height:.65rem;opacity:.72}.brand-symbol i:nth-child(2){height:1.15rem}.brand-symbol i:nth-child(3){height:.9rem;opacity:.84}
.rail-navigation{min-height:0;display:grid;align-content:start;gap:.35rem;overflow:auto;scrollbar-width:thin}
.rail-group-label{margin:1rem .75rem .35rem;color:#9fb1c9;font-size:var(--text-sm);font-weight:650}
.rail-link{position:relative;min-height:3.35rem;display:flex;align-items:center;gap:.75rem;padding:.6rem .8rem;border:1px solid transparent;border-radius:var(--radius-sm);color:#d9e4f2;font-size:var(--text-sm);font-weight:650;transition:background .2s ease,border-color .2s ease,color .2s ease,transform .2s var(--ease)}
.rail-link::before{content:"";position:absolute;right:-.25rem;width:.22rem;height:1.5rem;border-radius:999px;background:transparent}
.rail-link:hover{background:rgba(255,255,255,.075);color:#fff;transform:translateX(-2px)}
.rail-link.is-active{border-color:rgba(255,255,255,.11);background:linear-gradient(90deg,rgba(49,94,201,.28),rgba(255,255,255,.08));color:#fff}
.rail-link.is-active::before{background:#57b4ad;box-shadow:0 0 18px rgba(87,180,173,.55)}
.rail-user{position:relative;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:.65rem;padding:.75rem;border:1px solid rgba(255,255,255,.12);border-radius:var(--radius-md);background:rgba(255,255,255,.07)}
.avatar{width:2.55rem;height:2.55rem;display:inline-grid;place-items:center;flex:0 0 auto;border-radius:.8rem;background:linear-gradient(135deg,#dbe7ff,#eef8f7);color:var(--navy);font-size:var(--text-sm);font-weight:800}
.rail-user-copy{min-width:0}
.rail-user-copy strong,.rail-user-copy small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.rail-user-copy strong{font-size:var(--text-sm)}
.rail-user-copy small{color:#b9c8da;font-size:var(--text-sm)}
.rail-user-action{border-color:rgba(255,255,255,.14);background:rgba(255,255,255,.06);color:#fff}
.popover-menu{position:absolute;z-index:150;min-width:13rem;display:grid;gap:.2rem;padding:.45rem;border:1px solid var(--line);border-radius:var(--radius-sm);background:#fff;color:var(--ink);box-shadow:var(--shadow-md)}
.rail-user .popover-menu{right:0;bottom:calc(100% + .55rem)}
.popover-menu a,.popover-menu button{width:100%;min-height:2.75rem;display:flex;align-items:center;gap:.55rem;padding:.55rem .65rem;border:0;border-radius:var(--radius-xs);background:none;color:var(--ink-soft);text-align:right;font-size:var(--text-sm)}
.popover-menu a:hover,.popover-menu button:hover{background:var(--soft);color:var(--ink)}
.popover-menu form{margin:0}
.popover-menu .danger-action{color:var(--rose)}
.app-workspace{min-width:0;display:grid;grid-template-rows:var(--topbar-height) minmax(0,1fr)}
.app-topbar{position:sticky;top:0;z-index:50;display:flex;align-items:center;gap:1rem;padding:0 clamp(1rem,2vw,2.5rem);border-bottom:1px solid rgba(221,227,236,.9);background:rgba(255,255,255,.88);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)}
.nav-toggle{display:none}
.topbar-context{min-width:0;flex:1;color:var(--muted);font-size:var(--text-sm)}
.topbar-actions{display:flex;align-items:center;gap:.55rem}
.notification-button>i{position:absolute;top:.35rem;left:.35rem;min-width:1.2rem;height:1.2rem;display:grid;place-items:center;padding:0 .2rem;border:2px solid #fff;border-radius:999px;background:var(--rose);color:#fff;font-size:1rem;font-style:normal;line-height:1}
.breadcrumbs{display:flex;align-items:center;gap:.35rem;overflow:hidden;white-space:nowrap}
.breadcrumbs a{color:var(--muted)}.breadcrumbs a:hover{color:var(--blue)}
.breadcrumbs span{overflow:hidden;text-overflow:ellipsis;color:var(--ink-soft);font-weight:700}
.breadcrumbs .ui-icon{width:1.1rem;height:1.1rem;color:#9aa4b5}
.app-main{min-width:0;width:100%;max-width:var(--content-max);margin:0 auto;padding:clamp(1.25rem,2.2vw,3rem)}
.page-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:2rem;margin-bottom:clamp(1.5rem,2.2vw,2.75rem)}
.page-heading-copy{max-width:66rem}
.page-heading h1{font-size:var(--text-page);font-weight:800}
.page-heading p{max-width:55rem;margin-top:.4rem;color:var(--muted);font-size:var(--text-base)}
.page-actions{display:flex;align-items:center;gap:.65rem;flex:0 0 auto}
.page-content{display:grid;gap:clamp(1.25rem,1.8vw,2.25rem)}
.section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:1.5rem;margin-bottom:1.1rem}
.section-heading h2{font-size:var(--text-section);font-weight:800}
.section-heading p{max-width:56rem;margin-top:.35rem;color:var(--muted);font-size:var(--text-sm)}
.content-section{display:grid;gap:.4rem}

/* Cards, tables and states */
.kpi-grid{display:grid;gap:1rem}.kpi-grid-4{grid-template-columns:repeat(4,minmax(0,1fr))}
.kpi-card{position:relative;min-height:12.5rem;display:flex;flex-direction:column;align-items:flex-start;padding:1.15rem 1.2rem;border:1px solid var(--line);border-radius:var(--radius-md);background:#fff;box-shadow:var(--shadow-xs);overflow:hidden}
.kpi-card::after{content:"";position:absolute;right:0;top:1rem;bottom:1rem;width:.24rem;border-radius:999px;background:#9db0d8}
.kpi-card.tone-success::after{background:var(--teal)}.kpi-card.tone-warning::after{background:var(--amber)}.kpi-card.tone-critical::after{background:var(--rose)}.kpi-card.tone-accent::after,.kpi-card.tone-info::after{background:var(--blue)}
.kpi-head{display:flex;align-items:center;gap:.55rem;color:var(--muted-strong);font-size:var(--text-sm);font-weight:700}
.kpi-icon{width:2.25rem;height:2.25rem;display:grid;place-items:center;border-radius:.65rem;background:var(--soft);color:var(--blue)}
.kpi-icon .ui-icon{width:1.25rem;height:1.25rem}
.kpi-number{display:block;margin-top:.65rem;font-size:var(--text-kpi);font-weight:800;line-height:1.1;font-variant-numeric:tabular-nums}
.kpi-unit{color:var(--muted);font-size:var(--text-sm)}
.kpi-card>.status-badge{margin-top:.65rem}
.kpi-card>p{margin-top:auto;padding-top:.65rem;color:var(--muted);font-size:var(--text-sm);line-height:1.55}
.data-panel{min-width:0;padding:clamp(1rem,1.3vw,1.65rem);border:1px solid var(--line);border-radius:var(--radius-lg);background:#fff;box-shadow:var(--shadow-xs)}
.table-scroll{width:100%;overflow:auto;scrollbar-width:thin;overscroll-behavior-inline:contain}
.data-table{width:100%;min-width:62rem;border-collapse:separate;border-spacing:0;font-size:var(--text-sm)}
.data-table th,.data-table td{padding:.85rem .75rem;border-bottom:1px solid #edf0f4;text-align:right;vertical-align:middle}
.data-table thead th{position:sticky;top:0;z-index:2;background:#f8fafc;color:var(--muted-strong);font-weight:750;white-space:nowrap}
.data-table thead th:first-child{border-radius:0 var(--radius-sm) 0 0}.data-table thead th:last-child{border-radius:var(--radius-sm) 0 0 0}
.data-table tbody tr{transition:background .18s ease}
.data-table tbody tr:hover{background:#fafcff}
.data-table tbody tr:last-child td,.data-table tbody tr:last-child th{border-bottom:0}
.data-table td small,.data-table td strong{display:block}
.data-table td small{color:var(--muted);font-size:var(--text-sm)}
.table-primary{display:block;color:var(--ink-soft);font-weight:700}
.table-actions{position:relative;display:flex;align-items:center;justify-content:flex-end;gap:.35rem}
.table-menu{top:calc(100% - .25rem);left:.5rem}
.user-cell,.report-table-title{display:flex;align-items:center;gap:.7rem;min-width:13rem}
.user-cell>span:last-child,.report-table-title>span:last-child{min-width:0}
.user-cell strong,.user-cell bdi,.user-cell small,.report-table-title strong,.report-table-title small{display:block;max-width:19rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.user-cell bdi{color:var(--muted);font-size:var(--text-sm)}
.table-chip-list{display:flex;align-items:center;gap:.35rem;flex-wrap:wrap}
.table-chip-list span{padding:.25rem .45rem;border-radius:999px;background:var(--blue-soft);color:#3158aa;font-size:var(--text-sm)}
.table-chip-list .muted-chip{background:var(--soft);color:var(--muted)}
.pagination{display:flex;align-items:center;justify-content:center;gap:1rem;margin-top:1.15rem;color:var(--muted);font-size:var(--text-sm)}

.state-panel{min-height:20rem;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1rem;padding:2rem;border:1px dashed var(--line-strong);border-radius:var(--radius-lg);background:linear-gradient(180deg,#fff,#fafbfd);text-align:center}
.state-panel.is-compact{min-height:12rem;padding:1.4rem}
.state-panel>div{max-width:42rem}.state-panel h2{font-size:var(--text-card)}.state-panel p{margin-top:.35rem;color:var(--muted)}
.state-visual{width:4rem;height:4rem;display:grid;place-items:center;border-radius:1.15rem;background:var(--blue-soft);color:var(--blue)}
.state-visual .ui-icon{width:2rem;height:2rem}
.state-error{border-color:#ecd5da;background:#fffafb}.state-error .state-visual{background:var(--rose-soft);color:var(--rose)}
.state-loading{display:grid;gap:1rem;padding:1rem}
.skeleton-heading{display:grid;gap:.5rem}.skeleton-heading i,.skeleton-card i{display:block;border-radius:.45rem;background:#e7ebf1;overflow:hidden}
.skeleton-heading i:first-child{width:35%;height:1.6rem}.skeleton-heading i:last-child{width:58%;height:1rem}
.skeleton-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem}
.skeleton-card{position:relative;min-height:12rem;display:grid;align-content:start;gap:.7rem;padding:1rem;border:1px solid #e7ebf1;border-radius:var(--radius-md);background:#fff;overflow:hidden}
.skeleton-card i:nth-child(1){width:2.5rem;height:2.5rem}.skeleton-card i:nth-child(2){width:62%;height:1.2rem}.skeleton-card i:nth-child(3){width:82%;height:1rem}
.skeleton-card span{position:absolute;inset:0;transform:translateX(120%);background:linear-gradient(90deg,transparent,rgba(255,255,255,.8),transparent);animation:shimmer 1.3s linear infinite;animation-delay:var(--delay)}
.standalone-state{min-height:calc(100dvh - 14rem);display:grid;place-items:center}.standalone-state>.state-panel{width:min(44rem,100%)}

.app-dialog,.command-dialog{max-width:none;padding:0;border:0;background:transparent;color:var(--ink)}
.app-dialog::backdrop,.command-dialog::backdrop{background:rgba(6,17,31,.64);backdrop-filter:blur(5px)}
.dialog-surface{width:min(46rem,calc(100vw - 2rem));max-height:calc(100dvh - 2rem);display:grid;grid-template-rows:auto minmax(0,1fr) auto;overflow:hidden;border:1px solid rgba(255,255,255,.55);border-radius:var(--radius-lg);background:#fff;box-shadow:var(--shadow-lg)}
.dialog-header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;padding:1.2rem 1.35rem;border-bottom:1px solid var(--line)}
.dialog-header h2{font-size:var(--text-section)}.dialog-header p{margin-top:.25rem;color:var(--muted);font-size:var(--text-sm)}
.dialog-body{min-height:0;padding:1.25rem 1.35rem;overflow:auto}
.dialog-footer{display:flex;align-items:center;justify-content:flex-end;gap:.65rem;padding:1rem 1.35rem;border-top:1px solid var(--line);background:#fbfcfe}
.command-dialog{margin-top:6rem}.command-surface{width:min(42rem,calc(100vw - 2rem));grid-template-rows:auto auto minmax(7rem,1fr)}
.search-field,.table-search{display:flex;align-items:center;gap:.6rem;border:1px solid var(--line-strong);border-radius:var(--radius-sm);background:#fff}
.search-field{margin:1rem 1.35rem;padding:0 .8rem}.search-field input,.table-search input{height:3rem;min-height:0;padding:0;border:0;box-shadow:none;outline:0;background:transparent}
.command-results{padding:1rem 1.35rem;color:var(--muted)}
.form-dialog{width:min(52rem,calc(100vw - 2rem))}

/* Auth */
.auth-page{overflow-x:hidden;background:var(--navy-deep)}
.auth-layout{min-height:100dvh;display:grid;grid-template-columns:minmax(30rem,.82fr) minmax(0,1.18fr);direction:rtl}
.auth-form-panel{position:relative;z-index:2;min-width:0;display:flex;flex-direction:column;padding:clamp(1.25rem,2.3vw,3rem);background:#fff;box-shadow:-18px 0 60px rgba(3,15,34,.18)}
.auth-brand{display:flex;align-items:center;gap:.75rem;align-self:flex-start}.auth-brand .brand-symbol{color:#fff}
.auth-brand strong,.auth-brand small{display:block}.auth-brand strong{font-size:var(--text-lg)}.auth-brand small{color:var(--muted);font-size:var(--text-sm)}
.auth-form-wrap{width:min(31rem,100%);display:grid;gap:1.25rem;margin:auto}
.auth-form-wide{width:min(38rem,100%)}
.auth-step{display:grid;gap:.45rem;color:var(--muted);font-size:var(--text-sm);font-weight:700}
.auth-step>i{position:relative;height:.35rem;overflow:hidden;border-radius:999px;background:#e7ebf1}.auth-step>i::after{content:"";position:absolute;inset:0 auto 0 0;width:var(--step-progress);border-radius:inherit;background:linear-gradient(90deg,var(--teal),var(--blue))}
.auth-form-heading h2{font-size:var(--text-page)}.auth-form-heading p{margin-top:.4rem;color:var(--muted)}
.auth-form{display:grid;gap:1rem}
.auth-support,.auth-alternatives{text-align:center;color:var(--muted);font-size:var(--text-sm)}
.auth-support a,.auth-alternatives a{color:var(--blue);font-weight:700}
.auth-alternatives{display:flex;align-items:center;justify-content:space-between;gap:1rem}
.auth-footer{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-top:auto;padding-top:1.25rem;color:var(--muted);font-size:var(--text-sm)}
.auth-footer span{display:flex;align-items:center;gap:.35rem}
.auth-visual{position:relative;min-width:0;display:grid;place-items:center;overflow:hidden;padding:clamp(2rem,5vw,7rem);background:radial-gradient(circle at 18% 6%,#315987 0,transparent 34%),linear-gradient(135deg,#10284a 0%,#1b4679 58%,#167d78 135%);color:#fff}
.auth-orbits{position:absolute;inset:0;pointer-events:none}.auth-orbits i{position:absolute;left:-8rem;bottom:-12rem;width:34rem;height:34rem;border:1px solid rgba(255,255,255,.13);border-radius:50%}.auth-orbits i:nth-child(2){transform:scale(.72)}.auth-orbits i:nth-child(3){transform:scale(.46)}
.auth-visual-content{position:relative;z-index:1;max-width:48rem}
.auth-eyebrow{display:inline-flex;align-items:center;gap:.45rem;padding:.4rem .75rem;border:1px solid rgba(255,255,255,.22);border-radius:999px;background:rgba(255,255,255,.1);font-size:var(--text-sm);font-weight:700}
.auth-visual h1{margin-top:1.1rem;font-size:var(--text-display);line-height:1.32}.auth-visual p{margin-top:.8rem;color:#dfeafa;font-size:var(--text-lg);line-height:1.85}
.auth-line-list{display:flex;flex-wrap:wrap;gap:.55rem;margin-top:1.5rem}.auth-line-list span{display:flex;align-items:center;gap:.4rem;padding:.45rem .65rem;border:1px solid rgba(255,255,255,.15);border-radius:.65rem;background:rgba(255,255,255,.08);font-size:var(--text-sm)}.auth-line-list i{width:.5rem;height:.5rem;border-radius:50%;background:var(--line-accent)}
.auth-confidential{display:flex;align-items:flex-start;gap:.7rem;margin-top:2rem;padding:1rem;border:1px solid rgba(255,255,255,.16);border-radius:var(--radius-md);background:rgba(7,25,48,.2);color:#dbe8f7;font-size:var(--text-sm)}.auth-confidential strong{display:block;color:#fff}
.otp-input-wrap{position:relative;height:4.5rem}.otp-input{position:absolute;inset:0;z-index:2;width:100%;height:100%;border:0;background:transparent;color:transparent;caret-color:transparent;letter-spacing:3rem;outline:0;opacity:.02}.otp-slots{position:absolute;inset:0;display:grid;grid-template-columns:repeat(6,1fr);gap:.55rem}.otp-slots span{display:grid;place-items:center;border:1px solid var(--line-strong);border-radius:var(--radius-sm);background:#fff;font-size:var(--text-card);font-weight:800;font-variant-numeric:tabular-nums}.otp-input:focus+.none,.otp-input-wrap:focus-within .otp-slots span{border-color:#9fb3df;box-shadow:0 0 0 2px rgba(49,94,201,.12)}
.enrollment-panel{display:grid;gap:1rem;padding:1rem;border:1px solid #ecd9b7;border-radius:var(--radius-md);background:var(--amber-soft)}
.enrollment-panel h3{margin-top:.5rem;font-size:var(--text-card)}.enrollment-panel p{color:#72531f;font-size:var(--text-sm)}
.qr-card{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:1rem}.qr-card img,.qr-placeholder{width:11.5rem;height:11.5rem;padding:.55rem;border:1px solid var(--line);border-radius:var(--radius-sm);background:#fff}.qr-placeholder{display:grid;place-items:center;color:var(--muted)}.qr-placeholder .ui-icon{width:3rem;height:3rem}.qr-card bdi{display:block;margin:.4rem 0;padding:.55rem;border-radius:.45rem;background:#fff;font-weight:800;word-break:break-all}
.recovery-form{display:grid;gap:.65rem;padding:1rem;border:1px solid var(--line);border-radius:var(--radius-md);background:var(--soft)}
.password-strength{display:grid;gap:.45rem}.password-strength>div{display:grid;grid-template-columns:repeat(4,1fr);gap:.35rem}.password-strength i{height:.4rem;border-radius:999px;background:#e1e6ed}.password-strength[data-score="1"] i:nth-child(-n+1),.password-strength[data-score="2"] i:nth-child(-n+2){background:var(--rose)}.password-strength[data-score="3"] i:nth-child(-n+3){background:var(--amber)}.password-strength[data-score="4"] i{background:var(--teal)}.password-strength span{color:var(--muted);font-size:var(--text-sm);font-weight:700}
.password-requirements{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.35rem .75rem;margin:0;padding:0;list-style:none;color:var(--muted)}.password-requirements li{position:relative;padding-right:1.35rem;font-size:var(--text-sm)}.password-requirements li::before{content:"";position:absolute;right:0;top:.55rem;width:.55rem;height:.55rem;border:1px solid var(--line-strong);border-radius:50%;background:#fff}.password-requirements li.is-met{color:#116b64}.password-requirements li.is-met::before{border-color:var(--teal);background:var(--teal)}.field-help.is-valid{color:#116b64}.field-help.is-invalid{color:var(--rose)}
.recovery-codes-wrap{align-content:center}.recovery-code-card{display:grid;gap:1rem;padding:1rem;border:1px solid #cdd9f2;border-radius:var(--radius-lg);background:linear-gradient(180deg,#f7f9ff,#fff)}.recovery-code-heading{display:flex;align-items:center;justify-content:space-between;gap:1rem}.recovery-code-heading h3{font-size:var(--text-card)}.recovery-code-heading p,.copy-status{color:var(--muted);font-size:var(--text-sm)}.recovery-code-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.55rem;margin:0;padding:0;list-style:none}.recovery-code-grid li{display:grid;grid-template-columns:2rem minmax(0,1fr);align-items:center;gap:.55rem;padding:.65rem;border:1px solid var(--line);border-radius:var(--radius-sm);background:#fff}.recovery-code-grid li>span{color:var(--muted);text-align:center}.recovery-code-grid code{overflow-wrap:anywhere;color:var(--navy);font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:var(--text-base);font-weight:800;letter-spacing:.04em}.recovery-ack-form{padding-top:.25rem}

/* Dashboard and archive */
.dashboard-alert{padding:.8rem 1rem;border:1px solid #cdd9f2;border-radius:var(--radius-sm);background:var(--blue-soft);color:#3158aa}
.latest-report-hero{position:relative;min-height:24rem;display:grid;grid-template-columns:minmax(0,1.35fr) minmax(16rem,.65fr);align-items:center;gap:2rem;overflow:hidden;padding:clamp(1.5rem,3vw,3.5rem);border-radius:var(--radius-xl);background:linear-gradient(130deg,#10284a 0%,#1b4679 62%,#167d78 145%);color:#fff;box-shadow:var(--shadow-md)}
.hero-orbits{position:absolute;inset:0;pointer-events:none}.hero-orbits i{position:absolute;left:-9rem;bottom:-15rem;width:35rem;height:35rem;border:1px solid rgba(255,255,255,.12);border-radius:50%}.hero-orbits i:nth-child(2){transform:scale(.72)}.hero-orbits i:nth-child(3){transform:scale(.44)}
.latest-report-copy,.latest-report-score{position:relative;z-index:1}.hero-badge{display:inline-flex;align-items:center;gap:.45rem;padding:.35rem .65rem;border:1px solid rgba(255,255,255,.2);border-radius:999px;background:rgba(255,255,255,.1);font-size:var(--text-sm);font-weight:700}
.latest-report-copy h2{max-width:52rem;margin:.8rem 0 .55rem;font-size:var(--text-page)}.latest-report-copy>p{max-width:50rem;color:#dfeafa;font-size:var(--text-lg)}.latest-report-copy>.button{margin-top:1.35rem}
.hero-meta{display:flex;flex-wrap:wrap;gap:.55rem;margin-top:1rem;color:#dbe8f7;font-size:var(--text-sm)}.hero-meta span{display:flex;align-items:center;gap:.35rem;padding:.35rem .55rem;border-radius:.55rem;background:rgba(255,255,255,.08)}
.latest-report-score{display:grid;gap:.4rem;padding:1.25rem;border:1px solid rgba(255,255,255,.18);border-radius:var(--radius-lg);background:rgba(7,25,48,.22);backdrop-filter:blur(8px)}
.latest-report-score>span,.latest-report-score>small{color:#dbe8f7;font-size:var(--text-sm)}.latest-report-score>strong{font-size:var(--text-display);line-height:1.15}.hero-progress{height:.55rem;overflow:hidden;border-radius:999px;background:rgba(255,255,255,.16)}.hero-progress i{display:block;width:var(--progress);height:100%;border-radius:inherit;background:linear-gradient(90deg,#71c2ba,#fff)}
.business-lines-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem}
.business-line-card{position:relative;min-height:19rem;display:flex;flex-direction:column;gap:1rem;padding:1.15rem;border:1px solid var(--line);border-radius:var(--radius-lg);background:#fff;box-shadow:var(--shadow-xs);overflow:hidden}
.business-line-card::before{content:"";position:absolute;right:0;top:1rem;bottom:1rem;width:.25rem;border-radius:999px;background:var(--line-accent)}
.business-line-card>header,.business-line-card>footer{display:flex;align-items:center;justify-content:space-between;gap:.65rem}.line-symbol{width:2.8rem;height:2.8rem;display:grid;place-items:center;border-radius:.8rem;background:color-mix(in srgb,var(--line-accent) 12%,#fff);color:var(--line-accent);font-weight:800}.business-line-card h3{font-size:var(--text-card)}.business-line-card p{margin-top:.25rem;color:var(--muted);font-size:var(--text-sm)}
.line-card-stats{display:grid;grid-template-columns:repeat(2,1fr);gap:.55rem;margin-top:auto}.line-card-stats span{padding:.7rem;border-radius:var(--radius-sm);background:var(--soft);color:var(--muted);font-size:var(--text-sm)}.line-card-stats b{display:block;color:var(--ink);font-size:var(--text-lg)}
.report-grid{display:grid;gap:1rem}.report-grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}
.report-card{min-width:0;overflow:hidden;border:1px solid var(--line);border-radius:var(--radius-lg);background:#fff;box-shadow:var(--shadow-xs);transition:transform .25s var(--ease),box-shadow .25s ease,border-color .25s ease}
.report-card:hover{transform:translateY(-3px);border-color:#c9d3e3;box-shadow:var(--shadow-sm)}
.report-cover{position:relative;display:block;aspect-ratio:16/9;overflow:hidden;background:linear-gradient(130deg,#10284a,#1b4679 62%,#167d78 145%)}
.report-cover img{width:100%;height:100%;object-fit:cover}.report-cover-art{position:absolute;inset:0;display:grid;place-items:center}.report-cover-art b{position:relative;z-index:2;width:4rem;height:4rem;display:grid;place-items:center;border:1px solid rgba(255,255,255,.22);border-radius:1.15rem;background:rgba(255,255,255,.11);color:#fff;font-size:var(--text-section)}.report-cover-art i{position:absolute;left:-3rem;bottom:-5rem;width:15rem;height:15rem;border:1px solid rgba(255,255,255,.12);border-radius:50%}.report-cover-art i:nth-child(2){transform:scale(.72)}.report-cover-art i:nth-child(3){transform:scale(.44)}
.report-line-label{position:absolute;right:.8rem;bottom:.8rem;padding:.3rem .55rem;border:1px solid rgba(255,255,255,.16);border-radius:999px;background:rgba(7,25,48,.45);color:#fff;font-size:var(--text-sm);backdrop-filter:blur(6px)}
.report-card-body{display:grid;gap:.7rem;padding:1rem}.report-card-status{display:flex;align-items:center;justify-content:space-between;gap:.65rem}.report-card h3{font-size:var(--text-card)}.report-card h3 a:hover{color:var(--blue)}.report-card-body>p{color:var(--muted);font-size:var(--text-sm)}.report-card-body>footer{display:flex;align-items:center;justify-content:space-between;gap:.7rem;padding-top:.75rem;border-top:1px solid #edf0f4}.report-card-body>footer>span{display:flex;align-items:center;gap:.35rem;color:var(--muted);font-size:var(--text-sm)}
.filter-bar{display:flex;align-items:flex-end;gap:.75rem;flex-wrap:wrap;padding:1rem;border:1px solid var(--line);border-radius:var(--radius-md);background:#fff;box-shadow:var(--shadow-xs)}
.filter-bar label{min-width:11rem;display:grid;gap:.25rem}.filter-bar .filter-search{min-width:18rem;flex:1;display:flex;align-items:center;padding:0 .75rem;border:1px solid var(--line-strong);border-radius:var(--radius-sm)}.filter-search input{min-height:3.15rem;padding:0;border:0;box-shadow:none}.filter-bar select{min-height:3.15rem}.filter-bar.compact{padding:.75rem;box-shadow:none}
.archive-summary{display:flex;align-items:center;justify-content:space-between;gap:1rem;color:var(--muted)}.archive-summary>span{display:flex;align-items:center;gap:.4rem}.view-toggle{display:flex;gap:.35rem}
.archive-groups{display:grid;gap:2rem}.archive-year{display:grid;gap:1rem}.archive-year>header{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding-bottom:.65rem;border-bottom:1px solid var(--line)}.archive-year h2{font-size:var(--text-section)}.archive-year>header>span{color:var(--muted);font-size:var(--text-sm)}

/* Viewer: parent chrome only, no duplicate report footer */
.viewer-page{height:100dvh;overflow:hidden;background:var(--navy-deep)}
.viewer-shell{height:100dvh;display:grid;grid-template-rows:4.5rem minmax(0,1fr);background:radial-gradient(circle at 15% 0%,#264a7d 0,transparent 32%),linear-gradient(145deg,#0d1c31,#142943 70%,#0b2631);color:#fff}
.viewer-topbar{position:relative;z-index:20;display:grid;grid-template-columns:minmax(10rem,.55fr) minmax(0,1.5fr) minmax(10rem,.55fr);align-items:center;gap:1rem;padding:0 clamp(.8rem,1.8vw,2rem);border-bottom:1px solid rgba(255,255,255,.12);background:rgba(7,20,39,.72);backdrop-filter:blur(18px)}
.viewer-back{display:flex;align-items:center;gap:.45rem;color:#dce7f4;font-size:var(--text-sm);font-weight:700}.viewer-back:hover{color:#fff}
.viewer-title{min-width:0;display:flex;align-items:center;justify-content:center;gap:.7rem;text-align:center}.viewer-title>div{min-width:0}.viewer-title strong,.viewer-title span{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.viewer-title strong{font-size:var(--text-lg)}.viewer-title span{color:#b9c9dc;font-size:var(--text-sm)}.line-dot{width:.7rem;height:.7rem;flex:0 0 auto;border-radius:50%;background:var(--line-accent);box-shadow:0 0 0 .3rem color-mix(in srgb,var(--line-accent) 20%,transparent)}
.viewer-actions{display:flex;align-items:center;justify-content:flex-end;gap:.45rem}.viewer-actions .icon-button{border-color:rgba(255,255,255,.14);background:rgba(255,255,255,.07);color:#fff}.secure-session{min-height:2.75rem;display:flex;align-items:center;gap:.35rem;padding:.45rem .65rem;border:1px solid rgba(255,255,255,.13);border-radius:999px;background:rgba(255,255,255,.06);color:#cfe1ef;font-size:var(--text-sm)}
.viewer-canvas{min-height:0;display:grid;place-items:center;padding:clamp(.45rem,1.4vmin,1.25rem)}
.report-stage{position:relative;width:min(96vw,calc((100dvh - 6.5rem)*16/9));max-width:100%;aspect-ratio:16/9;overflow:hidden;border:1px solid rgba(255,255,255,.2);border-radius:clamp(.65rem,.85vw,1.45rem);background:#f7f9fc;box-shadow:0 30px 90px rgba(0,0,0,.34);isolation:isolate}
.report-frame,.viewer-placeholder{position:absolute;inset:0;z-index:1;width:100%;height:100%;border:0;background:#f7f9fc}.viewer-placeholder{display:grid;place-items:center;padding:1rem;color:var(--ink)}
.viewer-loader{position:absolute;inset:0;z-index:2;display:grid;place-items:center;align-content:center;gap:1rem;background:#f6f8fb;color:var(--muted);transition:opacity .3s ease,visibility .3s ease}.viewer-loader.is-hidden{opacity:0;visibility:hidden}.viewer-skeleton{width:70%;display:grid;gap:.8rem}.viewer-skeleton i{height:1.25rem;border-radius:.5rem;background:#e5eaf1}.viewer-skeleton i:nth-child(1){width:42%}.viewer-skeleton i:nth-child(3){height:9rem}
.viewer-watermark{position:absolute;inset:-8%;z-index:5;display:grid;grid-template-columns:repeat(3,1fr);grid-template-rows:repeat(2,1fr);align-items:center;justify-items:center;pointer-events:none;overflow:hidden;color:#10284a;mix-blend-mode:multiply}.viewer-watermark span{max-width:18rem;transform:rotate(-22deg) translateY(calc((var(--watermark-index) - 2)*.4rem));opacity:.075;font-size:clamp(1rem,1.15vw,2rem);font-weight:800;line-height:1.4;text-align:center;word-break:break-word;user-select:none}
.viewer-revoked-state{position:absolute;inset:0;z-index:8;display:grid;place-items:center;align-content:center;gap:.75rem;padding:clamp(1rem,4vw,3rem);background:linear-gradient(160deg,#f8fafc,#eef3ff);color:var(--ink);text-align:center}.viewer-revoked-icon{width:4.5rem;height:4.5rem;display:grid;place-items:center;border:1px solid #ecd5da;border-radius:1.25rem;background:var(--rose-soft);color:var(--rose)}.viewer-revoked-icon .ui-icon{width:2.2rem;height:2.2rem}.viewer-revoked-state h2{font-size:var(--text-section)}.viewer-revoked-state p{max-width:38rem;color:var(--muted)}.viewer-revoked-actions{display:flex;align-items:center;justify-content:center;gap:.6rem;margin-top:.35rem}.report-stage.is-revoked{background:#f8fafc}.report-stage.is-revoked .viewer-watermark{display:none}
.viewer-outline{position:fixed;z-index:40;top:0;right:0;width:min(27rem,90vw);height:100dvh;display:grid;grid-template-rows:auto minmax(0,1fr);padding:1rem;background:#fff;color:var(--ink);box-shadow:-20px 0 60px rgba(0,0,0,.28)}.viewer-outline>header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;padding:.6rem .4rem 1rem;border-bottom:1px solid var(--line)}.viewer-outline h2{font-size:var(--text-section)}.viewer-outline ol{display:grid;align-content:start;gap:.35rem;margin:0;padding:1rem 0;overflow:auto;list-style:none}.viewer-outline li [data-report-section]{width:100%;min-height:3.5rem;display:grid;grid-template-columns:2.25rem minmax(0,1fr) auto;align-items:center;gap:.65rem;padding:.6rem;border:1px solid transparent;border-radius:var(--radius-sm);background:transparent;text-align:right}.viewer-outline li [data-report-section][aria-current="step"]{border-color:#d5dff1;background:var(--blue-soft);color:var(--blue-dark)}.viewer-outline li [data-report-section]>span{width:2.25rem;height:2.25rem;display:grid;place-items:center;border-radius:.65rem;background:#fff;color:var(--blue);font-size:var(--text-sm)}.viewer-outline li b{font-size:var(--text-sm)}
.viewer-scrim{position:fixed;inset:0;z-index:35;background:rgba(6,17,31,.58)}
.viewer-toast{position:fixed;z-index:60;right:50%;bottom:1.25rem;transform:translateX(50%);max-width:calc(100vw - 2rem);padding:.75rem 1rem;border:1px solid rgba(255,255,255,.16);border-radius:var(--radius-sm);background:#172033;color:#fff;box-shadow:var(--shadow-md);font-size:var(--text-sm)}

/* Users and access */
.checkbox-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem}.check-card>input{position:absolute;opacity:0}.check-card>span{min-height:5.5rem;display:grid;grid-template-columns:auto 1fr;align-items:center;gap:.65rem;padding:.8rem;border:1px solid var(--line);border-radius:var(--radius-sm);background:#fff}.check-card>span>i{width:.6rem;height:2.75rem;border-radius:999px;background:var(--line-accent)}.check-card b,.check-card small{display:block}.check-card small{color:var(--muted)}.check-card input:checked+span{border-color:#aebfe7;background:var(--blue-soft);box-shadow:var(--focus)}
.toggle-row{display:flex;align-items:flex-start;gap:.7rem;padding:.85rem;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--soft)}.toggle-row input{width:1.35rem;height:1.35rem;min-height:0;margin-top:.15rem;accent-color:var(--blue)}.toggle-row b,.toggle-row small{display:block}.toggle-row small{color:var(--muted)}
.credential-generation{padding:0;border:0}.generated-credential-option{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:.75rem;padding:.9rem;border:1px solid #c9e7e3;border-radius:var(--radius-md);background:var(--teal-soft)}.generated-credential-option>.ui-icon{width:1.6rem;height:1.6rem;color:var(--teal)}.generated-credential-option b,.generated-credential-option small{display:block}.generated-credential-option small{margin-top:.15rem;color:#356b67;font-size:var(--text-sm)}.credential-result-dialog{width:min(48rem,calc(100vw - 1rem))}.credential-result-surface{width:100%}.one-time-warning{display:flex;align-items:flex-start;gap:.7rem;padding:.85rem;border:1px solid #ecd9b7;border-radius:var(--radius-sm);background:var(--amber-soft);color:#72531f}.one-time-warning b,.one-time-warning small{display:block}.one-time-warning small{font-size:var(--text-sm)}.credential-result-list{display:grid;gap:.55rem;margin:1rem 0 0}.credential-result-list>div{display:grid;grid-template-columns:8rem minmax(0,1fr);align-items:center;gap:.75rem;padding:.75rem;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--soft)}.credential-result-list dt{color:var(--muted);font-weight:700}.credential-result-list dd{display:flex;align-items:center;justify-content:space-between;gap:.65rem;margin:0}.credential-result-list code{overflow-wrap:anywhere;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:var(--text-base);font-weight:800}.credential-ack{margin-top:1rem}
.access-toolbar{display:flex;align-items:flex-end;justify-content:space-between;gap:1rem}.access-toolbar .filter-bar{flex:1}.access-legend{display:flex;align-items:center;justify-content:flex-end;gap:.8rem;flex-wrap:wrap;color:var(--muted);font-size:var(--text-sm)}.access-legend span{display:flex;align-items:center;gap:.3rem}.legend-dot{width:.55rem;height:.55rem;border-radius:50%}.legend-dot.success{background:var(--teal)}.legend-dot.accent{background:var(--blue)}.legend-dot.warning{background:var(--amber)}.legend-dot.neutral{background:#98a2b3}
.access-panel{padding-bottom:.75rem}.access-table{min-width:74rem;border-collapse:separate}.access-table th,.access-table td{min-width:13rem}.access-table .sticky-user{position:sticky;right:0;z-index:4;min-width:17rem;background:#fff;box-shadow:-1px 0 #e8ecf2}.access-table thead .sticky-user{z-index:6;background:#f8fafc}.line-heading{display:flex;align-items:center;gap:.4rem}.line-heading i{width:.55rem;height:.55rem;border-radius:50%;background:var(--line-accent)}
.access-cell{width:100%;min-height:4.2rem;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:.25rem .45rem;padding:.65rem;border:1px solid var(--line);border-radius:var(--radius-sm);background:#fff;text-align:right}.access-cell span{font-size:var(--text-sm);font-weight:750}.access-cell small{grid-column:1/-1;color:var(--muted);font-size:var(--text-sm)}.access-cell>.ui-icon{width:1.1rem;height:1.1rem}.access-success{border-color:#c9e7e3;background:var(--teal-soft);color:#11655f}.access-accent{border-color:#cdd9f2;background:var(--blue-soft);color:#3158aa}.access-warning{border-color:#ecd9b7;background:var(--amber-soft);color:#72531f}.access-neutral{background:#f7f9fc;color:var(--muted)}
.change-tray{position:sticky;z-index:20;bottom:1rem;display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.8rem 1rem;border:1px solid var(--line);border-radius:var(--radius-md);background:rgba(255,255,255,.94);box-shadow:var(--shadow-md);backdrop-filter:blur(14px)}.change-tray>div{display:flex;align-items:center;gap:.65rem}.change-tray>div>span{width:2.8rem;height:2.8rem;display:grid;place-items:center;border-radius:.75rem;background:var(--soft);color:var(--muted)}.change-tray strong,.change-tray small{display:block}.change-tray small{color:var(--muted);font-size:var(--text-sm)}.change-tray.has-changes{border-color:#b9c9ec}.change-tray.has-changes>div>span{background:var(--blue-soft);color:var(--blue)}
.radio-stack{display:grid;gap:.55rem}.radio-stack.horizontal{grid-template-columns:repeat(2,minmax(0,1fr))}.radio-stack label{display:flex;align-items:flex-start;gap:.65rem;padding:.8rem;border:1px solid var(--line);border-radius:var(--radius-sm);background:#fff}.radio-stack input{width:1.25rem;height:1.25rem;min-height:0;margin-top:.15rem;accent-color:var(--blue)}.radio-stack b,.radio-stack small{display:block}.radio-stack small{color:var(--muted)}
.access-conditions{margin-top:1rem}.selected-report-access{display:grid;gap:.65rem;margin-top:1rem}.selected-report-list{max-height:18rem;display:grid;gap:.45rem;overflow:auto;padding:.2rem}.selected-report-list label{display:flex;align-items:flex-start;gap:.65rem;padding:.7rem;border:1px solid var(--line);border-radius:var(--radius-sm);background:#fff}.selected-report-list input{width:1.25rem;height:1.25rem;min-height:0;margin-top:.15rem;accent-color:var(--blue)}.selected-report-list b,.selected-report-list small{display:block}.selected-report-list small{color:var(--muted);font-size:var(--text-sm)}.selected-report-empty{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:.65rem;padding:.8rem;border:1px dashed var(--line-strong);border-radius:var(--radius-sm);background:var(--soft)}.selected-report-empty>.ui-icon{color:var(--muted)}.selected-report-empty b,.selected-report-empty small{display:block}.selected-report-empty small{color:var(--muted);font-size:var(--text-sm)}.selected-report-empty a{color:var(--blue);font-weight:750}.review-dialog{width:min(48rem,calc(100vw - 2rem))}.access-diff{display:grid;gap:.65rem}.access-diff-item{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:start;gap:.65rem;padding:.75rem;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--soft)}.access-diff-item p{margin-top:.2rem;color:var(--muted);font-size:var(--text-sm)}

/* Report manager and upload */
.mini-cover{width:3.8rem;height:2.2rem;display:grid;place-items:center;border-radius:.5rem;background:linear-gradient(135deg,var(--navy),var(--line-accent));color:#fff;font-weight:800}.status-tabs{display:flex;gap:.35rem;overflow:auto;padding-bottom:.25rem}.status-tabs a{min-height:2.75rem;display:flex;align-items:center;padding:.45rem .7rem;border:1px solid transparent;border-radius:999px;color:var(--muted);font-size:var(--text-sm);font-weight:700;white-space:nowrap}.status-tabs a[aria-selected="true"]{border-color:#cdd9f2;background:var(--blue-soft);color:#3158aa}
.upload-wizard{display:grid;gap:1rem}.wizard-stepper{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));margin:0;padding:0;list-style:none}.wizard-stepper li{position:relative;display:flex;align-items:center;gap:.55rem;min-width:0;color:var(--muted)}.wizard-stepper li:not(:last-child)::after{content:"";position:absolute;top:1.35rem;right:calc(2.7rem + .55rem);left:.55rem;height:1px;background:var(--line)}.wizard-stepper li>span{position:relative;z-index:2;width:2.7rem;height:2.7rem;display:grid;place-items:center;flex:0 0 auto;border:1px solid var(--line);border-radius:.75rem;background:#fff;font-size:var(--text-sm);font-weight:800}.wizard-stepper strong,.wizard-stepper small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.wizard-stepper strong{font-size:var(--text-sm)}.wizard-stepper small{font-size:var(--text-sm)}.wizard-stepper .is-current{color:var(--blue)}.wizard-stepper .is-current>span{border-color:var(--blue);background:var(--blue);color:#fff;box-shadow:0 0 0 .3rem var(--blue-soft)}.wizard-stepper .is-complete{color:var(--teal)}.wizard-stepper .is-complete>span{border-color:#b9ddd8;background:var(--teal-soft);color:var(--teal)}
.wizard-surface{min-height:35rem;padding:clamp(1.15rem,2vw,2.25rem);border:1px solid var(--line);border-radius:var(--radius-lg);background:#fff;box-shadow:var(--shadow-xs)}.wizard-panel{display:grid;gap:1.25rem}.wizard-form-grid{max-width:62rem}.wizard-actions{display:flex;align-items:center;justify-content:space-between;gap:1rem}.wizard-actions>div{display:flex;gap:.65rem}
.upload-dropzone{min-height:21rem;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.5rem;padding:2rem;border:2px dashed #b8c5d8;border-radius:var(--radius-lg);background:linear-gradient(180deg,#fbfcff,#f5f8fc);text-align:center;transition:border-color .2s ease,background .2s ease,transform .2s var(--ease)}.upload-dropzone:hover,.upload-dropzone.is-dragging{border-color:var(--blue);background:var(--blue-soft);transform:translateY(-2px)}.upload-dropzone[aria-invalid="true"]{border-color:var(--rose);background:var(--rose-soft)}.upload-dropzone>.ui-icon{width:3rem;height:3rem;padding:.55rem;border-radius:.85rem;background:#fff;color:var(--blue);box-shadow:var(--shadow-sm)}.upload-dropzone strong{font-size:var(--text-card)}.upload-dropzone span,.upload-dropzone small{color:var(--muted);font-size:var(--text-sm)}.upload-dropzone input{position:absolute;width:1px;height:1px;opacity:0}.upload-error{padding:.65rem .8rem;border:1px solid #ecd5da;border-radius:var(--radius-sm);background:var(--rose-soft);color:#8d3144;font-weight:700}
.selected-file{display:grid;grid-template-columns:auto minmax(0,1fr) auto auto;align-items:center;gap:.75rem;padding:.8rem;border:1px solid var(--line);border-radius:var(--radius-md);background:#fff}.file-icon{width:3rem;height:3rem;display:grid;place-items:center;border-radius:.75rem;background:var(--blue-soft);color:var(--blue)}.selected-file strong,.selected-file span{display:block}.selected-file div>span{color:var(--muted);font-size:var(--text-sm)}
.upload-notes{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem}.upload-notes>div{display:flex;align-items:flex-start;gap:.6rem;padding:.85rem;border-radius:var(--radius-sm);background:var(--soft);color:var(--muted);font-size:var(--text-sm)}.upload-notes .ui-icon{color:var(--blue)}.upload-notes b{display:block;color:var(--ink)}
.scan-layout{display:grid;grid-template-columns:minmax(16rem,.55fr) minmax(0,1.45fr);gap:1rem}.scan-score{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.45rem;padding:1.25rem;border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--soft);text-align:center}.scan-score>span{width:4rem;height:4rem;display:grid;place-items:center;border-radius:1rem;background:#fff;color:var(--blue)}.scan-score>span .ui-icon{width:2.2rem;height:2.2rem}.scan-score strong{font-size:var(--text-card)}.scan-score p{color:var(--muted);font-size:var(--text-sm)}.scan-score.tone-success{border-color:#c9e7e3;background:var(--teal-soft)}.scan-score.tone-warning{border-color:#ecd9b7;background:var(--amber-soft)}.scan-score.tone-critical{border-color:#ecd5da;background:var(--rose-soft)}
.scan-checklist{display:grid;gap:.55rem}.scan-checklist article{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:.65rem;padding:.75rem;border:1px solid var(--line);border-radius:var(--radius-sm)}.scan-checklist article p{color:var(--muted);font-size:var(--text-sm)}.scan-result-icon{width:2.5rem;height:2.5rem;display:grid;place-items:center;border-radius:.7rem}.scan-result-icon .ui-icon{width:1.25rem;height:1.25rem}
.preview-layout{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(17rem,.45fr);gap:1rem}.preview-stage{display:grid;gap:.65rem}.preview-frame-wrap{position:relative;width:100%;aspect-ratio:16/9;overflow:hidden;border:1px solid var(--line);border-radius:var(--radius-md);background:#0d1c31;box-shadow:var(--shadow-sm)}.preview-frame-wrap iframe{width:100%;height:100%;border:0}.preview-placeholder{height:100%;display:grid;place-items:center;align-content:center;gap:.65rem;color:#dbe8f7}.preview-placeholder .ui-icon{width:2.5rem;height:2.5rem}.preview-toolbar{display:flex;justify-content:center;gap:.45rem}.preview-checklist{display:grid;align-content:start;gap:.55rem;padding:1rem;border:1px solid var(--line);border-radius:var(--radius-md);background:var(--soft)}.preview-checklist h3{margin-bottom:.35rem;font-size:var(--text-card)}.preview-checklist label{display:flex;align-items:flex-start;gap:.55rem;padding:.55rem;border-radius:.55rem;background:#fff}.preview-checklist input{width:1.25rem;height:1.25rem;min-height:0;accent-color:var(--teal)}
.publish-layout{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(18rem,.65fr);gap:1rem}.publish-form{display:grid;gap:1rem}.custom-audience-chooser{display:grid;gap:.75rem;padding:.85rem;border:1px solid #cdd9f2;border-radius:var(--radius-md);background:var(--blue-soft)}.checkbox-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.55rem}.checkbox-list label{display:flex;align-items:flex-start;gap:.55rem;padding:.7rem;border:1px solid var(--line);border-radius:var(--radius-sm);background:#fff}.checkbox-list input{width:1.2rem;height:1.2rem;min-height:0;accent-color:var(--blue)}.checkbox-list b,.checkbox-list small{display:block}.checkbox-list small{color:var(--muted)}
.publish-summary{align-self:start;display:grid;gap:.75rem;padding:1.15rem;border:1px solid #cdd9f2;border-radius:var(--radius-lg);background:linear-gradient(180deg,#f6f9ff,#fff)}.summary-icon{width:3.5rem;height:3.5rem;display:grid;place-items:center;border-radius:1rem;background:var(--blue-soft);color:var(--blue)}.summary-icon .ui-icon{width:1.8rem;height:1.8rem}.publish-summary h3{font-size:var(--text-card)}.publish-summary dl{display:grid;gap:.25rem;margin:0}.publish-summary dl>div{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.5rem 0;border-bottom:1px solid #e8edf5}.publish-summary dt{color:var(--muted)}.publish-summary dd{margin:0;font-weight:750}.confirm-check{display:flex;align-items:flex-start;gap:.55rem;padding:.7rem;border-radius:var(--radius-sm);background:#fff}.confirm-check input{width:1.25rem;height:1.25rem;min-height:0;accent-color:var(--blue)}

/* Analytics and audit */
.analytics-filters{position:sticky;top:calc(var(--topbar-height) + .5rem);z-index:15}.analytics-notice{display:flex;align-items:flex-start;gap:.55rem;padding:.75rem 1rem;border-radius:var(--radius-sm);background:var(--blue-soft);color:#3158aa;font-size:var(--text-sm)}
.analytics-primary-grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:1rem}.engagement-funnel{display:grid;gap:.7rem}.funnel-step{display:grid;grid-template-columns:minmax(9rem,.65fr) minmax(12rem,1.35fr) minmax(8rem,.5fr);align-items:center;gap:.65rem}.funnel-label{display:flex;align-items:center;gap:.55rem}.funnel-label>span{width:2.2rem;height:2.2rem;display:grid;place-items:center;border-radius:.6rem;background:var(--blue-soft);color:var(--blue);font-size:var(--text-sm);font-weight:800}.funnel-label strong{font-size:var(--text-sm)}.funnel-bar{position:relative;height:2.7rem;overflow:hidden;border-radius:.7rem;background:var(--soft)}.funnel-bar i{position:absolute;inset:0 auto 0 0;width:var(--funnel-width);border-radius:inherit;background:linear-gradient(90deg,#315ec9,#7093df)}.funnel-bar b{position:absolute;inset:0;display:grid;place-items:center;color:var(--ink);font-size:var(--text-sm)}.funnel-step>small{color:var(--muted);text-align:left}
.section-engagement-list{display:grid;gap:.55rem}.section-engagement-list article{display:grid;grid-template-columns:2.3rem minmax(0,1fr) auto;align-items:center;gap:.65rem;padding:.55rem;border-radius:var(--radius-sm);background:var(--soft)}.section-engagement-list article>span{width:2.3rem;height:2.3rem;display:grid;place-items:center;border-radius:.6rem;background:#fff;color:var(--blue);font-size:var(--text-sm);font-weight:800}.section-engagement-list strong,.section-engagement-list small{display:block;font-size:var(--text-sm)}.section-engagement-list small{color:var(--muted)}.engagement-track{height:.45rem;margin:.25rem 0;overflow:hidden;border-radius:999px;background:#dfe4ec}.engagement-track i{display:block;width:var(--engagement-width);height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--teal),var(--blue))}
.analytics-heatmap-scroll{overflow:auto;scrollbar-width:thin}.analytics-heatmap{min-width:58rem;display:grid;grid-template-columns:minmax(12rem,1.4fr) repeat(var(--heatmap-columns),minmax(3.5rem,1fr));gap:.25rem;align-items:center}.heatmap-column{overflow:hidden;color:var(--muted);font-size:var(--text-sm);font-weight:700;text-align:center;text-overflow:ellipsis;white-space:nowrap}.heatmap-user{position:sticky;right:0;z-index:2;overflow:hidden;padding:.45rem;background:#fff;font-size:var(--text-sm);font-weight:700;text-overflow:ellipsis;white-space:nowrap}.heatmap-cell{min-width:3.5rem;height:3.1rem;display:grid;place-items:center;border:1px solid rgba(49,94,201,calc(.12 + var(--heat-value)*.36));border-radius:.5rem;background:rgba(49,94,201,calc(.05 + var(--heat-value)*.58));color:color-mix(in srgb,var(--ink) calc(100% - var(--heat-value)*35%),#fff);font-size:var(--text-sm);font-weight:800}.heatmap-cell:hover,.heatmap-cell:focus-visible{border-color:var(--blue);transform:scale(1.04)}
.method-list{display:grid;gap:.75rem}.method-list article{display:flex;align-items:flex-start;gap:.7rem;padding:.8rem;border-radius:var(--radius-sm);background:var(--soft)}.method-list article>span{width:2.7rem;height:2.7rem;display:grid;place-items:center;flex:0 0 auto;border-radius:.7rem;background:#fff;color:var(--blue)}.method-list p{margin-top:.2rem;color:var(--muted);font-size:var(--text-sm)}
.audit-toolbar{display:grid;gap:1rem}.audit-table{min-width:78rem}

@keyframes shimmer{from{transform:translateX(120%)}to{transform:translateX(-120%)}}

/* Responsive */
@media (max-width:1500px){
  :root{--rail-width:15.5rem}
  .business-lines-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .kpi-grid-4{grid-template-columns:repeat(2,minmax(0,1fr))}
  .report-grid-3{grid-template-columns:repeat(2,minmax(0,1fr))}
  .skeleton-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .analytics-primary-grid{grid-template-columns:1fr}
}

@media (max-width:1100px){
  .app-shell{grid-template-columns:5.25rem minmax(0,1fr)}
  .app-rail{width:5.25rem;padding:.75rem .55rem;justify-items:center}
  .product-brand>span:last-child,.rail-group-label,.rail-link span,.rail-user-copy,.rail-user-action{display:none}
  .product-brand{padding:.25rem}.rail-link{width:3.65rem;justify-content:center;padding:.55rem}.rail-link::before{right:-.55rem}.rail-user{display:block;padding:.35rem}.rail-user .avatar{width:2.8rem;height:2.8rem}.rail-user .popover-menu{right:0}
  .page-heading{align-items:flex-start;flex-direction:column}.page-actions{align-self:stretch}.page-actions>.button{flex:1}
  .latest-report-hero{grid-template-columns:1fr}.latest-report-score{max-width:28rem}
  .access-toolbar{align-items:stretch;flex-direction:column}.access-legend{justify-content:flex-start}
  .scan-layout,.preview-layout,.publish-layout{grid-template-columns:1fr}.preview-checklist,.publish-summary{max-width:none}
  .wizard-stepper li>div{display:none}.wizard-stepper li:not(:last-child)::after{right:3.25rem}
}

@media (max-width:800px){
  :root{--topbar-height:4rem}
  .app-shell{display:block}
  .app-rail{position:fixed;top:0;right:0;z-index:90;width:min(20rem,88vw);height:100dvh;display:grid;justify-items:stretch;padding:1rem;transform:translateX(105%);transition:transform .28s var(--ease)}
  .app-shell.is-nav-open .app-rail{transform:translateX(0)}
  .product-brand>span:last-child,.rail-group-label,.rail-link span,.rail-user-copy,.rail-user-action{display:block}.rail-link{width:auto;justify-content:flex-start}.rail-user{display:grid}.nav-toggle{display:grid}.nav-scrim{position:fixed;inset:0;z-index:80;background:rgba(6,17,31,.6)}
  .app-main{padding:1rem}.page-heading{margin-bottom:1.25rem}.page-heading h1{font-size:clamp(1.9rem,7vw,2.7rem)}
  .topbar-context{display:none}.app-topbar{justify-content:space-between;padding:0 .8rem}
  .kpi-grid-4,.business-lines-grid,.report-grid-3,.skeleton-grid{grid-template-columns:1fr}
  .kpi-card{min-height:11rem}
  .latest-report-hero{min-height:30rem;padding:1.25rem}.latest-report-copy h2{font-size:clamp(2rem,7.5vw,3rem)}
  .section-heading{align-items:flex-start;flex-direction:column}
  .filter-bar{align-items:stretch;flex-direction:column}.filter-bar label,.filter-bar .filter-search{min-width:0;width:100%}.filter-bar>.button{width:100%}
  .archive-summary{align-items:flex-start;flex-direction:column}.archive-year .report-grid{grid-template-columns:1fr}
  .responsive-table{min-width:0}.responsive-table thead{display:none}.responsive-table,.responsive-table tbody,.responsive-table tr,.responsive-table td{display:block;width:100%}.responsive-table tr{margin-bottom:.85rem;padding:.55rem;border:1px solid var(--line);border-radius:var(--radius-md);background:#fff}.responsive-table td{display:grid;grid-template-columns:minmax(7rem,.65fr) minmax(0,1.35fr);align-items:center;gap:.75rem;padding:.65rem;border-bottom:1px solid #edf0f4}.responsive-table td::before{content:attr(data-label);color:var(--muted);font-size:var(--text-sm);font-weight:700}.responsive-table td:last-child{border-bottom:0}.responsive-table .table-actions{display:flex;justify-content:flex-start}.user-cell,.report-table-title{min-width:0}.table-menu{right:0;left:auto}
  .form-grid,.checkbox-grid,.radio-stack.horizontal,.checkbox-list{grid-template-columns:1fr}.field-span-2{grid-column:auto}
  .dialog-surface{width:calc(100vw - 1rem);max-height:calc(100dvh - 1rem)}
  .auth-layout{grid-template-columns:1fr}.auth-form-panel{min-height:100dvh;padding:1rem}.auth-visual{display:none}.auth-footer{margin-top:2rem}.qr-card{grid-template-columns:1fr;justify-items:center;text-align:center}.recovery-code-grid,.password-requirements{grid-template-columns:1fr}.recovery-code-heading{align-items:flex-start;flex-direction:column}.generated-credential-option{grid-template-columns:auto minmax(0,1fr)}.generated-credential-option>.status-badge{grid-column:1/-1}.credential-result-list>div{grid-template-columns:1fr}.credential-result-list dd{align-items:flex-start;flex-direction:column}.selected-report-empty{grid-template-columns:auto minmax(0,1fr)}.selected-report-empty a{grid-column:1/-1}
  .viewer-shell{grid-template-rows:4rem minmax(0,1fr)}.viewer-topbar{grid-template-columns:auto minmax(0,1fr) auto;padding:0 .55rem}.viewer-back span,.secure-session span{display:none}.secure-session{width:3rem;padding:0;justify-content:center;border-radius:var(--radius-sm)}.viewer-title{justify-content:flex-start;text-align:right}.viewer-title span{display:none}.report-stage{width:100%;height:100%;aspect-ratio:auto;border-radius:.65rem}.viewer-canvas{padding:.4rem}.viewer-watermark{grid-template-columns:repeat(2,1fr);grid-template-rows:repeat(3,1fr)}
  .wizard-stepper{gap:.3rem}.wizard-stepper li{justify-content:center}.wizard-stepper li:not(:last-child)::after{right:calc(50% + 1.6rem);left:calc(-50% + 1.6rem)}.wizard-surface{min-height:28rem;padding:1rem}.wizard-actions{align-items:stretch;flex-direction:column}.wizard-actions>div{display:grid;grid-template-columns:repeat(2,1fr)}.wizard-actions>div>.button:last-child{grid-column:1/-1}.upload-notes{grid-template-columns:1fr}.selected-file{grid-template-columns:auto minmax(0,1fr) auto}.selected-file>.status-badge{display:none}
  .funnel-step{grid-template-columns:1fr}.funnel-step>small{text-align:right}.analytics-filters{position:static}
  .change-tray{align-items:stretch;flex-direction:column}.change-tray>.button{width:100%}
}

@media (max-width:480px){
  .app-main{padding:.75rem}.page-content{gap:1rem}.page-actions{flex-direction:column}.page-actions>.button{width:100%}
  .topbar-actions{gap:.3rem}.topbar-actions .icon-button{width:2.75rem;height:2.75rem}
  .latest-report-hero{border-radius:var(--radius-lg)}.hero-meta{flex-direction:column;align-items:flex-start}.latest-report-score{padding:1rem}
  .business-line-card>footer,.report-card-body>footer{align-items:flex-start;flex-direction:column}.business-line-card>footer>.button{width:100%}
  .status-badge{white-space:normal;text-align:center}
  .viewer-revoked-actions{width:100%;flex-direction:column}.viewer-revoked-actions>.button{width:100%}
  .otp-slots{gap:.3rem}.otp-input-wrap{height:3.8rem}
  .auth-alternatives{flex-direction:column}.auth-footer{align-items:flex-start;flex-direction:column}
  .wizard-stepper li>span{width:2.35rem;height:2.35rem}.wizard-stepper li:not(:last-child)::after{top:1.16rem;right:calc(50% + 1.4rem);left:calc(-50% + 1.4rem)}
  .wizard-actions>div{grid-template-columns:1fr}.wizard-actions>div>.button:last-child{grid-column:auto}
}

@media (min-width:2600px){
  :root{--rail-width:21rem;--topbar-height:6rem;--content-max:142rem}
  .app-rail{padding:1.7rem}.app-main{padding:3.5rem}.latest-report-hero{min-height:31rem}.kpi-card{min-height:16rem}.business-line-card{min-height:24rem}.data-panel{padding:2rem}
  .button,.icon-button,input:not(.otp-input),select{min-height:3.75rem}.icon-button{width:3.75rem;height:3.75rem}
  .report-stage{width:min(96vw,calc((100dvh - 8.5rem)*16/9))}
}

@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{scroll-behavior:auto!important;animation:none!important;transition-duration:.01ms!important;transition-delay:0s!important}
  .button:hover,.report-card:hover,.heatmap-cell:hover{transform:none}
}

@media print{
  html,body{display:none!important}
}
