:root {
    --ink-950: #121b23;
    --ink-900: #1d2a34;
    --ink-800: #31404b;
    --ink-700: #4c5b65;
    --ink-600: #6b777e;
    --ink-500: #667176;
    --navy-950: #071722;
    --navy-900: #0b2434;
    --navy-800: #12384f;
    --navy-700: #1d4a68;
    --navy-100: #e7eef2;
    --gold-800: #6f501c;
    --gold-700: #87672e;
    --gold-600: #a37d42;
    --gold-500: #87672e;
    --gold-300: #d9c297;
    --gold-100: #f5eee0;
    --gold-soft: var(--gold-100);
    --blue-700: #1d4a68;
    --blue-soft: #e8f0f4;
    --teal-700: #506a73;
    --teal-soft: #edf2f3;
    --plum-700: #675d70;
    --plum-soft: #f0edf2;
    --rose-700: #8b5964;
    --rose-soft: #f5edef;
    --amber-700: #87672e;
    --amber-soft: #f8f1e3;
    --emerald-700: #4f7062;
    --emerald-soft: #edf4f0;
    --paper: #ffffff;
    --canvas: #f3f2ee;
    --canvas-soft: #faf9f6;
    --line: #dad9d3;
    --line-soft: #e9e7e1;
    --success: #2f7059;
    --success-strong: #245844;
    --success-soft: #e9f4ef;
    --warning: #916219;
    --warning-soft: #fbf1dc;
    --danger: #a24747;
    --danger-100: #faeaea;
    --danger-soft: #faeaea;
    --neutral-soft: #edf1f2;
    --shadow-xs: 0 1px 2px rgba(15,30,40,.05);
    --shadow-sm: 0 10px 28px rgba(15,30,40,.06);
    --shadow-md: 0 22px 60px rgba(15,30,40,.10);
    --shadow-lg: 0 36px 100px rgba(7,23,34,.18);
    --radius-xs: 8px;
    --radius-sm: 12px;
    --radius-md: 17px;
    --radius-lg: 25px;
    --radius-xl: var(--radius-lg);
    --text: var(--ink-950);
    --primary: var(--role-accent);
    --primary-strong: var(--role-accent-strong);
    --space-1: 4px;
    --space-2: 8px;
    --space-3: 12px;
    --space-4: 16px;
    --space-5: 20px;
    --space-6: 24px;
    --space-7: 32px;
    --space-8: 40px;
    --control-height: 44px;
    --control-height-sm: 36px;
    --content-max: 1600px;
    --reading-measure: 76ch;
    --border: var(--line);
    --muted: var(--ink-600);
    --theme-primary: #1d4a68;
    --theme-primary-strong: #12364c;
    --theme-primary-soft: #e8f0f4;
    --theme-primary-rgb: 29,74,104;
    --theme-secondary: #506a73;
    --theme-secondary-rgb: 80,106,115;
    --theme-tertiary: #675d70;
    --theme-tertiary-rgb: 103,93,112;
    --theme-accent: #b79455;
    --theme-accent-rgb: 183,148,85;
    --role-accent: #1d4a68;
    --role-accent-strong: #12364c;
    --role-accent-soft: #e8f0f4;
    --role-accent-rgb: 29,74,104;
    --button-primary: #5b7fa5;
    --button-primary-strong: #416486;
    --button-primary-soft: #eaf1f7;
    --button-primary-rgb: 91,127,165;
    --button-secondary: #4f8b84;
    --button-secondary-strong: #376c66;
    --button-secondary-soft: #e8f3f1;
    --button-secondary-rgb: 79,139,132;
    --button-success: #4f8d71;
    --button-success-strong: #376d55;
    --button-success-soft: #eaf4ef;
    --button-success-rgb: 79,141,113;
    --button-warning: #b78343;
    --button-warning-strong: #8c612e;
    --button-warning-soft: #fbf1e4;
    --button-warning-rgb: 183,131,67;
    --button-danger: #b76472;
    --button-danger-strong: #8e4856;
    --button-danger-soft: #faecef;
    --button-danger-rgb: 183,100,114;
    --logo-badge-surface: #fbfaf6;
    --logo-badge-surface-strong: #fffdf9;
    --logo-badge-border: rgba(183,148,85,.38);
    --logo-badge-inner: rgba(255,255,255,.74);
    --logo-badge-shadow: 0 10px 26px rgba(4,24,35,.16);
    --sidebar-width: 264px;
    --topbar-height: 64px;
    --motion-ease-out: cubic-bezier(.22,1,.36,1);
    --font-ui: "Segoe UI Variable","Segoe UI",Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,sans-serif;
    --font-display: var(--font-ui);
    color: var(--ink-950);
    background: var(--canvas);
    font-family: var(--font-ui);
    font-synthesis: none;
    --footer-height: 54px;
    --shell-gutter: clamp(6px,.65vw,10px);
    --shell-card-radius: 20px;
    --shell-card-height: calc(var(--topbar-height) - 2px);
    --surface: var(--paper);
    --surface-soft: var(--canvas-soft);
    --border-strong: #c8c6be;
    --accent: var(--theme-accent);
    --accent-strong: var(--gold-700);
    --accent-soft: var(--gold-soft);
    --gold-200: #e9dcc3;
    --gold-900: #5c4017;
    --info: var(--theme-primary);
    --ink-400: #a9b0b4;
    --ink-650: #5b6870;
    --ink-750: #3f4d57;
    --warning-dark: #6d4916;
    --warning-strong: #7e5519;
    --premium-radius: 20px;
    --premium-radius-compact: 15px;
    --premium-border: rgba(20,45,58,.12);
    --premium-shadow: 0 1px 2px rgba(8,29,42,.035),0 14px 38px rgba(8,29,42,.065);
    --premium-shadow-raised: 0 3px 8px rgba(8,29,42,.07),0 24px 56px rgba(8,29,42,.13);
    --sticky-shell-offset: calc(var(--topbar-height) + var(--shell-gutter) + 24px);
    --control-surface: #fff;
    --control-surface-hover: #fbfcfc;
    --control-border: #c9cfcd;
    --control-border-hover: #aebbb8;
    --control-focus: 0 0 0 4px rgba(var(--role-accent-rgb),.12);
    --control-radius: 13px;
    --control-popover-radius: 17px;
    --control-popover-shadow: 0 22px 58px rgba(7,25,37,.22),0 2px 8px rgba(7,25,37,.09);
    --control-selected: color-mix(in srgb,var(--role-accent) 10%,#fff);
    --composition-gap: 14px;
    --composition-gap-lg: 16px;
    --composition-radius: 16px;
    --composition-radius-lg: 20px;
    --composition-line: rgba(20,45,58,.12);
    --composition-shadow: 0 8px 24px rgba(9,29,42,.052);
    --composition-shadow-hover: 0 14px 36px rgba(9,29,42,.085);
    --composition-surface: linear-gradient(180deg,rgba(255,255,255,.995),rgba(255,255,255,.965));
    --interaction-radius: 14px;
    --interaction-line: rgba(20,45,58,.10);
    --interaction-focus: 0 0 0 4px rgba(var(--role-accent-rgb),.13);
    --interaction-ease: cubic-bezier(.2,.75,.25,1);
    --mobile-card-gap: 10px;
    --wizard-progress: 0%;
    --mobile-topbar-height: var(--topbar-height);
    --mobile-footer-height: var(--footer-height);
    --ui-text-micro: 12px;
    --ui-text-caption: 12.5px;
    --ui-world-gap: 18px;
    --ui-world-radius: 16px;
    --ui-world-radius-lg: 20px;
    --ui-world-line: rgba(20,45,58,.11);
    --ui-world-shadow: 0 8px 26px rgba(9,29,42,.05);
    --ui-world-shadow-raised: 0 18px 48px rgba(7,25,37,.13);
    --ui-world-surface: linear-gradient(180deg,#fff,rgba(255,255,255,.975));
    --premium-line: rgba(12,38,52,.105);
    --premium-line-strong: rgba(12,38,52,.16);
    --premium-inset: inset 0 1px 0 rgba(255,255,255,.78);
    --ds-base-canvas: #f5f6f4;
    --ds-base-surface: #ffffff;
    --ds-base-border: rgba(18,42,55,.105);
    --ds-base-border-strong: rgba(18,42,55,.17);
    --ds-base-shadow: 0 7px 24px rgba(14,34,47,.045);
    --ds-base-shadow-raised: 0 18px 50px rgba(10,30,43,.10);
    --ds-base-radius: 16px;
    --ds-base-radius-lg: 20px;
    --ds-base-page-gap: 16px;
    --ds-base-reading-width: 72ch;
    --ds-base-control-height: 44px;
    --ds-shell-footer-safe-gap: 30px;
    --ds-shell-border: rgba(255,255,255,.10);
    --ds-shell-text: #d7e2e7;
    --ds-shell-muted: #91a6b0;
    --ds-shell-shadow: 0 12px 30px rgba(7,23,34,.12);
    --ds-type-body: 16px;
    --ds-type-body-mobile: 16px;
    --ds-type-copy: 15px;
    --ds-type-small: 13px;
    --ds-type-micro: 12.5px;
    --ds-type-label: 14px;
    --ds-type-control: 15.5px;
    --ds-type-table: 14px;
    --ds-type-table-head: 12.5px;
    --ds-type-nav: 14px;
    --ds-type-line: 1.6;
    --ds-layout-content-max: 1460px;
    --ds-layout-task-max: 1120px;
    --ds-layout-reading-width: 74ch;
    --ds-layout-touch-target: 44px;
    --ds-layout-control-height: 48px;
    --ds-layout-gap: 14px;
    --ds-layout-shadow: 0 8px 28px rgba(7,23,34,.055);
    --ds-layout-shadow-raised: 0 22px 62px rgba(7,23,34,.14);
    --ds-layout-focus-ring: 0 0 0 3px rgba(var(--role-accent-rgb),.18);
    --ds-a11y-micro: 12.5px;
    --ds-a11y-label: 14px;
    --ds-a11y-table: 14px;
    --ds-a11y-panel-radius: 16px;
    --ds-a11y-shadow: 0 8px 26px rgba(7,23,34,.052);
    --ds-a11y-shadow-focus: 0 14px 36px rgba(7,23,34,.075);
    --sakti-page-title-max: 1460px;
    --sakti-task-max: 1120px;
    --sakti-action-bg: rgba(255,255,255,.94);
    --sakti-action-line: rgba(20,45,58,.10);
    --sakti-page-max: 1440px;
    --sakti-world-gap: 16px;
    --sakti-world-radius: 18px;
    --sakti-world-border: rgba(18,42,55,.11);
    --sakti-world-shadow: 0 10px 30px rgba(7,23,34,.055);
    --sakti-world-shadow-focus: 0 16px 42px rgba(7,23,34,.075);
    --sakti-world-surface: linear-gradient(180deg,rgba(255,255,255,.995),rgba(249,250,249,.985));
    --sakti-world-control: 46px;
}


/* independent soft semantic button palettes. */
body[data-button-palette="soft-professional"]{--button-primary:#5b7fa5;--button-primary-strong:#416486;--button-primary-soft:#eaf1f7;--button-primary-rgb:91,127,165;--button-secondary:#4f8b84;--button-secondary-strong:#376c66;--button-secondary-soft:#e8f3f1;--button-secondary-rgb:79,139,132;--button-success:#4f8d71;--button-success-strong:#376d55;--button-success-soft:#eaf4ef;--button-success-rgb:79,141,113;--button-warning:#b78343;--button-warning-strong:#8c612e;--button-warning-soft:#fbf1e4;--button-warning-rgb:183,131,67;--button-danger:#b76472;--button-danger-strong:#8e4856;--button-danger-soft:#faecef;--button-danger-rgb:183,100,114}
body[data-button-palette="ocean-mist"]{--button-success:#529374;--button-success-strong:#387157;--button-success-soft:#e9f5ef;--button-success-rgb:82,147,116;--button-warning:#c08a45;--button-warning-strong:#94652d;--button-warning-soft:#fcf2e3;--button-warning-rgb:192,138,69;--button-danger:#c16c70;--button-danger-strong:#974e52;--button-danger-soft:#fbeded;--button-danger-rgb:193,108,112}
body[data-button-palette="lavender-rose"]{--button-primary:#7774b2;--button-primary-strong:#58558f;--button-primary-soft:#efeff9;--button-primary-rgb:119,116,178;--button-secondary:#9a6f92;--button-secondary-strong:#795270;--button-secondary-soft:#f6edf4;--button-secondary-rgb:154,111,146;--button-success:#5d9278;--button-success-strong:#427158;--button-success-soft:#ebf5f0;--button-success-rgb:93,146,120;--button-warning:#b98a4e;--button-warning-strong:#8e6635;--button-warning-soft:#fbf2e5;--button-warning-rgb:185,138,78;--button-danger:#b9667c;--button-danger-strong:#91495e;--button-danger-soft:#faedf1;--button-danger-rgb:185,102,124}
body[data-button-palette="sage-terracotta"]{--button-success:#628d6b;--button-success-strong:#486d50;--button-success-soft:#edf5ef;--button-success-rgb:98,141,107;--button-warning:#b78355;--button-warning-strong:#8b603c;--button-warning-soft:#fbf0e8;--button-warning-rgb:183,131,85;--button-danger:#b66d68;--button-danger-strong:#8e504c;--button-danger-soft:#faeeec;--button-danger-rgb:182,109,104}
body[data-button-palette="graphite-pastel"]{--button-success:#5b866f;--button-success-strong:#426752;--button-success-soft:#edf4f0;--button-success-rgb:91,134,111;--button-warning:#aa7e47;--button-warning-strong:#805d31;--button-warning-soft:#f9f0e5;--button-warning-rgb:170,126,71;--button-danger:#a95f69;--button-danger-strong:#82454e;--button-danger-soft:#f8ebed;--button-danger-rgb:169,95,105}
body[data-button-palette="burgundy-slate"]{--button-success:#5d8a72;--button-success-strong:#436a55;--button-success-soft:#ebf4ef;--button-success-rgb:93,138,114;--button-warning:#b1874f;--button-warning-strong:#876437;--button-warning-soft:#faf1e5;--button-warning-rgb:177,135,79;--button-danger:#aa5668;--button-danger-strong:#833d4c;--button-danger-soft:#f9e9ed;--button-danger-rgb:170,86,104}

.app-body.role-super-admin{--role-accent:#76588f;--role-accent-strong:#57406d;--role-accent-soft:#f1ecf6;--role-accent-rgb:118,88,143}
.app-body.role-admin-lsp{--role-accent:#356f9a;--role-accent-strong:#245473;--role-accent-soft:#eaf3f9;--role-accent-rgb:53,111,154}
.app-body.role-manajer-sertifikasi{--role-accent:#347a76;--role-accent-strong:#245d5a;--role-accent-soft:#e8f4f2;--role-accent-rgb:52,122,118}
.app-body.role-manajer-mutu{--role-accent:#98576a;--role-accent-strong:#744052;--role-accent-soft:#f7ecef;--role-accent-rgb:152,87,106}
.app-body.role-koordinator-tuk{--role-accent:#9a6b27;--role-accent-strong:#74501d;--role-accent-soft:#fbf2df;--role-accent-rgb:154,107,39}
.app-body.role-asesor{--role-accent:#466ca8;--role-accent-strong:#315184;--role-accent-soft:#ebf0fa;--role-accent-rgb:70,108,168}
.app-body.role-tim-keputusan{--role-accent:#75559a;--role-accent-strong:#573f74;--role-accent-soft:#f0ebf7;--role-accent-rgb:117,85,154}
.app-body.role-ketua-lsp{--role-accent:#9a762f;--role-accent-strong:#725721;--role-accent-soft:#f8f1df;--role-accent-rgb:154,118,47}
.app-body.role-asesi{--role-accent:#39775f;--role-accent-strong:#285944;--role-accent-soft:#eaf5f0;--role-accent-rgb:57,119,95}

*{box-sizing:border-box}
html{min-height:100%;background:var(--canvas);scroll-behavior:smooth}
body{margin:0;min-height:100vh;color:var(--ink-950);background:radial-gradient(circle at 100% 0,rgba(var(--role-accent-rgb),.07),transparent 26rem),var(--canvas);font-size:16px;line-height:1.6;text-rendering:optimizeLegibility;font-kerning:normal;font-variant-ligatures:common-ligatures}
body.no-scroll{overflow:hidden}
button,input,textarea,select{font:inherit}
button{color:inherit}
a{color:inherit;text-decoration:none}
img,svg{display:block}
svg{pointer-events:none}
h1,h2,h3,p{margin-top:0}
h1,h2,h3{color:var(--ink-950)}
h1{margin-bottom:12px;font-family:var(--font-display);font-size:clamp(30px,2.6vw,40px);font-weight:700;line-height:1.12;letter-spacing:-.024em;text-wrap:balance}
h2{margin-bottom:7px;font-size:21px;font-weight:650;line-height:1.32;letter-spacing:-.014em;text-wrap:balance}
h3{margin-bottom:6px;font-size:17px;font-weight:650;line-height:1.4}
p{max-width:var(--reading-measure);color:var(--ink-600)}
pre{white-space:pre-wrap;word-break:break-word}
[hidden]{display:none!important}
::selection{color:#fff;background:var(--role-accent)}
.skip-link{position:fixed;top:10px;left:10px;z-index:3000;padding:10px 14px;border-radius:9px;color:#fff;background:var(--navy-950);font-weight:700;transform:translateY(-150%);transition:transform .16s ease}.skip-link:focus{transform:translateY(0)}

.ui-icon{width:1.15em;height:1.15em;flex:0 0 auto}
.overline,.eyebrow{display:block;margin-bottom:8px;color:var(--role-accent);font-size:12px;font-weight:650;letter-spacing:.11em;line-height:1.4;text-transform:uppercase}
.overline-light{color:var(--gold-300)}

.button{display:inline-flex;align-items:center;justify-content:center;gap:9px;padding:0 18px;border:1px solid transparent;font-weight:600;line-height:1.3;letter-spacing:.005em;text-align:center;white-space:nowrap;cursor:pointer;transition:transform .18s ease,box-shadow .18s ease,background .18s ease,border-color .18s ease,color .18s ease}
.button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,.nav-item:focus-visible,.account-trigger:focus-visible,.topbar-icon:focus-visible,.icon-button:focus-visible{outline:3px solid rgba(var(--theme-accent-rgb),.28);outline-offset:2px}
.button:disabled{cursor:not-allowed;opacity:.45;box-shadow:none}
.button-primary{color:#fff;border-color:var(--button-primary-strong);background:linear-gradient(180deg,var(--button-primary),var(--button-primary-strong))}
.button-primary:not(:disabled):hover{transform:translateY(-1px);filter:saturate(1.04) brightness(1.04)}
.button-ghost{color:var(--role-accent-strong);border-color:rgba(var(--role-accent-rgb),.22);background:rgba(255,255,255,.82)}
.button-ghost:hover{border-color:rgba(var(--role-accent-rgb),.42);background:var(--role-accent-soft);box-shadow:var(--shadow-xs)}
.button-small{padding:0 13px}
.button-wide{width:100%}

.alert{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:18px;padding:14px 16px;border:1px solid var(--line);border-left-width:3px;border-radius:var(--radius-sm);background:#fff;box-shadow:var(--shadow-xs)}
.alert>span{font-size:15px;font-weight:650}
.alert button{display:grid;place-items:center;width:28px;height:28px;padding:0;border:0;border-radius:6px;color:currentColor;background:transparent;cursor:pointer;font-size:20px}
.alert-danger{color:var(--danger);border-color:#e8bfbd;background:var(--danger-soft)}
.alert-success{color:var(--success);border-color:#bad9cb;background:var(--success-soft)}
.alert-warning{color:var(--warning);border-color:#ead5a8;background:var(--warning-soft)}

.brand-emblem{position:relative;display:grid;place-items:center;flex:0 0 44px;width:44px;height:44px;border:1px solid rgba(223,201,159,.55);background:linear-gradient(145deg,rgba(255,255,255,.09),rgba(255,255,255,.02));box-shadow:inset 0 0 0 4px rgba(255,255,255,.025);transform:rotate(45deg)}
.brand-emblem>span{color:#fff;font-family:var(--font-display);font-size:24px;font-weight:700;transform:rotate(-45deg)}
.brand-emblem>i{position:absolute;right:4px;bottom:4px;width:7px;height:7px;background:var(--gold-500)}
.brand-emblem-light{border-color:rgba(223,201,159,.75);background:rgba(255,255,255,.06)}

.login-page{display:grid;place-items:center;min-height:100vh;overflow-x:hidden}
.login-shell{position:relative;display:grid;grid-template-columns:minmax(0,1.08fr) minmax(410px,.92fr);width:min(1280px,100%);min-height:min(680px,calc(100vh - 56px));overflow:hidden;border:1px solid rgba(12,34,49,.12);border-radius:30px;background:#fff;box-shadow:var(--shadow-lg)}
.login-identity{position:relative;display:grid;align-items:center;justify-items:center;min-height:620px;padding:clamp(40px,5vw,64px);color:#fff;overflow:hidden;isolation:isolate;background:radial-gradient(circle at 78% 24%,rgba(var(--theme-secondary-rgb),.26),transparent 25%),radial-gradient(circle at 20% 82%,rgba(var(--theme-tertiary-rgb),.15),transparent 28%),linear-gradient(145deg,var(--navy-950) 0%,var(--navy-900) 54%,var(--navy-700) 100%)}
.login-identity::before{content:"";position:absolute;inset:0;z-index:-2;opacity:.17;background-image:linear-gradient(rgba(255,255,255,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.045) 1px,transparent 1px);background-size:68px 68px;mask-image:linear-gradient(135deg,#000,transparent 76%)}
.login-identity::after{content:"";position:absolute;right:-220px;bottom:-280px;z-index:-1;width:640px;height:640px;border:1px solid rgba(223,201,159,.22);border-radius:50%;box-shadow:0 0 0 74px rgba(255,255,255,.02),0 0 0 148px rgba(255,255,255,.015)}
.login-brand{display:flex;align-items:center;gap:22px}
.login-brand-copy{display:flex;flex-direction:column;min-width:0}
.login-brand-centered{display:grid;align-content:center;justify-items:center;width:100%;gap:28px;text-align:center}
.login-brand-copy-centered{display:grid;justify-items:center;gap:8px;width:min(620px,100%)}
.login-brand-institution{max-width:620px;margin:0;color:#fff;font-family:var(--font-display);font-size:clamp(32px,3.2vw,44px);font-weight:650;line-height:1.08;letter-spacing:-.026em;text-wrap:balance}
.login-brand-short{display:block;color:var(--gold-200);font-size:20px;font-weight:700;letter-spacing:.16em;text-transform:uppercase}
.login-brand-long{display:block;max-width:560px;color:#c4d1d7;font-size:17px;font-weight:650;line-height:1.45;letter-spacing:.01em;text-wrap:balance}
.login-brand-tagline{max-width:520px;margin:7px 0 0;color:#9fb2bc;font-size:14.5px;line-height:1.55;text-wrap:balance}
.login-message{display:none}
.login-access{display:grid;place-items:center;padding:clamp(42px,5vw,68px);background:linear-gradient(180deg,#fff,var(--canvas-soft))}
.login-access-inner{display:grid;justify-items:stretch;width:min(410px,100%)}
.login-form-head{margin-bottom:30px;text-align:center}
.login-form-head h2{margin:0;font-family:var(--font-display);font-size:34px;font-weight:600;letter-spacing:-.025em}
.login-form-head p{margin-bottom:0;font-size:15px}
.login-form{display:grid;justify-items:stretch;gap:20px}
.field{display:flex;flex-direction:column;min-width:0;color:var(--ink-800)}
.field>span{display:flex;gap:4px;align-items:center}
.field b{color:var(--danger);font-weight:700}
.field input,.field select,.field textarea,.filter-bar input,.filter-bar select{width:100%;border:1px solid var(--line);color:var(--ink-900);outline:none;transition:border-color .18s ease,box-shadow .18s ease,background .18s ease}
.field input,.field select,.filter-bar input,.filter-bar select{padding:0 13px}
.field textarea{padding:12px 13px;resize:vertical}
.field input:focus,.field select:focus,.field textarea:focus,.filter-bar input:focus,.filter-bar select:focus{border-color:var(--role-accent);box-shadow:0 0 0 4px rgba(var(--role-accent-rgb),.11);background:#fff}
.control-with-icon{position:relative}
.control-with-icon>.ui-icon{position:absolute;top:50%;left:14px;width:17px;height:17px;color:var(--ink-500);transform:translateY(-50%)}
.control-with-icon input{padding-left:44px}
.password-field input{padding-right:82px}
.password-field button,.password-input button{position:absolute;top:50%;right:7px;min-height:32px;padding:0 10px;border:0;border-radius:6px;color:var(--navy-700);background:var(--canvas-soft);font-size:13px;font-weight:650;cursor:pointer;transform:translateY(-50%)}
.password-input{position:relative}
.password-input input{padding-right:86px}
.login-submit{justify-self:center;min-width:154px;min-height:48px;margin-top:6px;padding-right:24px;padding-left:24px}
.login-submit .ui-icon{width:17px;height:17px;transition:transform .18s ease}
.login-submit:hover .ui-icon{transform:translateX(3px)}
.login-support{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:12px 28px;margin-top:24px;padding-top:18px;border-top:1px solid var(--line-soft);color:var(--ink-500);font-size:12.5px;text-align:center}
.login-support span{display:flex;align-items:center;gap:7px}
.login-support .ui-icon{color:var(--success)}
.login-support small{font-size:12px;letter-spacing:.08em;text-transform:uppercase}
.app-shell{min-height:100vh}
.sidebar{position:fixed;inset:0 auto 0 0;z-index:40;display:flex;flex-direction:column;padding:22px 17px 17px;color:#d7e0e5}
.sidebar::before{content:"";position:absolute;inset:0;pointer-events:none;opacity:.13;background-image:linear-gradient(rgba(255,255,255,.04) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.04) 1px,transparent 1px);background-size:52px 52px;mask-image:linear-gradient(180deg,#000,transparent 88%)}
.sidebar-brand,.sidebar-context,.sidebar-nav,.sidebar-foot{position:relative;z-index:1}
.sidebar-brand{display:flex;align-items:center;justify-content:space-between;min-height:80px;padding:0 8px 18px;border-bottom:1px solid rgba(255,255,255,.10)}
.brand-lockup{display:flex;align-items:center;gap:16px}
.brand-copy{display:flex;flex-direction:column;min-width:0}
.brand-copy strong{color:#fff;font-size:17.2px;letter-spacing:.13em}
.brand-copy small{color:#86a0ad;font-size:12px;letter-spacing:.07em;text-transform:uppercase}
.sidebar-close{display:none;place-items:center;width:34px;height:34px;padding:0;border:1px solid rgba(255,255,255,.10);border-radius:7px;color:#d6e0e6;background:rgba(255,255,255,.04);cursor:pointer}
.sidebar-context{display:grid;grid-template-columns:38px minmax(0,1fr);align-items:start;gap:11px;margin:17px 6px 8px;padding:14px;border:1px solid rgba(var(--role-accent-rgb),.35);border-radius:13px;background:linear-gradient(135deg,rgba(var(--role-accent-rgb),.18),rgba(255,255,255,.025))}
.sidebar-role-icon{display:grid;place-items:center;width:38px;height:38px;margin:0;border:1px solid rgba(255,255,255,.13);border-radius:11px;color:#fff;background:rgba(var(--role-accent-rgb),.32)}
.sidebar-context-copy{display:flex;flex-direction:column;min-width:0;margin:0;text-transform:none;letter-spacing:normal}.sidebar-context-copy small{color:#8fa3af;font-size:12px;font-weight:650;letter-spacing:.12em;text-transform:uppercase}.sidebar-context-copy strong{display:block;margin-top:2px;color:#fff;font-size:14px;font-weight:650;line-height:1.35}.sidebar-context-copy em{display:block;margin-top:4px;color:#9fb0b9;font-size:12px;font-style:normal;line-height:1.45}
.sidebar-nav{flex:1;margin:4px -4px 0;padding:8px 4px 19px;overflow-y:auto;scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.14) transparent}
.nav-group+.nav-group{margin-top:22px}
.nav-group-label{padding:0 12px 8px;color:#758b97;font-size:12px;font-weight:650;letter-spacing:.12em;line-height:1.4;text-transform:uppercase}
.nav-group-collapsible{border:1px solid transparent;border-radius:12px;transition:background .18s ease,border-color .18s ease}
.nav-group-collapsible[open]{background:rgba(255,255,255,.025);border-color:rgba(255,255,255,.07);padding:8px 3px 3px}
.nav-group-collapsible>.nav-group-label{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:9px 12px;cursor:pointer;list-style:none;border-radius:10px;transition:background .18s ease,color .18s ease}
.nav-group-collapsible>.nav-group-label::-webkit-details-marker{display:none}
.nav-group-collapsible>.nav-group-label:hover,.nav-group-collapsible>.nav-group-label:focus-visible{background:rgba(255,255,255,.06);color:#a9bdc5;outline:none}
.nav-group-collapsible>.nav-group-label svg{width:15px;height:15px;transition:transform .18s ease}
.nav-group-collapsible[open]>.nav-group-label svg{transform:rotate(180deg)}
.nav-group-items{padding-top:3px}
.nav-item{position:relative;display:grid;grid-template-columns:35px minmax(0,1fr) auto;align-items:center;gap:10px;min-height:55px;margin:3px 0;padding:7px 12px 7px 8px;border:1px solid transparent;border-radius:11px;color:#afbec7;font-size:14px;font-weight:550;line-height:1.4;transition:color .18s ease,background .18s ease,border-color .18s ease,transform .18s ease}
.nav-item:hover{color:#f2f6f8;border-color:rgba(255,255,255,.06);background:rgba(255,255,255,.045);transform:translateX(2px)}
.nav-item.is-active{color:#fff;border-color:rgba(var(--role-accent-rgb),.35);background:linear-gradient(90deg,rgba(var(--role-accent-rgb),.32),rgba(var(--role-accent-rgb),.08));box-shadow:inset 3px 0 0 var(--role-accent)}
.nav-icon{display:grid;place-items:center;width:31px;height:31px;border:1px solid rgba(255,255,255,.075);border-radius:8px;color:#7a93a2;background:rgba(255,255,255,.025)}
.nav-icon .ui-icon{width:16px;height:16px}
.nav-item.is-active .nav-icon{color:#fff;border-color:rgba(255,255,255,.16);background:rgba(var(--role-accent-rgb),.32)}
.nav-indicator{width:5px;height:5px;border-radius:50%;background:transparent}
.nav-item.is-active .nav-indicator{background:#fff;box-shadow:0 0 0 4px rgba(var(--role-accent-rgb),.18)}
.nav-copy{display:flex;flex-direction:column;min-width:0}.nav-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.nav-copy small{overflow:hidden;margin-top:1px;color:#718895;font-size:12px;font-weight:520;line-height:1.3;text-overflow:ellipsis;white-space:nowrap}.nav-item:hover .nav-copy small,.nav-item.is-active .nav-copy small{color:#aebdc5}
.sidebar-foot{display:flex;align-items:center;gap:11px;padding:15px 8px 2px;border-top:1px solid rgba(255,255,255,.09)}
.sidebar-security{display:grid;place-items:center;width:34px;height:34px;border:1px solid rgba(223,201,159,.14);border-radius:9px;color:var(--gold-300);background:rgba(var(--theme-accent-rgb),.07)}
.sidebar-foot div:last-child{display:flex;flex-direction:column}
.sidebar-foot strong{color:#dfe7eb;font-size:13px}
.sidebar-foot span{color:#728a99;font-size:12px}

.workspace{display:grid;grid-template-columns:minmax(0,1fr);min-width:0;min-height:100vh;margin-left:var(--sidebar-width)}
.topbar{position:sticky;display:flex;align-items:center;justify-content:space-between;min-width:0}
.topbar::after{content:"";position:absolute;right:0;bottom:-1px;left:0}
.topbar-leading,.topbar-actions{display:flex;align-items:center}
.topbar-context{display:flex;flex-direction:column;min-width:0}.topbar-context>small{overflow:hidden;max-width:440px;margin-top:2px;font-size:12px;text-overflow:ellipsis;white-space:nowrap}.role-state{display:inline-flex;align-items:center;gap:7px;min-height:34px;padding:0 11px;border:1px solid rgba(var(--role-accent-rgb),.22);border-radius:999px;font-size:12px;font-weight:650}.role-state .ui-icon{width:15px;height:15px}
.topbar-leading{min-width:0}
.breadcrumb{display:flex;align-items:center;gap:8px;min-width:0;font-size:13px}
.breadcrumb>span{font-weight:650;letter-spacing:.08em}
.breadcrumb .ui-icon{width:13px;height:13px}
.breadcrumb strong{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.topbar-actions{gap:9px}
.system-state{display:inline-flex;align-items:center;gap:8px;margin-right:8px;font-size:12.5px;font-weight:700}
.system-state i{width:7px;height:7px;border-radius:50%;background:#4f9579}
.topbar-icon{position:relative;display:grid;place-items:center;width:40px;height:40px;padding:0;border:1px solid transparent;border-radius:9px;background:transparent;cursor:pointer;transition:border-color .18s ease,background .18s ease,color .18s ease}
.topbar-icon:hover{color:var(--navy-800);border-color:var(--line);background:#fff}
.menu-button{display:none;margin-right:10px}
.notification-dot{position:absolute;top:8px;right:8px;width:6px;height:6px;border:2px solid var(--canvas-soft);border-radius:50%;background:var(--gold-500)}
.account{position:relative}
.account-trigger{display:grid;grid-template-columns:38px minmax(0,1fr) 15px;align-items:center;gap:10px;min-width:198px;min-height:48px;padding:5px 9px 5px 5px;border:1px solid transparent;border-radius:10px;background:transparent;cursor:pointer;transition:border-color .18s ease,background .18s ease}
.avatar{display:grid;place-items:center;width:38px;height:38px;border:1px solid #d9c49d;border-radius:8px;font-family:var(--font-display);font-size:16px;font-weight:700}
.account-copy{display:flex;flex-direction:column;min-width:0;text-align:left}
.account-copy strong{overflow:hidden;font-size:14px;font-weight:600;text-overflow:ellipsis;white-space:nowrap}
.account-copy small{overflow:hidden;font-size:12.5px;text-overflow:ellipsis;white-space:nowrap}
.account-trigger>.ui-icon{width:14px;height:14px;transition:transform .18s ease}
.account.is-open .account-trigger>.ui-icon{transform:rotate(180deg)}
.account-menu{position:absolute;top:calc(100% + 10px);right:0;padding:12px;border:1px solid var(--line);background:#fff;opacity:0;visibility:hidden;transform:translateY(-6px);transition:opacity .17s ease,visibility .17s ease,transform .17s ease}
.account.is-open .account-menu{opacity:1;visibility:visible;transform:translateY(0)}
.account-menu-head{display:flex;flex-direction:column;padding:8px 9px}
.account-menu-head strong{font-size:14px}
.account-menu-head span{overflow:hidden;color:var(--ink-500);font-size:12px;text-overflow:ellipsis}
.account-menu-separator{height:1px;margin:7px 0;background:var(--line-soft)}
.account-menu form button{display:flex;align-items:center;gap:10px;width:100%;min-height:40px;padding:0 10px;border:0;border-radius:7px;color:var(--danger);background:transparent;cursor:pointer;font-size:13.5px;font-weight:700}
.account-menu form button:hover{background:var(--danger-soft)}
.content{position:relative;width:100%;min-width:0;margin:0 auto}
.app-footer{justify-content:space-between;font-size:12.5px;line-height:1.4}
.app-footer>div{display:flex;align-items:center;gap:10px}
.app-footer span+small{padding-left:10px;border-left:1px solid var(--line)}
.sidebar-backdrop{display:none}

.page-heading{position:relative;display:flex;justify-content:space-between;overflow:hidden;border:1px solid rgba(var(--role-accent-rgb),.18)}
.page-heading::before{content:"";position:absolute;background:linear-gradient(180deg,var(--role-accent),var(--gold-500))}.page-heading::after{content:"";position:absolute;border:1px solid rgba(var(--role-accent-rgb),.13);border-radius:50%;box-shadow:0 0 0 34px rgba(var(--role-accent-rgb),.035);pointer-events:none}.page-heading>*{position:relative;z-index:1}
.page-heading>div:first-child{min-width:0;max-width:880px}
.page-heading p{margin-bottom:0;color:var(--ink-600)}
.heading-code{display:inline-flex;align-items:center;margin-left:8px;padding:5px 8px;border:1px solid rgba(var(--role-accent-rgb),.22);border-radius:999px;color:var(--role-accent-strong);background:rgba(255,255,255,.76);font-family:var(--font-ui);font-size:12px;font-weight:700;letter-spacing:.06em;vertical-align:middle;white-space:nowrap}
.page-heading-with-actions{align-items:flex-start}
.heading-badge{display:inline-flex;align-items:center;gap:9px;padding:0 14px;border:1px solid rgba(var(--role-accent-rgb),.24);border-radius:999px;color:var(--role-accent-strong);font-size:13px;font-weight:650;white-space:nowrap}
.heading-badge .ui-icon{color:var(--success)}

.panel{min-width:0;border:1px solid rgba(27,54,67,.12)}
.panel-head{display:flex;justify-content:space-between;gap:18px}
.panel-head p{margin-bottom:0}
.panel-head-bordered{border-bottom:1px solid var(--line-soft)}
.panel-head-responsive{align-items:center;flex-wrap:wrap}
.count-pill{display:inline-flex;align-items:center;padding:0 10px;border:1px solid var(--line);border-radius:999px;color:var(--ink-600);font-weight:650}

.dashboard-hero{position:relative;display:grid;margin-bottom:22px;overflow:hidden;border:1px solid rgba(var(--role-accent-rgb),.28);border-radius:var(--radius-lg);color:#fff;background:radial-gradient(circle at 76% 18%,rgba(var(--role-accent-rgb),.48),transparent 30%),radial-gradient(circle at 14% 100%,rgba(var(--theme-accent-rgb),.14),transparent 26%),linear-gradient(135deg,var(--navy-950),var(--role-accent-strong) 70%,var(--role-accent));box-shadow:0 25px 70px rgba(7,23,34,.18)}
.dashboard-hero-copy{position:relative;z-index:2;align-self:center;max-width:830px}
.dashboard-hero h1{color:#fff}
.dashboard-hero p{color:#b8c7cf}
.hero-meta{display:flex;flex-wrap:wrap;color:#d7e1e6;font-weight:650}
.hero-meta span{display:inline-flex;align-items:center;gap:7px}
.hero-meta .ui-icon{color:var(--gold-300)}
.period-card{position:relative;z-index:2;align-self:stretch;display:flex;flex-direction:column;justify-content:flex-end;border:1px solid rgba(255,255,255,.11);backdrop-filter:blur(9px)}
.period-card span{margin-bottom:10px;color:#8fa5b1;font-size:12px;font-weight:700;letter-spacing:.15em;text-transform:uppercase}
.period-card strong{margin-bottom:8px;color:#fff;font-family:var(--font-display);line-height:1.15}
.period-card small{color:#b9c7ce;font-size:12.5px}
.period-card i{position:absolute;top:22px;right:22px;width:10px;height:10px;border-radius:50%;background:var(--gold-500);box-shadow:0 0 0 7px rgba(var(--theme-accent-rgb),.10)}
.hero-gridline{position:absolute;inset:0;opacity:.12;background-image:linear-gradient(rgba(255,255,255,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.05) 1px,transparent 1px);background-size:62px 62px;mask-image:linear-gradient(90deg,#000,transparent)}
.metric-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin-bottom:20px}
.metric-card{position:relative;display:grid;grid-template-columns:50px minmax(0,1fr);align-items:center;gap:16px;overflow:hidden;border:1px solid var(--line)}
.metric-card::after{content:"";position:absolute;right:-42px;bottom:-52px;width:120px;height:120px;border-radius:50%;background:var(--metric-soft);opacity:.65}.metric-icon{position:relative;z-index:1;display:grid;place-items:center;color:var(--metric);background:var(--metric-soft)}.metric-icon .ui-icon{width:22px;height:22px}.metric-copy{position:relative;z-index:1;min-width:0}.metric-tone-1{--metric:var(--blue-700);--metric-soft:var(--blue-soft);border-color:#cedee9}.metric-tone-2{--metric:var(--teal-700);--metric-soft:var(--teal-soft);border-color:#c9e0dd}.metric-tone-3{--metric:var(--plum-700);--metric-soft:var(--plum-soft);border-color:#ddd1e8}
.metric-top{display:flex;align-items:center;justify-content:space-between;color:var(--ink-500);font-weight:700;text-transform:uppercase}
.metric-top i{font-family:var(--font-display);font-size:17px;font-style:normal;color:var(--gold-600)}
.metric-copy>strong{display:block;font-family:var(--font-display);font-weight:600;line-height:1}
.metric-copy>small{color:var(--ink-500);font-size:12.5px}
.dashboard-grid{display:grid;margin-bottom:20px}
.panel-priority,.panel-flow{overflow:hidden}
.priority-item{display:grid;grid-template-columns:42px minmax(0,1fr) auto;align-items:center;gap:14px;border-top:1px solid var(--line-soft);transition:background .18s ease,transform .18s ease}
.priority-item:hover{border-radius:10px}
.priority-index{display:grid;place-items:center;width:36px;height:36px;border:1px solid var(--gold-300);border-radius:9px;color:var(--gold-800);background:var(--gold-100);font-family:var(--font-display);font-size:15px;font-weight:700}
.priority-copy{display:flex;flex-direction:column}
.priority-copy small{color:var(--ink-500);font-size:12.5px}
.priority-action{display:flex;align-items:center;gap:7px;color:var(--role-accent);font-weight:650}.priority-action small{font-size:12px}.priority-action .ui-icon{width:17px;height:17px}.priority-item:hover .priority-action{color:var(--role-accent-strong)}.priority-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:240px;padding:34px;text-align:center}.priority-empty>span{display:grid;place-items:center;width:54px;height:54px;margin-bottom:14px;border-radius:16px;color:var(--success);background:var(--success-soft)}.priority-empty strong{font-size:16px}.priority-empty small{margin-top:4px;color:var(--ink-500)}
.flow-list{display:grid;gap:0}
.flow-step{position:relative;display:grid;grid-template-columns:34px 1fr;align-items:center;gap:12px;min-height:54px}
.flow-step:not(:last-child)::after{content:"";position:absolute;top:39px;bottom:-15px;left:16px;width:1px;background:var(--line)}
.flow-marker{display:grid;place-items:center;width:33px;height:33px;border:1px solid var(--line);border-radius:50%;color:var(--ink-500);background:#fff;font-family:var(--font-display);font-size:14px;font-weight:700;z-index:1}
.flow-step.active .flow-marker{color:#fff;border-color:var(--role-accent);background:var(--role-accent-strong);box-shadow:0 0 0 5px var(--role-accent-soft)}.flow-step.completed .flow-marker{color:#fff;border-color:var(--success);background:var(--success)}.flow-step.completed:not(:last-child)::after{background:var(--success)}
.flow-copy{display:flex;flex-direction:column}
.flow-copy strong{font-size:14px}
.flow-copy small{color:var(--ink-500);font-size:12px}
.governance-strip{display:grid;align-items:center;gap:22px;border:1px solid var(--line)}
.governance-icon{display:grid;place-items:center;width:52px;height:52px;border:1px solid var(--gold-300);border-radius:13px;color:var(--gold-800);background:var(--gold-100)}
.governance-strip h2{margin-bottom:0;font-size:18px}
.governance-strip p{margin-bottom:0;font-size:13.5px;line-height:1.7}

.summary-rail{display:grid;grid-template-columns:repeat(3,minmax(130px,.58fr)) minmax(280px,1.26fr);gap:12px;margin-bottom:20px}
.summary-rail article{display:flex;align-items:center;gap:13px;min-height:84px;padding:15px 17px;border:1px solid var(--line);border-radius:var(--radius-sm);background:#fff;box-shadow:var(--shadow-xs)}
.summary-rail article>div{display:flex;flex-direction:column}
.summary-rail small{color:var(--ink-500);font-size:12px;font-weight:650;letter-spacing:.08em;text-transform:uppercase}
.summary-rail strong{font-family:var(--font-display);font-size:27px;font-weight:600;line-height:1.15}
.summary-icon{display:grid;place-items:center;width:38px;height:38px;border-radius:10px}
.summary-icon.success{color:var(--success);background:var(--success-soft)}
.summary-icon.warning{color:var(--warning);background:var(--warning-soft)}
.summary-icon.danger{color:var(--danger);background:var(--danger-soft)}
.summary-icon.neutral{color:var(--ink-700);background:var(--neutral-soft)}
.summary-rail article.summary-note{border-color:#d8c7a6;background:linear-gradient(135deg,var(--gold-100),#fff)}
.summary-note>span{display:grid;place-items:center;flex:0 0 38px;width:38px;height:38px;border:1px solid var(--gold-300);border-radius:10px;color:var(--gold-800);background:#fff}
.summary-note p{margin:0;color:var(--ink-700);font-size:13px;line-height:1.6}

.identity-banner{position:relative;display:grid;grid-template-columns:72px 1fr auto;align-items:center;gap:20px;margin-bottom:20px;padding:24px 27px;overflow:hidden;border:1px solid rgba(223,201,159,.18);border-radius:var(--radius-md);color:#fff;background:radial-gradient(circle at 85% 10%,rgba(var(--theme-accent-rgb),.18),transparent 26%),linear-gradient(135deg,var(--navy-950),var(--navy-800));box-shadow:var(--shadow-sm)}
.identity-mark{position:relative;display:grid;place-items:center;width:62px;height:62px;border:1px solid rgba(223,201,159,.55);transform:rotate(45deg)}
.identity-mark span{font-family:var(--font-display);font-size:28px;font-weight:700;transform:rotate(-45deg)}
.identity-mark i{position:absolute;right:5px;bottom:5px;width:8px;height:8px;background:var(--gold-500)}
.identity-copy h2{margin-bottom:5px;color:#fff;font-family:var(--font-display);font-size:28px;font-weight:600}
.identity-copy p{margin:0;color:#aebfc8;font-size:13px}
.identity-meta{display:flex;flex-direction:column;align-items:flex-end}
.identity-meta span{color:#829aa8;font-size:12px;font-weight:650;letter-spacing:.12em;text-transform:uppercase}
.identity-meta strong{color:#e5ecef;font-size:13px}

.form-layout{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:20px;align-items:start}
.form-sidebar{display:grid;gap:15px;position:sticky;top:var(--content-sticky-top,10px)}
.form-panel{overflow:hidden}
.form-panel-main{min-width:0}
.form-grid{display:grid}
.form-grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}
.form-stack{display:grid}
.field-span-2{grid-column:span 2}
.compact-grid{gap:12px;padding:0}
.field-error{color:var(--danger);font-size:12px;font-weight:650}
.field-hint{color:var(--ink-500);font-weight:500}
.form-note{display:flex;align-items:flex-start;gap:10px;padding:12px 13px;border:1px solid #ead8b5;border-radius:9px;color:var(--warning);background:var(--warning-soft)}
.form-note .ui-icon{margin-top:2px}
.form-note p{margin:0;color:inherit;font-size:12.5px;line-height:1.55}
.guidance-card{display:flex;align-items:flex-start;gap:13px;padding:17px}
.guidance-icon{display:grid;place-items:center;flex:0 0 38px;width:38px;height:38px;border-radius:10px;color:var(--gold-800);background:var(--gold-100)}
.guidance-card strong{font-size:14px}
.guidance-card p{margin:3px 0 0;font-size:12.5px;line-height:1.55}

.data-workspace{display:grid;grid-template-columns:minmax(0,1fr) 350px;gap:20px;align-items:start}
.data-workspace-wide{grid-template-columns:minmax(0,1fr) 340px}
.editor-panel{position:sticky;top:var(--content-sticky-top,10px);overflow:hidden}
.table-panel{min-width:0;overflow:hidden}
.table-wrap{width:100%;min-width:0;overflow-x:auto;overscroll-behavior-inline:contain;-webkit-overflow-scrolling:touch}
table{width:100%;border-collapse:collapse}
th,td{padding:15px 18px;border-top:1px solid var(--line-soft);text-align:left;vertical-align:middle}
th{position:relative;color:var(--role-accent-strong);font-weight:700;text-transform:uppercase;white-space:nowrap}
td{color:var(--ink-700)}
.table-action{text-align:right;white-space:nowrap}
.primary-cell{display:flex;align-items:center;gap:12px;min-width:210px}
.primary-cell>div{display:flex;flex-direction:column;min-width:0}
.primary-cell strong{overflow:hidden;color:var(--ink-900);font-size:14px;text-overflow:ellipsis;white-space:nowrap}
.primary-cell small{overflow:hidden;max-width:310px;color:var(--ink-500);font-size:12px;text-overflow:ellipsis;white-space:nowrap}
.data-avatar{display:grid;place-items:center;flex:0 0 38px;width:38px;height:38px;border:1px solid #d9c7a4;border-radius:50%;color:var(--navy-900);background:linear-gradient(145deg,#f7f1e5,#e9dbbe);font-family:var(--font-display);font-size:14px;font-weight:700}
.data-avatar-square{border-radius:9px;text-transform:uppercase}
.table-main-text{display:block;color:var(--ink-800);font-size:13px}
.table-subtext{display:block;margin-top:2px;color:var(--ink-500);font-size:12px}
.role-chip{display:inline-flex;align-items:center;min-height:28px;padding:0 10px;border:1px solid rgba(var(--role-accent-rgb),.20);border-radius:999px;color:var(--role-accent-strong);background:var(--role-accent-soft);font-size:12px;font-weight:650}
.status-badge{display:inline-flex;align-items:center;min-height:27px;padding:0 9px;border:1px solid transparent;border-radius:999px;font-size:12px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;white-space:nowrap}
.status-badge.success{color:var(--success);border-color:#c6dfd3;background:var(--success-soft)}
.status-badge.warning{color:var(--warning);border-color:#ead7af;background:var(--warning-soft)}
.status-badge.danger{color:var(--danger);border-color:#e7c3c1;background:var(--danger-soft)}
.status-badge.neutral{color:var(--ink-700);border-color:#d9dfe0;background:var(--neutral-soft)}
.row-actions{display:inline-flex;align-items:center;justify-content:flex-end;gap:5px}
.inline-form{display:inline-flex;margin:0}
.icon-button{position:relative;display:inline-grid;place-items:center;padding:0;border:1px solid var(--line);color:var(--ink-600);background:#fff;cursor:pointer;transition:color .16s ease,border-color .16s ease,background .16s ease,transform .16s ease}
.icon-button:hover{color:var(--role-accent-strong);border-color:rgba(var(--role-accent-rgb),.35);background:var(--role-accent-soft);transform:translateY(-1px)}
.icon-button.danger:hover{color:var(--danger);border-color:#e4b9b7;background:var(--danger-soft)}
.icon-button.success:hover{color:var(--success);border-color:#bad7c9;background:var(--success-soft)}
.icon-button .ui-icon{width:15px;height:15px}
.icon-button[aria-label]::after,.icon-button[title]::after{content:attr(aria-label);position:absolute;right:0;bottom:calc(100% + 8px);z-index:90;max-width:220px;padding:7px 9px;border-radius:7px;color:#fff;background:var(--navy-950);font-size:12px;font-weight:700;line-height:1.3;white-space:nowrap;opacity:0;visibility:hidden;transform:translateY(4px);pointer-events:none;transition:opacity .15s ease,visibility .15s ease,transform .15s ease}.icon-button[title]:not([aria-label])::after{content:attr(title)}.icon-button:hover::after,.icon-button:focus-visible::after{opacity:1;visibility:visible;transform:translateY(0)}
.table-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:220px;padding:30px;text-align:center}
.table-empty>span{display:grid;place-items:center;width:48px;height:48px;margin-bottom:12px;border-radius:13px;color:var(--gold-800);background:var(--gold-100)}
.table-empty strong{color:var(--ink-900);font-size:15px}
.table-empty small{max-width:360px;margin-top:4px;color:var(--ink-500);font-size:12.5px}
.table-search{display:flex;align-items:center;gap:10px;color:var(--ink-500);font-size:12px}
.table-search input{min-height:38px;padding:0 12px;border:1px solid var(--line);border-radius:8px;outline:none}
.filter-bar{display:flex;justify-content:flex-end;flex-wrap:wrap;min-width:0}
.filter-bar-wrap{flex-wrap:wrap}
.filter-bar input,.filter-bar select{width:auto;min-width:130px;min-height:40px;padding:0 11px;font-size:13px}
.search-control{position:relative;display:block;flex:1 1 230px;min-width:190px}
.search-control>.ui-icon{position:absolute;top:50%;left:10px;width:14px;height:14px;color:var(--ink-500);transform:translateY(-50%)}
.search-control input{width:100%;padding-left:31px}
.pagination{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:14px;border-top:1px solid var(--line-soft)}
.pagination-summary{color:var(--ink-500);font-size:12px}
.pagination-links{display:flex;align-items:center;gap:5px}
.page-link{display:grid;place-items:center;padding:0 8px;border:1px solid var(--line);color:var(--ink-600);background:#fff;font-size:12px;font-weight:650}
.page-link:hover{border-color:var(--gold-300);color:var(--navy-800)}
.page-link.is-current{color:#fff}
.page-link.is-disabled{pointer-events:none;opacity:.35}

.workspace-access-intro{display:flex;align-items:flex-start;gap:12px;margin:22px 26px 0;padding:14px 16px;border:1px solid #d8e8e4;border-radius:14px;background:#f3faf8;color:#345b55}
.workspace-access-intro>svg{width:21px;height:21px;flex:0 0 auto;margin-top:1px;color:#2e766c}
.workspace-access-intro p{margin:0;font-size:13px;line-height:1.55}
.workspace-access-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;padding:18px 26px 26px}
.workspace-access-card{display:grid;grid-template-columns:minmax(0,1fr) 118px;align-items:center;gap:15px;padding:16px;border:1px solid var(--line);border-radius:14px;background:#fff;cursor:pointer;transition:border-color .18s ease,box-shadow .18s ease}
.workspace-access-card:hover{border-color:#a9cbc5;box-shadow:0 8px 20px rgba(22,63,59,.07)}
.workspace-access-copy{display:grid;gap:5px}
.workspace-access-copy strong{font-size:14px;color:var(--ink-900)}
.workspace-access-copy small{font-size:12px;line-height:1.45;color:var(--muted)}
.workspace-access-card select{min-width:0}
.summary-seal{display:grid;place-items:center;width:50px;height:50px;margin-bottom:22px;border:1px solid var(--gold-300);border-radius:13px;color:var(--gold-800);background:var(--gold-100)}
.mini-checklist{display:grid;gap:10px;margin:18px 0 0;padding:17px 0 0;border-top:1px solid var(--line-soft);list-style:none}
.mini-checklist li{display:flex;align-items:center;gap:8px;color:var(--ink-700);font-size:12.5px;font-weight:650}
.mini-checklist .ui-icon{color:var(--success)}

.audit-list{position:relative;padding:0 26px 20px}
.audit-list::before{content:"";position:absolute;top:0;bottom:28px;left:139px;width:1px;background:var(--line)}
.audit-item{position:relative;display:grid;grid-template-columns:90px 18px 1fr;gap:18px;min-height:92px;padding:18px 0;border-top:1px solid var(--line-soft)}
.audit-time{display:flex;flex-direction:column;align-items:flex-end}
.audit-time strong{font-family:var(--font-display);font-size:20px;font-weight:600}
.audit-time span{color:var(--ink-500);font-size:12px;text-align:right}
.audit-node{position:relative;z-index:1;width:11px;height:11px;margin-top:7px;border:3px solid #fff;border-radius:50%;background:var(--gold-600);box-shadow:0 0 0 1px var(--gold-300)}
.audit-content{min-width:0}
.audit-title{display:flex;align-items:center;gap:10px;margin-bottom:6px}
.audit-title strong{font-size:14px}
.audit-content p{margin-bottom:5px;font-size:12.5px}
.audit-content details{margin-top:8px}
.audit-content summary{color:var(--gold-800);font-size:12px;font-weight:650;cursor:pointer}
.audit-content pre{max-height:220px;margin:8px 0 0;padding:12px;border:1px solid var(--line-soft);border-radius:8px;color:var(--ink-700);overflow:auto;background:var(--canvas-soft);font-size:12px}
.empty-state-inline{display:flex;flex-direction:column;align-items:center;min-height:260px;padding:50px;text-align:center}
.empty-state-inline>span{display:grid;place-items:center;width:52px;height:52px;margin-bottom:13px;border-radius:14px;color:var(--role-accent-strong);background:var(--role-accent-soft)}
.empty-state-inline p{font-size:13px}

.card-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:17px}
.scheme-card,.assignment-card,.application-card{position:relative;min-height:230px;padding:23px;border:1px solid var(--line);border-radius:var(--radius-md);background:linear-gradient(180deg,#fff,var(--canvas-soft));transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}
.scheme-card:hover,.assignment-card:hover,.application-card:hover{transform:translateY(-2px);border-color:var(--gold-300);box-shadow:var(--shadow-sm)}
.scheme-card-head{margin-bottom:24px}
.scheme-card-head>small{color:var(--ink-500);font-size:12px}
.scheme-card h2,.assignment-card h2,.application-card h2{font-family:var(--font-display);font-size:24px;font-weight:600}
.scheme-card p,.assignment-card p,.application-card p{font-size:13px}
.scheme-stats,.assignment-meta{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;margin-top:24px;border:1px solid var(--line);background:var(--line)}
.scheme-stats div,.assignment-meta div{padding:13px;background:#fff}
.scheme-stats strong{display:block;font-family:var(--font-display);font-size:22px;font-weight:600}
.scheme-stats span,.assignment-meta span{color:var(--ink-500);font-size:12px;text-transform:uppercase}
.assignment-meta strong{display:block;margin-top:3px;font-size:12.5px}
.application-progress{height:5px;margin:25px 0 10px;overflow:hidden;border-radius:999px;background:var(--line-soft)}
.application-progress span{display:block;width:20%;height:100%;background:linear-gradient(90deg,var(--gold-600),var(--gold-300))}
.application-card>small{color:var(--ink-500);font-size:12px}

.module-intro{display:grid;grid-template-columns:1fr 250px;gap:24px;margin-bottom:20px;padding:28px;border:1px solid var(--line);border-radius:var(--radius-md);background:linear-gradient(135deg,#fff,var(--canvas-soft))}
.module-intro-copy h2{max-width:680px;margin-top:17px;font-family:var(--font-display);font-size:28px;font-weight:600}
.module-intro-copy p{max-width:720px;margin-bottom:0;font-size:14px}
.module-signature{display:flex;flex-direction:column;justify-content:center;padding:20px;border-left:1px solid var(--line)}
.module-signature span{color:var(--ink-500);font-size:12px;text-transform:uppercase}
.module-signature strong{margin:8px 0 3px;color:var(--navy-800);font-family:var(--font-display);font-size:20px}
.module-signature small{color:var(--ink-500)}
.workflow-panel{margin-bottom:20px;overflow:hidden}
.step-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;border-top:1px solid var(--line);background:var(--line)}
.step-card{display:flex;flex-direction:column;min-height:112px;padding:20px;background:#fff}
.step-card span{margin-bottom:15px;color:var(--gold-700);font-family:var(--font-display);font-size:17px}
.step-card strong{font-size:13.5px}
.module-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.feature-panel{overflow:hidden}
.feature-list{display:grid;gap:0;margin:0;padding:0 24px 24px;list-style:none}
.feature-list li{display:flex;align-items:center;gap:10px;min-height:45px;border-top:1px solid var(--line-soft);color:var(--ink-700);font-size:13px}
.feature-list li>span{display:grid;place-items:center;width:24px;height:24px;border-radius:7px;color:var(--success);background:var(--success-soft)}
.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:290px;padding:36px;text-align:center}
.empty-icon{display:grid;place-items:center;width:58px;height:58px;margin-bottom:18px;border:1px solid var(--gold-300);border-radius:15px;color:var(--gold-800);background:var(--gold-100)}
.empty-state p{max-width:430px;margin-bottom:0;font-size:13px}

.error-page{display:grid;place-items:center;min-height:100vh;padding:25px;background:radial-gradient(circle at 20% 20%,rgba(var(--theme-accent-rgb),.16),transparent 30%),var(--canvas)}
.error-card{width:min(560px,100%);padding:50px;border:1px solid var(--line);border-radius:var(--radius-lg);text-align:center;background:#fff;box-shadow:var(--shadow-md)}
.error-code{margin-bottom:18px;color:var(--gold-700);font-family:var(--font-display);font-size:72px;line-height:1}
.error-card h1{font-size:40px}
.error-card p{margin-bottom:25px}


/* Modal CRUD — : header tetap, isi bergulir, tombol selalu terjangkau. */
body.modal-open,body.swal2-shown{overflow:hidden;overscroll-behavior:none}
body.modal-open>.app-shell{user-select:none}
body.modal-open>[data-modal].is-open{user-select:text}
/* global modal portal and visual-viewport geometry. */
.modal-layer{position:fixed;top:var(--modal-viewport-top,0px);right:auto;bottom:auto;left:var(--modal-viewport-left,0px);z-index:1200;display:none;align-items:center;justify-content:center;width:var(--modal-viewport-width,100vw);height:var(--modal-viewport-height,100dvh);min-width:0;min-height:0;overflow:hidden;backdrop-filter:blur(8px);isolation:isolate}
.modal-layer.is-open{display:flex;animation:modal-fade-in .18s ease both}
.modal-dialog{position:relative;display:flex;flex-direction:column;width:min(780px,100%);max-height:min(calc(var(--modal-viewport-height,100dvh) - clamp(24px,4.8vh,48px)),920px);min-height:0;overflow:hidden;isolation:isolate;border:1px solid rgba(255,255,255,.35);background:var(--paper);animation:modal-rise .22s ease both}
.modal-dialog.modal-wide{width:min(1020px,100%)}
.modal-head{position:relative;z-index:5;display:flex;align-items:flex-start;justify-content:space-between;flex:0 0 auto;gap:24px;border-bottom:1px solid rgba(var(--role-accent-rgb),.15)}
.modal-head>div{min-width:0}
.modal-head h2{margin:0;font-family:var(--font-display);font-weight:600}
.modal-head p{max-width:720px;margin:7px 0 0;line-height:1.55}
.modal-close{display:grid;place-items:center;flex:0 0 38px;width:38px;height:38px;padding:0;border:1px solid var(--line);border-radius:10px;color:var(--ink-700);background:#fff;cursor:pointer;transition:.18s ease}
.modal-close:hover{color:var(--danger);border-color:#e3b8b8;background:var(--danger-soft)}
.modal-close:focus-visible,.modal-actions .button:focus-visible{outline:3px solid rgba(194,145,52,.32);outline-offset:2px}
.modal-body{flex:1 1 auto;min-height:0;max-height:none;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:stable}
.modal-form{display:flex;flex-direction:column;min-width:0;min-height:100%}
.modal-actions{position:sticky;right:0;bottom:0;left:0;z-index:8;display:flex;justify-content:flex-end;flex:0 0 auto;margin:auto -26px 0;border-top:1px solid var(--line-soft);box-shadow:0 -12px 28px rgba(15,35,49,.09);backdrop-filter:blur(12px)}
.modal-actions::before{content:"";position:absolute;inset:-10px 0 auto;height:10px;pointer-events:none;background:linear-gradient(180deg,transparent,rgba(255,255,255,.78))}
.form-section{display:grid;gap:14px;padding:18px;border:1px solid var(--line-soft);border-radius:14px;background:var(--canvas-soft)}
.form-section-head h3{margin:0;font-size:16px}
.form-section-head p{margin:3px 0 0;font-size:13px}
@keyframes modal-fade-in{from{opacity:0}to{opacity:1}}
@keyframes modal-rise{from{opacity:0;transform:translateY(18px) scale(.985)}to{opacity:1;transform:none}}

/* SweetAlert local */
.swal2-container{position:fixed;inset:0;z-index:2000;display:flex;align-items:center;justify-content:center;padding:24px;background:rgba(4,15,22,.58);opacity:0;transition:opacity .15s ease;backdrop-filter:blur(7px)}
.swal2-container.swal2-show{opacity:1}
.swal2-container.swal2-hide{opacity:0}
.swal2-popup{display:grid;grid-template-columns:auto minmax(0,1fr);gap:18px;width:min(460px,100%);padding:26px;border:1px solid rgba(255,255,255,.42);border-radius:20px;background:#fff;box-shadow:0 28px 90px rgba(7,23,34,.3);transform:translateY(14px) scale(.985);transition:transform .16s ease}
.swal2-show .swal2-popup{transform:none}
.swal2-icon{display:grid;place-items:center;width:48px;height:48px;border-radius:15px}
.swal2-icon svg{width:25px;height:25px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.swal2-success{color:var(--success);background:var(--success-soft)}
.swal2-error{color:var(--danger);background:var(--danger-soft)}
.swal2-warning{color:var(--warning);background:var(--warning-soft)}
.swal2-info,.swal2-question{color:var(--navy-700);background:var(--navy-100)}
.swal2-copy{min-width:0;padding-top:1px}
.swal2-title{margin:0;color:var(--ink-950);font-family:var(--font-display);font-size:24px;font-weight:600;line-height:1.15}
.swal2-html-container{margin-top:8px;color:var(--ink-600);font-size:15px;line-height:1.65}
.swal2-actions{grid-column:1/-1;display:flex;justify-content:flex-end;gap:10px;margin-top:4px;padding-top:18px;border-top:1px solid var(--line-soft)}
.swal2-confirm,.swal2-cancel{min-height:42px;padding:0 17px;border-radius:9px;font-size:14px;font-weight:650;cursor:pointer}
.swal2-confirm{color:#fff;border:1px solid var(--navy-900);background:linear-gradient(180deg,var(--navy-800),var(--navy-900));box-shadow:0 10px 22px rgba(12,34,49,.18)}
.swal2-cancel{color:var(--ink-700);border:1px solid var(--line);background:#fff}
/* Temporary flash/toast: compact feedback, isolated from page-heading typography. */
.swal2-container.swal2-toast-container{inset:12px 12px auto auto;display:block;width:min(320px,calc(100vw - 24px));max-width:calc(100vw - 24px);padding:0;background:transparent;backdrop-filter:none;pointer-events:none}
.swal2-popup.swal2-toast.sakti-flash-toast .swal2-toast-close:hover{color:var(--ink-900);background:var(--canvas)}

/* Scheme hierarchy workspace */
.scheme-card-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.scheme-card{position:relative;display:flex;flex-direction:column;min-height:245px;padding:22px;border:1px solid var(--line);border-radius:18px;background:linear-gradient(145deg,#fff,var(--canvas-soft));box-shadow:var(--shadow-xs);transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease}
.scheme-card:hover{transform:translateY(-2px);border-color:var(--gold-300);box-shadow:var(--shadow-sm)}
.scheme-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}
.scheme-code{display:inline-flex;align-items:center;min-height:28px;padding:0 10px;border:1px solid var(--gold-300);border-radius:999px;color:var(--gold-800);background:var(--gold-100);font-size:12px;font-weight:700;letter-spacing:.06em}
.scheme-card h3{margin:20px 0 7px;font-family:var(--font-display);font-size:23px;font-weight:600;line-height:1.15}
.scheme-card p{margin:0;font-size:14px;line-height:1.65}
.scheme-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;margin-top:auto;padding-top:20px}
.scheme-metrics.compact{grid-template-columns:repeat(2,minmax(0,1fr))}
.scheme-metrics div{padding:11px;border:1px solid var(--line-soft);background:#fff}
.scheme-metrics div:first-child{border-radius:10px 0 0 10px}
.scheme-metrics div:last-child{border-radius:0 10px 10px 0}
.scheme-metrics strong,.scheme-metrics span{display:block}
.scheme-metrics strong{font-size:18px}
.scheme-metrics span{color:var(--ink-500);font-size:12px;font-weight:650;letter-spacing:.08em;text-transform:uppercase}
.scheme-card-actions{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:16px;padding-top:15px;border-top:1px solid var(--line-soft)}
.scheme-card-actions .row-actions{margin-left:auto}
.structure-shell{display:grid;grid-template-columns:300px minmax(0,1fr);gap:20px;align-items:start}
.structure-nav{position:sticky;top:var(--content-sticky-top,10px);overflow:hidden}
.structure-scheme{padding:22px;border-bottom:1px solid var(--line-soft);background:linear-gradient(145deg,var(--navy-900),var(--navy-800));color:#fff}
.structure-scheme .overline{color:var(--gold-300)}
.structure-scheme h2{color:#fff;font-family:var(--font-display);font-size:23px;font-weight:600}
.structure-scheme p{margin:0;color:#b8c6ce;font-size:13px}
.structure-units{display:grid;gap:7px;padding:12px}
.structure-unit-link{display:flex;align-items:flex-start;gap:10px;padding:12px;border:1px solid transparent;border-radius:10px;color:var(--ink-700);background:transparent;font-size:14px;transition:.18s ease}
.structure-unit-link:hover,.structure-unit-link.is-active{color:var(--navy-900);border-color:var(--line);background:#fff;box-shadow:var(--shadow-xs)}
.structure-unit-link span{display:grid;place-items:center;flex:0 0 28px;width:28px;height:28px;border-radius:8px;color:var(--gold-800);background:var(--gold-100);font-size:12px;font-weight:700}
.structure-unit-link strong{display:block;margin-bottom:2px;font-size:13px}
.structure-unit-link small{display:block;color:var(--ink-500);font-size:12px}
.structure-content{display:grid;gap:18px}
.unit-hero{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;padding:24px;border:1px solid var(--line);border-radius:18px;background:#fff;box-shadow:var(--shadow-xs)}
.unit-hero h1{margin:8px 0 10px;font-size:34px}
.unit-hero p{margin:0}
.element-stack{display:grid;gap:14px}
.element-card{overflow:hidden;border:1px solid var(--line);border-radius:16px;background:#fff;box-shadow:var(--shadow-xs)}
.element-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;padding:18px 20px;border-bottom:1px solid var(--line-soft);background:var(--canvas-soft)}
.element-number{display:grid;place-items:center;flex:0 0 38px;width:38px;height:38px;border:1px solid var(--gold-300);border-radius:11px;color:var(--gold-800);background:var(--gold-100);font-family:var(--font-display);font-size:17px;font-weight:700}
.element-title{display:flex;gap:13px;align-items:flex-start}
.element-title h3{margin:1px 0 4px;font-size:16.5px}
.element-title p{margin:0;font-size:12px}
.kuk-list{display:grid}
.kuk-row{display:grid;grid-template-columns:66px minmax(0,1fr) auto;gap:14px;align-items:start;padding:15px 20px;border-bottom:1px solid var(--line-soft)}
.kuk-row:last-child{border-bottom:0}
.kuk-code{display:inline-flex;justify-content:center;min-height:29px;padding:6px 8px;border-radius:8px;color:var(--navy-800);background:var(--navy-100);font-size:12px;font-weight:700}
.kuk-row p{margin:2px 0 0;color:var(--ink-800);font-size:14px}
.completeness-meter{display:grid;gap:9px;margin-top:16px}
.completeness-track{height:8px;overflow:hidden;border-radius:999px;background:var(--line-soft)}
.completeness-track span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--gold-600),var(--success))}
.completeness-copy{display:flex;justify-content:space-between;gap:14px;color:var(--ink-500);font-size:12px}


/* Scheme approval and read-only review */
.scheme-card-priority{border-color:var(--gold-300);box-shadow:0 18px 45px rgba(120,88,35,.10)}
.scheme-readiness{display:flex;align-items:center;gap:8px;margin-top:14px;padding:10px 12px;border-radius:10px;font-size:12px;font-weight:650;letter-spacing:.02em}
.scheme-readiness.is-ready{color:var(--success);background:var(--success-soft)}
.scheme-readiness.is-incomplete{color:var(--danger);background:var(--danger-soft)}
.scheme-readiness .ui-icon{width:16px;height:16px}
.scheme-review-header{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:20px;margin-bottom:18px;padding:24px 26px}
.scheme-review-identity{display:flex;align-items:center;gap:16px;min-width:0}
.scheme-review-identity h2{margin:0 0 4px;font-family:var(--font-display);font-size:24px;font-weight:600}
.scheme-review-identity p{margin:0;font-size:13px}
.scheme-review-meta{display:flex;flex-direction:column;align-items:flex-end;gap:8px;color:var(--ink-500);font-size:12px}
.completeness-meter-wide{grid-column:1/-1;margin-top:0}
.review-detail-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-bottom:18px}
.review-detail-card{min-height:150px;padding:20px}
.review-detail-card p{margin:10px 0 0;color:var(--ink-700);font-size:13.5px;line-height:1.7}
.structure-review-list{display:grid;gap:16px}
.review-unit-card{overflow:hidden}
.review-unit-head{display:flex;justify-content:space-between;gap:20px;padding:22px 24px;border-bottom:1px solid var(--line-soft);background:linear-gradient(180deg,#fff,var(--canvas-soft))}
.review-unit-head h2{margin:4px 0 5px;font-family:var(--font-display);font-size:21px;font-weight:600}
.review-unit-head p{margin:0;font-size:12px}
.scheme-metrics.compact{min-width:230px;margin-top:0;padding-top:0}
.review-elements{display:grid;gap:0}
.review-element-card{padding:19px 24px;border-bottom:1px solid var(--line-soft)}
.review-element-card:last-child{border-bottom:0}
.review-element-card>header{display:flex;align-items:flex-start;gap:12px;margin-bottom:13px}
.review-element-card>header>span{display:grid;place-items:center;flex:0 0 35px;min-height:35px;padding:5px;border-radius:9px;color:var(--gold-800);background:var(--gold-100);font-size:12px;font-weight:700}
.review-element-card h3{margin:0 0 4px;font-size:16px}
.review-element-card small{color:var(--ink-500);font-size:12px}
.review-kuk-list{display:grid;gap:8px;margin-left:47px}
.review-kuk-list>div{display:grid;grid-template-columns:65px minmax(0,1fr);gap:12px;padding:11px 13px;border:1px solid var(--line-soft);border-radius:10px;background:var(--canvas-soft)}
.review-kuk-list span{color:var(--navy-800);font-size:12px;font-weight:700}
.review-kuk-list p{margin:0;color:var(--ink-800);font-size:13.5px;line-height:1.55}
.review-missing{display:flex;align-items:center;gap:9px;padding:11px 13px;border-radius:10px;color:var(--danger);background:var(--danger-soft);font-size:12.5px;font-weight:700}


/* MUK authoring, review, validation, and approval — */
.status{display:inline-flex;align-items:center;justify-content:center;min-height:28px;padding:0 10px;border:1px solid transparent;border-radius:999px;font-size:12px;font-weight:700;letter-spacing:.035em;text-transform:uppercase;white-space:nowrap}
.status-success{color:var(--success);border-color:#c6dfd3;background:var(--success-soft)}
.status-warning{color:var(--warning);border-color:#ead7af;background:var(--warning-soft)}
.status-danger{color:var(--danger);border-color:#e7c3c1;background:var(--danger-soft)}
.status-neutral{color:var(--ink-700);border-color:#d9dfe0;background:var(--neutral-soft)}
.muted,.muted-text{color:var(--ink-500);font-size:12.5px;line-height:1.45}
.table-scroll{width:100%;min-width:0;overflow-x:auto;overscroll-behavior-inline:contain;-webkit-overflow-scrolling:touch}
.data-table td>small,.data-table td>strong{display:block}
.data-table td>small{margin-top:3px;color:var(--ink-500);font-size:12px}
.workspace-heading{margin-bottom:24px}
.workspace-heading .page-heading{margin-top:15px;margin-bottom:0}
.back-link{display:inline-flex;align-items:center;gap:7px;color:var(--navy-700);font-size:13px;font-weight:650}
.back-link:hover{color:var(--gold-800)}
.context-selector{display:flex;align-items:center;gap:18px;margin-bottom:20px;padding:17px 20px}
.context-selector .field{width:min(680px,100%)}
.muk-summary-rail{grid-template-columns:repeat(3,minmax(130px,.58fr)) minmax(280px,1.26fr)}
.muk-card-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;padding:20px}
.muk-card{display:flex;flex-direction:column;min-width:0;min-height:330px;padding:22px;border:1px solid var(--line);border-radius:18px;background:linear-gradient(145deg,#fff,var(--canvas-soft));box-shadow:var(--shadow-xs)}
.muk-card>header{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}
.muk-card h3{margin:18px 0 6px;font-family:var(--font-display);font-size:23px;font-weight:600;line-height:1.18}
.muk-card header p{margin:0;font-size:12.5px}
.muk-card-body{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;margin-top:21px;border:1px solid var(--line-soft);border-radius:11px;overflow:hidden;background:var(--line-soft)}
.muk-stat{padding:13px;background:#fff}
.muk-stat strong,.muk-stat span{display:block}
.muk-stat strong{font-family:var(--font-display);font-size:21px;font-weight:600}
.muk-stat span{color:var(--ink-500);font-size:12px;font-weight:650;text-transform:uppercase}
.muk-card-actions{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:auto;padding-top:17px;border-top:1px solid var(--line-soft)}
.muk-flow-actions{display:flex;align-items:center;justify-content:flex-end;gap:7px;flex-wrap:wrap}
.team-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:17px;margin-bottom:20px}
.team-card{position:relative;display:grid;grid-template-columns:50px minmax(0,1fr) auto;align-items:center;gap:16px;min-height:170px;padding:22px;overflow:hidden}
.team-card::after{content:"";position:absolute;right:-45px;bottom:-65px;width:150px;height:150px;border:1px solid var(--line-soft);border-radius:50%}
.team-card.is-filled{border-color:#d7c49f;background:linear-gradient(145deg,#fff,var(--gold-100))}
.team-number{display:grid;place-items:center;width:48px;height:48px;border:1px solid var(--gold-300);border-radius:13px;color:var(--gold-800);background:var(--gold-100);font-family:var(--font-display);font-size:17px;font-weight:700}
.team-card-copy{min-width:0}
.team-card-copy h2{overflow:hidden;margin:0 0 5px;text-overflow:ellipsis;white-space:nowrap}
.team-card-copy p{margin:0;font-size:12.5px}
.team-card-actions{position:relative;z-index:1;display:flex;align-items:center;gap:6px}
.team-governance{margin-bottom:20px}
.muk-identity-banner{margin-bottom:20px}
.coverage-hero{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:18px;margin-bottom:20px;padding:24px 26px}
.coverage-hero h2{margin:4px 0 6px;font-family:var(--font-display);font-size:28px;font-weight:600}
.coverage-hero p{margin:0;font-size:13px}
.coverage-score{display:flex;flex-direction:column;align-items:flex-end;justify-content:center}
.coverage-score strong{font-family:var(--font-display);font-size:42px;font-weight:600;line-height:1}
.coverage-score span{color:var(--ink-500);font-size:12px}
.coverage-layout{display:grid;grid-template-columns:minmax(0,1fr) 290px;gap:20px;align-items:start}
.coverage-matrix{min-width:0;overflow:hidden}
.coverage-aside{position:sticky;top:var(--content-sticky-top,10px);display:grid;gap:15px}
.method-list{display:grid;padding:0 20px 20px}
.method-list>div{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:48px;border-top:1px solid var(--line-soft);font-size:12.5px}
.method-list strong{display:grid;place-items:center;min-width:30px;height:30px;border-radius:8px;color:var(--gold-800);background:var(--gold-100)}
.instrument-chip-list{display:flex;flex-wrap:wrap;gap:5px}
.instrument-chip-list span{display:inline-flex;padding:5px 8px;border:1px solid var(--line);border-radius:7px;background:var(--canvas-soft);font-size:12px}
.compact-empty{margin:0;padding:20px;color:var(--ink-500);font-size:12.5px}
.task-board{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.muk-task-card{position:relative;display:flex;flex-direction:column;min-height:310px;padding:23px;overflow:hidden}
.task-accent{position:absolute;inset:0 auto 0 0;width:4px;background:var(--gold-600)}
.task-accent.is-reviewer{background:var(--success)}
.muk-task-card>header{display:flex;justify-content:space-between;gap:13px}
.muk-task-card h2{margin:3px 0 5px;font-family:var(--font-display);font-size:24px;font-weight:600}
.muk-task-card header p{margin:0;font-size:12px}
.task-metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;margin:24px 0 13px;border:1px solid var(--line-soft);border-radius:11px;overflow:hidden;background:var(--line-soft)}
.task-metrics div{padding:13px;background:#fff}
.task-metrics strong,.task-metrics span{display:block}
.task-metrics strong{font-family:var(--font-display);font-size:21px}
.task-metrics span{color:var(--ink-500);font-size:12px;text-transform:uppercase}
.muk-task-card>footer{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin-top:auto;padding-top:18px}
.muk-task-card>footer p{max-width:390px;margin:0;font-size:12.5px}
.locked-banner{display:flex;align-items:flex-start;gap:13px;margin-bottom:18px;padding:15px 17px;border:1px solid #ead7af;border-radius:12px;color:var(--warning);background:var(--warning-soft)}
.locked-banner>div{display:flex;flex-direction:column}
.locked-banner strong{font-size:14px}
.locked-banner span{font-size:12px}
.authoring-shell{display:grid;grid-template-columns:230px minmax(0,1fr);gap:20px;align-items:start}
.wizard-nav{position:sticky;top:var(--content-sticky-top,10px);display:grid;gap:7px;padding:10px;border:1px solid var(--line);border-radius:16px;background:#fff;box-shadow:var(--shadow-xs)}
.wizard-nav button{display:grid;grid-template-columns:35px minmax(0,1fr);gap:0 11px;min-height:68px;padding:11px;border:1px solid transparent;border-radius:11px;text-align:left;background:transparent;cursor:pointer}
.wizard-nav button:hover,.wizard-nav button.is-active{border-color:var(--gold-300);background:var(--gold-100)}
.wizard-nav button>span{grid-row:span 2;display:grid;place-items:center;width:34px;height:34px;border-radius:9px;color:var(--gold-800);background:#fff;font-family:var(--font-display);font-size:15px;font-weight:700}
.wizard-nav strong{align-self:end;font-size:13.5px}
.wizard-nav small{color:var(--ink-500);font-size:12px}
.wizard-content{min-width:0}
.wizard-content>[data-wizard-panel],.wizard-stage>[data-wizard-panel]{display:none}
.wizard-content>[data-wizard-panel].is-active,.wizard-stage>[data-wizard-panel].is-active{display:block;animation:panel-enter .2s ease both}
@keyframes panel-enter{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
.section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:17px}
.section-heading h2{margin-bottom:4px;font-family:var(--font-display);font-size:30px;font-weight:600}
.section-heading p{margin:0;font-size:13px}
.instrument-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-bottom:18px}
.instrument-card{display:flex;flex-direction:column;min-height:285px;padding:20px}
.instrument-card>header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}
.instrument-card h3{margin:15px 0 5px;font-family:var(--font-display);font-size:21px;font-weight:600}
.instrument-card header p,.instrument-card>p{font-size:12.5px}
.instrument-meta{display:flex;flex-wrap:wrap;gap:8px 15px;margin:17px 0;color:var(--ink-500);font-size:12px}
.instrument-meta span{display:inline-flex;align-items:center;gap:6px}
.instrument-card>footer{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:auto;padding-top:15px;border-top:1px solid var(--line-soft)}
.document-panel{overflow:hidden}
.upload-strip{display:grid;grid-template-columns:180px minmax(0,1fr) auto;align-items:end;gap:12px;padding:18px 20px;border-bottom:1px solid var(--line-soft);background:var(--canvas-soft)}
/* Upload controls are normalized in the native-control section. */
.document-list{display:grid;padding:0 20px 20px}
.document-list>div{display:grid;grid-template-columns:38px minmax(0,1fr) auto;align-items:center;gap:12px;min-height:65px;border-top:1px solid var(--line-soft)}
.document-icon{display:grid;place-items:center;width:36px;height:36px;border-radius:9px;color:var(--navy-700);background:var(--navy-100)}
.document-list strong,.document-list small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.document-list strong{font-size:12.5px}.document-list small{color:var(--ink-500);font-size:12px}
.coverage-mini{display:flex;flex-direction:column;align-items:flex-end}.coverage-mini strong{font-family:var(--font-display);font-size:33px}.coverage-mini span{color:var(--ink-500);font-size:12px}
.mapping-stack{display:grid;gap:17px}
.mapping-card{overflow:hidden}
.mapping-card>header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:20px 22px;border-bottom:1px solid var(--line-soft);background:var(--canvas-soft)}
.mapping-card h2{margin:11px 0 3px;font-family:var(--font-display);font-size:21px;font-weight:600}.mapping-card header p{margin:0;font-size:12px}
.criterion-selector{display:grid;gap:14px;padding:18px 22px}
.criterion-selector fieldset{min-width:0;margin:0;padding:0;border:0}
.criterion-selector legend{width:100%;padding:0 0 9px;color:var(--ink-800);font-size:12px;font-weight:700;border-bottom:1px solid var(--line-soft)}
.check-row{display:grid;grid-template-columns:20px minmax(0,1fr);gap:10px;align-items:start;padding:11px 3px;border-bottom:1px solid var(--line-soft);cursor:pointer}
.check-row input{width:17px;height:17px;margin-top:2px;accent-color:var(--navy-800)}
.check-row strong,.check-row small{display:block}.check-row strong{font-size:12px}.check-row small{color:var(--ink-600);font-size:12.5px;line-height:1.55}
.mapping-card>footer{display:flex;justify-content:flex-end;padding:0 22px 20px}
.finalization-grid{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(260px,.75fr);gap:17px;margin-bottom:17px}
.final-score{display:flex;align-items:center;gap:22px;padding:24px}.final-score h2{font-family:var(--font-display);font-size:25px;font-weight:600}.final-score p{margin:0;font-size:12.5px}
.score-ring{display:grid;place-items:center;align-content:center;flex:0 0 112px;width:112px;height:112px;border:10px solid var(--gold-100);border-top-color:var(--gold-600);border-radius:50%;text-align:center}.score-ring strong{font-family:var(--font-display);font-size:27px;line-height:1}.score-ring span{color:var(--ink-500);font-size:12px;text-transform:uppercase}
.checklist-panel{display:grid;padding:17px}.check-status{display:flex;align-items:center;gap:10px;min-height:45px;padding:0 7px;border-bottom:1px solid var(--line-soft);color:var(--ink-500);font-size:12.5px}.check-status:last-child{border-bottom:0}.check-status .ui-icon{color:var(--ink-500)}.check-status.is-done{color:var(--success);font-weight:700}.check-status.is-done .ui-icon{color:var(--success)}
.team-summary{margin-bottom:17px;overflow:hidden}.team-inline{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:1px;background:var(--line-soft)}.team-inline>div{display:grid;grid-template-columns:38px minmax(0,1fr);gap:0 10px;align-items:center;min-height:82px;padding:13px;background:#fff}.team-inline>div>span{grid-row:span 2;display:grid;place-items:center;width:36px;height:36px;border-radius:9px;color:var(--gold-800);background:var(--gold-100);font-family:var(--font-display);font-weight:700}.team-inline strong{overflow:hidden;font-size:12.5px;text-overflow:ellipsis;white-space:nowrap}.team-inline small{color:var(--ink-500);font-size:12px}
.submit-panel,.decision-panel,.activation-panel{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:24px 26px;background:linear-gradient(135deg,#fff,var(--canvas-soft))}.submit-panel h2,.decision-panel h2,.activation-panel h2{margin-bottom:5px;font-family:var(--font-display);font-size:25px;font-weight:600}.submit-panel p,.decision-panel p,.activation-panel p{margin:0;font-size:12.5px}.decision-actions{display:flex;gap:9px;flex-wrap:wrap;justify-content:flex-end}
.review-dashboard{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(280px,.65fr);gap:18px;margin-bottom:18px}.review-score-card{display:flex;align-items:center;gap:22px;padding:23px}.review-score-card h2{font-family:var(--font-display);font-size:25px;font-weight:600}.review-score-card p{margin:0;font-size:12.5px}.reviewer-principles{display:grid;padding:17px}.reviewer-principles h2{padding:0 7px}.reviewer-principles>div{display:grid;grid-template-columns:30px 1fr;gap:9px;min-height:50px;padding:9px 7px;border-top:1px solid var(--line-soft)}.reviewer-principles span{color:var(--gold-700);font-family:var(--font-display);font-weight:700}.reviewer-principles p{margin:0;font-size:12px}
.review-section{overflow:hidden}.review-instrument-list{display:grid;gap:0}.review-instrument-list>article{padding:20px 24px;border-bottom:1px solid var(--line-soft)}.review-instrument-list>article:last-child{border-bottom:0}.review-instrument-list header{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}.review-instrument-list h3{margin:12px 0 3px;font-family:var(--font-display);font-size:20px}.review-instrument-list header p{margin:0;font-size:12px}.review-instrument-list dl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:17px 0 0}.review-instrument-list dl>div{padding:12px;border:1px solid var(--line-soft);border-radius:10px;background:var(--canvas-soft)}.review-instrument-list dt{color:var(--ink-500);font-size:12px;font-weight:700;text-transform:uppercase}.review-instrument-list dd{margin:5px 0 0;color:var(--ink-700);font-size:12px;line-height:1.55}
.review-side-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-bottom:18px}.review-history{display:grid;padding:0 20px 20px}.review-history>div{padding:15px 0;border-top:1px solid var(--line-soft)}.review-history strong,.review-history small{display:block;margin-top:6px}.review-history strong{font-size:12.5px}.review-history small{color:var(--ink-500);font-size:12px}.review-history p{margin:7px 0 0;font-size:12px}
.validation-layout,.approval-layout{display:grid;grid-template-columns:270px minmax(0,1fr);gap:20px;align-items:start}.validation-queue,.approval-queue{position:sticky;top:var(--content-sticky-top,10px);overflow:hidden}.validation-queue nav,.approval-queue nav{display:grid;padding:8px}.validation-queue nav a,.approval-queue nav a{display:flex;flex-direction:column;gap:5px;padding:13px;border:1px solid transparent;border-radius:10px}.validation-queue nav a:hover,.validation-queue nav a.is-active,.approval-queue nav a:hover,.approval-queue nav a.is-active{border-color:var(--gold-300);background:var(--gold-100)}.validation-queue nav strong,.approval-queue nav strong{font-size:12.5px}.validation-queue nav small,.approval-queue nav small{color:var(--ink-500);font-size:12px}.validation-queue .status,.approval-queue .status{align-self:flex-start}
.validation-workspace,.approval-workspace{display:grid;gap:18px;min-width:0}.validation-hero{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:18px;padding:23px}.validation-hero h2{margin:4px 0 5px;font-family:var(--font-display);font-size:27px;font-weight:600}.validation-hero p{margin:0;font-size:12px}.validation-metrics{grid-column:1/-1;display:grid;grid-template-columns:repeat(3,1fr);gap:1px;border:1px solid var(--line-soft);border-radius:11px;overflow:hidden;background:var(--line-soft)}.validation-metrics>div{padding:13px;background:#fff}.validation-metrics strong,.validation-metrics span{display:block}.validation-metrics strong{font-family:var(--font-display);font-size:22px}.validation-metrics span{color:var(--ink-500);font-size:12px;text-transform:uppercase}
.quality-gates{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.quality-gates article{display:flex;align-items:flex-start;gap:10px;min-height:105px;padding:17px}.quality-gates article>.ui-icon{flex:0 0 auto;margin-top:2px}.quality-gates strong,.quality-gates span{display:block}.quality-gates strong{font-size:12.5px}.quality-gates span{margin-top:4px;color:var(--ink-500);font-size:12px}.quality-gates .is-passed{border-color:#c6dfd3}.quality-gates .is-passed>.ui-icon{color:var(--success)}.quality-gates .is-failed{border-color:#e7c3c1}.quality-gates .is-failed>.ui-icon{color:var(--danger)}
.quality-instruments{display:grid;padding:0 22px 20px}.quality-instruments article{padding:16px 0;border-top:1px solid var(--line-soft)}.quality-instruments header{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:12px}.quality-instruments header strong,.quality-instruments header small{display:block}.quality-instruments header strong{font-size:12.5px}.quality-instruments header small{color:var(--ink-500);font-size:12px}.quality-instruments article>div{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:12px}.quality-instruments p{margin:0;padding:11px;border-radius:9px;background:var(--canvas-soft);font-size:12px}
.approval-hero{position:relative;display:grid;grid-template-columns:minmax(0,1fr) 150px;gap:26px;align-items:center;min-height:255px;padding:34px;overflow:hidden;border-radius:22px;color:#fff;background:radial-gradient(circle at 80% 20%,rgba(var(--theme-accent-rgb),.22),transparent 28%),linear-gradient(135deg,var(--navy-950),var(--navy-800));box-shadow:var(--shadow-md)}.approval-copy h1{color:#fff;font-size:clamp(34px,4vw,54px)}.approval-copy p{color:#afc0c9}.approval-seal{display:grid;place-items:center;align-content:center;width:135px;height:135px;border:1px solid rgba(223,201,159,.55);border-radius:50%;box-shadow:inset 0 0 0 9px rgba(255,255,255,.035)}.approval-seal span{font-family:var(--font-display);font-size:35px}.approval-seal small{color:var(--gold-300);font-size:12px;text-transform:uppercase}
.approval-summary-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.approval-summary-grid>section{padding:20px}.approval-summary-grid h2{font-family:var(--font-display);font-size:23px;font-weight:600}.approval-summary-grid p{margin:0;font-size:12px}.approval-section{overflow:hidden}.approval-team{grid-template-columns:repeat(auto-fit,minmax(190px,1fr))}.decision-history{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px;padding:18px}.decision-history article{padding:15px;border:1px solid var(--line-soft);border-radius:11px;background:var(--canvas-soft)}.decision-history h3{margin:10px 0 2px;font-size:12.5px}.decision-history small{color:var(--ink-500);font-size:12px}.decision-history p{margin:8px 0 0;font-size:12px}.approval-instruments{display:grid;padding:0 22px 20px}.approval-instruments article{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:12px;min-height:62px;border-top:1px solid var(--line-soft)}.approval-instruments strong,.approval-instruments small{display:block}.approval-instruments strong{font-size:12.5px}.approval-instruments small{color:var(--ink-500);font-size:12px}
.workflow-timeline{display:grid;padding:5px 23px 22px}.workflow-timeline>div{position:relative;display:grid;grid-template-columns:18px minmax(0,1fr);gap:11px;min-height:72px}.workflow-timeline>div::before{content:"";position:absolute;top:17px;bottom:-1px;left:6px;width:1px;background:var(--line)}.workflow-timeline>div:last-child::before{display:none}.workflow-timeline>div>span{position:relative;z-index:1;width:13px;height:13px;margin-top:11px;border:3px solid #fff;border-radius:50%;background:var(--gold-600);box-shadow:0 0 0 1px var(--gold-300)}.workflow-timeline strong,.workflow-timeline small{display:block}.workflow-timeline strong{font-size:12.5px}.workflow-timeline small{color:var(--ink-500);font-size:12px}.workflow-timeline p{margin:5px 0 0;font-size:12px}

/* Responsive system: desktop, tablet, portrait tablet, and mobile */


/* Registration and FR.APL.01 workspace — */
.button-secondary{color:var(--button-secondary-strong);border-color:rgba(var(--button-secondary-rgb),.28);background:linear-gradient(180deg,#fff,var(--button-secondary-soft));box-shadow:0 7px 18px rgba(var(--button-secondary-rgb),.10)}
.button-secondary:not(:disabled):hover{border-color:rgba(var(--button-secondary-rgb),.48);background:var(--button-secondary-soft);box-shadow:0 10px 24px rgba(var(--button-secondary-rgb),.16);transform:translateY(-1px)}
.danger-text{color:var(--danger)}
.page-heading-actions{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap}
.compact-metric-grid{margin-bottom:20px}
.compact-metric-grid .metric-card{min-height:150px}
.section-separator{margin-top:30px;border-top:1px solid var(--line-soft)}
.form-actions{display:flex;justify-content:flex-end;border-top:1px solid var(--line-soft)}
.form-actions-sticky{position:sticky;bottom:var(--content-sticky-bottom,10px);margin-right:-1px;margin-bottom:-1px;margin-left:-1px;padding:16px 20px;border:1px solid var(--line);border-radius:0 0 var(--radius-md) var(--radius-md);backdrop-filter:blur(12px)}
.form-hint{margin-right:auto;color:var(--ink-500);font-size:12.5px}
.info-callout,.revision-banner{display:flex;align-items:flex-start;gap:14px;margin-bottom:20px;padding:16px 18px;border:1px solid #c8d9df;border-radius:13px;color:var(--navy-800);background:var(--navy-100)}
.info-callout>span,.revision-banner>span{display:grid;place-items:center;flex:0 0 36px;width:36px;height:36px;border-radius:9px;background:rgba(255,255,255,.65)}
.info-callout>div,.revision-banner>div{min-width:0;flex:1}
.info-callout strong,.revision-banner strong{display:block;margin-bottom:3px;font-size:14.5px}
.info-callout p,.revision-banner p{margin:0;color:inherit;font-size:13px;line-height:1.65}
.info-callout.compact{margin:18px 0 0;padding:13px}
.info-callout.compact>span{flex-basis:30px;width:30px;height:30px}
.info-callout.compact p{font-size:12px}
.warning-callout,.revision-banner{color:var(--warning);border-color:#ead7af;background:var(--warning-soft)}
.success-callout{color:var(--success);border-color:#c4ddcf;background:var(--success-soft)}
.info-callout>.button{align-self:center;flex:0 0 auto}
.progress-track{position:relative;height:7px;overflow:hidden;border-radius:999px;background:#e8eceb}
.progress-track>span,.progress-track>i{display:block;height:100%;width:0;border-radius:inherit;background:linear-gradient(90deg,var(--gold-600),var(--gold-300));transition:width .35s ease}
.profile-layout{display:grid;grid-template-columns:290px minmax(0,1fr);gap:20px;align-items:start}
.profile-summary-card{position:sticky;top:var(--content-sticky-top,10px);display:flex;flex-direction:column;align-items:center;padding:28px 22px;text-align:center}
.profile-avatar-large{display:grid;place-items:center;flex:0 0 76px;width:76px;height:76px;border:1px solid var(--gold-300);border-radius:20px;color:var(--navy-900);background:linear-gradient(145deg,#fff,var(--gold-100));font-family:var(--font-display);font-size:27px;font-weight:700;box-shadow:var(--shadow-sm)}
.profile-photo-avatar{overflow:hidden}.profile-photo-avatar>img{display:block;width:100%;height:100%;object-fit:cover}.profile-photo-avatar.has-photo{padding:0;background:var(--surface-soft)}
.account-menu-identity{display:grid;grid-template-columns:38px minmax(0,1fr);align-items:center;gap:11px}.account-menu-identity>.account-menu-copy{display:flex;min-width:0;flex-direction:column}.account-menu-identity small{overflow:hidden;color:var(--ink-500);font-size:12px;text-overflow:ellipsis;white-space:nowrap}
.profile-photo-panel{margin-top:20px;overflow:hidden}.profile-photo-content{display:grid;grid-template-columns:minmax(0,1fr) minmax(320px,.8fr);gap:24px;align-items:center;padding:24px}.profile-photo-preview{display:flex;align-items:center;gap:18px;min-width:0}.profile-photo-preview>div{display:flex;min-width:0;flex-direction:column;gap:3px}.profile-photo-preview strong{color:var(--ink-900);font-family:var(--font-display);font-size:20px}.profile-photo-preview span{color:var(--ink-600);font-size:13px}.profile-photo-preview small{max-width:560px;margin-top:5px;color:var(--ink-500);line-height:1.6}.profile-photo-form{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:end}.profile-photo-form .file-control{min-width:0}.profile-photo-delete{display:flex;justify-content:flex-end;padding:0 24px 20px}

.profile-summary-card h2{margin:18px 0 4px;font-family:var(--font-display);font-size:25px;font-weight:600}
.profile-summary-card>p{margin:0;font-size:12.5px;word-break:break-word}
.profile-summary-list{display:grid;width:100%;margin-top:22px;border-top:1px solid var(--line-soft)}
.profile-summary-list>div{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;padding:13px 0;border-bottom:1px solid var(--line-soft);text-align:left}
.profile-summary-list span{color:var(--ink-500);font-size:12px;text-transform:uppercase;letter-spacing:.06em}
.profile-summary-list strong{max-width:150px;font-size:12.5px;text-align:right;overflow-wrap:anywhere}
.profile-form-panel{overflow:visible;padding-bottom:0}
.profile-form-panel>.form-grid{padding:22px 24px 0}
.application-card-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.application-card{position:relative;display:flex;flex-direction:column;min-height:360px;padding:23px;overflow:hidden}
.application-card::after{content:"";position:absolute;right:-90px;bottom:-105px;width:220px;height:220px;border:1px solid var(--line-soft);border-radius:50%;pointer-events:none}
.application-card.is-approved{border-color:#c5ddcf;background:linear-gradient(145deg,#fff,var(--success-soft))}
.application-card>header{position:relative;z-index:1;display:flex;align-items:flex-start;justify-content:space-between;gap:14px}
.application-card h2{margin:15px 0 5px;font-family:var(--font-display);font-size:24px;font-weight:600;line-height:1.15}
.application-card header p{margin:0;font-size:12px}
.application-progress-row{position:relative;z-index:1;margin-top:24px;padding:14px;border:1px solid var(--line-soft);border-radius:11px;background:rgba(255,255,255,.72)}
.application-progress-row>div:first-child{display:flex;align-items:center;justify-content:space-between;margin-bottom:9px}
.application-progress-row span{color:var(--ink-500);font-size:12px;font-weight:650;text-transform:uppercase}
.application-progress-row strong{font-family:var(--font-display);font-size:20px}
.application-facts{position:relative;z-index:1;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;margin-top:15px;border:1px solid var(--line-soft);border-radius:10px;overflow:hidden;background:var(--line-soft)}
.application-facts>div{padding:12px;background:#fff}
.application-facts span,.application-facts strong{display:block}
.application-facts span{margin-bottom:4px;color:var(--ink-500);font-size:12px;font-weight:700;letter-spacing:.06em;text-transform:uppercase}
.application-facts strong{font-size:12px;line-height:1.4}
.application-card .revision-note{margin-top:14px}
.revision-note{display:flex;align-items:flex-start;gap:10px;padding:12px;border:1px solid #ead7af;border-radius:10px;color:var(--warning);background:var(--warning-soft)}
.revision-note>span{margin-top:2px}
.revision-note strong{display:block;font-size:12.5px}
.revision-note p{margin:3px 0 0;color:inherit;font-size:12px;line-height:1.5}
.application-card>footer{position:relative;z-index:1;display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:auto;padding-top:20px}
.application-card>footer form{margin:0}
.spacious-empty{min-height:360px}
.application-context-bar{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr) minmax(230px,.55fr);gap:1px;margin-bottom:20px;overflow:hidden;border:1px solid var(--line);border-radius:15px;background:var(--line-soft);box-shadow:var(--shadow-xs)}
.application-context-bar>div{min-width:0;padding:17px 20px;background:#fff}
.application-context-bar span,.application-context-bar strong,.application-context-bar small{display:block}
.application-context-bar span{margin-bottom:4px;color:var(--ink-500);font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}
.application-context-bar strong{overflow:hidden;font-size:14px;text-overflow:ellipsis;white-space:nowrap}
.application-context-bar small{margin-top:3px;color:var(--ink-500);font-size:12px}
.application-context-progress .progress-track{margin-top:9px}
.guided-workspace.apl-workspace{display:grid;grid-template-columns:230px minmax(0,1fr);gap:20px;align-items:start}
.apl-workspace .wizard-nav{grid-template-columns:1fr}
.apl-workspace .wizard-content{min-width:0}
.apl-form-panel{padding:24px}
.requirement-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.requirement-card{display:flex;flex-direction:column;min-width:0;min-height:300px;padding:20px}
.requirement-card.has-document{border-color:#c9d9d1;background:linear-gradient(145deg,#fff,#f3f8f5)}
.requirement-card.is-invalid{border-color:#e4c0be;background:linear-gradient(145deg,#fff,var(--danger-soft))}
.requirement-card>header{display:grid;grid-template-columns:42px minmax(0,1fr);gap:13px}
.requirement-icon{display:grid;place-items:center;width:42px;height:42px;border:1px solid var(--gold-300);border-radius:11px;color:var(--gold-800);background:var(--gold-100)}
.requirement-title{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}
.requirement-title h2{margin:0;font-size:16.5px}
.requirement-title span{display:inline-flex;flex:0 0 auto;padding:3px 7px;border-radius:999px;color:var(--danger);background:var(--danger-soft);font-size:12px;font-weight:700;text-transform:uppercase}
.requirement-title span.optional{color:var(--ink-600);background:var(--neutral-soft)}
.requirement-card header p{margin:5px 0 0;font-size:12px;line-height:1.55}
.uploaded-document{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:18px;padding:12px;border:1px solid var(--line-soft);border-radius:10px;background:rgba(255,255,255,.72)}
.uploaded-document>div{min-width:0}
.uploaded-document strong,.uploaded-document small{display:block}
.uploaded-document strong{overflow:hidden;font-size:12.5px;text-overflow:ellipsis;white-space:nowrap}
.uploaded-document small{margin-top:3px;color:var(--ink-500);font-size:12px}
.document-note{margin-top:10px;padding:10px 12px;border-radius:9px;color:var(--danger);background:var(--danger-soft)}
.document-note strong{display:block;font-size:12px}
.document-note p{margin:3px 0 0;color:inherit;font-size:12px}
.requirement-actions{display:flex;align-items:center;gap:7px;margin-top:10px;flex-wrap:wrap}
.document-upload-form{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:10px;margin-top:auto;padding-top:16px}
.document-upload-form .file-control{min-width:0}
.apl-review-grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(280px,.9fr);gap:16px;margin-bottom:16px}
.declaration-panel{padding:22px;margin-bottom:16px}
.declaration-panel>header{display:flex;align-items:flex-start;gap:13px;margin-bottom:18px}
.declaration-panel>header>span{display:grid;place-items:center;width:40px;height:40px;border-radius:10px;color:var(--success);background:var(--success-soft)}
.declaration-panel h2{margin:0 0 4px}
.declaration-panel p{margin:0;font-size:12.5px}
.declaration-form{display:grid;grid-template-columns:minmax(0,1fr) minmax(220px,.45fr) auto;align-items:end;gap:14px;padding-top:16px;border-top:1px solid var(--line-soft)}
.declaration-check{align-self:center}
.signed-declaration{display:flex;align-items:center;gap:12px;padding:14px;border:1px solid #c4ddcf;border-radius:11px;color:var(--success);background:var(--success-soft)}
.signed-declaration.is-pending{color:var(--warning);border-color:#ead7af;background:var(--warning-soft)}
.signed-declaration>span{display:grid;place-items:center;width:34px;height:34px;border-radius:9px;background:rgba(255,255,255,.65)}
.signed-declaration strong,.signed-declaration small{display:block}
.signed-declaration strong{font-size:13px}.signed-declaration small{margin-top:2px;color:inherit;font-size:12px}
.history-panel{margin-top:16px;overflow:hidden}
.history-list{display:grid;padding:8px 22px 22px}
.history-list>div{position:relative;display:grid;grid-template-columns:18px minmax(0,1fr);gap:11px;min-height:76px}
.history-list>div::before{content:"";position:absolute;top:17px;bottom:-2px;left:6px;width:1px;background:var(--line)}
.history-list>div:last-child::before{display:none}
.history-marker{position:relative;z-index:1;width:13px;height:13px;margin-top:11px;border:3px solid #fff;border-radius:50%;background:var(--gold-600);box-shadow:0 0 0 1px var(--gold-300)}
.history-list strong,.history-list small{display:block}.history-list strong{font-size:12.5px}.history-list p{margin:4px 0;color:var(--ink-600);font-size:12px}.history-list small{color:var(--ink-500);font-size:12px}
.verification-overview{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(300px,.8fr);gap:18px;margin-bottom:18px}
.verification-score{display:flex;align-items:center;gap:20px;padding:22px}.verification-score h2{margin:4px 0 6px;font-family:var(--font-display);font-size:25px;font-weight:600}.verification-score p{margin:0;font-size:12.5px}
.application-identity-card{display:flex;align-items:center;gap:16px;padding:22px}.application-identity-card h2{margin:0 0 3px;font-family:var(--font-display);font-size:23px;font-weight:600}.application-identity-card p{margin:0;font-size:12.5px}.application-identity-card small{display:block;margin-top:4px;color:var(--ink-500);font-size:12px}
.verification-layout{display:grid;grid-template-columns:minmax(0,1fr) 310px;gap:20px;align-items:start}
.verification-main{display:grid;gap:18px;min-width:0}
.detail-section{overflow:hidden}
.detail-grid{margin:0;background:var(--line-soft)}
.detail-grid>div{min-width:0;padding:16px 20px;background:#fff}
.detail-grid dt{margin-bottom:5px;color:var(--ink-500);font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}
.detail-grid dd{margin:0;color:var(--ink-900);font-size:13px;line-height:1.55;overflow-wrap:anywhere}
.detail-grid .detail-span-2{grid-column:1/-1}
.verification-sidebar{display:grid;gap:16px}
.sticky-review-card{position:sticky;top:var(--content-sticky-top,10px);padding:20px}
.sticky-review-card h2{margin-bottom:15px}
.review-action-stack{display:grid;gap:9px;margin-top:18px;padding-top:16px;border-top:1px solid var(--line-soft)}
.admin-document-list{display:grid}
.admin-document-row{display:grid;grid-template-columns:42px minmax(0,1fr) auto;align-items:center;gap:14px;min-height:98px;padding:16px 20px;border-top:1px solid var(--line-soft)}
.admin-document-row:first-child{border-top:0}
.admin-document-row.is-missing{background:var(--canvas-soft)}
.admin-document-copy{min-width:0}.admin-document-copy>div{display:flex;align-items:center;gap:8px}.admin-document-copy>div>span{padding:2px 6px;border-radius:999px;color:var(--danger);background:var(--danger-soft);font-size:12px;font-weight:700;text-transform:uppercase}.admin-document-copy strong{font-size:13px}.admin-document-copy p{margin:4px 0 0;font-size:12px}.admin-document-copy small{display:block;margin-top:3px;color:var(--danger);font-size:12px}
.admin-document-actions{display:flex;align-items:center;justify-content:flex-end;gap:7px;flex-wrap:wrap}
.compact-history{margin:0}.compact-history>header{padding:18px 20px 6px}.compact-history h2{font-size:17px}
.filter-bar.compact-filter-bar{display:flex;align-items:end;justify-content:flex-end;gap:8px;flex-wrap:wrap}
.compact-filter-bar label{min-width:140px}.compact-filter-bar label:first-child{min-width:220px}
.compact-filter-bar label>span{display:block;margin-bottom:5px;font-size:12px;font-weight:700;text-transform:uppercase}


/* reusable profile signature and FR.APL.02 */
.account-menu-link{display:flex;align-items:center;gap:10px;min-height:40px;padding:0 10px;border-radius:7px;color:var(--navy-800);font-size:13.5px;font-weight:700;text-decoration:none}
.account-menu-link:hover{background:var(--gold-soft)}
.account-menu-link .ui-icon{width:17px;height:17px;color:var(--gold-700)}
.profile-account-grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(280px,.85fr);gap:18px;margin-bottom:18px}
.profile-account-card,.profile-security-card{padding:24px}
.profile-account-card .panel-head{margin:-24px -24px 22px;padding:0 24px 18px}
.profile-account-identity{display:flex;align-items:center;gap:16px;margin-bottom:22px;padding:16px;border:1px solid var(--line-soft);border-radius:14px;background:linear-gradient(135deg,var(--surface-soft),#fff)}
.profile-account-identity>div{display:flex;min-width:0;flex-direction:column}.profile-account-identity strong{color:var(--navy-900);font-family:var(--font-display);font-size:21px}.profile-account-identity span{color:var(--ink-500);font-size:14px}
.profile-security-card{display:flex;flex-direction:column;align-items:flex-start;background:linear-gradient(145deg,var(--navy-900),var(--navy-800));color:#fff}
.profile-security-card .overline{color:var(--gold-300)}.profile-security-card h2{margin:8px 0 10px;color:#fff;font-family:var(--font-display);font-size:25px}.profile-security-card>p{margin:0;color:rgba(255,255,255,.72);line-height:1.7}
.profile-security-icon{display:grid;width:48px;height:48px;margin-bottom:18px;place-items:center;border:1px solid rgba(255,255,255,.16);border-radius:14px;background:rgba(255,255,255,.08);color:var(--gold-300)}
.signature-rule-list{display:grid;width:100%;gap:10px;margin-top:22px}.signature-rule-list>div{display:grid;grid-template-columns:34px minmax(0,1fr);align-items:center;gap:10px;padding:10px 12px;border:1px solid rgba(255,255,255,.12);border-radius:10px;background:rgba(255,255,255,.05)}.signature-rule-list span{display:grid;width:30px;height:30px;place-items:center;border-radius:9px;background:var(--gold-500);color:var(--navy-950);font-size:12px;font-weight:700}.signature-rule-list p{margin:0;color:rgba(255,255,255,.82);font-size:14px}
.signature-profile-panel{margin-top:18px;padding:24px}.signature-profile-panel>.panel-head{margin:-24px -24px 22px;padding:0 24px 18px}.signature-profile-grid{display:grid;grid-template-columns:minmax(260px,.75fr) minmax(420px,1.25fr);gap:18px}.signature-current-card,.signature-canvas-form{min-width:0;padding:18px;border:1px solid var(--line-soft);border-radius:14px;background:var(--surface-soft)}
.signature-current-card{display:flex;flex-direction:column;gap:14px}.signature-preview{display:grid;min-height:190px;padding:14px;place-items:center;border:1px dashed var(--line);border-radius:12px;background:#fff}.signature-preview img{display:block;max-width:100%;max-height:150px;object-fit:contain}.signature-preview.compact{min-height:110px}.signature-preview.compact img{max-height:90px}
.signature-meta{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.signature-meta>div{display:flex;min-width:0;flex-direction:column;padding:10px;border-radius:9px;background:#fff}.signature-meta span{color:var(--ink-500);font-size:12px;text-transform:uppercase}.signature-meta strong{overflow:hidden;margin-top:4px;color:var(--navy-800);font-size:13px;text-overflow:ellipsis}
.signature-empty{display:flex;min-height:190px;flex-direction:column;align-items:center;justify-content:center;padding:20px;border:1px dashed var(--line);border-radius:12px;background:#fff;text-align:center}.signature-empty .ui-icon{width:28px;height:28px;margin-bottom:10px;color:var(--gold-700)}.signature-empty strong{color:var(--navy-800)}.signature-empty p{max-width:320px;margin:7px 0 0;color:var(--ink-500);font-size:14px}.signature-empty.compact{min-height:110px}.signature-empty.compact a{margin-top:8px;color:var(--gold-800);font-weight:700}
.signature-canvas-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:12px}.signature-canvas-head h3{margin:4px 0 0;color:var(--navy-900);font-family:var(--font-display);font-size:21px}.signature-live-status{padding:6px 9px;border-radius:999px;background:#fff;color:var(--ink-500);font-size:12px;font-weight:700}.signature-canvas-wrap{position:relative;overflow:hidden;border:1px solid var(--line);border-radius:12px;background:linear-gradient(#fff,#fff),repeating-linear-gradient(0deg,transparent,transparent 31px,var(--line-soft) 32px)}.signature-canvas-wrap canvas{display:block;width:100%;height:auto;aspect-ratio:900/320;touch-action:none;cursor:crosshair}.signature-canvas-wrap canvas.has-ink{background:rgba(255,255,255,.3)}.signature-baseline{position:absolute;right:18px;bottom:13px;left:18px;padding-top:5px;border-top:1px solid var(--line);color:var(--ink-400);font-size:12px;pointer-events:none;text-align:center;text-transform:uppercase}.signature-help{display:flex;align-items:flex-start;gap:9px;margin-top:12px;color:var(--ink-500);font-size:13px}.signature-help .ui-icon{flex:0 0 auto;width:17px;color:var(--gold-700)}.signature-help p{margin:0;line-height:1.55}.signature-delete-form{display:flex;justify-content:flex-end;margin-top:14px}.signature-meta-inline{display:flex;flex-direction:column;align-items:center;margin:8px 0 14px}.signature-meta-inline strong{color:var(--navy-900)}.signature-meta-inline span{color:var(--ink-500);font-size:13px}
.apl02-workspace .wizard-stage{min-width:0}.apl02-unit-list{display:grid;gap:14px}.apl02-unit{overflow:hidden;border:1px solid var(--line);border-radius:14px;background:#fff;box-shadow:var(--shadow-xs)}.apl02-unit>summary{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:17px 19px;cursor:pointer;list-style:none;background:linear-gradient(135deg,var(--surface-soft),#fff)}.apl02-unit>summary::-webkit-details-marker{display:none}.apl02-unit>summary>div{display:flex;min-width:0;align-items:center;gap:12px}.apl02-unit>summary strong{color:var(--navy-900);font-family:var(--font-display);font-size:17px}.apl02-unit>summary>span{color:var(--ink-500);font-size:12px}.unit-code{letter-spacing:.04em}.apl02-elements{display:grid;gap:14px;padding:14px}.apl02-element{overflow:hidden;border:1px solid var(--line-soft);border-radius:12px}.apl02-element>header{display:flex;align-items:center;gap:10px;padding:13px 15px;border-bottom:1px solid var(--line-soft);background:var(--surface-soft)}.apl02-element>header>span{padding:4px 7px;border-radius:6px;background:var(--gold-soft);color:var(--gold-900);font-size:12px;font-weight:700}.apl02-element>header h3{margin:0;color:var(--navy-800);font-size:15px}.apl02-criteria-list{display:grid;gap:1px;background:var(--line-soft)}
.apl02-criterion-card,.apl02-review-card{display:grid;grid-template-columns:58px minmax(0,1fr);gap:14px;padding:17px;background:#fff}.apl02-criterion-card.needs-revision{box-shadow:inset 4px 0 0 var(--danger)}.criterion-number{display:grid;width:46px;height:36px;place-items:center;border:1px solid var(--line);border-radius:9px;background:var(--surface-soft);color:var(--navy-800);font-size:12px;font-weight:700}.criterion-main{min-width:0}.criterion-main>p{margin:0 0 13px;color:var(--ink-700);font-size:15px;line-height:1.65}.self-assessment-choice{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-bottom:12px}.self-assessment-choice label{cursor:pointer}.self-assessment-choice input{position:absolute;opacity:0}.self-assessment-choice span{display:flex;align-items:center;gap:9px;padding:10px 12px;border:1px solid var(--line);border-radius:10px;background:#fff;color:var(--ink-600);font-size:13px;font-weight:700}.self-assessment-choice strong{display:grid;width:28px;height:28px;place-items:center;border-radius:8px;background:var(--surface-soft);color:var(--navy-800)}.self-assessment-choice input:checked+span{border-color:var(--gold-600);background:var(--gold-soft);color:var(--navy-900);box-shadow:0 0 0 2px rgba(196,147,61,.12)}.self-assessment-choice input:disabled+span{cursor:not-allowed;opacity:.75}
.evidence-map{margin-top:12px;padding:12px;border:1px solid var(--line-soft);border-radius:10px;background:var(--surface-soft)}.evidence-map>span{display:block;margin-bottom:8px;color:var(--ink-500);font-size:12px;font-weight:700;text-transform:uppercase}.evidence-map>div{display:flex;flex-wrap:wrap;gap:7px}.check-pill input{position:absolute;opacity:0}.check-pill span{display:block;padding:7px 9px;border:1px solid var(--line);border-radius:999px;background:#fff;color:var(--ink-600);cursor:pointer;font-size:12px;font-weight:700}.check-pill input:checked+span{border-color:var(--gold-600);background:var(--gold-soft);color:var(--navy-900)}.criterion-actions{display:flex;justify-content:flex-end;margin-top:12px}.criterion-review-note{margin:0 0 12px;padding:10px 12px;border-left:3px solid var(--danger);border-radius:7px;background:var(--danger-soft)}.criterion-review-note strong,.criterion-review-note span{display:block}.criterion-review-note strong{color:var(--danger);font-size:12px}.criterion-review-note span{margin-top:4px;color:var(--ink-700);font-size:13px}
.apl02-evidence-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.evidence-card{display:flex;min-width:0;flex-direction:column;padding:17px}.evidence-card>header{display:flex;align-items:center;justify-content:space-between;gap:8px}.evidence-type{color:var(--gold-800);font-size:12px;font-weight:700;text-transform:uppercase}.evidence-card h3{margin:13px 0 6px;color:var(--navy-900);font-family:var(--font-display);font-size:18px}.evidence-card>p{margin:0 0 13px;color:var(--ink-500);font-size:13px;line-height:1.6}.evidence-file{display:flex;align-items:center;gap:10px;margin-top:auto;padding:10px;border:1px solid var(--line-soft);border-radius:9px;background:var(--surface-soft)}.evidence-file>.ui-icon{flex:0 0 auto;color:var(--gold-700)}.evidence-file>div{display:flex;min-width:0;flex-direction:column}.evidence-file strong{overflow:hidden;color:var(--navy-800);font-size:13px;text-overflow:ellipsis;white-space:nowrap}.evidence-file small{margin-top:3px;color:var(--ink-500);font-size:12px}.evidence-card>footer{display:flex;align-items:center;gap:8px;margin-top:13px}.evidence-card>footer form{margin-left:auto}
.approval-signature-card{padding:18px}.signed-snapshot-card{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-top:14px;padding:18px}.signed-snapshot-card>div{min-width:0}.signed-snapshot-card h3{margin:4px 0;color:var(--navy-900)}.signed-snapshot-card p{max-width:760px;margin:4px 0;color:var(--ink-600);font-size:13px}.signed-snapshot-card small{color:var(--ink-500);font-size:12px}.signed-snapshot-card img{width:190px;max-height:90px;object-fit:contain}.signed-snapshot-card.compact{margin:0 0 16px}.signed-snapshot-card.compact img{width:150px;max-height:70px}
.review-signature-strip{display:flex;margin:0 0 18px}.review-signature-strip>div{display:grid;grid-template-columns:minmax(0,1fr) 170px;align-items:center;gap:12px;width:100%;padding:14px 18px;border:1px solid var(--line);border-radius:13px;background:#fff}.review-signature-strip img{grid-column:2;grid-row:1/5;width:160px;max-height:70px;object-fit:contain}.review-signature-strip strong{color:var(--navy-900)}.review-signature-strip small{color:var(--ink-500);font-size:12px}.review-signature-strip .missing-signature{display:flex;grid-template-columns:auto 1fr;color:var(--danger)}.review-section{margin-bottom:18px}.apl02-review-card{grid-template-columns:58px minmax(0,1fr)}.review-answer{display:grid;grid-template-columns:54px minmax(0,1fr);gap:12px;margin-bottom:12px;padding:12px;border-radius:10px;background:var(--surface-soft)}.review-answer .self-value{display:grid;width:48px;height:48px;place-items:center;border-radius:12px;font-weight:700}.self-value.competent{background:var(--success-soft);color:var(--success)}.self-value.not-yet{background:var(--warning-soft);color:var(--warning-dark)}.review-answer strong{color:var(--navy-800);font-size:12px}.review-answer p{margin:4px 0 0;color:var(--ink-600);font-size:13px;line-height:1.55}.mapped-evidence-tags{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:12px}.mapped-evidence-tags a{padding:6px 8px;border-radius:999px;background:var(--gold-soft);color:var(--gold-900);font-size:12px;font-weight:700;text-decoration:none}.review-inline-form{display:grid;grid-template-columns:180px minmax(0,1fr) auto;align-items:end;gap:10px;padding-top:12px;border-top:1px solid var(--line-soft)}.review-inline-form.compact{grid-template-columns:1fr;margin-top:14px}.review-inline-form.compact .button{width:100%}.review-result{display:flex;align-items:flex-start;gap:10px;padding-top:12px;border-top:1px solid var(--line-soft)}.review-result p{margin:2px 0 0;color:var(--ink-500);font-size:13px}.review-note-static{padding:9px;border-radius:8px;background:var(--surface-soft);color:var(--ink-600);font-size:12px}.assessor-decision-panel{padding:24px}.assessor-decision-panel>.panel-head{margin:-24px -24px 20px;padding:0 24px 18px}.assessor-decision-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.decision-card{display:flex;flex-direction:column;align-items:flex-start;padding:18px;border:1px solid var(--line);border-radius:14px;background:var(--surface-soft)}.decision-card>span{display:grid;width:42px;height:42px;place-items:center;border-radius:12px;background:#fff;color:var(--gold-700)}.decision-card h3{margin:12px 0 5px;color:var(--navy-900);font-family:var(--font-display);font-size:20px}.decision-card>p{margin:0 0 14px;color:var(--ink-500);font-size:13px}.decision-card .field,.decision-card .check-row{width:100%}.decision-card .button{width:100%;margin-top:auto}.decision-card>a{align-self:center;margin-top:8px;color:var(--gold-800);font-size:12px;font-weight:700}.decision-card.revision{background:#fff8f5}


.approval-signature-choice{display:grid;gap:12px;padding:14px;border:1px solid var(--line);border-radius:12px;background:var(--surface-soft)}
.approval-signature-choice>div{display:flex;align-items:center;gap:14px;min-width:0}
.approval-signature-choice img{flex:0 0 150px;width:150px;max-height:68px;padding:5px;border:1px solid var(--line-soft);border-radius:9px;object-fit:contain;background:#fff}
.approval-signature-choice strong,.approval-signature-choice small{display:block}
.approval-signature-choice strong{color:var(--navy-900);font-size:13px}
.approval-signature-choice small{margin-top:3px;color:var(--ink-500);font-size:12px;line-height:1.45}
.missing-signature-inline{display:flex;align-items:center;gap:10px;color:var(--danger)}
.missing-signature-inline>.ui-icon{flex:0 0 auto}


/* Scheduling, assessor assignment, and TUK readiness */
.schedule-stat-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-bottom:18px}.schedule-stat-grid article{display:flex;align-items:center;gap:14px;min-width:0;padding:18px 20px;border:1px solid var(--line);border-radius:var(--radius-sm);background:#fff;box-shadow:var(--shadow-xs)}.schedule-stat-grid article>span{display:grid;width:42px;height:42px;place-items:center;border-radius:12px;background:var(--gold-100);color:var(--gold-800)}.schedule-stat-grid small,.schedule-stat-grid strong{display:block}.schedule-stat-grid small{color:var(--ink-500);font-size:12px;text-transform:uppercase;letter-spacing:.08em}.schedule-stat-grid strong{margin-top:3px;color:var(--navy-900);font-family:var(--font-display);font-size:26px;font-weight:600}
.readiness-mini{display:flex;align-items:center;gap:8px}.readiness-mini progress,.readiness-track{overflow:hidden;width:82px;height:7px;border:0;border-radius:999px;background:var(--line-soft);appearance:none}.readiness-mini progress::-webkit-progress-bar,.readiness-track::-webkit-progress-bar{border-radius:999px;background:var(--line-soft)}.readiness-mini progress::-webkit-progress-value,.readiness-track::-webkit-progress-value{border-radius:999px;background:linear-gradient(90deg,var(--gold-600),var(--success))}.readiness-mini progress::-moz-progress-bar,.readiness-track::-moz-progress-bar{border-radius:999px;background:linear-gradient(90deg,var(--gold-600),var(--success))}.readiness-mini strong{font-size:13px}
.schedule-workspace{display:grid;gap:16px;margin-top:20px}.schedule-workspace-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;padding:24px 26px;border:1px solid var(--line);border-radius:var(--radius-md);background:linear-gradient(135deg,#fff,var(--canvas-soft));box-shadow:var(--shadow-sm)}.schedule-workspace-head h2{font-family:var(--font-display);font-size:30px;font-weight:600}.schedule-workspace-head p{margin:0;font-size:14px}.schedule-gate-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.schedule-gate-grid article{padding:16px 18px;border:1px solid var(--line);border-radius:var(--radius-sm);background:#fff}.schedule-gate-grid span,.schedule-gate-grid strong,.schedule-gate-grid small{display:block}.schedule-gate-grid span{color:var(--ink-500);font-size:12px;font-weight:700;text-transform:uppercase}.schedule-gate-grid strong{margin-top:5px;color:var(--navy-900);font-size:19px}.schedule-gate-grid small{margin-top:3px;color:var(--ink-500);font-size:12px}.schedule-action-strip{display:flex;align-items:center;flex-wrap:wrap;gap:9px;padding:14px;border:1px solid var(--line);border-radius:var(--radius-sm);background:#fff}.schedule-action-strip form{margin:0}.button-danger-outline{color:var(--button-danger-strong);border-color:rgba(var(--button-danger-rgb),.36);background:#fff}.button-danger-outline:hover{background:var(--button-danger-soft)}.button-danger{color:#fff;border-color:var(--button-danger-strong);background:linear-gradient(180deg,var(--button-danger),var(--button-danger-strong));box-shadow:0 9px 22px rgba(var(--button-danger-rgb),.20)}.button-warning{color:#fff;border-color:var(--button-warning-strong);background:linear-gradient(180deg,var(--button-warning),var(--button-warning-strong));box-shadow:0 9px 22px rgba(var(--button-warning-rgb),.18)}.split-actions{justify-content:space-between}
.schedule-participants-panel{overflow:hidden}.schedule-participant-list{display:grid}.schedule-participant-list>article{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:14px;padding:16px 22px;border-top:1px solid var(--line-soft)}.schedule-participant-list>article:first-child{border-top:0}.participant-avatar{display:grid;width:42px;height:42px;place-items:center;border-radius:12px;background:var(--navy-100);color:var(--navy-800);font-size:14px;font-weight:700}.schedule-participant-list strong,.schedule-participant-list small{display:block}.schedule-participant-list strong{font-size:14px}.schedule-participant-list small{margin-top:3px;color:var(--ink-500);font-size:12px}.participant-assessors{display:flex;flex-wrap:wrap;gap:6px;margin-top:9px}.participant-actions{display:flex;align-items:center;gap:7px}.participant-actions form{margin:0}.inline-empty{padding:28px}
.assignment-toolbar{display:flex;align-items:flex-end;justify-content:space-between;gap:16px}.assignment-toolbar .filter-bar{margin:0}.assignment-context{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:16px}.assignment-context article{display:flex;align-items:flex-start;gap:13px;padding:18px;border:1px solid var(--line);border-radius:var(--radius-sm);background:#fff}.assignment-context article>span{display:grid;width:38px;height:38px;place-items:center;border-radius:10px;background:var(--gold-100);color:var(--gold-800)}.assignment-context small,.assignment-context strong,.assignment-context p{display:block}.assignment-context small{color:var(--ink-500);font-size:12px;text-transform:uppercase}.assignment-context strong{margin-top:3px;color:var(--navy-900);font-size:17px}.assignment-context p{margin:3px 0 0;font-size:12px}.signed-mini{display:flex;align-items:center;gap:5px;margin-top:5px;color:var(--success);font-size:12px}.muted-text{color:var(--ink-500);font-size:12.5px;line-height:1.45}
.signature-required-banner{display:flex;align-items:center;gap:15px;margin-bottom:16px;padding:16px 18px;border:1px solid #e6c98f;border-radius:var(--radius-sm);background:var(--warning-soft)}.signature-required-banner>span{display:grid;width:40px;height:40px;place-items:center;border-radius:10px;background:#fff;color:var(--warning)}.signature-required-banner>div{min-width:0;flex:1}.signature-required-banner strong{display:block;color:var(--ink-900)}.signature-required-banner p{margin:3px 0 0;font-size:12.5px}.assignment-filter-strip{display:flex;justify-content:flex-end;margin-bottom:16px}.assignment-filter-strip .filter-bar{padding:12px 14px;border:1px solid var(--line);border-radius:var(--radius-sm);background:#fff}.assessor-assignment-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.assessor-assignment-card{display:flex;min-width:0;flex-direction:column;padding:22px;border:1px solid var(--line);border-radius:var(--radius-md);background:#fff;box-shadow:var(--shadow-xs)}.assessor-assignment-card.offered{box-shadow:inset 4px 0 0 var(--gold-600),var(--shadow-xs)}.assessor-assignment-card.accepted{box-shadow:inset 4px 0 0 var(--success),var(--shadow-xs)}.assessor-assignment-card.declined,.assessor-assignment-card.revoked{box-shadow:inset 4px 0 0 var(--danger),var(--shadow-xs)}.assessor-assignment-card>header{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}.assessor-assignment-card h2{margin:4px 0;font-family:var(--font-display);font-size:24px;font-weight:600}.assessor-assignment-card header p{margin:0;font-size:12px}.assignment-detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:17px 0}.assignment-detail-grid>div{padding:11px 12px;border:1px solid var(--line-soft);border-radius:10px;background:var(--canvas-soft)}.assignment-detail-grid span,.assignment-detail-grid strong{display:block}.assignment-detail-grid span{color:var(--ink-500);font-size:12px;font-weight:700;text-transform:uppercase}.assignment-detail-grid strong{margin-top:4px;font-size:12.5px}.assignment-note{display:flex;gap:10px;padding:12px;border-radius:10px;background:var(--gold-100)}.assignment-note>span{color:var(--gold-800)}.assignment-note p,.assignment-response p{margin:0;font-size:12.5px}.assignment-response{margin-top:11px;padding:11px 12px;border-left:3px solid var(--line);background:var(--canvas-soft)}.assignment-response small{display:block;color:var(--ink-500);font-size:12px;text-transform:uppercase}.assessor-assignment-card>footer{display:flex;gap:9px;margin-top:auto;padding-top:17px}.assignment-signed{align-items:center!important;padding:12px!important;border-radius:10px;background:var(--success-soft)}.assignment-signed>span{color:var(--success)}.assignment-signed strong,.assignment-signed small{display:block}.assignment-signed small{color:var(--ink-500);font-size:12px}.signature-consent-box{display:flex;align-items:center;gap:13px;padding:12px;border:1px solid var(--line);border-radius:11px;background:var(--canvas-soft)}.signature-consent-box img{width:140px;max-height:68px;object-fit:contain;border-radius:8px;background:#fff}.signature-consent-box strong,.signature-consent-box small{display:block}.signature-consent-box small{margin-top:3px;color:var(--ink-500);font-size:12px}.consent-check{display:flex;align-items:flex-start;gap:10px;margin-top:14px;padding:12px;border:1px solid var(--line);border-radius:10px;background:#fff;color:var(--ink-700);font-size:12.5px}.consent-check input{margin-top:2px}.inline-warning{padding:12px;border:1px solid #e4baba;border-radius:10px;color:var(--danger);background:var(--danger-soft)}
.tuk-schedule-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.tuk-schedule-card{display:flex;min-width:0;flex-direction:column;padding:22px;border:1px solid var(--line);border-radius:var(--radius-md);background:#fff;box-shadow:var(--shadow-xs)}.tuk-schedule-card>header{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}.tuk-schedule-card h2{margin:3px 0;font-family:var(--font-display);font-size:24px;font-weight:600}.tuk-schedule-card header p{margin:0;font-size:12px}.tuk-schedule-meta{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;margin:17px 0}.tuk-schedule-meta>div{padding:11px;border:1px solid var(--line-soft);border-radius:10px;background:var(--canvas-soft)}.tuk-schedule-meta span,.tuk-schedule-meta strong,.tuk-schedule-meta small{display:block}.tuk-schedule-meta span{color:var(--ink-500);font-size:12px;text-transform:uppercase}.tuk-schedule-meta strong{margin-top:4px;font-size:12px}.tuk-schedule-meta small{margin-top:2px;color:var(--ink-500);font-size:12px}.readiness-card-meter{padding:13px;border-radius:11px;background:var(--navy-950);color:#fff}.readiness-card-meter>div{display:flex;align-items:center;justify-content:space-between}.readiness-card-meter span{color:#cad7dd;font-size:12px;text-transform:uppercase}.readiness-card-meter strong{font-size:17px}.readiness-card-meter .readiness-track{display:block;width:100%;margin:9px 0}.readiness-card-meter small{color:#aebfc7;font-size:12px}.tuk-schedule-card>footer{display:flex;justify-content:flex-end;margin-top:15px}
.readiness-hero{justify-content:space-between;border:1px solid var(--line)}.readiness-hero h2{font-family:var(--font-display);font-size:30px;font-weight:600}.readiness-hero p{margin:0;font-size:13px}.readiness-score{display:flex;flex-direction:column;align-items:center;justify-content:center;flex:0 0 130px;min-height:110px;border:1px solid var(--line);border-radius:18px;background:#fff}.readiness-score strong{color:var(--navy-900);font-family:var(--font-display);font-size:42px;font-weight:600;line-height:1}.readiness-score strong small{font-size:17px}.readiness-score span{margin-top:6px;color:var(--ink-500);font-size:12px;text-transform:uppercase}.readiness-summary-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:11px;margin-bottom:15px}.readiness-summary-grid article{padding:15px 17px;border:1px solid var(--line);border-radius:var(--radius-sm);background:#fff}.readiness-summary-grid span,.readiness-summary-grid strong,.readiness-summary-grid small{display:block}.readiness-summary-grid span{color:var(--ink-500);font-size:12px;text-transform:uppercase}.readiness-summary-grid strong{margin-top:4px;color:var(--navy-900);font-size:18px}.readiness-summary-grid small{margin-top:2px;color:var(--ink-500);font-size:12px}.checklist-panel{overflow:hidden}.readiness-checklist{display:grid}.checklist-item{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:14px;padding:17px 22px;border-top:1px solid var(--line-soft)}.checklist-item:first-child{border-top:0}.checklist-item.action_required,.checklist-item.not_ready{background:linear-gradient(90deg,var(--danger-soft),#fff 38%)}.checklist-item.ready,.checklist-item.corrected{background:linear-gradient(90deg,var(--success-soft),#fff 38%)}.check-state-icon{display:grid;width:38px;height:38px;place-items:center;border-radius:10px;background:var(--canvas-soft);color:var(--ink-500)}.checklist-item.ready .check-state-icon,.checklist-item.corrected .check-state-icon{color:var(--success);background:#fff}.checklist-item.action_required .check-state-icon,.checklist-item.not_ready .check-state-icon{color:var(--danger);background:#fff}.checklist-copy h3{margin:3px 0;color:var(--navy-900);font-size:15px}.checklist-copy>p{margin:7px 0 0;font-size:12.5px}.correction-note{padding:9px;border-left:3px solid var(--success);background:var(--success-soft)}.checklist-copy footer{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin-top:10px}.checklist-copy footer small{color:var(--ink-500);font-size:12px}.evidence-link{display:inline-flex;align-items:center;gap:5px;color:var(--gold-800);font-size:12px;font-weight:650}.checklist-actions{display:flex;align-items:flex-start;gap:6px}.checklist-actions form{margin:0}.signed-readiness-panel{display:flex;align-items:center;gap:15px;padding:18px 20px;border:1px solid #bdd7ca;border-radius:var(--radius-sm);background:var(--success-soft)}.signed-readiness-panel>span{display:grid;width:42px;height:42px;place-items:center;border-radius:11px;background:#fff;color:var(--success)}.signed-readiness-panel>div{min-width:0;flex:1}.signed-readiness-panel strong{display:block}.signed-readiness-panel p{margin:3px 0 0;font-size:12px}.signed-readiness-panel img{width:150px;max-height:70px;object-fit:contain}.readiness-approval-panel{margin-top:15px}
.assessee-schedule-list{display:grid;gap:17px}.assessee-schedule-card{overflow:hidden;border:1px solid var(--line);border-radius:var(--radius-md);background:#fff;box-shadow:var(--shadow-sm)}.assessee-schedule-card>header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:22px 24px;border-bottom:1px solid var(--line-soft);background:linear-gradient(135deg,#fff,var(--canvas-soft))}.assessee-schedule-card h2{margin:3px 0;font-family:var(--font-display);font-size:26px;font-weight:600}.assessee-schedule-card header p{margin:0;font-size:12px}.schedule-primary-info{display:flex;align-items:center;gap:16px;padding:20px 24px}.schedule-date-block{display:flex;flex-direction:column;align-items:center;justify-content:center;flex:0 0 78px;height:78px;border-radius:16px;background:var(--navy-900);color:#fff}.schedule-date-block strong{font-family:var(--font-display);font-size:30px;line-height:1}.schedule-date-block span{margin-top:5px;color:#c6d4db;font-size:12px;text-transform:uppercase}.schedule-primary-info>div:last-child small,.schedule-primary-info>div:last-child strong{display:block}.schedule-primary-info>div:last-child small{color:var(--ink-500);font-size:12px;text-transform:uppercase}.schedule-primary-info>div:last-child strong{margin-top:4px;color:var(--navy-900);font-size:15px}.schedule-primary-info p{margin:4px 0 0;font-size:12px}.assessee-schedule-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;border-top:1px solid var(--line-soft);border-bottom:1px solid var(--line-soft);background:var(--line-soft)}.assessee-schedule-grid>div{display:flex;align-items:flex-start;gap:11px;min-width:0;padding:17px 20px;background:#fff}.assessee-schedule-grid>div>span{color:var(--gold-800)}.assessee-schedule-grid small,.assessee-schedule-grid strong,.assessee-schedule-grid p{display:block}.assessee-schedule-grid small{color:var(--ink-500);font-size:12px;text-transform:uppercase}.assessee-schedule-grid strong{margin-top:4px;font-size:12.5px}.assessee-schedule-grid p{margin:2px 0 0;font-size:12px}.schedule-instructions{display:flex;gap:12px;margin:18px 24px;padding:14px;border-radius:11px;background:var(--gold-100)}.schedule-instructions>span{color:var(--gold-800)}.schedule-instructions strong{display:block}.schedule-instructions p{margin:3px 0 0;font-size:12.5px}.assessee-schedule-card>footer{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:18px 24px;border-top:1px solid var(--line-soft)}.assessee-schedule-card>footer small{display:block;color:var(--ink-500);font-size:12px;text-transform:uppercase}.assessee-schedule-card>footer p{margin:5px 0 0;font-size:12px}.schedule-confirm-actions{display:flex;gap:8px}.schedule-confirm-actions form{margin:0}


/* Assessor scheme scope — */
.scope-chip-list {
    display: flex;
    flex-wrap: wrap;
    gap: .4rem;
    min-width: min(24rem, 100%);
}
.scope-chip-list .count-pill {
    max-width: 100%;
    white-space: normal;
    line-height: 1.35;
}
.field select[multiple] {
    min-height: 9.5rem;
    padding: .55rem;
}
.field select[multiple] option {
    padding: .55rem .65rem;
    border-radius: .45rem;
}


/* Branding & logo institution — premium off-white badge. */
.brand-logo,.login-brand-logo,.identity-mark.has-logo,.verification-brand-logo{position:relative;isolation:isolate;display:grid;place-items:center;flex:0 0 auto;overflow:hidden;border:1px solid var(--logo-badge-border);background:linear-gradient(145deg,var(--logo-badge-surface-strong),var(--logo-badge-surface));box-shadow:var(--logo-badge-shadow)}
.brand-logo::after,.login-brand-logo::after,.identity-mark.has-logo::after,.verification-brand-logo::after{content:"";position:absolute;inset:3px;z-index:0;border:1px solid var(--logo-badge-inner);border-radius:inherit;pointer-events:none}
.brand-logo{width:60px;height:60px;border-radius:17px}.brand-logo img{position:relative;z-index:1;display:block;width:100%;height:100%;padding:4px;object-fit:contain;image-rendering:-webkit-optimize-contrast;backface-visibility:hidden;transform:translateZ(0)}
.login-brand-logo{width:110px;height:110px;border-radius:28px}.login-brand-logo img{position:relative;z-index:1;display:block;width:100%;height:100%;padding:9px;object-fit:contain;image-rendering:-webkit-optimize-contrast;backface-visibility:hidden;transform:translateZ(0)}
.identity-mark.has-logo{transform:none;border-radius:17px}.identity-mark.has-logo img{position:relative;z-index:1;width:100%;height:100%;padding:9px;object-fit:contain}
.verification-brand-logo{width:68px;height:68px;margin:0 auto 17px;border-radius:20px}.verification-brand-logo img{position:relative;z-index:1;width:100%;height:100%;padding:10px;object-fit:contain}
.verification-card>.brand-emblem{margin:0 auto 17px}
.institution-settings-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(300px,340px);gap:20px;align-items:start}.institution-main-form{min-width:0}.institution-main-form>.panel{overflow:hidden}.institution-logo-column{position:sticky;top:var(--content-sticky-top,10px)}.institution-form-actions{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:20px;padding:18px 20px;border-top:1px solid var(--line-soft);background:linear-gradient(180deg,#fff,var(--canvas-soft))}.institution-audit-note{display:flex;align-items:center;gap:12px;min-width:0}.institution-audit-note .guidance-icon{flex:0 0 auto}.institution-audit-note strong,.institution-audit-note p{display:block;margin:0}.institution-audit-note p{margin-top:3px;color:var(--ink-500);font-size:12px;line-height:1.45}.institution-form-actions .button{flex:0 0 auto}
.logo-manager{padding-bottom:20px}.logo-preview{display:grid;place-items:center;gap:12px;min-height:210px;margin:0 20px 20px;border:1px dashed var(--line);border-radius:16px;background:linear-gradient(145deg,#fff,var(--canvas-soft));color:var(--ink-500)}
.logo-preview.has-image{border-style:solid}.logo-preview img{width:min(180px,72%);height:160px;padding:16px;border:1px solid var(--logo-badge-border);border-radius:22px;background:linear-gradient(145deg,var(--logo-badge-surface-strong),var(--logo-badge-surface));box-shadow:0 14px 34px rgba(4,24,35,.11);object-fit:contain}.logo-preview .brand-emblem{margin:0}.logo-preview small{font-weight:700}
.logo-upload-form,.logo-manager>form:last-child{padding:0 20px}.logo-manager>form:last-child{margin-top:10px}

/* FR.AK.01 & assessment planning — */
.ak01-workspace{display:grid;grid-template-columns:310px minmax(0,1fr);gap:20px;align-items:start}.ak01-list-panel{position:sticky;top:var(--content-sticky-top,10px);overflow:hidden}.ak01-plan-list{display:grid;max-height:calc(100vh - 240px);overflow:auto}
.ak01-plan-card{display:flex;align-items:center;justify-content:space-between;gap:12px;min-width:0;padding:17px 18px;border-top:1px solid var(--line-soft);color:var(--ink-800);background:#fff;transition:.18s ease}.ak01-plan-card:first-child{border-top:0}.ak01-plan-card:hover,.ak01-plan-card.is-active{background:var(--gold-100)}.ak01-plan-card.is-active{box-shadow:inset 4px 0 0 var(--gold-600)}.ak01-plan-card>div{display:grid;gap:5px;min-width:0}.ak01-plan-card strong,.ak01-plan-card small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ak01-plan-card strong{font-size:15px}.ak01-plan-card small{color:var(--ink-500);font-size:12px}.ak01-main-column{display:grid;gap:17px;min-width:0}
.ak01-hero{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:27px 30px;border-radius:var(--radius-md);color:#fff;background:linear-gradient(135deg,var(--navy-950),#123d4c);box-shadow:var(--shadow-md)}.ak01-hero h2{margin:4px 0;color:#fff;font-family:var(--font-display);font-size:32px;font-weight:600}.ak01-hero p{margin:0;color:#bfd0d7}.ak01-hero-status{display:grid;justify-items:end;gap:4px;text-align:right}.ak01-hero-status span{color:#8fa8b4;font-size:12px;font-weight:700;letter-spacing:.1em;text-transform:uppercase}.ak01-hero-status strong{font-size:18px}.ak01-hero-status small{color:#c8d6dc;font-size:12px}
.ak01-summary-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:11px}.ak01-summary-grid article{min-width:0;padding:16px 18px;border:1px solid var(--line);border-radius:var(--radius-sm);background:#fff}.ak01-summary-grid span,.ak01-summary-grid strong,.ak01-summary-grid small{display:block}.ak01-summary-grid span{color:var(--ink-500);font-size:12px;font-weight:700;text-transform:uppercase}.ak01-summary-grid strong{overflow:hidden;margin-top:6px;color:var(--navy-900);font-size:17px;text-overflow:ellipsis;white-space:nowrap}.ak01-summary-grid small{overflow:hidden;margin-top:3px;color:var(--ink-500);font-size:12px;text-overflow:ellipsis;white-space:nowrap}
.ak01-agreement-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;background:var(--line-soft)}.ak01-agreement-grid article{padding:19px 22px;background:#fff}.ak01-agreement-grid .span-2{grid-column:1/-1}.ak01-agreement-grid span{display:block;margin-bottom:7px;color:var(--gold-800);font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.ak01-agreement-grid p{margin:0;color:var(--ink-700);font-size:14px;line-height:1.7}
.ak01-item-list{display:grid}.ak01-item-list article{display:grid;grid-template-columns:42px minmax(0,1fr) auto;gap:14px;align-items:start;padding:18px 22px;border-top:1px solid var(--line-soft)}.ak01-item-list article:first-child{border-top:0}.ak01-item-index{display:grid;place-items:center;width:42px;height:42px;border:1px solid var(--gold-300);border-radius:11px;color:var(--gold-800);background:var(--gold-100);font-family:var(--font-display);font-weight:700}.ak01-item-copy{min-width:0}.ak01-item-copy strong{display:block;color:var(--navy-900);font-size:15px}.ak01-item-copy>small{display:block;margin-top:7px;color:var(--ink-500);font-size:12px}.ak01-item-copy p{margin:8px 0 0;font-size:13px}.ak01-item-meta{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}.ak01-item-meta span{padding:4px 8px;border:1px solid var(--line);border-radius:999px;color:var(--ink-600);background:var(--canvas-soft);font-size:12px;font-weight:700}.read-only-list article{grid-template-columns:42px minmax(0,1fr)}
.ak01-signoff-panel{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:22px 24px}.ak01-signoff-panel h2{margin:3px 0}.ak01-signoff-panel p{margin:0}.ak01-signoff-panel form{display:grid;justify-items:end;gap:12px;max-width:520px}.approval-check{display:flex;align-items:flex-start;gap:10px;color:var(--ink-700);font-size:13px;line-height:1.55}.approval-check input{margin-top:3px}.certificate-terms{padding:10px 12px;border:1px solid var(--line-soft);border-radius:10px;background:var(--surface-soft);color:var(--ink-600);font-size:12.5px}.certificate-terms summary{cursor:pointer;font-weight:800;color:var(--ink-700)}.certificate-terms p{margin:8px 0 0}.signature-status-pair,.ak01-decision-actions{display:flex;align-items:center;gap:10px}.ak01-decision-actions>form{min-width:min(520px,100%)}
.signature-comparison{overflow:hidden}.signature-status-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;background:var(--line-soft)}.signature-status-grid article{display:grid;justify-items:center;align-content:center;min-height:190px;padding:20px;background:#fff;text-align:center}.signature-status-grid article>span{color:var(--ink-500);font-size:12px;font-weight:700;text-transform:uppercase}.signature-status-grid img{width:min(230px,90%);height:90px;margin:10px 0;object-fit:contain}.signature-status-grid strong{font-size:15px}.signature-status-grid small{margin-top:4px;color:var(--ink-500);font-size:12px}


/* Assessment execution, evidence, and controlled Excel import */

.assessment-workspace{display:grid;grid-template-columns:minmax(260px,320px) minmax(0,1fr);align-items:start;gap:18px}.assessment-queue{position:sticky;top:var(--content-sticky-top,10px);max-height:calc(100vh - var(--topbar-height) - 36px);overflow:hidden}.assessment-queue-list{max-height:calc(100vh - var(--topbar-height) - 120px);overflow-y:auto}.assessment-queue-card{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;padding:15px 18px;border-top:1px solid var(--line-soft);background:#fff;transition:background .18s ease,box-shadow .18s ease}.assessment-queue-card:first-child{border-top:0}.assessment-queue-card.is-active{background:linear-gradient(90deg,var(--gold-soft),#fff);box-shadow:inset 3px 0 0 var(--gold-600)}.assessment-queue-card>div{display:grid;gap:5px;min-width:0}.assessment-queue-card strong{overflow:hidden;color:var(--navy-900);font-size:14px;text-overflow:ellipsis;white-space:nowrap}.assessment-queue-card small{overflow:hidden;color:var(--ink-500);font-size:12px;text-overflow:ellipsis;white-space:nowrap}.assessment-queue-card .status-badge{justify-self:start}.assessment-main{display:grid;gap:16px;min-width:0}
.assessment-hero{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;padding:28px;border-radius:var(--radius-md);color:#fff;background:radial-gradient(circle at 85% 15%,rgba(223,201,159,.20),transparent 25%),linear-gradient(135deg,var(--navy-950),var(--navy-800));box-shadow:var(--shadow-md)}.assessment-hero h2{margin:5px 0 4px;color:#fff;font-family:var(--font-display);font-size:34px;font-weight:600}.assessment-hero p{margin:0;color:#c1d0d8}.assessment-hero-status{display:grid;min-width:180px;padding:15px 18px;border:1px solid rgba(255,255,255,.14);border-radius:14px;background:rgba(255,255,255,.07);backdrop-filter:blur(6px)}.assessment-hero-status span{color:#91a7b4;font-size:12px;font-weight:700;letter-spacing:.12em;text-transform:uppercase}.assessment-hero-status strong{margin:5px 0;color:#fff;font-size:20px}.assessment-hero-status small{color:var(--gold-300)}
.assessment-summary-rail{margin:0}.assessment-opening,.assessment-finalize-panel,.assessment-control-bar{display:flex;align-items:center;justify-content:space-between;gap:22px}.assessment-opening h2,.assessment-finalize-panel h2{margin:4px 0 5px;font-family:var(--font-display);font-size:24px}.assessment-opening p,.assessment-finalize-panel p{margin:0}.assessment-control-bar>div{display:flex;align-items:center;flex-wrap:wrap;gap:12px 18px;color:var(--ink-600);font-size:13px}.assessment-control-bar form{margin:0}.assessment-unit-list{display:grid;gap:14px}.assessment-unit-card{overflow:hidden;border:1px solid var(--line);border-radius:14px;background:#fff}.assessment-unit-card>header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:17px 20px;border-bottom:1px solid var(--line-soft);background:var(--surface-soft)}.assessment-unit-card>header>div{display:flex;align-items:flex-start;gap:12px}.assessment-unit-card h3{margin:1px 0 0;color:var(--navy-900);font-size:15px}.assessment-unit-card>header>span{color:var(--ink-500);font-size:12px}.unit-code{display:inline-flex;flex:0 0 auto;padding:5px 8px;border-radius:7px;color:var(--gold-900);background:var(--gold-soft);font-size:12px;font-weight:700}.assessment-kuk-list{display:grid}.assessment-kuk-row{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:18px;padding:15px 20px;border-top:1px solid var(--line-soft)}.assessment-kuk-row:first-child{border-top:0}.assessment-kuk-row p{margin:3px 0 5px;color:var(--ink-800);font-size:13.5px;line-height:1.55}.assessment-kuk-row small{color:var(--ink-500);font-size:12px}.criterion-code{display:inline-block;color:var(--navy-800);font-size:12px;font-weight:700}.assessment-kuk-outcome{display:flex;align-items:center;justify-content:flex-end;gap:8px;min-width:170px}.assessment-kuk-outcome small{white-space:nowrap}
.candidate-response-text{max-width:52rem;overflow-wrap:anywhere}
.assessment-secondary-grid{display:grid;grid-template-columns:1.08fr .92fr;gap:16px}.evidence-list,.incident-list{display:grid}.evidence-list>article{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:12px;padding:14px 18px;border-top:1px solid var(--line-soft)}.evidence-list>article:first-child,.incident-list>article:first-child{border-top:0}.file-icon{display:grid;width:39px;height:39px;place-items:center;border-radius:10px;color:var(--gold-800);background:var(--gold-soft)}.evidence-list strong,.evidence-list small{display:block}.evidence-list strong{font-size:13px}.evidence-list small{margin-top:3px;color:var(--ink-500);font-size:12px}.evidence-list p{margin:5px 0 0;font-size:12px}.incident-list>article{display:grid;grid-template-columns:auto minmax(0,1fr);gap:11px;padding:14px 18px;border-top:1px solid var(--line-soft)}.incident-list>article>span{display:grid;width:34px;height:34px;place-items:center;border-radius:9px;background:var(--surface-soft)}.incident-list strong,.incident-list small{display:block}.incident-list strong{font-size:13px}.incident-list small{margin-top:2px;color:var(--ink-500);font-size:12px}.incident-list p{margin:7px 0 0;font-size:12.5px}.incident-list em{display:block;margin-top:5px;color:var(--ink-600);font-size:12px}.incident-list .severity-warning>span{color:var(--warning);background:var(--warning-soft)}.incident-list .severity-critical>span{color:var(--danger);background:var(--danger-soft)}.completion-banner{display:flex;align-items:flex-start;gap:15px;border-color:rgba(45,125,93,.25);background:var(--success-soft)}.completion-banner>span{display:grid;width:44px;height:44px;place-items:center;border-radius:12px;color:#fff;background:var(--success)}.completion-banner strong{color:var(--success)}.completion-banner p{margin:4px 0}.completion-banner small{color:var(--ink-500)}
.assessment-modal-context{margin-bottom:16px;padding:13px 15px;border:1px solid var(--line);border-radius:11px;background:var(--surface-soft)}.assessment-modal-context strong{color:var(--navy-900)}.assessment-modal-context p{margin:5px 0 0}.evidence-kuk-grid{max-height:280px;padding:2px;overflow-y:auto}.template-download-card{display:flex;align-items:center;gap:13px;margin-bottom:16px;padding:14px 16px;border:1px solid var(--line);border-radius:12px;color:var(--navy-900);background:var(--surface-soft);text-decoration:none}.template-download-card>svg{color:var(--gold-800)}.template-download-card strong,.template-download-card small{display:block}.template-download-card small{margin-top:3px;color:var(--ink-500)}.modal-extra-wide{width:min(1180px,calc(100vw - 32px))}.preview-counts{display:flex;align-items:center;gap:8px}
.evidence-library-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding:18px}.evidence-library-grid>article{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:13px;padding:16px;border:1px solid var(--line);border-radius:13px;background:#fff}.evidence-library-icon{display:grid;width:44px;height:44px;place-items:center;border-radius:12px;color:var(--gold-800);background:var(--gold-soft)}.evidence-library-grid h3{margin:7px 0 3px;font-size:14px}.evidence-library-grid p{margin:0;color:var(--ink-600);font-size:12px}.evidence-library-grid small{display:block;margin-top:4px;color:var(--ink-500);font-size:12px}
.import-type-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-bottom:18px}.import-type-card{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:14px;padding:18px;border:1px solid var(--line);border-radius:14px;color:var(--ink-900);background:#fff;box-shadow:var(--shadow-xs);text-decoration:none;transition:border-color .18s ease,transform .18s ease,box-shadow .18s ease}.import-type-card:hover,.import-type-card.is-active{border-color:rgba(var(--theme-accent-rgb),.55);box-shadow:var(--shadow-sm);transform:translateY(-1px)}.import-type-card.is-active{background:linear-gradient(135deg,var(--gold-soft),#fff)}.import-type-card>span{display:grid;width:44px;height:44px;place-items:center;border-radius:12px;color:var(--gold-800);background:var(--gold-soft)}.import-type-card strong,.import-type-card small{display:block}.import-type-card strong{color:var(--navy-900)}.import-type-card small{margin-top:4px;color:var(--ink-500);line-height:1.45}.import-type-card>svg{width:16px;color:var(--ink-400)}.import-guide-panel{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:18px}.import-guide-panel h2{margin:4px 0 5px;font-family:var(--font-display);font-size:25px}.import-guide-panel p{margin:0 0 5px}.import-guide-panel small{color:var(--ink-500)}.import-payload{display:flex;flex-wrap:wrap;gap:7px}.import-payload span{display:inline-flex;align-items:center;gap:5px;padding:5px 7px;border-radius:7px;background:var(--surface-soft)}.import-payload small{color:var(--ink-500);font-size:12px;text-transform:uppercase}.import-payload strong{font-size:12px}.panel-footer-actions{display:flex;align-items:center;justify-content:flex-end;gap:10px;padding:15px 20px;border-top:1px solid var(--line-soft)}.panel-footer-actions form{margin:0}.import-safety-note{display:flex;align-items:flex-start;gap:11px;padding:13px 14px;border:1px solid rgba(45,125,93,.20);border-radius:11px;color:var(--success);background:var(--success-soft)}.import-safety-note p{margin:0;font-size:12px;line-height:1.55}.import-safety-note>svg{flex:0 0 auto;margin-top:2px}


/* FR.AK.05, FR.AK.06, dan impor kontekstual */
.recommendation-workspace{display:grid;grid-template-columns:310px minmax(0,1fr);gap:18px;align-items:start}.recommendation-queue{position:sticky;top:var(--content-sticky-top,10px);overflow:hidden}.recommendation-queue-list{display:grid;max-height:calc(100vh - 220px);overflow:auto}.recommendation-queue-card{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:15px 17px;border-top:1px solid var(--line-soft);background:#fff}.recommendation-queue-card:first-child{border-top:0}.recommendation-queue-card.is-active{background:linear-gradient(135deg,var(--gold-soft),#fff);box-shadow:inset 3px 0 0 var(--gold-700)}.recommendation-queue-card>div{display:flex;min-width:0;flex-direction:column;gap:5px}.recommendation-queue-card strong{overflow:hidden;color:var(--navy-900);font-size:14px;text-overflow:ellipsis;white-space:nowrap}.recommendation-queue-card small{color:var(--ink-500);font-size:12px}.recommendation-main{display:grid;min-width:0;gap:16px}.recommendation-hero{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:24px;background:linear-gradient(135deg,var(--navy-950),var(--navy-800));color:#fff}.recommendation-hero h2{margin:5px 0 4px;color:#fff;font-family:var(--font-display);font-size:31px}.recommendation-hero p{margin:0;color:#c7d3da}.recommendation-result{display:grid;min-width:220px;padding:15px 18px;border:1px solid rgba(255,255,255,.15);border-radius:14px;background:rgba(255,255,255,.08)}.recommendation-result span{font-size:12px;font-weight:700;letter-spacing:.1em;text-transform:uppercase}.recommendation-result strong{margin:5px 0;font-size:21px}.recommendation-result small{color:#cfdae0}.recommendation-result.success strong{color:#9fe1c2}.recommendation-result.danger strong{color:#ffc0bd}.recommendation-unit-list{display:grid}.recommendation-unit-list>article{display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,.8fr);align-items:start;gap:18px;padding:16px 20px;border-top:1px solid var(--line-soft)}.recommendation-unit-list>article:first-child{border-top:0}.recommendation-unit-list>article>div{display:flex;align-items:flex-start;gap:10px}.recommendation-unit-list strong{color:var(--navy-900);font-size:14px;line-height:1.5}.recommendation-unit-list .field{margin:0}.recommendation-unit-list.compact>article{grid-template-columns:1fr}.recommendation-unit-list.compact p{margin:7px 0 0;color:var(--ink-600);font-size:13px}.recommendation-read-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;padding:18px}.recommendation-read-grid article{padding:15px;border:1px solid var(--line-soft);border-radius:12px;background:var(--surface-soft)}.recommendation-read-grid span{display:block;color:var(--ink-500);font-size:12px;font-weight:700;letter-spacing:.06em;text-transform:uppercase}.recommendation-read-grid p{margin:7px 0 0;color:var(--ink-700);font-size:13.5px;line-height:1.65}.revision-callout{display:flex;align-items:flex-start;gap:12px;padding:16px;border-color:rgba(183,72,69,.24);background:var(--danger-soft)}.revision-callout>span{display:grid;width:38px;height:38px;place-items:center;border-radius:10px;color:#fff;background:var(--danger)}.revision-callout strong{color:var(--danger)}.revision-callout p{margin:4px 0 0}.quality-checklist{display:grid}.quality-checklist>article{display:grid;grid-template-columns:minmax(240px,1fr) 190px minmax(260px,1fr);align-items:end;gap:14px;padding:16px 20px;border-top:1px solid var(--line-soft)}.quality-checklist>article:first-child{border-top:0}.quality-checklist>article>div{align-self:center}.quality-checklist strong,.quality-checklist small{display:block}.quality-checklist strong{color:var(--navy-900);font-size:14px}.quality-checklist small{margin-top:4px;color:var(--ink-500);font-size:12px}.quality-checklist .field{margin:0}.workspace-empty{display:grid;min-height:330px;place-items:center;text-align:center}.workspace-empty>span{display:grid;width:58px;height:58px;place-items:center;border-radius:16px;color:var(--gold-800);background:var(--gold-soft)}.workspace-empty h2{margin:12px 0 4px}.workspace-empty p{margin:0;max-width:520px}


/* Paket keputusan read-only dan register temuan */
.decision-readiness-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;padding:20px}
.decision-readiness-grid article{min-width:0;padding:18px;border:1px solid var(--line);border-radius:18px;background:linear-gradient(180deg,var(--surface),var(--surface-soft))}
.decision-readiness-grid small{display:block;margin-bottom:6px;color:var(--ink-500);font-size:.78rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}
.decision-readiness-grid strong{display:block;color:var(--ink-900);font-size:1rem}
.decision-readiness-grid p{margin:9px 0 0;color:var(--ink-650);line-height:1.65}
.quality-checklist.readonly article{grid-template-columns:auto minmax(0,1fr)}


/* Keputusan sertifikasi, pengesahan hasil, klarifikasi, dan akun internal */
.decision-workspace{display:grid;grid-template-columns:320px minmax(0,1fr);align-items:start;gap:20px}.decision-queue{position:sticky;top:var(--content-sticky-top,10px);overflow:hidden}.decision-queue-list{display:grid;max-height:calc(100vh - 210px);overflow:auto}.decision-queue-card{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 18px;border-top:1px solid var(--line-soft);transition:background .2s ease,border-color .2s ease}.decision-queue-card:first-child{border-top:0}.decision-queue-card.is-active{background:var(--gold-soft);box-shadow:inset 3px 0 0 var(--gold-700)}.decision-queue-card>div{display:grid;min-width:0;gap:5px}.decision-queue-card strong{overflow:hidden;color:var(--navy-900);font-size:.94rem;text-overflow:ellipsis;white-space:nowrap}.decision-queue-card small{color:var(--ink-500);font-size:.79rem;line-height:1.4}.decision-main{display:grid;min-width:0;gap:18px}.decision-hero{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:24px;background:linear-gradient(135deg,var(--navy-950),var(--navy-800));color:#fff}.decision-hero h2{margin:5px 0;font-size:clamp(1.55rem,3vw,2.25rem);color:#fff}.decision-hero p{margin:0;color:rgba(255,255,255,.72)}.decision-summary-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;padding:20px}.decision-summary-grid article{padding:17px;border:1px solid var(--line-soft);border-radius:16px;background:var(--surface-soft)}.decision-summary-grid article.span-2{grid-column:1/-1}.decision-summary-grid small{display:block;color:var(--ink-500);font-size:.78rem;font-weight:700;letter-spacing:.07em;text-transform:uppercase}.decision-summary-grid strong{display:block;margin-top:5px;color:var(--navy-900);font-size:1rem}.decision-summary-grid p{margin:8px 0 0;color:var(--ink-650);font-size:.9rem;line-height:1.65}.clarification-list{display:grid}.clarification-list>article{display:grid;gap:10px;padding:18px 20px;border-top:1px solid var(--line-soft)}.clarification-list>article:first-child{border-top:0}.clarification-list strong{color:var(--navy-900);font-size:.95rem;line-height:1.5}.clarification-list p{margin:0;padding:12px 14px;border-left:3px solid var(--gold-500);background:var(--surface-soft);color:var(--ink-650);font-size:.9rem;line-height:1.65}.clarification-meta{display:flex;align-items:center;justify-content:space-between;gap:10px}.clarification-meta small{color:var(--ink-500);font-size:.78rem}.decision-action-panel{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:22px}.decision-action-panel h2{margin:4px 0}.decision-action-panel p{margin:0;color:var(--ink-600)}.decision-final-note{margin:0;padding:0 20px 20px;color:var(--ink-700);font-size:.94rem;line-height:1.7}.signature-status-grid.single{grid-template-columns:minmax(260px,520px);justify-content:center}.approval-complete{display:flex;align-items:flex-start;gap:16px;padding:22px}.approval-complete h2{margin:4px 0}.approval-complete p{margin:0 0 4px;color:var(--ink-650);line-height:1.6}.clarification-inbox{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;padding:20px}.clarification-inbox-card{display:grid;align-content:start;gap:11px;padding:18px;border:1px solid var(--line);border-radius:18px;background:linear-gradient(180deg,var(--surface),var(--surface-soft))}.clarification-inbox-card h3{margin:0;color:var(--navy-900)}.clarification-inbox-card blockquote{margin:0;padding:13px 15px;border-left:3px solid var(--gold-600);background:var(--gold-soft);color:var(--ink-750);font-size:.92rem;line-height:1.65}.clarification-inbox-card>small{color:var(--ink-500);font-size:.78rem}.clarification-response{padding:13px 15px;border-radius:12px;background:var(--success-soft)}.clarification-response strong{color:var(--success)}.clarification-response p{margin:5px 0 0;line-height:1.6}.table-text-wrap{display:block;max-width:430px;white-space:normal;line-height:1.55}.result-hero{display:flex;align-items:center;justify-content:space-between;gap:22px;padding:26px;color:#fff}.result-hero.success{background:linear-gradient(135deg,#0d5548,#177567)}.result-hero.danger{background:linear-gradient(135deg,#7f302e,#a94743)}.result-hero.pending{background:linear-gradient(135deg,var(--navy-950),var(--navy-800))}.result-hero h2{margin:5px 0;color:#fff;font-size:clamp(1.55rem,3vw,2.25rem)}.result-hero p{margin:0;color:rgba(255,255,255,.75)}.result-hero>div:last-child{display:grid;min-width:210px;gap:5px;padding:16px 20px;border:1px solid rgba(255,255,255,.18);border-radius:16px;background:rgba(255,255,255,.08);text-align:right}.result-hero>div:last-child span,.result-hero>div:last-child small{font-size:.78rem}.result-hero>div:last-child strong{font-size:1.25rem}.result-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-top:18px}.result-detail{display:grid;gap:14px;padding:20px}.result-detail article{padding:16px;border:1px solid var(--line-soft);border-radius:15px;background:var(--surface-soft)}.result-detail small,.result-detail span{color:var(--ink-500);font-size:.78rem}.result-detail strong{display:block;margin:5px 0;color:var(--navy-900)}.result-detail p{margin:0 0 7px;color:var(--ink-650);font-size:.9rem;line-height:1.65}.result-signature img{display:block;width:min(100%,240px);height:92px;margin:10px auto;object-fit:contain}.certificate-progress{margin-top:18px;padding:22px}.certificate-progress>div{display:flex;align-items:flex-start;gap:16px}.certificate-progress h2{margin:4px 0}.certificate-progress p{margin:0;color:var(--ink-650);line-height:1.6}


/* sertifikat, serah terima, keluhan, banding, dan laporan */
.certificate-workspace,.case-workspace{display:grid;grid-template-columns:minmax(280px,350px) minmax(0,1fr);gap:18px;align-items:start}.certificate-queue,.case-queue{position:sticky;top:var(--content-sticky-top,10px);max-height:calc(100dvh - var(--topbar-height) - 38px);overflow:hidden}.certificate-queue-list,.case-queue-list{display:grid;gap:9px;max-height:calc(100dvh - 260px);padding:0 18px 18px;overflow:auto}.certificate-queue-card,.case-queue-card{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px;border:1px solid var(--line-soft);border-radius:13px;background:var(--surface-soft)}.certificate-queue-card.is-active,.case-queue-card.is-active{border-color:var(--gold-500);background:var(--gold-100)}.certificate-queue-card>div,.case-queue-card>div{display:grid;gap:4px;min-width:0}.certificate-queue-card strong,.case-queue-card strong{color:var(--navy-900);font-size:14px}.certificate-queue-card small,.case-queue-card small{overflow:hidden;color:var(--ink-500);font-size:12px;text-overflow:ellipsis;white-space:nowrap}.certificate-main,.case-main{display:grid;gap:16px;min-width:0}.certificate-hero,.case-hero{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:25px 28px;background:linear-gradient(135deg,var(--navy-950),var(--navy-800));color:#fff}.certificate-hero h2,.case-hero h2{margin:4px 0;font-family:var(--font-display);font-size:30px;font-weight:600}.certificate-hero p,.case-hero p{margin:0;color:rgba(255,255,255,.72)}.certificate-hero>div:last-child,.case-hero>div:last-child{display:grid;gap:4px;text-align:right}.certificate-hero>div:last-child span,.case-hero>div:last-child span{color:rgba(255,255,255,.62);font-size:12px;text-transform:uppercase}.certificate-hero>div:last-child strong,.case-hero>div:last-child strong{font-size:22px}.certificate-hero>div:last-child small,.case-hero>div:last-child small{color:var(--gold-200)}.certificate-data,.handover-panel,.case-thread{overflow:hidden}.detail-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;padding:20px 22px}.detail-grid article{padding:15px;border:1px solid var(--line-soft);border-radius:11px;background:var(--surface-soft)}.detail-grid small,.detail-grid strong{display:block}.detail-grid small{color:var(--ink-500);font-size:12px;text-transform:uppercase}.detail-grid strong{margin-top:6px;color:var(--navy-900);font-size:15px}.certificate-action-panel,.case-action-panel{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:23px 25px;background:linear-gradient(135deg,#fff,var(--canvas-soft))}.certificate-action-panel h2,.case-action-panel h2{margin:4px 0;font-family:var(--font-display);font-size:25px;font-weight:600}.certificate-action-panel p,.case-action-panel p{margin:0}.panel-actions{display:flex;justify-content:flex-end;gap:10px;padding:0 22px 22px}.receipt-signature{width:190px;max-height:80px;object-fit:contain}.case-message-list{display:grid;gap:12px;padding:20px 22px}.case-message{max-width:82%;padding:14px 16px;border:1px solid var(--line-soft);border-radius:14px 14px 14px 4px;background:var(--surface-soft)}.case-message.mine{justify-self:end;border-radius:14px 14px 4px 14px;background:var(--gold-100)}.case-message>div{display:flex;align-items:center;justify-content:space-between;gap:12px}.case-message strong{font-size:13px}.case-message small{color:var(--ink-500);font-size:12px}.case-message p{margin:8px 0 0;line-height:1.6}.case-reply-form{display:grid;gap:12px;padding:18px 22px;border-top:1px solid var(--line-soft)}.case-reply-form .button{justify-self:end}.attachment-list{display:flex;flex-wrap:wrap;gap:8px;padding:0 22px 18px}.attachment-list a{display:inline-flex;align-items:center;gap:7px;padding:8px 10px;border:1px solid var(--line-soft);border-radius:999px;background:#fff;color:var(--navy-800);font-size:12px;font-weight:700;text-decoration:none}.resolution-box{margin:0 22px 18px;padding:16px;border-left:4px solid var(--success);border-radius:10px;background:var(--success-soft)}.resolution-box p{margin:6px 0 0}.report-filter-panel{padding:18px}.report-filter-grid{display:grid;grid-template-columns:1fr 1.5fr 1fr 1fr auto;align-items:end;gap:12px}.report-metric-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:12px;margin-bottom:18px}.report-metric-grid article{display:grid;gap:6px;padding:18px;border:1px solid var(--line);border-radius:14px;background:#fff}.report-metric-grid article>span{display:grid;width:38px;height:38px;place-items:center;border-radius:10px;background:var(--gold-100);color:var(--gold-800)}.report-metric-grid small{color:var(--ink-500);font-size:12px;text-transform:uppercase}.report-metric-grid strong{font-family:var(--font-display);font-size:30px}.report-section{overflow:hidden}.report-two-column{display:grid;grid-template-columns:1fr 1fr;gap:18px}.compact-report-list{display:grid;padding:0 18px 18px}.compact-report-list article{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:13px 0;border-top:1px solid var(--line-soft)}.compact-report-list article:first-child{border-top:0}.compact-report-list strong,.compact-report-list small{display:block}.compact-report-list small{color:var(--ink-500);font-size:12px}.verification-body{min-height:100dvh;background:linear-gradient(135deg,var(--navy-950),var(--navy-800));padding:24px}.verification-shell{display:grid;min-height:calc(100dvh - 48px);place-items:center}.verification-card{width:min(620px,100%);padding:34px;border-radius:24px;background:#fff;box-shadow:var(--shadow-lg);text-align:center}.verification-card h1{margin:15px 0 22px;font-family:var(--font-display);font-size:35px}.verification-form{display:grid;grid-template-columns:1fr auto;align-items:end;gap:10px;text-align:left}.verification-result{margin-top:20px;padding:20px;border-radius:14px;text-align:left}.verification-result.success{background:var(--success-soft);color:var(--success)}.verification-result.danger{background:var(--danger-soft);color:var(--danger)}.verification-result dl{display:grid;gap:10px;margin:15px 0 0}.verification-result dl>div{display:grid;grid-template-columns:130px 1fr;gap:10px}.verification-result dt{font-size:12px;text-transform:uppercase}.verification-result dd{margin:0;font-weight:700}.certificate-print-body{background:#e8e4d9;padding:24px}.certificate-document{width:min(1120px,100%);min-height:760px;margin:auto;padding:58px;border:12px double var(--gold-700);background:#fff;box-shadow:var(--shadow-lg)}.certificate-document header{display:flex;align-items:center;justify-content:center;gap:22px;text-align:center}.certificate-logo{width:90px;height:90px;object-fit:contain}.certificate-document header span{font-size:13px;letter-spacing:.16em}.certificate-document header h1{margin:4px 0;font-family:var(--font-display);font-size:34px}.certificate-document header p{margin:0}.certificate-title{display:grid;justify-items:center;gap:8px;margin:55px 0 34px}.certificate-title span{font-family:var(--font-display);font-size:42px;font-weight:700;letter-spacing:.08em}.certificate-title strong{font-size:16px}.certificate-recipient{text-align:center}.certificate-recipient p{margin:12px 0}.certificate-recipient h2{margin:6px 0;color:var(--navy-900);font-family:var(--font-display);font-size:38px}.certificate-recipient h3{margin:8px 0;font-size:23px}.certificate-recipient small{font-weight:700}.certificate-meta{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:42px 0}.certificate-meta div{padding:14px;border-top:1px solid var(--gold-500);text-align:center}.certificate-meta span,.certificate-meta strong{display:block}.certificate-meta span{font-size:12px;text-transform:uppercase}.certificate-document footer{display:flex;align-items:end;justify-content:space-between;gap:30px;margin-top:45px}.certificate-document footer p{max-width:430px;margin:0 0 5px}.certificate-signature{display:grid;justify-items:center;min-width:260px}.certificate-signature img{width:210px;height:80px;object-fit:contain}.certificate-signature strong,.certificate-signature span{display:block}.print-toolbar{margin:18px}


/* Hybrid MUK, digital document catalog and print engine */
.muk-documents-progress{margin:0}.muk-documents-layout{display:grid;grid-template-columns:minmax(0,1fr) 310px;gap:20px;align-items:start}.muk-documents-catalog{min-width:0;overflow:hidden}.muk-documents-aside{position:sticky;top:var(--content-sticky-top,10px);display:grid;gap:16px;align-self:start;min-width:0}.muk-side-panel-body{display:grid;gap:16px;padding:18px}.muk-print-context-form{display:grid;gap:12px}.muk-print-context-form .field{margin:0}.muk-side-actions{display:grid;gap:8px}.muk-side-actions .button{width:100%;justify-content:center}.muk-document-warning{margin:0}.muk-document-lock-note{margin:16px 18px 0}.document-legend{display:flex;gap:12px;flex-wrap:wrap;font-size:.8rem;color:var(--muted)}.document-legend span{display:inline-flex;align-items:center;gap:6px}.document-legend i{width:9px;height:9px;border-radius:999px}.legend-ready{background:var(--success)}.legend-source{background:var(--accent)}.legend-missing{background:var(--border-strong)}.muk-source-archive{overflow:hidden}.muk-source-list{display:grid}.muk-source-list article{display:grid;grid-template-columns:38px minmax(0,1fr) 38px;gap:11px;align-items:center;padding:13px 14px;border-bottom:1px solid var(--border)}.muk-source-list article:last-child{border-bottom:0}.muk-source-icon{width:38px;height:38px;display:grid;place-items:center;border-radius:11px;background:var(--surface-soft);color:var(--navy-800)}.muk-source-list article>div:nth-child(2){display:grid;gap:2px;min-width:0}.muk-source-list strong,.muk-source-list span,.muk-source-list small{overflow-wrap:anywhere}.muk-source-list strong{font-size:.84rem}.muk-source-list span{color:var(--muted);font-size:.77rem}.muk-source-list small{color:var(--muted);font-size:.75rem}.muk-source-guidance{margin:0}.muk-document-groups{display:grid}.muk-document-group{background:var(--surface);border-top:1px solid var(--border)}.muk-document-group:first-child{border-top:0}.muk-document-group>header{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:15px 20px;border-bottom:1px solid var(--border);background:var(--surface-soft)}.muk-document-group>header>div{min-width:0}.muk-document-group>header>div>span{font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.12em;color:var(--muted)}.muk-document-group>header h3{margin:3px 0 0;font-size:1rem;color:var(--navy-900)}.muk-document-list{display:grid}.muk-document-card{position:relative;display:grid;grid-template-columns:46px minmax(0,1fr) auto;gap:15px;align-items:center;padding:16px 20px;border:0;border-bottom:1px solid var(--border);border-radius:0;background:transparent;box-shadow:none;transition:background .18s ease}.muk-document-card:last-child{border-bottom:0}.muk-document-card:hover{transform:none;border-color:var(--border);background:color-mix(in srgb,var(--surface-soft) 68%,transparent);box-shadow:none}.muk-document-card::before{content:"";position:absolute;inset:0 auto 0 0;width:3px;background:var(--border-strong)}.muk-document-card.is-ready::before{background:var(--success)}.muk-document-card.has-source::after{content:"";position:absolute;top:12px;right:12px;width:7px;height:7px;border-radius:50%;background:var(--accent)}.muk-document-index{width:36px;height:36px;display:grid;place-items:center;border:1px solid var(--border);border-radius:11px;font-weight:700;color:var(--navy-800);background:var(--surface-soft)}.muk-document-main{min-width:0}.muk-document-title{display:grid;grid-template-columns:auto auto minmax(0,1fr);align-items:center;gap:7px}.muk-document-title h4{grid-column:1/-1;margin:2px 0 0;font-size:.96rem}.muk-document-title p{grid-column:1/-1;margin:0;color:var(--muted);font-size:.81rem;overflow-wrap:anywhere}.required-chip{font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;padding:3px 7px;border-radius:999px;background:var(--accent-soft);color:var(--accent-strong)}.reference-chip{font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;padding:3px 7px;border-radius:999px;background:var(--surface-soft);color:var(--muted)}.muk-document-meta{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin-top:9px;color:var(--muted);font-size:.76rem}.muk-document-meta>span:not(.status){padding:4px 7px;border-radius:8px;background:var(--surface-soft)}.muk-document-actions{display:flex;align-items:center;justify-content:flex-end;gap:7px;flex-wrap:wrap;max-width:430px}.muk-document-actions form{margin:0}.muk-document-actions .button{white-space:nowrap}.document-editor-layout{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:22px}.document-editor-main,.document-editor-help{align-self:start}.document-editor-help{position:sticky;top:var(--content-sticky-top,10px)}.document-editor-fieldset{border:0;padding:0;margin:0;min-width:0}.document-editor-fieldset:disabled{opacity:.86}.document-field-grid{margin-top:18px}.sticky-form-actions{position:sticky;bottom:var(--content-sticky-bottom,10px);z-index:4;padding:14px 0 4px;background:linear-gradient(180deg,transparent,var(--surface) 22%)}.print-toolbar{position:sticky;top:0;z-index:100;display:flex;justify-content:center;align-items:center;gap:14px;padding:12px;background:#0d1b2a;color:#fff;box-shadow:0 5px 20px rgba(0,0,0,.2)}.print-toolbar span{font-size:.86rem}.muk-print-body,.muk-package-print-body{margin:0;background:#e8ebef;font-family:Arial,"Helvetica Neue",sans-serif;color:#111;-webkit-print-color-adjust:exact;print-color-adjust:exact}.muk-print-document{width:210mm;min-height:297mm;margin:18px auto;background:#fff;padding:12mm 12mm 14mm;box-sizing:border-box;box-shadow:0 5px 30px rgba(15,23,42,.2);position:relative}.orientation-landscape .muk-print-document{width:297mm;min-height:210mm;page:muk-landscape}.orientation-portrait .muk-print-document{page:muk-portrait}.muk-print-header{display:grid;grid-template-columns:26mm minmax(0,1fr) 53mm;border:1.5px solid #111;min-height:25mm}.muk-print-brand{display:grid;place-items:center;border-right:1px solid #111;padding:4mm}.muk-print-brand img{max-width:20mm;max-height:20mm;object-fit:contain}.print-logo-placeholder{width:18mm;height:18mm;border:1px solid #222;display:grid;place-items:center;font-weight:700}.muk-print-heading{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:3mm}.muk-print-heading strong{font-size:11pt}.muk-print-heading span{font-size:8.5pt;margin-top:2px}.muk-print-heading small{font-size:8pt;margin-top:3px}.muk-print-control{width:100%;border-collapse:collapse;font-size:7.5pt}.muk-print-control th,.muk-print-control td{border:0;border-bottom:1px solid #111;padding:1.2mm 1.5mm;text-align:left}.muk-print-control tr:last-child th,.muk-print-control tr:last-child td{border-bottom:0}.muk-print-control th{width:20mm;background:#f1f1f1}.muk-print-title{text-align:center;margin:6mm 0 4mm}.muk-print-title h1{font-size:13pt;margin:0 0 2mm;text-transform:uppercase}.muk-print-title p{font-size:9pt;margin:0}.muk-print-table{width:100%;border-collapse:collapse;margin:3mm 0 5mm;font-size:8pt;page-break-inside:auto}
.attendance-day-sheet-new-page{break-before:page;page-break-before:always}.muk-print-table tr{page-break-inside:avoid;page-break-after:auto}.muk-print-table th,.muk-print-table td{border:1px solid #111;padding:1.8mm 2mm;vertical-align:top;line-height:1.35}.muk-print-table th{background:#e9edf2;font-weight:700;text-align:left}.muk-print-table thead{display:table-header-group}.landscape-table{font-size:7.2pt}.identity-table th{width:30mm}.muk-print-table .check-cell{text-align:center;vertical-align:middle;font-size:11pt;width:9mm}.blank-row{height:8mm}.answer-space{height:14mm}.signature-row{height:12mm}.print-subtitle{font-size:10pt;margin:5mm 0 1mm}.print-note,.print-instructions,.print-declaration,.print-section{border:1px solid #111;padding:3mm;margin:3mm 0;font-size:8.5pt;line-height:1.45}.print-section p,.print-instructions p{margin:1mm 0}.print-grid-2{display:grid;grid-template-columns:1fr 1fr;gap:4mm}.print-signature-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8mm;margin-top:7mm;page-break-inside:avoid}.print-signature-grid:has(.print-signature-box:nth-child(3)){grid-template-columns:repeat(3,minmax(0,1fr))}.print-signature-box{text-align:center;display:flex;flex-direction:column;align-items:center;min-height:36mm;font-size:8pt}.print-signature-box strong{margin-bottom:2mm}.print-signature-box img{width:40mm;height:17mm;object-fit:contain}.print-signature-box span{font-weight:700;border-bottom:1px solid #111;padding:0 3mm}.print-signature-box small{margin-top:1mm}.signature-space{height:19mm;width:45mm}.muk-cover-page{text-align:center;min-height:215mm;display:flex;flex-direction:column;align-items:center;justify-content:center}.muk-cover-mark img{width:35mm;height:35mm;object-fit:contain}.muk-cover-page h2{font-size:18pt;letter-spacing:.08em;margin:10mm 0 3mm}.muk-cover-page h1{font-size:20pt;max-width:160mm;margin:0}.muk-cover-page h3{font-size:13pt;font-weight:500;margin:5mm 0}.muk-cover-meta{border:1.5px solid #111;padding:5mm 14mm;margin-top:8mm;text-align:left;min-width:105mm}.muk-cover-meta p{margin:2mm 0}.muk-cover-approval{margin-top:13mm;width:100%}.mapa-section .section-number{width:9mm;text-align:center}.essay-question{font-size:8.5pt;margin:4mm 0;page-break-inside:avoid}.essay-answer-lines{height:30mm;margin-top:2mm;background:repeating-linear-gradient(to bottom,transparent 0,transparent 7mm,#999 7.1mm,#999 7.25mm)}.essay-answer-lines.large{height:44mm}.validation-phase-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:3mm;margin:4mm 0}.validation-phase-grid section{border:1px solid #111;padding:3mm;min-height:30mm}.validation-phase-grid h2{font-size:9pt;margin:0 0 2mm}.validation-phase-grid p{font-size:8pt;margin:0}.minutes-text{font-size:9pt;line-height:1.7;text-align:justify;margin:5mm 0}.print-summary-band{display:grid;grid-template-columns:repeat(4,1fr);border:1px solid #111;margin:4mm 0}.print-summary-band span{padding:3mm;text-align:center;border-right:1px solid #111;font-size:8pt}.print-summary-band span:last-child{border-right:0}.muk-print-footer-note{font-size:7.5pt;border-top:1px solid #777;margin-top:5mm;padding-top:2mm}.muk-print-footer{position:absolute;bottom:5mm;left:12mm;right:12mm;border-top:1px solid #222;display:grid;grid-template-columns:1fr auto 1fr;gap:5mm;padding-top:1.5mm;font-size:6.8pt}.muk-print-footer span:last-child{text-align:right}.print-page-number::after{content:""}
@page muk-portrait{size:A4 portrait;margin:0 0 7mm;@bottom-right{content:"Halaman " counter(page) " dari " counter(pages);font:7pt Arial;padding-right:12mm;vertical-align:middle}}@page muk-landscape{size:A4 landscape;margin:0 0 7mm;@bottom-right{content:"Halaman " counter(page) " dari " counter(pages);font:7pt Arial;padding-right:12mm;vertical-align:middle}}


/* MUK workspace harmony */
.muk-context-shell{border:1px solid var(--border);border-radius:22px;background:var(--surface);overflow:hidden}
.muk-context-identity{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:18px;align-items:center;border-bottom:1px solid var(--border)}
.muk-context-identity>div:nth-child(2){min-width:0;display:grid;gap:3px}.muk-context-identity strong{font-size:1.08rem;color:var(--navy-900);overflow-wrap:anywhere}.muk-context-identity small{color:var(--muted);overflow-wrap:anywhere}
.muk-context-back{display:inline-flex;align-items:center;gap:7px;font-weight:650;color:var(--navy-700);white-space:nowrap}.muk-context-status{display:flex;align-items:center;justify-content:flex-end;gap:7px;flex-wrap:wrap}
.muk-context-shell .muk-workflow-tabs{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;margin:0;background:var(--surface-soft)}
.muk-context-shell .muk-workflow-tabs>a{position:relative;display:grid;grid-template-columns:auto minmax(0,1fr);column-gap:10px;row-gap:2px;align-items:center;min-width:0;padding:12px 13px;border:1px solid transparent;border-radius:14px;background:transparent;color:inherit;text-align:left;text-decoration:none;box-shadow:none}
.muk-context-shell .muk-workflow-tabs>a>span{grid-row:1/3;width:34px;height:34px;border-radius:10px;display:grid;place-items:center;background:var(--surface);color:var(--navy-800);font-size:.75rem;font-weight:700}
.muk-context-shell .muk-workflow-tabs>a>strong{overflow:hidden;color:var(--navy-900);font-size:.9rem;text-overflow:ellipsis;white-space:nowrap}.muk-context-shell .muk-workflow-tabs>a>small{overflow:hidden;color:var(--muted);font-size:.75rem;text-overflow:ellipsis;white-space:nowrap}
.muk-context-shell .muk-workflow-tabs>a:hover{border-color:var(--border);background:var(--surface)}.muk-context-shell .muk-workflow-tabs>a.is-active{border-color:color-mix(in srgb,var(--accent) 36%,var(--border));background:var(--surface);box-shadow:var(--shadow-xs)}.muk-context-shell .muk-workflow-tabs>a.is-active>span{background:var(--navy-950);color:#fff}
.muk-tab-state{grid-column:1/-1;justify-self:start;margin-top:7px;padding:4px 7px;border-radius:999px;font-size:.75rem;font-style:normal;font-weight:700;line-height:1}.muk-tab-state.tone-success{color:var(--success);background:var(--success-soft)}.muk-tab-state.tone-warning{color:var(--warning-strong);background:var(--warning-soft)}.muk-tab-state.tone-info{color:var(--info);background:color-mix(in srgb,var(--info) 9%,var(--surface))}
.muk-workspace-heading{min-height:142px}.muk-readiness-dial{position:relative;display:grid;place-content:center;flex:0 0 auto;width:108px;height:108px;text-align:center}.muk-readiness-dial svg{position:absolute;inset:0;width:100%;height:100%;filter:drop-shadow(0 8px 16px rgba(10,31,43,.10))}.muk-readiness-dial circle{fill:none;stroke-width:4.2}.muk-dial-track{stroke:var(--border)}.muk-dial-value{stroke:var(--accent);stroke-linecap:round}.muk-readiness-dial>div{position:relative;z-index:1}.muk-readiness-dial strong{display:block;color:var(--navy-950);font-size:1.55rem;line-height:1}.muk-readiness-dial span{display:block;margin-top:5px;color:var(--muted);font-size:.75rem;font-weight:700;letter-spacing:.09em;text-transform:uppercase}
.muk-next-action{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:16px;align-items:center;padding:18px 20px;border:1px solid var(--border);border-radius:19px;background:var(--surface)}.muk-next-action h2{margin:2px 0 3px;font-size:1.15rem}.muk-next-action p{margin:0;color:var(--muted)}.muk-next-icon{width:48px;height:48px;border-radius:15px;display:grid;place-items:center;background:var(--surface-soft)}.muk-next-action.tone-success{border-color:color-mix(in srgb,var(--success) 30%,var(--border));background:color-mix(in srgb,var(--success) 5%,var(--surface))}.muk-next-action.tone-warning{border-color:color-mix(in srgb,var(--warning) 35%,var(--border));background:color-mix(in srgb,var(--warning) 5%,var(--surface))}.muk-next-action.tone-info{border-color:color-mix(in srgb,var(--info) 30%,var(--border));background:color-mix(in srgb,var(--info) 5%,var(--surface))}
.muk-flow-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.muk-flow-card{position:relative;display:grid;grid-template-columns:auto minmax(0,1fr);gap:12px;min-width:0;padding:18px;border:1px solid var(--border);border-radius:19px;background:var(--surface);box-shadow:var(--shadow-xs);color:inherit;overflow:hidden}.muk-flow-card::after{content:"";position:absolute;inset:auto 0 0;height:3px;background:var(--border-strong)}.muk-flow-card.is-complete::after{background:var(--success)}.muk-flow-card.is-blocked::after{background:var(--warning)}.muk-flow-card.is-optional::after{background:var(--info)}.muk-flow-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-md)}.muk-flow-number{width:34px;height:34px;display:grid;place-items:center;border-radius:11px;background:var(--navy-950);color:#fff;font-size:.78rem;font-weight:700}.muk-flow-card small{color:var(--muted);font-weight:700;text-transform:uppercase;letter-spacing:.09em;font-size:.75rem}.muk-flow-card h2{font-size:1rem;margin:3px 0 5px}.muk-flow-card p{margin:0;color:var(--muted);font-size:.84rem;line-height:1.45;overflow-wrap:anywhere}.muk-flow-state{grid-column:1/-1;display:inline-flex;align-items:center;gap:6px;font-size:.78rem;font-weight:700;color:var(--muted)}.muk-flow-state svg{width:16px;height:16px}
.muk-identity-panel{scroll-margin-top:calc(var(--topbar-height) + 22px)}.muk-identity-facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;background:var(--border)}.muk-identity-facts article{min-width:0;padding:17px 19px;background:var(--surface)}.muk-identity-facts small,.muk-identity-facts strong,.muk-identity-facts span{display:block}.muk-identity-facts small{color:var(--muted);font-size:.75rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.muk-identity-facts strong{margin-top:6px;color:var(--navy-900);font-size:.94rem;line-height:1.45;overflow-wrap:anywhere}.muk-identity-facts span{margin-top:3px;color:var(--muted);font-size:.79rem;overflow-wrap:anywhere}
.muk-progress-panel{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:22px;align-items:center;padding:22px 24px}.muk-progress-copy h2{margin:4px 0 5px;font-size:1.25rem}.muk-progress-copy p{margin:0;color:var(--muted)}.muk-progress-metrics{display:grid;grid-template-columns:repeat(2,minmax(120px,1fr));gap:9px}.muk-progress-metrics article{padding:13px 15px;border:1px solid var(--border);border-radius:13px;background:var(--surface-soft)}.muk-progress-metrics small,.muk-progress-metrics strong{display:block}.muk-progress-metrics small{color:var(--muted);font-size:.75rem;font-weight:700;text-transform:uppercase}.muk-progress-metrics strong{margin-top:5px;color:var(--navy-900);font-size:1.08rem}
.muk-blocker-panel{border-color:color-mix(in srgb,var(--warning) 32%,var(--border))}.muk-blocker-list{display:grid}.muk-blocker-list a{display:grid;grid-template-columns:32px minmax(0,1fr) auto;gap:13px;align-items:center;padding:15px 18px;border-bottom:1px solid var(--border);color:inherit}.muk-blocker-list a:last-child{border-bottom:0}.muk-blocker-list a:hover{background:var(--surface-soft)}.muk-blocker-list>a>span{width:32px;height:32px;display:grid;place-items:center;border-radius:10px;background:var(--warning-soft);color:var(--warning-strong);font-weight:700}.muk-blocker-list strong{display:block}.muk-blocker-list p{margin:2px 0 0;color:var(--muted);font-size:.86rem}
.muk-workspace-detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.muk-role-list,.muk-decision-list{display:grid;padding:0 18px 4px}.muk-role-list article{display:grid;grid-template-columns:38px minmax(0,1fr);gap:11px;align-items:center;padding:13px 0;border-bottom:1px solid var(--border)}.muk-role-list article:last-child{border-bottom:0}.muk-role-list article>span{width:38px;height:38px;border-radius:12px;display:grid;place-items:center;background:var(--surface-soft);color:var(--muted)}.muk-role-list article.is-filled>span{background:var(--success-soft);color:var(--success)}.muk-role-list small,.muk-role-list strong{display:block}.muk-role-list small{color:var(--muted);font-size:.75rem}.muk-decision-list article{display:grid;grid-template-columns:auto minmax(0,1fr);gap:12px;padding:13px 0;border-bottom:1px solid var(--border)}.muk-decision-list article:last-child{border-bottom:0}.muk-decision-list p{margin:3px 0;color:var(--muted);font-size:.86rem}.muk-decision-list small{color:var(--muted)}.muk-review-document-list{display:grid}.muk-review-document-list article{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:12px;align-items:center;padding:14px 16px;border-bottom:1px solid var(--border)}.muk-review-document-list article:last-child{border-bottom:0}.muk-review-document-list article>div:first-child{min-width:0;display:grid;gap:3px}.muk-review-document-list strong,.muk-review-document-list small{overflow-wrap:anywhere}.muk-review-document-list small{color:var(--muted)}.muk-card-actions-clear{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.muk-card-actions-clear .button{min-height:38px}.empty-compact{padding:22px;text-align:center}.empty-compact p{margin:4px 0 0;color:var(--muted)}


/* Unified workflow and role experience */
.notification-button{position:relative;text-decoration:none}
.notification-count{position:absolute;inset-block-start:-.35rem;inset-inline-end:-.35rem;min-width:1.25rem;height:1.25rem;padding:0 .3rem;border-radius:999px;display:grid;place-items:center;background:#a56d16;color:#fff;font-size:.75rem;font-weight:700;border:2px solid #fff;line-height:1}
.notification-center{overflow:hidden}.notification-list{display:grid}.notification-card{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:1rem;align-items:center;padding:1rem 1.15rem;border-top:1px solid var(--line,#e3e6ea);color:inherit;text-decoration:none;transition:.18s ease}.notification-card:first-child{border-top:0}.notification-card:hover{background:rgba(15,42,68,.035)}.notification-card.is-unread{background:rgba(165,109,22,.07)}.notification-card.is-unread strong{color:#173b5d}.notification-symbol{width:2.6rem;height:2.6rem;border-radius:.8rem;display:grid;place-items:center;background:#f2f4f6;color:#173b5d}.notification-card.is-unread .notification-symbol{background:#fff4df;color:#8c5d17}.notification-copy{min-width:0;display:grid;gap:.25rem}.notification-copy p{margin:0;color:var(--muted,#68727d);overflow-wrap:anywhere}.notification-copy small{color:var(--muted,#68727d)}.notification-arrow{color:#9aa2aa}

.workflow-tabs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;margin:0 0 1rem}.workflow-tabs>a{display:grid;grid-template-columns:auto 1fr;column-gap:.8rem;row-gap:.15rem;align-items:center;padding:1rem 1.1rem;border:1px solid var(--line,#e3e6ea);border-radius:1rem;background:#fff;color:inherit;text-decoration:none}.workflow-tabs>a>span{grid-row:1/3;width:2.15rem;height:2.15rem;border-radius:.7rem;display:grid;place-items:center;background:#edf1f4;color:#173b5d;font-weight:700}.workflow-tabs>a strong{font-size:1rem}.workflow-tabs>a small{color:var(--muted,#68727d)}.workflow-tabs>a.is-active{border-color:rgba(165,109,22,.45);box-shadow:0 12px 32px rgba(20,42,62,.08);background:linear-gradient(135deg,#fff,#fffaf1)}.workflow-tabs>a.is-active>span{background:#173b5d;color:#fff}
.workflow-guidance{justify-content:space-between;margin-bottom:1rem}.record-link{display:grid;gap:.2rem;color:inherit;text-decoration:none}.record-link:hover strong{color:#9a6718}

.workspace-hero{position:relative;overflow:hidden;display:flex;justify-content:space-between;align-items:flex-end;gap:2rem;padding:1.65rem;border-radius:1.35rem;background:linear-gradient(135deg,#102f49,#173f61 72%,#215578);color:#fff;margin-bottom:1rem;box-shadow:0 20px 55px rgba(15,42,68,.18)}.workspace-hero:after{content:"";position:absolute;width:18rem;height:18rem;border:1px solid rgba(255,255,255,.09);border-radius:50%;right:-7rem;top:-9rem}.workspace-hero h1{margin:.25rem 0;font-size:clamp(1.45rem,2.5vw,2.15rem)}.workspace-hero p{margin:0;color:rgba(255,255,255,.76)}.workspace-status-line{display:flex;gap:1rem;align-items:center;flex-wrap:wrap;margin-top:1rem}.workspace-status-line>span:last-child{display:inline-flex;align-items:center;gap:.4rem;color:rgba(255,255,255,.8)}.workspace-hero>.button{position:relative;z-index:1;flex:none}
.workspace-next-action{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:1rem;align-items:center;margin-bottom:1rem}.workspace-action-icon{width:3.4rem;height:3.4rem;border-radius:1rem;display:grid;place-items:center;background:#fff4df;color:#8c5d17}.workspace-next-action h2{margin:.2rem 0}.workspace-next-action p{margin:0;color:var(--muted,#68727d)}
.workspace-quick-links{display:flex;gap:.55rem;flex-wrap:wrap;margin-bottom:1rem}.workspace-quick-links a{display:inline-flex;gap:.45rem;align-items:center;padding:.7rem .85rem;border:1px solid var(--line,#e3e6ea);border-radius:.75rem;background:#fff;color:#173b5d;text-decoration:none;font-weight:700;font-size:.88rem}.workspace-quick-links a:hover{border-color:rgba(165,109,22,.45);color:#8c5d17}
.workflow-timeline-panel{margin-bottom:1rem}.full-workflow-timeline{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:.75rem}.workflow-timeline-step{position:relative;display:grid;grid-template-columns:auto 1fr;gap:.7rem;align-items:start;padding:.85rem;border:1px solid var(--line,#e3e6ea);border-radius:.9rem;background:#fafbfc;min-width:0}.timeline-number{width:2rem;height:2rem;border-radius:.65rem;display:grid;place-items:center;background:#e9edf0;color:#53606b;font-weight:700;font-size:.75rem}.workflow-timeline-step strong{display:block;font-size:.88rem;line-height:1.3}.workflow-timeline-step small{display:block;margin-top:.25rem;color:var(--muted,#68727d);font-size:.75rem;line-height:1.35}.workflow-timeline-step.done{background:#f4faf7;border-color:#cfe2d6}.workflow-timeline-step.done .timeline-number{background:#276847;color:#fff}.workflow-timeline-step.active{background:#fff8e9;border-color:#e2c58f;box-shadow:0 9px 24px rgba(165,109,22,.09)}.workflow-timeline-step.active .timeline-number{background:#173b5d;color:#fff}.workflow-timeline-step.active i{position:absolute;left:.85rem;right:.85rem;bottom:-1px;height:3px;border-radius:4px;background:#a56d16}
.workspace-facts-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;margin-bottom:1rem}.workspace-facts-grid .panel{padding:1rem}.workspace-facts-grid h3{margin:.3rem 0;font-size:1rem}.workspace-facts-grid p{margin:0;color:var(--muted,#68727d);font-size:.84rem}.workspace-history{display:grid;padding:0 1rem 1rem}.workspace-history article{position:relative;display:grid;grid-template-columns:auto 1fr;gap:.85rem;padding:1rem 0;border-top:1px solid var(--line,#e3e6ea)}.workspace-history article:first-child{border-top:0}.history-dot{width:.75rem;height:.75rem;border-radius:50%;background:#a56d16;margin-top:.3rem;box-shadow:0 0 0 5px #fff4df}.workspace-history p{margin:.2rem 0;color:var(--muted,#68727d)}.workspace-history small{color:var(--muted,#68727d)}
.priority-copy em{display:inline-flex;margin-top:.45rem;font-style:normal;font-size:.75rem}.panel-flow .flow-list{max-height:35rem;overflow:auto;padding-right:.25rem}


/* premium formal default: Midnight Navy Prestige. */
body[data-theme="institutional"]{
    --ink-950:#121b23;--ink-900:#1d2a34;--ink-800:#31404b;--ink-700:#4c5b65;--ink-600:#5c6972;--ink-500:#667176;
    --navy-950:#071722;--navy-900:#0b2434;--navy-800:#12384f;--navy-700:#1d4a68;--navy-100:#e7eef2;
    --gold-800:#6f501c;--gold-700:#87672e;--gold-600:#a37d42;--gold-500:#87672e;--gold-300:#d9c297;--gold-100:#f5eee0;--gold-soft:#f5eee0;
    --canvas:#f3f2ee;--canvas-soft:#faf9f6;--line:#dad9d3;--line-soft:#e9e7e1;
    --theme-primary:#1d4a68;--theme-primary-strong:#12364c;--theme-primary-soft:#e8f0f4;--theme-primary-rgb:29,74,104;
    --theme-secondary:#506a73;--theme-secondary-rgb:80,106,115;--theme-tertiary:#675d70;--theme-tertiary-rgb:103,93,112;--theme-accent:#b79455;--theme-accent-rgb:183,148,85;
}
.app-body[data-theme="institutional"]{--role-accent:#1d4a68;--role-accent-strong:#12364c;--role-accent-soft:#e8f0f4;--role-accent-rgb:29,74,104}

/* curated institution-wide palette system. */
body[data-theme="emerald"]{
    --ink-950:#10251f;--ink-900:#18332b;--ink-800:#2d4840;--ink-700:#496159;--ink-600:#586e67;--ink-500:#496159;
    --navy-950:#061b17;--navy-900:#0c2e27;--navy-800:#15463b;--navy-700:#256455;--navy-100:#e5f0ec;
    --gold-800:#755525;--gold-700:#8b6836;--gold-600:#a47a43;--gold-500:#8b6836;--gold-300:#dbc59f;--gold-100:#f5eee2;--gold-soft:#f5eee2;
    --canvas:#f0f6f3;--canvas-soft:#f8fbf9;--line:#d5dfda;--line-soft:#e6ece9;
    --theme-primary:#2f7a67;--theme-primary-strong:#215b4c;--theme-primary-soft:#e5f3ee;--theme-primary-rgb:47,122,103;--theme-accent:#b58b52;--theme-accent-rgb:181,139,82;
}
.app-body[data-theme="emerald"]{--role-accent:#2f7a67;--role-accent-strong:#215b4c;--role-accent-soft:#e5f3ee;--role-accent-rgb:47,122,103}

body[data-theme="burgundy"]{
    --ink-950:#28171c;--ink-900:#392128;--ink-800:#52383f;--ink-700:#6b5259;--ink-600:#766168;--ink-500:#6b5259;
    --navy-950:#251117;--navy-900:#321922;--navy-800:#4f2935;--navy-700:#6c3d4a;--navy-100:#f1e7ea;
    --gold-800:#765728;--gold-700:#8e6b38;--gold-600:#aa824a;--gold-500:#8e6b38;--gold-300:#dec8a5;--gold-100:#f7f0e6;--gold-soft:#f7f0e6;
    --canvas:#f7f2f3;--canvas-soft:#fcf9fa;--line:#e1d7da;--line-soft:#eee7e9;
    --theme-primary:#8a4d5d;--theme-primary-strong:#673745;--theme-primary-soft:#f5e9ed;--theme-primary-rgb:138,77,93;--theme-accent:#be9a65;--theme-accent-rgb:190,154,101;
}
.app-body[data-theme="burgundy"]{--role-accent:#8a4d5d;--role-accent-strong:#673745;--role-accent-soft:#f5e9ed;--role-accent-rgb:138,77,93}

body[data-theme="indigo"]{
    --ink-950:#191b2e;--ink-900:#252841;--ink-800:#3b3e58;--ink-700:#565a71;--ink-600:#64687e;--ink-500:#565a71;
    --navy-950:#12152d;--navy-900:#1c203e;--navy-800:#30365d;--navy-700:#484f7c;--navy-100:#eaebf4;
    --gold-800:#785927;--gold-700:#906d39;--gold-600:#aa8249;--gold-500:#906d39;--gold-300:#dfc8a2;--gold-100:#f7f0e5;--gold-soft:#f7f0e5;
    --canvas:#f3f3f8;--canvas-soft:#fafafd;--line:#dadbe5;--line-soft:#e9e9f0;
    --theme-primary:#5c5fa5;--theme-primary-strong:#44477f;--theme-primary-soft:#ececf8;--theme-primary-rgb:92,95,165;--theme-accent:#c19a61;--theme-accent-rgb:193,154,97;
}
.app-body[data-theme="indigo"]{--role-accent:#5c5fa5;--role-accent-strong:#44477f;--role-accent-soft:#ececf8;--role-accent-rgb:92,95,165}

body[data-theme="teal"]{
    --ink-950:#102426;--ink-900:#193336;--ink-800:#2e494c;--ink-700:#4a6265;--ink-600:#596e72;--ink-500:#4a6265;
    --navy-950:#061c1e;--navy-900:#0d3032;--navy-800:#16494c;--navy-700:#27686a;--navy-100:#e6f1f1;
    --gold-800:#735522;--gold-700:#896733;--gold-600:#a17c43;--gold-500:#896733;--gold-300:#dbc69f;--gold-100:#f5efe4;--gold-soft:#f5efe4;
    --canvas:#eff6f5;--canvas-soft:#f8fbfb;--line:#d4dfde;--line-soft:#e5eceb;
    --theme-primary:#347a76;--theme-primary-strong:#245d5a;--theme-primary-soft:#e8f4f2;--theme-primary-rgb:52,122,118;--theme-accent:#b99558;--theme-accent-rgb:185,149,88;
}
.app-body[data-theme="teal"]{--role-accent:#347a76;--role-accent-strong:#245d5a;--role-accent-soft:#e8f4f2;--role-accent-rgb:52,122,118}

body[data-theme="graphite"]{
    --ink-950:#171b1e;--ink-900:#23292d;--ink-800:#394147;--ink-700:#555e64;--ink-600:#626c71;--ink-500:#555e64;
    --navy-950:#161b1f;--navy-900:#20262b;--navy-800:#343d43;--navy-700:#4e5a62;--navy-100:#eceff0;
    --gold-800:#72541e;--gold-700:#89672e;--gold-600:#a17b3d;--gold-500:#89672e;--gold-300:#d9c295;--gold-100:#f4eee1;--gold-soft:#f4eee1;
    --canvas:#f3f4f3;--canvas-soft:#fafbfa;--line:#d9dcda;--line-soft:#e8eae8;
    --theme-primary:#56616a;--theme-primary-strong:#3e474e;--theme-primary-soft:#edf0f1;--theme-primary-rgb:86,97,106;--theme-accent:#b7924f;--theme-accent-rgb:183,146,79;
}
.app-body[data-theme="graphite"]{--role-accent:#56616a;--role-accent-strong:#3e474e;--role-accent-soft:#edf0f1;--role-accent-rgb:86,97,106}

.theme-palette-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}
.theme-palette-option{display:block;min-width:0;cursor:pointer}
.theme-palette-option>input{position:absolute;width:1px;height:1px;overflow:hidden;opacity:0;pointer-events:none}
.theme-palette-card{position:relative;display:grid;grid-template-columns:76px minmax(0,1fr) 28px;align-items:center;gap:14px;min-height:104px;padding:16px;border:1px solid var(--line);border-radius:var(--radius-sm);background:linear-gradient(145deg,#fff,var(--canvas-soft));box-shadow:var(--shadow-xs);transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease,background .18s ease}
.theme-palette-option:hover .theme-palette-card{transform:translateY(-1px);border-color:rgba(var(--role-accent-rgb),.34);box-shadow:var(--shadow-sm)}
.theme-palette-option>input:focus-visible+.theme-palette-card{outline:3px solid rgba(var(--theme-accent-rgb),.28);outline-offset:2px}
.theme-palette-option>input:checked+.theme-palette-card{border-color:var(--role-accent);background:linear-gradient(145deg,var(--role-accent-soft),#fff 72%);box-shadow:0 0 0 3px rgba(var(--role-accent-rgb),.09),var(--shadow-sm)}
.theme-swatches{display:grid;grid-template-columns:repeat(2,1fr);width:72px;height:72px;overflow:hidden;border:1px solid rgba(15,30,40,.09);border-radius:18px;box-shadow:inset 0 0 0 3px rgba(255,255,255,.42)}
.theme-swatches-institutional i:nth-child(1){background:#1d4a68}.theme-swatches-institutional i:nth-child(2){background:#506a73}.theme-swatches-institutional i:nth-child(3){background:#b79455}.theme-swatches-institutional i:nth-child(4){background:#f3f2ee}
.theme-swatches-emerald i:nth-child(1){background:#2f7a67}.theme-swatches-emerald i:nth-child(3){background:#b58b52}.theme-swatches-emerald i:nth-child(4){background:#f0f6f3}
.theme-swatches-burgundy i:nth-child(1){background:#8a4d5d}.theme-swatches-burgundy i:nth-child(3){background:#be9a65}.theme-swatches-burgundy i:nth-child(4){background:#f7f2f3}
.theme-swatches-indigo i:nth-child(1){background:#5c5fa5}.theme-swatches-indigo i:nth-child(3){background:#c19a61}.theme-swatches-indigo i:nth-child(4){background:#f3f3f8}
.theme-swatches-teal i:nth-child(1){background:#347a76}.theme-swatches-teal i:nth-child(3){background:#b99558}.theme-swatches-teal i:nth-child(4){background:#eff6f5}
.theme-swatches-graphite i:nth-child(1){background:#56616a}.theme-swatches-graphite i:nth-child(3){background:#b7924f}.theme-swatches-graphite i:nth-child(4){background:#f3f4f3}
.theme-palette-copy{display:flex;flex-direction:column;min-width:0}.theme-palette-copy strong{color:var(--ink-900);font-size:15px}.theme-palette-copy small{margin-top:4px;color:var(--ink-600);font-size:12px;line-height:1.5}
.theme-action-preview{display:flex;align-items:center;gap:5px;margin-top:10px}.theme-action-preview i{display:block;width:19px;height:7px;border-radius:999px;box-shadow:inset 0 0 0 1px rgba(10,25,35,.07)}.theme-action-preview .demo-primary{width:34px}
.theme-palette-check{display:grid;place-items:center;width:26px;height:26px;border:1px solid var(--line);border-radius:50%;color:transparent;background:#fff}.theme-palette-check .ui-icon{width:14px;height:14px}.theme-palette-option>input:checked+.theme-palette-card .theme-palette-check{color:#fff;border-color:var(--role-accent);background:var(--role-accent)}

.button-palette-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}.button-palette-option{display:block;min-width:0;cursor:pointer}.button-palette-option>input{position:absolute;width:1px;height:1px;overflow:hidden;opacity:0;pointer-events:none}.button-palette-card{display:grid;grid-template-columns:112px minmax(0,1fr) 28px;align-items:center;gap:14px;min-height:108px;padding:16px;border:1px solid var(--line);border-radius:var(--radius-sm);background:linear-gradient(145deg,#fff,var(--canvas-soft));box-shadow:var(--shadow-xs);transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease}.button-palette-option:hover .button-palette-card{transform:translateY(-1px);border-color:rgba(var(--button-primary-rgb),.34);box-shadow:var(--shadow-sm)}.button-palette-option>input:focus-visible+.button-palette-card{outline:3px solid rgba(var(--theme-accent-rgb),.28);outline-offset:2px}.button-palette-option>input:checked+.button-palette-card{border-color:var(--button-primary);background:linear-gradient(145deg,var(--button-primary-soft),#fff 74%);box-shadow:0 0 0 3px rgba(var(--button-primary-rgb),.09),var(--shadow-sm)}.button-palette-demo{display:grid;grid-template-columns:1.35fr 1fr 1fr;grid-template-rows:repeat(2,26px);gap:5px;width:108px}.button-palette-demo i{display:block;border-radius:7px;box-shadow:inset 0 0 0 1px rgba(10,25,35,.06)}.button-palette-demo .demo-primary{grid-row:1/3}.button-palette-demo .demo-secondary{grid-column:2/4}.button-palette-demo-soft-professional .demo-primary{background:#5b7fa5}.button-palette-demo-soft-professional .demo-secondary{background:#4f8b84}.button-palette-demo-soft-professional .demo-success{background:#4f8d71}.button-palette-demo-soft-professional .demo-warning{background:#b78343}.button-palette-demo-soft-professional .demo-danger{background:#b76472}.button-palette-demo-ocean-mist .demo-success{background:#529374}.button-palette-demo-ocean-mist .demo-warning{background:#c08a45}.button-palette-demo-ocean-mist .demo-danger{background:#c16c70}.button-palette-demo-lavender-rose .demo-primary{background:#7774b2}.button-palette-demo-lavender-rose .demo-secondary{background:#9a6f92}.button-palette-demo-lavender-rose .demo-success{background:#5d9278}.button-palette-demo-lavender-rose .demo-warning{background:#b98a4e}.button-palette-demo-lavender-rose .demo-danger{background:#b9667c}.button-palette-demo-sage-terracotta .demo-success{background:#628d6b}.button-palette-demo-sage-terracotta .demo-warning{background:#b78355}.button-palette-demo-sage-terracotta .demo-danger{background:#b66d68}.button-palette-demo-graphite-pastel .demo-primary{background:#66747f}.button-palette-demo-graphite-pastel .demo-success{background:#5b866f}.button-palette-demo-graphite-pastel .demo-warning{background:#aa7e47}.button-palette-demo-graphite-pastel .demo-danger{background:#a95f69}.button-palette-demo-burgundy-slate .demo-primary{background:#8c6270}.button-palette-demo-burgundy-slate .demo-success{background:#5d8a72}.button-palette-demo-burgundy-slate .demo-warning{background:#b1874f}.button-palette-demo-burgundy-slate .demo-danger{background:#aa5668}.button-palette-copy{display:flex;flex-direction:column;min-width:0}.button-palette-copy strong{color:var(--ink-900);font-size:15px}.button-palette-copy small{margin-top:4px;color:var(--ink-600);font-size:12px;line-height:1.5}.button-palette-check{display:grid;place-items:center;width:26px;height:26px;border:1px solid var(--line);border-radius:50%;color:transparent;background:#fff}.button-palette-check .ui-icon{width:14px;height:14px}.button-palette-option>input:checked+.button-palette-card .button-palette-check{color:#fff;border-color:var(--button-primary);background:var(--button-primary)}
/* unified premium shell and persistent footer. */
.sidebar{background:radial-gradient(circle at 8% 0%,rgba(var(--role-accent-rgb),.32),transparent 31%),linear-gradient(180deg,var(--navy-950),var(--navy-900) 54%,var(--navy-800))}
.topbar{border-bottom:1px solid rgba(255,255,255,.10);color:#d7e0e5;background:radial-gradient(circle at 72% -140%,rgba(var(--role-accent-rgb),.27),transparent 38%),linear-gradient(90deg,var(--navy-950),var(--navy-900) 58%,var(--navy-800));backdrop-filter:none}
.topbar::after{height:2px;background:linear-gradient(90deg,transparent,rgba(var(--theme-accent-rgb),.86),transparent);opacity:0;transform:scaleX(0);transform-origin:left center}
.breadcrumb{color:#8fa3af}.breadcrumb>span{color:#b8c6cd}.breadcrumb .ui-icon{color:#647d8b}.breadcrumb strong{color:#fff}.topbar-context>small{color:#8fa3af}
.role-state{color:#f7fafb;border-color:rgba(var(--role-accent-rgb),.42);background:rgba(var(--role-accent-rgb),.22)}
.system-state{color:#b5c3ca}.system-state i{border:1px solid rgba(255,255,255,.24);box-shadow:0 0 0 4px rgba(79,149,121,.15)}
.topbar-icon{color:#c1ced4}.topbar-icon:hover,.topbar-icon:focus-visible{color:#fff;border-color:rgba(255,255,255,.14);background:rgba(255,255,255,.08)}
.notification-count{border-color:var(--navy-900)}
.account-trigger{color:#dce5e9}.account-trigger:hover,.account.is-open .account-trigger{border-color:rgba(255,255,255,.12);background:rgba(255,255,255,.07)}
.account-copy strong{color:#fff}.account-copy small{color:#91a5af}.account-trigger>.ui-icon{color:#91a5af}
.avatar{color:#fff;border-color:rgba(var(--theme-accent-rgb),.50);background:linear-gradient(145deg,rgba(var(--theme-accent-rgb),.34),rgba(255,255,255,.08));box-shadow:inset 0 0 0 1px rgba(255,255,255,.06)}
.content{padding-bottom:clamp(28px,3.1vw,48px)}
.app-footer{position:sticky;z-index:29;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:18px;color:#91a5af;background:radial-gradient(circle at 88% 160%,rgba(var(--theme-accent-rgb),.22),transparent 34%),linear-gradient(90deg,var(--navy-950),var(--navy-900) 58%,var(--navy-800))}
.app-footer::before{content:"";position:absolute;inset:0 0 auto;height:1px;background:linear-gradient(90deg,transparent,rgba(var(--theme-accent-rgb),.58),transparent);opacity:.70}
.app-footer>div{min-width:0}.app-footer>div:first-child{justify-self:start}.app-footer>div:last-child{justify-self:end}
.app-footer strong{color:#fff;letter-spacing:.10em}.app-footer span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.app-footer small{color:var(--gold-300);font-weight:650}.app-footer span+small{border-left-color:rgba(255,255,255,.14)}


/* compact rounded premium shell spacing. */
.workspace{
    grid-template-rows:auto 1fr auto;
    padding:var(--shell-gutter) var(--shell-gutter) 0;
}
.topbar{
    top:var(--shell-gutter);
    min-height:var(--shell-card-height);
    margin:0 0 clamp(18px,2.4vw,24px);
    padding:0 clamp(20px,2.6vw,34px);
    border:1px solid rgba(255,255,255,.12);
    border-radius:var(--shell-card-radius);
    box-shadow:0 15px 34px rgba(7,23,34,.14);
}
.topbar::before{
    content:"";
    position:absolute;
    inset:1px;
    border-radius:calc(var(--shell-card-radius) - 1px);
    border:1px solid rgba(255,255,255,.05);
    pointer-events:none;
}
.content{
    max-width:var(--content-max);
    padding:0 clamp(12px,.9vw,18px) calc(clamp(28px,3.1vw,48px) + var(--footer-height) + var(--shell-gutter));
}
.app-footer{
    left:calc(var(--sidebar-width) + var(--shell-gutter));
    right:var(--shell-gutter);
    bottom:var(--shell-gutter);
    min-height:var(--footer-height);
    padding:10px clamp(18px,2.5vw,30px);
    border:1px solid rgba(255,255,255,.11);
    border-top:1px solid rgba(255,255,255,.11);
    border-radius:var(--shell-card-radius);
    overflow:hidden;
    box-shadow:0 15px 34px rgba(7,23,34,.14);
}
.app-footer::after{
    content:"";
    position:absolute;
    inset:1px;
    border-radius:calc(var(--shell-card-radius) - 1px);
    border:1px solid rgba(255,255,255,.04);
    pointer-events:none;
}


/* fully floating rounded sidebar shell. */
.sidebar{
    top:var(--shell-gutter);
    bottom:var(--shell-gutter);
    left:var(--shell-gutter);
    width:calc(var(--sidebar-width) - var(--shell-gutter));
    border:1px solid rgba(255,255,255,.11);
    border-radius:var(--shell-card-radius);
    overflow:hidden;
    box-shadow:18px 20px 46px rgba(7,23,34,.17);
}
.sidebar::before{border-radius:inherit}
.sidebar::after{
    content:"";
    position:absolute;
    inset:1px;
    z-index:0;
    border:1px solid rgba(255,255,255,.045);
    border-radius:calc(var(--shell-card-radius) - 1px);
    pointer-events:none;
}


/* Desktop account dropdown layering. */
.topbar{
    z-index:100;
    overflow:visible;
    isolation:isolate;
}
.topbar::before,
.topbar::after{pointer-events:none}
.topbar-leading,
.topbar-actions{position:relative;z-index:2}
.account{z-index:4}
.account-menu{
    z-index:140;
    box-shadow:0 24px 54px rgba(7,23,34,.24);
}


/* Cross-role visual consistency and restrained surface hierarchy. */

/* One calm visual rhythm across every role and workspace. */
body.app-body{
    background:
        radial-gradient(circle at 100% 0,rgba(var(--role-accent-rgb),.065),transparent 28rem),
        radial-gradient(circle at 0 100%,rgba(var(--theme-accent-rgb),.035),transparent 30rem),
        var(--canvas);
}
.content{isolation:isolate}
.page-heading{
    gap:24px;
    margin-bottom:20px;
}
.page-heading::after{width:230px;height:230px}
.page-heading h1{max-width:900px;margin-bottom:8px;font-size:clamp(30px,2.55vw,43px);line-height:1.08;letter-spacing:-.032em}
.page-heading-compact h1{font-size:clamp(29px,2.4vw,41px)}
.page-heading-actions{align-self:center}
.heading-badge{border-color:rgba(var(--role-accent-rgb),.20);box-shadow:none}
.panel-head>div:first-child{min-width:0}
.panel-head h2{margin-bottom:4px;line-height:1.28}
.panel-head p{max-width:760px;color:var(--ink-600)}
.count-pill{flex:0 0 auto;border-color:rgba(var(--role-accent-rgb),.15);background:rgba(var(--role-accent-rgb),.045)}

/* Buttons remain colorful, but share geometry and depth. */
.button{min-height:43px;border-radius:10px;font-size:14.5px;box-shadow:none}
.button-small{min-height:36px;padding-inline:13px;font-size:13.5px}
.button-large{min-height:51px}
.button-primary{box-shadow:0 9px 22px rgba(var(--button-primary-rgb),.20),inset 0 1px rgba(255,255,255,.18)}
.button-primary:not(:disabled):hover{box-shadow:0 13px 28px rgba(var(--button-primary-rgb),.27),inset 0 1px rgba(255,255,255,.20)}
.button-secondary,.button-ghost{box-shadow:none}
.icon-button{width:38px;height:38px;border-radius:10px;box-shadow:0 3px 10px rgba(11,31,43,.035)}
.row-actions,.table-actions{gap:7px}

/* Forms use the same spacing, surface, disabled state, and focus treatment. */
.field{font-size:13.5px;font-weight:700}
.field>span{min-height:20px;color:var(--ink-750)}
.field input,.field select,.field textarea,.filter-bar input,.filter-bar select{
    border-color:#d6d6d0;
    border-radius:10px;
    background:#fefefd;
}
.field input,.field select,.filter-bar input,.filter-bar select{min-height:45px}
.field textarea{min-height:112px;line-height:1.58}
.field input:hover,.field select:hover,.field textarea:hover,.filter-bar input:hover,.filter-bar select:hover{border-color:#bfc5c3}
.field input:disabled,.field select:disabled,.field textarea:disabled,.field.is-disabled input,.field.is-disabled select,.field.is-disabled textarea{
    color:var(--ink-500);
    border-color:#e0e0db;
    background:#f2f2ef;
    cursor:not-allowed;
}
.field-hint{line-height:1.5}
.form-grid{gap:17px;padding:23px 24px}
.form-stack{gap:15px;padding:22px 23px}
.form-actions{gap:10px}
.form-actions-sticky{z-index:12;border-color:var(--premium-border);background:rgba(255,255,255,.96);box-shadow:0 -10px 28px rgba(11,31,43,.06)}

/* Filters and tables form a single polished data workspace. */
.filter-bar{gap:9px}
.compact-filter-bar label>span{color:var(--ink-600);letter-spacing:.09em}
.search-control{max-width:390px}
.table-panel{isolation:isolate}
.table-wrap,.table-scroll{scrollbar-gutter:auto;border-radius:0 0 var(--premium-radius) var(--premium-radius)}
.data-table th{position:relative;top:auto;z-index:1}
th{font-size:12px}
td{font-size:13.5px}
.page-link{min-width:34px;height:34px;border-radius:9px}
.page-link.is-current{border-color:var(--role-accent-strong);background:var(--role-accent-strong)}

/* Empty, notice, and status components should feel intentional rather than vacant. */
.empty-state,.empty-state-inline,.table-empty,.workspace-empty{min-height:245px;padding:34px}
.empty-icon,.empty-state-inline>span,.table-empty>span,.workspace-empty>span{border-radius:16px;box-shadow:inset 0 0 0 1px rgba(255,255,255,.58)}
.info-callout,.revision-banner,.callout,.alert{border-radius:14px;box-shadow:0 7px 18px rgba(11,31,43,.035)}
.status,.status-badge,.role-chip{letter-spacing:.045em}

/* Modal hierarchy: fixed head, independently scrolling body, persistent actions. */
.modal-layer{padding:clamp(10px,2vh,20px);background:rgba(4,15,22,.66)}
.modal-dialog{border-color:rgba(255,255,255,.45);box-shadow:0 34px 100px rgba(7,23,34,.36)}
.modal-head{background:linear-gradient(135deg,rgba(var(--role-accent-rgb),.13),#fff 70%)}
.modal-head h2{line-height:1.18}
.modal-head p{margin-top:6px;font-size:13.5px}
.modal-body{scroll-padding:16px 0 116px}
.modal-form{gap:17px}
.modal-actions{gap:9px;margin-right:-25px;margin-left:-25px;padding:15px 25px calc(15px + env(safe-area-inset-bottom));background:rgba(255,255,255,.97)}
.modal-actions .button{min-width:128px}

/* Sticky secondary workspaces account for the floating topbar. */
.form-sidebar,.editor-panel,.structure-nav,.coverage-aside,.muk-documents-aside,.content-grid-main-side>aside,.wizard-nav,
.validation-queue,.approval-queue,.profile-summary-card,.sticky-review-card,.institution-logo-column,
.ak01-list-panel,.assessment-queue,.recommendation-queue,.decision-queue,.certificate-queue,.case-queue,
.document-editor-help{top:var(--sticky-shell-offset)}

/* Consistent card families used by role-specific workflows. */
.scheme-card,.assignment-card,.application-card,.metric-card,.muk-flow-card,.decision-card,
.signature-current-card,.signature-canvas-form,.recommendation-read-grid article,.decision-summary-grid article{
    border-radius:var(--premium-radius-compact);
}
.scheme-card,.assignment-card,.application-card{box-shadow:0 8px 24px rgba(11,31,43,.05)}
.scheme-card:hover,.assignment-card:hover,.application-card:hover,.muk-flow-card:hover{box-shadow:var(--premium-shadow-raised)}
.dashboard-grid,.module-grid,.review-side-grid,.muk-workspace-detail-grid{gap:18px}

/* Dropdowns and floating controls must remain above cards without clipping. */
.account-menu{width:min(278px,calc(100vw - 24px));border-radius:14px;border-color:rgba(20,45,58,.13)}
.account-menu-link,.account-menu form button{min-height:42px;border-radius:9px}


/* premium native-control normalization and reliable upload controls. */

/* Custom, accessible checkbox geometry for operational confirmations and mappings. */
input[type="checkbox"]:not(.theme-palette-option input):not(.button-palette-option input){
    -webkit-appearance:none;
    appearance:none;
    display:inline-grid;
    width:19px!important;
    height:19px!important;
    min-width:19px!important;
    min-height:19px!important;
    flex:0 0 19px;
    margin:1px 0 0;
    padding:0!important;
    place-content:center;
    border:1px solid #aeb8b6;
    border-radius:6px;
    background:#fff;
    box-shadow:inset 0 1px 2px rgba(18,43,56,.04);
    cursor:pointer;
    transition:border-color .16s ease,background .16s ease,box-shadow .16s ease,transform .16s ease;
}
input[type="checkbox"]:not(.theme-palette-option input):not(.button-palette-option input)::before{
    content:"";
    width:11px;
    height:11px;
    opacity:0;
    transform:scale(.55);
    background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none'%3E%3Cpath d='m3 8.2 3 3L13 4.8' stroke='white' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/contain no-repeat;
    transition:opacity .14s ease,transform .14s ease;
}
input[type="checkbox"]:not(.theme-palette-option input):not(.button-palette-option input):hover{border-color:var(--button-primary)}
input[type="checkbox"]:not(.theme-palette-option input):not(.button-palette-option input):checked{
    border-color:var(--button-primary);
    background:linear-gradient(145deg,var(--button-primary),var(--button-primary-strong));
    box-shadow:0 5px 12px rgba(var(--button-primary-rgb),.20);
}
input[type="checkbox"]:not(.theme-palette-option input):not(.button-palette-option input):checked::before{opacity:1;transform:scale(1)}
input[type="checkbox"]:not(.theme-palette-option input):not(.button-palette-option input):focus-visible{outline:0;box-shadow:var(--control-focus)}
input[type="checkbox"]:not(.theme-palette-option input):not(.button-palette-option input):disabled{cursor:not-allowed;opacity:.58;box-shadow:none}

/* Remove inconsistent native search and number adornments. */
input[type="search"]{-webkit-appearance:none;appearance:none}
input[type="search"]::-webkit-search-cancel-button,
input[type="search"]::-webkit-search-decoration{-webkit-appearance:none}
input[type="number"]{-moz-appearance:textfield}
input[type="number"]::-webkit-inner-spin-button,
input[type="number"]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}

/* One upload language for Excel import, evidence, documents, logo, and case attachments. */
.file-control{
    position:relative;
    display:grid!important;
    grid-template-columns:48px minmax(0,1fr) auto!important;
    grid-template-rows:auto auto;
    align-items:center;
    gap:2px 14px;
    min-width:0;
    min-height:80px;
    padding:13px 14px;
    overflow:hidden;
    border:1px dashed color-mix(in srgb,var(--role-accent) 30%,var(--control-border));
    border-radius:var(--premium-radius-compact);
    color:var(--ink-800);
    background-color:var(--paper);
    box-shadow:inset 0 0 0 1px rgba(255,255,255,.74),0 8px 20px rgba(12,34,47,.045);
    cursor:pointer;
    isolation:isolate;
    transition:border-color .14s ease-out,background-color .14s ease-out,box-shadow .14s ease-out;
}
.file-control::before{
    content:"";
    grid-column:1;
    grid-row:1/3;
    width:46px;
    height:46px;
    border:1px solid rgba(var(--role-accent-rgb),.18);
    border-radius:14px;
    background-color:var(--role-accent-soft);
    background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='22' height='22' viewBox='0 0 24 24' fill='none' stroke='%231d4f6b' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 16V4'/%3E%3Cpath d='m7 9 5-5 5 5'/%3E%3Cpath d='M5 20h14'/%3E%3C/svg%3E");
    background-repeat:no-repeat;
    background-position:center;
    box-shadow:inset 0 1px 0 rgba(255,255,255,.82);
    transition:border-color .14s ease-out,background-color .14s ease-out,box-shadow .14s ease-out;
}
.file-control::after{
    content:"Pilih file";
    grid-column:3;
    grid-row:1/3;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:38px;
    padding:0 14px;
    border:1px solid rgba(var(--button-primary-rgb),.20);
    border-radius:11px;
    color:var(--button-primary);
    background:var(--button-primary-soft);
    font-size:12px;
    font-weight:700;
    letter-spacing:.01em;
    white-space:nowrap;
    transition:color .14s ease-out,background-color .14s ease-out,border-color .14s ease-out,box-shadow .14s ease-out;
}
.file-control:hover,
.file-control.is-choosing{
    border-color:color-mix(in srgb,var(--role-accent) 52%,var(--control-border));
    background-color:color-mix(in srgb,var(--role-accent-soft) 38%,var(--paper));
    box-shadow:inset 0 0 0 1px rgba(255,255,255,.78),0 9px 22px rgba(12,34,47,.055);
}
.file-control:hover::after,
.file-control.is-choosing::after{color:var(--button-primary-strong);border-color:rgba(var(--button-primary-rgb),.34);background-color:color-mix(in srgb,var(--button-primary-soft) 78%,var(--paper))}
.file-control:focus-within{border-color:var(--role-accent);box-shadow:var(--control-focus),0 12px 28px rgba(12,34,47,.08)}
.file-control.is-dragging{border-color:var(--role-accent);background-color:color-mix(in srgb,var(--role-accent-soft) 68%,var(--paper));box-shadow:var(--control-focus),0 10px 24px rgba(12,34,47,.06)}
.file-control.is-selected{border-color:color-mix(in srgb,var(--success) 48%,var(--control-border));background-color:color-mix(in srgb,var(--success-soft) 48%,var(--paper));box-shadow:inset 0 0 0 1px rgba(255,255,255,.82),0 8px 20px rgba(12,34,47,.045)}
.file-control.is-selected::before{
    border-color:color-mix(in srgb,var(--success) 25%,transparent);
    background-color:var(--success-soft);
    background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='22' height='22' viewBox='0 0 24 24' fill='none' stroke='%233b7b60' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m5 12 4 4L19 6'/%3E%3C/svg%3E");
}
.file-control.is-selected::after{content:"Ganti file"}
.file-control input[type="file"]{
    position:absolute!important;
    inset:0!important;
    z-index:4;
    width:100%!important;
    height:100%!important;
    min-width:0!important;
    min-height:0!important;
    margin:0!important;
    padding:0!important;
    border:0!important;
    opacity:0;
    cursor:pointer;
    pointer-events:auto;
}
.file-control>strong,
.file-control>small,
.file-control>div,
.file-control>span:not(.file-control-action):not(.file-control-icon){grid-column:2;min-width:0}
.file-control>strong{grid-row:1;align-self:end}
.file-control>small{grid-row:2;align-self:start}
.file-control>div,
.file-control>span:not(.file-control-action):not(.file-control-icon){grid-row:1/3;align-self:center}
.file-control>span:has(>.ui-icon):not(:has(strong)):not(:has(small)){display:none}
.file-control .ui-icon{display:none}
.file-control strong,
.file-control small{display:block;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.file-control strong{color:var(--ink-900);font-size:13px;font-weight:700}
.file-control small{margin-top:4px;color:var(--ink-500);font-size:12px;font-weight:560;line-height:1.45}
.file-control.is-selected strong{color:var(--success)}


/* fully themed application controls; no visible browser/Bootstrap widgets. */

/* The original semantic controls remain the form source, but the visible UI is custom. */
.custom-control-source{
    position:absolute!important;
    width:1px!important;
    height:1px!important;
    min-width:1px!important;
    min-height:1px!important;
    margin:0!important;
    padding:0!important;
    overflow:hidden!important;
    clip:rect(0 0 0 0)!important;
    clip-path:inset(50%)!important;
    border:0!important;
    opacity:0!important;
    white-space:nowrap!important;
    pointer-events:none!important;
}
.custom-select-control,.custom-date-control,.custom-number-control,.custom-search-control{position:relative;min-width:0}
.custom-select-trigger,.custom-date-trigger{
    display:grid;
    grid-template-columns:minmax(0,1fr) auto;
    align-items:center;
    gap:12px;
    width:100%;
    min-height:46px;
    padding:10px 13px;
    border:1px solid var(--control-border);
    border-radius:var(--control-radius);
    color:var(--ink-900);
    background:linear-gradient(145deg,var(--control-surface),var(--control-surface-hover));
    box-shadow:inset 0 1px 0 rgba(255,255,255,.85),0 2px 5px rgba(12,34,47,.035);
    font:inherit;
    font-size:14px;
    font-weight:650;
    line-height:1.35;
    text-align:left;
    cursor:pointer;
    transition:border-color .16s ease,box-shadow .16s ease,background .16s ease,transform .16s ease;
}
.custom-select-trigger::after,.custom-date-trigger::after{
    content:"";
    width:19px;
    height:19px;
    border-radius:7px;
    background-color:var(--role-accent-soft);
    background-position:center;
    background-repeat:no-repeat;
    background-size:14px;
    transition:transform .18s ease,background-color .18s ease;
}
.custom-select-trigger::after{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='none'%3E%3Cpath d='m5 8 5 5 5-5' stroke='%233b6175' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")}
.custom-date-trigger::after{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='none'%3E%3Crect x='3' y='4.5' width='14' height='12.5' rx='2.5' stroke='%233b6175' stroke-width='1.6'/%3E%3Cpath d='M6.5 2.8v3.4M13.5 2.8v3.4M3.3 8h13.4' stroke='%233b6175' stroke-width='1.6' stroke-linecap='round'/%3E%3C/svg%3E")}
.custom-select-control.is-open .custom-select-trigger::after{transform:rotate(180deg)}
.custom-select-trigger:hover,.custom-date-trigger:hover{border-color:var(--control-border-hover);background:#fff;box-shadow:inset 0 1px 0 #fff,0 7px 16px rgba(12,34,47,.07)}
.custom-select-trigger:focus-visible,.custom-date-trigger:focus-visible{outline:0;border-color:var(--role-accent);box-shadow:var(--control-focus)}
.custom-select-trigger[disabled],.custom-date-trigger[disabled]{cursor:not-allowed;opacity:.58;box-shadow:none;background:var(--canvas-soft)}
.custom-control-placeholder{color:var(--ink-500);font-weight:570}
.custom-select-value{display:block;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.custom-select-value.has-multiple{white-space:normal}
.custom-select-count{display:inline-flex;align-items:center;min-height:22px;margin-left:7px;padding:2px 8px;border-radius:999px;color:var(--role-accent);background:var(--role-accent-soft);font-size:12px;font-weight:700}

.custom-control-popover{
    position:fixed;
    z-index:1600;
    display:none;
    min-width:220px;
    max-width:min(420px,calc(100vw - 20px));
    max-height:min(430px,calc(100dvh - 20px));
    overflow:hidden;
    border:1px solid color-mix(in srgb,var(--role-accent) 18%,var(--line));
    border-radius:var(--control-popover-radius);
    background:rgba(255,255,255,.985);
    box-shadow:var(--control-popover-shadow);
    backdrop-filter:blur(18px);
    isolation:isolate;
}
.custom-control-popover.is-open{display:grid;animation:control-popover-in .14s ease-out}
@keyframes control-popover-in{from{opacity:0;transform:translateY(-4px) scale(.985)}to{opacity:1;transform:none}}
.custom-popover-head{display:flex;align-items:center;gap:9px;padding:11px;border-bottom:1px solid var(--line-soft);background:linear-gradient(145deg,#fff,var(--canvas-soft))}
.custom-popover-search{position:relative;flex:1;min-width:0}
.custom-popover-search input{
    width:100%;
    min-height:38px;
    padding:8px 34px 8px 11px;
    border:1px solid var(--line);
    border-radius:10px;
    background:#fff;
    font:inherit;
    font-size:13px;
}
.custom-popover-search::after{content:"";position:absolute;top:50%;right:11px;width:15px;height:15px;transform:translateY(-50%);background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='none'%3E%3Ccircle cx='8.5' cy='8.5' r='5.2' stroke='%23617076' stroke-width='1.7'/%3E%3Cpath d='m12.5 12.5 4 4' stroke='%23617076' stroke-width='1.7' stroke-linecap='round'/%3E%3C/svg%3E") center/contain no-repeat;pointer-events:none}
.custom-options{display:grid;gap:4px;max-height:330px;padding:8px;overflow:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:color-mix(in srgb,var(--role-accent) 35%,var(--line)) transparent}
.custom-option{
    display:grid;
    grid-template-columns:minmax(0,1fr) auto;
    align-items:center;
    gap:12px;
    width:100%;
    min-height:42px;
    padding:9px 11px;
    border:0;
    border-radius:10px;
    color:var(--ink-800);
    background:transparent;
    font:inherit;
    font-size:13px;
    font-weight:620;
    text-align:left;
    cursor:pointer;
}
.custom-option:hover,.custom-option.is-active{color:var(--ink-950);background:var(--canvas-soft)}
.custom-option.is-selected{color:var(--role-accent);background:var(--control-selected);font-weight:650}
.custom-option.is-selected::after{content:"";width:18px;height:18px;border-radius:50%;background-color:var(--role-accent);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none'%3E%3Cpath d='m3 8.2 3 3L13 4.8' stroke='white' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-position:center;background-repeat:no-repeat;background-size:11px}
.custom-option[disabled]{cursor:not-allowed;opacity:.48;background:transparent}
.custom-option-empty{padding:22px 14px;color:var(--ink-500);font-size:13px;text-align:center}
.custom-multi-actions{display:flex;justify-content:space-between;gap:8px;padding:10px 11px;border-top:1px solid var(--line-soft);background:var(--canvas-soft)}
.custom-multi-actions button{min-height:34px;padding:0 11px;border:1px solid var(--line);border-radius:9px;color:var(--ink-700);background:#fff;font:inherit;font-size:12px;font-weight:700;cursor:pointer}
.custom-multi-actions button:hover{border-color:var(--role-accent);color:var(--role-accent);background:var(--role-accent-soft)}

/* Fully custom date and datetime picker. */
.custom-calendar{width:min(344px,calc(100vw - 20px))}
.custom-calendar-head{display:grid;grid-template-columns:38px minmax(0,1fr) 38px;align-items:center;gap:8px;padding:12px;border-bottom:1px solid var(--line-soft);background:linear-gradient(145deg,#fff,var(--canvas-soft))}
.custom-calendar-head strong{text-align:center;font-family:var(--font-display);font-size:16px;font-weight:650}
.custom-calendar-nav{display:grid;width:36px;height:36px;padding:0;place-items:center;border:1px solid var(--line);border-radius:10px;color:var(--ink-700);background:#fff;cursor:pointer}
.custom-calendar-nav:hover{border-color:var(--role-accent);color:var(--role-accent);background:var(--role-accent-soft)}
.custom-calendar-weekdays,.custom-calendar-days{display:grid;grid-template-columns:repeat(7,1fr);gap:4px;padding:0 10px}
.custom-calendar-weekdays{padding-top:11px;color:var(--ink-500);font-size:12px;font-weight:700;text-align:center;text-transform:uppercase}
.custom-calendar-days{padding-top:7px;padding-bottom:11px}
.custom-calendar-day{display:grid;aspect-ratio:1;min-width:0;padding:0;place-items:center;border:0;border-radius:10px;color:var(--ink-800);background:transparent;font:inherit;font-size:12.5px;font-weight:680;cursor:pointer}
.custom-calendar-day:hover{background:var(--role-accent-soft);color:var(--role-accent)}
.custom-calendar-day.is-outside{color:var(--ink-400)}
.custom-calendar-day.is-today{box-shadow:inset 0 0 0 1px var(--role-accent)}
.custom-calendar-day.is-selected{color:#fff;background:linear-gradient(145deg,var(--role-accent),color-mix(in srgb,var(--role-accent) 76%,#071923));box-shadow:0 5px 12px rgba(var(--role-accent-rgb),.22)}
.custom-calendar-day[disabled]{cursor:not-allowed;opacity:.3;background:transparent;box-shadow:none}
.custom-time-row{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:8px;padding:12px;border-top:1px solid var(--line-soft);background:var(--canvas-soft)}
.custom-time-unit{display:grid;grid-template-columns:34px minmax(0,1fr) 34px;align-items:center;overflow:hidden;border:1px solid var(--line);border-radius:11px;background:#fff}
.custom-time-unit button{display:grid;width:34px;height:38px;padding:0;place-items:center;border:0;color:var(--role-accent);background:var(--role-accent-soft);font-size:17px;font-weight:700;cursor:pointer}
.custom-time-unit input{width:100%;height:38px;padding:0;border:0!important;outline:0!important;background:#fff!important;box-shadow:none!important;text-align:center;font:inherit;font-weight:700}
.custom-time-separator{font-weight:700}
.custom-calendar-actions{display:flex;justify-content:space-between;gap:8px;padding:10px 12px;border-top:1px solid var(--line-soft)}
.custom-calendar-actions button{min-height:36px;padding:0 13px;border:1px solid var(--line);border-radius:10px;background:#fff;font:inherit;font-size:12px;font-weight:700;cursor:pointer}
.custom-calendar-actions .apply{border-color:var(--button-primary);color:#fff;background:var(--button-primary)}
.custom-calendar-actions button:hover{transform:translateY(-1px)}

/* Custom number stepper and search clear affordance. */
.custom-number-control{display:grid;grid-template-columns:40px minmax(0,1fr) 40px;overflow:hidden;border:1px solid var(--control-border);border-radius:var(--control-radius);background:#fff;box-shadow:inset 0 1px 0 #fff}
.custom-number-control:focus-within{border-color:var(--role-accent);box-shadow:var(--control-focus)}
.custom-number-control input[type="number"]{min-width:0!important;border:0!important;border-radius:0!important;box-shadow:none!important;text-align:center}
.custom-number-control button{display:grid;min-height:44px;padding:0;place-items:center;border:0;color:var(--role-accent);background:var(--role-accent-soft);font-size:18px;font-weight:700;cursor:pointer}
.custom-number-control button:hover{color:#fff;background:var(--role-accent)}
.custom-number-control button:disabled{cursor:not-allowed;opacity:.45}
.custom-search-control input[type="search"]{padding-right:42px!important}
.custom-search-clear{position:absolute;top:50%;right:8px;display:none;width:30px;height:30px;padding:0;transform:translateY(-50%);place-items:center;border:0;border-radius:9px;color:var(--ink-500);background:var(--canvas-soft);font-size:18px;cursor:pointer}
.custom-search-control.has-value .custom-search-clear{display:grid}
.custom-search-clear:hover{color:var(--danger);background:var(--danger-soft)}

/* General radios, switches, details, progress, autofill, validation and scrollbars share the theme. */
input[type="radio"]:not(.theme-palette-option input):not(.button-palette-option input):not(.self-assessment-choice input){
    -webkit-appearance:none;appearance:none;display:inline-grid;width:19px!important;height:19px!important;min-width:19px!important;min-height:19px!important;margin:1px 0 0;padding:0!important;place-content:center;border:1px solid #aeb8b6;border-radius:50%;background:#fff;cursor:pointer;box-shadow:inset 0 1px 2px rgba(18,43,56,.04)
}
input[type="radio"]:not(.theme-palette-option input):not(.button-palette-option input):not(.self-assessment-choice input)::before{content:"";width:9px;height:9px;border-radius:50%;background:#fff;opacity:0;transform:scale(.4);transition:.14s ease}
input[type="radio"]:not(.theme-palette-option input):not(.button-palette-option input):not(.self-assessment-choice input):checked{border-color:var(--button-primary);background:var(--button-primary);box-shadow:0 5px 12px rgba(var(--button-primary-rgb),.2)}
input[type="radio"]:not(.theme-palette-option input):not(.button-palette-option input):not(.self-assessment-choice input):checked::before{opacity:1;transform:scale(1)}
input[type="radio"]:focus-visible{outline:0;box-shadow:var(--control-focus)}

.apl02-unit>summary,.audit-content summary{list-style:none}
.apl02-unit>summary::-webkit-details-marker,.audit-content summary::-webkit-details-marker{display:none}
.apl02-unit>summary::after,.audit-content summary::after{content:"";flex:0 0 28px;width:28px;height:28px;border-radius:9px;background-color:var(--role-accent-soft);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='none'%3E%3Cpath d='m5 8 5 5 5-5' stroke='%233b6175' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-position:center;background-repeat:no-repeat;background-size:14px;transition:transform .18s ease}
.apl02-unit[open]>summary::after,.audit-content details[open]>summary::after{transform:rotate(180deg)}
.audit-content summary{display:flex;align-items:center;justify-content:flex-start;gap:8px;width:max-content;padding:6px 9px;border-radius:9px;background:var(--gold-100)}
.audit-content summary::after{width:22px;height:22px;flex-basis:22px}

progress{-webkit-appearance:none;appearance:none;overflow:hidden;border:0;border-radius:999px;background:var(--line-soft);box-shadow:inset 0 1px 2px rgba(12,34,47,.08)}
progress::-webkit-progress-bar{border-radius:999px;background:var(--line-soft)}
progress::-webkit-progress-value{border-radius:999px;background:linear-gradient(90deg,var(--role-accent),var(--success))}
progress::-moz-progress-bar{border-radius:999px;background:linear-gradient(90deg,var(--role-accent),var(--success))}

input:-webkit-autofill,input:-webkit-autofill:hover,input:-webkit-autofill:focus,textarea:-webkit-autofill,select:-webkit-autofill{-webkit-text-fill-color:var(--ink-900);-webkit-box-shadow:0 0 0 1000px #fff inset;transition:background-color 9999s ease-out}
::placeholder{color:color-mix(in srgb,var(--ink-500) 82%,#fff);opacity:1}
.field input:user-invalid,.field textarea:user-invalid{border-color:var(--danger);box-shadow:0 0 0 4px color-mix(in srgb,var(--danger) 13%,transparent)}

*{scrollbar-width:thin;scrollbar-color:color-mix(in srgb,var(--role-accent) 30%,var(--line)) transparent}
*::-webkit-scrollbar{width:10px;height:10px}
*::-webkit-scrollbar-track{background:transparent}
*::-webkit-scrollbar-thumb{border:3px solid transparent;border-radius:999px;background-clip:padding-box;background-color:color-mix(in srgb,var(--role-accent) 35%,var(--line))}
*::-webkit-scrollbar-thumb:hover{background-color:color-mix(in srgb,var(--role-accent) 55%,var(--line))}

/* Native indicators are never exposed after enhancement. */
.controls-ready .field input[type="date"],.controls-ready .field input[type="datetime-local"]{background-image:none}
.controls-ready .field input[type="date"]::-webkit-calendar-picker-indicator,.controls-ready .field input[type="datetime-local"]::-webkit-calendar-picker-indicator{display:none}
.controls-ready .field select,.controls-ready .filter-bar select{background-image:none}


/* interaction refinements: custom validation and tooltip surfaces. */
.custom-select-control,.custom-date-control,.custom-search-control{display:block;width:100%}
[data-tooltip]{position:relative}
[data-tooltip]::before,[data-tooltip]::after{position:absolute;z-index:1750;left:50%;pointer-events:none;opacity:0;transform:translate(-50%,4px);transition:opacity .14s ease,transform .14s ease}
[data-tooltip]::before{content:"";bottom:calc(100% + 5px);border:5px solid transparent;border-top-color:var(--navy-950)}
[data-tooltip]::after{content:attr(data-tooltip);bottom:calc(100% + 10px);width:max-content;max-width:240px;padding:7px 10px;border-radius:9px;color:#fff;background:var(--navy-950);box-shadow:0 10px 24px rgba(7,25,37,.2);font-size:12px;font-weight:700;line-height:1.4;text-align:center;white-space:normal}
[data-tooltip]:hover::before,[data-tooltip]:hover::after,[data-tooltip]:focus-visible::before,[data-tooltip]:focus-visible::after{opacity:1;transform:translate(-50%,0)}
.table-scroll .icon-button:hover,
.table-scroll .icon-button:focus-visible,
.table-wrap .icon-button:hover,
.table-wrap .icon-button:focus-visible,
.table-scroll [data-tooltip]:hover,
.table-scroll [data-tooltip]:focus-visible,
.table-wrap [data-tooltip]:hover,
.table-wrap [data-tooltip]:focus-visible{z-index:4}
.table-action .icon-button[data-tooltip]::before{right:14px;left:auto;transform:translateY(4px)}
.table-action .icon-button[data-tooltip]::after{right:0;left:auto;transform:translateY(4px)}
.table-action .icon-button[data-tooltip]:hover::before,
.table-action .icon-button[data-tooltip]:hover::after,
.table-action .icon-button[data-tooltip]:focus-visible::before,
.table-action .icon-button[data-tooltip]:focus-visible::after{transform:translateY(0)}
.custom-validation-message{display:flex!important;align-items:flex-start;gap:6px;margin-top:7px!important;color:var(--danger)!important;font-size:12px!important;font-weight:680!important;line-height:1.45!important}
.custom-validation-message::before{content:"!";display:grid;flex:0 0 18px;width:18px;height:18px;place-items:center;border-radius:50%;color:#fff;background:var(--danger);font-size:12px;font-weight:700}
.custom-select-trigger[aria-invalid="true"],.custom-date-trigger[aria-invalid="true"],.file-control.is-invalid,.custom-number-control.is-invalid,.custom-search-control.is-invalid{border-color:var(--danger)!important;box-shadow:0 0 0 4px color-mix(in srgb,var(--danger) 12%,transparent)!important}

/* aligned filter geometry and smooth persistent branding. */
@view-transition{navigation:auto}
.brand-logo,.login-brand-logo,.verification-brand-logo{view-transition-name:sakti-brand-logo}
.brand-copy,.login-brand-copy{view-transition-name:sakti-brand-copy}
::view-transition-old(sakti-brand-logo),::view-transition-new(sakti-brand-logo),::view-transition-old(sakti-brand-copy),::view-transition-new(sakti-brand-copy){animation-duration:.18s;animation-timing-function:ease-out;mix-blend-mode:normal}
.brand-logo img,.login-brand-logo img,.verification-brand-logo img{display:block;backface-visibility:hidden;transform:translateZ(0)}

/* Header titles and filter tools share one baseline instead of forming isolated vertical stacks. */
.panel-head-responsive>div:first-child{flex:1 1 220px;min-width:220px}
.panel-head-responsive>.filter-bar{flex:2 1 680px;width:auto;max-width:920px;margin-left:auto}
.filter-bar{align-items:flex-end}
.filter-bar>.search-control{flex:1 1 230px;width:min(320px,100%);max-width:340px}
.filter-bar>.custom-select-control{flex:0 1 185px;width:clamp(150px,14vw,210px);min-width:150px}
.filter-bar>.custom-date-control{flex:0 1 165px;width:165px;min-width:150px}
.filter-bar>.custom-number-control{flex:0 1 145px;width:145px;min-width:125px}
.filter-bar>.custom-search-control{flex:1 1 230px;width:min(320px,100%);max-width:340px}
.filter-bar>.button{flex:0 0 auto;align-self:flex-end}
.filter-bar>label:not(.search-control){min-width:150px}
.filter-bar>label:not(.search-control)>.custom-select-control,
.filter-bar>label:not(.search-control)>.custom-date-control,
.filter-bar>label:not(.search-control)>.custom-number-control,
.filter-bar>label:not(.search-control)>.custom-search-control{width:100%}

/* Wide audit filters may wrap while preserving row alignment. */
.filter-bar-wrap{row-gap:10px}
.filter-bar-wrap>.search-control{flex-basis:250px}
.filter-bar-wrap>.custom-date-control{flex-basis:158px}


/* stable shell snapshots and restrained cross-document navigation. */
.sidebar{view-transition-name:sakti-sidebar}
.topbar,.app-footer{view-transition-name:none}
.content{view-transition-name:sakti-content}
.brand-logo,.brand-copy{view-transition-name:none}
.login-brand-logo{view-transition-name:sakti-login-logo}
.login-brand-copy{view-transition-name:sakti-login-copy}

::view-transition{background:var(--canvas)}
::view-transition-group(root){animation:none;background:var(--canvas)}
::view-transition-image-pair(root){isolation:isolate}
::view-transition-old(root),::view-transition-new(root){animation:none;mix-blend-mode:normal;opacity:1}
::view-transition-old(sakti-sidebar),::view-transition-new(sakti-sidebar){animation:none;mix-blend-mode:normal}
::view-transition-group(sakti-sidebar){animation-duration:.01s}
::view-transition-group(sakti-content){animation-duration:.2s;animation-timing-function:cubic-bezier(.22,1,.36,1)}
::view-transition-old(sakti-content){animation:sakti-content-out .09s ease-in both;mix-blend-mode:normal}
::view-transition-new(sakti-content){animation:sakti-content-in .2s cubic-bezier(.22,1,.36,1) both;mix-blend-mode:normal}
::view-transition-old(sakti-login-logo),::view-transition-new(sakti-login-logo),
::view-transition-old(sakti-login-copy),::view-transition-new(sakti-login-copy){animation-duration:.14s;mix-blend-mode:normal}

@keyframes sakti-content-out{to{opacity:0;transform:translateY(-3px)}}
@keyframes sakti-content-in{from{opacity:0;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}


/* premium page composition and role harmony. */

/* A shared stage gives every role the same vertical rhythm without changing business markup. */
.page-stage{
    display:grid;
    grid-template-columns:minmax(0,1fr);
    align-content:start;
    gap:var(--composition-gap);
    min-width:0;
}
.app-body.is-page-leaving .page-stage{pointer-events:none}
.app-body.is-page-leaving{cursor:progress}
.app-body.is-page-waiting .topbar::after{animation:sakti-navigation-progress 1.2s var(--motion-ease-out) both}
@keyframes sakti-navigation-progress{0%{opacity:.35;transform:scaleX(.04)}22%{opacity:.9;transform:scaleX(.36)}68%{opacity:1;transform:scaleX(.72)}100%{opacity:1;transform:scaleX(.92)}}
.page-stage > :is(.page-heading,.dashboard-hero,.metric-grid,.dashboard-grid,.governance-strip,.summary-rail,
.module-intro,.workflow-panel,.module-grid,.workspace-hero,.workspace-next-action,.workspace-quick-links,
.workspace-facts-grid,.muk-workspace-hero,.muk-next-action,.muk-flow-grid,.muk-blocker-panel,
.muk-workspace-detail-grid,.form-layout,.profile-layout,.structure-shell,.authoring-shell,
.coverage-layout,.validation-layout,.approval-layout,.document-editor-layout,.certificate-workspace,.case-workspace,
.report-two-column,.report-filter-panel,.report-metric-grid,.data-workspace,.guided-workspace,.panel,.card-list,
.scheme-card-grid,.application-card-grid,.assessor-assignment-grid,.tuk-schedule-grid,.theme-palette-grid,
.button-palette-grid,.import-type-grid,.team-grid,.muk-card-grid){
    margin-top:0;
    margin-bottom:0;
}
.page-stage > :is(.modal-layer,script,[hidden]){margin:0}

/* Page headings are prestigious but restrained: content, not decoration, remains dominant. */
.page-heading{
    min-height:108px;
    align-items:center;
    padding:22px 24px;
    border-color:var(--composition-line);
    border-radius:var(--composition-radius-lg);
    background:
        radial-gradient(circle at 96% 12%,rgba(var(--role-accent-rgb),.065),transparent 17rem),
        linear-gradient(135deg,rgba(var(--role-accent-rgb),.065),rgba(255,255,255,.99) 56%,rgba(var(--theme-accent-rgb),.035));
    box-shadow:var(--composition-shadow);
}
.page-heading::before{width:3px;inset:16px auto 16px 0;border-radius:0 4px 4px 0}
.page-heading::after{right:-118px;bottom:-168px;opacity:.34}
.page-heading h1,.page-heading-compact h1{
    max-width:850px;
    margin-bottom:7px;
    font-size:clamp(29px,2.25vw,38px);
    line-height:1.1;
    letter-spacing:-.028em;
}
.page-heading p{max-width:800px;font-size:14.5px;line-height:1.62}
.page-heading-actions{gap:9px;max-width:520px}
.page-heading-actions .button-primary{order:-1}
.heading-badge{min-height:38px;padding-inline:13px;background:rgba(255,255,255,.88)}

/* All major workflow heroes share geometry and depth even when their content differs. */
.dashboard-hero,.workspace-hero,.muk-workspace-hero,.assessment-hero,.recommendation-hero,.decision-hero,
.certificate-hero,.case-hero,.validation-hero,.approval-hero,.readiness-hero,.result-hero,.coverage-hero,
.unit-hero,.ak01-hero{
    border-radius:var(--composition-radius-lg);
    box-shadow:0 20px 54px rgba(7,25,37,.14);
}
.dashboard-hero{
    grid-template-columns:minmax(0,1.62fr) minmax(270px,.38fr);
    min-height:232px;
    gap:24px;
    padding:clamp(28px,3vw,42px);
}
.dashboard-hero h1{max-width:900px;font-size:clamp(34px,3.2vw,49px);line-height:1.05;letter-spacing:-.033em}
.dashboard-hero p{max-width:740px;margin-bottom:19px;font-size:15px;line-height:1.66}
.dashboard-hero-actions{display:flex;align-items:center;gap:10px;margin-top:19px}
.dashboard-hero-actions .button{box-shadow:0 14px 28px rgba(7,25,37,.18)}
.period-card{min-height:148px;padding:22px;border-radius:17px;background:linear-gradient(145deg,rgba(255,255,255,.105),rgba(255,255,255,.045))}
.period-card strong{font-size:22px}
.hero-meta{gap:9px 17px;font-size:12.5px}

/* Dashboard metrics and priorities feel composed as one instrument panel. */
.metric-grid{gap:14px}
.metric-card{
    min-height:116px;
    padding:18px 19px;
    border-color:var(--composition-line);
    border-radius:17px;
    background:var(--composition-surface);
    box-shadow:0 8px 24px rgba(10,31,43,.045);
    transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease;
}
.metric-card:hover{transform:translateY(-2px);border-color:rgba(var(--role-accent-rgb),.22);box-shadow:var(--composition-shadow-hover)}
.metric-icon{width:45px;height:45px;border-radius:13px}
.metric-copy>strong{margin:7px 0 3px;font-size:33px}
.metric-top{font-size:12px;letter-spacing:.1em}
.dashboard-grid{grid-template-columns:minmax(0,1.5fr) minmax(300px,.5fr);gap:var(--composition-gap)}
.panel-priority,.panel-flow{height:100%}
.priority-list{padding:0 13px 13px}
.priority-item{min-height:76px;padding:10px 11px;border-radius:12px}
.priority-item:first-child{border-top-color:transparent}
.priority-item:hover{background:linear-gradient(90deg,rgba(var(--role-accent-rgb),.055),rgba(var(--role-accent-rgb),.015));transform:translateX(2px)}
.priority-copy strong{font-size:14.5px}
.priority-copy small{line-height:1.48}
.flow-list{padding:0 22px 22px}
.governance-strip{
    min-height:104px;
    grid-template-columns:50px minmax(250px,.72fr) minmax(300px,1fr);
    padding:21px 24px;
    border-color:var(--composition-line);
    border-radius:var(--composition-radius);
    background:linear-gradient(112deg,#fff 0%,rgba(var(--role-accent-rgb),.025) 68%,rgba(var(--theme-accent-rgb),.045));
    box-shadow:0 8px 24px rgba(10,31,43,.035);
}

/* Shared panels and data workspaces use one surface, header height, and edge treatment. */
.panel{
    border-color:var(--composition-line);
    border-radius:var(--composition-radius);
    background:var(--composition-surface);
    box-shadow:var(--composition-shadow);
}
.panel-head{
    min-height:68px;
    align-items:center;
    padding:17px 20px;
    background:linear-gradient(180deg,rgba(var(--role-accent-rgb),.028),rgba(255,255,255,0));
}
.panel-head h2{font-size:18.5px;letter-spacing:-.01em}
.panel-head p{font-size:13px;line-height:1.52}
.panel-head-bordered{border-bottom-color:rgba(20,45,58,.075)}
.count-pill{min-height:27px;padding-inline:9px;font-size:12px}

.table-panel{border-radius:var(--composition-radius)}
.table-panel .panel-head-responsive{gap:14px}
.table-wrap,.table-scroll{border-top:1px solid rgba(20,45,58,.045)}
th{height:44px;padding:11px 15px;letter-spacing:.074em;background:linear-gradient(180deg,rgba(var(--role-accent-rgb),.082),rgba(var(--role-accent-rgb),.028))}
td{padding:12px 15px;line-height:1.5}
tbody tr{transition:background-color .14s ease}
tbody tr:nth-child(even){background:rgba(var(--role-accent-rgb),.01)}
tbody tr:hover{background:rgba(var(--role-accent-rgb),.037)}
.primary-cell strong,.table-title,.data-table td>strong{color:var(--ink-900)}
.table-subtext,.data-table td>small{line-height:1.45}
.pagination{min-height:56px;padding:11px 15px;background:linear-gradient(180deg,#fff,var(--canvas-soft))}
.pagination-links{flex-wrap:wrap}

/* Search and filter rows keep a deliberate toolbar silhouette on every role page. */
.panel-head-responsive>.filter-bar{row-gap:9px}
.filter-bar>.button{min-height:44px}
.filter-bar>.custom-select-control,.filter-bar>.custom-date-control,.filter-bar>.custom-number-control,
.filter-bar>.custom-search-control,.filter-bar>.search-control{align-self:flex-end}
.custom-select-trigger,.custom-date-trigger,.field input,.field select,.filter-bar input,.filter-bar select{min-height:44px}

/* Repeated card families are normalized so modules never feel like different products. */
.scheme-card,.assignment-card,.application-card,.assessor-assignment-card,.tuk-schedule-card,.notification-card,
.requirement-card,.readiness-card,.decision-card,.review-detail-card,.evidence-card,.muk-card,.muk-task-card,
.instrument-card,.team-card,.theme-palette-card,.button-palette-card,.import-type-card,
.signed-snapshot-card,.signature-current-card,.approval-signature-card,.profile-account-card,.profile-security-card{
    border-color:var(--composition-line);
    border-radius:17px;
    background:var(--composition-surface);
    box-shadow:0 8px 24px rgba(10,31,43,.045);
}
.scheme-card,.assignment-card,.application-card,.assessor-assignment-card,.tuk-schedule-card,.notification-card,
.requirement-card,.readiness-card,.decision-card,.muk-card,.muk-task-card,.instrument-card,
.team-card,.theme-palette-card,.button-palette-card,.import-type-card{
    transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease;
}
.scheme-card:hover,.assignment-card:hover,.application-card:hover,.assessor-assignment-card:hover,
.tuk-schedule-card:hover,.notification-card:hover,.requirement-card:hover,.readiness-card:hover,
.decision-card:hover,.muk-card:hover,.muk-task-card:hover,.instrument-card:hover,
.team-card:hover,.theme-palette-card:hover,.button-palette-card:hover,.import-type-card:hover{
    transform:translateY(-2px);
    border-color:rgba(var(--role-accent-rgb),.24);
    box-shadow:var(--composition-shadow-hover);
}
.card-list,.scheme-card-grid,.application-card-grid,.assessor-assignment-grid,.tuk-schedule-grid,
.theme-palette-grid,.button-palette-grid,.import-type-grid,.team-grid,.muk-card-grid{gap:15px}

/* Long forms read as intentional sections, with a quiet action hierarchy. */
.form-grid,.form-stack{gap:16px;padding:20px}
.form-grid-2{column-gap:19px;row-gap:16px}
.field{gap:6px}
.field>span{font-size:12.5px;letter-spacing:.012em}
.field-hint{font-size:12px}
.form-actions{min-height:60px;align-items:center;margin-top:16px;padding-top:15px}
.form-actions .button-primary,.modal-actions .button-primary{order:2}
.form-actions .button-ghost,.form-actions .button-secondary,.modal-actions .button-ghost,.modal-actions .button-secondary{order:1}
.form-actions .button-danger-outline,.modal-actions .button-danger-outline{margin-right:auto;order:0}
.form-sidebar,.profile-summary-card,.sticky-review-card,.structure-nav,.coverage-aside,
.wizard-nav,.validation-queue,.approval-queue,.assessment-queue,.recommendation-queue,.decision-queue,
.certificate-queue,.case-queue{border-radius:var(--composition-radius)}

/* Summary rails and detail blocks share the same visual weight. */
.summary-rail,.assessment-summary-rail,.muk-summary-rail{gap:11px}
.summary-rail article,.assessment-summary-rail article,.muk-summary-rail article,
.detail-grid article,.recommendation-read-grid article,.decision-summary-grid article,
.approval-summary-grid article,.readiness-summary-grid article,.ak01-summary-grid article{
    border-color:var(--composition-line);
    border-radius:14px;
    background:rgba(255,255,255,.94);
    box-shadow:0 5px 16px rgba(10,31,43,.03);
}

/* Empty states remain helpful without making a page feel vacant. */
.empty-state,.empty-state-inline,.table-empty,.workspace-empty,.mini-empty,.spacious-empty{
    min-height:190px;
    padding:26px;
}
/* Multi-column collections must keep their empty state and odd detail row geometrically complete. */
.module-grid>.empty-state,.scheme-card-grid>.empty-state,.application-card-grid>.empty-state,
.assessor-assignment-grid>.empty-state,.tuk-schedule-grid>.empty-state,.instrument-grid>.empty-state,
.requirement-grid>.empty-state,.muk-card-grid>.empty-state,.team-grid>.empty-state,
.import-type-grid>.empty-state,.theme-palette-grid>.empty-state,.button-palette-grid>.empty-state{
    grid-column:1/-1;
    width:100%;
}
.assignment-detail-grid>div:last-child:nth-child(odd){grid-column:1/-1}
.scheme-metrics>div,.quality-gates>article,.team-inline>div,.decision-history>article{min-width:0}
.scheme-metrics span,.quality-gates span,.team-inline strong,.team-inline small,.decision-history h3,.decision-history p{
    overflow-wrap:anywhere;
}
.empty-state h2,.empty-state h3,.workspace-empty h2,.workspace-empty h3{font-size:19px}
.empty-state p,.empty-state-inline p,.table-empty small,.workspace-empty p{max-width:470px;line-height:1.58}

/* Modal surfaces follow the same geometry as full pages. */
.modal-dialog{border-radius:var(--composition-radius-lg)}
.modal-head{min-height:78px;padding:19px 21px 16px}
.modal-head h2{font-size:25px;letter-spacing:-.02em}
.modal-body{padding:19px 21px 0}
.modal-actions{min-height:62px;margin-inline:-21px;padding-inline:21px}

/* The shell is deliberately frozen in this release; only inner composition changes. */
.sidebar,.topbar,.app-footer{transition:box-shadow .18s ease,border-color .18s ease}


/* Global compact shell: navigation stays clear while more task content fits
   on screen. Helper copy remains in the document but no longer competes with
   primary navigation labels. */

/* Readability pass: retain compact composition without shrinking or clipping copy. */


/* Content density: one calm hierarchy for headings, panels, forms, cards, and
   tables. Explanatory copy is quieter and capped, while operational warnings,
   consent text, and validation messages remain fully visible. */


/* Public certification information — shared design language. */
.public-info-page{margin:0;min-height:100vh;background:var(--page-bg);color:var(--ink);font-family:var(--font-sans)}
.public-info-topbar{position:sticky;top:0;z-index:20;display:flex;align-items:center;justify-content:space-between;gap:24px;margin:12px clamp(12px,3vw,38px);padding:12px 18px;border:1px solid color-mix(in srgb,var(--theme-border) 74%,transparent);border-radius:20px;background:color-mix(in srgb,var(--surface) 92%,transparent);box-shadow:var(--shadow-soft);backdrop-filter:blur(18px)}
.public-info-brand{display:flex;align-items:center;gap:12px;color:inherit;text-decoration:none}.public-info-brand img{width:44px;height:44px;object-fit:contain}.public-info-brand span{display:grid}.public-info-brand strong{letter-spacing:.12em}.public-info-brand small{color:var(--muted)}
.public-info-topbar nav{display:flex;align-items:center;gap:18px}.public-info-topbar nav>a:not(.button){color:var(--muted);font-weight:700;text-decoration:none}.public-info-topbar nav>a:hover{color:var(--theme-accent)}
.public-info-shell{width:min(1240px,calc(100% - 32px));margin:28px auto 64px;display:grid;gap:24px}.public-info-hero,.public-info-section,.public-info-split>article{border:1px solid var(--theme-border);border-radius:28px;background:var(--surface);box-shadow:var(--shadow-soft)}
.public-info-hero{min-height:390px;padding:clamp(34px,7vw,82px);display:flex;flex-direction:column;justify-content:center;align-items:flex-start;background:linear-gradient(135deg,var(--theme-primary),var(--theme-secondary));color:#fff;overflow:hidden}.public-info-hero h1{max-width:850px;margin:12px 0 16px;font:700 clamp(38px,6vw,68px)/1.02 var(--font-serif)}.public-info-hero p{max-width:780px;font-size:17px;line-height:1.8;color:rgba(255,255,255,.82)}.public-info-hero>div{display:flex;gap:12px;flex-wrap:wrap;margin-top:18px}
.public-info-section{padding:clamp(24px,4vw,44px)}.public-info-section>header{max-width:760px;margin-bottom:26px}.public-info-section h2,.public-info-split h2{margin:7px 0 10px;font:700 clamp(28px,4vw,42px)/1.12 var(--font-serif)}.public-info-section header p,.public-info-split p,.public-info-split li{color:var(--muted);line-height:1.75}
.public-process-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.public-process-grid article,.public-scheme-grid article{padding:22px;border:1px solid var(--theme-border);border-radius:18px;background:color-mix(in srgb,var(--theme-primary-soft) 28%,#fff)}.public-process-grid article>span{display:grid;place-items:center;width:42px;height:42px;margin-bottom:18px;border-radius:13px;background:var(--theme-primary);color:#fff;font-weight:700}.public-process-grid h3,.public-scheme-grid h3{margin:0 0 8px;font-size:17px}.public-process-grid p,.public-scheme-grid p{margin:0;color:var(--muted);line-height:1.65}
.public-scheme-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.public-scheme-grid article>small{display:block;margin-top:14px;color:var(--theme-accent);font-weight:700;letter-spacing:.08em}.public-scheme-grid dl{display:grid;gap:10px;margin:20px 0 0}.public-scheme-grid dl div{display:grid;grid-template-columns:130px 1fr;gap:12px;padding-top:10px;border-top:1px solid var(--theme-border)}.public-scheme-grid dt{color:var(--muted)}.public-scheme-grid dd{margin:0;font-weight:650}
.public-info-split{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.public-info-split>article{padding:clamp(24px,4vw,44px)}.public-info-split ol{padding-left:20px}.public-empty{padding:36px;text-align:center;border:1px dashed var(--theme-border);border-radius:18px}
.public-info-footer{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:0 12px 12px;padding:22px clamp(20px,4vw,42px);border-radius:22px;background:var(--theme-primary);color:#fff}.public-info-footer>div{display:flex;align-items:center;gap:14px;flex-wrap:wrap}.public-info-footer span,.public-info-footer small{color:rgba(255,255,255,.72)}
.case-independence-notice{margin-top:16px}
.login-brand-institution{font-size:40px}
.public-info-hero h1{font-size:56px}
.public-info-section h2,.public-info-split h2{font-size:36px}


/* premium interaction and responsive refinement. */

/* Data workspaces: stable headers, full-width tables, and inline action controls. */
.table-wrap,.table-scroll{position:relative;overscroll-behavior-inline:contain}
.table-scroll>table,.table-wrap>table{width:100%;max-width:none;min-width:100%;margin-inline:0;box-sizing:border-box;table-layout:auto}
.table-scroll thead th,.table-wrap thead th{position:sticky;top:0;z-index:3;box-shadow:0 1px 0 rgba(20,45,58,.08)}
.responsive-table.has-action-column th:last-child,
.responsive-table.has-action-column td:last-child{width:1%;min-width:0;padding-right:18px;white-space:nowrap;text-align:right}
.table-actions,.row-actions{align-items:center;justify-content:flex-end;flex-wrap:wrap}
.responsive-table .table-actions,.responsive-table .row-actions,.table-action>.table-actions,.table-action>.row-actions{display:inline-flex;align-items:center;justify-content:flex-end;flex-wrap:nowrap;width:max-content;max-width:none;min-width:max-content;margin-left:auto;white-space:nowrap}
.table-action .inline-form{flex:0 0 auto}
.table-actions .button,.row-actions .button{white-space:nowrap}
.table-density-compact td{padding-block:10px}
.table-scroll:focus-visible,.table-wrap:focus-visible{outline:0;box-shadow:var(--interaction-focus)}
.table-scroll-cue{display:none}

/* Wizards communicate position and remain keyboard-friendly without becoming decorative. */
.wizard-progress{display:grid;gap:8px;padding:8px 9px 11px;border-bottom:1px solid var(--interaction-line)}
.wizard-progress>span{display:flex;align-items:center;justify-content:space-between;gap:10px;color:var(--ink-500);font-size:12px;font-weight:700;letter-spacing:.07em;text-transform:uppercase}
.wizard-progress>span strong{color:var(--navy-900);font-family:var(--font-ui);font-size:12px}
.wizard-progress>i{position:relative;height:4px;overflow:hidden;border-radius:999px;background:rgba(var(--role-accent-rgb),.1)}
.wizard-progress>i>b{display:block;width:var(--wizard-progress,0%);height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--role-accent),var(--theme-accent));transition:width .28s var(--interaction-ease)}
.wizard-nav button{position:relative;isolation:isolate;transition:border-color .16s ease,background-color .16s ease,box-shadow .16s ease,transform .16s ease}
.wizard-nav button::after{content:"";position:absolute;inset:10px auto 10px -1px;width:3px;border-radius:0 999px 999px 0;background:transparent}
.wizard-nav button.is-active{box-shadow:0 8px 22px rgba(10,31,43,.06)}
.wizard-nav button.is-active::after{background:var(--role-accent)}
.wizard-nav button.is-past>span{background:var(--success-soft);color:var(--success)}
.wizard-nav button:focus-visible{outline:0;box-shadow:var(--interaction-focus)}
.wizard-content>[data-wizard-panel],.wizard-stage>[data-wizard-panel]{scroll-margin-top:var(--sticky-shell-offset)}

/* Forms keep a calm rhythm and clearer grouping across long operational flows. */
.form-grid fieldset,.form-stack fieldset,.modal-form fieldset{
    min-width:0;
    margin:0;
    padding:17px;
    border:1px solid var(--interaction-line);
    border-radius:var(--interaction-radius);
    background:linear-gradient(180deg,rgba(var(--role-accent-rgb),.025),rgba(255,255,255,.96));
}
.form-grid fieldset>legend,.form-stack fieldset>legend,.modal-form fieldset>legend{
    padding:0 7px;
    color:var(--navy-900);
    font-weight:700;
}
.application-identity-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.application-identity-fields .field{min-width:0}.application-identity-fields .field-hint{margin-top:6px}

.field:focus-within>span{color:var(--role-accent-strong)}
.field input:focus,.field textarea:focus,.custom-select-trigger:focus-visible,.custom-date-trigger:focus-visible,.custom-number-input:focus{box-shadow:var(--interaction-focus)}
.form-actions{position:relative;flex-wrap:wrap}
.form-actions::before{content:"";position:absolute;inset:0 0 auto;height:1px;background:linear-gradient(90deg,transparent,var(--interaction-line) 12%,var(--interaction-line) 88%,transparent)}
.form-actions>form{display:flex;gap:9px;flex-wrap:wrap}
.help-text,.field-hint,.form-note{max-width:72ch}

/* Modals expose scroll state and preserve actions on every viewport. */
.modal-dialog{transition:width .18s var(--interaction-ease),max-height .18s var(--interaction-ease)}
.modal-dialog.has-body-scroll .modal-head{box-shadow:0 10px 24px rgba(10,31,43,.07)}
.modal-dialog.has-more-below .modal-actions{box-shadow:0 -14px 30px rgba(10,31,43,.11)}
.modal-body{scroll-behavior:smooth}
.modal-body:focus-visible{outline:0}
.modal-dialog[aria-busy="true"]::after{content:"";position:absolute;inset:0;z-index:20;background:rgba(255,255,255,.58);backdrop-filter:blur(2px)}
.modal-actions{align-items:center;flex-wrap:wrap}
.modal-actions>form{display:flex;gap:9px;flex-wrap:wrap}
.modal-actions .button{min-height:43px}

/* Interaction details stay soft and predictable across pointers. */
.button,.icon-button,.custom-select-trigger,.custom-date-trigger,.custom-number-step,.pagination a,.pagination button{transition:transform .14s ease,box-shadow .14s ease,border-color .14s ease,background-color .14s ease,color .14s ease}
.button:active:not(:disabled),.icon-button:active:not(:disabled),.custom-select-trigger:active,.custom-date-trigger:active{transform:translateY(1px)}
.button:focus-visible,.icon-button:focus-visible,.pagination a:focus-visible,.pagination button:focus-visible{outline:0;box-shadow:var(--interaction-focus)}
.button:disabled,.icon-button:disabled,[aria-disabled="true"]{cursor:not-allowed;filter:saturate(.65);opacity:.58}


/* Mobile shell support. The topbar is a normal workspace row; these values are
   retained only for drawer layering and the compact fixed account menu. */


@supports not (overflow:clip){@media (max-width:900px){html,body.app-body{overflow-x:visible}}}

/* comprehensive mobile viewport stabilization.
   Desktop flex-basis values must never become vertical height after a responsive
   container switches to column flow. The mobile shell and operational pages
   therefore use explicit compact geometry at 900/680/430 px. */


/* Cross-role shell and component contract.
   This release freezes visual geometry and closes semantic, keyboard, and
   cross-page interaction gaps without redesigning the established shell. */
.account-menu-link:focus-visible,
.account-menu form button:focus-visible,
.sidebar-close:focus-visible{
    outline:0;
    box-shadow:var(--interaction-focus);
}
.account-menu [role="menuitem"]{scroll-margin-block:8px}
.sidebar[aria-hidden="true"]{pointer-events:none}
.app-shell.sidebar-open .sidebar[aria-hidden="false"]{pointer-events:auto}
.file-control small[aria-live="polite"]{min-height:1.25em}


/* clear boundary between institution identity and application settings. */

/* table scroll range follows the real table edge without synthetic overflow. */
.is-table-filter-hidden,.is-pagination-hidden{display:none!important}
.data-page-size-toolbar{display:flex;align-items:center;justify-content:flex-end;min-height:54px;padding:10px 16px;border-top:1px solid var(--line-soft);border-bottom:1px solid var(--line-soft);background:linear-gradient(180deg,#fff,var(--canvas-soft))}
.data-table-toolbar{justify-content:space-between;gap:12px;flex-wrap:nowrap}
.client-table-search{display:block;flex:1 1 260px;min-width:180px;max-width:380px;margin:0}
.client-table-search>.custom-search-control,.client-table-search>input{width:100%}
.client-table-search input{min-height:36px;padding:0 38px 0 11px;border:1px solid var(--line);border-radius:8px;color:var(--ink-800);background:#fff;font-size:12px}
.client-table-search input::placeholder{color:var(--ink-500)}
.table-filter-empty{min-height:150px;padding:24px;border:0;background:linear-gradient(180deg,#fff,var(--canvas-soft))}
.table-filter-empty strong{font-size:14px}
.table-filter-empty small{margin-top:4px}
.pagination-size-form,.client-pagination-size{display:flex;align-items:center;gap:7px;margin:0}
.pagination-size-form label,.client-pagination-size{display:flex;align-items:center;gap:7px;color:var(--ink-600);font-size:12px;font-weight:650;white-space:nowrap}
.pagination-size-form select,.client-pagination-size select{width:auto;min-width:72px;min-height:34px;padding:0 30px 0 10px;border:1px solid var(--line);border-radius:8px;color:var(--ink-800);background:#fff;font-size:12px;font-weight:650}
.pagination-bottom{display:flex;align-items:center;justify-content:center;flex-direction:column;gap:8px;min-height:70px;padding:13px 16px;text-align:center}
.pagination-bottom .pagination-summary{width:100%;color:var(--ink-500);font-size:12px;line-height:1.45;text-align:center}
.pagination-bottom .pagination-links{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:5px;max-width:100%;margin-inline:auto}
.client-pagination .page-link{cursor:pointer}
.client-pagination .page-link:disabled{pointer-events:none;opacity:.35}
.table-wrap,.table-scroll{padding-inline:0;scroll-padding-inline:0;touch-action:pan-x pan-y}
.responsive-table.is-mobile-scroll-table{display:table;width:100%;max-width:none;min-width:100%;margin-inline:0;box-sizing:border-box;table-layout:auto}
.table-wrap>.responsive-table,.table-scroll>.responsive-table{margin-right:0}
.table-wrap::after,.table-scroll::after{display:none!important;content:none!important}


/* resilient feedback, accessible controls, and mobile touch targets. */
.system-flash-fallback{
    display:block;
    margin:0 0 14px;
    padding:12px 14px;
    border:1px solid var(--line);
    border-radius:var(--radius-sm);
    color:var(--ink-900);
    background:var(--paper);
    box-shadow:var(--shadow-xs);
    font-size:14px;
    font-weight:650;
}
.system-flash-fallback.is-success{border-color:color-mix(in srgb,var(--success) 34%,var(--line));background:var(--success-soft);color:var(--success)}
.system-flash-fallback.is-warning{border-color:color-mix(in srgb,var(--warning) 34%,var(--line));background:var(--warning-soft);color:var(--warning)}
.system-flash-fallback.is-danger{border-color:color-mix(in srgb,var(--danger) 34%,var(--line));background:var(--danger-soft);color:var(--danger)}
.system-flash-fallback.is-info{border-color:color-mix(in srgb,var(--role-accent) 28%,var(--line));background:var(--role-accent-soft);color:var(--role-accent-strong)}
.custom-option:focus-visible{outline:2px solid var(--role-accent);outline-offset:-2px;background:var(--control-selected)}


.fallback-dialog-layer{
    position:fixed;
    z-index:1400;
    inset:0;
    display:none;
    place-items:center;
    padding:20px;
}
.fallback-dialog-layer.is-open{display:grid}
.fallback-dialog-backdrop{position:absolute;inset:0;background:rgba(7,23,34,.58)}
.fallback-dialog{
    position:relative;
    z-index:1;
    display:grid;
    grid-template-columns:auto minmax(0,1fr);
    gap:14px 16px;
    width:min(460px,100%);
    padding:22px;
    border:1px solid color-mix(in srgb,var(--role-accent) 18%,var(--line));
    border-radius:var(--radius-md);
    background:var(--paper);
    box-shadow:var(--shadow-lg);
}
.fallback-dialog-icon{width:42px;height:42px;border-radius:14px;background:var(--role-accent-soft);box-shadow:inset 0 0 0 1px rgba(var(--role-accent-rgb),.14)}
.fallback-dialog-icon[data-icon="warning"],.fallback-dialog-icon[data-icon="error"]{background:var(--danger-soft);box-shadow:inset 0 0 0 1px rgba(var(--button-danger-rgb),.2)}
.fallback-dialog-copy{min-width:0}
.fallback-dialog-copy h2{margin:0;color:var(--ink-950);font-family:var(--font-display);font-size:23px;line-height:1.2}
.fallback-dialog-copy p{margin:7px 0 0;color:var(--ink-600);font-size:14px;line-height:1.55;white-space:pre-line}
.fallback-dialog-actions{grid-column:1/-1;display:flex;align-items:center;justify-content:flex-end;gap:9px;padding-top:4px}
.fallback-dialog-actions .button{min-width:104px}
.fallback-dialog-actions .button[hidden]{display:none!important}
.fallback-dialog-layer.is-confirm-only .fallback-dialog-actions{justify-content:flex-end}


/* readable operational typography and contrast hardening. */
.workspace small,
.modal-dialog small,
.data-table small,
.summary-rail small,
.application-card small,
.assessment-queue-card small,
.recommendation-queue-card small,
.decision-queue-card small,
.certificate-queue-card small,
.case-queue-card small,
.notification-card small,
.field-hint,
.table-subtext,
.overline,
.eyebrow,
.status-badge,
.count-pill,
.heading-code,
.pagination-size-form,
.client-pagination-size{
    font-size:12px;
    line-height:1.45;
}
.workspace p,
.modal-dialog p,
.data-table td,
.field input,
.field select,
.field textarea{
    line-height:1.5;
}
.page-link.is-disabled[aria-disabled="true"]{
    cursor:not-allowed;
    opacity:.48;
}
.case-queue .pagination,
.certificate-queue .pagination,
.decision-queue .pagination,
.recommendation-workspace aside .pagination,
.assessment-workspace aside .pagination,
.ak01-list-panel .pagination{
    margin-top:10px;
    border-top:1px solid var(--line-soft);
}


/* formal institutional PDF report. */
.formal-report-print-root{background:#dfe4e7}
.formal-report-print-body{
    margin:0;
    padding:0;
    background:#dfe4e7;
    color:#111827;
    font-family:Arial,"Helvetica Neue",sans-serif;
    -webkit-print-color-adjust:exact;
    print-color-adjust:exact;
}
.formal-report-toolbar{
    position:sticky;
    top:0;
    z-index:50;
    display:flex;
    align-items:center;
    justify-content:center;
    gap:18px;
    margin:0;
    padding:12px 18px;
    background:#102c3a;
    color:#fff;
    box-shadow:0 8px 22px rgba(7,23,34,.18);
}
.formal-report-toolbar span{font-size:13px;line-height:1.45}
.formal-report-document{
    width:297mm;
    min-height:210mm;
    margin:18px auto;
    padding:12mm 13mm 17mm;
    box-sizing:border-box;
    background:#fff;
    box-shadow:0 12px 42px rgba(7,23,34,.2);
}
.formal-report-letterhead{
    display:grid;
    grid-template-columns:25mm minmax(0,1fr) 57mm;
    align-items:center;
    min-height:31mm;
    padding-bottom:4mm;
    border-bottom:3px double #111827;
}
.formal-report-logo{
    display:grid;
    width:21mm;
    height:21mm;
    place-items:center;
    overflow:hidden;
}
.formal-report-logo img{width:100%;height:100%;object-fit:contain}
.formal-report-logo span{
    display:grid;
    width:19mm;
    height:19mm;
    place-items:center;
    border:1.4px solid #111827;
    border-radius:50%;
    font-size:19pt;
    font-weight:700;
}
.formal-report-identity{text-align:center;padding:0 6mm}
.formal-report-identity p{margin:0;font-size:9pt;font-weight:700;letter-spacing:.14em}
.formal-report-identity h1{margin:1.5mm 0 1mm;font-family:Arial,"Helvetica Neue",sans-serif;font-size:15.5pt;line-height:1.15;text-transform:uppercase}
.formal-report-identity strong{display:block;font-size:8.3pt}
.formal-report-identity address{margin:1.2mm 0 0;font-size:7.6pt;font-style:normal;line-height:1.35}
.formal-report-identity small{display:block;margin-top:1mm;font-size:7.2pt;line-height:1.3}
.formal-report-control{align-self:stretch;border-left:1px solid #4b5563;padding-left:4mm}
.formal-report-control>span{display:block;margin-bottom:2mm;padding:1.5mm 2mm;background:#e8eef1;font-size:7pt;font-weight:700;letter-spacing:.08em;text-align:center}
.formal-report-control dl{display:grid;gap:1.2mm;margin:0}
.formal-report-control dl>div{display:grid;grid-template-columns:18mm 1fr;gap:2mm;font-size:6.9pt;line-height:1.25}
.formal-report-control dt{font-weight:700}.formal-report-control dd{margin:0;overflow-wrap:anywhere}
.formal-report-title{margin:6mm 0 5mm;text-align:center}
.formal-report-title p{margin:0;font-size:9pt;font-weight:700;letter-spacing:.22em}
.formal-report-title h2{margin:1mm 0;font-size:18pt;letter-spacing:.06em}
.formal-report-title span{font-size:8.5pt}
.formal-report-meta-section{margin-bottom:5mm}
.formal-report-meta-table,.formal-report-summary-table,.formal-report-data-table{width:100%;border-collapse:collapse}
.formal-report-meta-table{font-size:7.8pt}
.formal-report-meta-table th,.formal-report-meta-table td{border:1px solid #6b7280;padding:1.8mm 2.2mm;vertical-align:top}
.formal-report-meta-table th{width:30mm;background:#edf1f3;text-align:left}
.formal-report-meta-table td{width:auto}
.formal-report-section{margin-top:5mm}
.formal-report-section-heading{display:flex;align-items:flex-start;gap:2.5mm;margin-bottom:2.5mm;border-bottom:1.4px solid #111827;padding-bottom:1.5mm}
.formal-report-section-heading>span{display:grid;width:7mm;height:7mm;place-items:center;background:#102c3a;color:#fff;font-size:8pt;font-weight:700}
.formal-report-section-heading h3{margin:0;font-size:10.5pt;text-transform:uppercase;letter-spacing:.04em}
.formal-report-section-heading p{margin:.6mm 0 0;color:#374151;font-size:7.5pt}
.formal-report-summary-table{font-size:8pt}
.formal-report-summary-table th,.formal-report-summary-table td{border:1px solid #4b5563;padding:2mm 2.5mm}
.formal-report-summary-table th{background:#dfe8ec;text-align:left}
.formal-report-summary-table td:nth-child(even){width:18mm;text-align:center;font-size:10pt;font-weight:700}
.formal-report-data-table{font-size:6.75pt;table-layout:fixed;page-break-inside:auto}
.formal-report-data-table thead{display:table-header-group}
.formal-report-data-table tfoot{display:table-footer-group}
.formal-report-data-table tr{page-break-inside:avoid;page-break-after:auto}
.formal-report-data-table th,.formal-report-data-table td{border:1px solid #4b5563;padding:1.45mm 1.6mm;vertical-align:top;line-height:1.28;overflow-wrap:anywhere}
.formal-report-data-table th{background:#dfe8ec;font-size:6.5pt;text-align:left;text-transform:uppercase;letter-spacing:.025em}
.formal-report-data-table tbody tr:nth-child(even){background:#f7f9fa}
.formal-report-data-table td strong{display:block;font-size:6.9pt}
.formal-report-data-table td small{display:block;margin-top:.5mm;color:#374151;font-size:6.2pt}
.formal-report-data-table .col-number{width:8mm;text-align:center}
.formal-report-data-table th:nth-child(2){width:28mm}
.formal-report-data-table th:nth-child(3){width:23mm}
.formal-report-data-table th:nth-child(4){width:31mm}
.formal-report-data-table th:nth-child(5){width:36mm}
.formal-report-data-table th:nth-child(6){width:26mm}
.formal-report-data-table th:nth-child(7){width:27mm}
.formal-report-data-table th:nth-child(8){width:23mm}
.formal-report-certificate-table th:nth-child(2){width:30mm}
.formal-report-certificate-table th:nth-child(3){width:34mm}
.formal-report-certificate-table th:nth-child(4){width:23mm}
.formal-report-certificate-table th:nth-child(5),.formal-report-certificate-table th:nth-child(6){width:24mm}
.formal-report-certificate-table th:nth-child(7),.formal-report-certificate-table th:nth-child(8){width:24mm}
.formal-report-case-table th:nth-child(2){width:27mm}
.formal-report-case-table th:nth-child(3){width:17mm}
.formal-report-case-table th:nth-child(4){width:31mm}
.formal-report-case-table th:nth-child(5){width:28mm}
.formal-report-case-table th:nth-child(6){width:50mm}
.formal-report-case-table th:nth-child(7){width:19mm}
.formal-report-case-table th:nth-child(8){width:23mm}
.formal-report-case-table th:nth-child(9){width:23mm}
.formal-report-code-cell{font-family:"Courier New",monospace;font-size:6.2pt}
.formal-report-empty{padding:7mm!important;text-align:center;font-style:italic}
.formal-report-break-before{break-before:page;page-break-before:always}
.formal-report-approval{display:grid;grid-template-columns:minmax(0,1fr) 118mm;gap:10mm;align-items:start;margin-top:8mm;break-inside:avoid;page-break-inside:avoid}
.formal-report-electronic-note{padding:3mm;border:1px solid #6b7280;background:#f7f9fa;font-size:7.2pt;line-height:1.45}
.formal-report-electronic-note strong{display:block;margin-bottom:1mm;text-transform:uppercase}
.formal-report-electronic-note p{margin:0;text-align:justify}
.formal-report-signatures{display:grid;grid-template-columns:1fr 1fr;gap:12mm;font-size:7.8pt;text-align:center}
.formal-report-signatures>div{display:flex;min-height:38mm;flex-direction:column;align-items:center}
.formal-report-signatures span{min-height:10mm;line-height:1.35}
.formal-report-signatures i{display:block;width:40mm;height:17mm}
.formal-report-signatures strong{min-width:42mm;padding:0 2mm 1mm;border-bottom:1px solid #111827}
.formal-report-signatures small{margin-top:1mm}
@page formal-report-landscape{
    size:A4 landscape;
    margin:11mm 12mm 16mm;
    @bottom-left{content:"Dokumen elektronik - " string(report-code);font:6.5pt Arial;color:#374151}
    @bottom-center{content:"Sistem Uji Kompetensi LSP";font:6.5pt Arial;color:#374151}
    @bottom-right{content:"Halaman " counter(page) " dari " counter(pages);font:6.5pt Arial;color:#374151}
}
.formal-report-code-source{string-set:report-code content(text)}


/* alur MUK hibrida dan paket PDF asesmen */
.muk-source-choice{border:0;padding:0;margin:0;min-width:0}.muk-source-choice legend{font-size:.82rem;font-weight:700;margin-bottom:9px}.muk-source-choice-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.muk-choice-card{position:relative;display:grid;grid-template-columns:38px minmax(0,1fr);gap:4px 11px;padding:15px;border:1px solid var(--border);border-radius:14px;background:var(--surface);cursor:pointer}.muk-choice-card input{position:absolute;opacity:0;pointer-events:none}.muk-choice-card:has(input:checked){border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft);background:color-mix(in srgb,var(--accent-soft) 35%,var(--surface))}.muk-choice-icon{grid-row:1/4;width:38px;height:38px;display:grid;place-items:center;border-radius:11px;background:var(--surface-soft);color:var(--navy-800)}.muk-choice-card strong{font-size:.9rem}.muk-choice-card small{color:var(--muted);line-height:1.45}.muk-choice-card em{justify-self:start;margin-top:4px;padding:3px 7px;border-radius:999px;background:var(--success-soft);color:var(--success-strong);font-size:.75rem;font-style:normal;font-weight:700}.muk-choice-card.is-legacy{grid-column:1/-1}.muk-flow-grid-simple .muk-flow-card{min-height:148px}
.muk-assessment-package{display:grid;gap:18px}.muk-package-sheet{break-after:page;page-break-after:always;margin:18px auto}.muk-package-sheet:last-child{break-after:auto;page-break-after:auto}.muk-package-sheet.orientation-landscape{width:297mm;min-height:210mm;page:muk-landscape}.muk-package-sheet.orientation-portrait{width:210mm;min-height:297mm;page:muk-portrait}.muk-official-header{grid-template-columns:30mm minmax(0,1fr) 30mm;min-height:18mm;border:0;border-bottom:2px solid #111}.muk-print-regulator{display:flex;align-items:center;justify-content:center;gap:2mm;padding:2mm;border-right:0}.muk-print-regulator strong{font-size:14pt;letter-spacing:-.05em}.muk-print-regulator small{font-size:5.7pt;line-height:1.05}.muk-official-header .muk-print-heading{padding:1.5mm}.muk-official-header .muk-print-heading strong{font-size:7pt}.muk-official-header .muk-print-heading b{font-size:10pt}.muk-official-header .muk-print-heading span{font-size:5.8pt}.muk-official-header .muk-print-heading small{font-size:5.8pt}.muk-official-header .muk-print-brand{border-right:0;padding:2mm}.muk-official-header .muk-print-brand img{max-width:27mm;max-height:14mm}.muk-form-code-line{display:flex;align-items:baseline;gap:4px;border-bottom:1px solid #111;padding:2mm 0 1.5mm;margin-bottom:3mm;font-size:8pt}.muk-form-code-line span{margin-left:auto;font-size:6.4pt;color:#333}.muk-draft-watermark{position:absolute;z-index:0;inset:42% auto auto 50%;transform:translate(-50%,-50%) rotate(-30deg);font-size:52pt;font-weight:700;letter-spacing:.12em;color:rgba(120,120,120,.12);pointer-events:none}.muk-print-document>*{position:relative;z-index:1}.evidence-appendix-table small{font-size:6.5pt;overflow-wrap:anywhere}


/* template PDF multi-skema dan multi-versi */
.muk-template-scope-note{margin:0}.muk-template-profile-layout{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(280px,.7fr);gap:20px;align-items:start}.muk-template-profile-form{display:grid;gap:16px;padding:18px}.muk-template-reuse-card{position:sticky;top:var(--content-sticky-top,10px)}.muk-template-reuse-body{display:grid;gap:14px;padding:18px}.muk-template-reuse-body form{display:grid;gap:12px}.muk-template-documents-panel{overflow:hidden}.muk-template-document-list{display:grid}.muk-template-document-row{display:grid;grid-template-columns:210px minmax(0,1fr);gap:18px;padding:18px 20px;border-bottom:1px solid var(--border);background:var(--surface)}.muk-template-document-row:last-child{border-bottom:0}.muk-template-document-row.is-excluded{background:color-mix(in srgb,var(--surface-soft) 72%,var(--surface));opacity:.82}.muk-template-document-identity{display:flex;gap:11px;align-items:flex-start}.muk-template-document-identity>span{display:grid;place-items:center;width:34px;height:34px;flex:0 0 34px;border:1px solid var(--border);border-radius:10px;background:var(--surface-soft);font-size:.75rem;font-weight:700;color:var(--navy-800)}.muk-template-document-identity>div{display:grid;gap:3px;min-width:0}.muk-template-document-identity strong{font-size:.88rem;color:var(--navy-900)}.muk-template-document-identity small{font-size:.75rem;line-height:1.45;color:var(--muted);overflow-wrap:anywhere}.muk-template-document-form{display:grid;gap:12px;min-width:0}.muk-template-document-form .field{margin:0}.muk-template-document-controls{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.muk-template-document-actions{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.muk-template-document-actions>div{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.muk-output-profile-summary{display:grid;gap:3px;padding:12px;border:1px solid var(--border);border-radius:12px;background:var(--surface-soft)}.muk-output-profile-summary small{font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.09em;color:var(--muted)}.muk-output-profile-summary strong{font-size:.86rem;color:var(--navy-900)}.muk-output-profile-summary span{font-size:.75rem;color:var(--muted)}
.muk-header-minimal{grid-template-columns:26mm minmax(0,1fr);min-height:20mm;border:0;border-bottom:1.5px solid #111}.muk-header-minimal .muk-print-brand{border:0;border-right:1px solid #111}.muk-header-minimal .muk-print-heading{align-items:flex-start;text-align:left;padding:2mm 4mm}.muk-header-minimal .muk-print-heading b{font-size:11pt}.muk-header-minimal .muk-print-heading span{font-size:7pt}.muk-header-minimal .muk-print-heading small{font-size:6.5pt}.muk-header-source-aligned{border:1px solid #111;border-bottom:1px solid #111}.muk-source-reference-line{margin:-1.5mm 0 2.5mm;padding:1.2mm 2mm;border:1px solid #777;border-top:0;font-size:6.5pt;color:#333}.layout-variant-compact .muk-print-table{font-size:7.2pt;margin:2mm 0 3mm}.layout-variant-compact .muk-print-table th,.layout-variant-compact .muk-print-table td{padding:1.2mm 1.5mm;line-height:1.25}.layout-variant-compact .print-section,.layout-variant-compact .print-note,.layout-variant-compact .print-instructions{padding:2mm;margin:2mm 0;font-size:7.6pt}.layout-variant-source_aligned .muk-print-table th{background:#fff}.layout-variant-source_aligned .muk-print-table,.layout-variant-source_aligned .muk-print-table th,.layout-variant-source_aligned .muk-print-table td{border-color:#222}.template-family-source_aligned .muk-cover-page{justify-content:flex-start;padding-top:30mm}.template-family-source_aligned .muk-cover-page h2{border-top:2px solid #111;border-bottom:2px solid #111;width:100%;padding:5mm 0}


/* workflow spacing harmony
   Keeps workflow directions and their primary actions visually separated from
   the phase cards above and the operational panels below. */
.workflow-tabs:not(.muk-workflow-tabs){margin-bottom:clamp(20px,2vw,26px)}
.workflow-guidance{
    display:grid;
    grid-template-columns:minmax(0,1fr) auto;
    align-items:center;
    gap:clamp(20px,2.2vw,30px);
    margin:0 0 clamp(20px,2vw,26px);
    padding:clamp(18px,1.7vw,22px) clamp(20px,2vw,26px);
    border-color:rgba(var(--role-accent-rgb),.15);
    background:linear-gradient(135deg,#fff 0%,rgba(var(--role-accent-rgb),.045) 100%);
    box-shadow:0 10px 30px rgba(15,35,49,.05);
}
.workflow-guidance-copy{min-width:0;padding-right:clamp(0px,1vw,10px)}
.workflow-guidance .overline{display:block;margin-bottom:7px}
.workflow-guidance h2{
    margin:0;
    max-width:980px;
    color:var(--ink-900);
    font-size:clamp(16px,1.2vw,18px);
    line-height:1.5;
    letter-spacing:-.008em;
}
.workflow-guidance-actions{display:flex;align-items:center;justify-content:flex-end;min-width:0}
.workflow-guidance-actions .button{min-height:42px;white-space:nowrap}
.assignment-toolbar{margin-bottom:clamp(20px,2vw,26px);padding:18px 20px}


/* easy MUK instrument workflow
   Existing FR.IA packages become the primary path; full digital authoring remains advanced. */
.easy-authoring-intro{margin-bottom:18px}
.easy-authoring-shell .wizard-content{min-width:0}
.source-instrument-panel{overflow:hidden}
.source-instrument-summary{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:24px;border-bottom:1px solid var(--line-soft);background:linear-gradient(135deg,var(--surface-soft),var(--surface))}
.source-instrument-summary h2{margin:5px 0 6px;font-size:clamp(20px,2vw,28px)}
.source-instrument-summary p{margin:0;color:var(--ink-500)}
.source-instrument-list{display:grid}
.source-instrument-list article{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:14px;padding:15px 20px;border-bottom:1px solid var(--line-soft)}
.source-instrument-list article:last-child{border-bottom:0}
.source-instrument-list article>div{display:grid;gap:3px;min-width:0}
.source-instrument-list strong,.source-instrument-list small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.source-instrument-list small{color:var(--ink-500)}
.compact-empty-state{min-height:220px;border:0;border-radius:0;box-shadow:none}
.authoring-support-documents{margin-top:18px;overflow:hidden}
.authoring-support-documents>summary{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:14px;padding:18px 20px;cursor:pointer;list-style:none}
.authoring-support-documents>summary::-webkit-details-marker{display:none}
.authoring-support-documents>summary>div{display:grid;gap:3px}
.authoring-support-documents>summary small{color:var(--ink-500)}
.details-panel-body{border-top:1px solid var(--line-soft)}
.instrument-review-list{display:grid;gap:14px}
.instrument-review-row{display:grid;grid-template-columns:minmax(230px,1.15fr) minmax(480px,2fr) minmax(180px,.75fr) auto;align-items:end;gap:18px;padding:18px 20px}
.instrument-review-row.is-archived{opacity:.78;background:var(--surface-soft)}
.instrument-review-identity{min-width:0;align-self:center}
.instrument-review-identity h3{margin:5px 0 4px;font-size:17px}
.instrument-review-identity p{margin:0;color:var(--ink-500);font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.instrument-quick-form{display:grid;grid-template-columns:1.25fr 1fr 1fr auto;align-items:end;gap:10px;min-width:0}
.instrument-quick-form .field{margin:0;min-width:0}
.instrument-quick-form .field>span{font-size:12px}
.instrument-review-state{align-self:center;display:grid;justify-items:start;gap:6px;min-width:0}
.instrument-review-state small{color:var(--ink-500);line-height:1.45}
.instrument-review-row>.row-actions{align-self:center;flex-wrap:nowrap}
.easy-mapping-stack{display:grid;gap:18px}
.easy-mapping-card{overflow:hidden}
.unit-scope-form{padding:18px 22px}
.mapping-quick-actions{display:flex;align-items:center;gap:10px;margin-bottom:14px}
.bulk-check-toolbar{display:flex;align-items:center;justify-content:space-between;gap:14px;margin:0 0 14px;padding:12px 14px;border:1px solid var(--line-soft);border-radius:12px;background:var(--canvas-soft)}
.bulk-check-toolbar>div{display:flex;align-items:center;flex-wrap:wrap;gap:8px}.bulk-check-status{color:var(--ink-500);font-size:12px;text-align:right}
.unit-scope-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.unit-scope-option{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:flex-start;gap:10px;padding:13px 14px;border:1px solid var(--line-soft);border-radius:14px;background:var(--surface-soft);cursor:pointer;transition:border-color .18s ease,background .18s ease,transform .18s ease}
.unit-scope-option:hover{border-color:var(--theme-primary);transform:translateY(-1px)}
.unit-scope-option:has(input:checked){border-color:var(--theme-primary);background:color-mix(in srgb,var(--theme-primary-soft) 68%,var(--surface))}
.unit-scope-option input{margin-top:3px}
.unit-scope-option span{display:grid;gap:4px;min-width:0}
.unit-scope-option strong{font-size:12px;color:var(--ink-800)}
.unit-scope-option small{color:var(--ink-500);line-height:1.35}
.unit-scope-form>footer{display:flex;justify-content:flex-end;margin-top:14px}
.precise-mapping-details{border-top:1px solid var(--line-soft)}
.precise-mapping-details>summary{padding:15px 22px;cursor:pointer;font-weight:700;color:var(--theme-primary-strong);background:var(--surface-soft)}
.precise-mapping-details form>footer{display:flex;justify-content:flex-end;padding:0 22px 18px}


/* delegated internal-role operations */
.delegation-notice{display:flex;align-items:flex-start;gap:14px;margin:0 0 18px;padding:16px 18px;border:1px solid color-mix(in srgb,var(--theme-primary) 24%,var(--line-soft));background:color-mix(in srgb,var(--theme-primary-soft) 46%,var(--surface));box-shadow:none}
.delegation-notice>svg{flex:0 0 auto;width:22px;height:22px;color:var(--theme-primary);margin-top:1px}
.delegation-notice>div{display:grid;gap:4px}
.delegation-notice strong{font-size:14px;color:var(--ink-900)}
.delegation-notice p{margin:0;color:var(--ink-600);line-height:1.55}
.delegation-takeover{display:flex;align-items:center;justify-content:space-between;gap:22px;padding:20px;margin-bottom:18px;border-color:color-mix(in srgb,var(--theme-primary) 28%,var(--line-soft));background:color-mix(in srgb,var(--theme-primary-soft) 42%,var(--surface))}
.delegation-takeover>div{min-width:0}
.delegation-takeover h2{margin:4px 0 6px;font-size:20px}
.delegation-takeover p{margin:0;color:var(--ink-600);line-height:1.55}
.delegation-takeover form{flex:0 0 auto}


/* Ketua LSP MUK action visibility */
.approval-primary-action {
  margin-top: 18px;
  margin-bottom: 20px;
  border: 1px solid color-mix(in srgb, var(--accent, #1d5f7a) 24%, var(--line));
  box-shadow: 0 14px 34px rgba(15, 39, 54, .08);
}
.approval-primary-action.is-active-state {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
}


.tuk-calibration-fields {
  margin:.25rem 0;
  padding:1rem;
  border:1px solid var(--line);
  border-radius:var(--radius-md);
  background:color-mix(in srgb,var(--surface-soft) 82%,transparent);
}
.tuk-calibration-fields.is-calibration-required {
  border-color:color-mix(in srgb,var(--accent) 38%,var(--line));
  box-shadow:inset 3px 0 0 var(--accent);
}

/* formal MUK signature workflow */
.muk-signature-recovery{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:22px 24px;border-color:color-mix(in srgb,var(--gold-500,#9b7427) 34%,var(--line-soft));background:linear-gradient(135deg,var(--surface),color-mix(in srgb,var(--gold-soft,#f6edd8) 72%,var(--surface)))}
.muk-signature-recovery>div{min-width:0;max-width:760px}
.muk-signature-recovery h2{margin:4px 0 6px;font-size:20px}
.muk-signature-recovery p{margin:0;color:var(--ink-600);line-height:1.6}
.muk-signature-recovery form{display:grid;justify-items:end;gap:12px;min-width:min(100%,420px)}
.muk-signature-preview{display:flex;align-items:center;gap:10px}
.muk-signature-preview img{width:150px;max-height:68px;padding:5px;border:1px solid var(--line);border-radius:10px;object-fit:contain;background:#fff}
.muk-signature-preview span{display:grid;gap:2px}
.muk-signature-preview small{color:var(--ink-500);font-size:12px;line-height:1.4}
.decision-signature-mini{display:flex;align-items:center;gap:10px;margin-top:12px;padding-top:10px;border-top:1px solid var(--line-soft)}
.decision-signature-mini img{width:96px;height:42px;padding:3px;border:1px solid var(--line-soft);object-fit:contain;background:#fff;border-radius:7px}
.decision-signature-mini span,.decision-signature-mini strong,.decision-signature-mini small{display:block}
.decision-signature-mini strong{font-size:12px;color:var(--ink-800)}
.decision-signature-mini small{margin-top:2px;color:var(--ink-500);font-size:12px}
.decision-signature-missing{display:flex;align-items:center;gap:7px;margin-top:12px;padding-top:10px;border-top:1px solid var(--line-soft);color:var(--danger);font-size:12px;font-weight:700}
.muk-decision-signature-state{display:flex;align-items:flex-start;gap:7px;margin-top:10px;padding-top:9px;border-top:1px solid var(--line-soft)}
.muk-decision-signature-state>svg{flex:0 0 auto;width:15px;height:15px;margin-top:1px}
.muk-decision-signature-state>span{display:grid;gap:1px}
.muk-decision-signature-state strong{font-size:12px}
.muk-decision-signature-state small{font-size:12px;color:var(--ink-500)}
.muk-decision-signature-state.is-signed{color:var(--success)}
.muk-decision-signature-state.is-missing{color:var(--danger)}
.muk-decision-signature-state.is-neutral{color:var(--ink-500)}


/* table-first responsive UI and automatic workflow harmony */
.table-first-region{width:100%;min-width:0;background:#fff}
.table-first{width:100%;min-width:760px;border-collapse:separate;border-spacing:0}
.table-first th{font-size:12px;letter-spacing:.055em;text-transform:uppercase;color:var(--ink-600);background:linear-gradient(180deg,#fbfcfc,#f5f7f7)}
.table-first td{vertical-align:middle}
.table-first tbody tr{transition:background-color .14s ease}
.table-first tbody tr:hover{background:rgba(var(--role-accent-rgb),.035)}
.table-first tbody tr.is-selected-row{background:rgba(var(--role-accent-rgb),.075);box-shadow:inset 3px 0 0 var(--role-accent)}
.table-first .table-main-link{display:flex;flex-direction:column;gap:3px;color:inherit;text-decoration:none}
.table-first .table-main-link:hover strong{color:var(--role-accent)}
.table-first .table-main-link small{color:var(--ink-500);font-size:12px;line-height:1.35}
.table-first .table-actions{gap:6px}
.table-first-panel{overflow:hidden}
.table-first-panel>.table-scroll{border-top:0}
.table-progress{display:flex;align-items:center;gap:9px;min-width:132px}
.table-progress>span{display:block;width:82px;height:7px;border-radius:999px;background:var(--canvas-soft);overflow:hidden}
.table-progress>span>i{display:block;width:0;height:100%;border-radius:inherit;background:var(--role-accent)}
.table-progress strong{min-width:38px;font-size:12px}
.table-inline-form{display:grid;grid-template-columns:minmax(160px,1.4fr) minmax(135px,1fr) minmax(130px,1fr) auto;align-items:center;gap:7px;min-width:590px}
.table-inline-form select{min-height:36px;padding-block:6px;font-size:12px}
.is-muted-row{opacity:.72;background:var(--canvas-soft)}
.table-queue-panel{min-width:0;overflow:hidden}
.table-queue-panel .table-scroll{max-height:calc(100vh - 260px);overflow:auto}
.queue-table{min-width:420px}
.queue-table th:last-child,.queue-table td:last-child{width:120px}
.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}


/* scheme lists are table-first across operational roles */
.scheme-table-first{min-width:940px}
.scheme-table-first th:first-child,.scheme-table-first td:first-child{min-width:230px}
.scheme-table-first th:nth-child(2),.scheme-table-first td:nth-child(2){min-width:135px}
.scheme-table-first th:nth-child(3),.scheme-table-first td:nth-child(3){min-width:165px}
.scheme-table-first th:nth-child(4),.scheme-table-first td:nth-child(4){min-width:125px}
.scheme-table-first th:nth-child(5),.scheme-table-first td:nth-child(5){min-width:185px}
.scheme-table-first tbody tr.is-priority-row{background:rgba(var(--role-accent-rgb),.055);box-shadow:inset 3px 0 0 var(--role-accent)}
.scheme-table-first tbody tr.is-priority-row:hover{background:rgba(var(--role-accent-rgb),.085)}


/* all-role table-first policy for repeated operational data */
.data-table progress,
.table-progress progress{width:92px;height:7px;border:0;border-radius:999px;overflow:hidden;background:var(--canvas-soft)}
.table-progress progress::-webkit-progress-bar{background:var(--canvas-soft);border-radius:999px}
.table-progress progress::-webkit-progress-value{background:var(--role-accent);border-radius:999px}
.table-progress progress::-moz-progress-bar{background:var(--role-accent);border-radius:999px}
.table-progress small{display:block}
.table-badge-stack{display:flex;align-items:flex-start;flex-wrap:wrap;gap:5px;max-width:420px}
.table-file-link{display:inline-flex;align-items:center;gap:5px;margin-top:6px;font-size:12px;font-weight:650;color:var(--role-accent);text-decoration:none}
.table-file-link svg{width:14px;height:14px}
.table-details{max-width:360px}
.table-details summary{cursor:pointer;font-weight:650;color:var(--role-accent)}
.table-details pre{max-width:360px;max-height:220px;margin:8px 0 0;padding:10px;overflow:auto;border:1px solid var(--line-soft);border-radius:9px;background:var(--canvas-soft);font-size:12px;white-space:pre-wrap;word-break:break-word}
.table-continuation{font-size:12px;color:var(--ink-500)}
.table-check{display:inline-flex;align-items:center;gap:7px;white-space:nowrap}
.table-check-list{display:grid;gap:5px;min-width:170px;max-height:150px;overflow:auto}
.table-check-list label,.table-radio-group label{display:flex;align-items:center;gap:6px;font-size:12px;line-height:1.35}
.table-radio-group{display:flex;align-items:center;gap:10px;white-space:nowrap}
.data-table input[type="text"],
.data-table input[type="number"],
.data-table input[type="search"],
.data-table select,
.data-table textarea{width:100%;min-width:120px;border:1px solid var(--line);border-radius:9px;background:#fff;color:var(--ink-900);font:inherit}
.data-table input[type="text"],
.data-table input[type="number"],
.data-table input[type="search"],
.data-table select{min-height:36px;padding:7px 9px}
.data-table textarea{min-width:210px;padding:8px 9px;resize:vertical}
.data-table input:disabled,.data-table select:disabled,.data-table textarea:disabled{background:var(--canvas-soft);color:var(--ink-500);cursor:not-allowed}
.muk-template-table{min-width:1450px}
.muk-template-table td:nth-child(2){min-width:230px}
.muk-template-table td:nth-child(7){min-width:210px}
.apl02-assessment-table{min-width:1280px}
.apl02-assessment-table td:nth-child(1){min-width:210px}
.apl02-assessment-table td:nth-child(2){min-width:260px}
.apl02-assessment-table tr.needs-revision{background:rgba(178,80,58,.045);box-shadow:inset 3px 0 0 var(--danger)}
.table-upload-form{display:grid;grid-template-columns:minmax(160px,1fr) auto;align-items:center;gap:7px;min-width:242px}
.table-file-input{max-width:190px;min-width:150px;font-size:12px}
.table-upload-form .file-control{grid-template-columns:32px minmax(112px,1fr)!important;min-height:46px;padding:6px 8px;gap:1px 8px;border-radius:10px}
.table-upload-form .file-control::before{width:30px;height:30px;border-radius:9px;background-size:17px}
.table-upload-form .file-control::after{display:none}
.table-upload-form .file-control strong{font-size:12px;line-height:1.25}
.table-upload-form .file-control small{margin-top:1px;font-size:12px;line-height:1.25}
.responsive-table .table-actions:has(.table-upload-form){display:grid;grid-template-columns:repeat(2,max-content);justify-items:end;gap:7px;min-width:242px}
.responsive-table .table-actions:has(.table-upload-form) .table-upload-form{grid-column:1/-1}
.structure-table-panel{min-width:0}
.structure-table-panel .data-table{min-width:900px}


/* certificate administration page harmony */
.certificate-detail-stack{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--composition-gap);min-width:0}
.certificate-list-panel,.certificate-detail-panel,.certificate-signature-panel,.certificate-handover-panel{min-width:0;overflow:hidden}
.certificate-table{min-width:1120px}
.certificate-table th:first-child,.certificate-table td:first-child{min-width:170px}
.certificate-table th:nth-child(2),.certificate-table td:nth-child(2){min-width:225px}
.certificate-table th:nth-child(3),.certificate-table td:nth-child(3){min-width:190px}
.certificate-table th:nth-child(4),.certificate-table td:nth-child(4){min-width:160px}
.certificate-table th:nth-child(5),.certificate-table td:nth-child(5){min-width:145px}
.certificate-record-table{min-width:880px}
.certificate-record-table th,.certificate-record-table td{vertical-align:top}
.certificate-note-row{display:grid;gap:5px;padding:17px 20px;border-top:1px solid var(--line-soft);background:var(--canvas-soft)}
.certificate-note-row strong{font-size:12px;color:var(--ink-800)}
.certificate-note-row p{margin:0;color:var(--ink-600);line-height:1.58}
.certificate-signature-thumb{display:block;width:190px;height:72px;padding:5px;border:1px solid var(--line-soft);border-radius:9px;background:#fff;object-fit:contain}
.certificate-signature-thumb.compact{width:150px;height:58px;margin-bottom:4px}
.certificate-handover-panel .table-actions{justify-content:flex-end}
.certificate-list-panel tbody tr.is-selected-row{background:rgba(var(--role-accent-rgb),.075);box-shadow:inset 3px 0 0 var(--role-accent)}


/* guided process, operational readiness, and visible blockers */
.process-guidance{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:14px;margin:0 0 var(--composition-gap);padding:14px 16px;border:1px solid var(--line-soft);border-radius:var(--composition-radius);background:linear-gradient(135deg,#fff,var(--canvas-soft));box-shadow:var(--shadow-sm)}
.process-guidance-warning{border-color:rgba(183,125,39,.28);background:linear-gradient(135deg,#fff,rgba(183,125,39,.065))}
.process-guidance-info{border-color:rgba(var(--role-accent-rgb),.22);background:linear-gradient(135deg,#fff,rgba(var(--role-accent-rgb),.055))}
.process-guidance-icon{display:grid;place-items:center;width:42px;height:42px;border-radius:13px;background:rgba(var(--role-accent-rgb),.1);color:var(--role-accent)}
.process-guidance-warning .process-guidance-icon{background:rgba(183,125,39,.12);color:var(--warning)}
.process-guidance-icon svg{width:21px;height:21px}
.process-guidance-copy{min-width:0}
.process-guidance-copy .overline{display:block;margin-bottom:3px}
.process-guidance-copy strong{display:block;font-size:14px;color:var(--ink-900)}
.process-guidance-copy p{margin:3px 0 0;color:var(--ink-600);font-size:12px;line-height:1.5}

.readiness-hero{position:relative;display:grid;grid-template-columns:minmax(0,1.55fr) minmax(250px,.45fr);align-items:stretch;gap:18px;overflow:hidden;margin-bottom:var(--composition-gap);padding:26px;border-radius:calc(var(--composition-radius) + 4px);background:linear-gradient(135deg,var(--ink-900),var(--role-accent));color:#fff;box-shadow:var(--shadow-lg)}
.readiness-hero::after{content:"";position:absolute;right:-80px;bottom:-110px;width:260px;height:260px;border:1px solid rgba(255,255,255,.16);border-radius:50%;box-shadow:0 0 0 35px rgba(255,255,255,.035),0 0 0 75px rgba(255,255,255,.025)}
.readiness-hero-copy{position:relative;z-index:1;align-self:center;max-width:780px}
.readiness-hero-copy :is(h1,h2){max-width:760px;margin:6px 0 10px;font-size:clamp(26px,3vw,42px);line-height:1.08;letter-spacing:-.035em;color:#fff}
.readiness-hero-copy p{max-width:720px;margin:0;color:rgba(255,255,255,.78);font-size:14px;line-height:1.65}
.readiness-score-card{position:relative;z-index:1;display:flex;flex-direction:column;justify-content:center;min-width:0;padding:20px;border:1px solid rgba(255,255,255,.18);border-radius:18px;background:rgba(255,255,255,.1);backdrop-filter:blur(12px)}
.readiness-score-card>span{font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:rgba(255,255,255,.68)}
.readiness-score-card>strong{display:flex;align-items:flex-start;gap:2px;margin:7px 0 11px;font-size:48px;line-height:1;color:#fff}
.readiness-score-card>strong small{margin-top:5px;font-size:18px}
.readiness-score-card>small{margin-top:9px;color:rgba(255,255,255,.75);line-height:1.45}
.readiness-progress{display:block;width:100%;height:8px;overflow:hidden;border:0;border-radius:999px;background:rgba(255,255,255,.16);appearance:none}
.readiness-progress::-webkit-progress-bar{background:rgba(255,255,255,.16);border-radius:999px}
.readiness-progress::-webkit-progress-value{background:#fff;border-radius:999px}
.readiness-progress::-moz-progress-bar{background:#fff;border-radius:999px}
.next-handoff{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:16px;margin-bottom:var(--composition-gap);padding:18px 20px}
.next-handoff-icon{display:grid;place-items:center;width:48px;height:48px;border-radius:15px;background:rgba(var(--role-accent-rgb),.11);color:var(--role-accent)}
.next-handoff-icon svg{width:23px;height:23px}
.next-handoff h2{margin:3px 0 4px;font-size:18px}
.next-handoff p{margin:0 0 4px;color:var(--ink-600)}
.next-handoff small{color:var(--ink-500)}
.readiness-panel,.service-flow-panel{margin-bottom:var(--composition-gap)}
.readiness-step-list{display:grid;border-top:1px solid var(--line-soft)}
.readiness-step{display:grid;grid-template-columns:auto minmax(0,1fr) minmax(145px,auto);align-items:center;gap:15px;padding:16px 20px;border-bottom:1px solid var(--line-soft);transition:background .18s ease}
.readiness-step:last-child{border-bottom:0}
.readiness-step:hover{background:var(--canvas-soft)}
.readiness-step-number{display:grid;place-items:center;width:38px;height:38px;border-radius:12px;background:var(--canvas-soft);color:var(--ink-500);font-size:12px;font-weight:700}
.readiness-step.is-done .readiness-step-number{background:rgba(38,135,93,.12);color:var(--success)}
.readiness-step-number svg{width:18px;height:18px}
.readiness-step-copy{min-width:0}
.readiness-step-title{display:flex;align-items:center;flex-wrap:wrap;gap:9px}
.readiness-step-title strong{font-size:13.5px;color:var(--ink-900)}
.readiness-step-copy p{margin:4px 0;color:var(--ink-600);font-size:12px;line-height:1.52}
.readiness-step-copy>small{display:flex;align-items:center;gap:5px;color:var(--ink-500);font-size:12px}
.readiness-step-copy>small svg{width:13px;height:13px}
.readiness-step-action{display:flex;justify-content:flex-end}
.readiness-owner-wait{max-width:150px;text-align:right;color:var(--ink-500);font-size:12px;line-height:1.4}
.service-flow-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0;border-top:1px solid var(--line-soft)}
.service-flow-grid article{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:11px;min-width:0;padding:14px 18px;border-right:1px solid var(--line-soft);border-bottom:1px solid var(--line-soft)}
.service-flow-grid article:nth-child(even){border-right:0}
.service-flow-grid article>span{display:grid;place-items:center;width:31px;height:31px;border-radius:10px;background:rgba(var(--role-accent-rgb),.09);color:var(--role-accent);font-size:12px;font-weight:700}
.service-flow-grid strong,.service-flow-grid small{display:block}
.service-flow-grid strong{font-size:12px;color:var(--ink-900)}
.service-flow-grid small{margin-top:2px;color:var(--ink-500);font-size:12px}
.prerequisite-blocker{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:14px;margin-bottom:var(--composition-gap);padding:16px 18px;border:1px solid rgba(183,125,39,.25);border-radius:var(--composition-radius);background:rgba(183,125,39,.055)}
.prerequisite-blocker>span{display:grid;place-items:center;width:42px;height:42px;border-radius:13px;background:rgba(183,125,39,.12);color:var(--warning)}
.prerequisite-blocker h2{margin:0 0 3px;font-size:15px}
.prerequisite-blocker p{margin:0;color:var(--ink-600);font-size:12px;line-height:1.5}
.button[disabled][data-blocked-reason]{position:relative;opacity:.58;cursor:not-allowed}


/* simplified and guided FR.APL.02 flow */
.apl02-role-roadmap{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:0 0 18px}
.apl02-role-roadmap>div{position:relative;display:grid;grid-template-columns:34px minmax(0,1fr);gap:2px 10px;align-items:center;padding:13px 14px;border:1px solid var(--line);border-radius:13px;background:var(--surface);box-shadow:var(--shadow-xs)}
.apl02-role-roadmap>div>span{grid-row:1/3;display:grid;place-items:center;width:34px;height:34px;border-radius:10px;background:var(--surface-soft);color:var(--ink-500);font-weight:700}
.apl02-role-roadmap>div strong{font-size:13px;color:var(--navy-900)}
.apl02-role-roadmap>div small{color:var(--ink-500);font-size:12px;line-height:1.45}
.apl02-role-roadmap>div.is-active{border-color:var(--gold-300);background:linear-gradient(135deg,var(--gold-100),#fff)}
.apl02-role-roadmap>div.is-active>span{background:#fff;color:var(--gold-900)}
.apl02-owner-callout.primary{border-color:#b9d4df;background:var(--navy-100)}
.apl02-owner-callout.warning{border-color:#ead7af;background:var(--warning-soft);color:var(--warning)}
.apl02-owner-callout.danger{border-color:#ecc3c3;background:var(--danger-soft);color:var(--danger)}
.apl02-owner-callout.success{border-color:#b9ddcc;background:var(--success-soft);color:var(--success)}
.apl02-owner-callout.neutral{border-color:var(--line);background:var(--surface-soft)}
.wizard-next-action{display:flex;justify-content:flex-end;margin-top:16px}
.apl02-bulk-form{display:grid;gap:14px}
.apl02-choice-group{display:grid;gap:7px;min-width:150px}
.apl02-choice-group label{display:flex;align-items:center;gap:8px;padding:8px 9px;border:1px solid var(--line-soft);border-radius:9px;background:#fff;cursor:pointer}
.apl02-choice-group label:has(input:checked){border-color:var(--gold-300);background:var(--gold-100)}
.apl02-choice-group input{flex:0 0 auto}
.apl02-choice-group span{display:flex;min-width:0;align-items:center;justify-content:space-between;gap:8px;width:100%}
.apl02-choice-group strong{font-size:12px}
.apl02-choice-group small{padding:2px 5px;border-radius:5px;background:var(--surface-soft);font-size:12px;font-weight:700}
.apl02-save-bar{position:sticky;bottom:var(--content-sticky-bottom,10px);z-index:5;display:flex;align-items:center;justify-content:space-between;gap:18px;padding:14px 16px;border:1px solid var(--gold-300);border-radius:13px;background:rgba(255,255,255,.96);box-shadow:0 15px 34px rgba(11,31,43,.12);backdrop-filter:blur(12px)}
.apl02-save-bar>div{display:grid;gap:2px}.apl02-save-bar strong{font-size:13px;color:var(--navy-900)}.apl02-save-bar small{font-size:12px;color:var(--ink-500)}
.apl02-review-quickbar{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:18px;padding:16px 18px;border-color:var(--gold-300);background:linear-gradient(135deg,var(--gold-100),#fff)}
.apl02-review-quickbar>div{min-width:0}.apl02-review-quickbar h2{margin:3px 0 4px;font-size:18px}.apl02-review-quickbar p{margin:0;max-width:760px;color:var(--ink-600);font-size:12.5px;line-height:1.6}
.apl02-review-quickbar form{flex:0 0 auto}


/* workflow integrity and UI consistency */
.field-required{display:inline-flex;align-items:center;margin-left:6px;padding:2px 7px;border-radius:999px;background:var(--danger-100,#fff0ef);color:var(--danger,#a53d36);font-size:12px;font-style:normal;font-weight:700;letter-spacing:.03em;text-transform:uppercase;vertical-align:middle}
.schedule-readiness-guide{margin-top:18px}.requirement-list{display:grid;gap:10px;margin:0;padding:0;list-style:none}.requirement-list li{display:flex;align-items:flex-start;gap:10px;padding:12px 14px;border:1px solid color-mix(in srgb,var(--warning) 32%,var(--line));border-radius:var(--radius-sm);background:color-mix(in srgb,var(--warning) 8%,#fff);color:var(--ink-700)}.requirement-list svg{flex:0 0 auto;color:var(--warning)}.inline-success{display:flex;align-items:center;gap:10px;padding:13px 15px;border:1px solid color-mix(in srgb,var(--success) 28%,var(--line));border-radius:var(--radius-sm);background:color-mix(in srgb,var(--success) 7%,#fff);color:var(--success)}
.context-focus-panel{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:18px;padding:17px 19px}.context-focus-panel>div{min-width:0}.context-focus-panel h2{margin:3px 0 4px;font-size:18px}.context-focus-panel p{margin:0;color:var(--ink-500)}.context-focus-panel .button{flex:0 0 auto}
.apl02-role-roadmap>div.is-complete{border-color:color-mix(in srgb,var(--success) 35%,var(--line));background:color-mix(in srgb,var(--success) 7%,#fff)}.apl02-role-roadmap>div.is-complete>span{background:var(--success);color:#fff}.apl02-role-roadmap>div.is-current{border-color:color-mix(in srgb,var(--gold-700) 45%,var(--line));background:linear-gradient(135deg,var(--gold-100),#fff);box-shadow:0 0 0 3px color-mix(in srgb,var(--gold-100) 62%,transparent)}.apl02-role-roadmap>div.is-current>span{background:#fff;color:var(--gold-900)}.apl02-role-roadmap>div.is-pending{opacity:.72}


/* simplified MUK workspace */
.muk-workflow-tabs-four{grid-template-columns:repeat(4,minmax(0,1fr))}
.muk-context-advanced{display:flex;justify-content:flex-end;flex-wrap:wrap;gap:8px;padding:10px 14px 14px;border-top:1px solid var(--line-soft)}
.muk-simple-authoring{display:grid;gap:18px}
.muk-simple-hero{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:22px;padding:22px;background:linear-gradient(135deg,#fff,var(--canvas-soft))}
.muk-simple-hero h2{margin:4px 0 7px;font-size:22px}.muk-simple-hero p{margin:0;max-width:780px;color:var(--ink-600);line-height:1.6}
.muk-simple-score{display:grid;place-items:center;align-content:center;width:112px;height:112px;border:1px solid rgba(var(--role-accent-rgb),.2);border-radius:50%;background:rgba(var(--role-accent-rgb),.07)}
.muk-simple-score strong{font-size:28px;color:var(--role-accent)}.muk-simple-score span{font-size:12px;color:var(--ink-500)}
.muk-simple-check-grid,.muk-check-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.muk-simple-check-grid article,.muk-check-grid article{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:start;gap:12px;padding:17px}
.muk-check-grid article{grid-template-columns:auto minmax(0,1fr) auto;align-items:center}
.muk-simple-check-grid article>span,.muk-check-grid article>span{display:grid;place-items:center;width:40px;height:40px;border-radius:12px;background:var(--canvas-soft);color:var(--ink-500)}
.muk-simple-check-grid article.is-ready,.muk-check-grid article.is-ready{border-color:color-mix(in srgb,var(--success) 30%,var(--line));background:color-mix(in srgb,var(--success) 5%,#fff)}
.muk-simple-check-grid article.is-ready>span,.muk-check-grid article.is-ready>span{background:color-mix(in srgb,var(--success) 12%,#fff);color:var(--success)}
.muk-simple-check-grid article.is-blocked,.muk-check-grid article.is-blocked{border-color:color-mix(in srgb,var(--warning) 30%,var(--line));background:color-mix(in srgb,var(--warning) 5%,#fff)}
.muk-simple-check-grid article.is-blocked>span,.muk-check-grid article.is-blocked>span{background:color-mix(in srgb,var(--warning) 12%,#fff);color:var(--warning)}
.muk-simple-check-grid h3,.muk-check-grid h3{margin:3px 0 4px;font-size:15px}.muk-simple-check-grid p,.muk-check-grid p{margin:0;color:var(--ink-600);font-size:12px;line-height:1.5}.muk-simple-check-grid small,.muk-check-grid small{color:var(--ink-500);font-weight:700;text-transform:uppercase;letter-spacing:.04em}
.muk-simple-source-list>summary{display:flex;align-items:center;gap:12px;cursor:pointer;padding:16px 18px}.muk-simple-source-list>summary>span:first-child{color:var(--role-accent)}.muk-simple-source-list>summary>div{flex:1;min-width:0}.muk-simple-source-list>summary strong,.muk-simple-source-list>summary small{display:block}.muk-simple-source-list>summary small{margin-top:2px;color:var(--ink-500)}
.muk-simple-sync,.muk-simple-actions,.bulk-action-bar,.bulk-action-footer{display:flex;align-items:center;justify-content:space-between;gap:18px}
.muk-simple-sync h2{margin:3px 0 4px;font-size:18px}.muk-simple-sync p{margin:0;color:var(--ink-600)}
.muk-simple-actions{padding:16px 0}.muk-simple-actions form{margin-left:auto}
.bulk-instrument-form{display:grid;gap:12px}.bulk-action-bar,.bulk-action-footer{padding:13px 15px;border:1px solid var(--line-soft);border-radius:12px;background:var(--canvas-soft)}.bulk-action-bar strong,.bulk-action-bar small{display:block}.bulk-action-bar small{margin-top:2px;color:var(--ink-500)}.bulk-action-footer{justify-content:flex-end}
.muk-simple-blockers .muk-blocker-list>div{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:start;gap:12px;padding:14px 16px;border-bottom:1px solid var(--line-soft)}.muk-simple-blockers .muk-blocker-list>div:last-child{border-bottom:0}.muk-simple-blockers .muk-blocker-list>div>span{display:grid;place-items:center;width:30px;height:30px;border-radius:9px;background:var(--canvas-soft);font-weight:700}.muk-simple-blockers p{margin:3px 0 0;color:var(--ink-600)}
.muk-review-detail{overflow:hidden}.muk-review-detail>summary{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:16px 18px;cursor:pointer}.muk-review-detail>summary::-webkit-details-marker{display:none}


/* unified assessee process navigation */
.assessee-process-context{display:grid;gap:12px;margin-bottom:18px;padding:16px;border:1px solid var(--border);border-radius:var(--radius-xl);background:var(--surface);box-shadow:var(--shadow-sm)}
.assessee-process-summary,.assessee-process-next{display:flex;align-items:center;justify-content:space-between;gap:16px}
.assessee-process-summary>div{display:grid;gap:3px;min-width:0}.assessee-process-summary strong{font-size:1rem;color:var(--text)}.assessee-process-summary small{color:var(--muted)}
.assessee-process-steps{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px}
.assessee-process-step{display:flex;align-items:center;gap:8px;min-width:0;padding:10px 11px;border:1px solid var(--border);border-radius:14px;background:var(--surface-soft);color:var(--muted);text-decoration:none;transition:border-color .18s ease,background .18s ease,transform .18s ease}
.assessee-process-step>span{display:grid;place-items:center;flex:0 0 27px;width:27px;height:27px;border-radius:10px;background:var(--surface);font-size:.75rem;font-weight:700}.assessee-process-step strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.82rem}
.assessee-process-step.done{color:var(--success-strong);border-color:color-mix(in srgb,var(--success) 24%,var(--border));background:color-mix(in srgb,var(--success) 7%,var(--surface))}.assessee-process-step.active{color:var(--primary-strong);border-color:color-mix(in srgb,var(--primary) 35%,var(--border));background:color-mix(in srgb,var(--primary) 8%,var(--surface))}.assessee-process-step.is-current-page{box-shadow:inset 0 0 0 1px currentColor}.assessee-process-step:not(.is-locked):hover{transform:translateY(-1px);border-color:var(--primary)}.assessee-process-step.is-locked{cursor:not-allowed;opacity:.62}
.assessee-process-next{padding:12px 14px;border-radius:15px;background:var(--surface-soft)}.assessee-process-next>span{display:grid;place-items:center;flex:0 0 38px;width:38px;height:38px;border-radius:13px;background:var(--surface);color:var(--primary)}.assessee-process-next>div{display:grid;gap:2px;flex:1;min-width:0}.assessee-process-next small{text-transform:uppercase;letter-spacing:.08em;font-weight:700;color:var(--muted);font-size:.75rem}.assessee-process-next strong{color:var(--text)}.assessee-process-next p{margin:0;color:var(--muted);font-size:.82rem}
.table-actions-compact{flex-wrap:wrap}.table-actions-compact .button-primary{white-space:nowrap}


/* Paperless assessment archive print */
.digital-response-print{border:1px solid #111;padding:3mm}.digital-response-print header{display:flex;justify-content:space-between;gap:4mm;border-bottom:1px solid #999;padding-bottom:2mm}.digital-response-print header span{font-size:7pt;font-weight:700}.digital-answer-print{min-height:18mm;padding:3mm 0;white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.55}.digital-response-print small{display:block;border-top:1px solid #bbb;padding-top:2mm;color:#444}
/* simple three-step MUK document experience */
.muk-simple-flow{display:grid;grid-template-columns:minmax(0,1fr) 110px;gap:18px}
.muk-simple-flow .muk-readiness-dial{grid-column:2;grid-row:1}
.muk-simple-steps{grid-column:1/-1;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.muk-simple-steps article{display:grid;grid-template-columns:34px minmax(0,1fr);gap:10px;align-items:start;padding:14px;border:1px solid var(--line);border-radius:14px;background:var(--surface-soft)}
.muk-simple-steps article>span{display:grid;place-items:center;width:32px;height:32px;border-radius:50%;background:var(--surface);border:1px solid var(--line);font-weight:700}
.muk-simple-steps article small,.muk-simple-steps article strong,.muk-simple-steps article p{display:block}.muk-simple-steps article small{margin-bottom:3px;color:var(--muted);font-weight:700;text-transform:uppercase;letter-spacing:.07em}.muk-simple-steps article p{margin:4px 0 0;color:var(--muted);font-size:12px}
.muk-simple-steps article.is-current{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 7%,#fff)}.muk-simple-steps article.is-current>span{background:var(--accent);border-color:var(--accent);color:#fff}
.muk-simple-steps article.is-complete{border-color:color-mix(in srgb,var(--success) 35%,var(--line));background:color-mix(in srgb,var(--success) 7%,#fff)}.muk-simple-steps article.is-complete>span{background:var(--success);border-color:var(--success);color:#fff}
.muk-simple-steps article.is-waiting{opacity:.64}
.muk-next-help{display:flex;align-items:center;gap:9px;padding:10px 13px;border-radius:12px;background:var(--surface-soft);color:var(--text);font-size:13px}.muk-next-help svg{flex:0 0 auto;color:var(--accent)}
.muk-technical-note{padding:2px 4px;color:var(--muted);font-size:12.5px}.muk-technical-note summary,.muk-row-more summary,.muk-side-more summary{cursor:pointer;font-weight:650;color:var(--accent)}.muk-technical-note p{margin:7px 0 0}
.muk-simple-document-table td{vertical-align:middle}.muk-simple-document-table th:first-child{min-width:270px}.muk-simple-document-table th:nth-child(2){min-width:210px}.muk-simple-document-table th:nth-child(3){min-width:210px}
.muk-simple-checks{display:grid;gap:5px}.muk-simple-checks span{display:flex;align-items:center;gap:6px;color:var(--muted);font-size:12px}.muk-simple-checks svg{width:15px;height:15px}.muk-simple-checks span.is-current{color:var(--warning);font-weight:650}.muk-simple-checks span.is-complete{color:var(--success);font-weight:650}
.muk-primary-action{display:flex;align-items:center;justify-content:flex-end;gap:7px;min-width:210px}.muk-primary-action>form{display:inline-flex}.muk-primary-action:has(.muk-row-more[open]){flex-wrap:wrap}.muk-row-more{position:static}.muk-row-more[open]{flex:0 0 100%}.muk-row-more>summary{list-style:none;padding:7px 3px;font-size:12px;white-space:nowrap}.muk-row-more>summary::-webkit-details-marker{display:none}.muk-row-more>div{position:static;display:grid;width:100%;min-width:205px;margin-top:5px;padding:7px;border:1px solid var(--line);border-radius:12px;background:var(--surface-soft);box-shadow:none}.muk-row-more a,.muk-row-more button{display:block;width:100%;padding:8px 9px;border:0;border-radius:8px;background:transparent;color:var(--text);font:inherit;font-size:12.5px;text-align:left;text-decoration:none;cursor:pointer}.muk-row-more a:hover,.muk-row-more button:hover{background:var(--surface)}.muk-row-more button.danger{color:var(--danger)}.muk-row-more form{margin:0}
.muk-side-more{width:100%;padding-top:4px}.muk-side-more>div{display:grid;gap:7px;padding-top:8px}.muk-side-more a{color:var(--accent);font-size:12.5px;font-weight:650}
/* --------------------------------------------------------------------------
   Cross-role visual unity: one readable micro-typography scale for every
   operational workspace. Print/PDF selectors are intentionally excluded.
   -------------------------------------------------------------------------- */

.app-body .document-list small,
.app-body .reviewer-principles p,
.app-body .validation-queue nav small,
.app-body .approval-queue nav small,
.app-body .quality-gates span,
.app-body .quality-instruments header small,
.app-body .quality-instruments p,
.app-body .approval-summary-grid p,
.app-body .decision-history p,
.app-body .approval-instruments small,
.app-body .workflow-timeline p,
.app-body .requirement-card header p,
.app-body .admin-document-copy small,
.app-body .readiness-summary-grid small,
.app-body .import-payload small,
.app-body .table-upload-form .file-control small,
.app-body .table-first th,
.app-body .readiness-step-copy>small,
.app-body .service-flow-grid small,
.app-body .apl02-choice-group small,
.app-body .field-required,
.app-body .nav-copy small{
    font-size:var(--ui-text-micro);
    line-height:1.45;
}

.app-body .muk-document-group>header>div>span,
.app-body .required-chip,
.app-body .reference-chip,
.app-body .muk-document-meta,
.app-body .muk-source-list small{
    font-size:var(--ui-text-micro);
}
.archive-batch-divider{break-before:page;padding:14px 18px;background:#0d3c3d;color:#fff;font-family:Arial,sans-serif}
.archive-batch-divider:first-child{break-before:auto}
.archive-batch-divider small{display:block;margin-top:5px;color:#d7eeee}

.archive-filter-bar{justify-content:flex-start}
.archive-filter-bar .field{flex:1 1 170px}
.archive-filter-bar .field:first-child{flex-basis:260px}
.archive-filter-bar .button{flex:0 0 auto}
.muk-recovery-callout{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px 18px}
.muk-recovery-callout>strong,.muk-recovery-callout>p{grid-column:1}
.muk-recovery-callout>form{grid-column:2;grid-row:1/3;margin:0}
.muk-master-batch-panel{display:grid;grid-template-columns:minmax(0,1fr) minmax(220px,320px) auto;align-items:center;gap:18px;padding:22px 24px}
.muk-master-batch-panel h2{margin:3px 0 5px;font-size:22px}.muk-master-batch-panel p{margin:0}
.muk-master-batch-panel form{margin:0}.muk-master-batch-panel button[disabled]{cursor:wait;opacity:.72}
.muk-master-batch-progress{display:grid;gap:7px}.muk-master-batch-progress progress{width:100%;height:10px;accent-color:var(--role-accent)}
.muk-master-batch-progress strong{color:var(--ink-700);font-size:12px}

.assessment-paper-form{gap:18px;margin-top:18px}.assessment-question-card{display:grid;gap:14px;margin:0;padding:20px;border:1px solid var(--line-soft);border-radius:16px;background:#fff;box-shadow:0 8px 24px rgba(13,48,51,.05)}.assessment-question-card>legend{padding:0 8px;color:var(--teal-700);font-size:12px;font-weight:700;letter-spacing:.06em;text-transform:uppercase}.assessment-question-card>header{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}.assessment-question-card h3{margin:6px 0 0;color:var(--navy-900);font-size:17px}.assessment-question-prompt{margin:0;color:var(--ink-800);font-size:15px;line-height:1.7;white-space:normal}.assessment-options,.assessment-answer-stack{display:grid;gap:12px}.assessment-answer-stack{padding:0 20px 20px}.assessment-attendance-card{padding:20px}.assessment-attendance-card .panel-head{padding:0 0 16px}.candidate-response-text{padding:14px 16px;border:1px solid var(--line-soft);border-radius:12px;background:var(--canvas-soft);white-space:normal}.candidate-response-text p{margin:7px 0 0;line-height:1.65}.attendance-print .signature-row img{display:block;max-width:120px;max-height:48px;margin:0 auto;object-fit:contain}


/* lightweight DOCX MUK digitalization */
.compact-callout{margin:0 0 1rem}
.docx-digitalization-preview{margin-top:1rem}
.docx-question-preview-list{display:grid;gap:.7rem;padding:1rem}
.docx-question-preview-list article{display:grid;grid-template-columns:2.4rem minmax(0,1fr);gap:.8rem;align-items:start;padding:.85rem;border:1px solid var(--line);border-radius:var(--radius-md);background:var(--canvas-soft)}
.docx-question-preview-list article>span{display:grid;place-items:center;min-height:2.2rem;border-radius:999px;background:var(--paper);font-weight:700}
.docx-question-preview-list strong{display:block;line-height:1.55;font-weight:650}
.docx-question-preview-list small{display:block;margin-top:.45rem;color:var(--muted);line-height:1.5}
.panel-footnote{margin:0;padding:0 1rem 1rem;color:var(--muted);font-size:.875rem}


/* Production delegation controls */
.priority-item-form{margin:0;width:100%;font:inherit;text-align:left;border:0;}
.priority-action-button{border:0;background:transparent;font:inherit;cursor:pointer;color:inherit;}

/* guided assessment execution after FR.AK.01 */
.assessment-phase-guide{display:grid;gap:15px;margin-bottom:18px;scroll-margin-top:calc(var(--topbar-height) + 18px)}
.assessment-phase-guide-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px}
.assessment-phase-guide-head>div{min-width:0}.assessment-phase-guide-head h2{margin:4px 0 5px;font-family:var(--font-display);font-size:24px}.assessment-phase-guide-head p{margin:0;max-width:820px;color:var(--ink-600)}
.assessment-phase-steps{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:9px}
.assessment-phase-step{display:grid;grid-template-columns:32px minmax(0,1fr);align-items:start;gap:10px;min-width:0;padding:13px;border:1px solid var(--line);border-radius:14px;background:var(--surface-soft)}
.assessment-phase-step>span{display:grid;place-items:center;width:32px;height:32px;border:1px solid var(--line);border-radius:11px;background:#fff;color:var(--ink-500);font-size:12px;font-weight:700}
.assessment-phase-step>div{display:grid;gap:4px;min-width:0}.assessment-phase-step strong{color:var(--navy-900);font-size:13px;line-height:1.35}.assessment-phase-step small{color:var(--ink-500);font-size:12px;line-height:1.45}
.assessment-phase-step.done{border-color:color-mix(in srgb,var(--success) 28%,var(--line));background:color-mix(in srgb,var(--success) 7%,#fff)}.assessment-phase-step.done>span{border-color:transparent;background:var(--success);color:#fff}
.assessment-phase-step.active{border-color:color-mix(in srgb,var(--primary) 42%,var(--line));background:color-mix(in srgb,var(--primary) 7%,#fff);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--primary) 12%,transparent)}.assessment-phase-step.active>span{border-color:var(--primary);background:var(--primary);color:#fff}
.assessment-current-task{display:grid;grid-template-columns:42px minmax(0,1fr) auto;align-items:center;gap:13px;padding:14px 15px;border:1px solid var(--line);border-radius:15px;background:var(--canvas-soft)}
.assessment-current-task>span{display:grid;place-items:center;width:42px;height:42px;border-radius:13px;background:#fff;color:var(--primary)}.assessment-current-task>div{display:grid;gap:2px;min-width:0}.assessment-current-task small{color:var(--ink-500);font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.assessment-current-task strong{color:var(--navy-900);font-size:15px}.assessment-current-task p{margin:0;color:var(--ink-600);font-size:12.5px}.assessment-current-task.tone-warning{border-color:color-mix(in srgb,var(--warning) 34%,var(--line));background:color-mix(in srgb,var(--warning) 7%,#fff)}.assessment-current-task.tone-success{border-color:color-mix(in srgb,var(--success) 30%,var(--line));background:color-mix(in srgb,var(--success) 6%,#fff)}
.assessment-blocker-list{display:grid;gap:7px;margin:12px 0 0;padding:0;list-style:none}.assessment-blocker-list li{display:flex;align-items:flex-start;gap:8px;color:var(--ink-700);font-size:12.5px}.assessment-blocker-list li svg{flex:0 0 auto;width:16px;height:16px;color:var(--warning-strong)}
#assessment-opening,#assessment-attendance,#assessment-instruments,#assessment-responses,#assessment-kuk,#assessment-evidence,#assessment-finalize{scroll-margin-top:calc(var(--topbar-height) + 22px)}


/* FR.APL.02 satu penilaian dan satu bukti per elemen */
.apl02-kuk-list{margin:0;padding-left:1.15rem;display:grid;gap:.42rem;min-width:260px}
.apl02-kuk-list li{line-height:1.45;color:var(--text-muted)}
.apl02-kuk-list li strong{color:var(--text-primary);margin-right:.25rem}
.apl02-element-table select,.apl02-element-review-table select{min-width:190px}
.apl02-element-table textarea{min-width:220px;resize:vertical}
.field-warning{display:block;margin-top:.45rem;color:var(--warning-700,#8a5a00);font-weight:700;line-height:1.35}


/* Guided BNSP assessment workspace */
.assessment-workspace-guided{align-items:start}
.assessment-current-task-large{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:16px;margin:0 0 18px;padding:18px 20px;border:1px solid var(--line);border-radius:16px;background:var(--surface)}
.assessment-current-task-large>span{display:grid;width:42px;height:42px;place-items:center;border-radius:12px;background:var(--surface-soft);color:var(--navy-800)}
.assessment-current-task-large small{display:block;margin-bottom:3px;color:var(--ink-500);font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}
.assessment-current-task-large strong{display:block;color:var(--navy-950);font-size:16px}
.assessment-current-task-large p{margin:4px 0 0;color:var(--ink-600);font-size:13px;line-height:1.5}
.assessment-current-task-large.tone-warning{border-color:#e6c98b;background:#fffaf0}
.assessment-current-task-large.tone-primary{border-color:#9fc0d1;background:#f3f9fc}
.assessment-current-task-large.tone-success{border-color:#b7d7c8;background:#f2faf6}
.candidate-task-grid{display:grid;gap:12px}
.candidate-task-card{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;padding:16px 18px;border:1px solid var(--line-soft);border-radius:14px;background:var(--surface-soft)}
.candidate-task-card h3{margin:5px 0 5px;color:var(--navy-950);font-size:15px}
.candidate-task-card p{margin:0;color:var(--ink-600);font-size:13px;line-height:1.55}
.candidate-task-actions{display:flex;flex:0 0 auto;align-items:center;gap:8px}
.candidate-response-list{display:grid;gap:12px}
.candidate-response-card{overflow:hidden;border:1px solid var(--line);border-radius:14px;background:#fff}
.candidate-response-card>summary{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px 18px;cursor:pointer;list-style:none;background:var(--surface-soft)}
.candidate-response-card>summary::-webkit-details-marker{display:none}
.candidate-response-card>summary>span:first-child{display:grid;gap:3px}
.candidate-response-card>summary strong{color:var(--navy-950);font-size:15px}
.candidate-response-card>summary small{color:var(--ink-500);font-size:12px}
.candidate-response-card[open]>summary{border-bottom:1px solid var(--line-soft)}
.candidate-response-body{display:grid;gap:14px;padding:18px}
.assessor-led-list{display:grid;gap:10px}
.assessor-led-list>article{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:12px;padding:13px 15px;border:1px solid var(--line-soft);border-radius:12px;background:var(--surface-soft)}
.assessor-led-list>article>span:first-child{display:grid;width:30px;height:30px;place-items:center;border-radius:9px;background:#e7f3ed;color:#1f6d50}
.assessor-led-list strong{display:block;color:var(--navy-950);font-size:13.5px}
.assessor-led-list small{display:block;margin-top:2px;color:var(--ink-500);font-size:12px}
.assessment-unit-card>summary.assessment-unit-summary{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:17px 20px;cursor:pointer;list-style:none;background:var(--surface-soft)}
.assessment-unit-card>summary.assessment-unit-summary::-webkit-details-marker{display:none}
.assessment-unit-summary>span:first-child{display:flex;align-items:center;gap:12px;min-width:0}
.assessment-unit-summary strong{overflow:hidden;color:var(--navy-950);font-size:14px;text-overflow:ellipsis;white-space:nowrap}
.assessment-unit-card[open]>.assessment-unit-summary{border-bottom:1px solid var(--line)}
.assessment-element-list{display:grid;gap:12px;padding:14px;background:#fbfcfd}
.assessment-element-card{overflow:hidden;border:1px solid var(--line-soft);border-radius:12px;background:#fff}
.assessment-element-card>summary{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:14px 16px;cursor:pointer;list-style:none}
.assessment-element-card>summary::-webkit-details-marker{display:none}
.assessment-element-card>summary>span:first-child{display:grid;gap:2px;min-width:0}
.assessment-element-card>summary small{color:var(--ink-500);font-size:12px;font-weight:700;text-transform:uppercase}
.assessment-element-card>summary strong{overflow:hidden;color:var(--navy-900);font-size:13.5px;text-overflow:ellipsis;white-space:nowrap}
.assessment-element-card[open]>summary{border-bottom:1px solid var(--line-soft);background:#fcfdfe}
.assessment-element-form{margin:0}
.assessment-kuk-edit-table{min-width:980px}
.assessment-kuk-edit-table td:first-child{min-width:360px}
.assessment-kuk-edit-table td:first-child strong,.assessment-kuk-edit-table td:first-child small{display:block}
.assessment-kuk-edit-table td:first-child small{margin-top:4px;max-width:520px;color:var(--ink-600);line-height:1.45}
.assessment-kuk-edit-table select,.assessment-kuk-edit-table input{width:100%;min-height:38px;border:1px solid var(--line);border-radius:9px;background:#fff;color:var(--ink-900);font:inherit}
.assessment-kuk-edit-table select{min-width:180px;padding:7px 9px}
.assessment-kuk-edit-table input[type=number]{min-width:95px;padding:7px 9px}
.assessment-kuk-edit-table input[type=text]{min-width:260px;padding:7px 9px}
.assessment-kuk-edit-table select:focus,.assessment-kuk-edit-table input:focus{outline:3px solid color-mix(in srgb,var(--navy-500) 18%,transparent);border-color:var(--navy-500)}
.assessment-kuk-edit-table select:disabled,.assessment-kuk-edit-table input:disabled{background:var(--surface-soft);color:var(--ink-500)}
.assessment-element-form .panel-footer-actions{padding:12px 16px;border-top:1px solid var(--line-soft);background:var(--surface-soft)}
.assessment-element-form .panel-footer-actions span{color:var(--ink-500);font-size:12px}


/* evidence mapping grouped by unit and element */
.evidence-kuk-group-list{display:grid;gap:10px;max-height:48vh;overflow:auto;padding:2px}
.evidence-kuk-group{overflow:hidden;border:1px solid var(--line-soft);border-radius:12px;background:#fff}
.evidence-kuk-group>summary{grid-template-columns:auto minmax(0,1fr);padding:12px 14px;cursor:pointer;list-style:none;background:var(--surface-soft)}
.evidence-kuk-group>summary::-webkit-details-marker{display:none}
.evidence-kuk-group>summary strong{color:var(--navy-900);font-size:12px}
.evidence-kuk-group>summary span{overflow:hidden;color:var(--ink-600);font-size:12px;text-overflow:ellipsis;white-space:nowrap}
.evidence-kuk-group[open]>summary{border-bottom:1px solid var(--line-soft)}
.evidence-kuk-group>div{display:grid;gap:14px;padding:14px}
.evidence-kuk-group section{display:grid;gap:8px}
.evidence-kuk-group h4{margin:0;color:var(--navy-900);font-size:12.5px;line-height:1.4}
.evidence-kuk-group .check-grid{grid-template-columns:repeat(2,minmax(0,1fr));max-height:none;overflow:visible}


/* compact instrument guide for assessors */
.assessment-instrument-guide{margin:0 0 16px;overflow:hidden;border:1px solid var(--line-soft);border-radius:14px;background:#fff}
.assessment-instrument-guide>summary{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:14px 16px;cursor:pointer;list-style:none;background:var(--surface-soft)}
.assessment-instrument-guide>summary::-webkit-details-marker{display:none}
.assessment-instrument-guide>summary>span:first-child{display:grid;gap:2px}
.assessment-instrument-guide>summary strong{color:var(--navy-950);font-size:13.5px}
.assessment-instrument-guide>summary small{color:var(--ink-500);font-size:12px}
.assessment-instrument-guide-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;padding:14px}
.assessment-instrument-guide-grid article{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 13px;border:1px solid var(--line-soft);border-radius:11px;background:#fff}
.assessment-instrument-guide-grid article>div{display:grid;gap:3px;min-width:0}
.assessment-instrument-guide-grid strong{overflow:hidden;color:var(--navy-900);font-size:12.5px;text-overflow:ellipsis;white-space:nowrap}
.assessment-instrument-guide-grid small{color:var(--ink-500);font-size:12px}


/* pelaksanaan asesmen terpandu, bantuan massal terkendali, dan pratinjau modal */
.panel-head-actions{display:flex;align-items:center;justify-content:flex-end;gap:9px;flex-wrap:wrap}
.assessment-focus-nav{position:sticky;top:var(--content-sticky-top,10px);z-index:18;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:7px;margin:0 0 16px;padding:8px;border:1px solid var(--line);border-radius:17px;background:color-mix(in srgb,var(--surface) 94%,transparent);box-shadow:0 12px 28px rgba(10,31,43,.09);backdrop-filter:blur(14px)}
.assessment-focus-nav>a{display:grid;grid-template-columns:29px minmax(0,1fr);align-items:center;column-gap:8px;min-height:52px;padding:8px 10px;border:1px solid transparent;border-radius:12px;color:var(--ink-700);text-decoration:none;transition:background .18s ease,border-color .18s ease,transform .18s ease}
.assessment-focus-nav>a:hover,.assessment-focus-nav>a:focus-visible{border-color:color-mix(in srgb,var(--primary) 24%,var(--line));background:var(--surface-soft);transform:translateY(-1px)}
.assessment-focus-nav>a>span{grid-row:1/3;display:grid;place-items:center;width:29px;height:29px;border-radius:10px;background:var(--role-accent-soft);color:var(--primary);font-size:12px;font-weight:700}
.assessment-focus-nav strong{overflow:hidden;color:var(--navy-900);font-size:12px;text-overflow:ellipsis;white-space:nowrap}.assessment-focus-nav small{overflow:hidden;color:var(--ink-500);font-size:12px;text-overflow:ellipsis;white-space:nowrap}
.assessment-focus-nav-asesi{grid-template-columns:repeat(4,minmax(0,1fr))}
#assessment-attendance,#assessment-responses,#assessment-evidence,#assessment-kuk,#assessment-finalize,#practice-tasks,#assessment-instruments,#assessor-led{scroll-margin-top:170px}
.assessment-bulk-helper{display:grid;grid-template-columns:minmax(250px,1.35fr) minmax(180px,.8fr) minmax(150px,.55fr) minmax(240px,1fr) auto;align-items:end;gap:10px;margin:0 0 12px;padding:12px;border:1px dashed color-mix(in srgb,var(--primary) 28%,var(--line));border-radius:14px;background:color-mix(in srgb,var(--role-accent-soft) 38%,var(--surface))}
.assessment-bulk-helper .field{margin:0}.assessment-bulk-helper .field>span{font-size:12px}.assessment-bulk-helper .button{min-height:42px;white-space:nowrap}
.bulk-check{display:flex;align-items:flex-start;gap:10px;min-width:0;padding:10px 12px;border:1px solid var(--line);border-radius:12px;background:var(--surface)}
.bulk-check input{flex:0 0 auto;margin-top:3px}.bulk-check span{display:block;min-width:0}.bulk-check strong,.bulk-check small{display:block}.bulk-check strong{color:var(--navy-900);font-size:12.5px}.bulk-check small{margin-top:3px;color:var(--ink-500);font-size:12px;line-height:1.45}
.bulk-check-compact{margin:0 0 10px;background:var(--surface-soft)}
.bulk-readiness-summary{display:grid;gap:8px;padding:13px 14px;border:1px solid var(--line);border-radius:13px;background:var(--surface-soft)}.bulk-readiness-summary .status-badge{width:max-content}.bulk-readiness-summary p{margin:0}
.preview-modal-dialog{height:min(880px,calc(var(--modal-viewport-height,100dvh) - 24px))}.preview-modal-body{position:relative;display:grid;grid-template-rows:minmax(0,1fr) auto;min-height:0;padding:0!important;overflow:hidden!important}.preview-modal-body iframe{width:100%;height:100%;min-height:520px;border:0;background:#fff}.preview-modal-loading{position:absolute;inset:0 0 74px;z-index:3;display:grid;place-content:center;justify-items:center;gap:12px;background:color-mix(in srgb,var(--surface) 94%,transparent);color:var(--ink-700)}.preview-modal-loading[hidden]{display:none}.preview-modal-actions{position:relative!important;bottom:auto!important;margin:0!important;padding:12px 16px!important;border-top:1px solid var(--line);background:var(--surface)}
.loading-spinner{display:block;width:34px;height:34px;border:3px solid color-mix(in srgb,var(--primary) 20%,var(--line));border-top-color:var(--primary);border-radius:50%;animation:preview-spin .8s linear infinite}@keyframes preview-spin{to{transform:rotate(360deg)}}
.assessment-policy-grid .workspace-access-card{align-items:start}.assessment-policy-grid .workspace-access-card select{align-self:center}


/* assessment identity, evidence quality, and conflict controls */
.identity-verification-card {
    display: flex;
    align-items: center;
    gap: 1rem;
    padding: 1rem;
    border: 1px solid var(--border-color, #dfe5ec);
    border-radius: 1rem;
    background: var(--surface-soft, #f7f9fc);
}
.identity-verification-card > div {
    display: grid;
    gap: .2rem;
}
.identity-verification-card strong {
    font-size: 1.05rem;
}
.identity-verification-card small {
    color: var(--text-muted, #667085);
}
.identity-comparison-card {
    overflow: hidden;
    border: 1px solid var(--border-color, #dfe5ec);
    border-radius: 1rem;
    background: var(--surface-soft, #f7f9fc);
}
.identity-comparison-card > header {
    display: flex;
    align-items: center;
    gap: .85rem;
    padding: 1rem;
    border-bottom: 1px solid var(--border-color, #dfe5ec);
}
.identity-comparison-card > header > span:not(.profile-avatar-large) {
    display: grid;
    place-items: center;
    width: 2.6rem;
    height: 2.6rem;
    flex: 0 0 2.6rem;
    border-radius: .8rem;
    color: var(--primary);
    background: var(--surface, #fff);
}
.identity-comparison-card > header > div { display: grid; gap: .2rem; min-width: 0; }
.identity-comparison-card > header small { color: var(--text-muted, #667085); line-height: 1.45; overflow-wrap: anywhere; }
.evidence-quality-checks {
    padding: 1rem;
    border: 1px solid var(--border-color, #dfe5ec);
    border-radius: 1rem;
    background: var(--surface-soft, #f7f9fc);
}
.evidence-quality-checks legend {
    padding: 0 .35rem;
    font-weight: 750;
}
.evidence-quality-checks .check-grid {
    margin-top: .35rem;
}
.evidence-quality-checks .check-grid > label {
    min-height: 5rem;
}
.assessment-control-bar span > strong {
    white-space: nowrap;
}

.question-batch-list {
    display: grid;
    gap: .7rem;
    max-height: 20rem;
    overflow: auto;
    padding: .2rem .25rem .2rem 0;
}
.question-batch-list .choice-card {
    margin: 0;
}


/* alur pasca-FR.AK.01 berorientasi tugas dan editor KUK mobile */
.assessment-phase-guide.role-asesor .assessment-phase-steps{grid-template-columns:repeat(6,minmax(0,1fr))}
.assessment-focus-nav>a.done{background:color-mix(in srgb,var(--success) 7%,var(--surface));border-color:color-mix(in srgb,var(--success) 20%,var(--line))}
.assessment-focus-nav>a.done>span{background:var(--success);color:#fff}
.assessment-focus-nav>a.active{border-color:color-mix(in srgb,var(--primary) 34%,var(--line));background:color-mix(in srgb,var(--role-accent-soft) 58%,var(--surface));box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--primary) 10%,transparent)}
.assessment-focus-nav>a.is-visible-step:not(.active){box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--ink-500) 16%,transparent);background:color-mix(in srgb,var(--surface-soft) 70%,var(--surface))}
.assessment-focus-nav>a.upcoming{opacity:.82}
.assessment-focus-nav>a.waiting{opacity:.76;border-style:dashed;background:color-mix(in srgb,var(--surface-soft) 78%,var(--surface))}
.assessment-focus-nav>a[aria-disabled="true"]{pointer-events:none;cursor:default}
.assessment-step-panel{scroll-margin-top:174px;transition:border-color .18s ease,box-shadow .18s ease}
.assessment-step-panel.is-visible-step{border-color:color-mix(in srgb,var(--primary) 24%,var(--line));box-shadow:0 14px 34px rgba(10,31,43,.08)}
.assessment-queue-disclosure>summary{display:none}
.assessment-queue-disclosure>.assessment-queue-body{display:block}
.kuk-editor-mobile{display:none}
.kuk-modal-evidence{display:flex;align-items:center;gap:12px;padding:13px 14px;border:1px solid var(--line);border-radius:13px;background:var(--surface-soft)}
.kuk-modal-evidence>span{display:grid;place-items:center;width:38px;height:38px;border-radius:11px;background:var(--surface);color:var(--primary)}
.kuk-modal-evidence>div{display:grid;gap:2px}.kuk-modal-evidence small{color:var(--ink-500);font-size:12px;font-weight:700;letter-spacing:.07em;text-transform:uppercase}.kuk-modal-evidence strong{color:var(--navy-900);font-size:13px}


/* simplified MUK registration for offline-validated packages */
.next-action-panel,.readiness-action-panel{display:flex;align-items:center;justify-content:space-between;gap:22px;padding:24px 26px}
.next-action-panel>div,.readiness-action-panel>div{min-width:0}
.next-action-panel h2,.readiness-action-panel h2{margin:5px 0 7px;font-family:var(--font-display);font-size:clamp(22px,2.5vw,30px);font-weight:650}
.next-action-panel p,.readiness-action-panel p{max-width:760px;margin:0;color:var(--muted);line-height:1.65}
.next-action-panel.tone-success,.readiness-action-panel{border-color:color-mix(in srgb,var(--success) 32%,var(--line));background:linear-gradient(135deg,color-mix(in srgb,var(--success) 7%,#fff),#fff)}
.next-action-panel.tone-warning{border-color:color-mix(in srgb,var(--warning) 35%,var(--line));background:linear-gradient(135deg,color-mix(in srgb,var(--warning) 8%,#fff),#fff)}
.muk-simple-steps>.muk-simple-step{grid-template-columns:42px minmax(0,1fr) auto auto;align-items:center;padding:18px}
.muk-simple-step .step-number{width:38px;height:38px}
.muk-simple-step h2{margin:0 0 5px;font-size:17px}
.muk-simple-step p{margin:0}
.document-inline-state{display:flex;align-items:center;gap:13px;margin:0 22px 18px;padding:13px 15px;border:1px solid var(--line-soft);border-radius:14px;background:var(--surface-soft)}
.document-inline-state>span{display:grid;width:38px;height:38px;flex:0 0 auto;place-items:center;border-radius:11px;background:var(--surface);color:var(--accent)}
.document-inline-state>div{display:grid;min-width:0;gap:3px;margin-right:auto}
.document-inline-state strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.document-inline-state small{color:var(--muted)}
.readiness-list{display:grid;padding:0 20px 20px}
.readiness-list>a{display:grid;grid-template-columns:40px minmax(0,1fr) auto;align-items:center;gap:13px;padding:14px 0;border-top:1px solid var(--line-soft);color:inherit;text-decoration:none}
.readiness-list>a:first-child{border-top:0}
.readiness-list>a>span{display:grid;width:36px;height:36px;place-items:center;border-radius:11px;background:var(--warning-soft);color:var(--warning)}
.readiness-list>a>div{display:grid;gap:3px}.readiness-list small{color:var(--muted)}


/* MUK validation and sequential electronic approval */
.validation-signature-timeline{display:grid;gap:12px}.validation-signature-timeline .timeline-item{display:grid;grid-template-columns:42px minmax(0,1fr) auto;gap:14px;align-items:center;padding:15px;border:1px solid var(--line);border-radius:16px;background:var(--surface)}.validation-signature-timeline .timeline-item>div{display:grid;gap:3px}.validation-signature-timeline .timeline-item span:not(.status):not(.timeline-marker){color:var(--muted)}.compact-meta-panel{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.compact-meta-panel>div{display:grid;gap:7px;min-width:0}.compact-meta-panel code,.hash-box code{overflow-wrap:anywhere;word-break:break-all}.validation-document-summary .detail-grid{margin-top:2px}.declaration-box{padding:16px 18px;border:1px solid var(--line);border-radius:16px;background:var(--surface-soft)}.declaration-box p{margin:8px 0 0}.success-panel{display:flex;gap:14px;align-items:center}.success-panel>span{display:grid;place-items:center;width:44px;height:44px;border-radius:14px;background:var(--success-soft);color:var(--success)}.public-verify-shell{max-width:880px}.verify-card{width:100%}.verify-mark{display:inline-grid;place-items:center;margin-right:8px}.signature-verify-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:18px}.signature-verify-list article{padding:15px;border:1px solid var(--line);border-radius:15px;background:var(--surface-soft);display:grid;gap:5px}.signature-verify-list article p{margin:0}.hash-box{margin-top:18px;padding:15px;border-radius:15px;background:var(--navy-900);color:var(--paper);display:grid;gap:8px}.hash-box code{color:inherit;font-size:.75rem}.muk-workflow-tabs-five{grid-template-columns:repeat(5,minmax(0,1fr))}


/* Monitoring sertifikasi: memakai ritme panel, badge, dan tabel operasional yang sama. */
.monitoring-summary{grid-template-columns:repeat(4,minmax(0,1fr));margin-bottom:18px}
.monitoring-summary article p{margin:3px 0 0;color:var(--ink-500);font-size:12px}
.monitoring-table-panel{overflow:hidden}
.monitoring-filter-bar{max-width:100%}
.monitoring-certification-table{min-width:1180px}
.monitoring-stage-cell,.monitoring-document-cell,.monitoring-waiting-cell{display:grid;gap:5px;min-width:0}
.monitoring-stage-cell>.status-badge{justify-self:start}
.monitoring-stage-cell>.table-progress{min-width:150px}
.monitoring-document-cell>.scheme-code{justify-self:start}
.monitoring-document-cell small,.monitoring-waiting-cell small{color:var(--ink-500);line-height:1.45}
.monitoring-waiting-cell>.status-badge{justify-self:start;margin-top:2px}
.monitoring-guidance{margin-top:18px}


/* guided UX refinements */
.apl02-mobile-element-list{display:none;gap:10px}.apl02-mobile-element-card{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:12px;padding:14px;border:1px solid var(--line-soft);border-radius:14px;background:var(--surface);box-shadow:var(--shadow-xs)}.apl02-mobile-element-card.needs-revision{border-color:color-mix(in srgb,var(--danger) 38%,var(--line));background:color-mix(in srgb,var(--danger-soft) 30%,var(--surface))}.apl02-mobile-element-main{display:flex;align-items:flex-start;gap:10px;min-width:0}.apl02-mobile-element-main>div{display:grid;gap:3px;min-width:0}.apl02-mobile-element-main strong{color:var(--navy-900);font-size:13px;line-height:1.4}.apl02-mobile-element-main small{color:var(--ink-500);font-size:12px;line-height:1.45}.apl02-mobile-element-status{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}.apl02-modal-context{display:flex;align-items:flex-start;gap:12px;padding:14px;border:1px solid var(--line-soft);border-radius:13px;background:var(--surface-soft)}.apl02-modal-context>div{display:grid;gap:4px}.apl02-modal-context strong{color:var(--navy-900);font-size:15px}.apl02-modal-context small{color:var(--ink-500)}.apl02-modal-kuk{overflow:hidden;border:1px solid var(--line-soft);border-radius:13px}.apl02-modal-kuk>summary{padding:12px 14px;cursor:pointer;background:var(--surface-soft);font-weight:700}.apl02-modal-kuk pre{max-height:210px;margin:0;padding:14px;overflow:auto;background:#fff;color:var(--ink-700);font:inherit;font-size:12px;line-height:1.6;white-space:pre-wrap}.apl02-review-note{padding:13px;border:1px solid color-mix(in srgb,var(--warning) 35%,var(--line));border-radius:12px;background:var(--warning-soft)}.apl02-review-note p{margin:5px 0 0}
.assessment-queue-list{display:grid;gap:8px;padding:8px}.assessment-queue-item{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"person state" "action action";align-items:center;gap:9px;padding:11px;border:1px solid var(--line-soft);border-radius:12px;background:var(--surface)}.assessment-queue-item.is-selected{border-color:var(--gold-300);background:var(--gold-100)}.assessment-queue-person{grid-area:person;display:flex;align-items:center;gap:9px;min-width:0}.assessment-queue-person>div{display:grid;gap:2px;min-width:0}.assessment-queue-person strong{overflow:hidden;color:var(--navy-900);font-size:12.5px;text-overflow:ellipsis;white-space:nowrap}.assessment-queue-person small{overflow:hidden;color:var(--ink-500);font-size:12px;text-overflow:ellipsis;white-space:nowrap}.assessment-queue-state{grid-area:state}.assessment-queue-action{grid-area:action}.assessment-queue-action .button,.assessment-queue-action form{width:100%}.assessment-queue-action form .button{width:100%}
.assessment-answer-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 20px;border-top:1px solid var(--line-soft);border-bottom:1px solid var(--line-soft);background:var(--surface-soft)}.segmented-control{display:flex;gap:4px;padding:4px;border:1px solid var(--line);border-radius:12px;background:var(--surface)}.segmented-control button{display:inline-flex;align-items:center;gap:6px;padding:8px 11px;border:0;border-radius:9px;background:transparent;color:var(--ink-600);font:inherit;font-size:12px;font-weight:700;cursor:pointer}.segmented-control button span{display:grid;place-items:center;min-width:20px;height:20px;padding:0 5px;border-radius:999px;background:var(--surface-soft);font-size:12px}.segmented-control button.is-active{background:var(--primary);color:#fff}.segmented-control button.is-active span{background:rgba(255,255,255,.2)}.compact-search{display:flex;align-items:center;gap:8px;min-width:min(320px,100%);padding:8px 11px;border:1px solid var(--line);border-radius:11px;background:var(--surface)}.compact-search svg{width:16px;height:16px;color:var(--ink-400)}.compact-search input{min-width:0;padding:0;border:0!important;background:transparent!important;box-shadow:none!important}.assessment-answer-groups{display:grid;gap:12px;padding:16px 20px 20px}.assessment-answer-group{overflow:hidden;border:1px solid var(--line-soft);border-radius:15px;background:var(--surface)}.assessment-answer-group>summary{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 16px;cursor:pointer;list-style:none;background:linear-gradient(135deg,var(--surface-soft),var(--surface))}.assessment-answer-group>summary::-webkit-details-marker{display:none}.assessment-answer-group>summary>div{display:grid;gap:5px;min-width:0}.assessment-answer-group>summary strong{overflow:hidden;color:var(--navy-900);font-size:14px;text-overflow:ellipsis;white-space:nowrap}.assessment-answer-group .assessment-answer-stack{padding:14px}.assessment-answer-badges{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}
.evidence-kuk-toolbar{display:grid;grid-template-columns:minmax(220px,1fr) minmax(210px,.7fr);gap:10px;margin-bottom:10px;padding:12px;border:1px solid var(--line-soft);border-radius:13px;background:var(--surface-soft)}.evidence-kuk-toolbar .compact-search{min-width:0}.evidence-kuk-toolbar .compact-field{margin:0}.evidence-kuk-selection{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;gap:10px}.evidence-kuk-selection>div{display:flex;gap:6px;flex-wrap:wrap}.evidence-kuk-selection strong{color:var(--navy-900);font-size:12px}


.avatar-small{width:32px;height:32px;font-size:12px}.apl02-review-note[hidden]{display:none!important}

/* MUK Existing flow simplification */
.muk-task-explainer{display:grid;grid-template-columns:auto minmax(0,1fr);gap:16px;align-items:center;border-color:color-mix(in srgb,var(--primary) 22%,var(--line));background:linear-gradient(135deg,color-mix(in srgb,var(--primary) 7%,var(--surface)),var(--surface))}
.muk-task-explainer-icon{display:grid;place-items:center;width:50px;height:50px;border-radius:16px;background:var(--navy-950);color:#fff}.muk-task-explainer-icon svg{width:23px;height:23px}.muk-task-explainer h2{margin:3px 0 5px}.muk-task-explainer p{margin:0;color:var(--muted)}
.muk-workflow-footer{display:grid;grid-template-columns:auto minmax(220px,1fr) auto;gap:18px;align-items:center;margin-top:20px;padding:18px 20px}.muk-workflow-footer>div{display:grid;gap:4px;text-align:center}.muk-workflow-footer>div small{color:var(--muted);font-size:.75rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase}.muk-workflow-footer>div strong{color:var(--navy-900);font-size:.96rem}.muk-workflow-footer.is-ready{border-color:color-mix(in srgb,var(--success) 24%,var(--line));background:linear-gradient(135deg,color-mix(in srgb,var(--success) 5%,var(--surface)),var(--surface))}.muk-workflow-footer.is-blocked{border-color:color-mix(in srgb,var(--warning) 25%,var(--line));background:linear-gradient(135deg,color-mix(in srgb,var(--warning) 5%,var(--surface)),var(--surface))}
.muk-quick-mapping{scroll-margin-top:120px}.muk-quick-mapping-form{display:grid;grid-template-columns:minmax(220px,1.2fr) minmax(220px,1fr) auto;gap:14px;align-items:end;padding-top:16px}.muk-quick-mapping-form .field{margin:0}.muk-quick-mapping-form>.button{min-height:44px;white-space:nowrap}
.muk-mapping-table td{vertical-align:top}.muk-inline-map-form{display:grid;grid-template-columns:minmax(120px,1fr) auto;gap:8px;align-items:center;min-width:260px}.muk-inline-map-form select{min-height:38px;padding:7px 32px 7px 10px;font-size:.78rem}.muk-inline-map-form .button{white-space:nowrap}
.muk-mapping-chip-list>span{display:inline-flex;align-items:center;gap:6px;padding-right:4px}.muk-mapping-chip-list>span>span{min-width:0}.muk-mapping-chip-list form{display:inline-flex;margin:0}.muk-mapping-chip-list button{display:grid;place-items:center;width:24px;height:24px;padding:0;border:0;border-radius:8px;background:color-mix(in srgb,var(--danger) 10%,var(--surface));color:var(--danger);cursor:pointer}.muk-mapping-chip-list button:hover{background:color-mix(in srgb,var(--danger) 18%,var(--surface))}.muk-mapping-chip-list button svg{width:13px;height:13px}
.coverage-aside-inline{display:grid;grid-template-columns:minmax(0,420px);margin-top:18px}.coverage-aside-inline .panel{height:auto}
.segmented-control a{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:8px 11px;border:0;border-radius:9px;background:transparent;color:var(--ink-600);font-size:12px;font-weight:700;text-decoration:none}.segmented-control a span{display:grid;place-items:center;min-width:20px;height:20px;padding:0 5px;border-radius:999px;background:var(--surface-soft);font-size:12px}.segmented-control a.is-active{background:var(--primary);color:#fff}.segmented-control a.is-active span{background:rgba(255,255,255,.2)}


.muk-context-tabs>a.is-locked{opacity:.68}.muk-context-tabs>a.is-locked:hover,.muk-context-tabs>a.is-locked:focus-visible{opacity:1}.muk-context-tabs>a.is-locked>span{background:var(--surface-soft);color:var(--ink-500)}


/* safe bulk KUK mapping */
.muk-bulk-mapping{scroll-margin-top:120px;border-color:color-mix(in srgb,var(--primary) 26%,var(--line));background:linear-gradient(145deg,color-mix(in srgb,var(--primary) 5%,var(--surface)),var(--surface) 42%)}
.muk-bulk-mapping-form{display:grid;grid-template-columns:minmax(260px,.85fr) minmax(340px,1.15fr);gap:18px;padding-top:18px}.muk-bulk-instrument{margin:0}.muk-bulk-instrument small{display:block;margin-top:7px;color:var(--muted);font-size:.75rem;line-height:1.5}
.muk-bulk-scope{display:grid;gap:9px;margin:0;padding:0;border:0}.muk-bulk-scope legend{margin-bottom:8px;color:var(--navy-900);font-size:.78rem;font-weight:700}.muk-scope-option{position:relative;display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:11px;align-items:flex-start;margin:0;padding:13px 14px;border:1px solid var(--line);border-radius:13px;background:var(--surface);cursor:pointer;transition:border-color .18s ease,background .18s ease,box-shadow .18s ease}.muk-scope-option:hover{border-color:color-mix(in srgb,var(--primary) 35%,var(--line));box-shadow:var(--shadow-xs)}.muk-scope-option:has(input:checked){border-color:color-mix(in srgb,var(--primary) 55%,var(--line));background:color-mix(in srgb,var(--primary) 6%,var(--surface));box-shadow:0 0 0 3px color-mix(in srgb,var(--primary) 8%,transparent)}.muk-scope-option input{width:18px;height:18px;margin:2px 0 0;accent-color:var(--primary)}.muk-scope-option>span{display:grid;gap:4px}.muk-scope-option strong{color:var(--navy-900);font-size:.86rem}.muk-scope-option small{color:var(--muted);font-size:.75rem;line-height:1.45}.muk-scope-option em{padding:4px 7px;border-radius:999px;background:var(--success-soft);color:var(--success);font-size:.75rem;font-style:normal;font-weight:700;letter-spacing:.04em;text-transform:uppercase}
.muk-bulk-action{grid-column:1/-1;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:16px;align-items:center;padding-top:2px}.muk-bulk-action .callout{margin:0}.muk-bulk-action>.button{min-height:46px;white-space:nowrap}


/* MUK workflow: package, locks, filters, correction, and signer queue. */
.muk-context-shell .muk-workflow-tabs>span{position:relative;display:grid;grid-template-columns:auto minmax(0,1fr);column-gap:10px;row-gap:2px;align-items:center;min-width:0;padding:12px 13px;border:1px solid transparent;border-radius:14px;background:transparent;color:inherit;text-align:left;box-shadow:none}
.muk-context-shell .muk-workflow-tabs>span>span{grid-row:1/3;width:34px;height:34px;border-radius:10px;display:grid;place-items:center;background:var(--surface-soft);color:var(--ink-500);font-size:.75rem;font-weight:700}
.muk-context-shell .muk-workflow-tabs>span>strong{overflow:hidden;color:var(--navy-900);font-size:.9rem;text-overflow:ellipsis;white-space:nowrap}.muk-context-shell .muk-workflow-tabs>span>small{overflow:hidden;color:var(--muted);font-size:.75rem;text-overflow:ellipsis;white-space:nowrap}
.muk-context-tabs>span.is-locked{opacity:.64;cursor:not-allowed}.muk-context-tabs>span.is-locked .muk-tab-state{background:var(--surface-soft);color:var(--ink-500)}
.assessor-focus-controller{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:16px;
    padding:13px 15px;
    border:1px solid color-mix(in srgb,var(--role-accent,#0f766e) 20%,var(--line-soft));
    border-radius:16px;
    background:color-mix(in srgb,var(--role-accent-soft,#e9f8f5) 58%,var(--surface));
    box-shadow:0 7px 20px rgba(8,29,42,.055);
}
.assessor-focus-controller-copy{display:flex;align-items:center;gap:11px;min-width:0}
.assessor-focus-controller-copy>span{display:grid;flex:0 0 38px;width:38px;height:38px;place-items:center;border-radius:12px;color:var(--surface);background:var(--role-accent,#0f766e)}
.assessor-focus-controller-copy>span .ui-icon{width:18px;height:18px}
.assessor-focus-controller-copy>div{display:grid;gap:2px;min-width:0}
.assessor-focus-controller-copy strong{color:var(--navy-900);font-size:14px;line-height:1.35}
.assessor-focus-controller-copy small{color:var(--ink-600);font-size:12.5px;line-height:1.4}
.assessor-focus-controller-actions{display:flex;align-items:center;gap:7px;flex:0 0 auto}
.assessment-main.is-assessor-focus-mode [data-assessor-focus-block]:not([hidden]){scroll-margin-top:calc(var(--content-sticky-top,10px) + 12px)}

/* Asesi application list: a direct mobile view with one obvious next action. */
.assessee-application-cards{display:none}
.assessee-application-card{display:grid;gap:12px;padding:14px;border:1px solid var(--line-soft);border-radius:14px;background:var(--surface);box-shadow:var(--shadow-xs)}
.assessee-application-card>header{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}
.assessee-application-card>header div{display:grid;gap:3px;min-width:0}
.assessee-application-card>header strong{color:var(--navy-900);font-size:14px;line-height:1.35}
.assessee-application-card>header small{overflow:hidden;color:var(--ink-500);font-size:12px;text-overflow:ellipsis;white-space:nowrap}
.application-card-progress{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:10px}
.application-card-progress>span{color:var(--navy-900);font-size:12px;font-weight:800}
.application-card-action{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;padding:12px;border:1px solid color-mix(in srgb,var(--role-accent) 18%,var(--line-soft));border-radius:12px;background:color-mix(in srgb,var(--role-accent-soft) 42%,var(--surface))}
.application-card-action span{display:grid;gap:3px;min-width:0}
.application-card-action small{color:var(--ink-500);font-size:11px;font-weight:800;letter-spacing:.07em;text-transform:uppercase}
.application-card-action strong{color:var(--navy-900);font-size:13px;line-height:1.35}
.assessee-application-card>footer{display:grid;grid-template-columns:1fr;gap:8px;padding-top:4px}
.assessee-application-card>footer .button{width:100%;min-width:0}
.scheme-applicant-preview{display:grid;gap:12px;margin-block:12px;padding:16px;border:1px solid var(--line-soft);border-radius:12px;background:var(--surface);min-width:0;overflow-wrap:anywhere}
.scheme-applicant-preview>details>summary{cursor:pointer;padding-block:10px;min-height:44px}
.scheme-applicant-units{display:grid;gap:10px;padding-left:24px;margin-block:12px}
.scheme-applicant-units>li>strong,.scheme-applicant-units>li>span{display:block;overflow-wrap:anywhere}
/* --------------------------------------------------------------------------
   One visual world across every role.
   This layer normalizes shared geometry and hierarchy while respecting the
   active institutional palette and role context.
   -------------------------------------------------------------------------- */
.app-body .page-stage>:not(.modal-layer):not(script):not([hidden]){min-width:0}

/* Filled actions always use the contrast-safe shade from the active palette. */
.app-body .button-primary{
  background:linear-gradient(180deg,var(--button-primary-strong),color-mix(in srgb,var(--button-primary-strong) 86%,#071923));
}
.app-body .button-warning{
  background:linear-gradient(180deg,var(--button-warning-strong),color-mix(in srgb,var(--button-warning-strong) 86%,#071923));
}
.app-body .button-danger{
  background:linear-gradient(180deg,var(--button-danger-strong),color-mix(in srgb,var(--button-danger-strong) 86%,#071923));
}

.app-body :is(.panel,.metric-card,.scheme-card,.application-card,.assessor-assignment-card,.tuk-schedule-card){
  border-radius:var(--ui-world-radius);
}
.app-body :is(.panel,.metric-card,.scheme-card,.application-card,.assessor-assignment-card,.tuk-schedule-card):focus-within{
  border-color:rgba(var(--role-accent-rgb),.24);
}
.app-body .page-heading-with-actions{align-items:center}
.app-body .page-heading-with-actions>div:first-child{min-width:0;flex:1 1 520px}
.app-body .page-heading-with-actions>:not(:first-child){flex:0 0 auto}
.app-body .page-heading-with-actions>form{margin:0}
.app-body :is(.page-heading-actions,.heading-actions,.segmented-nav){
  display:flex;
  align-items:center;
  justify-content:flex-end;
  flex-wrap:wrap;
  gap:8px;
}

.app-body .panel-head{
  border-radius:var(--ui-world-radius) var(--ui-world-radius) 0 0;
}
.app-body .panel-head p{color:var(--ink-600)}
.app-body .panel-head-bordered{border-bottom:1px solid var(--line-soft)}
.app-body .table-panel{overflow:hidden}

.app-body :is(.assessment-hero,.ak01-hero,.recommendation-hero,.decision-hero,.certificate-hero,.case-hero,.result-hero){
  overflow:hidden;
  border:1px solid rgba(255,255,255,.12);
  border-radius:var(--ui-world-radius-lg);
  color:#fff;
}
.app-body :is(.assessment-hero,.ak01-hero,.recommendation-hero,.decision-hero,.certificate-hero,.case-hero,.result-hero) :is(h1,h2){
  margin:5px 0;
  color:#fff;
  font-family:var(--font-display);
  font-size:clamp(26px,2.6vw,35px);
  line-height:1.12;
}
.app-body :is(.assessment-hero,.ak01-hero,.recommendation-hero,.decision-hero,.certificate-hero,.case-hero,.result-hero) p{
  margin:0;
  color:rgba(255,255,255,.76);
  line-height:1.55;
}
.app-body :is(.assessment-hero-status,.ak01-hero-status,.recommendation-result,.certificate-hero>div:last-child,.case-hero>div:last-child,.result-hero>div:last-child){
  min-width:220px;
  padding:16px 18px;
  border:1px solid rgba(255,255,255,.17);
  border-radius:14px;
  background:rgba(255,255,255,.085);
  text-align:left;
  backdrop-filter:blur(10px);
}
.app-body :is(.assessment-hero-status,.ak01-hero-status,.recommendation-result,.certificate-hero>div:last-child,.case-hero>div:last-child,.result-hero>div:last-child)>span{
  color:rgba(255,255,255,.65);
  font-size:12px;
  font-weight:700;
  letter-spacing:.09em;
  text-transform:uppercase;
}
.app-body :is(.assessment-hero-status,.ak01-hero-status,.recommendation-result,.certificate-hero>div:last-child,.case-hero>div:last-child,.result-hero>div:last-child)>strong{
  display:block;
  margin:5px 0;
  color:#fff;
  font-size:20px;
  line-height:1.25;
}
.app-body :is(.assessment-hero-status,.ak01-hero-status,.recommendation-result,.certificate-hero>div:last-child,.case-hero>div:last-child,.result-hero>div:last-child)>small{
  color:rgba(255,255,255,.74);
  line-height:1.45;
}
.app-body .approval-copy h2{
  margin:6px 0 9px;
  color:#fff;
  font-family:var(--font-display);
  font-size:clamp(30px,3.3vw,46px);
  line-height:1.1;
}

.app-body .table-wrap{scrollbar-gutter:stable}
.app-body .data-table thead th{
  letter-spacing:.075em;
}
.app-body .data-table tbody td{border-bottom-color:var(--line-soft);vertical-align:middle}
.app-body .data-table tbody tr{transition:background .16s ease,box-shadow .16s ease}
.app-body .data-table tbody tr:last-child td{border-bottom:0}
.app-body .data-table td>small{color:var(--ink-500)}
.app-body .table-actions{gap:7px}

.app-body :is(.filter-bar,.bulk-check-toolbar,.selection-toolbar,.assessment-answer-toolbar){
  border-radius:13px;
}
.app-body .bulk-check-toolbar{min-height:54px;padding:10px 13px}
.app-body .panel-footer-actions{
  min-height:68px;
  padding:13px 20px;
  border-top:1px solid var(--line-soft);
  background:linear-gradient(180deg,var(--surface-soft),#fff);
}
.app-body .field>span:first-child{color:var(--ink-800);font-size:12.5px;font-weight:700}
.app-body :is(input:not([type="checkbox"]):not([type="radio"]),select,textarea){
  border-radius:11px;
}
.app-body :is(input:not([type="checkbox"]):not([type="radio"]),select,textarea):focus{
  border-color:rgba(var(--role-accent-rgb),.56);
}

.app-body .modal-dialog{
  border-radius:var(--ui-world-radius-lg);
}
.app-body .modal-head{padding:20px 22px;border-bottom-color:var(--line-soft)}
.app-body .modal-head h2{margin:4px 0;font-size:clamp(22px,2.1vw,29px);line-height:1.18}
.app-body .modal-body{padding:18px 22px}
.app-body .modal-actions{gap:9px;padding:14px 22px}

.app-body .empty-state{
  min-height:190px;
  padding:28px 22px;
  border-radius:var(--ui-world-radius);
}
.app-body .status-badge{min-height:25px;padding:4px 8px;border-radius:999px;line-height:1.25}


.muk-package-task-panel{border-color:color-mix(in srgb,var(--primary) 22%,var(--line));background:linear-gradient(145deg,color-mix(in srgb,var(--primary) 5%,var(--surface)),var(--surface))}.muk-package-task-panel.is-ready{border-color:color-mix(in srgb,var(--success) 28%,var(--line));background:linear-gradient(145deg,color-mix(in srgb,var(--success) 6%,var(--surface)),var(--surface))}
.muk-package-summary-grid{grid-column:1/-1;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.muk-package-summary-grid article{display:grid;gap:4px;padding:13px 14px;border:1px solid var(--line);border-radius:13px;background:var(--surface)}.muk-package-summary-grid small{color:var(--muted);font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em}.muk-package-summary-grid strong{color:var(--navy-900);font-size:1rem}
.muk-advanced-package{margin:18px 0;border:1px solid var(--line);border-radius:18px;background:var(--surface);overflow:hidden}.muk-advanced-package>summary{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:12px;align-items:center;padding:16px 18px;cursor:pointer;list-style:none;background:var(--surface-soft)}.muk-advanced-package>summary::-webkit-details-marker{display:none}.muk-advanced-package>summary>span{display:grid;place-items:center;width:38px;height:38px;border-radius:12px;background:var(--surface);color:var(--primary)}.muk-advanced-package>summary>div{display:grid;gap:3px}.muk-advanced-package>summary strong{color:var(--navy-900)}.muk-advanced-package>summary small{color:var(--muted)}.muk-advanced-package>summary em{padding:6px 9px;border-radius:999px;background:var(--warning-soft);color:var(--warning);font-size:.75rem;font-style:normal;font-weight:700}.muk-advanced-package-body{display:grid;gap:16px;padding:18px}.muk-advanced-package-body>.callout,.muk-advanced-package-body>.muk-next-help,.muk-advanced-package-body>.muk-technical-note{margin:0}
.muk-stage-lock{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:18px;align-items:center;padding:22px;border-style:dashed;background:var(--surface-soft)}.muk-stage-lock>span{display:grid;place-items:center;width:52px;height:52px;border-radius:16px;background:var(--surface);color:var(--ink-500)}.muk-stage-lock h2{margin:4px 0 6px}.muk-stage-lock p{margin:0;color:var(--muted)}
.muk-mapping-corrections{padding:0;overflow:hidden;scroll-margin-top:120px}.muk-mapping-corrections>summary{display:grid;grid-template-columns:auto minmax(0,1fr);gap:12px;align-items:center;padding:16px 18px;cursor:pointer;list-style:none;background:var(--surface-soft)}.muk-mapping-corrections>summary::-webkit-details-marker{display:none}.muk-mapping-corrections>summary>span{display:grid;place-items:center;width:38px;height:38px;border-radius:12px;background:var(--surface);color:var(--warning)}.muk-mapping-corrections>summary>div{display:grid;gap:3px}.muk-mapping-corrections>summary small{color:var(--muted)}.muk-mapping-corrections-body{display:grid;gap:12px;padding:16px 18px}.muk-correction-form{display:grid;grid-template-columns:minmax(210px,1fr) minmax(210px,1fr) auto;gap:12px;align-items:end;padding:14px;border:1px solid var(--line);border-radius:14px}.muk-correction-form .field{margin:0}.muk-correction-form>.button{min-height:44px;white-space:nowrap}.muk-correction-form-danger{grid-template-columns:minmax(250px,1fr) minmax(220px,1fr) auto;border-color:color-mix(in srgb,var(--danger) 22%,var(--line));background:color-mix(in srgb,var(--danger) 4%,var(--surface))}.muk-correction-form-danger>div{display:grid;gap:4px}.muk-correction-form-danger>div small{color:var(--muted)}
.muk-matrix-filters{display:grid;grid-template-columns:minmax(220px,1.15fr) minmax(200px,1fr) minmax(200px,1fr) auto;gap:12px;align-items:end;padding:14px 16px;border-bottom:1px solid var(--line);background:var(--surface-soft)}.muk-matrix-filters .field{margin:0}.muk-matrix-filter-actions{display:flex;gap:8px}.muk-matrix-result-note{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 16px;border-bottom:1px solid var(--line);color:var(--muted);font-size:.75rem}.muk-matrix-result-note strong{color:var(--navy-900)}
.validation-signature-timeline .timeline-item.is-current-signer,.data-table tr.is-current-task{background:color-mix(in srgb,var(--warning) 7%,var(--surface));box-shadow:inset 3px 0 0 var(--warning)}


/* pengesahan MUK: jalur tindakan tetap terlihat ketika pratinjau bermasalah */
.inline-info{display:flex;align-items:center;gap:12px;margin-top:16px;padding:13px 15px;border:1px solid color-mix(in srgb,var(--info) 32%,var(--line));border-radius:14px;background:color-mix(in srgb,var(--info) 7%,var(--surface));color:var(--ink-700)}
.inline-info>strong{flex:0 0 auto;color:var(--navy-900)}
.inline-info>span{flex:1;min-width:0}
.inline-info>.button{flex:0 0 auto}


/* MUK sign-off action reliability and stale-overlay recovery. */
.muk-signoff-action{scroll-margin-top:108px;outline:none;border-width:2px;background:linear-gradient(145deg,var(--surface),color-mix(in srgb,var(--role-accent-soft) 34%,var(--surface)))}
.muk-signoff-action:focus{box-shadow:0 0 0 4px color-mix(in srgb,var(--role-accent) 18%,transparent),0 16px 38px rgba(10,31,43,.1)}
.signoff-readiness-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.signoff-readiness-item{display:grid;grid-template-columns:34px minmax(0,1fr);align-items:start;gap:10px;padding:13px 14px;border:1px solid var(--line);border-radius:13px;background:var(--surface-soft)}
.signoff-readiness-item>span{display:grid;place-items:center;width:34px;height:34px;border-radius:10px}
.signoff-readiness-item>span svg{width:18px;height:18px}
.signoff-readiness-item>div{display:grid;gap:3px;min-width:0}
.signoff-readiness-item small{color:var(--ink-600);line-height:1.45;overflow-wrap:anywhere}
.signoff-readiness-item.is-ready{border-color:color-mix(in srgb,var(--success) 30%,var(--line));background:color-mix(in srgb,var(--success-soft) 56%,var(--surface))}
.signoff-readiness-item.is-ready>span{background:var(--success-soft);color:var(--success-strong)}
.signoff-readiness-item.is-problem{border-color:color-mix(in srgb,var(--danger) 32%,var(--line));background:color-mix(in srgb,var(--danger-soft) 58%,var(--surface))}
.signoff-readiness-item.is-problem>span{background:var(--danger-soft);color:var(--danger)}
.signoff-confirm-row{padding:14px;border:1px solid color-mix(in srgb,var(--role-accent) 25%,var(--line));border-radius:13px;background:color-mix(in srgb,var(--role-accent-soft) 34%,var(--surface))}
.signoff-actions{position:sticky;bottom:var(--content-sticky-bottom,10px);z-index:8;margin-top:2px;padding:12px;border:1px solid var(--line);border-radius:13px;background:color-mix(in srgb,var(--surface) 94%,transparent);box-shadow:0 14px 32px rgba(10,31,43,.12);backdrop-filter:blur(12px)}
.signoff-inline-help{margin:0;padding:11px 13px;border-left:3px solid var(--gold-500);border-radius:8px;background:var(--gold-soft);color:var(--ink-700);font-size:13px;line-height:1.5}
[data-muk-signoff-form][aria-busy="true"]{pointer-events:none;opacity:.78}
.button.is-loading{position:relative}


/* katalog format MUK dinamis per instalasi LSP. */
.content-grid-main-side{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(340px,.55fr);gap:20px;align-items:start}
.content-grid-main-side>aside{position:sticky;top:var(--content-sticky-top,10px);max-height:calc(100vh - 116px);overflow:auto}
.form-section-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-top:8px;border-top:1px solid var(--line)}
.form-section-head>div{display:grid;gap:3px}.form-section-head small{color:var(--muted)}
.dynamic-field-list{display:grid;gap:12px}.dynamic-field-row{display:grid;gap:10px;padding:14px;border:1px solid var(--line);border-radius:14px;background:var(--surface-soft)}
.dynamic-field-row .field{margin:0}.dynamic-field-row-actions{display:flex;align-items:center;justify-content:space-between;gap:12px}
.checkbox-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.checkbox-grid .checkbox-line{padding:11px 12px;border:1px solid var(--line);border-radius:11px;background:var(--surface-soft)}
.table-actions form{display:inline-flex;margin:0}


/* breadcrumb konteks P1/P2 */
.breadcrumb a{min-width:0;color:var(--ink-500);font-weight:650;text-decoration:none;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.breadcrumb a:hover{color:var(--ink-800)}
.breadcrumb strong:not(:last-child){color:var(--ink-600);font-weight:650}


/* notifikasi dibedakan dari antrean tugas */
.notification-filters{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 16px}
.notification-filters a{display:inline-flex;align-items:center;gap:8px;min-height:42px;padding:8px 14px;border:1px solid var(--line);border-radius:999px;background:var(--surface);color:var(--ink-700);font-weight:650;text-decoration:none}
.notification-filters a span{display:inline-grid;place-items:center;min-width:24px;height:24px;padding:0 7px;border-radius:999px;background:var(--surface-soft);font-size:12px}
.notification-filters a.is-active{border-color:var(--primary);color:var(--primary);background:var(--role-accent-soft)}
.notification-kind{display:inline-flex;width:max-content;margin-bottom:5px;padding:3px 8px;border-radius:999px;font-size:12px;font-weight:700;letter-spacing:.04em;text-transform:uppercase}
.notification-kind.is-action{background:var(--warning-soft);color:var(--warning)}
.notification-kind.is-info{background:var(--surface-soft);color:var(--ink-500)}

/* alasan aksi terkunci */
.blocked-action-note{display:inline-flex;align-items:flex-start;gap:6px;max-width:440px;margin-top:7px;color:var(--ink-500);font-size:12px;font-weight:650;line-height:1.45}
.blocked-action-label{flex:0 0 auto;padding:2px 6px;border:1px solid var(--line);border-radius:999px;background:var(--surface-soft);color:var(--ink-600);font-size:12px;font-weight:700;letter-spacing:.05em;text-transform:uppercase}
.form-actions .blocked-action-note,.decision-actions .blocked-action-note,.panel-head-actions .blocked-action-note{flex-basis:100%}

/* alur MUK Existing berorientasi tugas, bukan matriks */
.muk-digital-heading .status{align-self:flex-start;margin-top:4px;padding:8px 11px;font-weight:700}
.muk-digital-priority{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:20px;align-items:center;border-color:color-mix(in srgb,var(--warning) 32%,var(--line));background:linear-gradient(145deg,color-mix(in srgb,var(--warning) 6%,var(--surface)),var(--surface) 54%)}
.muk-digital-priority.is-ready{border-color:color-mix(in srgb,var(--success) 32%,var(--line));background:linear-gradient(145deg,color-mix(in srgb,var(--success) 6%,var(--surface)),var(--surface) 54%)}
.muk-digital-priority-main{display:grid;gap:6px}.muk-digital-priority-main h2{margin:0;color:var(--navy-900);font-size:1.16rem}.muk-digital-priority-main p{margin:0;color:var(--muted);line-height:1.55}
.muk-digital-readiness-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:16px 0}
.muk-digital-readiness-grid>.panel{display:grid;grid-template-columns:auto minmax(0,1fr);gap:13px;align-items:center;margin:0;padding:16px 18px}
.muk-digital-readiness-grid>.panel.is-ready{border-color:color-mix(in srgb,var(--success) 26%,var(--line))}.muk-digital-readiness-grid>.panel.is-blocked{border-color:color-mix(in srgb,var(--warning) 30%,var(--line))}
.muk-readiness-icon{display:grid;place-items:center;width:42px;height:42px;border-radius:13px;background:var(--surface-soft);color:var(--primary)}.muk-digital-readiness-grid .is-ready .muk-readiness-icon{background:var(--success-soft);color:var(--success)}
.muk-digital-readiness-grid small{display:block;color:var(--muted);font-size:.75rem;font-weight:700;letter-spacing:.045em;text-transform:uppercase}.muk-digital-readiness-grid strong{display:block;margin-top:2px;color:var(--navy-900);font-size:1.08rem}.muk-digital-readiness-grid p{margin:3px 0 0;color:var(--muted);font-size:.78rem}
.muk-instrument-readiness-panel{margin-top:16px}.muk-instrument-readiness-list{display:grid;gap:10px;padding-top:14px}
.muk-instrument-readiness-item{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:14px;align-items:center;padding:15px 16px;border:1px solid var(--line);border-radius:15px;background:var(--surface)}
.muk-instrument-readiness-item.is-pending{border-color:color-mix(in srgb,var(--warning) 34%,var(--line));background:color-mix(in srgb,var(--warning) 3%,var(--surface))}.muk-instrument-readiness-item.is-ready{border-color:color-mix(in srgb,var(--success) 18%,var(--line))}
.muk-instrument-state-icon{display:grid;place-items:center;width:40px;height:40px;border-radius:12px;background:var(--warning-soft);color:var(--warning)}.muk-instrument-readiness-item.is-ready .muk-instrument-state-icon{background:var(--success-soft);color:var(--success)}
.muk-instrument-copy{display:grid;gap:4px;min-width:0}.muk-instrument-title{display:flex;gap:8px;align-items:center;min-width:0}.muk-instrument-title strong{overflow:hidden;color:var(--navy-900);font-size:.91rem;text-overflow:ellipsis;white-space:nowrap}.muk-instrument-copy>small{color:var(--muted);font-size:.75rem}.muk-instrument-copy>p{margin:0;color:var(--muted);font-size:.76rem;line-height:1.45}
.muk-instrument-actions{display:flex;gap:8px;align-items:center;justify-content:flex-end;flex-wrap:wrap}.muk-instrument-actions .button{white-space:nowrap}
.muk-instrument-mapping-panel{scroll-margin-top:118px;border-color:color-mix(in srgb,var(--primary) 24%,var(--line));background:linear-gradient(145deg,color-mix(in srgb,var(--primary) 4%,var(--surface)),var(--surface) 48%)}
.muk-primary-mapping-form{padding-top:16px}.muk-mapping-helper{display:flex;gap:9px;align-items:flex-start;margin-top:12px;padding:11px 13px;border-radius:12px;background:var(--surface-soft);color:var(--muted);font-size:.76rem;line-height:1.5}.muk-mapping-helper svg{flex:0 0 auto;width:17px;height:17px;margin-top:1px;color:var(--primary)}.muk-mapping-helper p{margin:0}.muk-mapping-helper a{font-weight:700}
.muk-advanced-section{padding:0;overflow:hidden;scroll-margin-top:118px}.muk-advanced-section>summary{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:12px;align-items:center;padding:16px 18px;cursor:pointer;list-style:none;background:var(--surface-soft)}.muk-advanced-section>summary::-webkit-details-marker{display:none}.muk-advanced-section>summary>span{display:grid;place-items:center;width:38px;height:38px;border-radius:12px;background:var(--surface);color:var(--primary)}.muk-advanced-section>summary>div{display:grid;gap:3px}.muk-advanced-section>summary strong{color:var(--navy-900)}.muk-advanced-section>summary small{color:var(--muted)}.muk-advanced-section>summary em{padding:5px 8px;border-radius:999px;background:var(--surface);color:var(--muted);font-size:.75rem;font-style:normal;font-weight:700}.muk-advanced-section-body{display:grid;gap:18px;padding:18px}.muk-advanced-section-body>.panel-head{margin:0}.muk-advanced-tool{display:grid;gap:14px;padding:15px;border:1px solid var(--line);border-radius:15px;background:var(--surface)}.muk-advanced-tool h2{margin:2px 0 0;color:var(--navy-900);font-size:1rem}.muk-advanced-tool p{margin:4px 0 0;color:var(--muted);font-size:.78rem;line-height:1.5}
.muk-context-tools{position:relative}.muk-context-tools>summary{display:inline-flex;align-items:center;gap:6px;min-height:34px;padding:6px 10px;border:1px solid var(--line);border-radius:10px;background:var(--surface);color:var(--ink-700);cursor:pointer;font-weight:700;list-style:none}.muk-context-tools>summary::-webkit-details-marker{display:none}.muk-context-tools>summary svg{width:15px;height:15px}.muk-context-tools>div{position:static;display:grid;min-width:210px;margin-top:7px;padding:7px;border:1px solid var(--line);border-radius:12px;background:var(--surface);box-shadow:var(--shadow-sm)}.muk-context-tools>div a{padding:9px 10px;border-radius:8px;color:var(--ink-700);font-size:.76rem;font-weight:650}.muk-context-tools>div a:hover{background:var(--surface-soft);color:var(--primary)}
.muk-form-optional{margin-top:14px;border:1px solid var(--line);border-radius:13px;background:var(--surface-soft)}.muk-form-optional>summary{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px;cursor:pointer;list-style:none;color:var(--navy-900);font-size:.82rem;font-weight:700}.muk-form-optional>summary::-webkit-details-marker{display:none}.muk-form-optional>summary small{color:var(--muted);font-size:.75rem;font-weight:650}.muk-form-optional>div{padding:0 14px 14px}
.muk-offline-list-table td:nth-child(3) .status{margin-bottom:4px}.muk-offline-list-table .table-subtext{max-width:360px}


/* Ready Paperless Multi-MUK UX / runtime enforcement */
.muk-profile-layout{display:grid;grid-template-columns:minmax(260px,340px) minmax(0,1fr);gap:18px;align-items:start}.muk-profile-instrument-list,.muk-profile-editor{margin:0}.muk-profile-list{display:grid;gap:8px;padding-top:12px}.muk-profile-list-item{display:grid;grid-template-columns:auto minmax(0,1fr);gap:11px;align-items:start;padding:12px;border:1px solid var(--line);border-radius:13px;background:var(--surface);color:inherit}.muk-profile-list-item:hover,.muk-profile-list-item.is-active{border-color:color-mix(in srgb,var(--primary) 38%,var(--line));background:color-mix(in srgb,var(--primary) 4%,var(--surface))}.muk-profile-list-state{display:grid;place-items:center;width:32px;height:32px;border-radius:10px}.muk-profile-list-state.is-ready{background:var(--success-soft);color:var(--success)}.muk-profile-list-state.is-pending{background:var(--warning-soft);color:var(--warning)}.muk-profile-list-item>span:last-child{display:grid;gap:3px;min-width:0}.muk-profile-list-item strong{color:var(--navy-900);font-size:.82rem}.muk-profile-list-item small{overflow:hidden;color:var(--muted);font-size:.75rem;text-overflow:ellipsis;white-space:nowrap}.muk-profile-list-item em{color:var(--ink-500);font-size:.75rem;font-style:normal;font-weight:650}.muk-profile-form{padding-top:14px}.muk-profile-questions{display:grid;gap:13px;margin-top:22px;padding-top:18px;border-top:1px solid var(--line)}.muk-question-add{border:1px solid var(--line);border-radius:13px;background:var(--surface-soft)}.muk-question-add>summary{padding:12px 14px;cursor:pointer;color:var(--navy-900);font-weight:700;list-style:none}.muk-question-add>summary::-webkit-details-marker{display:none}.muk-question-add>form{padding:0 14px 14px}.candidate-file-list{display:grid;gap:10px;margin-top:16px}.candidate-file-list h3{margin:0;color:var(--navy-900);font-size:.92rem}


.assessment-reference-answer{margin:10px 0;padding:10px 12px;border:1px solid var(--line);border-radius:11px;background:var(--surface-soft)}.assessment-reference-answer>summary{cursor:pointer;color:var(--navy-900);font-size:.76rem;font-weight:700}.assessment-reference-answer p{margin:8px 0 0;color:var(--ink-700);font-size:.78rem;line-height:1.55}

/* MUK setup dibuat instrument-centric, bukan database-centric. */
.muk-instrument-workspace{display:grid;gap:20px;align-items:start}.muk-simple-instrument-list{display:grid;gap:8px;padding:12px}.muk-simple-instrument{display:grid;grid-template-columns:34px minmax(0,1fr) auto;gap:10px;align-items:center;padding:12px;border:1px solid var(--border);border-radius:14px;text-decoration:none;color:inherit;background:var(--surface)}.muk-simple-instrument:hover,.muk-simple-instrument.is-active{border-color:var(--primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--primary) 10%,transparent)}.muk-simple-instrument strong,.muk-simple-instrument small{display:block}.muk-simple-instrument small{margin-top:3px;color:var(--muted)}.muk-simple-instrument-icon{display:grid;place-items:center}.muk-simple-form,.muk-unit-coverage-form{padding:18px;display:grid;gap:18px}.muk-choice-grid-simple{grid-template-columns:repeat(2,minmax(0,1fr))}.muk-unit-check-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.muk-question-readiness{margin:0 18px;padding:16px;border:1px solid var(--border);border-radius:14px;display:flex;gap:16px;justify-content:space-between;align-items:center}.muk-question-readiness h3,.panel-subhead h3{margin:.2rem 0}.muk-advanced-panel>summary{cursor:pointer;display:flex;justify-content:space-between;gap:16px;padding:16px 18px;align-items:center}.muk-advanced-panel>summary span{color:var(--muted);font-weight:400}.muk-simple-stats{margin-bottom:20px}.muk-instrument-editor .notice{margin:18px 18px 0}.muk-instrument-editor .notice ul{margin:.5rem 0 0 1.1rem}.muk-unit-coverage-form .panel-subhead{padding:0}.muk-context-tools a{white-space:normal}


/* pelaksanaan asesmen instrument-centric */
.assessment-runtime-instruments{display:grid;gap:10px;padding:16px 18px}.assessment-runtime-instrument{display:grid;grid-template-columns:36px minmax(0,1fr) auto;gap:12px;align-items:center;padding:14px;border:1px solid var(--border);border-radius:14px;background:var(--surface-soft)}.assessment-runtime-instrument.is-done{background:color-mix(in srgb,var(--success-soft) 35%,var(--surface));border-color:color-mix(in srgb,var(--success) 25%,var(--border))}.assessment-runtime-state{display:grid;place-items:center}.assessment-runtime-main{display:grid;gap:3px}.assessment-runtime-main small{color:var(--muted)}.assessment-runtime-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px}.assessment-instrument-confirm{grid-column:2/-1;display:grid;grid-template-columns:minmax(220px,1fr) auto;align-items:end;gap:10px;padding-top:10px;border-top:1px solid var(--border)}.assessment-instrument-confirm .field{margin:0}.assessment-evidence-advanced{border:1px solid var(--border);border-radius:12px;padding:12px}.assessment-evidence-advanced>summary{cursor:pointer;font-weight:700}.assessment-evidence-advanced .field-help{margin:8px 0;color:var(--muted);font-size:.82rem}.candidate-uploaded-files{display:grid;gap:8px}.candidate-uploaded-files article{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px 12px;border:1px solid var(--border);border-radius:11px;background:var(--surface)}.candidate-uploaded-files strong,.candidate-uploaded-files small{display:block}.candidate-uploaded-files small{color:var(--muted);margin-top:2px}


/* CSP-safe MUK validation preview */
body:has(.muk-preview){margin:0;background:#eef3f5;color:#14242d;font-family:var(--font-sans,Arial,sans-serif)}.muk-preview{max-width:940px;margin:0 auto;padding:22px}.muk-preview-sheet{background:#fff;border:1px solid #d8e1e5;border-radius:18px;box-shadow:0 16px 42px rgba(7,23,34,.12);overflow:hidden}.muk-preview-head{padding:24px 26px;border-bottom:1px solid #d8e1e5;background:linear-gradient(135deg,#f9fbfc,#eef4f6)}.muk-preview-head span{display:block;font-size:12px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:#6b7b84}.muk-preview-head h1{margin:7px 0 6px;font-size:27px;line-height:1.15}.muk-preview-head p{margin:0;color:#657680}.muk-preview-body{padding:24px 26px}.preview-note{display:flex;gap:10px;align-items:flex-start;padding:13px 15px;margin-bottom:18px;border:1px solid #c7dde7;border-radius:12px;background:#f2f9fc;color:#214657}.preview-note strong{display:block;margin-bottom:3px}.preview-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-bottom:20px}.preview-grid>div{padding:13px 14px;border:1px solid #dbe4e8;border-radius:12px;background:#fbfcfd}.preview-grid small{display:block;margin-bottom:5px;color:#71818a;text-transform:uppercase;letter-spacing:.05em;font-size:12px;font-weight:700}.preview-grid strong{display:block;overflow-wrap:anywhere}.preview-section{margin-top:22px}.preview-section h2{margin:0 0 10px;font-size:18px}.preview-section p{margin:0;color:#51636d;line-height:1.6}.preview-signers{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.preview-signer{display:grid;grid-template-columns:34px 1fr auto;gap:11px;align-items:center;padding:14px;border:1px solid #dbe4e8;border-radius:13px}.preview-seq{display:grid;place-items:center;width:34px;height:34px;border-radius:10px;background:#eef3f5;font-weight:700}.preview-signer strong,.preview-signer span,.preview-signer small{display:block}.preview-signer small{margin-top:3px;color:#6d7d86}.preview-status{padding:6px 9px;border-radius:999px;background:#eef3f5;font-size:12px;font-weight:700;white-space:nowrap}.preview-status.is-signed{background:#e7f5ec;color:#1d6a3c}.preview-status.is-revision{background:#fdecec;color:#9b2c2c}.preview-actions{display:flex;justify-content:flex-end;gap:10px;padding:16px 26px;border-top:1px solid #d8e1e5;background:#fafcfc}.preview-actions a,.preview-actions button{border:0;border-radius:10px;padding:10px 14px;font:inherit;font-weight:700;cursor:pointer;text-decoration:none}.preview-actions button{background:#153f55;color:#fff}.preview-actions a{background:#e9eff2;color:#173746}


/* MUK document version confirmation */
.muk-variant-groups{display:grid;gap:1rem}.muk-variant-group{border:1px solid var(--border);border-radius:16px;padding:1rem;background:var(--surface)}.muk-variant-title,.muk-variant-option{display:flex;align-items:center;justify-content:space-between;gap:1rem}.muk-variant-title small,.muk-variant-option small{display:block;margin-top:.25rem;color:var(--muted)}.muk-variant-options{display:grid;gap:.6rem;margin-top:.85rem}.muk-variant-option{padding:.75rem .85rem;border:1px solid var(--border);border-radius:12px;background:var(--surface-soft)}.muk-variant-option.is-selected{border-color:var(--success-border,#9ad6b8);background:var(--success-soft,#eefaf4)}

.muk-unit-coverage-details{margin-top:1rem;border-top:1px solid var(--border);padding-top:1rem}.muk-unit-coverage-details>summary{display:flex;justify-content:space-between;gap:1rem;cursor:pointer;list-style:none;padding:.75rem 0}.muk-unit-coverage-details>summary span{color:var(--muted);font-size:.9rem}.muk-coverage-auto-note{margin-top:1rem}

.blocked-reason-text{display:block;margin-top:.45rem;max-width:42rem;color:var(--warning);font-size:.78rem;line-height:1.45;font-weight:650}

/* Progressive focus mode for the assessor's long assessment workspace. */
/* supporting MUK documents stay out of the main setup path */
.muk-supporting-instruments{margin:4px 12px 14px;border-top:1px solid var(--border);padding-top:10px}.muk-supporting-instruments>summary{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:9px 2px;cursor:pointer;list-style:none}.muk-supporting-instruments>summary::-webkit-details-marker{display:none}.muk-supporting-instruments>summary span{color:var(--muted);font-size:.78rem;text-align:right}.muk-supporting-instruments .muk-simple-instrument-list{padding:8px 0 0}.muk-supporting-instruments .muk-simple-instrument{background:var(--surface-soft)}

/* CSP-safe fallback for files that browsers cannot preview inline. */
.file-preview-fallback-body{margin:0;background:#f4f7f9;color:#173042}.file-preview-fallback-wrap{min-height:100vh;display:grid;place-items:center;padding:24px}.file-preview-fallback-card{width:min(620px,100%);box-sizing:border-box;padding:28px;border:1px solid #d9e3e8;border-radius:20px;background:#fff;box-shadow:0 18px 55px rgba(17,48,66,.12)}.file-preview-fallback-icon{display:grid;place-items:center;width:52px;height:52px;border-radius:16px;background:#eaf3f7;font-size:24px}.file-preview-fallback-card h1{margin:18px 0 8px;font-size:24px}.file-preview-fallback-card p{margin:0 0 8px;color:#526d7d}.file-preview-fallback-meta{margin:18px 0;padding:13px 15px;border-radius:12px;background:#f5f8fa;word-break:break-word}

/* pemilihan KUK massal yang tetap aman dan mudah dibaca. */
.muk-criteria-selector-form{padding:18px;display:grid;gap:16px}.muk-criteria-selector-form .panel-subhead{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:0}.muk-criteria-bulk-toolbar{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:14px;align-items:center;padding:14px;border:1px solid var(--border);border-radius:16px;background:var(--surface-soft)}.muk-check-all-row{margin:0;background:transparent;border:0;padding:0}.muk-criteria-bulk-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px}.muk-unit-selector-list{display:grid;gap:10px}.muk-unit-selector{border:1px solid var(--border);border-radius:16px;background:var(--surface);overflow:hidden}.muk-unit-selector[open]{border-color:color-mix(in srgb,var(--primary) 34%,var(--border))}.muk-unit-selector>summary{list-style:none;display:flex;align-items:center;justify-content:space-between;gap:14px;padding:12px 14px;cursor:pointer}.muk-unit-selector>summary::-webkit-details-marker{display:none}.muk-unit-master{display:flex;align-items:flex-start;gap:10px;min-width:0;cursor:pointer;flex:1}.muk-unit-master input{margin-top:3px;inline-size:20px;block-size:20px;flex:0 0 auto}.muk-unit-master span{min-width:0}.muk-unit-master strong,.muk-unit-master small{display:block}.muk-unit-master small{margin-top:3px;color:var(--muted)}.muk-unit-expand{display:inline-flex;align-items:center;gap:6px;color:var(--muted);font-size:.86rem;white-space:nowrap}.muk-unit-selector[open] .muk-unit-expand svg{transform:rotate(180deg)}.muk-kuk-check-list{display:grid;border-top:1px solid var(--border);padding:10px 14px 14px}.muk-kuk-element-title{padding:10px 0 6px;color:var(--text);font-size:.9rem}.muk-kuk-element-title:not(:first-child){margin-top:6px;border-top:1px dashed var(--border)}.muk-kuk-check-row{display:grid;grid-template-columns:20px minmax(0,1fr) auto;gap:10px;align-items:flex-start;padding:9px 8px;border-radius:10px;cursor:pointer}.muk-kuk-check-row:hover{background:var(--surface-soft)}.muk-kuk-check-row input{margin-top:2px;inline-size:18px;block-size:18px}.muk-kuk-check-row strong,.muk-kuk-check-row small{display:block}.muk-kuk-check-row small{margin-top:2px;color:var(--muted);line-height:1.45}.muk-kuk-check-row em{font-style:normal;font-size:.76rem;font-weight:700;color:var(--warning-text);background:var(--warning-soft);padding:3px 7px;border-radius:999px;white-space:nowrap}.muk-criteria-selector-form .count-pill strong{font:inherit}.muk-unit-master input:indeterminate,.muk-check-all-row input:indeterminate{accent-color:var(--primary)}


/* pola pilihan massal konsisten lintas modul */
.selection-field{display:grid;gap:12px}.selection-field-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}.selection-field-head>div>span,.selection-field-head>div>strong{display:block;color:var(--text);font-weight:700}.selection-field-head .field-help{display:block;margin-top:4px}.selection-toolbar{display:grid;grid-template-columns:minmax(220px,1fr) auto;gap:10px;align-items:center;padding:12px;border:1px solid var(--border);border-radius:14px;background:var(--surface-soft)}.selection-toolbar-actions{display:flex;align-items:center;justify-content:flex-end;gap:7px;flex-wrap:wrap}.selection-option-list{display:grid;gap:8px;max-height:330px;overflow:auto;padding:2px}.selection-option{display:grid;grid-template-columns:20px minmax(0,1fr);gap:10px;align-items:flex-start;padding:11px 12px;border:1px solid var(--border);border-radius:12px;background:var(--surface);cursor:pointer}.selection-option:hover{background:var(--surface-soft)}.selection-option input{inline-size:18px;block-size:18px;margin-top:2px}.selection-option strong,.selection-option small{display:block}.selection-option small{margin-top:2px;color:var(--muted);line-height:1.45}.selection-option:has(input:checked){border-color:color-mix(in srgb,var(--primary) 38%,var(--border));background:color-mix(in srgb,var(--primary) 5%,var(--surface))}.selection-option[hidden]{display:none!important}.authoring-criteria-selector{margin-top:10px;border-top:1px solid var(--border);padding-top:14px}.authoring-criteria-selector footer{display:flex;justify-content:flex-end;padding-top:4px}.evidence-kuk-group>summary{display:flex;align-items:center;justify-content:space-between;gap:12px}.evidence-unit-master{display:flex;align-items:flex-start;gap:10px;min-width:0;flex:1;cursor:pointer}.evidence-unit-master input{inline-size:20px;block-size:20px;margin-top:2px;flex:0 0 auto}.evidence-unit-master span{min-width:0}.evidence-unit-master strong,.evidence-unit-master small{display:block}.evidence-unit-master small{margin-top:3px;color:var(--muted)}.evidence-kuk-group>summary>em{font-style:normal;color:var(--muted);font-size:.82rem;white-space:nowrap}.evidence-unit-master input:indeterminate{accent-color:var(--primary)}


.muk-selection-toolbar{margin-top:-4px}.muk-selection-toolbar .selection-toolbar-actions{max-width:100%}.muk-selection-toolbar .button{white-space:nowrap}


/* ZIP-first Dynamic MUK: kompleksitas di backend, keputusan sederhana di UI */
.muk-zip-flow-note{display:flex;align-items:flex-start;gap:12px;margin-top:14px;padding:14px 15px;border:1px solid color-mix(in srgb,var(--primary) 20%,var(--border));border-radius:14px;background:color-mix(in srgb,var(--primary) 4%,var(--surface-soft))}.muk-zip-flow-note>span{display:grid;place-items:center;width:38px;height:38px;flex:0 0 auto;border-radius:11px;background:var(--surface);color:var(--primary)}.muk-zip-flow-note>div{display:grid;gap:3px;min-width:0}.muk-zip-flow-note strong{color:var(--navy-900);font-size:.9rem}.muk-zip-flow-note small{color:var(--muted);line-height:1.5}
.muk-package-list-table td:nth-child(3){min-width:230px}.muk-package-list-table .status+small{margin-top:6px;display:block}.muk-offline-list-table td:nth-child(3){min-width:245px}
.muk-context-shell{box-shadow:0 12px 34px rgba(15,41,56,.07)}.muk-context-identity{padding:16px 18px}.muk-context-shell .muk-workflow-tabs{padding:9px}.muk-context-shell .muk-workflow-tabs>a,.muk-context-shell .muk-workflow-tabs>span{min-height:76px}.muk-context-shell .muk-workflow-tabs>a>small,.muk-context-shell .muk-workflow-tabs>span>small{white-space:normal;line-height:1.35;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.muk-tab-state{align-self:end}
.muk-simple-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.muk-simple-stats .stat-card{display:grid;align-content:start;gap:5px;min-width:0;min-height:96px;padding:15px 16px;border:1px solid var(--line);border-radius:15px;background:var(--surface);box-shadow:0 8px 22px rgba(15,41,56,.055)}
.muk-simple-stats .stat-card>span,.muk-simple-stats .stat-card>strong,.muk-simple-stats .stat-card>small{display:block;min-width:0;overflow:visible;text-overflow:clip;white-space:normal;overflow-wrap:anywhere}
.muk-simple-stats .stat-card>span{color:var(--ink-500);font-size:.75rem;font-weight:700;letter-spacing:.045em;text-transform:uppercase}
.muk-simple-stats .stat-card>strong{color:var(--navy-950);font-size:1.18rem;line-height:1.25}
.muk-simple-stats .stat-card>small{color:var(--ink-500);font-size:.78rem;line-height:1.45}
.muk-instrument-workspace{grid-template-columns:minmax(290px,390px) minmax(0,1fr)}.muk-instrument-workspace.is-single{grid-template-columns:minmax(0,1fr)}.muk-instrument-list-panel{overflow:hidden}.muk-exception-list .muk-simple-instrument{border-color:color-mix(in srgb,var(--warning) 26%,var(--border));background:color-mix(in srgb,var(--warning) 3%,var(--surface))}.muk-zero-exception{display:flex;align-items:flex-start;gap:13px;margin:14px;padding:18px;border:1px solid color-mix(in srgb,var(--success) 26%,var(--border));border-radius:15px;background:color-mix(in srgb,var(--success) 5%,var(--surface))}.muk-zero-exception>span{display:grid;place-items:center;width:42px;height:42px;flex:0 0 auto;border-radius:12px;background:var(--success-soft);color:var(--success)}.muk-zero-exception>div{display:grid;gap:4px}.muk-zero-exception strong{color:var(--navy-900)}.muk-zero-exception small{color:var(--muted);line-height:1.5}.muk-kuk-auto-note{display:flex;align-items:flex-start;gap:12px;margin:4px 18px 18px;padding:14px 15px;border:1px solid var(--border);border-radius:14px;background:var(--surface-soft)}.muk-kuk-auto-note>span{display:grid;place-items:center;width:38px;height:38px;flex:0 0 auto;border-radius:11px;background:var(--surface);color:var(--success)}.muk-kuk-auto-note>div{display:grid;gap:3px}.muk-kuk-auto-note p{margin:0;color:var(--muted);line-height:1.55}.muk-instrument-editor{overflow:hidden}.muk-instrument-editor>.panel-head{background:linear-gradient(180deg,var(--surface),color-mix(in srgb,var(--surface-soft) 45%,var(--surface)))}.muk-choice-grid-simple .choice-card{min-height:88px}.muk-choice-grid-simple .choice-card span{display:grid;gap:3px}.muk-choice-grid-simple .choice-card small{line-height:1.4}
.muk-advanced-panel{margin-top:16px;border-style:dashed;background:color-mix(in srgb,var(--surface-soft) 45%,var(--surface))}.muk-advanced-panel>summary{min-height:58px}.muk-advanced-panel>summary strong{font-size:.88rem}.muk-advanced-panel>summary span{font-size:.78rem;line-height:1.45}.muk-context-tools>summary{font-size:.78rem}


/* tindakan akhir pemeriksaan MUK */
.muk-next-action>.muk-next-actions{justify-content:flex-end;flex-wrap:wrap}


/* MUK existing: unggah, periksa, verifikasi & aktifkan tanpa pengesahan ulang */
.muk-workflow-tabs-three{grid-template-columns:repeat(3,minmax(0,1fr))}
.muk-verification-archive{display:grid;gap:14px}
.muk-verification-archive article{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:12px;align-items:center;padding:14px 16px;border:1px solid var(--line);border-radius:15px;background:var(--surface)}
.muk-verification-archive article>span:first-child{display:grid;place-items:center;width:38px;height:38px;border-radius:12px;background:var(--surface-soft);color:var(--navy-800)}
.muk-verification-archive article>div{display:grid;gap:3px;min-width:0}.muk-verification-archive article strong{overflow-wrap:anywhere}.muk-verification-archive article small{color:var(--muted)}
.muk-verification-success{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:14px;align-items:center}.muk-verification-success>span{display:grid;place-items:center;width:46px;height:46px;border-radius:14px;background:var(--success-soft);color:var(--success)}


/* group scheduling and participant pickers */
.schedule-participant-picker{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;max-height:390px;overflow:auto;padding:4px 2px 4px 0}
.schedule-participant-option{display:flex;align-items:flex-start;gap:11px;padding:12px 13px;border:1px solid var(--line-soft);border-radius:12px;background:var(--surface);cursor:pointer;transition:border-color .18s ease,box-shadow .18s ease,background .18s ease}
.schedule-participant-option:hover{border-color:color-mix(in srgb,var(--primary) 35%,var(--line));background:color-mix(in srgb,var(--primary) 3%,var(--surface))}
.schedule-participant-option:has(input:checked){border-color:color-mix(in srgb,var(--primary) 55%,var(--line));box-shadow:0 0 0 3px color-mix(in srgb,var(--primary) 8%,transparent);background:color-mix(in srgb,var(--primary) 4%,var(--surface))}
.schedule-participant-option input{margin-top:3px}.schedule-participant-option span{min-width:0}.schedule-participant-option strong,.schedule-participant-option small{display:block}.schedule-participant-option small{margin-top:3px;color:var(--ink-500)}
.schedule-bulk-accept{margin-bottom:18px}.schedule-bulk-accept .modal-form{padding:0}.schedule-bulk-accept .form-actions{display:flex;justify-content:flex-end;margin-top:12px}


/* penetapan Asesor berkelanjutan dan massal */
.bulk-assignment-card{display:grid;gap:14px;padding:16px;border:1px solid var(--line);border-radius:16px;background:var(--surface)}
.bulk-assignment-card+.bulk-assignment-card{margin-top:12px}.bulk-assignment-card .panel-head{padding:0;border:0;background:transparent}.bulk-assignment-card .panel-head>div{display:grid;gap:4px}.bulk-assignment-card .panel-head strong{color:var(--navy-900);font-size:.94rem}.bulk-assignment-card .panel-head small{color:var(--muted)}.bulk-assignment-card .compact-field{min-width:min(280px,100%);margin:0}.bulk-assignment-card .form-actions{display:flex;justify-content:flex-end;padding-top:2px}.bulk-assignment-card .bulk-check-toolbar{margin:0}.bulk-assignment-card .schedule-participant-picker{max-height:320px}


/* APL.02 dua langkah & evidence library opsional */
.apl02-evidence-library{margin-top:16px;overflow:hidden}
.apl02-evidence-library>summary{display:flex;align-items:center;justify-content:space-between;gap:12px;cursor:pointer;padding:14px 16px;list-style:none}
.apl02-evidence-library>summary::-webkit-details-marker{display:none}
.apl02-evidence-library>summary span{font-size:12px;color:var(--ink-500);font-weight:700}
.apl02-evidence-library .details-body{padding:0 16px 16px}
.section-heading-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap;justify-content:flex-end}


/* pelaksanaan kelompok dan empat tahap natural */
.assessment-focus-nav-asesor{grid-template-columns:repeat(4,minmax(0,1fr))}
.assessment-combined-workspace{display:grid;gap:16px;padding:2px;border-radius:18px;background:linear-gradient(180deg,color-mix(in srgb,var(--role-accent-soft) 30%,transparent),transparent 220px)}
.assessment-combined-workspace>.panel{margin:0}
.assessment-completeness-panel{border-color:color-mix(in srgb,var(--primary) 18%,var(--line))}
.assessment-roster-layout{display:grid;grid-template-columns:minmax(240px,300px) minmax(0,1fr);gap:18px;align-items:start}
.assessment-roster-schedules{position:sticky;top:var(--content-sticky-top,10px);overflow:hidden}
.assessment-roster-schedule-list{display:grid;gap:8px;padding:10px}
.assessment-roster-schedule{display:grid;gap:4px;padding:12px 13px;border:1px solid var(--line-soft);border-radius:12px;background:var(--surface);color:inherit;text-decoration:none}
.assessment-roster-schedule:hover,.assessment-roster-schedule:focus-visible{border-color:color-mix(in srgb,var(--primary) 28%,var(--line));background:var(--surface-soft)}
.assessment-roster-schedule.is-active{border-color:var(--gold-300);background:var(--gold-100)}
.assessment-roster-schedule strong{color:var(--navy-900);font-size:13px}.assessment-roster-schedule span,.assessment-roster-schedule small{color:var(--ink-500);font-size:12px}
.assessment-roster-main{display:grid;gap:16px;min-width:0}.assessment-roster-attendance{border-color:color-mix(in srgb,var(--success) 20%,var(--line))}
.segmented-choice{display:grid;grid-template-columns:1fr 1fr;gap:9px}.segmented-choice label{display:block}.segmented-choice input{position:absolute;opacity:0;pointer-events:none}.segmented-choice span{display:flex;align-items:center;justify-content:center;min-height:46px;padding:10px 14px;border:1px solid var(--line);border-radius:12px;background:var(--surface);font-weight:700;text-align:center;cursor:pointer}.segmented-choice input:checked+span{border-color:color-mix(in srgb,var(--primary) 40%,var(--line));background:var(--role-accent-soft);color:var(--primary)}
.evidence-quality-issues{margin-top:12px;padding:12px;border:1px solid var(--line-soft);border-radius:12px;background:var(--surface-soft)}
.assessment-runtime-actions{flex-wrap:wrap}


/* instrument-first assessor workspace */
.assessment-instrument-kuk-inline{grid-column:2/-1;border-top:1px solid var(--border);padding-top:10px;margin-top:2px}
.assessment-instrument-kuk-inline>summary{display:flex;align-items:center;justify-content:space-between;gap:12px;cursor:pointer;list-style:none;padding:4px 0}
.assessment-instrument-kuk-inline>summary::-webkit-details-marker{display:none}
.assessment-instrument-kuk-inline>summary span:first-child{display:grid;gap:2px}
.assessment-instrument-kuk-inline>summary small{color:var(--muted);font-size:.78rem}
.assessment-instrument-kuk-list{display:grid;gap:8px;padding-top:10px}
.assessment-instrument-kuk-list>article{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:10px;padding:10px 11px;border:1px solid var(--border);border-radius:11px;background:var(--surface)}
.assessment-instrument-kuk-list>article>div{display:grid;gap:2px;min-width:0}
.assessment-instrument-kuk-list>article small{color:var(--muted);line-height:1.4}
.assessment-full-kuk-matrix{padding:0;overflow:hidden}
.assessment-full-kuk-summary{display:flex;align-items:center;justify-content:space-between;gap:16px;cursor:pointer;list-style:none;padding:16px 18px;background:var(--surface-soft)}
.assessment-full-kuk-summary::-webkit-details-marker{display:none}
.assessment-full-kuk-summary>div{display:grid;gap:3px;min-width:0}
.assessment-full-kuk-summary strong{color:var(--navy-900);font-size:.96rem}
.assessment-full-kuk-summary small{color:var(--muted);line-height:1.45}
.assessment-full-kuk-body{border-top:1px solid var(--border)}


/* alur berbasis pengecualian */
.exception-review-box{display:grid;gap:8px;align-items:start}
.exception-review-box>summary{list-style:none;cursor:pointer;width:max-content;max-width:100%}
.exception-review-box>summary::-webkit-details-marker{display:none}
.exception-review-box[open]>summary{margin-bottom:2px}
.exception-review-box .table-inline-form{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;min-width:0;align-items:end}
.exception-review-box .table-inline-form textarea{min-width:0;width:100%}
.exception-review-box.is-flagged{padding:10px;border:1px solid var(--border);border-radius:12px;background:var(--surface-soft)}
.exception-review-box.is-flagged .inline-form{margin-top:0}


/* tombol perpindahan ruang kerja Super Admin mengikuti tampilan menu. */
.nav-workspace-form{margin:0;padding:0}
.nav-workspace-form .nav-item{width:100%;font:inherit;text-align:left;background:transparent;cursor:pointer}

/* remote picker untuk ribuan Asesi tanpa dropdown panjang. */
.remote-picker-selected,.remote-participant-selected{display:flex;align-items:center;gap:10px;flex-wrap:wrap;min-height:48px;padding:10px 12px;border:1px solid var(--line-soft);border-radius:12px;background:var(--surface-soft)}
.remote-picker-selected strong,.remote-picker-selected small{display:block}.remote-picker-selected small,.remote-participant-selected small{color:var(--ink-500)}
.remote-picker-results{display:grid;gap:7px;max-height:300px;overflow:auto;padding:8px;border:1px solid var(--line-soft);border-radius:12px;background:var(--surface);margin-top:7px}
.remote-picker-option{display:grid;gap:3px;width:100%;padding:11px 12px;border:1px solid var(--line-soft);border-radius:10px;background:var(--surface);text-align:left;cursor:pointer;color:inherit;font:inherit}
.remote-picker-option:hover,.remote-picker-option:focus-visible{border-color:color-mix(in srgb,var(--primary) 35%,var(--line));background:var(--surface-soft)}
.remote-picker-option small,.remote-picker-loading{color:var(--ink-500)}
.remote-participant-results{min-height:78px}.remote-selected-chips{display:flex;gap:7px;flex-wrap:wrap}.remote-selected-chip{display:grid;grid-template-columns:auto auto;gap:2px 7px;align-items:center;padding:7px 9px;border:1px solid var(--line-soft);border-radius:10px;background:var(--surface);font:inherit;text-align:left;cursor:pointer}.remote-selected-chip small{grid-column:1/-1;font-size:12px}.remote-selected-chip:hover{border-color:var(--danger)}

/* pratinjau impor besar tetap ringan di browser. */
.import-preview-limit-note{display:flex;gap:.6rem;align-items:flex-start;flex-wrap:wrap;margin:0 0 .8rem;padding:.75rem .9rem;border:1px solid var(--border-color);border-radius:var(--radius-md);background:var(--surface-subtle)}
.import-preview-limit-note strong{white-space:nowrap}
.import-preview-limit-note span{color:var(--text-muted);font-size:.9rem}
/* --------------------------------------------------------------------------
   Premium refinement.
   A calm institutional finish shared by every role: restrained depth,
   precise hierarchy, and consistent interaction feedback.
   -------------------------------------------------------------------------- */

.app-body{
  background:
    radial-gradient(circle at 94% 0,rgba(var(--theme-accent-rgb),.085),transparent 27rem),
    radial-gradient(circle at 14% 9%,rgba(var(--role-accent-rgb),.055),transparent 31rem),
    linear-gradient(180deg,#f8f7f3 0%,var(--canvas) 38%,#f0f1ee 100%);
  background-attachment:fixed;
}
.app-body .sidebar{
  border-right:1px solid rgba(255,255,255,.075);
  box-shadow:14px 0 44px rgba(5,23,34,.13);
}
.app-body .topbar{
  border-bottom:1px solid rgba(255,255,255,.1);
  color:#d7e0e5;
  background:
    radial-gradient(circle at 88% -160%,rgba(var(--theme-accent-rgb),.22),transparent 34%),
    linear-gradient(90deg,var(--navy-950),var(--navy-900) 58%,var(--navy-800));
  box-shadow:0 10px 28px rgba(7,23,34,.14);
  backdrop-filter:none;
}
.app-body .topbar::after{
  height:1px;
  background:linear-gradient(90deg,transparent,rgba(var(--theme-accent-rgb),.58),transparent);
  opacity:.7;
  transform:none;
}
.app-body .breadcrumb{color:#8fa3af}
.app-body .breadcrumb>span{color:#b8c6cd}
.app-body .breadcrumb .ui-icon{color:#647d8b}
.app-body .breadcrumb strong{color:#fff}
.app-body .topbar-context>small{color:#8fa3af}
.app-body .role-state{
  color:#f7fafb;
  border-color:rgba(var(--role-accent-rgb),.42);
  background:rgba(var(--role-accent-rgb),.22);
}
.app-body .system-state{color:#b5c3ca}
.app-body .system-state i{border-color:rgba(255,255,255,.24);box-shadow:0 0 0 4px rgba(79,149,121,.15)}

/* mandatory signature onboarding across every authenticated role. */
.system-state.is-pending{color:color-mix(in srgb,var(--theme-accent) 72%,#fff)}
.system-state.is-pending i{background:var(--theme-accent);box-shadow:0 0 0 4px rgba(var(--theme-accent-rgb),.16)}
.topbar-icon.is-disabled{cursor:not-allowed;opacity:.48}
.signature-access-gate{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:16px;margin:0 0 var(--composition-gap);padding:18px 20px;border:1px solid rgba(var(--theme-accent-rgb),.28);border-radius:var(--composition-radius);background:linear-gradient(135deg,#fff,color-mix(in srgb,var(--theme-accent-soft) 78%,#fff));box-shadow:var(--shadow-sm)}
.signature-access-gate-icon{display:grid;place-items:center;width:48px;height:48px;border:1px solid rgba(var(--theme-accent-rgb),.2);border-radius:14px;color:var(--theme-accent-strong);background:var(--theme-accent-soft)}
.signature-access-gate-icon .ui-icon{width:23px;height:23px}
.signature-access-gate>div{min-width:0}
.signature-access-gate .overline{margin-bottom:3px}
.signature-access-gate strong{display:block;color:var(--ink-950);font-family:var(--font-display);font-size:18px;line-height:1.25}
.signature-access-gate p{max-width:760px;margin:5px 0 0;color:var(--ink-600);font-size:12.5px;line-height:1.55}


/* controlled administrative application reset. */
.admin-reset-panel{padding:20px}.admin-reset-panel h2{margin:0 0 7px;font-size:19px}.admin-reset-panel>p{margin:0 0 16px;color:var(--ink-600);font-size:12.5px;line-height:1.6}.admin-reset-panel>.button{width:100%}.admin-reset-blockers{display:grid;gap:8px;padding:13px;border:1px solid rgba(var(--danger-rgb),.18);border-radius:12px;background:var(--danger-soft)}.admin-reset-blockers strong{color:var(--danger-strong);font-size:13px}.admin-reset-blockers span{display:flex;align-items:flex-start;gap:7px;color:var(--ink-600);font-size:12px;line-height:1.45}.admin-reset-blockers .ui-icon{flex:0 0 auto;width:14px;height:14px;margin-top:1px;color:var(--danger)}.reset-application-summary{display:flex;align-items:center;gap:13px;margin-bottom:18px;padding:14px;border:1px solid rgba(var(--theme-accent-rgb),.2);border-radius:13px;background:var(--theme-accent-soft)}.reset-application-summary>span{display:grid;place-items:center;width:40px;height:40px;border-radius:11px;color:var(--theme-accent-strong);background:#fff}.reset-application-summary>span .ui-icon{width:20px;height:20px}.reset-application-summary div{min-width:0}.reset-application-summary strong{display:block;color:var(--ink-950);font-size:13px}.reset-application-summary p{margin:3px 0 0;color:var(--ink-600);font-size:12px}

/* controlled assessment cancellation across operational roles. */
.cancellation-review-hero{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:22px 24px;background:linear-gradient(135deg,var(--surface),var(--theme-accent-soft))}.cancellation-review-hero h2{margin:4px 0 5px;font-size:24px}.cancellation-review-hero p{margin:0;color:var(--ink-600);font-size:12.5px}.cancellation-review-hero>.status-badge{flex:0 0 auto}.recommendation-main>.cancellation-review-hero+.panel{margin-top:16px}.recommendation-main>.decision-panel{margin-top:16px}.schedule-action-strip .button-danger-outline,.schedule-action-strip .danger-text{white-space:nowrap}

.app-body .topbar-icon{color:#c1ced4}
.app-body .topbar-icon:hover,.app-body .topbar-icon:focus-visible{
  color:#fff;
  border-color:rgba(255,255,255,.14);
  background:rgba(255,255,255,.08);
}
.app-body .account-trigger{color:#dce5e9}
.app-body .account-trigger:hover,.app-body .account.is-open .account-trigger{
  border-color:rgba(255,255,255,.12);
  background:rgba(255,255,255,.07);
}
.app-body .account-copy strong{color:#fff}
.app-body .account-copy small,.app-body .account-trigger>.ui-icon{color:#91a5af}
.app-body .avatar{
  color:var(--navy-950);
  border-color:rgba(var(--theme-accent-rgb),.62);
  background:linear-gradient(145deg,#f6ead3,#d9bd86);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.7),0 6px 16px rgba(3,17,27,.16);
}
.app-body .notification-count{border-color:var(--navy-900)}
.app-body :is(.topbar-account,.topbar-profile,.role-badge){
  border-color:rgba(255,255,255,.12);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.06);
}

.app-body .page-heading{
  position:relative;
  isolation:isolate;
  overflow:hidden;
  border:1px solid var(--premium-line);
  background:
    radial-gradient(circle at 96% 0,rgba(var(--theme-accent-rgb),.15),transparent 29%),
    linear-gradient(132deg,rgba(var(--role-accent-rgb),.075),rgba(255,255,255,.985) 43%,rgba(255,255,255,.92));
  box-shadow:var(--premium-shadow),var(--premium-inset);
}
.app-body .page-heading::before{
  content:"";
  position:absolute;
  z-index:-1;
  inset:0 auto 0 0;
  width:4px;
  background:linear-gradient(180deg,var(--role-accent),rgba(var(--theme-accent-rgb),.78));
}
.app-body .page-heading::after{
  content:"";
  position:absolute;
  z-index:-1;
  top:-92px;
  right:-54px;
  width:220px;
  height:220px;
  border:1px solid rgba(var(--theme-accent-rgb),.12);
  border-radius:50%;
  box-shadow:0 0 0 28px rgba(var(--theme-accent-rgb),.035);
  pointer-events:none;
}
.app-body .page-heading h1{
  color:var(--navy-950);
  letter-spacing:-.025em;
  text-wrap:balance;
}
.app-body :is(.eyebrow,.overline){color:color-mix(in srgb,var(--role-accent) 78%,var(--navy-900))}

.app-body :is(.panel,.metric-card,.scheme-card,.application-card,.assessor-assignment-card,.tuk-schedule-card){
  border-color:var(--premium-line);
  background:linear-gradient(180deg,rgba(255,255,255,.995),rgba(255,255,255,.965));
  box-shadow:var(--premium-shadow),var(--premium-inset);
}
.app-body .panel-head{
  border-bottom-color:var(--premium-line);
  background:
    linear-gradient(90deg,rgba(var(--role-accent-rgb),.035),transparent 46%),
    linear-gradient(180deg,rgba(255,255,255,.98),rgba(250,250,248,.96));
}
.app-body .panel-head h2{
  color:var(--navy-950);
  letter-spacing:-.012em;
}
.app-body .metric-card{
  position:relative;
  overflow:hidden;
}
.app-body .metric-card::after{
  content:"";
  position:absolute;
  inset:auto -24px -42px auto;
  width:100px;
  height:100px;
  border:1px solid rgba(var(--role-accent-rgb),.09);
  border-radius:50%;
  pointer-events:none;
}
.app-body .metric-value{letter-spacing:-.035em}

.app-body .dashboard-hero{
  position:relative;
  isolation:isolate;
  overflow:hidden;
  border:1px solid rgba(255,255,255,.13);
  box-shadow:var(--premium-shadow-raised);
}
.app-body .dashboard-hero::after{
  content:"";
  position:absolute;
  z-index:-1;
  top:-145px;
  right:-72px;
  width:330px;
  height:330px;
  border:1px solid rgba(255,255,255,.1);
  border-radius:50%;
  box-shadow:0 0 0 42px rgba(255,255,255,.025),0 0 0 84px rgba(255,255,255,.018);
}
.app-body .dashboard-hero h1{letter-spacing:-.028em;text-wrap:balance}
.app-body :is(.dashboard-hero-period,.dashboard-hero-card,.hero-summary-card){
  border-color:rgba(255,255,255,.18);
  background:linear-gradient(145deg,rgba(255,255,255,.14),rgba(255,255,255,.07));
  box-shadow:inset 0 1px 0 rgba(255,255,255,.16),0 16px 36px rgba(3,17,27,.12);
  backdrop-filter:blur(12px);
}

.app-body :is(.assessment-hero,.ak01-hero,.recommendation-hero,.decision-hero,.certificate-hero,.case-hero,.result-hero){
  position:relative;
  isolation:isolate;
  box-shadow:var(--premium-shadow-raised);
}
.app-body :is(.assessment-hero,.ak01-hero,.recommendation-hero,.decision-hero,.certificate-hero,.case-hero,.result-hero)::after{
  content:"";
  position:absolute;
  z-index:-1;
  top:-90px;
  right:-35px;
  width:210px;
  height:210px;
  border:1px solid rgba(255,255,255,.1);
  border-radius:50%;
  pointer-events:none;
}
.app-body .button{
  border-radius:12px;
  letter-spacing:.002em;
  box-shadow:0 1px 2px rgba(8,29,42,.055),inset 0 1px 0 rgba(255,255,255,.72);
}
.app-body :is(.button-primary,.button-warning,.button-danger){
  border-color:rgba(4,22,32,.22);
  box-shadow:0 8px 18px rgba(7,28,41,.14),inset 0 1px 0 rgba(255,255,255,.2);
}
.app-body .button-secondary{background:linear-gradient(180deg,#fff,#f7f8f7)}
.app-body .button:focus-visible{
  outline:3px solid rgba(var(--role-accent-rgb),.2);
  outline-offset:2px;
}

.app-body :is(input:not([type="checkbox"]):not([type="radio"]),select,textarea){
  border-color:var(--premium-line-strong);
  background-color:rgba(255,255,255,.94);
  box-shadow:inset 0 1px 2px rgba(7,29,42,.025),0 1px 0 rgba(255,255,255,.8);
}
.app-body :is(input:not([type="checkbox"]):not([type="radio"]),select,textarea):hover:not(:disabled){border-color:rgba(var(--role-accent-rgb),.3)}
.app-body :is(input:not([type="checkbox"]):not([type="radio"]),select,textarea):focus{
  background-color:#fff;
  box-shadow:0 0 0 4px rgba(var(--role-accent-rgb),.085),0 5px 14px rgba(8,29,42,.045);
}
.app-body :is(.filter-bar,.bulk-check-toolbar,.selection-toolbar,.assessment-answer-toolbar){
  border-color:var(--premium-line);
  background:linear-gradient(180deg,#fbfbf9,#f7f7f4);
  box-shadow:var(--premium-inset);
}

.app-body .data-table thead th{
  border-bottom-color:var(--premium-line-strong);
  background:linear-gradient(180deg,#f8f9f7,#f3f5f3);
  color:var(--ink-700);
}
.app-body .data-table tbody tr:hover{background:rgba(var(--role-accent-rgb),.045)}
.app-body .data-table tbody tr:focus-within{background:rgba(var(--role-accent-rgb),.055)}
.app-body .status-badge{
  border:1px solid color-mix(in srgb,currentColor 14%,transparent);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.7);
}

.app-body .modal-layer{background:rgba(5,20,29,.66);backdrop-filter:blur(7px) saturate(90%)}
.app-body .modal-dialog{
  overflow:hidden;
  border:1px solid rgba(255,255,255,.7);
  background:rgba(255,255,255,.985);
  box-shadow:0 34px 100px rgba(4,20,30,.34),0 0 0 1px rgba(7,28,40,.08);
}
.app-body .modal-head{
  background:
    radial-gradient(circle at 96% 0,rgba(var(--theme-accent-rgb),.12),transparent 35%),
    linear-gradient(135deg,rgba(var(--role-accent-rgb),.055),#fff 55%);
}
.app-body .modal-actions{
  border-top:1px solid var(--premium-line);
  background:linear-gradient(180deg,#fafbf9,#fff);
}
.app-body .empty-state{
  border-color:var(--premium-line);
  background:
    radial-gradient(circle at 50% 15%,rgba(var(--role-accent-rgb),.065),transparent 35%),
    linear-gradient(180deg,#fbfbf9,#f7f8f6);
  box-shadow:var(--premium-inset);
}


/* Once headings stack, the desktop flex-basis must not become vertical height. */


/* --------------------------------------------------------------------------
   Cross-role component finish.
   Shared operational components now carry one hierarchy and material system.
   -------------------------------------------------------------------------- */
.app-body ::selection{
  color:var(--navy-950);
  background:rgba(var(--theme-accent-rgb),.34);
}
.app-body :is(.sidebar-nav,.table-wrap,.table-scroll,.remote-picker-results,.assessment-queue-list,.recommendation-queue-list,.decision-queue-list,.certificate-queue-list,.case-queue-list){
  scrollbar-color:rgba(var(--role-accent-rgb),.34) transparent;
  scrollbar-width:thin;
}

.app-body :is(.summary-rail,.assessment-summary-rail,.muk-summary-rail,.readiness-summary-grid,.decision-summary-grid,.approval-summary-grid,.ak01-summary-grid)>article{
  position:relative;
  isolation:isolate;
  overflow:hidden;
  border-color:var(--premium-line);
  background:
    radial-gradient(circle at 100% 0,rgba(var(--role-accent-rgb),.055),transparent 42%),
    linear-gradient(180deg,rgba(255,255,255,.995),rgba(250,251,249,.97));
  box-shadow:var(--premium-shadow),var(--premium-inset);
}
.app-body :is(.summary-rail,.assessment-summary-rail,.muk-summary-rail,.readiness-summary-grid,.decision-summary-grid,.approval-summary-grid,.ak01-summary-grid)>article::after{
  content:"";
  position:absolute;
  z-index:-1;
  right:-28px;
  bottom:-48px;
  width:92px;
  height:92px;
  border:1px solid rgba(var(--role-accent-rgb),.075);
  border-radius:50%;
  pointer-events:none;
}
.app-body :is(.summary-icon,.metric-icon,.guidance-icon,.priority-number,.timeline-number){
  box-shadow:inset 0 1px 0 rgba(255,255,255,.72),0 5px 12px rgba(8,29,42,.055);
}
.app-body :is(.summary-rail,.assessment-summary-rail,.muk-summary-rail) strong{color:var(--navy-950);letter-spacing:-.025em}

.app-body :is(.context-selector,.workflow-guidance,.guidance-card,.assignment-toolbar,.data-table-toolbar,.application-context-bar,.bulk-check-toolbar,.selection-toolbar){
  border:1px solid var(--premium-line);
  border-radius:15px;
  background:
    linear-gradient(90deg,rgba(var(--role-accent-rgb),.035),transparent 45%),
    linear-gradient(180deg,rgba(255,255,255,.985),rgba(249,250,248,.965));
  box-shadow:var(--premium-shadow),var(--premium-inset);
}
.app-body :is(.context-selector,.workflow-guidance,.guidance-card,.assignment-toolbar,.application-context-bar):focus-within{
  border-color:rgba(var(--role-accent-rgb),.24);
}
.app-body .guidance-icon{
  color:var(--gold-800);
  border:1px solid rgba(var(--theme-accent-rgb),.24);
  background:linear-gradient(145deg,#fff9ed,var(--gold-100));
}

.app-body :is(.workflow-tabs>a,.muk-flow-card,.muk-choice-card,.assessment-focus-nav>a,.assessment-roster-schedule,.remote-picker-option){
  border-color:var(--premium-line);
  background:linear-gradient(180deg,#fff,#fafbf9);
  box-shadow:0 1px 2px rgba(8,29,42,.03),0 8px 22px rgba(8,29,42,.04),var(--premium-inset);
}
.app-body :is(.workflow-tabs>a,.muk-flow-card,.muk-choice-card,.assessment-focus-nav>a,.assessment-roster-schedule,.remote-picker-option):hover{
  border-color:rgba(var(--role-accent-rgb),.23);
  background:linear-gradient(180deg,#fff,rgba(var(--role-accent-rgb),.035));
}
.app-body :is(.workflow-tabs>a.is-active,.muk-flow-card.is-active,.assessment-focus-nav>a.is-active,.assessment-roster-schedule.is-active){
  border-color:rgba(var(--theme-accent-rgb),.5);
  background:
    linear-gradient(90deg,rgba(var(--theme-accent-rgb),.09),transparent 4px),
    linear-gradient(135deg,#fffdf8,#fff);
  box-shadow:0 10px 28px rgba(8,29,42,.07),inset 0 1px 0 rgba(255,255,255,.8);
}
.app-body .workflow-tabs>a>span,.app-body .muk-flow-number{
  border:1px solid rgba(var(--role-accent-rgb),.11);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.58);
}

.app-body :is(.count-pill,.heading-code){
  border-color:rgba(var(--role-accent-rgb),.16);
  color:var(--ink-700);
  background:linear-gradient(180deg,#fff,rgba(var(--role-accent-rgb),.04));
  box-shadow:inset 0 1px 0 rgba(255,255,255,.78);
}
.app-body .pagination{
  border-top-color:var(--premium-line);
  background:
    linear-gradient(90deg,rgba(var(--role-accent-rgb),.025),transparent 42%),
    linear-gradient(180deg,#fbfcfa,#f6f7f5);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.75);
}
.app-body :is(.page-link,.pagination a,.pagination button){border-radius:10px}
.app-body :is(.page-link.is-active,.pagination a[aria-current="page"]){
  color:#fff;
  border-color:rgba(4,22,32,.22);
  background:linear-gradient(180deg,var(--button-primary-strong),color-mix(in srgb,var(--button-primary-strong) 86%,#071923));
  box-shadow:0 7px 16px rgba(7,28,41,.13),inset 0 1px 0 rgba(255,255,255,.18);
}

.app-body :is(.authoring-support-documents,.apl02-evidence-library,.assessment-instrument-guide,.assessment-full-kuk-matrix,.exception-review-box.is-flagged){
  border-color:var(--premium-line);
  border-radius:15px;
  background:linear-gradient(180deg,#fff,#fafbf9);
  box-shadow:0 8px 24px rgba(8,29,42,.045),var(--premium-inset);
}
.app-body :is(.authoring-support-documents,.apl02-evidence-library,.assessment-instrument-guide,.assessment-full-kuk-matrix)>summary{
  transition:background .16s ease,color .16s ease;
}
.app-body :is(.authoring-support-documents,.apl02-evidence-library,.assessment-instrument-guide,.assessment-full-kuk-matrix)>summary:hover{
  background:rgba(var(--role-accent-rgb),.035);
}

.app-body .identity-banner{
  border-color:rgba(255,255,255,.12);
  background:
    radial-gradient(circle at 88% 0,rgba(var(--theme-accent-rgb),.2),transparent 28%),
    linear-gradient(125deg,var(--navy-950),var(--navy-800));
  box-shadow:var(--premium-shadow-raised);
}
.app-body :is(.detail-grid>div,.assignment-detail-grid>div,.read-only-field,.definition-list>div){
  border-color:var(--premium-line);
  background:linear-gradient(180deg,#fff,#fbfcfa);
}


/* Mobile collision guard shared by every role and page. */


/* Ten cohesive visual worlds and cross-role palette harmonization. */
body[data-theme="emerald"]{--theme-secondary:#527a70;--theme-secondary-rgb:82,122,112;--theme-tertiary:#71806b;--theme-tertiary-rgb:113,128,107}
body[data-theme="burgundy"]{--theme-secondary:#7c5d66;--theme-secondary-rgb:124,93,102;--theme-tertiary:#96727b;--theme-tertiary-rgb:150,114,123}
body[data-theme="indigo"]{--theme-secondary:#686b9c;--theme-secondary-rgb:104,107,156;--theme-tertiary:#8076a2;--theme-tertiary-rgb:128,118,162}
body[data-theme="teal"]{--theme-secondary:#4e7779;--theme-secondary-rgb:78,119,121;--theme-tertiary:#667f7a;--theme-tertiary-rgb:102,127,122}
body[data-theme="graphite"]{--theme-secondary:#697178;--theme-secondary-rgb:105,113,120;--theme-tertiary:#77716a;--theme-tertiary-rgb:119,113,106}

body[data-theme="royal"]{
  --ink-950:#21182b;--ink-900:#30213d;--ink-800:#493755;--ink-700:#65526f;--ink-600:#72607b;--ink-500:#65526f;
  --navy-950:#1c1227;--navy-900:#261936;--navy-800:#3d2852;--navy-700:#583c70;--navy-100:#f0e8f4;
  --gold-800:#77475b;--gold-700:#945c73;--gold-600:#ad7189;--gold-500:#c08c9e;--gold-300:#e0beca;--gold-200:#ead2da;--gold-100:#f8edf1;--gold-soft:#f8edf1;
  --canvas:#f7f3fa;--canvas-soft:#fcf9fd;--line:#e2d9e6;--line-soft:#eee8f0;
  --theme-primary:#74539a;--theme-primary-strong:#563a78;--theme-primary-soft:#f0eaf6;--theme-primary-rgb:116,83,154;
  --theme-secondary:#886a91;--theme-secondary-rgb:136,106,145;--theme-tertiary:#5b6789;--theme-tertiary-rgb:91,103,137;--theme-accent:#c08c9e;--theme-accent-rgb:192,140,158;
}
.app-body[data-theme="royal"]{--role-accent:#74539a;--role-accent-strong:#563a78;--role-accent-soft:#f0eaf6;--role-accent-rgb:116,83,154}

body[data-theme="terracotta"]{
  --ink-950:#2b1b15;--ink-900:#3d281f;--ink-800:#574035;--ink-700:#705b50;--ink-600:#7c685e;--ink-500:#705b50;
  --navy-950:#2d1710;--navy-900:#3b2118;--navy-800:#593528;--navy-700:#7b4936;--navy-100:#f4e9e3;
  --gold-800:#76552d;--gold-700:#916d3c;--gold-600:#aa8350;--gold-500:#c39a62;--gold-300:#dfc59e;--gold-200:#ead7b9;--gold-100:#f8f0e5;--gold-soft:#f8f0e5;
  --canvas:#faf4f0;--canvas-soft:#fdfaf7;--line:#e6d9d1;--line-soft:#f0e7e1;
  --theme-primary:#a45f45;--theme-primary-strong:#7b432f;--theme-primary-soft:#f7ebe6;--theme-primary-rgb:164,95,69;
  --theme-secondary:#7c6b58;--theme-secondary-rgb:124,107,88;--theme-tertiary:#85725f;--theme-tertiary-rgb:133,114,95;--theme-accent:#c39a62;--theme-accent-rgb:195,154,98;
}
.app-body[data-theme="terracotta"]{--role-accent:#a45f45;--role-accent-strong:#7b432f;--role-accent-soft:#f7ebe6;--role-accent-rgb:164,95,69}

body[data-theme="azure"]{
  --ink-950:#142735;--ink-900:#1d3546;--ink-800:#334d5e;--ink-700:#506776;--ink-600:#5e7482;--ink-500:#506776;
  --navy-950:#0b2232;--navy-900:#10283a;--navy-800:#183f59;--navy-700:#285d7e;--navy-100:#e7f0f6;
  --gold-800:#28635e;--gold-700:#337871;--gold-600:#408b83;--gold-500:#4f9a91;--gold-300:#add3ce;--gold-200:#c9e2df;--gold-100:#eaf6f4;--gold-soft:#eaf6f4;
  --canvas:#f1f6fa;--canvas-soft:#f9fbfd;--line:#d5e0e7;--line-soft:#e6edf1;
  --theme-primary:#2f6f9f;--theme-primary-strong:#205476;--theme-primary-soft:#e8f1f8;--theme-primary-rgb:47,111,159;
  --theme-secondary:#4d7b91;--theme-secondary-rgb:77,123,145;--theme-tertiary:#657c9a;--theme-tertiary-rgb:101,124,154;--theme-accent:#4f9a91;--theme-accent-rgb:79,154,145;
}
.app-body[data-theme="azure"]{--role-accent:#2f6f9f;--role-accent-strong:#205476;--role-accent-soft:#e8f1f8;--role-accent-rgb:47,111,159}

body[data-theme="olive"]{
  --ink-950:#222719;--ink-900:#303722;--ink-800:#485039;--ink-700:#626a53;--ink-600:#6e7661;--ink-500:#626a53;
  --navy-950:#1b2112;--navy-900:#222a18;--navy-800:#374328;--navy-700:#53643a;--navy-100:#edf0e5;
  --gold-800:#6f511f;--gold-700:#87652d;--gold-600:#9e793d;--gold-500:#b58c4b;--gold-300:#d9c298;--gold-200:#e5d4b5;--gold-100:#f5eee1;--gold-soft:#f5eee1;
  --canvas:#f5f6ef;--canvas-soft:#fbfcf8;--line:#dcdfd2;--line-soft:#eaece3;
  --theme-primary:#5e713d;--theme-primary-strong:#44532b;--theme-primary-soft:#edf2e5;--theme-primary-rgb:94,113,61;
  --theme-secondary:#69765f;--theme-secondary-rgb:105,118,95;--theme-tertiary:#7a755d;--theme-tertiary-rgb:122,117,93;--theme-accent:#b58c4b;--theme-accent-rgb:181,140,75;
}
.app-body[data-theme="olive"]{--role-accent:#5e713d;--role-accent-strong:#44532b;--role-accent-soft:#edf2e5;--role-accent-rgb:94,113,61}

body[data-button-palette="ocean-mist"]{--button-primary:#4b827f;--button-primary-strong:#35635f;--button-primary-soft:#e9f3f2;--button-primary-rgb:75,130,127;--button-secondary:#52758e;--button-secondary-strong:#3a586e;--button-secondary-soft:#ebf0f4;--button-secondary-rgb:82,117,142}
body[data-button-palette="sage-terracotta"]{--button-primary:#5f806f;--button-primary-strong:#466253;--button-primary-soft:#ebf3ef;--button-primary-rgb:95,128,111;--button-secondary:#6f7b72;--button-secondary-strong:#535e56;--button-secondary-soft:#eef1ef;--button-secondary-rgb:111,123,114}
body[data-button-palette="graphite-pastel"]{--button-primary:#66747f;--button-primary-strong:#4a5761;--button-primary-soft:#edf0f2;--button-primary-rgb:102,116,127;--button-secondary:#737078;--button-secondary-strong:#57545c;--button-secondary-soft:#f0eff1;--button-secondary-rgb:115,112,120}
body[data-button-palette="burgundy-slate"]{--button-primary:#8c6270;--button-primary-strong:#6c4653;--button-primary-soft:#f5ecef;--button-primary-rgb:140,98,112;--button-secondary:#7b6870;--button-secondary-strong:#5d4d54;--button-secondary-soft:#f1edef;--button-secondary-rgb:123,104,112}
body[data-button-palette="royal-amethyst"]{--button-primary:#765c9d;--button-primary-strong:#574176;--button-primary-soft:#f1ecf7;--button-primary-rgb:118,92,157;--button-secondary:#9a687d;--button-secondary-strong:#784c60;--button-secondary-soft:#f6edf1;--button-secondary-rgb:154,104,125;--button-success:#5e846a;--button-success-strong:#45644f;--button-success-soft:#ecf4ef;--button-success-rgb:94,132,106;--button-warning:#b8874b;--button-warning-strong:#8c6332;--button-warning-soft:#faf1e5;--button-warning-rgb:184,135,75;--button-danger:#ad5e68;--button-danger-strong:#86434c;--button-danger-soft:#f9ebed;--button-danger-rgb:173,94,104}
body[data-button-palette="terracotta-sand"]{--button-primary:#a56850;--button-primary-strong:#7d4937;--button-primary-soft:#f8eee9;--button-primary-rgb:165,104,80;--button-secondary:#7c746a;--button-secondary-strong:#5d564d;--button-secondary-soft:#f1efec;--button-secondary-rgb:124,116,106;--button-success:#638066;--button-success-strong:#49604c;--button-success-soft:#edf3ed;--button-success-rgb:99,128,102;--button-warning:#b58647;--button-warning-strong:#896231;--button-warning-soft:#faf1e4;--button-warning-rgb:181,134,71;--button-danger:#a85e56;--button-danger-strong:#81433d;--button-danger-soft:#f8ecea;--button-danger-rgb:168,94,86}
body[data-button-palette="azure-cobalt"]{--button-primary:#3977a6;--button-primary-strong:#285a7d;--button-primary-soft:#eaf2f8;--button-primary-rgb:57,119,166;--button-secondary:#4b858b;--button-secondary-strong:#356469;--button-secondary-soft:#eaf4f4;--button-secondary-rgb:75,133,139;--button-success:#59866c;--button-success-strong:#406650;--button-success-soft:#ebf4ee;--button-success-rgb:89,134,108;--button-warning:#b68443;--button-warning-strong:#8a602e;--button-warning-soft:#faf1e3;--button-warning-rgb:182,132,67;--button-danger:#b45e67;--button-danger-strong:#8b434c;--button-danger-soft:#f9eaec;--button-danger-rgb:180,94,103}
body[data-button-palette="forest-brass"]{--button-primary:#687b48;--button-primary-strong:#4c5b34;--button-primary-soft:#eff3e8;--button-primary-rgb:104,123,72;--button-secondary:#657873;--button-secondary-strong:#4a5b56;--button-secondary-soft:#edf2f0;--button-secondary-rgb:101,120,115;--button-success:#5d8060;--button-success-strong:#456148;--button-success-soft:#edf3ed;--button-success-rgb:93,128,96;--button-warning:#ad8242;--button-warning-strong:#825f2d;--button-warning-soft:#f9f0e2;--button-warning-rgb:173,130,66;--button-danger:#a85e5e;--button-danger-strong:#814343;--button-danger-soft:#f8ebeb;--button-danger-rgb:168,94,94}

.theme-swatches-emerald i:nth-child(2){background:#527a70}.theme-swatches-burgundy i:nth-child(2){background:#7c5d66}.theme-swatches-indigo i:nth-child(2){background:#686b9c}.theme-swatches-teal i:nth-child(2){background:#4e7779}.theme-swatches-graphite i:nth-child(2){background:#697178}
.theme-swatches-royal i:nth-child(1){background:#74539a}.theme-swatches-royal i:nth-child(2){background:#886a91}.theme-swatches-royal i:nth-child(3){background:#c08c9e}.theme-swatches-royal i:nth-child(4){background:#f7f3fa}
.theme-swatches-terracotta i:nth-child(1){background:#a45f45}.theme-swatches-terracotta i:nth-child(2){background:#7c6b58}.theme-swatches-terracotta i:nth-child(3){background:#c39a62}.theme-swatches-terracotta i:nth-child(4){background:#faf4f0}
.theme-swatches-azure i:nth-child(1){background:#2f6f9f}.theme-swatches-azure i:nth-child(2){background:#4d7b91}.theme-swatches-azure i:nth-child(3){background:#4f9a91}.theme-swatches-azure i:nth-child(4){background:#f1f6fa}
.theme-swatches-olive i:nth-child(1){background:#5e713d}.theme-swatches-olive i:nth-child(2){background:#69765f}.theme-swatches-olive i:nth-child(3){background:#b58c4b}.theme-swatches-olive i:nth-child(4){background:#f5f6ef}

.button-palette-demo-ocean-mist .demo-primary{background:#4b827f}.button-palette-demo-ocean-mist .demo-secondary{background:#52758e}
.button-palette-demo-sage-terracotta .demo-primary{background:#5f806f}.button-palette-demo-sage-terracotta .demo-secondary{background:#6f7b72}
.button-palette-demo-graphite-pastel .demo-secondary{background:#737078}.button-palette-demo-burgundy-slate .demo-secondary{background:#7b6870}
.button-palette-demo-royal-amethyst .demo-primary{background:#765c9d}.button-palette-demo-royal-amethyst .demo-secondary{background:#9a687d}.button-palette-demo-royal-amethyst .demo-success{background:#5e846a}.button-palette-demo-royal-amethyst .demo-warning{background:#b8874b}.button-palette-demo-royal-amethyst .demo-danger{background:#ad5e68}
.button-palette-demo-terracotta-sand .demo-primary{background:#a56850}.button-palette-demo-terracotta-sand .demo-secondary{background:#7c746a}.button-palette-demo-terracotta-sand .demo-success{background:#638066}.button-palette-demo-terracotta-sand .demo-warning{background:#b58647}.button-palette-demo-terracotta-sand .demo-danger{background:#a85e56}
.button-palette-demo-azure-cobalt .demo-primary{background:#3977a6}.button-palette-demo-azure-cobalt .demo-secondary{background:#4b858b}.button-palette-demo-azure-cobalt .demo-success{background:#59866c}.button-palette-demo-azure-cobalt .demo-warning{background:#b68443}.button-palette-demo-azure-cobalt .demo-danger{background:#b45e67}
.button-palette-demo-forest-brass .demo-primary{background:#687b48}.button-palette-demo-forest-brass .demo-secondary{background:#657873}.button-palette-demo-forest-brass .demo-success{background:#5d8060}.button-palette-demo-forest-brass .demo-warning{background:#ad8242}.button-palette-demo-forest-brass .demo-danger{background:#a85e5e}

.app-body .dashboard-hero{
  background:
    radial-gradient(circle at 89% 8%,rgba(var(--theme-accent-rgb),.25),transparent 25%),
    radial-gradient(circle at 62% 115%,rgba(var(--theme-secondary-rgb),.3),transparent 35%),
    linear-gradient(128deg,color-mix(in srgb,var(--theme-primary-strong) 78%,#071722),var(--theme-primary-strong) 58%,var(--theme-primary));
}
.app-body :is(.assessment-hero,.ak01-hero,.recommendation-hero,.decision-hero,.certificate-hero,.case-hero,.result-hero){
  background:
    radial-gradient(circle at 90% 6%,rgba(var(--theme-accent-rgb),.2),transparent 28%),
    linear-gradient(132deg,color-mix(in srgb,var(--theme-primary-strong) 80%,#071722),var(--theme-primary));
}
.app-body .dashboard-hero :is(.overline,.eyebrow){color:color-mix(in srgb,var(--theme-accent) 72%,#fff)}
.app-body .dashboard-hero p{color:rgba(255,255,255,.76)}
.app-body .hero-meta{color:rgba(255,255,255,.86)}
.app-body .hero-meta .ui-icon{color:var(--theme-accent)}
.app-body .metric-tone-1{--metric:var(--theme-primary);--metric-soft:var(--theme-primary-soft);border-color:color-mix(in srgb,var(--theme-primary) 22%,var(--line))}
.app-body .metric-tone-2{--metric:var(--theme-secondary);--metric-soft:color-mix(in srgb,var(--theme-secondary) 12%,#fff);border-color:color-mix(in srgb,var(--theme-secondary) 22%,var(--line))}
.app-body .metric-tone-3{--metric:var(--theme-tertiary);--metric-soft:color-mix(in srgb,var(--theme-tertiary) 12%,#fff);border-color:color-mix(in srgb,var(--theme-tertiary) 22%,var(--line))}
.app-body .metric-top i{color:color-mix(in srgb,var(--theme-accent) 76%,var(--ink-900))}
.app-body :is(.priority-index,.element-number,.team-number,.governance-icon,.summary-seal,.guidance-icon,.table-empty>span,.empty-icon){
  color:color-mix(in srgb,var(--theme-accent) 68%,var(--ink-950));
  border-color:rgba(var(--theme-accent-rgb),.38);
  background:color-mix(in srgb,var(--theme-accent) 13%,#fff);
}
.app-body :is(.avatar,.data-avatar,.profile-avatar-large){
  color:var(--theme-primary-strong);
  border-color:rgba(var(--theme-accent-rgb),.46);
  background:linear-gradient(145deg,color-mix(in srgb,var(--theme-primary-soft) 82%,#fff),color-mix(in srgb,var(--theme-accent) 22%,#fff));
}


/* 320px fallback usability contract across every role. */
.priority-action-button{
  min-width:36px;
  min-height:36px;
  padding:5px 7px;
  border-radius:10px;
}
.app-body .field>.custom-number-control{
  display:grid;
  grid-template-columns:40px minmax(0,1fr) 40px;
  width:100%;
}


/* Profile approval trail follows the current light panel system. Keep these
   component rules more specific than dark-card and global panel normalization
   so text never inherits a light-on-light treatment. */
.app-body .profile-security-card{
  color:var(--ink-900);
  background:
    linear-gradient(90deg,rgba(var(--role-accent-rgb),.035),transparent 46%),
    linear-gradient(180deg,rgba(255,255,255,.995),rgba(250,250,248,.97));
}
.app-body .profile-security-card .profile-security-icon{
  border-color:rgba(var(--role-accent-rgb),.18);
  color:var(--role-accent-strong);
  background:var(--role-accent-soft);
}
.app-body .profile-security-card .overline{
  color:color-mix(in srgb,var(--role-accent) 78%,var(--navy-900));
}
.app-body .profile-security-card h2{
  color:var(--navy-950);
}
.app-body .profile-security-card>p{
  color:var(--ink-600);
}
.app-body .profile-security-card .signature-rule-list>div{
  border-color:var(--premium-line);
  background:var(--surface-soft);
}
.app-body .profile-security-card .signature-rule-list span{
  color:var(--role-accent-strong);
  background:var(--role-accent-soft);
}
.app-body .profile-security-card .signature-rule-list p{
  color:var(--ink-700);
}

/* Consistent inner spacing for workflow panels across every role. */
.app-body .workspace-hero{
  min-height:168px;
  align-items:center;
  padding:27px 29px;
  border:1px solid rgba(255,255,255,.12);
  background:
    radial-gradient(circle at 92% 5%,rgba(var(--theme-accent-rgb),.2),transparent 28%),
    linear-gradient(132deg,color-mix(in srgb,var(--theme-primary-strong) 82%,#071722),var(--theme-primary));
}
.app-body .workspace-hero h1{color:#fff;line-height:1.12;letter-spacing:-.025em}
.app-body .workspace-hero :is(.eyebrow,.overline){color:color-mix(in srgb,var(--theme-accent) 70%,#fff)}
.app-body .workspace-hero p{max-width:900px;color:rgba(255,255,255,.78)}
.app-body .workspace-status-line>span:last-child{color:rgba(255,255,255,.86)}

.app-body .workspace-next-action{
  min-height:104px;
  padding:19px 21px;
  border-left:3px solid color-mix(in srgb,var(--role-accent) 68%,var(--theme-accent));
}
.app-body .workspace-next-action.is-terminal{border-left-color:var(--button-danger)}
.app-body .workspace-next-action.is-terminal .workspace-action-icon{color:var(--button-danger-strong);background:var(--danger-soft)}
.app-body .workspace-next-action>.status-badge{justify-self:end;white-space:nowrap}

.app-body .workflow-timeline-panel{overflow:hidden}
.app-body .full-workflow-timeline{
  grid-template-columns:repeat(auto-fit,minmax(min(260px,100%),1fr));
  gap:12px;
  padding:2px 20px 20px;
}
.app-body .workflow-timeline-step{min-height:96px;padding:14px 15px}
.app-body .workflow-timeline-step.halted{
  border-color:color-mix(in srgb,var(--button-danger) 35%,var(--line));
  background:color-mix(in srgb,var(--danger-soft) 68%,#fff);
  box-shadow:0 8px 22px rgba(126,45,48,.07);
}
.app-body .workflow-timeline-step.halted .timeline-number{color:#fff;background:var(--button-danger-strong)}
.app-body .workflow-timeline-step.halted i{position:absolute;left:15px;right:15px;bottom:-1px;height:3px;border-radius:4px;background:var(--button-danger)}

.app-body .assessment-step-panel>.assessor-led-list,
.app-body .panel>.stack-list{padding:2px 20px 20px}
.app-body .panel>.detail-list{display:grid;gap:0;padding:2px 20px 20px}
.app-body .panel>.detail-list>div{display:grid;gap:5px;padding:14px 0;border-top:1px solid var(--line-soft)}
.app-body .panel>.detail-list>div:first-child{border-top:0}
.app-body .panel>.detail-list span,
.app-body .panel>.detail-list dt{color:var(--ink-500);font-size:12px;font-weight:700;letter-spacing:.07em;text-transform:uppercase}
.app-body .panel>.detail-list strong,
.app-body .panel>.detail-list dd{margin:0;color:var(--navy-950);line-height:1.58;overflow-wrap:anywhere}
.app-body .document-editor-help{padding:20px}
.app-body .document-editor-help>.detail-list{margin:16px 0;padding:0}


.app-body .brand-copy{
  padding-left:0;
  border-left:0;
}

/* Authentication screens share the same institutional world. */
.login-page{
  padding:clamp(18px,3vw,42px);
  background:
    radial-gradient(circle at 8% 8%,rgba(var(--theme-primary-rgb),.11),transparent 28rem),
    radial-gradient(circle at 92% 92%,rgba(var(--theme-accent-rgb),.12),transparent 30rem),
    linear-gradient(135deg,#f7f6f2,var(--canvas) 58%,#edf0ef);
}
.login-page .login-shell{
  grid-template-columns:minmax(0,1.02fr) minmax(420px,.98fr);
  width:min(1180px,100%);
  min-height:min(650px,calc(100vh - 84px));
  border-color:rgba(11,36,52,.13);
  border-radius:26px;
  box-shadow:0 28px 80px rgba(7,23,34,.16),0 3px 10px rgba(7,23,34,.07);
}
.login-page .login-identity{
  min-height:600px;
  padding:clamp(42px,5vw,66px);
  background:
    radial-gradient(circle at 16% 0,rgba(var(--theme-accent-rgb),.16),transparent 31%),
    radial-gradient(circle at 100% 84%,rgba(var(--role-accent-rgb),.2),transparent 39%),
    linear-gradient(145deg,var(--navy-950),var(--navy-900) 58%,var(--navy-800));
}
.login-page .login-identity::before{
  opacity:.09;
  background-size:58px 58px;
}
.login-page .login-identity::after{
  right:-180px;
  bottom:-270px;
  width:570px;
  height:570px;
  border:0;
  background:radial-gradient(circle,rgba(var(--theme-accent-rgb),.08),transparent 66%);
  box-shadow:none;
}
.login-page .login-brand-centered{
  gap:22px;
}
.login-page .login-brand-logo{
  width:104px;
  height:104px;
  overflow:visible;
  border:0;
  border-radius:0;
  background:transparent;
  box-shadow:none;
}
.login-page .login-brand-logo::after{
  content:none;
}
.login-page .login-brand-logo img{
  padding:0;
  filter:drop-shadow(0 10px 18px rgba(2,14,22,.3));
}
.login-page .brand-emblem-light{
  width:86px;
  height:86px;
  flex-basis:86px;
  border-color:rgba(var(--theme-accent-rgb),.56);
}
.login-page .brand-emblem-light>span{
  font-size:34px;
}
.login-page .login-brand-copy-centered{
  gap:5px;
}
.login-page .login-brand-short{
  color:#fff;
  font-size:23px;
  font-weight:700;
  letter-spacing:.17em;
  line-height:1.15;
}
.login-page .login-brand-long{
  color:#a8bbc5;
  font-size:13px;
  font-weight:650;
  letter-spacing:.09em;
  line-height:1.45;
  text-transform:uppercase;
}
.login-page .login-brand-institution{
  margin-top:22px;
  color:#f8f5ee;
  font-size:clamp(30px,3vw,39px);
  font-weight:620;
  line-height:1.12;
}
.login-page .login-brand-tagline{
  max-width:430px;
  margin:13px 0 0;
  color:#b7c6cd;
  font-size:13.5px;
  font-weight:560;
  line-height:1.55;
  letter-spacing:.01em;
}
.login-brand-context{
  display:inline-flex;
  align-items:center;
  gap:8px;
  max-width:100%;
  margin-top:12px;
  padding:8px 12px;
  border:1px solid rgba(var(--theme-accent-rgb),.24);
  border-radius:999px;
  color:#c8d4da;
  background:rgba(255,255,255,.045);
  font-size:12px;
  font-weight:650;
  line-height:1.35;
}
.login-brand-context .ui-icon{
  color:var(--gold-300);
}
.login-page .login-access{
  padding:clamp(44px,5vw,66px);
  border-left:1px solid rgba(11,36,52,.06);
  background:linear-gradient(160deg,#fff 0%,#fff 62%,#f8f7f3 100%);
}
.login-page .login-access-inner{
  width:min(420px,100%);
}
.login-page .login-form-head{
  margin-bottom:28px;
}
.login-page .login-form-head h2{
  color:var(--navy-950);
  font-size:32px;
}
.login-page .login-form-head p{
  margin:9px auto 0;
  color:var(--ink-500);
  line-height:1.55;
}
.login-page .login-form{
  gap:18px;
}
.login-page .login-submit{
  justify-self:stretch;
  width:100%;
  min-height:48px;
}
.login-page .login-support{
  justify-content:space-between;
}
.auth-screen-password .login-form{
  gap:15px;
}


/* Cross-role visual consistency and responsive hardening. */
.app-body :is(.panel,.page-heading,.workspace-hero,.dashboard-hero,.assessment-hero,.decision-hero,.certificate-hero,.case-hero)>*{
  min-width:0;
}
.app-body :is(.panel,.page-heading) :is(h1,h2,h3,h4,p,strong,small,span){
  overflow-wrap:anywhere;
}

/* Standalone panels must use the same inner rhythm as headed panels. */
.app-body :is(
  .assessment-opening,
  .assessment-finalize-panel,
  .assessment-control-bar,
  .completion-banner,
  .success-panel,
  .muk-verification-success,
  .muk-task-explainer,
  .muk-digital-priority,
  .muk-simple-sync,
  .import-guide-panel
){
  padding:20px 22px;
}
.app-body :is(.completion-banner,.success-panel,.muk-verification-success)>span:first-child{
  flex:0 0 auto;
}
.app-body .schedule-readiness-guide>:is(.requirement-list,.inline-success){
  margin:0 20px 20px;
}
.app-body .assessment-completeness-panel>.callout{
  margin:16px 20px 20px;
}
.app-body .assessment-completeness-panel>.assessment-blocker-list{
  margin:2px 20px 20px;
}

/* Operational helper text remains readable across every role. */
.app-body :is(
  .quality-gates span,
  .approval-summary-grid p,
  .decision-history p,
  .approval-instruments small,
  .workflow-timeline p,
  .requirement-card header p,
  .admin-document-copy small,
  .readiness-summary-grid small,
  .import-payload small
){
  font-size:12px;
  line-height:1.45;
}


/* Semantic states never replace the institution theme. */
.app-body .workspace-hero.is-terminal{
  background:
    radial-gradient(circle at 92% 5%,rgba(var(--theme-accent-rgb),.2),transparent 28%),
    radial-gradient(circle at 4% 112%,rgba(var(--button-danger-rgb),.15),transparent 31%),
    linear-gradient(132deg,color-mix(in srgb,var(--theme-primary-strong) 82%,#071722),var(--theme-primary));
}
.app-body .result-hero.success{
  background:
    radial-gradient(circle at 90% 6%,rgba(var(--button-success-rgb),.16),transparent 28%),
    radial-gradient(circle at 8% 110%,rgba(var(--theme-accent-rgb),.13),transparent 30%),
    linear-gradient(132deg,color-mix(in srgb,var(--theme-primary-strong) 80%,#071722),var(--theme-primary));
}
.app-body .result-hero.danger{
  background:
    radial-gradient(circle at 90% 6%,rgba(var(--button-danger-rgb),.16),transparent 28%),
    radial-gradient(circle at 8% 110%,rgba(var(--theme-accent-rgb),.13),transparent 30%),
    linear-gradient(132deg,color-mix(in srgb,var(--theme-primary-strong) 80%,#071722),var(--theme-primary));
}

/* Pengajuan dan nomor pelacakan menjadi satu ruang kerja. */
.app-body .case-workspace{
  display:grid;
  grid-template-columns:minmax(0,1fr);
  gap:0;
  overflow:hidden;
  border:1px solid color-mix(in srgb,var(--theme-primary) 14%,var(--line));
  border-radius:var(--composition-radius-lg);
  background:rgba(255,255,255,.94);
  box-shadow:var(--premium-shadow);
}
.app-body .case-workspace>.case-queue{
  position:static;
  top:auto;
  max-height:none;
  overflow:visible;
  border:0;
  border-radius:0;
  background:transparent;
  box-shadow:none;
}
.app-body .case-workspace>.case-queue>.panel-head{
  background:linear-gradient(135deg,color-mix(in srgb,var(--theme-primary-soft) 58%,#fff),#fff);
}
.app-body .case-workspace>.case-queue>.panel-head .overline{
  font-size:0;
}
.app-body .case-workspace>.case-queue>.panel-head .overline::after{
  content:"Data pengajuan & nomor pelacakan";
  font-size:12px;
}
.app-body .case-workspace>.case-main{
  display:grid;
  gap:0;
  border-top:1px solid var(--line-soft);
}
.app-body .case-workspace>.case-main>.panel{
  margin:0;
  border:0;
  border-radius:0;
  box-shadow:none;
}
.app-body .case-workspace>.case-main>.case-hero{
  min-height:132px;
}
.app-body .case-workspace>.case-main>.case-thread{
  border-top:1px solid rgba(255,255,255,.12);
}
.app-body .case-workspace .is-selected-row{
  background:color-mix(in srgb,var(--theme-primary-soft) 58%,#fff);
  box-shadow:inset 4px 0 0 var(--theme-accent);
}
.app-body .case-workspace:has(.case-queue .table-empty)>.case-main{
  display:none;
}
.app-body .case-workspace .table-empty{
  min-height:210px;
}


/* Ruang kerja antrean lintas-role yang efisien dan konsisten. */

.app-body :is(.decision-queue,.recommendation-queue,.certificate-queue)>.panel-head{
  background:linear-gradient(135deg,color-mix(in srgb,var(--theme-primary-soft) 62%,#fff),#fff);
}
.app-body :is(.decision-workspace,.recommendation-workspace,.certificate-workspace) .is-selected-row{
  background:color-mix(in srgb,var(--theme-primary-soft) 58%,#fff);
  box-shadow:inset 4px 0 0 var(--theme-accent);
}
.app-body .decision-workspace:has(>.decision-queue .table-empty),
.app-body .recommendation-workspace:has(>.recommendation-queue .table-empty),
.app-body .certificate-workspace:has(>.certificate-queue .table-empty){
  grid-template-columns:minmax(0,1fr);
}
.app-body .decision-workspace:has(>.decision-queue .table-empty)>.decision-main,
.app-body .recommendation-workspace:has(>.recommendation-queue .table-empty)>.recommendation-main,
.app-body .certificate-workspace:has(>.certificate-queue .table-empty)>.certificate-main{
  display:none;
}
.app-body :is(.decision-workspace,.recommendation-workspace,.certificate-workspace):has(> :first-child .table-empty)>:first-child{
  position:static;
  top:auto;
  width:100%;
  max-width:none;
  max-height:none;
}


/* Compact task-first application shell contract. */
.app-body .page-stage{gap:14px}
.app-body .page-heading{min-height:88px;padding:16px 20px;border-radius:16px}
.app-body .page-heading h1{margin:3px 0 4px;font-size:clamp(24px,2vw,32px);line-height:1.12}
.app-body .page-heading p{max-width:760px;margin:0;color:var(--ink-600);-webkit-box-orient:vertical}
.app-body :is(.eyebrow,.overline){letter-spacing:.11em}
.app-body .panel-head{min-height:60px;gap:12px;padding:14px 18px}
.app-body .panel-head h2{margin:2px 0 3px;line-height:1.24}
.app-body .panel-head p{max-width:720px;margin:0;-webkit-box-orient:vertical}
.app-body :is(.dashboard-hero,.workspace-hero){min-height:210px;padding:26px 28px}
.app-body .dashboard-hero h1{font-size:clamp(31px,2.8vw,43px)}
.app-body .dashboard-hero p{margin-bottom:15px;font-size:13.5px;line-height:1.55}
.app-body :is(.assessment-hero,.ak01-hero,.recommendation-hero,.decision-hero,.certificate-hero,.case-hero,.result-hero){min-height:118px;gap:18px;padding:19px 22px}
.app-body .metric-grid{gap:12px}
.app-body .metric-card{min-height:104px;padding:15px 17px}
.app-body .metric-icon{width:41px;height:41px;border-radius:12px}
.app-body .metric-copy>strong{margin:5px 0 2px;font-size:29px}
.app-body :is(.form-grid,.form-stack){gap:14px;padding:18px}
.app-body .form-grid-2{column-gap:17px;row-gap:14px}
.app-body .field{gap:5px}
.app-body .form-actions{min-height:52px;gap:9px;margin-top:14px;padding-top:13px}
.app-body .data-table thead th{padding:10px 13px}
.app-body .data-table tbody td{padding:11px 13px}
.app-body .data-table td>small{margin-top:2px}
.app-body :is(.assessment-opening,.assessment-finalize-panel,.assessment-control-bar,.completion-banner,.success-panel,.muk-verification-success,.muk-task-explainer,.muk-digital-priority,.muk-simple-sync,.import-guide-panel){padding:17px 18px}


.app-body .sidebar{padding:14px 12px 12px}
.app-body .sidebar-nav{margin-top:1px;padding:5px 4px 10px}
.app-body .nav-group+.nav-group{margin-top:12px}
.app-body .nav-group-label{padding:0 10px 5px;letter-spacing:.13em}
.app-body .nav-group-collapsible[open]{padding:4px 2px 2px;border-radius:10px}
.app-body .nav-group-collapsible>.nav-group-label{padding:7px 9px}
.app-body .nav-group-items{padding-top:1px}
.app-body .nav-item{grid-template-columns:31px minmax(0,1fr) auto;gap:8px;margin:2px 0;padding:5px 9px 5px 6px;border-radius:10px}
.app-body .nav-icon{width:29px;height:29px;border-radius:8px}
.app-body .nav-icon .ui-icon{width:15px;height:15px}
.app-body .nav-copy small{display:none}
.app-body .sidebar-foot{gap:8px;padding:9px 5px 0}
.app-body .sidebar-security{width:30px;height:30px;border-radius:8px}
.app-body .sidebar-foot strong{font-size:12px}
.app-body .sidebar-foot span{display:none}
.app-body .topbar{margin-bottom:14px;padding:0 clamp(14px,2vw,24px);border-radius:16px}
.app-body .breadcrumb{gap:6px}
.app-body .topbar-context>small{margin-top:1px}
.app-body .topbar-actions{gap:6px}
.app-body .role-state{display:none}
.app-body .system-state:not(.is-pending){display:none}
.app-body .topbar-icon{width:36px;height:36px;border-radius:9px}
.app-body .account-trigger{grid-template-columns:34px minmax(0,1fr) 13px;gap:8px;min-width:0;min-height:42px;padding:4px 7px 4px 4px}
.app-body .avatar{width:34px;height:34px;font-size:14px}
.app-body .account-copy small{display:none}
.app-body .app-footer span,.app-body .app-footer small{color:var(--ink-500)}
.app-body .app-footer>div:first-child span{display:none}
.app-body .app-footer>div:last-child{gap:8px}

/* Persistent footer shell: mirrors the sticky header palette and geometry. */
.app-body .app-footer{position:sticky;bottom:0;z-index:29;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:18px;min-height:var(--footer-height);width:100%;margin:0;padding:9px clamp(14px,2vw,24px);overflow:hidden;border:1px solid rgba(255,255,255,.1);border-radius:16px;color:#8fa3af;background:radial-gradient(circle at 88% 160%,rgba(var(--theme-accent-rgb),.22),transparent 34%),linear-gradient(90deg,var(--navy-950),var(--navy-900) 58%,var(--navy-800));box-shadow:0 -10px 28px rgba(7,23,34,.14)}
.app-body .app-footer::before,.app-body .app-footer::after{content:none}
.app-body .app-footer>div{min-width:0}
.app-body .app-footer>div:first-child{justify-self:start}
.app-body .app-footer>div:last-child{justify-self:end}
.app-body .app-footer strong{color:#fff;font-weight:700;letter-spacing:.1em}
.app-body .app-footer span{overflow:visible;color:#c7d4da;font-size:12px;font-weight:650;text-overflow:clip;white-space:normal;overflow-wrap:anywhere}
.app-body .app-footer small{color:var(--gold-300);font-size:12px;font-weight:650}
.app-body .app-footer span+small{border-left-color:rgba(255,255,255,.14)}


/* Readability floor and natural wrapping across the application. */

.app-body .page-heading p,.app-body .panel-head p{max-width:100%;white-space:normal;overflow-wrap:anywhere;word-break:normal}
body.app-body{font-size:14px;line-height:1.55}
.app-body .nav-group-label{font-size:12px;line-height:1.35}
.app-body .nav-item{min-height:46px;font-size:13.5px;line-height:1.35}
.app-body .nav-label{overflow:visible;text-overflow:clip;white-space:normal;overflow-wrap:anywhere}
.app-body .topbar{min-height:62px}
.app-body .breadcrumb{font-size:12.5px;line-height:1.35}
.app-body .topbar-context>small{font-size:12px;line-height:1.35}
.app-body .account-copy{max-width:190px}
.app-body .account-copy strong{max-width:none;font-size:13px;line-height:1.35}
.app-body .page-heading p{display:block;overflow:visible;font-size:13.5px;line-height:1.55;-webkit-line-clamp:unset}
.app-body :is(.eyebrow,.overline){font-size:12px;line-height:1.4}
.app-body .panel-head h2{font-size:18px}
.app-body .panel-head p{display:block;overflow:visible;font-size:13px;line-height:1.55;-webkit-line-clamp:unset}
.app-body .field>span{font-size:12.5px;line-height:1.4}
.app-body .field-hint{font-size:12px;line-height:1.5}
.app-body .data-table thead th{font-size:12px;line-height:1.4;white-space:normal}
.app-body .data-table tbody td{font-size:13px;line-height:1.5}
.app-body .data-table td>small{font-size:12px;line-height:1.45}
.app-body .app-footer strong{font-size:12px}
.app-body .app-footer span,.app-body .app-footer small{font-size:12px;line-height:1.45}
.app-body :is(.topbar-context>small,.breadcrumb a,.breadcrumb strong,.account-copy strong,.account-copy small,.account-menu-copy small,.primary-cell strong,.primary-cell small,.table-title,.data-table td>strong,.data-table td>small,.team-card-copy h2,.document-list strong,.document-list small,.team-inline strong,.application-context-bar strong,.uploaded-document strong,.evidence-file strong,.ak01-plan-card strong,.ak01-plan-card small,.ak01-summary-grid strong,.ak01-summary-grid small,.assessment-queue-card strong,.assessment-queue-card small,.recommendation-queue-card strong,.decision-queue-card strong,.certificate-queue-card strong,.certificate-queue-card small,.case-queue-card strong,.case-queue-card small,.assessment-queue-person strong,.assessment-queue-person small,.assessment-answer-group>summary strong,.muk-instrument-title strong,.muk-profile-list-item small){overflow:visible;max-width:none;text-overflow:clip;white-space:normal;overflow-wrap:anywhere}


/* Kesiapan layanan: compact, actionable, and readable. */
.page-readiness .readiness-score-card>small{font-size:12px}
.page-readiness .next-handoff p{font-size:13px;line-height:1.5}
.page-readiness .readiness-step-title strong{font-size:14px}
.page-readiness .readiness-step-copy p{font-size:13px;line-height:1.5}
.page-readiness .readiness-step-copy>small,
.page-readiness .readiness-owner-wait{font-size:12px;line-height:1.45}
.page-readiness .service-flow-grid strong{font-size:13px}
.page-readiness .service-flow-grid small{font-size:12px;line-height:1.4}
.page-readiness .readiness-technical-link{display:inline-flex;align-items:center;gap:5px;align-self:flex-start;margin-top:10px;color:#fff;font-size:12px;font-weight:700;text-decoration:none;opacity:.9}
.page-readiness .readiness-technical-link:hover{opacity:1;text-decoration:underline}
.page-readiness .readiness-technical-link .ui-icon{width:14px;height:14px}


/* Manajer Sertifikasi: one readable and efficient composition across the role. */
.role-manajer-sertifikasi .filter-bar{gap:8px}
.role-manajer-sertifikasi .filter-bar :is(input,select,.button){min-height:42px}
.role-manajer-sertifikasi .data-table :is(th,td){overflow:visible;text-overflow:clip;white-space:normal}
.role-manajer-sertifikasi .data-table :is(strong,small,.record-link){max-width:none;overflow:visible;text-overflow:clip;white-space:normal;overflow-wrap:anywhere}
.role-manajer-sertifikasi .page-stage>.workflow-guidance{padding:15px 18px}
.role-manajer-sertifikasi.page-assignments .page-stage>.workflow-guidance{display:none}
.role-manajer-sertifikasi :is(.muk-context-nav,.workspace-tabs,.tab-list){scrollbar-width:thin}


/* Penyusunan MUK: compact context and visible working area on small screens. */
.role-manajer-sertifikasi.page-muk .muk-context-shell{margin-bottom:16px}
.role-manajer-sertifikasi.page-muk .muk-context-shell :is(strong,small,.muk-tab-state){
  max-width:none;
  overflow:visible;
  text-overflow:clip;
  white-space:normal;
  overflow-wrap:anywhere;
}
.role-manajer-sertifikasi.page-muk .muk-context-shell .muk-workflow-tabs>a,
.role-manajer-sertifikasi.page-muk .muk-context-shell .muk-workflow-tabs>span{min-width:0}
.role-manajer-sertifikasi.page-muk .muk-context-advanced{align-items:center}


/* Role Asesor: ritme baca konsisten dan ruang pengujian berorientasi tugas. */
.role-asesor .summary-rail,
.role-asesor .assessment-summary-rail{gap:11px;margin-bottom:16px}
.role-asesor .summary-rail article,
.role-asesor .assessment-summary-rail article{min-width:0;min-height:86px;padding:13px 14px}
.role-asesor .summary-rail article>div,
.role-asesor .assessment-summary-rail article>div{min-width:0}
.role-asesor .summary-rail small,
.role-asesor .assessment-summary-rail small{font-size:12px;line-height:1.4}
.role-asesor .summary-rail strong,
.role-asesor .assessment-summary-rail strong{font-size:25px;line-height:1.05}
.role-asesor .data-table :is(th,td){overflow:visible;text-overflow:clip;white-space:normal}
.role-asesor .data-table :is(strong,small,.record-link),
.role-asesor :is(.application-context-bar,.assessment-roster-schedule,.assessment-queue-person,.assessment-focus-nav,.ak01-summary-grid) :is(strong,small,span){
  max-width:none;
  overflow:visible;
  text-overflow:clip;
  white-space:normal;
  overflow-wrap:anywhere;
}
.role-asesor .application-context-bar>div{padding:14px 16px}
.role-asesor .assessment-hero{min-height:112px;padding:18px 21px}
.role-asesor .assessment-hero h2{font-size:clamp(25px,2.5vw,31px)}
.role-asesor .assessment-hero p{font-size:13px;line-height:1.5}
.role-asesor .assessment-hero-status{min-width:165px;padding:13px 15px}
.role-asesor .assessment-workspace{grid-template-columns:minmax(250px,285px) minmax(0,1fr);gap:16px}
.role-asesor .assessment-queue{top:calc(var(--topbar-height) + 14px)}
.role-asesor .assessment-queue-list{gap:7px;padding:7px}
.role-asesor .assessment-queue-item{gap:8px;padding:10px}
.role-asesor .assessment-queue-person strong{font-size:13px;line-height:1.35}
.role-asesor .assessment-queue-person small{font-size:12px;line-height:1.4}
.role-asesor .assessment-focus-nav-asesor{
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:6px;
  margin-bottom:14px;
  padding:7px;
}
.role-asesor .assessment-focus-nav>a{min-height:54px;padding:8px 9px}
.role-asesor .assessment-focus-nav strong{font-size:12.5px;line-height:1.3}
.role-asesor .assessment-focus-nav small{font-size:12px;line-height:1.35}
.role-asesor .assessment-current-task-large{gap:13px;margin-bottom:14px;padding:14px 16px}
.role-asesor .assessment-current-task-large strong{font-size:15px}
.role-asesor .assessment-current-task-large p{font-size:12.5px;line-height:1.5}
.role-asesor .assessment-combined-workspace{gap:14px;padding:14px}
.role-asesor .assessment-step-panel{scroll-margin-top:158px}
.role-asesor .assessment-roster-main{gap:14px}
.role-asesor .assessment-roster-schedule{padding:11px 12px}
.role-asesor.page-assignments .page-stage>.workflow-guidance{display:none}
.role-asesor :is(.assessment-focus-nav,.assessment-phase-steps,.table-wrap){scrollbar-width:thin}


/* Role Asesi: satu ritme dari permohonan sampai pelaksanaan dan hasil. */
.role-asesi .data-table :is(th,td){overflow:visible;text-overflow:clip;white-space:normal}
.role-asesi .data-table :is(strong,small,.record-link),
.role-asesi :is(.assessee-process-context,.application-context-bar,.wizard-nav,.assessment-focus-nav,.assessment-queue,.ak01-summary-grid,.assessee-schedule-card,.result-hero,.case-workspace) :is(strong,small,p){
  max-width:none;
  overflow:visible;
  text-overflow:clip;
  white-space:normal;
  overflow-wrap:anywhere;
}
.role-asesi .assessee-process-context{
  gap:9px;
  margin-bottom:14px;
  padding:13px 14px;
  border-radius:17px;
}
.role-asesi .assessee-process-summary{gap:12px}
.role-asesi .assessee-process-summary>div{gap:2px}
.role-asesi .assessee-process-summary strong{font-size:14px;line-height:1.4}
.role-asesi .assessee-process-summary small{font-size:12px;line-height:1.45}
.role-asesi .assessee-process-steps{gap:6px}
.role-asesi .assessee-process-step{gap:7px;min-height:48px;padding:8px 9px;border-radius:12px}
.role-asesi .assessee-process-step>span{width:26px;height:26px;flex-basis:26px;border-radius:8px}
.role-asesi .assessee-process-step strong{font-size:12px;line-height:1.3}
.role-asesi .assessee-process-next{gap:11px;padding:10px 12px;border-radius:13px}
.role-asesi .assessee-process-next>span{width:34px;height:34px;flex-basis:34px}
.role-asesi .assessee-process-next strong{font-size:13px;line-height:1.4}
.role-asesi .assessee-process-next p{font-size:12px;line-height:1.45}
.role-asesi .application-context-bar>div{padding:14px 16px}
.role-asesi .wizard-nav{gap:6px;padding:8px}
.role-asesi .wizard-nav button{min-height:62px;padding:9px}
.role-asesi .wizard-nav strong{font-size:13px;line-height:1.35}
.role-asesi .wizard-nav small{font-size:12px;line-height:1.35}
.role-asesi .guided-workspace.apl-workspace{grid-template-columns:215px minmax(0,1fr);gap:16px}
.role-asesi .profile-layout{grid-template-columns:270px minmax(0,1fr);gap:16px}
.role-asesi .profile-summary-card{top:calc(var(--topbar-height) + 14px);padding:22px 18px}
.role-asesi .profile-summary-card h2{margin-top:14px;font-size:22px}
.role-asesi .profile-summary-list{margin-top:17px}
.role-asesi .assessee-schedule-list{gap:14px}
.role-asesi .assessee-schedule-card>header{padding:18px 20px}
.role-asesi .assessee-schedule-card h2{font-size:23px}
.role-asesi .schedule-primary-info{padding:17px 20px}
.role-asesi .assessee-schedule-grid>div{padding:14px 16px}
.role-asesi .schedule-instructions{margin:14px 20px;padding:12px 13px}
.role-asesi .assessee-schedule-card>footer{padding:15px 20px}
.role-asesi .assessee-ak01-workspace{grid-template-columns:285px minmax(0,1fr);gap:16px}
.role-asesi .ak01-summary-grid{gap:9px}
.role-asesi .ak01-summary-grid article{padding:14px 15px}
.role-asesi .ak01-agreement-grid article{padding:16px 18px}
.role-asesi .assessment-workspace{grid-template-columns:minmax(250px,285px) minmax(0,1fr);gap:16px}
.role-asesi .assessment-queue{top:calc(var(--topbar-height) + 14px)}
.role-asesi .assessment-hero{min-height:112px;padding:18px 21px}
.role-asesi .assessment-hero h2{font-size:clamp(25px,2.5vw,31px)}
.role-asesi .assessment-hero p{font-size:13px;line-height:1.5}
.role-asesi .assessment-hero-status{min-width:165px;padding:13px 15px}
.role-asesi .assessment-focus-nav-asesi{grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;margin-bottom:14px;padding:7px}
.role-asesi .assessment-focus-nav>a{min-height:54px;padding:8px 9px}
.role-asesi .assessment-focus-nav strong{font-size:12.5px;line-height:1.3}
.role-asesi .assessment-focus-nav small{font-size:12px;line-height:1.35}
.role-asesi .assessment-current-task-large{gap:13px;margin-bottom:14px;padding:14px 16px}
.role-asesi .assessment-current-task-large strong{font-size:15px}
.role-asesi .assessment-current-task-large p{font-size:12.5px;line-height:1.5}
.role-asesi .assessment-step-panel{scroll-margin-top:158px}
.role-asesi .candidate-task-card{padding:14px 16px}
.role-asesi .candidate-response-card>summary{padding:14px 16px}
.role-asesi .result-hero{min-height:112px;padding:18px 21px}
.role-asesi .result-grid{gap:14px;margin-top:14px}
.role-asesi .result-detail{padding:16px}
.role-asesi .certificate-progress{margin-top:14px;padding:18px}
.role-asesi .case-workspace{gap:16px}
.role-asesi.page-application .page-stage>.workflow-guidance{display:none}
.role-asesi :is(.assessee-process-steps,.assessment-focus-nav,.wizard-nav,.table-wrap){scrollbar-width:thin}


/* Role Admin LSP: administrasi padat, terbaca, dan berorientasi antrean kerja. */
.role-admin-lsp .button{white-space:normal}
.role-admin-lsp .summary-note p{font-size:12px;line-height:1.48}
.role-admin-lsp .compact-metric-grid{gap:11px;margin-bottom:16px}
.role-admin-lsp .compact-metric-grid .metric-card{gap:13px;min-height:120px;padding:16px 17px}
.role-admin-lsp .compact-metric-grid .metric-icon{width:43px;height:43px}
.role-admin-lsp .compact-metric-grid .metric-copy>strong{font-size:30px}
.role-admin-lsp .compact-metric-grid .metric-copy>small{font-size:12px;line-height:1.45}
.role-admin-lsp .data-table :is(th,td){overflow:visible;text-overflow:clip;white-space:normal}
.role-admin-lsp .data-table :is(strong,small,.primary-cell strong,.primary-cell small,.table-title,.table-subtext),
.role-admin-lsp :is(.verification-overview,.verification-layout,.workspace-hero,.workspace-next-action,.workspace-facts-grid,.recommendation-workspace,.certificate-detail-stack,.report-section,.report-two-column) :is(strong,small,p){
  max-width:none;
  overflow:visible;
  text-overflow:clip;
  white-space:normal;
  overflow-wrap:anywhere;
}
.role-admin-lsp .table-wrap{scrollbar-width:thin}
.role-admin-lsp .filter-bar{gap:8px}
.role-admin-lsp .filter-bar :is(input,select,.custom-select-control,.custom-search-control){font-size:12.5px}
.role-admin-lsp .row-actions,.role-admin-lsp .table-actions{flex-wrap:wrap;gap:7px}
.role-admin-lsp .verification-overview{grid-template-columns:minmax(0,1.15fr) minmax(280px,.85fr);gap:14px;margin-bottom:14px}
.role-admin-lsp .verification-score,.role-admin-lsp .application-identity-card{min-width:0;padding:17px 18px}
.role-admin-lsp .verification-score{gap:16px}
.role-admin-lsp .verification-score h2{font-size:22px}
.role-admin-lsp .application-identity-card h2{font-size:21px}
.role-admin-lsp .verification-layout{grid-template-columns:minmax(0,1fr) 286px;gap:15px}
.role-admin-lsp .verification-main,.role-admin-lsp .verification-sidebar{gap:14px}
.role-admin-lsp .verification-sidebar{position:sticky;top:var(--content-sticky-top,10px)}
.role-admin-lsp .detail-section .detail-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;padding:16px 18px}
.role-admin-lsp .detail-section .detail-grid>div{min-width:0}
.role-admin-lsp .checklist-panel{padding:12px 14px}
.role-admin-lsp .check-status{min-height:42px;font-size:12px;line-height:1.4}
.role-admin-lsp .review-action-stack{gap:8px}
.role-admin-lsp .signed-snapshot-card{gap:12px;padding:14px}
.role-admin-lsp .workspace-hero{align-items:center;gap:18px;min-height:0;padding:20px 22px}
.role-admin-lsp .workspace-hero h1{font-size:clamp(25px,2.4vw,32px);line-height:1.15}
.role-admin-lsp .workspace-hero p{font-size:12.5px;line-height:1.5}
.role-admin-lsp .workspace-status-line{gap:8px;margin-top:10px}
.role-admin-lsp .workspace-next-action{gap:13px;margin-bottom:14px;padding:14px 16px}
.role-admin-lsp .workspace-action-icon{width:44px;height:44px;border-radius:13px}
.role-admin-lsp .workspace-next-action h2{font-size:19px}
.role-admin-lsp .workspace-next-action p{font-size:12px;line-height:1.5}
.role-admin-lsp .workspace-quick-links{gap:7px;margin-bottom:14px}
.role-admin-lsp .workspace-quick-links a{min-height:40px;padding:8px 11px;font-size:12.5px}
.role-admin-lsp .workspace-facts-grid{gap:11px;margin-bottom:14px}
.role-admin-lsp .workspace-facts-grid .panel{padding:14px}
.role-admin-lsp .workspace-facts-grid h3{font-size:14px;line-height:1.4}
.role-admin-lsp .workspace-facts-grid p{font-size:12px;line-height:1.5}
.role-admin-lsp .recommendation-workspace{grid-template-columns:290px minmax(0,1fr);gap:15px}
.role-admin-lsp .recommendation-queue{top:calc(var(--topbar-height) + 14px)}
.role-admin-lsp .cancellation-review-hero{padding:18px 20px}
.role-admin-lsp .cancellation-review-hero h2{font-size:22px}
.role-admin-lsp .decision-panel{gap:16px;padding:18px 20px}
.role-admin-lsp .decision-panel h2{font-size:20px}
.role-admin-lsp .decision-panel p{font-size:12.5px;line-height:1.5}
.role-admin-lsp .certificate-detail-stack{gap:14px}
.role-admin-lsp .certificate-table{min-width:980px}
.role-admin-lsp .certificate-record-table{min-width:760px}
.role-admin-lsp .certificate-note-row{padding:14px 17px}
.role-admin-lsp .workspace-next-action.is-waiting-state{padding-block:13px}
.role-admin-lsp .archive-heading-actions{justify-content:flex-end}
.role-admin-lsp .archive-directory-filter{align-items:center}
.role-admin-lsp .archive-more-filter-grid{gap:7px;padding:9px}
.role-admin-lsp .archive-table-panel+.info-callout{margin-top:0}
.role-admin-lsp .report-filter-panel{margin-bottom:14px;padding:15px}
.role-admin-lsp .report-filter-grid{gap:9px}
.role-admin-lsp .report-metric-grid{gap:9px;margin-bottom:14px}
.role-admin-lsp .report-metric-grid article{gap:5px;min-width:0;min-height:112px;padding:14px}
.role-admin-lsp .report-metric-grid article>span{width:34px;height:34px}
.role-admin-lsp .report-metric-grid small{font-size:12px;line-height:1.35}
.role-admin-lsp .report-metric-grid strong{font-size:27px}
.role-admin-lsp .report-two-column{gap:14px}


/* Role Koordinator TUK: satu ruang kerja kesiapan yang padat dan mudah dipindai. */
.role-koordinator-tuk .button{white-space:normal}
.role-koordinator-tuk .data-table :is(th,td){overflow:visible;text-overflow:clip;white-space:normal}
.role-koordinator-tuk .data-table :is(strong,small,.table-file-link),
.role-koordinator-tuk :is(.readiness-hero,.readiness-summary-grid,.assignment-toolbar,.readiness-approval-panel,.signed-readiness-panel) :is(strong,small,p){
  max-width:none;
  overflow:visible;
  text-overflow:clip;
  white-space:normal;
  overflow-wrap:anywhere;
}
.role-koordinator-tuk .assignment-toolbar{
  align-items:center;
  gap:12px;
  margin-bottom:14px;
  padding:12px 14px;
}
.role-koordinator-tuk .assignment-toolbar .filter-bar{flex:1;justify-content:flex-start}
.role-koordinator-tuk .assignment-toolbar .filter-bar label{width:min(680px,100%)}
.role-koordinator-tuk .assignment-toolbar :is(select,.custom-select-control){width:100%;max-width:none}
.role-koordinator-tuk .readiness-hero{
  grid-template-columns:minmax(0,1.5fr) minmax(230px,.5fr);
  gap:15px;
  margin-bottom:14px;
  padding:20px 22px;
}
.role-koordinator-tuk .readiness-hero-copy :is(h1,h2){margin:5px 0 8px;font-size:clamp(27px,2.7vw,35px);line-height:1.12}
.role-koordinator-tuk .readiness-hero-copy p{font-size:13px;line-height:1.55}
.role-koordinator-tuk .hero-meta{gap:8px 15px;margin-top:12px;font-size:12px;line-height:1.45}
.role-koordinator-tuk .readiness-score-card{padding:16px 17px;border-radius:15px}
.role-koordinator-tuk .readiness-score-card>strong{margin:5px 0 9px;font-size:42px}
.role-koordinator-tuk .readiness-score-card>small{font-size:12px;line-height:1.45}
.role-koordinator-tuk .readiness-summary-grid{gap:9px;margin-bottom:14px}
.role-koordinator-tuk .readiness-summary-grid article{min-width:0;min-height:86px;padding:13px 14px}
.role-koordinator-tuk .readiness-summary-grid span{font-size:12px;line-height:1.35}
.role-koordinator-tuk .readiness-summary-grid strong{font-size:19px;line-height:1.2}
.role-koordinator-tuk .readiness-summary-grid small{font-size:12px;line-height:1.4}
.role-koordinator-tuk .bulk-check-toolbar{gap:12px;margin:0;padding:11px 14px;border-width:0 0 1px;border-radius:0}
.role-koordinator-tuk .bulk-check-status{max-width:520px;font-size:12px;line-height:1.45}
.role-koordinator-tuk [data-tuk-bulk-form] .data-table select{min-width:145px;width:100%}
.role-koordinator-tuk [data-tuk-bulk-form] .data-table textarea{min-width:210px;width:100%;min-height:66px;padding:9px 10px;font-size:12px;line-height:1.45;resize:vertical}
.role-koordinator-tuk [data-tuk-bulk-form] .data-table td:first-child{min-width:215px}
.role-koordinator-tuk [data-tuk-bulk-form] .data-table td:nth-child(4){min-width:230px}
.role-koordinator-tuk .table-wrap{overflow-x:auto;scrollbar-width:thin}
.role-koordinator-tuk .table-file-link{display:inline-flex;align-items:flex-start;gap:6px;line-height:1.4;overflow-wrap:anywhere}
.role-koordinator-tuk .panel-footer-actions{gap:14px;padding:13px 16px}
.role-koordinator-tuk .panel-footer-actions small{font-size:12px;line-height:1.45}
.role-koordinator-tuk .readiness-approval-panel{gap:18px;margin-top:14px;padding:18px 20px}
.role-koordinator-tuk .readiness-approval-panel h2{font-size:21px}
.role-koordinator-tuk .readiness-approval-panel p{font-size:12.5px;line-height:1.5}
.role-koordinator-tuk .signed-readiness-panel{gap:13px;padding:15px 17px}


/* Role Tim Keputusan: ringkas, independen, dan tetap terbaca pada setiap state. */
.role-tim-keputusan .page-heading>.filter-bar{flex:0 1 320px}
.role-tim-keputusan .button{white-space:normal}
.role-tim-keputusan .decision-workspace{
  grid-template-columns:minmax(390px,.8fr) minmax(0,1.2fr);
  gap:15px;
}
.role-tim-keputusan .decision-queue{
  top:calc(var(--topbar-height) + 14px);
  overflow:hidden;
}
.role-tim-keputusan .decision-main{gap:14px}
.role-tim-keputusan .decision-hero{
  min-height:112px;
  gap:18px;
  padding:19px 21px;
}
.role-tim-keputusan .decision-hero>div:first-child{min-width:0}
.role-tim-keputusan .decision-hero h2{margin:4px 0 6px;font-size:clamp(27px,2.7vw,34px);line-height:1.12}
.role-tim-keputusan .decision-hero p{font-size:13.5px;line-height:1.5;overflow-wrap:anywhere}
.role-tim-keputusan .recommendation-result{
  min-width:190px;
  padding:13px 15px;
  border-radius:14px;
}
.role-tim-keputusan .recommendation-result span{font-size:12px;line-height:1.35}
.role-tim-keputusan .recommendation-result strong{font-size:20px;line-height:1.25}
.role-tim-keputusan .recommendation-result small{font-size:12px;line-height:1.4}
.role-tim-keputusan .decision-summary-grid{gap:10px;padding:15px}
.role-tim-keputusan .decision-summary-grid article{min-width:0;padding:14px;border-radius:14px}
.role-tim-keputusan .decision-summary-grid small{font-size:12px;line-height:1.4}
.role-tim-keputusan .decision-summary-grid strong{font-size:14px;line-height:1.4}
.role-tim-keputusan .decision-summary-grid p{font-size:13px;line-height:1.58}
.role-tim-keputusan .data-table :is(th,td){overflow:visible;text-overflow:clip;white-space:normal}
.role-tim-keputusan .data-table tbody td{font-size:13px;line-height:1.5}
.role-tim-keputusan .data-table :is(strong,small),
.role-tim-keputusan :is(.page-heading,.decision-hero,.decision-summary-grid,.decision-action-panel,.signature-comparison) :is(strong,small,p){
  max-width:none;
  overflow:visible;
  text-overflow:clip;
  white-space:normal;
  overflow-wrap:anywhere;
}
.role-tim-keputusan .decision-action-panel{gap:18px;padding:18px 20px}
.role-tim-keputusan .decision-action-panel>div{min-width:0}
.role-tim-keputusan .decision-action-panel h2{margin:4px 0 6px;font-size:21px;line-height:1.25}
.role-tim-keputusan .decision-action-panel p{font-size:13px;line-height:1.5}
.role-tim-keputusan .decision-final-note{padding:0 18px 18px;font-size:13.5px;line-height:1.6}
.role-tim-keputusan .signature-status-grid.single{padding:0 18px 18px}


/* Role Ketua LSP: concise, readable approval workspaces */
.role-ketua-lsp :is(.status,.status-badge){
  max-width:100%;
  white-space:normal;
}
.role-ketua-lsp .segmented-nav{display:flex;flex-wrap:wrap;gap:8px}
.role-ketua-lsp .data-table :is(th,td){
  overflow:visible;
  white-space:normal;
  text-overflow:clip;
}
.role-ketua-lsp .data-table td{font-size:13px;line-height:1.45}
.role-ketua-lsp :is(
  .data-table td,
  .data-table strong,
  .data-table small,
  .approval-copy p,
  .decision-hero p,
  .certificate-hero p,
  .decision-summary p,
  .review-detail-card p,
  .info-callout p
){
  overflow:visible;
  overflow-wrap:anywhere;
  white-space:normal;
  text-overflow:clip;
}
.role-ketua-lsp .summary-note p{font-size:12.5px;line-height:1.45}
.role-ketua-lsp .scheme-review-header{
  gap:16px;
  min-height:0;
  padding:18px 20px;
}
.role-ketua-lsp .scheme-review-header h2{font-size:clamp(22px,2vw,28px)}
.role-ketua-lsp .scheme-review-header p{font-size:13px;line-height:1.5}
.role-ketua-lsp .scheme-identity{min-width:0}
.role-ketua-lsp .scheme-identity :is(h2,p){overflow-wrap:anywhere}
.role-ketua-lsp .review-detail-grid{gap:12px;margin-bottom:14px}
.role-ketua-lsp .review-detail-card{padding:15px 17px}
.role-ketua-lsp .review-detail-card p{font-size:13px;line-height:1.55}

.role-ketua-lsp .approval-layout{
  grid-template-columns:minmax(260px,.58fr) minmax(0,1.42fr);
  gap:15px;
}
.role-ketua-lsp .approval-queue{top:calc(var(--app-header-height) + 14px)}
.role-ketua-lsp .approval-workspace{gap:14px}
.role-ketua-lsp .approval-hero{
  grid-template-columns:minmax(0,1fr) 116px;
  min-height:180px;
  padding:23px 25px;
  border-radius:18px;
}
.role-ketua-lsp .approval-copy h2{
  font-size:clamp(28px,3vw,36px);
  line-height:1.12;
}
.role-ketua-lsp .approval-copy p{font-size:13px;line-height:1.55}
.role-ketua-lsp .approval-seal{width:108px;height:108px}
.role-ketua-lsp .approval-summary-grid{gap:10px}
.role-ketua-lsp .approval-summary-card{min-height:88px;padding:14px 15px}
.role-ketua-lsp .approval-summary-card p{font-size:12.5px;line-height:1.45}
.role-ketua-lsp .approval-primary-action{
  gap:18px;
  padding:18px 20px;
}
.role-ketua-lsp .approval-primary-action h2{font-size:19px;line-height:1.3}
.role-ketua-lsp .approval-primary-action p{font-size:12.75px;line-height:1.5}

.role-ketua-lsp .decision-workspace{
  grid-template-columns:minmax(330px,.8fr) minmax(0,1.2fr);
  gap:15px;
}
.role-ketua-lsp .certificate-workspace{
  grid-template-columns:minmax(350px,.86fr) minmax(0,1.14fr);
  gap:15px;
}
.role-ketua-lsp :is(.decision-queue,.certificate-queue){
  top:calc(var(--app-header-height) + 14px);
}
.role-ketua-lsp :is(.decision-main,.certificate-main){gap:13px}
.role-ketua-lsp :is(.decision-hero,.certificate-hero){
  min-height:112px;
  padding:19px 21px;
}
.role-ketua-lsp :is(.decision-hero,.certificate-hero) h2{
  font-size:clamp(27px,2.8vw,34px);
  line-height:1.14;
}
.role-ketua-lsp :is(.decision-hero,.certificate-hero) p{
  font-size:13.5px;
  line-height:1.5;
}
.role-ketua-lsp .recommendation-result{min-height:0;padding:15px 17px}
.role-ketua-lsp .decision-summary{gap:10px;padding:15px 17px}
.role-ketua-lsp .decision-summary p{font-size:13px;line-height:1.5}
.role-ketua-lsp :is(.decision-action-panel,.certificate-action-panel){
  gap:18px;
  padding:18px 20px;
}
.role-ketua-lsp :is(.decision-action-panel,.certificate-action-panel) h2{
  font-size:19px;
  line-height:1.3;
}
.role-ketua-lsp :is(.decision-action-panel,.certificate-action-panel) p{
  font-size:12.75px;
  line-height:1.5;
}
.role-ketua-lsp .approval-complete{gap:13px;padding:17px 19px}
.role-ketua-lsp .detail-grid{gap:10px}
.role-ketua-lsp .detail-grid article{padding:13px 15px}
.role-ketua-lsp .detail-grid p{font-size:13px;line-height:1.45}
.role-ketua-lsp .info-callout{padding:14px 16px}
.role-ketua-lsp .info-callout p{font-size:12.5px;line-height:1.5}

.role-ketua-lsp .report-filter{gap:10px;padding:14px 16px}
.role-ketua-lsp .performance-metrics{gap:10px}
.role-ketua-lsp .performance-metrics article{min-height:98px;padding:15px 17px}
.role-ketua-lsp .performance-metrics strong{font-size:25px}
.role-ketua-lsp .report-columns{gap:14px}


/* Role Manajer Mutu: readable, compact quality-control workspaces */
.role-manajer-mutu .page-heading .heading-code{font-size:.48em;white-space:nowrap}
.role-manajer-mutu :is(.button,.status,.status-badge){max-width:100%;white-space:normal}
.role-manajer-mutu .data-table :is(th,td){overflow:visible;white-space:normal;text-overflow:clip}
.role-manajer-mutu .data-table td{font-size:13px;line-height:1.45}
.role-manajer-mutu :is(.data-table strong,.data-table small,.table-main-text,.table-subtext,.recommendation-hero p,.cancellation-review-hero p,.case-hero p,.case-thread p,.recommendation-read-grid p,.detail-list strong,.decision-panel p,.case-action-panel p){
  overflow:visible;max-width:none;overflow-wrap:anywhere;white-space:normal;text-overflow:clip
}
.role-manajer-mutu .summary-note p{font-size:12.5px;line-height:1.45}
.role-manajer-mutu .filter-bar{gap:8px}
.role-manajer-mutu .filter-bar :is(input,select,.button){min-height:41px}
.role-manajer-mutu .validation-layout{grid-template-columns:minmax(270px,.58fr) minmax(0,1.42fr);gap:15px}
.role-manajer-mutu .recommendation-workspace{grid-template-columns:minmax(300px,.68fr) minmax(0,1.32fr);gap:15px}
.role-manajer-mutu .case-workspace{grid-template-columns:minmax(330px,.76fr) minmax(0,1.24fr);gap:15px}
.role-manajer-mutu :is(.validation-queue,.recommendation-queue,.case-queue){top:calc(var(--app-header-height) + 14px)}
.role-manajer-mutu :is(.validation-workspace,.recommendation-main,.case-main){gap:13px}
.role-manajer-mutu .validation-hero{gap:14px;padding:19px 21px}
.role-manajer-mutu .validation-hero h2{font-size:clamp(25px,2.5vw,31px);line-height:1.16}
.role-manajer-mutu .validation-hero p{font-size:13px;line-height:1.5}
.role-manajer-mutu .validation-metrics>div{padding:11px 13px}
.role-manajer-mutu .validation-metrics strong{font-size:21px}
.role-manajer-mutu .validation-metrics span{font-size:12px}
.role-manajer-mutu .quality-gates{gap:10px}
.role-manajer-mutu .quality-gates article{gap:9px;min-height:92px;padding:14px}
.role-manajer-mutu .quality-gates strong{font-size:12.5px;line-height:1.4}
.role-manajer-mutu .quality-gates span{font-size:12px;line-height:1.4}
.role-manajer-mutu .recommendation-hero{gap:16px;min-height:116px;padding:19px 21px}
.role-manajer-mutu .recommendation-hero h2{font-size:clamp(27px,2.8vw,34px);line-height:1.14}
.role-manajer-mutu .recommendation-hero p{font-size:13.5px;line-height:1.5}
.role-manajer-mutu .recommendation-result{min-width:205px;padding:13px 15px}
.role-manajer-mutu .recommendation-result strong{font-size:19px}
.role-manajer-mutu .recommendation-read-grid{gap:10px;padding:15px}
.role-manajer-mutu .recommendation-read-grid article{padding:13px 14px}
.role-manajer-mutu .recommendation-read-grid p{font-size:13px;line-height:1.55}
.role-manajer-mutu .preview-counts{display:flex;flex-wrap:wrap;gap:7px}
.role-manajer-mutu .panel-footer-actions{gap:9px;padding:13px 16px}
.role-manajer-mutu .signature-status-grid article{min-height:155px;padding:16px}
.role-manajer-mutu .signature-status-grid img{height:72px}
.role-manajer-mutu .cancellation-review-hero{gap:16px;padding:18px 20px}
.role-manajer-mutu .cancellation-review-hero h2{font-size:22px;line-height:1.25}
.role-manajer-mutu .cancellation-review-hero p{font-size:13px;line-height:1.5}
.role-manajer-mutu .detail-list>div{gap:12px;padding:13px 16px}
.role-manajer-mutu .detail-list span{font-size:12px}
.role-manajer-mutu .detail-list strong{font-size:13px;line-height:1.5}
.role-manajer-mutu .decision-panel{gap:18px;padding:18px 20px}
.role-manajer-mutu .decision-panel h2{font-size:20px;line-height:1.3}
.role-manajer-mutu .decision-panel p{font-size:12.75px;line-height:1.5}
.role-manajer-mutu .case-hero{gap:16px;min-height:116px;padding:19px 21px}
.role-manajer-mutu .case-hero h2{font-size:clamp(26px,2.6vw,32px);line-height:1.16}
.role-manajer-mutu .case-hero p{font-size:13.5px;line-height:1.5}
.role-manajer-mutu .case-thread .panel-head{padding-bottom:14px}
.role-manajer-mutu .case-reply-form{gap:10px;padding:15px 18px}
.role-manajer-mutu .case-action-panel{gap:18px;padding:18px 20px}
.role-manajer-mutu .case-action-panel h2{font-size:20px;line-height:1.3}
.role-manajer-mutu .case-action-panel p{font-size:12.75px;line-height:1.5}


/* Dynamic assessment-day workflow */
.assessment-flow-panel{scroll-margin-top:96px}
.assessment-flow-list{display:grid;gap:10px}
.assessment-flow-row{
  display:grid;grid-template-columns:82px minmax(0,1fr) auto;gap:14px;align-items:center;
  padding:14px;border:1px solid var(--line-soft);border-radius:16px;background:var(--surface,#fff);
  transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease
}
.assessment-flow-row.is-active{border-color:var(--primary-300,#8fb6ff);box-shadow:0 0 0 3px rgba(37,99,235,.08),var(--shadow-xs);transform:translateY(-1px)}
.assessment-flow-row.is-done:not(.is-active){background:var(--surface-soft)}
.assessment-flow-position{display:grid;gap:5px;color:var(--ink-500);font-size:12px;font-weight:700;letter-spacing:.06em;text-transform:uppercase}
.assessment-flow-position input{width:64px;padding:8px 10px;text-align:center;font-weight:700}
.assessment-flow-copy{display:grid;gap:4px;min-width:0}
.assessment-flow-copy>div,.assessment-runtime-code-line,.candidate-task-code-line{display:flex;gap:7px;align-items:center;flex-wrap:wrap}
.assessment-flow-copy>strong{font-size:15px;line-height:1.35}
.assessment-flow-copy>small{color:var(--ink-500);line-height:1.45}
.assessment-flow-actions{display:flex;gap:8px;align-items:center;justify-content:flex-end;flex-wrap:wrap}
.assessment-flow-actions form{margin:0}
.assessment-flow-save{display:flex;justify-content:space-between;gap:14px;align-items:center;margin-top:12px;padding-top:12px;border-top:1px solid var(--line-soft)}
.assessment-flow-save>span{color:var(--ink-500);font-size:12px}
.assessment-runtime-instrument.is-active{border-color:var(--primary-300,#8fb6ff);box-shadow:0 0 0 3px rgba(37,99,235,.07),var(--shadow-sm)}
.assessment-objective-summary{
  grid-column:1/-1;display:flex;justify-content:space-between;align-items:center;gap:12px;
  margin-top:10px;padding:12px 14px;border:1px solid var(--line-soft);border-radius:14px;background:var(--surface-soft)
}
.assessment-objective-summary>div{display:grid;grid-template-columns:auto 1fr;column-gap:9px;align-items:center}
.assessment-objective-summary>div>span{grid-row:1/3}
.assessment-objective-summary small{color:var(--ink-500)}
.assessment-observation-checklist{grid-column:1/-1;margin-top:10px;border:1px solid var(--line-soft);border-radius:15px;overflow:hidden;background:#fff}
.assessment-observation-checklist>summary{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px;cursor:pointer;background:var(--surface-soft)}
.assessment-observation-checklist>summary>div{display:grid;gap:3px}
.assessment-observation-checklist>summary small{color:var(--ink-500);font-weight:500}
.assessment-observation-form{padding:14px}
.observation-checklist-list{display:grid;gap:9px}
.observation-checklist-item{
  display:grid;grid-template-columns:minmax(0,1fr) minmax(320px,auto);gap:14px;align-items:center;
  padding:12px;border:1px solid var(--line-soft);border-radius:13px
}
.observation-criterion{display:grid;gap:3px;min-width:0}
.observation-criterion>small{color:var(--ink-500);font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.05em}
.observation-criterion>strong{font-size:12px}
.observation-criterion>p{margin:0;line-height:1.45}
.observation-choice-group{display:flex;gap:7px;align-items:center;justify-content:flex-end;flex-wrap:wrap}
.observation-choice-group label{cursor:pointer}
.observation-choice-group input{position:absolute;opacity:0;pointer-events:none}
.observation-choice-group span{
  display:inline-flex;align-items:center;gap:5px;min-height:36px;padding:7px 11px;
  border:1px solid var(--line-soft);border-radius:10px;background:#fff;font-size:12px;font-weight:700
}
.observation-choice-group input:checked+span{border-color:var(--primary-400,#5b8def);background:var(--surface-soft);box-shadow:0 0 0 2px rgba(37,99,235,.08)}
.observation-choice-group .choice-yes input:checked+span{border-color:#81c995}
.observation-choice-group .choice-no input:checked+span{border-color:#f0a09a}
.observation-note-field{margin-top:12px}
.assessment-auto-score-result{margin-top:10px}
.candidate-task-card.is-inactive,.candidate-response-card.is-inactive,.assessor-led-list article.is-inactive{opacity:.72}
.candidate-task-card.is-active,.candidate-response-card.is-active,.assessor-led-list article.is-active{
  opacity:1;border-color:var(--primary-300,#8fb6ff);box-shadow:0 0 0 3px rgba(37,99,235,.07),var(--shadow-xs)
}
#assessment-active-work,#assessment-instruments,#assessor-led,[id^="instrument-"]{scroll-margin-top:96px}


/* 10–15 Asesi workspace + PDF hasil praktik */
.candidate-task-card-with-files{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:start}
.candidate-task-card-with-files .candidate-practice-upload{grid-column:1/-1;margin-top:4px;padding-top:12px;border-top:1px solid var(--border);display:grid;gap:10px}
.candidate-practice-upload-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}
.candidate-practice-upload-head strong{display:flex;align-items:center;gap:7px;color:var(--navy-900)}
.candidate-practice-upload-head strong small{font-size:.75rem;font-weight:700;letter-spacing:.04em;color:var(--muted)}
.candidate-practice-upload-head p{margin:3px 0 0;max-width:760px}
.candidate-practice-upload-form{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:10px}
.candidate-practice-upload-form .field{margin:0}
.candidate-practice-waiting{color:var(--muted)}
.assessment-practice-submission{grid-column:2/-1;margin-top:8px;padding:12px;border:1px solid var(--border);border-radius:12px;background:var(--surface)}
.assessment-practice-submission.has-files{border-color:color-mix(in srgb,var(--success) 24%,var(--border));background:color-mix(in srgb,var(--success-soft) 24%,var(--surface))}
.assessment-practice-submission-head,.assessment-practice-submission-head>div{display:flex;align-items:center;gap:10px}
.assessment-practice-submission-head{justify-content:space-between}
.assessment-practice-submission-head strong,.assessment-practice-submission-head small{display:block}
.assessment-practice-submission-head small{margin-top:2px;color:var(--muted)}
.assessment-practice-submission .candidate-uploaded-files{margin-top:10px}
.assessment-assessee-nav{gap:7px}


/* Asesi onboarding: Pas Foto + Tanda Tangan */
.asesi-onboarding-panel{margin-bottom:20px;overflow:hidden}
.asesi-onboarding-steps{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;padding:20px 22px}
.asesi-onboarding-step{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:14px;padding:16px;border:1px solid var(--border-soft);border-radius:16px;background:var(--surface);color:inherit;text-decoration:none;transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease}
.asesi-onboarding-step:hover{transform:translateY(-1px);border-color:rgba(var(--theme-primary-rgb),.3);box-shadow:var(--shadow-soft)}
.asesi-onboarding-step.is-active{border-color:rgba(var(--button-warning-rgb),.35);background:var(--button-warning-soft)}
.asesi-onboarding-step.is-done{border-color:rgba(var(--button-success-rgb),.28);background:var(--button-success-soft)}
.asesi-onboarding-number{display:grid;place-items:center;width:42px;height:42px;border-radius:13px;background:var(--surface-strong);font-weight:700;color:var(--ink-800)}
.asesi-onboarding-step.is-done .asesi-onboarding-number{background:rgba(var(--button-success-rgb),.14);color:var(--button-success-strong)}
.asesi-onboarding-step.is-active .asesi-onboarding-number{background:rgba(var(--button-warning-rgb),.14);color:var(--button-warning-strong)}
.asesi-onboarding-step>div{display:flex;min-width:0;flex-direction:column;gap:3px}.asesi-onboarding-step strong{font-family:var(--font-display);font-size:16px;color:var(--ink-900)}.asesi-onboarding-step small{color:var(--ink-600);line-height:1.5}
.onboarding-result{margin:0 22px 22px}.onboarding-result .button{margin-left:auto}
.profile-photo-avatar>img{object-position:center 30%}


/* ==========================================================================
   Assessment Focus Workspace
   The assessment day uses the same calm panel language as the rest of SAKTI,
   while exposing only one primary job at a time for Asesi and Asesor.
   ========================================================================== */
.assessment-runtime-page{--assessment-focus:#173f61;--assessment-focus-soft:#f1f7fa;gap:16px}
.assessment-runtime-page-asesi{grid-template-columns:minmax(0,1fr)}
.assessment-runtime-page-asesi>.assessment-queue{position:static;max-height:none;overflow:visible}
.assessment-runtime-page-asesi .assessment-queue-body{padding-top:2px}
.assessment-runtime-page .assessment-queue{border-color:var(--premium-border);box-shadow:0 8px 22px rgba(8,29,42,.045)}
.assessment-runtime-page .assessment-queue-disclosure>summary{min-height:58px;padding:12px 15px}
.assessment-runtime-page .assessment-queue-disclosure>summary>span:first-child{width:34px;height:34px;border-radius:11px;background:var(--role-accent-soft);color:var(--primary)}
.assessment-runtime-page .assessment-queue-disclosure>summary small{font-size:12px;letter-spacing:.07em;text-transform:uppercase}
.assessment-runtime-page .assessment-queue-disclosure>summary strong{font-size:13px}
.assessment-runtime-page .assessment-main{gap:14px}

.assessment-person-context{display:flex;align-items:center;justify-content:space-between;gap:22px;padding:18px 20px;background:var(--surface);border-color:var(--premium-border);box-shadow:0 8px 24px rgba(8,29,42,.05)}
.assessment-person-main{display:flex;align-items:center;gap:14px;min-width:0}
.profile-avatar-medium{display:grid;place-items:center;flex:0 0 58px;width:58px;height:58px;overflow:hidden;border:1px solid var(--line);border-radius:16px;color:var(--navy-900);background:linear-gradient(145deg,#fff,var(--role-accent-soft));font-family:var(--font-display);font-size:20px;font-weight:700;box-shadow:var(--shadow-xs)}
.profile-avatar-medium img{width:100%;height:100%;object-fit:cover}
.assessment-person-main>div{min-width:0}
.assessment-person-main .overline{margin-bottom:3px}
.assessment-person-main h2{margin:0;color:var(--navy-950);font-family:var(--font-display);font-size:clamp(20px,2vw,27px);font-weight:650;letter-spacing:-.02em}
.assessment-person-main p{margin:4px 0 0;color:var(--ink-600);font-size:12.5px;line-height:1.5}
.assessment-context-meta{display:flex;align-items:stretch;justify-content:flex-end;gap:8px;flex-wrap:wrap}
.assessment-context-meta>span{display:grid;gap:3px;min-width:105px;padding:9px 11px;border:1px solid var(--line-soft);border-radius:11px;background:var(--canvas-soft)}
.assessment-context-meta small{color:var(--ink-500);font-size:12px;font-weight:700;letter-spacing:.075em;text-transform:uppercase}
.assessment-context-meta strong{color:var(--navy-900);font-size:12px;line-height:1.35}

.assessment-progress-compact{display:grid;grid-template-columns:minmax(240px,1fr) auto;align-items:center;gap:18px;padding:13px 16px;border-color:var(--premium-border);box-shadow:none}
.assessment-progress-copy{display:grid;gap:4px;min-width:0}
.assessment-progress-copy>span{color:var(--ink-500);font-size:12px;font-weight:700;letter-spacing:.07em;text-transform:uppercase}
.assessment-progress-copy>strong{color:var(--navy-900);font-size:13px}
.assessment-progress-track{display:block;width:100%;height:6px;overflow:hidden;border:0;border-radius:999px;background:var(--line-soft);appearance:none}
.assessment-progress-track::-webkit-progress-bar{border-radius:999px;background:var(--line-soft)}
.assessment-progress-track::-webkit-progress-value{border-radius:999px;background:var(--primary)}
.assessment-progress-track::-moz-progress-bar{border-radius:999px;background:var(--primary)}
.assessment-progress-badges{display:flex;align-items:center;justify-content:flex-end;gap:6px;flex-wrap:wrap}

.assessment-runtime-page .assessment-focus-nav{position:static;top:auto;z-index:auto;margin:0;padding:5px;border-color:var(--premium-border);border-radius:14px;background:var(--surface);box-shadow:none;backdrop-filter:none}
.assessment-runtime-page .assessment-focus-nav>a{min-height:46px;padding:7px 9px;border-radius:10px}
.assessment-runtime-page .assessment-focus-nav>a>span{width:27px;height:27px;border-radius:9px}
.assessment-runtime-page .assessment-focus-nav strong{font-size:12px}
.assessment-runtime-page .assessment-focus-nav small{font-size:12px}
.assessment-runtime-page .assessment-focus-nav>a:hover{transform:none}

.assessment-runtime-page .assessment-current-task-large{grid-template-columns:48px minmax(0,1fr) auto;gap:15px;margin:0;padding:18px 19px;border:1px solid color-mix(in srgb,var(--primary) 22%,var(--line));border-radius:16px;background:linear-gradient(135deg,var(--assessment-focus-soft),#fff);box-shadow:0 10px 24px rgba(8,29,42,.055)}
.assessment-runtime-page .assessment-current-task-large>span{width:48px;height:48px;border-radius:14px;background:var(--primary);color:#fff}
.assessment-runtime-page .assessment-current-task-large small{font-size:12px;letter-spacing:.085em}
.assessment-runtime-page .assessment-current-task-large strong{font-size:16.5px;line-height:1.32}
.assessment-runtime-page .assessment-current-task-large p{max-width:760px;font-size:12.5px}
.assessment-runtime-page .assessment-current-task-large .button{min-height:40px;padding-inline:15px}
.assessment-runtime-page .assessment-current-task-large.tone-warning{border-color:#e1c78c;background:#fffaf0}
.assessment-runtime-page .assessment-current-task-large.tone-success{border-color:#b7d7c8;background:#f5fbf7}

/* Asesi: one visible job, secondary instruments stay out of the way. */
.assessment-runtime-page-asesi .assessment-runtime-work-panel.is-secondary-work{display:none}
.assessment-runtime-page-asesi .assessment-runtime-work-panel.is-primary-work{border-color:color-mix(in srgb,var(--primary) 25%,var(--line));box-shadow:0 12px 30px rgba(8,29,42,.065)}
.assessment-runtime-page-asesi .assessment-runtime-work-panel>.panel-head{background:linear-gradient(180deg,var(--role-accent-soft),transparent)}
.assessment-runtime-page-asesi .assessment-attendance-card.is-complete{padding:0;overflow:hidden;background:var(--surface-soft);box-shadow:none}
.assessment-runtime-page-asesi .assessment-attendance-card.is-complete>.panel-head{padding:11px 14px;border:0}
.assessment-runtime-page-asesi .assessment-attendance-card.is-complete>.panel-head h2{font-size:14px}
.assessment-runtime-page-asesi .assessment-attendance-card.is-complete>.panel-head p{display:none}
.assessment-runtime-page-asesi .assessment-attendance-card.is-complete>:not(.panel-head){display:none}
.assessment-runtime-page-asesi .candidate-task-grid{grid-template-columns:1fr}
.assessment-runtime-page-asesi .candidate-task-card.is-inactive{display:none}
.assessment-runtime-page-asesi .candidate-response-card.is-inactive{display:none}
.assessment-runtime-page-asesi .assessor-led-list>article.is-inactive{display:none}
.assessment-runtime-page-asesi .candidate-task-card,
.assessment-runtime-page-asesi .candidate-response-card{border-color:var(--premium-border);border-radius:14px;background:#fff;box-shadow:none}
.assessment-runtime-page-asesi .candidate-task-card.is-active,
.assessment-runtime-page-asesi .candidate-response-card.is-active{border-color:color-mix(in srgb,var(--primary) 27%,var(--line));box-shadow:0 8px 22px rgba(8,29,42,.055)}
.assessment-runtime-page-asesi .assessment-question-card{border-radius:13px;background:#fff}
.assessment-runtime-page-asesi .assessment-options{gap:8px}
.assessment-runtime-page-asesi .choice-card{border-radius:11px}
.assessment-runtime-page-asesi .candidate-practice-upload{margin-top:12px;border-top:1px solid var(--line-soft);background:var(--canvas-soft)}

.assessment-secondary-disclosure{overflow:hidden;padding:0!important;border-color:var(--premium-border);box-shadow:none!important}
.assessment-secondary-disclosure>.assessment-disclosure-summary{display:grid;grid-template-columns:36px minmax(0,1fr) auto;align-items:center;gap:11px;min-height:58px;padding:11px 14px;cursor:pointer;list-style:none;background:var(--surface)}
.assessment-secondary-disclosure>.assessment-disclosure-summary::-webkit-details-marker{display:none}
.assessment-disclosure-summary>span:first-child{display:grid;place-items:center;width:36px;height:36px;border-radius:11px;background:var(--surface-soft);color:var(--primary)}
.assessment-disclosure-summary>div{display:grid;gap:1px;min-width:0}
.assessment-disclosure-summary small{color:var(--ink-500);font-size:12px;font-weight:700;letter-spacing:.075em;text-transform:uppercase}
.assessment-disclosure-summary strong{color:var(--navy-900);font-size:13px}
.assessment-disclosure-summary em{color:var(--ink-500);font-size:12px;font-style:normal;font-weight:650}
.assessment-secondary-disclosure[open]>.assessment-disclosure-summary{border-bottom:1px solid var(--line-soft);background:var(--surface-soft)}
.assessment-disclosure-body{padding:14px}
.assessment-history-list{display:grid;gap:7px;padding:12px 14px 14px;border-top:1px solid var(--line-soft)}
.assessment-history-list>article{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 11px;border:1px solid var(--line-soft);border-radius:10px;background:var(--surface)}
.assessment-history-list>article>div{display:grid;gap:3px;min-width:0}
.assessment-history-list strong{color:var(--navy-900);font-size:12px;line-height:1.35}

/* Asesor: roster remains useful, but the main workspace only exposes the active instrument. */
.assessment-runtime-page-asesor{grid-template-columns:minmax(245px,290px) minmax(0,1fr)}
.assessment-runtime-page-asesor>.assessment-queue{top:calc(var(--topbar-height) + 12px);max-height:calc(100vh - var(--topbar-height) - 24px)}
.assessment-runtime-page-asesor .assessment-queue-list{max-height:calc(100vh - var(--topbar-height) - 160px)}
.assessment-runtime-page-asesor .assessment-queue-item{padding:10px 11px}
.assessment-runtime-page-asesor .assessment-queue-action{gap:5px}
.assessment-runtime-page-asesor .assessment-queue-action .button-ghost{display:none}
.assessment-runtime-page-asesor .assessment-queue-person strong{font-size:12.5px}
.assessment-runtime-page-asesor .assessment-queue-person small{font-size:12px}
.assessment-runtime-page-asesor .assessment-flow-panel{scroll-margin-top:92px}
.assessment-runtime-page-asesor .assessment-flow-explainer{padding:0 0 12px;margin:0 0 10px;border-bottom:1px solid var(--line-soft)}
.assessment-runtime-page-asesor .assessment-flow-list{gap:7px}
.assessment-runtime-page-asesor .assessment-flow-row{grid-template-columns:70px minmax(0,1fr) auto;gap:10px;padding:10px 11px;border-radius:11px}
.assessment-runtime-page-asesor .assessment-flow-row.is-active{border-color:color-mix(in srgb,var(--primary) 32%,var(--line));background:var(--role-accent-soft)}
.assessment-runtime-page-asesor .assessment-flow-copy strong{font-size:12.5px}
.assessment-runtime-page-asesor .assessment-flow-position input{min-height:36px}
.assessment-runtime-page-asesor .assessment-runtime-active-panel{border-color:color-mix(in srgb,var(--primary) 22%,var(--line));box-shadow:0 12px 30px rgba(8,29,42,.06)}
.assessment-runtime-page-asesor .assessment-runtime-active-panel>.panel-head{background:linear-gradient(180deg,var(--role-accent-soft),transparent)}
.assessment-runtime-page-asesor .assessment-runtime-instrument:not(.is-active){display:none}
.assessment-runtime-page-asesor .assessment-runtime-instrument.is-active{border-color:color-mix(in srgb,var(--primary) 30%,var(--line));background:#fff;box-shadow:0 8px 22px rgba(8,29,42,.055)}
.assessment-runtime-page-asesor .assessment-runtime-state{background:var(--primary);color:#fff}
.assessment-runtime-page-asesor .assessment-completeness-panel{box-shadow:none}
.assessment-runtime-page-asesor .assessment-full-kuk-matrix{box-shadow:none}
.assessment-runtime-page-asesor #assessment-ak03{box-shadow:none}
.assessment-runtime-page-asesor .assessment-finalize-panel{box-shadow:none}


.assessment-runtime-page-asesi .assessment-focus-nav>a.upcoming{pointer-events:none;cursor:default;opacity:.62}

/* assessment group focus stabilization */
.assessment-group-stage-progress{display:grid;grid-template-columns:minmax(0,1fr) minmax(180px,320px) auto;gap:14px;align-items:center;padding:16px 18px;margin:0 0 12px;border:1px solid var(--line-soft);border-radius:var(--radius-md);background:var(--canvas-soft)}
.assessment-group-stage-progress-copy{display:grid;gap:3px;min-width:0}.assessment-group-stage-progress-copy strong{font-size:15px}.assessment-group-stage-progress-copy small{color:var(--muted)}
.assessment-group-stage-progress-bar{width:100%;height:10px;border:0;border-radius:999px;overflow:hidden;background:var(--line-soft)}
.assessment-group-stage-progress-bar::-webkit-progress-bar{background:var(--line-soft);border-radius:999px}.assessment-group-stage-progress-bar::-webkit-progress-value{background:var(--success);border-radius:999px}.assessment-group-stage-progress-bar::-moz-progress-bar{background:var(--success);border-radius:999px}
.assessment-group-participant-status{margin:0 0 14px;border:1px solid var(--line-soft);border-radius:var(--radius-md);background:var(--paper)}
.assessment-group-participant-status>summary{display:flex;align-items:center;gap:10px;padding:13px 16px;cursor:pointer}.assessment-group-participant-status>summary strong{flex:1}.assessment-group-participant-status>summary em{font-style:normal;color:var(--muted);font-size:13px}
.assessment-group-participant-list{display:grid;border-top:1px solid var(--line-soft)}.assessment-group-participant-list article{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:10px;align-items:center;padding:11px 16px;border-bottom:1px solid var(--line-soft)}.assessment-group-participant-list article:last-child{border-bottom:0}.assessment-group-participant-list article div{display:grid;gap:2px}.assessment-group-participant-list small{color:var(--muted)}
.assessment-conditional-tools{margin:14px 0;border:1px dashed var(--line);border-radius:var(--radius-md);background:var(--canvas-soft)}.assessment-conditional-tools>summary{display:flex;align-items:center;gap:10px;padding:14px 16px;cursor:pointer}.assessment-conditional-tools>summary div{display:grid;gap:2px;flex:1}.assessment-conditional-tools>summary small,.assessment-conditional-tools>summary em{color:var(--muted);font-style:normal;font-size:12px}.assessment-conditional-tool-list{display:grid;border-top:1px solid var(--line-soft)}.assessment-conditional-tool-list article{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:14px;align-items:center;padding:14px 16px;border-bottom:1px solid var(--line-soft)}.assessment-conditional-tool-list article:last-child{border-bottom:0}.assessment-conditional-tool-list article>div{display:grid;gap:3px}.assessment-conditional-tool-list small{color:var(--muted)}

.assessment-roster-context{display:flex;justify-content:space-between;gap:24px;align-items:center;padding:22px 24px}.assessment-roster-context>div:first-child{display:grid;gap:5px}.assessment-roster-context h2{margin:0}.assessment-roster-context p,.assessment-roster-context small{margin:0;color:var(--muted)}.assessment-roster-context-status{display:grid;gap:3px;text-align:right;padding-left:24px;border-left:1px solid var(--line-soft)}.assessment-roster-context-status span,.assessment-roster-context-status small{color:var(--muted);font-size:12px}.assessment-roster-context-status strong{font-size:22px}.assessment-roster-stage-focus .assessment-group-stage-progress-bar{display:block;margin:0 20px 16px;width:calc(100% - 40px)}


/* fokus jawaban hari-H */
.assessment-answer-progress{position:sticky;top:var(--content-sticky-top,10px);z-index:4;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.75rem 1rem;align-items:center;padding:.9rem 1rem;border:1px solid var(--border-color,#dfe4ea);border-radius:14px;background:var(--surface,#fff);box-shadow:0 8px 24px rgba(15,23,42,.06)}
.assessment-answer-progress strong,.assessment-answer-progress small{display:block}.assessment-answer-progress small{margin-top:.2rem}.assessment-unanswered-list{grid-column:1/-1;font-size:.86rem;opacity:.78}
.assessment-question-card legend{display:flex;align-items:center;justify-content:space-between;gap:1rem;width:100%}.assessment-question-card legend em{font-size:.78rem;font-style:normal;font-weight:600;opacity:.62}.assessment-question-card.is-answered legend em{opacity:1}

.assessment-attendance-card.is-complete{padding:.72rem 1rem}.assessment-attendance-card.is-complete .panel-head{margin:0}.assessment-attendance-card.is-complete .panel-head p,.assessment-attendance-card.is-complete>.callout{display:none}.assessment-attendance-card.is-complete .panel-head h2{font-size:1rem;margin:0}

/* ================================================================
   Focus Wizard / one page, one task
   Presentation only: business workflow and permissions remain intact.
   ================================================================ */
.role-focus-wizard{
  display:grid;gap:10px;margin:0 0 14px;padding:13px 14px;border:1px solid var(--border);
  border-radius:16px;background:linear-gradient(135deg,var(--surface),var(--surface-soft));box-shadow:var(--shadow-sm)
}
.role-focus-wizard-head{display:flex;align-items:center;justify-content:space-between;gap:14px}
.role-focus-wizard-copy{display:grid;gap:2px;min-width:0}.role-focus-wizard-copy .overline{font-size:12px}.role-focus-wizard-copy strong{font-size:14px;line-height:1.35;color:var(--text)}.role-focus-wizard-copy p{margin:0;color:var(--muted);font-size:12px;line-height:1.45}
.role-focus-wizard-actions{display:flex;align-items:center;gap:7px;flex:0 0 auto}
.role-focus-wizard-track{display:flex;align-items:stretch;gap:6px;overflow-x:auto;padding:2px 1px 3px;scrollbar-width:thin;scroll-snap-type:x proximity}
.role-focus-step{display:grid;align-items:center;gap:7px;flex:1 0 126px;min-width:126px;max-width:190px;padding:7px 9px;border:1px solid var(--border);border-radius:11px;background:var(--surface);color:var(--muted);text-decoration:none;scroll-snap-align:start}
.role-focus-step>span{display:grid;place-items:center;width:26px;height:26px;border-radius:8px;background:var(--surface-soft);font-size:12px;font-weight:700}.role-focus-step>span svg{width:14px;height:14px}.role-focus-step strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px;line-height:1.2}
.role-focus-step.done{border-color:color-mix(in srgb,var(--success) 25%,var(--border));color:var(--success-strong)}.role-focus-step.active{border-color:color-mix(in srgb,var(--primary) 36%,var(--border));background:color-mix(in srgb,var(--primary) 7%,var(--surface));color:var(--primary-strong);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--primary) 12%,transparent)}.role-focus-step.upcoming{opacity:.62}.role-focus-step.is-locked{cursor:not-allowed}

.focus-master-detail-toolbar{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:0 0 10px;padding:8px 10px;border:1px solid var(--border);border-radius:12px;background:var(--surface-soft)}
.focus-master-detail-toolbar>span{display:flex;align-items:center;gap:7px;color:var(--muted);font-size:12px;font-weight:700}.focus-master-detail-toolbar>span::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--success)}
[data-focus-master-detail].focus-detail-view>[data-focus-master]{display:none!important}
[data-focus-master-detail].focus-detail-view>[data-focus-detail]{grid-column:1/-1!important;width:100%!important;max-width:none!important}
[data-focus-master-detail].focus-list-view>[data-focus-detail]{display:none!important}
[data-focus-master-detail].focus-list-view>[data-focus-master]{grid-column:1/-1!important;width:100%!important;max-width:none!important;position:static!important;max-height:none!important}
.focus-list-helper{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:0 0 10px;padding:9px 11px;border:1px dashed var(--border);border-radius:12px;color:var(--muted);font-size:12px;background:var(--surface-soft)}

.focus-panel-nav{display:flex;align-items:center;gap:6px;overflow-x:auto;margin:0 0 11px;padding:6px;border:1px solid var(--border);border-radius:13px;background:var(--surface);scrollbar-width:thin}
.focus-panel-nav button{display:grid;grid-template-columns:24px minmax(80px,1fr);align-items:center;gap:7px;flex:0 0 auto;min-width:132px;min-height:42px;padding:6px 8px;border:1px solid transparent;border-radius:9px;background:transparent;color:var(--muted);text-align:left;cursor:pointer}
.focus-panel-nav button>span{display:grid;place-items:center;width:24px;height:24px;border-radius:7px;background:var(--surface-soft);font-size:12px;font-weight:700}.focus-panel-nav button strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px}.focus-panel-nav button.is-active{border-color:color-mix(in srgb,var(--primary) 30%,var(--border));background:color-mix(in srgb,var(--primary) 6%,var(--surface));color:var(--primary-strong)}
[data-focus-panel]{display:none!important}[data-focus-panel].is-focus-panel-active{display:block!important;animation:panel-enter .16s ease both}
.focus-panel-footer{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:12px;padding-top:10px;border-top:1px solid var(--border)}
.focus-panel-footer .button{min-width:112px}.focus-panel-footer small{color:var(--muted);font-size:12px}

/* Admin verification: identity/documents/review become real wizard steps. */
.page-applications .verification-main[data-focus-verification]>.detail-section{display:none!important}
.page-applications .verification-main[data-focus-verification]>.detail-section.is-focus-panel-active{display:block!important}
.page-applications .verification-sidebar.focus-context-hidden{display:none!important}
.page-applications .verification-layout.focus-verification-active{grid-template-columns:minmax(0,1fr)}

/* Assessment: the active task is the screen, not a long accordion of old steps. */
.assessment-runtime-page.one-task-assessment .assessment-main>[data-assessment-section],
.assessment-runtime-page.one-task-assessment .assessment-main>.assessment-combined-workspace[data-assessment-section]{display:none!important}
.assessment-runtime-page.one-task-assessment .assessment-main>[data-assessment-section].is-current-assessment-section,
.assessment-runtime-page.one-task-assessment .assessment-main>.assessment-combined-workspace[data-assessment-section].is-current-assessment-section{display:block!important}
.assessment-runtime-page.one-task-assessment .assessment-focus-nav{position:static}
.assessment-runtime-page.one-task-assessment .assessment-current-task-large{margin-bottom:0}
.assessment-runtime-page-asesi.one-task-assessment .assessment-instrument-history{display:none}
.assessment-runtime-page .focus-technical-details{margin-top:8px}

/* Roster: context remains visible; only one operational task appears below it. */
.assessment-roster-main[data-roster-focus]>.focus-roster-task{display:none!important}
.assessment-roster-main[data-roster-focus]>.focus-roster-task.is-focus-panel-active{display:block!important}


/* Focus coverage for operational pages across every role */
[data-focus-panels="1"]{position:relative}
[data-focus-panels="1"]>.focus-panel-nav{position:sticky;top:var(--content-sticky-top,10px);z-index:5;box-shadow:0 8px 22px rgba(8,29,42,.055)}
[data-focus-panels="1"]>.focus-panel-nav+.focus-panel-candidate{margin-top:0}
[data-focus-detail][data-focus-panels="1"]{display:block!important}
[data-focus-detail][data-focus-panels="1"]>.focus-master-detail-toolbar{margin-bottom:10px}
[data-focus-detail][data-focus-panels="1"]>.focus-panel-nav{margin-bottom:12px}
.focus-panel-nav>.button{display:inline-flex;grid-template-columns:none;min-width:auto;padding-inline:11px;white-space:nowrap}
.focus-panel-nav>.button::before{content:none}

/* Schedules: list and selected schedule never compete for attention. */
[data-page-stage][data-schedule-focus].focus-schedule-detail>[data-focus-schedule-list]{display:none!important}
[data-page-stage][data-schedule-focus].focus-schedule-list>[data-focus-schedule-detail]{display:none!important}
[data-page-stage][data-schedule-focus].focus-schedule-detail>[data-focus-schedule-detail]{display:block!important}
[data-page-stage][data-schedule-focus].focus-schedule-list>[data-focus-schedule-list]{display:block!important}
.schedule-workspace[data-focus-schedule-detail]{display:grid;gap:12px}
.schedule-workspace[data-focus-schedule-detail]>.schedule-workspace-head,
.schedule-workspace[data-focus-schedule-detail]>.schedule-gate-grid,
.schedule-workspace[data-focus-schedule-detail]>.schedule-simple-flow{margin-bottom:0}
.focus-schedule-actions{display:flex!important;align-items:center;gap:8px;flex-wrap:wrap;padding:16px}
.focus-schedule-actions form{margin:0}
.focus-schedule-actions.is-focus-panel-active{display:flex!important}

/* FR.AK.01: list first, then a clean three/four-step document review. */
.ak01-workspace[data-focus-master-detail].focus-detail-view{grid-template-columns:minmax(0,1fr)!important}
.ak01-main-column[data-focus-detail][data-focus-panels="1"]>.ak01-hero{margin-bottom:0}
.ak01-main-column[data-focus-detail][data-focus-panels="1"]>.focus-panel-nav{margin-top:0}

/* Pra-asesmen / assignment / TUK route focus keeps context visible but removes task stacking. */
.page-stage[data-focus-panels="1"]>.application-context-bar,
.page-stage[data-focus-panels="1"]>.review-signature-strip,
.page-stage[data-focus-panels="1"]>.readiness-hero,
.page-stage[data-focus-panels="1"]>.readiness-summary-grid{margin-bottom:0}
.page-stage[data-focus-panels="1"]>.apl02-review-quickbar{padding-block:14px}

/* Secondary history remains reachable as its own step instead of filling the first view. */
[data-focus-panel].approval-section,
[data-focus-panel].case-thread,
[data-focus-panel].signature-comparison{max-width:none}


/* Generic sibling list/detail for pages without a dedicated workspace wrapper. */
[data-page-stage][data-sibling-focus].focus-sibling-detail>[data-sibling-master]{display:none!important}
[data-page-stage][data-sibling-focus].focus-sibling-list>[data-sibling-detail]{display:none!important}
[data-page-stage][data-sibling-focus].focus-sibling-detail>[data-sibling-detail]{display:grid!important;gap:12px}
[data-page-stage][data-sibling-focus].focus-sibling-list>[data-sibling-master]{display:block!important}

/* Paket MUK: the wizard is the primary visual hierarchy; advanced tools remain opt-in. */
.page-muk [data-focus-panel].muk-documents-catalog,
.page-muk [data-focus-panel].muk-source-archive,
.page-muk [data-focus-panel].coverage-matrix{min-height:0}
.page-muk [data-focus-panels="1"]>.muk-advanced-section:not([open]){display:none}
.page-muk .muk-profile-layout[data-focus-master-detail].focus-detail-view{grid-template-columns:minmax(0,1fr)!important}

/* Hari-H really means one active instrument/task, not a collapsed stack of neighbours. */
.assessment-runtime-page.one-task-assessment .assessment-combined-workspace.is-current-assessment-section>#assessment-flow,
.assessment-runtime-page.one-task-assessment .assessment-combined-workspace.is-current-assessment-section>#assessment-responses{display:none!important}
.assessment-runtime-page.one-task-assessment .assessment-combined-workspace.is-current-assessment-section>.is-current-assessment-inner{display:block!important}
.assessment-runtime-page-asesi.one-task-assessment #assessment-instruments .candidate-response-card:not(.is-active){display:none!important}
.assessment-runtime-page-asesi.one-task-assessment #assessment-instruments .candidate-response-card.is-active{display:block!important}

/* Strict One Page / One Task */


/* ================================================================
   State Wizard Stability
   Clear states, locked prerequisites, and error-safe one-task focus.
   ================================================================ */
.role-focus-step{
  grid-template-columns:26px minmax(90px,1fr);
  grid-template-rows:auto auto;
  align-content:center;
}
.role-focus-step>span{grid-column:1;grid-row:1/3}
.role-focus-step>strong{grid-column:2;grid-row:1;min-width:0}
.role-focus-step>small{grid-column:2;grid-row:2;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px;font-weight:650;line-height:1.15;color:currentColor;opacity:.72}
.role-focus-step.available{background:var(--surface);color:var(--muted)}
.role-focus-step.waiting{border-color:color-mix(in srgb,var(--warning) 32%,var(--border));background:color-mix(in srgb,var(--warning) 7%,var(--surface));color:var(--warning-strong)}
.role-focus-step.locked,.role-focus-step.is-locked{opacity:.52;cursor:not-allowed;filter:saturate(.65)}
.role-focus-step.locked>span,.role-focus-step.is-locked>span{background:var(--surface-soft);color:var(--muted)}
.role-focus-wizard-actions .button.is-disabled{pointer-events:none;opacity:.55}

.account-setup-step.is-locked{opacity:.55;cursor:not-allowed;background:var(--surface-soft);border-color:transparent;filter:saturate(.7)}
.account-setup-step.is-locked:hover{border-color:transparent;background:var(--surface-soft)}
.account-setup-step.is-locked .account-setup-number{color:var(--muted)}

.focus-panel-nav button.is-locked,.focus-panel-nav button:disabled{opacity:.45;cursor:not-allowed}
.focus-panel-candidate[hidden]{display:none!important}
.focus-panel-candidate.is-focus-panel-active{outline:none}
.focus-panel-footer>small{max-width:48ch;text-align:center}


/* strict state wizard: future tasks are visibly locked and never stack. */
[data-wizard]>.wizard-nav button:disabled,[data-wizard]>.wizard-nav button[aria-disabled="true"]{opacity:.58;cursor:not-allowed;filter:saturate(.55);box-shadow:none}
[data-wizard]>.wizard-nav button:disabled strong,[data-wizard]>.wizard-nav button[aria-disabled="true"] strong{color:var(--text-muted)}
[data-wizard]>.wizard-nav button:disabled small,[data-wizard]>.wizard-nav button[aria-disabled="true"] small{font-weight:700}
[data-wizard]>.wizard-nav button.is-past:not(:disabled) small{color:var(--success-strong,var(--success))}
/* ==========================================================================
   Authenticated Application Design System
   Shared presentation contract for all 9 roles and operational pages.
   Goal: one visual language, restrained hierarchy, calm density, and predictable
   desktop/mobile behavior without changing business workflow or permissions.
   ========================================================================== */

.app-body.sakti-ui{
  color:var(--ink-950);
}
.app-body.sakti-ui .workspace{min-width:0;background:transparent}
.app-body.sakti-ui .content{max-width:1480px;padding:24px clamp(22px,2.5vw,36px) 34px}
.app-body.sakti-ui .page-stage>:not(.modal-layer):not(script):not([hidden]){margin-block:0;min-width:0}

/* Shared typography: formal, compact, and readable. */
.app-body.sakti-ui :is(h1,h2,h3){text-wrap:balance}
.app-body.sakti-ui h3{letter-spacing:-.01em}
.app-body.sakti-ui :is(.eyebrow,.overline){
  color:var(--role-accent-strong);
  text-transform:uppercase;
}

/* App chrome is deliberately neutral across roles; role color becomes an accent.
   Sidebar identity uses one quiet hierarchy instead of stacked framed cards. */
.app-body.sakti-ui .sidebar{
  border-right:1px solid rgba(255,255,255,.055);
  box-shadow:12px 0 38px rgba(7,23,34,.08);
}
.app-body.sakti-ui .sidebar-brand{
  position:relative;
  min-height:96px;
  padding:8px 6px 15px;
  border-bottom:1px solid rgba(255,255,255,.095);
  background:linear-gradient(180deg,rgba(255,255,255,.025),transparent);
}
.app-body.sakti-ui .brand-lockup{
  display:grid;
  grid-template-columns:auto minmax(0,1fr);
  align-items:center;
  gap:14px;
  width:100%;
  min-width:0;
  padding:4px 0;
  border:0;
  border-radius:12px;
  color:inherit;
  background:transparent;
  box-shadow:none;
  text-decoration:none;
}
.app-body.sakti-ui .brand-lockup:hover{background:transparent}
.app-body.sakti-ui .brand-lockup:focus-visible{
  outline:2px solid rgba(var(--theme-accent-rgb),.5);
  outline-offset:5px;
}
/* Uploaded institutional logo: deliberately prominent, never oversized. */
.app-body.sakti-ui .brand-logo{
  width:72px;
  height:72px;
  flex:0 0 72px;
  overflow:visible;
  border:0;
  border-radius:14px;
  background:transparent;
  box-shadow:none;
}
.app-body.sakti-ui .brand-logo::after{content:none}
.app-body.sakti-ui .brand-logo img{
  display:block;
  width:100%;
  height:100%;
  padding:2px;
  object-fit:contain;
  filter:drop-shadow(0 5px 10px rgba(1,13,21,.22));
}
/* Fallback monogram stays slightly smaller so it does not dominate the name. */
.app-body.sakti-ui .brand-emblem{
  width:44px;
  height:44px;
  flex:0 0 44px;
  margin-left:6px;
  border-color:rgba(223,201,159,.52);
  background:linear-gradient(145deg,rgba(255,255,255,.085),rgba(255,255,255,.02));
  box-shadow:inset 0 0 0 3px rgba(255,255,255,.02);
}
.app-body.sakti-ui .brand-emblem>span{font-size:24px}
.app-body.sakti-ui .brand-emblem>i{width:7px;height:7px}
.app-body.sakti-ui .brand-copy{
  justify-content:center;
  min-width:0;
  padding:0;
  border:0;
}
.app-body.sakti-ui .brand-copy strong{
  overflow:visible;
  color:#fff;
  font-size:18px;
  font-weight:700;
  letter-spacing:.12em;
  line-height:1.18;
  text-overflow:clip;
  white-space:normal;
}
.app-body.sakti-ui .brand-copy small{
  display:block;
  overflow:visible;
  margin-top:5px;
  color:#a9bbc3;
  font-size:12px;
  font-weight:650;
  letter-spacing:.035em;
  line-height:1.38;
  text-overflow:clip;
  text-transform:none;
  white-space:normal;
  overflow-wrap:anywhere;
}
.app-body.sakti-ui .sidebar-context{
  grid-template-columns:32px minmax(0,1fr);
  align-items:center;
  gap:10px;
  margin:9px 0 8px;
  padding:8px 6px 11px;
  border:0;
  border-bottom:1px solid rgba(255,255,255,.075);
  border-radius:0;
  background:transparent;
  box-shadow:none;
}
.app-body.sakti-ui .sidebar-role-icon{
  width:32px;
  height:32px;
  margin:0;
  border:0;
  border-radius:10px;
  color:color-mix(in srgb,var(--theme-accent) 78%,#fff);
  background:rgba(var(--role-accent-rgb),.11);
  box-shadow:none;
}
.app-body.sakti-ui .nav-group{margin-bottom:7px}
.app-body.sakti-ui .nav-item{border-radius:10px}
.app-body.sakti-ui .nav-item.is-active{
  background:linear-gradient(90deg,rgba(var(--role-accent-rgb),.20),rgba(var(--role-accent-rgb),.08));
}
.app-body.sakti-ui .topbar{
  border-bottom:1px solid var(--ds-base-border);
  background:rgba(250,251,249,.94);
  box-shadow:0 5px 18px rgba(14,34,47,.035);
  backdrop-filter:blur(18px) saturate(1.1);
}
.app-body.sakti-ui .role-state,
.app-body.sakti-ui .system-state{min-height:32px;border-radius:999px;font-size:12px}
.app-body.sakti-ui .account-trigger{min-height:44px;border-radius:12px}

/* One restrained page banner everywhere. No oversized decorative hero on work pages. */
.app-body.sakti-ui .page-heading{
  min-height:0;
  align-items:center;
  overflow:hidden;
  border:1px solid var(--ds-base-border);
  background:
    linear-gradient(110deg,rgba(var(--role-accent-rgb),.055),rgba(255,255,255,.985) 42%,#fff);
}
.app-body.sakti-ui .page-heading::after{display:none}
.app-body.sakti-ui :is(.page-heading-actions,.heading-actions){display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap}
.app-body.sakti-ui .heading-badge{min-height:36px;padding-inline:11px;border-color:var(--ds-base-border-strong);box-shadow:none}

/* Panels share one geometry; hierarchy comes from content, not stacked shadows. */
.app-body.sakti-ui :is(.panel,.metric-card,.scheme-card,.application-card,.assessor-assignment-card,.tuk-schedule-card){
  border:1px solid var(--ds-base-border);
  border-radius:var(--ds-base-radius);
  background:var(--ds-base-surface);
  box-shadow:var(--ds-base-shadow);
}
.app-body.sakti-ui .panel{overflow:clip}
.app-body.sakti-ui .panel:has(.table-wrap),
.app-body.sakti-ui .panel.table-panel{overflow:visible}
.app-body.sakti-ui .panel-head-bordered{border-bottom:1px solid var(--ds-base-border)}
.app-body.sakti-ui .panel-head-responsive{align-items:center}
.app-body.sakti-ui .count-pill{min-height:26px;padding-inline:9px;border-color:var(--ds-base-border)}

/* Summary rails become calm context, never a second dashboard. */
.app-body.sakti-ui :is(.summary-rail,.assessment-summary-rail,.muk-summary-rail){gap:9px}
.app-body.sakti-ui .summary-rail article{
  min-height:72px;
  padding:12px 14px;
  border-color:var(--ds-base-border);
  border-radius:14px;
  box-shadow:none;
}
.app-body.sakti-ui .summary-rail article.summary-note{
  border-color:var(--ds-base-border);
  background:linear-gradient(110deg,rgba(var(--role-accent-rgb),.045),#fff);
}

/* Buttons: same dimensions and hierarchy on every role. */
.app-body.sakti-ui .button{
  padding:0 15px;
  border-radius:10px;
  letter-spacing:0;
  box-shadow:none;
  transition:transform .16s ease,background .16s ease,border-color .16s ease,box-shadow .16s ease;
}
.app-body.sakti-ui .button:hover:not(:disabled):not(.is-disabled){transform:translateY(-1px)}
.app-body.sakti-ui .button:active:not(:disabled):not(.is-disabled){transform:translateY(0)}
.app-body.sakti-ui .button-small{padding-inline:12px}
.app-body.sakti-ui .button-large{min-height:46px;padding-inline:18px}
.app-body.sakti-ui .button-primary{
  border-color:color-mix(in srgb,var(--button-primary-strong) 82%,#0000);
  background:var(--button-primary-strong);
}
.app-body.sakti-ui .button-secondary{
  border-color:color-mix(in srgb,var(--button-secondary) 24%,var(--ds-base-border));
  background:var(--button-secondary-soft);
  color:var(--button-secondary-strong);
}
.app-body.sakti-ui .button-ghost{border-color:var(--ds-base-border-strong);color:var(--ink-800)}
.app-body.sakti-ui :is(.icon-button,.topbar-icon){border-radius:10px}
.app-body.sakti-ui .row-actions{gap:6px}

/* Forms: consistent field rhythm, generous touch targets, clear focus. */
.app-body.sakti-ui :is(.form-grid,.form-grid-2,.form-grid-3){gap:14px}
.app-body.sakti-ui .field{color:var(--ink-800);font-weight:650}
.app-body.sakti-ui .field>span{min-height:18px}
.app-body.sakti-ui :is(.field input,.field select,.filter-bar input,.filter-bar select,.custom-select-trigger,.custom-date-trigger){
  border-color:var(--ds-base-border-strong);
  border-radius:10px;
  background:#fff;
}
.app-body.sakti-ui .field textarea{border-color:var(--ds-base-border-strong);border-radius:10px;background:#fff}
.app-body.sakti-ui :is(.field input,.field select,.field textarea,.filter-bar input,.filter-bar select):focus{
  border-color:rgba(var(--role-accent-rgb),.55);
  box-shadow:0 0 0 3px rgba(var(--role-accent-rgb),.095);
}
.app-body.sakti-ui .form-actions,
.app-body.sakti-ui .form-actions-sticky{gap:8px;padding-top:14px}
.app-body.sakti-ui .form-actions-sticky{border-top:1px solid var(--ds-base-border);background:rgba(255,255,255,.96)}

/* Filters are tools, not a second form. */
.app-body.sakti-ui .filter-bar{gap:8px}
.app-body.sakti-ui .search-control{min-height:42px;border-radius:10px}

/* Tables remain real tables on mobile and use one visual density everywhere. */
.app-body.sakti-ui .table-panel{border-radius:var(--ds-base-radius)}
.app-body.sakti-ui .table-wrap,
.app-body.sakti-ui .table-scroll{
  border-top:1px solid var(--ds-base-border);
  scrollbar-width:thin;
  scrollbar-color:rgba(var(--role-accent-rgb),.26) transparent;
}
.app-body.sakti-ui .data-table{font-variant-numeric:tabular-nums}
.app-body.sakti-ui .data-table thead th{
  border-bottom:1px solid var(--ds-base-border-strong);
  color:var(--ink-600);
  text-transform:uppercase;
}
.app-body.sakti-ui .data-table tbody td{
  border-bottom:1px solid rgba(18,42,55,.075);
  color:var(--ink-800);
  vertical-align:middle;
}
.app-body.sakti-ui .data-table tbody tr:last-child td{border-bottom:0}
.app-body.sakti-ui .data-table tbody tr:hover td{background:rgba(var(--role-accent-rgb),.025)}
.app-body.sakti-ui .primary-cell{gap:10px}
.app-body.sakti-ui .table-action{width:1%;white-space:nowrap}

/* Badges and callouts use a single calm semantic language. */
.app-body.sakti-ui .status-badge{padding:4px 8px;border-radius:999px}
.app-body.sakti-ui :is(.callout,.info-callout,.process-guidance,.workflow-guidance){
  border-radius:14px;
  box-shadow:none;
}
.app-body.sakti-ui .process-guidance{
  gap:13px;
  padding:13px 15px;
  border:1px solid var(--ds-base-border);
  background:linear-gradient(105deg,rgba(var(--role-accent-rgb),.045),#fff);
}
.app-body.sakti-ui .process-guidance-copy p{margin:2px 0 0}
.app-body.sakti-ui .process-guidance-icon{width:36px;height:36px;border-radius:11px}

/* Role workflow: compact, readable, and visually secondary to the active task. */
.app-body.sakti-ui .role-focus-wizard{
  overflow:hidden;
  border:1px solid var(--ds-base-border);
  border-radius:var(--ds-base-radius);
  background:#fff;
  box-shadow:var(--ds-base-shadow);
}
.app-body.sakti-ui .role-focus-wizard-head{
  gap:16px;
  padding:14px 16px 11px;
  background:linear-gradient(100deg,rgba(var(--role-accent-rgb),.04),#fff 50%);
}
.app-body.sakti-ui .role-focus-wizard-track{
  gap:6px;
  padding:8px;
  border-top:0;
  background:#fbfbf9;
}
.app-body.sakti-ui .role-focus-step{
  min-height:54px;
  padding:7px 8px;
  border:1px solid transparent;
  border-radius:10px;
  box-shadow:none;
}
.app-body.sakti-ui .role-focus-step>span{width:26px;height:26px;border-radius:8px}
.app-body.sakti-ui .role-focus-step.active{
  border-color:rgba(var(--role-accent-rgb),.26);
  background:rgba(var(--role-accent-rgb),.07);
  color:var(--role-accent-strong);
}
.app-body.sakti-ui .role-focus-step.done{background:rgba(47,112,89,.055)}
.app-body.sakti-ui .role-focus-step.locked,
.app-body.sakti-ui .role-focus-step.is-locked{opacity:.48}

/* Local one-task navigation looks like a compact step bar, not another dashboard. */
.app-body.sakti-ui .focus-panel-nav{
  width:100%;
  border:1px solid var(--ds-base-border);
  box-shadow:0 5px 16px rgba(14,34,47,.035);
}
.app-body.sakti-ui .focus-panel-nav>button,
.app-body.sakti-ui .focus-panel-nav>.button{
  flex:0 0 auto;
  min-height:37px;
  padding:5px 9px;
  border:1px solid transparent;
  border-radius:9px;
  background:transparent;
  color:var(--ink-600);
  box-shadow:none;
}
.app-body.sakti-ui .focus-panel-nav>button{display:grid;grid-template-columns:24px auto;align-items:center;gap:7px;cursor:pointer}
.app-body.sakti-ui .focus-panel-nav>button>span{display:grid;place-items:center;width:24px;height:24px;border-radius:7px;background:#f0f2ef;font-weight:700}
.app-body.sakti-ui .focus-panel-nav>button>strong{white-space:nowrap}
.app-body.sakti-ui .focus-panel-nav>button.is-active{
  border-color:rgba(var(--role-accent-rgb),.23);
  background:rgba(var(--role-accent-rgb),.065);
  color:var(--role-accent-strong);
}
.app-body.sakti-ui .focus-panel-nav>button.is-active>span{background:var(--role-accent);color:#fff}
.app-body.sakti-ui .focus-panel-footer{
  margin-top:14px;
  padding-top:13px;
  border-top:1px solid var(--ds-base-border);
}
.app-body.sakti-ui .focus-master-detail-toolbar,
.app-body.sakti-ui .focus-list-helper{
  min-height:44px;
  padding:8px 10px;
  border:1px solid var(--ds-base-border);
  border-radius:12px;
  background:#fbfbf9;
  box-shadow:none;
}
.app-body.sakti-ui .focus-master-detail-toolbar span,
.app-body.sakti-ui .focus-list-helper span{font-size:12px;color:var(--ink-600)}

/* Account/profile setup has the same step geometry as process wizards. */

/* Modals: fixed hierarchy with a sticky action area; on phones become a calm sheet. */
.app-body.sakti-ui .modal-layer{padding:18px}
.app-body.sakti-ui .modal-dialog{
  width:min(760px,100%);
  max-height:min(calc(100dvh - 36px),900px);
  border:1px solid rgba(255,255,255,.72);
  border-radius:20px;
}
.app-body.sakti-ui .modal-dialog.modal-wide{width:min(1040px,100%)}
.app-body.sakti-ui .modal-head{padding:17px 19px 14px;border-bottom:1px solid var(--ds-base-border)}
.app-body.sakti-ui .modal-head h2{margin:2px 0 4px}
.app-body.sakti-ui .modal-head p{margin:0}
.app-body.sakti-ui .modal-body{padding:17px 19px 0}
.app-body.sakti-ui .modal-actions{
  gap:8px;
  margin:16px -19px 0;
  padding:13px 19px;
  border-top:1px solid var(--ds-base-border);
  background:rgba(255,255,255,.985);
}
.app-body.sakti-ui .modal-close{border-radius:10px}

/* Empty states should be concise, not visually louder than active work. */
.app-body.sakti-ui .empty-state{min-height:180px;padding:28px 22px}
.app-body.sakti-ui .empty-state .empty-icon{width:46px;height:46px;border-radius:14px}
.app-body.sakti-ui .empty-state h2{margin-top:9px}
.app-body.sakti-ui .empty-state p{max-width:56ch}

/* Dashboards retain distinction, but use the same geometry as operational pages. */

/* Assessment day: make the active job dominant and secondary context light. */
.app-body.sakti-ui .assessment-runtime-page{gap:12px}
.app-body.sakti-ui .assessment-person-context{padding:14px 16px;border-radius:14px;box-shadow:var(--ds-base-shadow)}
.app-body.sakti-ui .assessment-current-task-large{
  border-radius:15px;
  box-shadow:0 8px 22px rgba(8,29,42,.045);
}
.app-body.sakti-ui .assessment-focus-nav{padding:5px;border-radius:12px}
.app-body.sakti-ui .assessment-focus-nav>a{min-height:42px;border-radius:9px}

/* Large screens: keep forms readable rather than stretching edge to edge. */


/* Tablet: one clean column before controls become cramped. */


/* Phones: no stacked decoration, no tiny targets, no card-converted tables. */


/* complex workspace safeguards for tablet and phone. */
.app-body.sakti-ui .page-stage :is(.panel,.card,.callout,.workspace-hero,.application-context-bar,.assessment-person-context){min-width:0}
.app-body.sakti-ui :is(.panel,.table-wrap,.table-scroll,.modal-body,.page-heading,.role-focus-step,.nav-copy,.primary-cell)>*{min-width:0}
.app-body.sakti-ui :is(.panel,.page-heading,.role-focus-wizard,.assessment-person-context,.application-context-bar) :is(p,strong,small,span,h1,h2,h3){overflow-wrap:anywhere}
.app-body.sakti-ui :is(canvas,iframe,video){max-width:100%}
.app-body.sakti-ui input[type="file"]{max-width:100%}


/* Account finishing touches. Footer ownership lives in the persistent shell contract below. */
.app-body.sakti-ui .account-menu{
  width:min(280px,calc(100vw - 20px));
  border-color:var(--ds-base-border);
  border-radius:14px;
}
.app-body.sakti-ui .account-menu-link{border-radius:9px}
/* ==========================================================================
   Theme Shell & Persistent Footer Safety
   Header, sidebar, and persistent footer share one theme-driven shell.
   The final shell contract keeps the footer in its own viewport row so forms,
   tables, wizard controls, and sticky actions never travel behind it.
   ========================================================================== */

/* Let the institution theme selected by Super Admin own the application canvas. */
.app-body.sakti-ui{
  background:
    radial-gradient(circle at 100% 0,rgba(var(--role-accent-rgb),.045),transparent 28rem),
    var(--canvas);
}

/* One visual shell: sidebar, header and footer use the same active theme. */
.app-body.sakti-ui .sidebar,
.app-body.sakti-ui .topbar,
.app-body.sakti-ui .app-footer{
  border-color:var(--ds-shell-border);
  color:var(--ds-shell-text);
  background:
    radial-gradient(circle at 82% -80%,rgba(var(--theme-accent-rgb),.24),transparent 34%),
    linear-gradient(105deg,var(--navy-950),var(--navy-900) 58%,var(--navy-800));
  backdrop-filter:none;
}
.app-body.sakti-ui .sidebar{
  background:
    radial-gradient(circle at 8% 0%,rgba(var(--role-accent-rgb),.30),transparent 31%),
    linear-gradient(180deg,var(--navy-950),var(--navy-900) 54%,var(--navy-800));
}
.app-body.sakti-ui .topbar{
  z-index:30;
  border:1px solid var(--ds-shell-border);
  border-radius:var(--shell-card-radius);
}
.app-body.sakti-ui .topbar::after{
  display:block;
  height:2px;
  background:linear-gradient(90deg,transparent,rgba(var(--theme-accent-rgb),.82),transparent);
  opacity:.45;
  transform:scaleX(1);
}
.app-body.sakti-ui .breadcrumb{color:var(--ds-shell-muted)}
.app-body.sakti-ui .breadcrumb>span{color:#b8c8cf}
.app-body.sakti-ui .breadcrumb .ui-icon{color:#78909b}
.app-body.sakti-ui .breadcrumb a{color:#c7d5db}
.app-body.sakti-ui .breadcrumb a:hover{color:#fff}
.app-body.sakti-ui .breadcrumb strong{color:#fff}
.app-body.sakti-ui .topbar-context>small{color:var(--ds-shell-muted)}
.app-body.sakti-ui .role-state{
  color:#fff;
  border-color:rgba(var(--role-accent-rgb),.38);
  background:rgba(var(--role-accent-rgb),.20);
}
.app-body.sakti-ui .system-state{color:#bdcbd1}
.app-body.sakti-ui .system-state.is-pending{color:var(--gold-300)}
.app-body.sakti-ui .topbar-icon{color:#c4d1d7}
.app-body.sakti-ui .topbar-icon:hover,
.app-body.sakti-ui .topbar-icon:focus-visible{
  color:#fff;
  border-color:rgba(255,255,255,.14);
  background:rgba(255,255,255,.08);
}
.app-body.sakti-ui .account-trigger{color:#dce6ea}
.app-body.sakti-ui .account-trigger:hover,
.app-body.sakti-ui .account.is-open .account-trigger{
  border-color:rgba(255,255,255,.13);
  background:rgba(255,255,255,.075);
}
.app-body.sakti-ui .account-copy strong{color:#fff}
.app-body.sakti-ui .account-copy small,
.app-body.sakti-ui .account-trigger>.ui-icon{color:#9db0b9}
.app-body.sakti-ui .avatar{
  color:#fff;
  border-color:rgba(var(--theme-accent-rgb),.48);
  background:linear-gradient(145deg,rgba(var(--theme-accent-rgb),.32),rgba(255,255,255,.08));
}

/* Persistent footer: same shell, predictable single-row height, never covers content. */
.app-body.sakti-ui .app-footer{
  z-index:29;
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  align-items:center;
  min-height:var(--footer-height);
  padding:9px clamp(14px,2vw,24px);
  border:1px solid var(--ds-shell-border);
  border-radius:var(--shell-card-radius);
  color:var(--ds-shell-muted);
  font-size:12px;
  line-height:1.35;
}
.app-body.sakti-ui .app-footer>div{display:flex;align-items:center;gap:9px;min-width:0}
.app-body.sakti-ui .app-footer>div:first-child{justify-self:start}
.app-body.sakti-ui .app-footer>div:last-child{justify-self:end}
.app-body.sakti-ui .app-footer strong{color:#fff;font-size:12px}
.app-body.sakti-ui .app-footer span{color:#c7d4da}
.app-body.sakti-ui .app-footer small{color:var(--gold-300);font-size:12px}

/* Focused controls keep a small breathing room inside the independently scrolling work canvas. */
.app-body.sakti-ui :is(input,select,textarea,button,a,[tabindex]):focus{scroll-margin-block:12px 28px}

/* Account onboarding stays concise: one progress strip + one actual task. */
.app-body.sakti-ui .account-setup-wizard{
  margin-bottom:12px;
}
.app-body.sakti-ui .account-setup-step:not(.is-active) .account-setup-copy small{display:none}

/* Reduce repeated visual weight on operational pages without hiding context. */
.app-body.sakti-ui .single-task-panel{box-shadow:var(--ds-base-shadow)}
.app-body.sakti-ui .single-task-panel>.panel-head{padding-top:16px;padding-bottom:14px}
.app-body.sakti-ui .task-next-note{max-width:62ch}


/* ==========================================================================
   Readable Typography Scale
   Accessibility-first type scale for every authenticated role and work page.
   Keeps the compact one-task layout while removing 9–12px operational text.
   ========================================================================== */

/* Base reading comfort. 16px remains the minimum mobile control size too. */
.app-body.sakti-ui{
  -webkit-text-size-adjust:100%;
  text-size-adjust:100%;
}
.app-body.sakti-ui p{line-height:1.62}
.app-body.sakti-ui small{font-size:var(--ds-type-small)}
.app-body.sakti-ui :is(.eyebrow,.overline){line-height:1.45}

/* Headings retain formal hierarchy without forcing users to read tiny support copy. */
.app-body.sakti-ui h1{font-size:34px;font-weight:700;line-height:1.14;letter-spacing:-.022em}
.app-body.sakti-ui h2{font-size:21px;font-weight:650;line-height:1.34;letter-spacing:-.012em}
.app-body.sakti-ui h3{font-size:17px;font-weight:650;line-height:1.42}
.app-body.sakti-ui .heading-badge{font-size:12.5px;font-weight:600}

/* Sidebar + topbar must be scannable from normal desktop viewing distance. */
.app-body.sakti-ui .sidebar-context-copy small{color:#96aab4;font-size:12px;font-weight:650;letter-spacing:.08em;line-height:1.4;text-transform:uppercase}
.app-body.sakti-ui .sidebar-context-copy strong{margin-top:2px;color:#fff;font-size:14.5px;font-weight:650;line-height:1.4}
.app-body.sakti-ui .sidebar-context-copy em{display:none}
.app-body.sakti-ui .nav-group-label{font-size:12px;font-weight:650;letter-spacing:.12em;line-height:1.4}
.app-body.sakti-ui .nav-copy strong{font-size:var(--ds-type-nav);font-weight:550;line-height:1.42}
.app-body.sakti-ui .nav-copy small{font-size:12.5px;font-weight:400;line-height:1.45}
.app-body.sakti-ui .breadcrumb{font-size:13.5px;font-weight:500;line-height:1.45}
.app-body.sakti-ui .topbar-context>small{font-size:12.5px;line-height:1.45}
.app-body.sakti-ui :is(.role-state,.system-state){font-size:12px;font-weight:600;line-height:1.4}
.app-body.sakti-ui .account-copy strong{font-size:14px;font-weight:600;line-height:1.4}
.app-body.sakti-ui .account-copy small{font-size:12.5px;line-height:1.45}

/* Panels and explanatory copy. */
.app-body.sakti-ui .count-pill{font-size:12.5px;font-weight:600}
.app-body.sakti-ui .summary-rail small{font-size:12px;font-weight:600;line-height:1.45;letter-spacing:.06em}
.app-body.sakti-ui .summary-rail strong{font-size:26px}
.app-body.sakti-ui .summary-note p{font-size:13.5px;line-height:1.58}
.app-body.sakti-ui .empty-state p{font-size:14px;line-height:1.62}

/* Forms: labels, values, help, and validation messages must never feel miniature. */
.app-body.sakti-ui .field>span{font-size:14px;line-height:1.45}
.app-body.sakti-ui :is(input,select,textarea,.custom-select-control,.custom-search-control){
  line-height:1.45;
}
.app-body.sakti-ui textarea{line-height:1.58}
.app-body.sakti-ui .filter-bar :is(input,select){font-size:14.5px}

/* Buttons and actions. */
.app-body.sakti-ui .button-small{line-height:1.35}

/* Tables remain compact but readable on both desktop and horizontal-scroll mobile. */
.app-body.sakti-ui .primary-cell strong{line-height:1.42}
.app-body.sakti-ui .data-table td>small{font-size:12.5px;line-height:1.5}

/* Process guidance and all wizard layers: larger labels, still one-task focused. */
.app-body.sakti-ui .process-guidance-copy strong{font-size:14.5px;line-height:1.4}
.app-body.sakti-ui .process-guidance-copy p{font-size:13px;line-height:1.56}
.app-body.sakti-ui .role-focus-step>span{font-size:12px}
.app-body.sakti-ui .role-focus-step>strong{font-size:12px;line-height:1.32}
.app-body.sakti-ui .role-focus-step>small{font-size:12px;line-height:1.3}
.app-body.sakti-ui .focus-panel-nav>button>strong{line-height:1.35}
.app-body.sakti-ui .focus-list-helper,
.app-body.sakti-ui .focus-list-helper span{font-size:12px;line-height:1.5}
.app-body.sakti-ui .focus-master-detail-toolbar>span{font-size:12px}
.app-body.sakti-ui .focus-panel-footer small,
.app-body.sakti-ui .task-next-note{font-size:12px;line-height:1.5}

/* Account setup stays concise but no longer uses tiny captions. */
.app-body.sakti-ui .account-setup-copy small{line-height:1.45}
.app-body.sakti-ui .account-setup-step .status-badge{font-size:12px}

/* Assessment is the highest-risk workflow for readability: raise all operational microcopy. */
.app-body.sakti-ui .assessment-person-main p{font-size:13.5px;line-height:1.58}
.app-body.sakti-ui .assessment-context-meta small{font-size:12px;line-height:1.4}
.app-body.sakti-ui .assessment-context-meta strong{font-size:12.8px;line-height:1.42}
.app-body.sakti-ui .assessment-progress-copy>span{font-size:12px;line-height:1.4}
.app-body.sakti-ui .assessment-progress-copy>strong{font-size:14px;line-height:1.4}
.app-body.sakti-ui .assessment-runtime-page .assessment-focus-nav small{font-size:12px;line-height:1.4}
.app-body.sakti-ui .assessment-runtime-page .assessment-current-task-large small{font-size:12px}
.app-body.sakti-ui .assessment-runtime-page .assessment-current-task-large strong{font-size:18px;line-height:1.38}
.app-body.sakti-ui .assessment-runtime-page .assessment-current-task-large p{font-size:13.5px;line-height:1.6}
.app-body.sakti-ui .assessment-disclosure-summary small{font-size:12px}
.app-body.sakti-ui .assessment-disclosure-summary strong{font-size:14px;line-height:1.4}
.app-body.sakti-ui .assessment-disclosure-summary em{font-size:12px}
.app-body.sakti-ui .assessment-history-list strong{font-size:13px;line-height:1.42}
.app-body.sakti-ui .assessment-runtime-page-asesor .assessment-queue-person strong{font-size:13.5px}
.app-body.sakti-ui .assessment-runtime-page-asesor .assessment-queue-person small{font-size:12px}
.app-body.sakti-ui .assessment-runtime-page-asesor .assessment-flow-copy strong{font-size:13.5px;line-height:1.4}
.app-body.sakti-ui .assessment-flow-position{font-size:12px;line-height:1.4}
.app-body.sakti-ui .observation-criterion>small{font-size:12px}
.app-body.sakti-ui .observation-criterion>strong{font-size:13px;line-height:1.42}

/* Dialogs and footer remain secondary, but comfortably readable. */
.app-body.sakti-ui .modal-head h2{font-size:22px;line-height:1.32}
.app-body.sakti-ui .modal-head p{font-size:13px;line-height:1.58}

/* Prevent old role-specific 9–11px support labels from leaking into work areas. */
.app-body.sakti-ui :is(
  .detail-list span,
  .quality-gates span,
  .validation-metrics span,
  .summary-rail small,
  .assessment-queue-disclosure>summary small,
  .candidate-practice-upload-head strong small,
  .muk-output-profile-summary small,
  .muk-template-document-identity small,
  .muk-matrix-result-note
){font-size:12px;line-height:1.45}


/* ==========================================================================
   Task Clarity & Interaction Layout
   Shared UX contract: less repeated chrome, clearer one-task orientation,
   stronger action hierarchy, readable controls, and calmer desktop/mobile flow.
   Applies to every authenticated role while retaining the institution theme.
   ========================================================================== */

/* Calm global rhythm. The main task should visually win over supporting chrome. */
.app-body.sakti-ui{
  font-size:16px;
  line-height:1.6;
  text-rendering:optimizeLegibility;
  -webkit-font-smoothing:antialiased;
}
.app-body.sakti-ui .content{
  padding-top:20px;
}
.app-body.sakti-ui p{max-width:var(--ds-layout-reading-width)}
.app-body.sakti-ui ::selection{background:rgba(var(--role-accent-rgb),.20);color:var(--ink-950)}

/* Shell refinements: same theme, less visual noise, stronger alignment. */
.app-body.sakti-ui .sidebar,
.app-body.sakti-ui .topbar,
.app-body.sakti-ui .app-footer{box-shadow:0 12px 34px rgba(7,23,34,.11)}
.app-body.sakti-ui .topbar{min-height:64px}
.app-body.sakti-ui .topbar-leading,
.app-body.sakti-ui .topbar-actions{min-width:0}
.app-body.sakti-ui .breadcrumb strong,
.app-body.sakti-ui .breadcrumb a{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.app-body.sakti-ui .sidebar-nav{scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.16) transparent}
.app-body.sakti-ui .nav-item{min-height:48px}
.app-body.sakti-ui .nav-copy strong,
.app-body.sakti-ui .nav-label{font-weight:650}
.app-body.sakti-ui .nav-item.is-active{box-shadow:inset 3px 0 0 rgba(var(--theme-accent-rgb),.92)}

/* Page title: formal and compact, with one clear message. */
.app-body.sakti-ui .page-heading{
  gap:18px;
  padding:18px 20px;
  border-radius:18px;
  box-shadow:var(--ds-layout-shadow);
}
.app-body.sakti-ui :is(.eyebrow,.overline){font-size:12px;letter-spacing:.08em;font-weight:650}

/* Panels: consistent geometry and a stronger task header. */
.app-body.sakti-ui .single-task-panel>.panel-head,
.app-body.sakti-ui .profile-photo-panel>.panel-head,
.app-body.sakti-ui .signature-profile-panel>.panel-head{
  background:linear-gradient(105deg,rgba(var(--role-accent-rgb),.045),rgba(255,255,255,.98) 55%);
}

/* Compact role workflow: current task is visible; the whole flow is opt-in. */
.app-body.sakti-ui .role-focus-wizard-compact{
  overflow:hidden;
  border:1px solid var(--ds-base-border);
  border-radius:16px;
  background:rgba(255,255,255,.96);
  box-shadow:var(--ds-layout-shadow);
}
.app-body.sakti-ui .role-focus-wizard-compact .role-focus-wizard-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  padding:12px 14px 10px;
}
.app-body.sakti-ui .role-focus-current{display:flex;align-items:center;gap:12px;min-width:0}
.app-body.sakti-ui .role-focus-count{
  flex:0 0 46px;
  width:46px;
  height:46px;
  display:grid;
  place-items:center;
  grid-auto-flow:column;
  gap:1px;
  border:1px solid rgba(var(--role-accent-rgb),.18);
  border-radius:13px;
  background:rgba(var(--role-accent-rgb),.07);
  color:var(--role-accent-strong);
  font-size:17px;
  font-weight:700;
  font-variant-numeric:tabular-nums;
}
.app-body.sakti-ui .role-focus-count small{font-size:12px;color:var(--ink-500);font-weight:600}
.app-body.sakti-ui .role-focus-wizard-copy{min-width:0}
.app-body.sakti-ui .role-focus-wizard-copy .overline{display:block;margin-bottom:1px;font-size:12px}
.app-body.sakti-ui .role-focus-wizard-copy strong{display:block;font-size:15px;line-height:1.35}
.app-body.sakti-ui .role-focus-wizard-copy p{margin:2px 0 0;font-size:12.8px;line-height:1.45;color:var(--ink-600)}
.app-body.sakti-ui .role-focus-wizard-actions{display:flex;align-items:center;gap:7px;flex:none}
.app-body.sakti-ui .role-focus-wizard-meter{display:block;width:100%;height:3px;border:0;border-radius:999px;overflow:hidden;background:rgba(var(--role-accent-rgb),.08);appearance:none}
.app-body.sakti-ui .role-focus-wizard-meter::-webkit-progress-bar{background:rgba(var(--role-accent-rgb),.08)}
.app-body.sakti-ui .role-focus-wizard-meter::-webkit-progress-value{border-radius:999px;background:linear-gradient(90deg,var(--role-accent),var(--theme-accent))}
.app-body.sakti-ui .role-focus-wizard-meter::-moz-progress-bar{border-radius:999px;background:linear-gradient(90deg,var(--role-accent),var(--theme-accent))}
.app-body.sakti-ui .role-focus-disclosure{border-top:1px solid var(--ds-base-border)}
.app-body.sakti-ui .role-focus-disclosure>summary{
  min-height:42px;
  display:grid;
  grid-template-columns:minmax(0,1fr) auto 18px;
  align-items:center;
  gap:10px;
  padding:8px 14px;
  cursor:pointer;
  color:var(--ink-700);
  list-style:none;
  user-select:none;
}
.app-body.sakti-ui .role-focus-disclosure>summary::-webkit-details-marker{display:none}
.app-body.sakti-ui .role-focus-disclosure>summary>span{display:flex;align-items:center;gap:7px;min-width:0}
.app-body.sakti-ui .role-focus-disclosure>summary>span .ui-icon{width:16px;height:16px;color:var(--role-accent)}
.app-body.sakti-ui .role-focus-disclosure>summary strong{font-size:12.5px}
.app-body.sakti-ui .role-focus-disclosure>summary small{font-size:12px;color:var(--ink-500)}
.app-body.sakti-ui .role-focus-disclosure>summary>.ui-icon{width:16px;height:16px;transition:transform .18s ease}
.app-body.sakti-ui .role-focus-disclosure[open]>summary>.ui-icon{transform:rotate(180deg)}
.app-body.sakti-ui .role-focus-disclosure[open]>summary{background:rgba(var(--role-accent-rgb),.025)}
.app-body.sakti-ui .role-focus-disclosure .role-focus-wizard-track{padding:7px 8px 9px;border-top:1px solid var(--ds-base-border)}
.app-body.sakti-ui .role-focus-disclosure .role-focus-step{min-height:51px}

/* Local one-page wizard: show a strong current-task label and sequential progress. */
.app-body.sakti-ui .focus-panel-nav{
  position:relative;
  display:flex;
  align-items:center;
  gap:6px;
  padding:7px;
  overflow:auto hidden;
  border-radius:14px;
  background:rgba(255,255,255,.98);
  scrollbar-width:thin;
}
.app-body.sakti-ui .focus-panel-nav::after{
  content:"";
  position:absolute;
  left:0;
  bottom:0;
  width:var(--focus-panel-progress,0%);
  height:2px;
  border-radius:999px;
  background:linear-gradient(90deg,var(--role-accent),var(--theme-accent));
  transition:width .2s ease;
}
.app-body.sakti-ui .focus-panel-nav-head{
  flex:1 0 min(310px,42vw);
  min-width:220px;
  display:grid;
  gap:1px;
  padding:4px 8px 4px 6px;
  border-right:1px solid var(--ds-base-border);
}
.app-body.sakti-ui .focus-panel-nav-head .overline{font-size:12px}
.app-body.sakti-ui .focus-panel-nav-head strong{font-size:13.5px;line-height:1.35;color:var(--ink-900);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.app-body.sakti-ui .focus-panel-nav-head small{font-size:12px;color:var(--ink-500)}
.app-body.sakti-ui .focus-panel-nav>button{min-height:40px;padding:5px 9px}
.app-body.sakti-ui .focus-panel-nav>button>span{font-size:12px}
.app-body.sakti-ui .focus-panel-nav>button>strong{font-size:12.5px}
.app-body.sakti-ui .focus-panel-nav>button.is-locked{opacity:.34;cursor:not-allowed}
.app-body.sakti-ui .focus-panel-footer{
  display:grid;
  grid-template-columns:auto minmax(120px,1fr) auto;
  align-items:center;
  gap:8px;
}
.app-body.sakti-ui .focus-panel-footer>small{text-align:center;color:var(--ink-500);font-size:12px}

/* Account setup: a progress strip, not three competing cards. */
.app-body.sakti-ui .account-setup-wizard{
  margin-inline:auto;
}
.app-body.sakti-ui .account-setup-step.is-active{
  border-color:rgba(var(--role-accent-rgb),.30);
}
.app-body.sakti-ui .account-setup-copy small{font-size:12px}

/* Form efficiency: consistent readable controls and unmistakable validation. */
.app-body.sakti-ui .field{gap:7px}
.app-body.sakti-ui .field>span{font-weight:600}
.app-body.sakti-ui :is(input,select,textarea,.custom-select-control,.custom-search-control){font-size:15.5px}
.app-body.sakti-ui :is(.field input,.field select,.filter-bar input,.filter-bar select,.custom-select-trigger,.custom-date-trigger){min-height:var(--ds-layout-control-height)}
.app-body.sakti-ui .field textarea{min-height:112px}
.app-body.sakti-ui .field-hint{font-size:12.8px;line-height:1.52;color:var(--ink-600)}
.app-body.sakti-ui .field-error{font-size:12.8px;line-height:1.48;font-weight:700}
.app-body.sakti-ui :is(input,select,textarea,button,a,[tabindex]):focus-visible{
  outline:2px solid transparent;
  box-shadow:var(--ds-layout-focus-ring);
}
.app-body.sakti-ui :is(input,select,textarea)[aria-invalid="true"],
.app-body.sakti-ui :is(input,select,textarea).is-invalid{border-color:#b85858!important;background:#fffafa}
.app-body.sakti-ui .field-required{font-size:12px}

/* One clear primary action. Secondary navigation stays visually secondary. */
.app-body.sakti-ui .button{min-height:var(--ds-layout-touch-target)}
.app-body.sakti-ui .button-small{min-height:40px;font-weight:600}
.app-body.sakti-ui .button-primary{box-shadow:0 6px 18px rgba(var(--button-primary-rgb),.18)}
.app-body.sakti-ui .button-primary:hover:not(:disabled):not(.is-disabled){box-shadow:0 9px 22px rgba(var(--button-primary-rgb),.22)}
.app-body.sakti-ui .button-ghost{background:rgba(255,255,255,.92)}
.app-body.sakti-ui :is(.button,.icon-button,.nav-item,.account-trigger,.topbar-icon){-webkit-tap-highlight-color:transparent}
.app-body.sakti-ui :is(button,.button,.icon-button,.topbar-icon,.account-trigger):disabled,
.app-body.sakti-ui .is-disabled{opacity:.52;cursor:not-allowed;transform:none!important;box-shadow:none!important}

/* Sticky action rows always remain above the persistent footer. */
.app-body.sakti-ui .form-actions-sticky,
.app-body.sakti-ui .sticky-form-actions{
  z-index:16;
  padding:11px 12px;
  margin-inline:-12px;
  border:1px solid var(--ds-base-border);
  border-radius:12px;
  background:rgba(255,255,255,.96);
  box-shadow:0 9px 28px rgba(7,23,34,.08);
  backdrop-filter:blur(14px);
}
.app-body.sakti-ui .task-next-note{font-size:12.8px;line-height:1.45;color:var(--ink-600)}

/* Tables: readable, comparable, and efficient without becoming cards on phones. */
.app-body.sakti-ui .primary-cell strong{font-size:14.5px;font-weight:600}
.app-body.sakti-ui .status-badge{min-height:27px;font-size:12px;font-weight:650;line-height:1.3;letter-spacing:.03em}
.app-body.sakti-ui .table-scroll-cue{font-size:12px}
.app-body.sakti-ui .data-page-size-toolbar{gap:8px}
.app-body.sakti-ui .client-table-search input{min-height:42px;font-size:14px}

/* Modal and menus follow the active theme while keeping the work surface neutral. */
.app-body.sakti-ui .modal-dialog{box-shadow:var(--ds-layout-shadow-raised)}
.app-body.sakti-ui .modal-head{background:linear-gradient(105deg,rgba(var(--role-accent-rgb),.05),#fff 58%)}
.app-body.sakti-ui .account-menu{box-shadow:var(--ds-layout-shadow-raised)}
.app-body.sakti-ui .account-menu-link{min-height:42px}

/* Theme settings are easier to scan; selected theme is unmistakable. */
.app-body.sakti-ui .theme-palette-grid{gap:10px}
.app-body.sakti-ui .theme-palette-card{height:100%;border-radius:14px}
.app-body.sakti-ui .theme-palette-option>input:checked+.theme-palette-card{
  border-color:rgba(var(--role-accent-rgb),.48);
  box-shadow:0 0 0 2px rgba(var(--role-accent-rgb),.10),var(--ds-layout-shadow);
}

/* Very long help text is secondary; keep it readable without competing with the task. */
.app-body.sakti-ui :is(.signature-help,.callout,.workflow-guidance,.focus-list-helper,.focus-master-detail-toolbar){font-size:13px;line-height:1.52}
.app-body.sakti-ui .profile-photo-panel .profile-photo-preview small{font-size:12.5px;line-height:1.48}

/* Scroll positioning keeps focused content comfortably inside the work canvas. */
.app-body.sakti-ui :is([id],.field,.panel){scroll-margin-top:92px}
.app-body.sakti-ui .page-stage>:last-child:not(.modal-layer){scroll-margin-bottom:28px}


/* dashboard efficiency: priorities first, decoration restrained. */
.app-body.sakti-ui .dashboard-hero{
  border-radius:18px;
  box-shadow:var(--ds-layout-shadow);
}
.app-body.sakti-ui .dashboard-hero h1{max-width:26ch}
.app-body.sakti-ui .dashboard-hero p{font-size:14px;line-height:1.55;max-width:68ch}
.app-body.sakti-ui .metric-grid{gap:10px}
.app-body.sakti-ui .dashboard-grid{gap:12px}
.app-body.sakti-ui .priority-item{min-height:64px}
.app-body.sakti-ui .governance-strip{padding:13px 15px;border-radius:14px;box-shadow:none}
.app-body.sakti-ui .governance-strip h2{font-size:16px}
.app-body.sakti-ui .governance-strip p{font-size:12.8px}


/* ========================================================================
   Mobile First Layout
   Phones use a native-feeling shell: full-width themed header/footer,
   compact progress, one visible task, readable controls, and a calm drawer.
   All colors continue to inherit the Super Admin theme variables.
   ======================================================================== */


.admin-reset-disclosure>summary{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;padding:14px 16px;cursor:pointer;list-style:none}.admin-reset-disclosure>summary::-webkit-details-marker{display:none}.admin-reset-disclosure>summary>span{display:flex;align-items:center;gap:9px}.admin-reset-disclosure>summary>small{grid-column:1;color:var(--muted);font-size:12px;line-height:1.4}.admin-reset-disclosure>summary>.ui-icon{grid-column:2;grid-row:1/3;transition:transform .18s ease}.admin-reset-disclosure[open]>summary>.ui-icon{transform:rotate(180deg)}.admin-reset-disclosure-body{padding:0 16px 16px;border-top:1px solid var(--border);padding-top:14px}.admin-reset-disclosure-body h2{margin:4px 0 6px;font-size:17px}.admin-reset-disclosure-body p{margin:0 0 12px;color:var(--muted);font-size:13px;line-height:1.5}


/* Concise work-page copy: keep errors, warnings, field help, and MUK instructions visible. */
.app-body.sakti-ui .role-focus-wizard-copy > p{display:none!important}

.app-body.sakti-ui .page-heading{row-gap:8px}
.app-body.sakti-ui .role-focus-wizard-copy{gap:1px}
/* ==========================================================================
   Unified application visual language
   One visual language for every role: title -> context -> task -> action.
   The layer removes repeated decorative chrome without hiding legal/process text.
   ========================================================================== */

/* Page heading contract: every role starts on the same premium stage. */
.app-body.sakti-ui .content{
  width:min(100%,var(--sakti-page-max));
  margin-inline:auto;
}
.app-body.sakti-ui .page-stage{
  width:100%;
  max-width:var(--sakti-page-max);
  margin-inline:auto;
  gap:var(--sakti-world-gap);
}
.app-body.sakti-ui .page-heading,
.app-body.sakti-ui .page-heading-compact{
  position:relative;
  width:100%;
  max-width:none;
  min-height:92px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  margin:0;
  padding:16px 20px 16px 22px;
  overflow:hidden;
  border:1px solid rgba(18,42,55,.095);
  border-radius:16px;
  background:linear-gradient(180deg,rgba(255,255,255,.995),rgba(250,251,250,.985));
  box-shadow:0 8px 24px rgba(7,23,34,.045);
}
.app-body.sakti-ui .page-heading::before{
  content:"";
  position:absolute;
  inset:15px auto 15px 0;
  width:3px;
  border-radius:0 999px 999px 0;
  background:linear-gradient(180deg,var(--role-accent),var(--theme-accent));
}
.app-body.sakti-ui .page-heading::after{content:none}
.app-body.sakti-ui .page-heading>div:first-child{display:grid;align-content:center;gap:0;min-width:0;max-width:min(920px,100%)}
.app-body.sakti-ui .page-heading h1,
.app-body.sakti-ui .page-heading-compact h1{
  margin:2px 0 4px;
  color:var(--ink-950);
  font-size:clamp(28px,1.75vw,32px);
  font-weight:700;
  line-height:1.16;
  letter-spacing:-.022em;
}
.app-body.sakti-ui .page-heading p{max-width:72ch;margin:0;color:var(--ink-650);font-size:14px;line-height:1.58}
.app-body.sakti-ui .page-heading :is(.eyebrow,.overline){margin:0;color:var(--role-accent-strong);font-size:12px;font-weight:650;line-height:1.4;letter-spacing:.08em}
.app-body.sakti-ui .page-heading-actions{align-self:center;display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap}
.app-body.sakti-ui .page-heading>.status-badge{align-self:center}

/* Dashboard and workflow heroes use the same light premium language as page headings. */
.app-body.sakti-ui :is(.dashboard-hero,.workspace-hero,.muk-workspace-hero,.readiness-hero,.assessment-hero,.ak01-hero,.recommendation-hero,.decision-hero,.certificate-hero,.case-hero,.result-hero){
  position:relative;
  overflow:hidden;
  border:1px solid var(--sakti-world-border);
  border-radius:var(--sakti-world-radius);
  color:var(--ink-950);
  background:
    radial-gradient(circle at 94% -20%,rgba(var(--role-accent-rgb),.105),transparent 35%),
    var(--sakti-world-surface);
  box-shadow:var(--sakti-world-shadow-focus);
}
.app-body.sakti-ui :is(.dashboard-hero,.workspace-hero,.muk-workspace-hero,.readiness-hero)::before{
  content:"";position:absolute;inset:18px auto 18px 0;width:3px;border-radius:0 999px 999px 0;background:linear-gradient(180deg,var(--role-accent),var(--theme-accent));
}
.app-body.sakti-ui .dashboard-hero{grid-template-columns:minmax(0,1fr) minmax(260px,320px);gap:22px;min-height:150px;margin:0;padding:22px 24px}
.app-body.sakti-ui .dashboard-hero-copy{display:grid;align-content:center;min-width:0}
.app-body.sakti-ui .dashboard-hero h1{margin:3px 0 0;color:var(--ink-950);font-size:34px;font-weight:700;line-height:1.15;letter-spacing:-.022em}
.app-body.sakti-ui .dashboard-hero :is(.overline,.eyebrow,.overline-light){color:var(--role-accent-strong)}
.app-body.sakti-ui .dashboard-hero p,.app-body.sakti-ui .hero-meta{color:var(--ink-600)}
.app-body.sakti-ui .dashboard-hero .hero-gridline{display:none}
.app-body.sakti-ui .period-card{align-self:stretch;justify-content:center;min-width:0;min-height:104px;padding:16px 18px;border:1px solid color-mix(in srgb,var(--role-accent) 18%,var(--line));border-radius:14px;background:color-mix(in srgb,var(--role-accent-soft) 58%,#fff);box-shadow:none;backdrop-filter:none}
.app-body.sakti-ui .period-card span{margin-bottom:5px;color:var(--ink-500)}
.app-body.sakti-ui .period-card strong{margin-bottom:4px;color:var(--ink-950);font-size:20px}
.app-body.sakti-ui .period-card small{color:var(--ink-600)}
.app-body.sakti-ui .period-card i{background:var(--role-accent)}
.app-body.sakti-ui :is(.workspace-hero,.muk-workspace-hero,.readiness-hero){min-height:126px;align-items:center;gap:20px;margin:0;padding:20px 22px}
.app-body.sakti-ui :is(.workspace-hero,.muk-workspace-hero,.readiness-hero) :is(h1,h2){color:var(--ink-950)}
.app-body.sakti-ui :is(.workspace-hero,.muk-workspace-hero,.readiness-hero) :is(p,.workspace-status-line>span:last-child){color:var(--ink-600)}
.app-body.sakti-ui :is(.workspace-hero,.muk-workspace-hero,.readiness-hero) :is(.eyebrow,.overline,.overline-light){color:var(--role-accent-strong)}
.app-body.sakti-ui :is(.assessment-hero,.ak01-hero,.recommendation-hero,.decision-hero,.certificate-hero,.case-hero,.result-hero){min-height:116px;align-items:center;gap:18px;padding:18px 20px}
.app-body.sakti-ui :is(.assessment-hero,.ak01-hero,.recommendation-hero,.decision-hero,.certificate-hero,.case-hero,.result-hero) :is(h1,h2){color:var(--ink-950);font-size:28px}
.app-body.sakti-ui :is(.assessment-hero,.ak01-hero,.recommendation-hero,.decision-hero,.certificate-hero,.case-hero,.result-hero) p{color:var(--ink-600)}
.app-body.sakti-ui :is(.assessment-hero-status,.ak01-hero-status,.recommendation-result,.certificate-hero>div:last-child,.case-hero>div:last-child,.result-hero>div:last-child){border:1px solid color-mix(in srgb,var(--role-accent) 18%,var(--line));background:color-mix(in srgb,var(--role-accent-soft) 55%,#fff);box-shadow:none;backdrop-filter:none}
.app-body.sakti-ui :is(.assessment-hero-status,.ak01-hero-status,.recommendation-result,.certificate-hero>div:last-child,.case-hero>div:last-child,.result-hero>div:last-child) :is(span,small){color:var(--ink-600)}
.app-body.sakti-ui :is(.assessment-hero-status,.ak01-hero-status,.recommendation-result,.certificate-hero>div:last-child,.case-hero>div:last-child,.result-hero>div:last-child) strong{color:var(--ink-950)}

/* Work surfaces: one radius, border, header rhythm, table and metric grammar. */
.app-body.sakti-ui .panel{margin:0;border:1px solid var(--sakti-world-border);background:#fff}
.app-body.sakti-ui .panel-head{min-height:60px;align-items:center;gap:12px;padding:13px 18px;border-bottom:1px solid rgba(18,42,55,.08);background:linear-gradient(180deg,#fff,rgba(250,251,250,.94))}
.app-body.sakti-ui .panel-head>div{min-width:0}
.app-body.sakti-ui .panel-head h2{margin:1px 0 3px;font-size:18px;font-weight:650;line-height:1.35;letter-spacing:-.008em}
.app-body.sakti-ui .panel-head p{max-width:74ch;margin:0;color:var(--ink-650);font-size:13.5px;line-height:1.58}
.app-body.sakti-ui :is(.metric-grid,.summary-rail){gap:12px;margin-block:0}
.app-body.sakti-ui .metric-grid{grid-template-columns:repeat(auto-fit,minmax(210px,1fr))}
.app-body.sakti-ui .metric-card{min-height:112px;padding:15px 16px;border:1px solid var(--sakti-world-border);border-radius:15px;background:#fff;box-shadow:0 6px 20px rgba(7,23,34,.04)}
.app-body.sakti-ui .metric-card:hover{transform:none;box-shadow:0 8px 24px rgba(7,23,34,.055)}
.app-body.sakti-ui .metric-icon{width:40px;height:40px;border-radius:11px}
.app-body.sakti-ui .metric-copy>strong{margin:4px 0 2px;font-size:27px;font-weight:700;line-height:1.1;letter-spacing:-.018em}
.app-body.sakti-ui .summary-rail>article{min-height:92px;border-radius:14px}
.app-body.sakti-ui :is(.filter-bar,.compact-filter-bar,.archive-directory-filter){gap:8px}
.app-body.sakti-ui :is(.filter-bar,.compact-filter-bar) :is(input,select,.custom-select-trigger,.custom-date-trigger,.button){min-height:44px}
.app-body.sakti-ui .table-panel{overflow:hidden}
.app-body.sakti-ui .table-wrap{max-width:100%;overflow-x:auto;overscroll-behavior-inline:contain}
.app-body.sakti-ui .data-table thead th{padding:11px 13px;background:#f7f8f7;font-weight:650}
.app-body.sakti-ui .data-table tbody td{padding:12px 13px;font-size:14.25px;line-height:1.52}
.app-body.sakti-ui .data-table tbody tr:hover{background:color-mix(in srgb,var(--role-accent-soft) 30%,#fff)}
.app-body.sakti-ui :is(.role-focus-wizard,.system-settings-nav,.focus-panel-nav){border-color:var(--sakti-world-border);border-radius:15px;background:#fff;box-shadow:0 6px 20px rgba(7,23,34,.04)}

/* One action language everywhere: previous/secondary left, primary right. */
.app-body.sakti-ui :is(.form-actions,.single-task-next,.panel-footer-actions,.focus-panel-footer){
  min-height:58px;
  align-items:center;
  gap:9px;
}
.app-body.sakti-ui .single-task-next{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  width:100%;
  margin:0;
  padding:11px 14px;
  border:1px solid var(--sakti-world-border);
  border-top:0;
  border-radius:0 0 16px 16px;
  background:rgba(255,255,255,.96);
  box-shadow:0 9px 24px rgba(7,23,34,.04);
}
.app-body.sakti-ui .form-actions{
  margin-top:14px;
  padding-top:13px;
  border-top:1px solid var(--sakti-action-line);
}
.app-body.sakti-ui :is(.form-actions,.single-task-next,.panel-footer-actions) .button-primary{margin-left:auto}
.app-body.sakti-ui .form-actions .task-next-note{margin-right:auto}

/* Account setup is a single compact progress strip; page title/status are not repeated. */
.app-body.sakti-ui :is(.page-profile,.page-profile-photo,.page-signature) .ui-page-stage> :is(.account-setup-wizard,.page-heading,.single-task-panel,.account-task-stack),
.app-body.sakti-ui:is(.page-profile,.page-profile-photo,.page-signature) .ui-page-stage> :is(.account-setup-wizard,.page-heading,.single-task-panel,.account-task-stack){
  width:min(100%,var(--ds-layout-task-max));
  max-width:var(--ds-layout-task-max);
  margin-inline:auto;
}
.app-body.sakti-ui .page-heading-account{min-height:86px;padding-block:14px}
.app-body.sakti-ui .account-task-stack{display:grid;gap:0}
.app-body.sakti-ui .account-task-stack>.panel{width:100%;max-width:none;margin:0;border-radius:16px 16px 0 0;box-shadow:0 10px 28px rgba(7,23,34,.05)}
.app-body.sakti-ui .account-setup-wizard{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  width:min(100%,var(--ds-layout-task-max));
  gap:0;
  padding:4px;
  border:1px solid rgba(20,45,58,.09);
  border-radius:15px;
  background:rgba(255,255,255,.96);
  box-shadow:0 5px 18px rgba(7,23,34,.035);
}
.app-body.sakti-ui .account-setup-step{
  position:relative;
  display:grid;
  grid-template-columns:30px minmax(0,1fr);
  align-items:center;
  gap:8px;
  min-width:0;
  min-height:48px;
  padding:6px 10px;
  border:0;
  border-radius:11px;
  background:transparent;
  box-shadow:none;
}
.app-body.sakti-ui .account-setup-step+.account-setup-step{margin-left:3px}
.app-body.sakti-ui .account-setup-step:hover{background:rgba(var(--role-accent-rgb),.035)}
.app-body.sakti-ui .account-setup-step.is-active{
  border:0;
  background:rgba(var(--role-accent-rgb),.075);
  box-shadow:inset 0 0 0 1px rgba(var(--role-accent-rgb),.13);
}
.app-body.sakti-ui .account-setup-number{width:28px;height:28px;border-radius:9px;background:#f4f6f5;color:var(--ink-600);font-size:12px}
.app-body.sakti-ui .account-setup-step.is-active .account-setup-number{background:#fff;color:var(--role-accent-strong)}
.app-body.sakti-ui .account-setup-step.is-done .account-setup-number{background:var(--success-soft);color:var(--success-strong)}
.app-body.sakti-ui .account-setup-copy{display:flex;align-items:baseline;gap:7px;min-width:0}
.app-body.sakti-ui .account-setup-copy strong{font-size:13px;line-height:1.3}
.app-body.sakti-ui .account-setup-note{color:var(--ink-500);font-size:12px;font-weight:700;line-height:1.3}

/* Profile: no decorative identity card that repeats the header/sidebar account. */
 .app-body.sakti-ui .profile-account-card{padding:0;overflow:hidden}
.app-body.sakti-ui .profile-account-card>.panel-head{margin:0;padding:13px 20px}
.app-body.sakti-ui .profile-account-card>.form-grid{padding:20px 22px 6px}
.app-body.sakti-ui .profile-account-card>.form-actions{margin:0 22px;padding:14px 0 18px}

/* Photo upload: give the upload control enough room; never truncate the main instruction. */
.app-body.sakti-ui .profile-photo-panel{padding:0;overflow:hidden}
.app-body.sakti-ui .profile-photo-panel>.panel-head{margin:0;padding:13px 20px}
.app-body.sakti-ui .profile-photo-content{
  grid-template-columns:minmax(250px,.58fr) minmax(0,1.42fr);
  gap:18px;
  align-items:stretch;
  padding:18px 20px 20px;
}
.app-body.sakti-ui .profile-photo-preview{gap:14px;align-items:center;padding:14px 16px;border:1px solid var(--line-soft);border-radius:14px;background:#fafbfa}
.app-body.sakti-ui .profile-photo-preview strong{font-size:16.5px}
.app-body.sakti-ui .profile-photo-preview span{font-size:12.5px}
.app-body.sakti-ui .profile-photo-form{grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:stretch}
.app-body.sakti-ui .profile-photo-form .file-control{min-width:0;min-height:82px}
.app-body.sakti-ui .profile-photo-form>.button{align-self:center;min-width:124px}
.app-body.sakti-ui .profile-photo-form .file-control strong,
.app-body.sakti-ui .profile-photo-form .file-control small{white-space:normal;overflow:visible;text-overflow:clip}

/* Signature: when there is no saved signature, the user should see one direct task, not two equal cards. */
.app-body.sakti-ui .signature-profile-panel.needs-signature .signature-profile-grid{grid-template-columns:1fr;gap:12px}
.app-body.sakti-ui .signature-profile-panel.needs-signature .signature-current-card{
  min-height:0;
  padding:12px 14px;
  border-style:dashed;
  background:color-mix(in srgb,var(--warning) 4%,#fff);
}
.app-body.sakti-ui .signature-profile-panel.needs-signature .signature-empty{
  min-height:0;
  display:grid;
  grid-template-columns:34px minmax(0,1fr);
  gap:2px 10px;
  align-items:center;
  padding:0;
}
.app-body.sakti-ui .signature-profile-panel.needs-signature .signature-empty>span{grid-row:1/3;width:34px;height:34px}
.app-body.sakti-ui .signature-profile-panel.needs-signature .signature-empty strong{font-size:13.5px}
.app-body.sakti-ui .signature-profile-panel.needs-signature .signature-empty p{margin:0;font-size:12.5px;line-height:1.4}
.app-body.sakti-ui .signature-profile-panel.needs-signature .signature-canvas-form{background:#fff}
.app-body.sakti-ui .signature-profile-panel{padding:0;overflow:hidden}
.app-body.sakti-ui .signature-profile-panel>.panel-head{margin:0;padding:13px 20px}
.app-body.sakti-ui .signature-profile-grid{grid-template-columns:minmax(290px,.72fr) minmax(0,1.28fr);gap:16px;padding:18px 20px 20px}
.app-body.sakti-ui .signature-current-card,.app-body.sakti-ui .signature-canvas-form{padding:16px;border-color:rgba(18,42,55,.10);border-radius:14px;background:#fbfcfb}
.app-body.sakti-ui .signature-canvas-form{background:#fff}
.app-body.sakti-ui .signature-current-actions{display:flex;justify-content:flex-start;margin-top:auto;padding-top:12px;border-top:1px solid var(--line-soft)}
.app-body.sakti-ui .signature-current-actions .button{min-height:44px}
.app-body.sakti-ui .signature-preview{min-height:170px}
.app-body.sakti-ui .signature-canvas-head{margin-bottom:10px}
.app-body.sakti-ui .signature-canvas-head h3{font-size:19px}

/* Supporting copy stays secondary. Errors, warnings and legal/process statements remain visible. */
.app-body.sakti-ui :is(.task-next-note,.field-hint,.panel-head p,.callout p,.workflow-guidance p){color:var(--ink-600)}
.app-body.sakti-ui :is(.empty-state,.signature-empty) p{max-width:62ch}


/* ==========================================================================
   Mobile operational contract
   Final phone contract for 360–430px: readable, thumb-safe, no stacked sticky
   actions, local table scrolling, keyboard-aware sheets, and one visual rhythm.
   ========================================================================== */


/* Segmented navigation is navigation, never a competing primary CTA. */
.app-body.sakti-ui .segmented-nav{
  gap:4px;padding:4px;border:1px solid var(--line-soft);border-radius:12px;background:var(--surface-soft)
}
.app-body.sakti-ui .segmented-nav>.button{
  min-height:38px;border-color:transparent;background:transparent;color:var(--ink-700);box-shadow:none
}
.app-body.sakti-ui .segmented-nav>.button:hover{background:rgba(var(--role-accent-rgb),.06);color:var(--role-accent-strong)}
.app-body.sakti-ui .segmented-nav>.button.is-active{
  border-color:rgba(var(--role-accent-rgb),.18);background:#fff;color:var(--role-accent-strong);box-shadow:0 3px 10px rgba(7,23,34,.06)
}

/* ==========================================================================
   Accessibility, Density & Readability
   Visual contract for every authenticated role and work page.
   Keeps the established visual identity while improving readability, density,
   contrast, MUK calmness, assessment focus, and desktop/mobile consistency.
   ========================================================================== */

/* Readable premium typography: never use microscopic operational labels. */


.app-body.sakti-ui :is(
  .page-heading .eyebrow,.page-heading .overline,.panel-head .overline,
  .role-focus-wizard-copy .overline,.role-focus-step>small,
  .account-setup-step>.status-badge,.assessment-runtime-page .assessment-focus-nav small,
  .assessment-runtime-page .assessment-current-task-large small,
  .assessment-runtime-page .assessment-queue-disclosure>summary small,
  .assessment-runtime-page-asesor .assessment-queue-person small,
  .summary-rail small,.primary-cell small,.table-subtext,.field-hint,.field-required,
  .nav-group-label,.nav-copy small,.sidebar-context-copy small,.brand-copy small,
  .role-state,.system-state,.data-table td>small,.account-setup-number,
  .pagination-summary,.app-footer,.app-footer small
){font-size:var(--ds-a11y-micro);line-height:1.4}
.app-body.sakti-ui :is(.status-badge,.count-pill,.scheme-code){font-size:var(--ds-a11y-micro);line-height:1.3}
.app-body.sakti-ui .field{font-size:var(--ds-a11y-label);line-height:1.45}
.app-body.sakti-ui .data-table td{font-size:var(--ds-a11y-table);line-height:1.48}
.app-body.sakti-ui .button{font-size:14.5px;font-weight:600;line-height:1.3}
.app-body.sakti-ui .button-small{font-size:13.5px}

/* Calm depth: primary surfaces are clear without looking like floating cards everywhere. */
.app-body.sakti-ui .panel{border-radius:var(--ds-a11y-panel-radius);box-shadow:var(--ds-a11y-shadow)}
.app-body.sakti-ui .page-stage>.panel:first-of-type,
.app-body.sakti-ui .single-task-panel,
.app-body.sakti-ui .assessment-runtime-active-panel{box-shadow:var(--ds-a11y-shadow-focus)}
.app-body.sakti-ui details.panel:not([open]){box-shadow:0 4px 14px rgba(7,23,34,.035)}
.app-body.sakti-ui :is(.panel-head,.form-actions,.panel-footer-actions,.single-task-next){border-color:rgba(20,45,58,.10)}

/* Strong keyboard focus remains visible in every theme. */
.app-body.sakti-ui :is(a,button,input,select,textarea,summary,[tabindex]):focus-visible{
  outline:0;
  box-shadow:0 0 0 3px rgba(var(--role-accent-rgb),.22),0 0 0 1px var(--role-accent-strong);
}

/* MUK: automatic/technical information becomes secondary; the current task wins. */
.app-body.sakti-ui .muk-universal-panel{padding:0;overflow:hidden}
.app-body.sakti-ui .muk-secondary-summary{
  display:grid;grid-template-columns:38px minmax(0,1fr) auto;align-items:center;gap:11px;
  min-height:62px;padding:11px 15px;cursor:pointer;list-style:none;background:var(--surface);
}
.app-body.sakti-ui .muk-secondary-summary::-webkit-details-marker{display:none}
.app-body.sakti-ui .muk-secondary-summary>span{
  display:grid;place-items:center;width:38px;height:38px;border-radius:11px;
  color:var(--role-accent-strong);background:var(--role-accent-soft)
}
.app-body.sakti-ui .muk-secondary-summary>span .ui-icon{width:18px;height:18px}
.app-body.sakti-ui .muk-secondary-summary>div{display:grid;gap:1px;min-width:0}
.app-body.sakti-ui .muk-secondary-summary small{color:var(--ink-600);font-size:var(--ds-a11y-micro);font-weight:650;text-transform:uppercase;letter-spacing:.06em}
.app-body.sakti-ui .muk-secondary-summary strong{font-size:14px;line-height:1.35;color:var(--ink-900)}
.app-body.sakti-ui .muk-secondary-summary>em{font-style:normal;font-size:12px;font-weight:650;color:var(--role-accent-strong)}
.app-body.sakti-ui .muk-universal-panel[open]>.muk-secondary-summary{border-bottom:1px solid var(--line-soft);background:var(--surface-soft)}
.app-body.sakti-ui .muk-secondary-body{padding:0 16px 16px}
.app-body.sakti-ui .muk-secondary-body>.muk-technical-heading{margin-inline:-16px;padding:12px 16px;background:transparent}
.app-body.sakti-ui .muk-secondary-body>.muk-technical-heading h2{font-size:16px}
.app-body.sakti-ui .muk-universal-panel .muk-package-summary-grid{margin-top:12px}
.app-body.sakti-ui .muk-universal-panel .callout{margin-top:10px}
.app-body.sakti-ui .muk-technical-note{margin-top:8px}
.app-body.sakti-ui .muk-advanced-package>summary{min-height:58px;padding-block:10px}
.app-body.sakti-ui .muk-advanced-package>summary small{font-size:12px;line-height:1.4}
.app-body.sakti-ui .muk-package-task-panel{border-color:color-mix(in srgb,var(--role-accent) 24%,var(--line));box-shadow:var(--ds-a11y-shadow-focus)}

/* Assessment: one Asesi + one current task stays visually dominant. */
.app-body.sakti-ui .assessment-runtime-page-asesor .assessment-person-context{box-shadow:0 5px 18px rgba(7,23,34,.04)}
.app-body.sakti-ui .assessment-runtime-page .assessment-progress-compact{box-shadow:none;background:var(--surface-soft)}
.app-body.sakti-ui .assessment-runtime-page .assessment-focus-nav{
  grid-template-columns:repeat(4,minmax(0,1fr));gap:5px;padding:5px;border-radius:14px;
}
.app-body.sakti-ui .assessment-runtime-page .assessment-focus-nav>a{min-height:48px}
.app-body.sakti-ui .assessment-runtime-page .assessment-focus-nav strong{font-size:12.5px;line-height:1.35}
.app-body.sakti-ui .assessment-runtime-page .assessment-current-task-large{box-shadow:var(--ds-a11y-shadow-focus)}
.app-body.sakti-ui .assessment-runtime-page .assessment-current-task-large p{max-width:70ch}
.app-body.sakti-ui .assessment-runtime-page .assessment-secondary-disclosure{box-shadow:none!important}
.app-body.sakti-ui .assessment-runtime-page .assessment-secondary-disclosure:not([open]){background:var(--surface-soft)}
.app-body.sakti-ui .assessment-runtime-page .assessment-secondary-disclosure>.assessment-disclosure-summary{min-height:56px}
.app-body.sakti-ui .assessment-runtime-page-asesor .assessment-runtime-instrument.is-active{box-shadow:0 9px 24px rgba(7,23,34,.055)}
.app-body.sakti-ui .assessment-runtime-page-asesor .assessment-runtime-instrument:not(.is-active){display:none!important}
.app-body.sakti-ui .assessment-runtime-page-asesor .assessment-completeness-panel:not(.is-current-assessment-section),
.app-body.sakti-ui .assessment-runtime-page-asesor #assessment-notes:not([open]){box-shadow:none}

/* Dense administrative tables use one rhythm rather than card-like rows. */
.app-body.sakti-ui .table-wrap{border-radius:12px}
.app-body.sakti-ui .data-table tbody tr{transition:background-color .14s ease}


/* Desktop action placement is predictable across forms and workspaces. */


/* Phone/tablet contract: compact, readable, no horizontal page overflow. */


/* ==========================================================================
   Super Administrator — canonical visual system
   One role, one composition grammar: aligned heading → summary → work panel.
   Page-specific rules live only in this block; no trailing override patches.
   ========================================================================== */
.app-body.role-super-admin{
  --superadmin-page-width:var(--sakti-page-max);
  --superadmin-gap:var(--sakti-world-gap);
  --superadmin-section-radius:var(--sakti-world-radius);
  --superadmin-control-height:44px;
}
.app-body.role-super-admin .summary-rail{gap:10px}
.app-body.role-super-admin .summary-rail-3{grid-template-columns:repeat(3,minmax(0,1fr))}
.app-body.role-super-admin .summary-rail-4{grid-template-columns:repeat(3,minmax(0,1fr)) minmax(290px,1.25fr)}
.app-body.role-super-admin .summary-rail article{min-width:0;min-height:84px;padding:13px 15px;border-radius:14px}
.app-body.role-super-admin .summary-rail article>div{min-width:0}
.app-body.role-super-admin .summary-rail small{font-size:12px;line-height:1.35}
.app-body.role-super-admin .summary-rail strong{font-size:25px;line-height:1.08}
.app-body.role-super-admin .summary-note{min-width:0}

/* Dashboard — same light composition shell as every Super Admin workspace. */
.app-body.role-super-admin.page-dashboard .metric-grid{grid-template-columns:repeat(auto-fit,minmax(210px,1fr))}
.app-body.role-super-admin.page-dashboard .dashboard-grid{grid-template-columns:minmax(0,1.38fr) minmax(330px,.62fr);gap:var(--superadmin-gap)}
.app-body.role-super-admin.page-dashboard .panel-priority,
.app-body.role-super-admin.page-dashboard .dashboard-system-readiness{height:100%}
.app-body.role-super-admin .dashboard-system-readiness{overflow:hidden}
.app-body.role-super-admin .dashboard-readiness-overview{display:grid;gap:10px;padding:15px 17px;border-top:1px solid var(--line-soft);border-bottom:1px solid var(--line-soft);background:linear-gradient(180deg,var(--surface),var(--canvas-soft))}
.app-body.role-super-admin .dashboard-readiness-overview>div{display:flex;align-items:end;justify-content:space-between;gap:12px}
.app-body.role-super-admin .dashboard-readiness-overview strong{color:var(--navy-900);font-family:var(--font-display);font-size:31px;line-height:1}
.app-body.role-super-admin .dashboard-readiness-overview strong small{font-size:14px}
.app-body.role-super-admin .dashboard-readiness-overview span{color:var(--muted);font-size:12px;font-weight:650;text-align:right}
.app-body.role-super-admin .dashboard-readiness-overview progress{width:100%;height:8px;overflow:hidden;border:0;border-radius:999px;background:var(--line-soft)}
.app-body.role-super-admin .dashboard-readiness-overview progress::-webkit-progress-bar{background:var(--line-soft);border-radius:999px}
.app-body.role-super-admin .dashboard-readiness-overview progress::-webkit-progress-value{border-radius:999px;background:var(--role-accent)}
.app-body.role-super-admin .dashboard-readiness-overview progress::-moz-progress-bar{border-radius:999px;background:var(--role-accent)}
.app-body.role-super-admin .dashboard-readiness-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;background:var(--line-soft)}
.app-body.role-super-admin .dashboard-readiness-stats>span{display:grid;gap:3px;min-width:0;padding:11px 13px;background:var(--surface)}
.app-body.role-super-admin .dashboard-readiness-stats small{color:var(--muted);font-size:12px;font-weight:650}
.app-body.role-super-admin .dashboard-readiness-stats strong{color:var(--ink-900);font-size:13px;line-height:1.35;overflow-wrap:anywhere}
.app-body.role-super-admin .dashboard-readiness-actions{display:flex;justify-content:flex-end;gap:8px;padding:12px 14px;border-top:1px solid var(--line-soft);background:var(--canvas-soft)}
.app-body.role-super-admin.page-dashboard .superadmin-role-launcher{overflow:hidden}
.app-body.role-super-admin.page-dashboard .superadmin-role-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;padding:12px 14px 14px}
.app-body.role-super-admin.page-dashboard .superadmin-role-card{display:grid;grid-template-columns:40px minmax(0,1fr) auto 44px;align-items:center;gap:10px;min-width:0;min-height:78px;padding:11px 12px;border:1px solid var(--line-soft);border-radius:13px;background:linear-gradient(145deg,var(--surface),var(--surface-soft));box-shadow:0 3px 12px rgba(7,23,34,.025)}
.app-body.role-super-admin.page-dashboard .superadmin-role-card:hover{border-color:color-mix(in srgb,var(--role-accent) 26%,var(--line));box-shadow:0 7px 18px rgba(7,23,34,.05)}
.app-body.role-super-admin.page-dashboard .superadmin-role-icon{display:grid;place-items:center;width:40px;height:40px;border-radius:11px;background:var(--role-accent-soft);color:var(--role-accent-strong)}
.app-body.role-super-admin.page-dashboard .superadmin-role-icon .ui-icon{width:18px;height:18px}
.app-body.role-super-admin.page-dashboard .superadmin-role-copy{display:grid;gap:2px;min-width:0}
.app-body.role-super-admin.page-dashboard .superadmin-role-copy strong{color:var(--ink-900);font-size:13.5px;line-height:1.35}
.app-body.role-super-admin.page-dashboard .superadmin-role-copy small{display:-webkit-box;overflow:hidden;color:var(--muted);font-size:12px;line-height:1.4;-webkit-box-orient:vertical;-webkit-line-clamp:2}
.app-body.role-super-admin.page-dashboard .superadmin-role-open{width:44px;height:44px}
.app-body.role-super-admin.page-dashboard .superadmin-role-empty{grid-column:1/-1}

/* Kesiapan Layanan — status remains prominent without becoming a different visual world. */
.app-body.role-super-admin.page-readiness .readiness-hero{
  grid-template-columns:minmax(0,1fr) minmax(250px,320px);
  align-items:center;
  min-height:142px;
  gap:22px;
  margin:0;
  padding:21px 24px;
  border:1px solid var(--composition-line);
  border-radius:var(--superadmin-section-radius);
  color:var(--ink-900);
  background:radial-gradient(circle at 96% 10%,rgba(var(--role-accent-rgb),.08),transparent 18rem),linear-gradient(135deg,rgba(var(--role-accent-rgb),.07),#fff 58%,rgba(var(--theme-accent-rgb),.035));
  box-shadow:var(--composition-shadow);
}
.app-body.role-super-admin.page-readiness .readiness-hero::before{content:"";position:absolute;inset:16px auto 16px 0;width:3px;border-radius:0 4px 4px 0;background:linear-gradient(180deg,var(--role-accent),var(--gold-500))}
.app-body.role-super-admin.page-readiness .readiness-hero::after{opacity:.16}
.app-body.role-super-admin.page-readiness .readiness-hero-copy{align-self:center}
.app-body.role-super-admin.page-readiness .readiness-hero-copy .overline-light{color:var(--role-accent-strong)}
.app-body.role-super-admin.page-readiness .readiness-hero-copy :is(h1,h2){margin:5px 0 7px;color:var(--ink-950);font-size:32px;line-height:1.1}
.app-body.role-super-admin.page-readiness .readiness-hero-copy p{color:var(--ink-600);font-size:14px;line-height:1.58}
.app-body.role-super-admin.page-readiness .readiness-score-card{min-height:104px;padding:15px 17px;border-color:rgba(var(--role-accent-rgb),.18);border-radius:14px;background:rgba(255,255,255,.84);backdrop-filter:none}
.app-body.role-super-admin.page-readiness .readiness-score-card>span{color:var(--ink-500)}
.app-body.role-super-admin.page-readiness .readiness-score-card>strong{margin:5px 0 8px;color:var(--ink-950);font-size:38px}
.app-body.role-super-admin.page-readiness .readiness-score-card>small{margin-top:7px;color:var(--ink-600)}
.app-body.role-super-admin.page-readiness .readiness-progress{background:var(--line-soft)}
.app-body.role-super-admin.page-readiness .readiness-progress::-webkit-progress-bar{background:var(--line-soft)}
.app-body.role-super-admin.page-readiness .readiness-progress::-webkit-progress-value{background:var(--role-accent)}
.app-body.role-super-admin.page-readiness .readiness-progress::-moz-progress-bar{background:var(--role-accent)}
.app-body.role-super-admin.page-readiness .readiness-technical-link{margin-top:8px;color:var(--role-accent-strong)}
.app-body.role-super-admin.page-readiness .next-handoff{min-height:96px;border-radius:var(--superadmin-section-radius)}
.app-body.role-super-admin.page-readiness .readiness-panel{margin:0}
.app-body.role-super-admin.page-readiness .readiness-step{min-height:76px;padding:14px 18px}

/* Kesiapan Produksi — symmetric 3 status cards + one governance note. */
.app-body.role-super-admin.page-production-readiness .page-heading-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.app-body.role-super-admin.page-production-readiness .heading-badge{min-height:var(--superadmin-control-height)}
.app-body.role-super-admin.page-production-readiness .summary-rail-4 .summary-note{min-height:84px}
.app-body.role-super-admin.page-production-readiness .governance-strip{grid-template-columns:48px minmax(0,1fr) minmax(250px,auto);min-height:96px;padding:18px 20px;border-radius:var(--superadmin-section-radius)}
.app-body.role-super-admin.page-production-readiness .governance-strip>form{justify-self:end;margin:0}

/* Identitas LSP — light institutional card, aligned to the same page language. */
.app-body.role-super-admin.page-institution .identity-banner{
  grid-template-columns:62px minmax(0,1fr) auto;
  gap:16px;
  min-height:104px;
  margin:0;
  padding:18px 20px;
  border:1px solid var(--composition-line);
  border-radius:var(--superadmin-section-radius);
  color:var(--ink-900);
  background:linear-gradient(135deg,rgba(var(--role-accent-rgb),.075),#fff 62%,rgba(var(--theme-accent-rgb),.035));
  box-shadow:var(--composition-shadow);
}
.app-body.role-super-admin.page-institution .identity-mark{border-color:rgba(var(--role-accent-rgb),.34);color:var(--role-accent-strong)}
.app-body.role-super-admin.page-institution .identity-copy .overline-light{color:var(--role-accent-strong)}
.app-body.role-super-admin.page-institution .identity-copy h2{margin:3px 0;color:var(--ink-950);font-size:25px;line-height:1.15}
.app-body.role-super-admin.page-institution .identity-copy p{color:var(--ink-600);font-size:12.5px;line-height:1.4}
.app-body.role-super-admin.page-institution .identity-meta span{color:var(--ink-500)}
.app-body.role-super-admin.page-institution .identity-meta strong{color:var(--ink-800)}
.app-body.role-super-admin.page-institution .institution-settings-grid{grid-template-columns:minmax(0,1fr) minmax(300px,330px);gap:var(--superadmin-gap);align-items:start}
.app-body.role-super-admin.page-institution .institution-main-form>.panel,
.app-body.role-super-admin.page-institution .institution-logo-column>.panel{overflow:hidden}
.app-body.role-super-admin.page-institution .institution-audit-note strong{font-size:13px;line-height:1.4}
.app-body.role-super-admin.page-institution .institution-form-actions{gap:14px;margin-top:0;padding:15px 18px}

/* Users, audit, archive — one data-page grammar. */
.app-body.role-super-admin.page-users .user-filter-actions,
.app-body.role-super-admin.page-audit .audit-filter-actions{display:flex;align-items:center;gap:7px}
.app-body.role-super-admin.page-audit .filter-bar{align-items:center}
.app-body.role-super-admin.page-audit .panel-head-responsive>.filter-bar{flex:1 1 760px;max-width:none}
.app-body.role-super-admin.page-audit .filter-bar>.search-control{flex:1 1 190px;min-width:180px;max-width:240px}
.app-body.role-super-admin.page-audit .filter-bar>.custom-select-control{flex:0 1 150px;width:150px;min-width:140px}
.app-body.role-super-admin.page-audit .filter-bar>.custom-date-control{flex:0 1 140px;width:140px;min-width:130px}
.app-body.role-super-admin.page-audit .audit-date-filter{position:relative;min-width:154px}
.app-body.role-super-admin.page-audit .audit-date-filter>summary{display:flex;align-items:center;gap:7px;min-height:var(--superadmin-control-height);padding:7px 10px;border:1px solid var(--line);border-radius:10px;background:var(--surface);color:var(--ink-700);font-size:12px;font-weight:650;cursor:pointer;list-style:none}
.app-body.role-super-admin.page-audit .audit-date-filter>summary::-webkit-details-marker{display:none}
.app-body.role-super-admin.page-audit .audit-date-filter>summary .ui-icon{width:15px;height:15px;color:var(--muted)}
.app-body.role-super-admin.page-audit .audit-date-filter[open]>summary{border-color:color-mix(in srgb,var(--role-accent) 28%,var(--line));background:var(--role-accent-soft)}
.app-body.role-super-admin.page-audit .audit-date-filter-grid{position:absolute;right:0;z-index:15;display:grid;grid-template-columns:repeat(2,minmax(150px,1fr));gap:9px;width:340px;margin-top:7px;padding:11px;border:1px solid var(--line);border-radius:12px;background:var(--surface);box-shadow:0 16px 34px rgba(7,23,34,.13)}
.app-body.role-super-admin.page-audit .audit-date-filter-grid .field{gap:5px}
.app-body.role-super-admin.page-audit .audit-date-filter-grid .field>span{font-size:12px}
:is(.page-document-archive,.page-assessment-archive) .panel-head-responsive>.archive-directory-filter{flex:1 1 820px;max-width:none}
:is(.page-document-archive,.page-assessment-archive) .archive-directory-filter>.search-control{flex:1 1 200px;min-width:185px;max-width:260px}
:is(.page-document-archive,.page-assessment-archive) .archive-directory-filter>.custom-select-control{flex:0 1 155px;width:155px;min-width:140px}
.archive-more-filters{flex:0 0 132px;min-width:132px}
.archive-more-filters>summary{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:var(--superadmin-control-height,44px);padding:0 12px;border:1px solid var(--line);border-radius:10px;color:var(--ink-700);background:#fff;cursor:pointer;font-size:12px;font-weight:650;list-style:none}
.archive-more-filters>summary::-webkit-details-marker{display:none}
.archive-more-filters>summary::after{content:"+";font-size:17px;font-weight:650}
.archive-more-filters[open]{flex:1 0 100%;order:10;width:100%}
.archive-more-filters[open]>summary::after{content:"−"}
.archive-directory-filter:has(.archive-more-filters[open]) .archive-filter-actions{order:20}
.archive-more-filter-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-top:8px;padding:10px;border:1px solid var(--line-soft);border-radius:11px;background:var(--canvas-soft)}
.archive-more-filter-grid>:is(select,.custom-select-control){width:100%;min-width:0;max-width:none}
.archive-filter-actions{display:flex;align-items:center;gap:7px}
.archive-filter-actions .button{min-height:var(--superadmin-control-height,44px)}

/* Storage — equal cards and balanced policy grid. */
.app-body.role-super-admin.page-storage .metric-grid-4{grid-template-columns:repeat(4,minmax(0,1fr))}
.app-body.role-super-admin.page-storage .metric-grid-4 .metric-card{display:grid;grid-template-columns:1fr;align-content:center;gap:4px}
.app-body.role-super-admin.page-storage .metric-grid-4 .metric-card>span{color:var(--ink-500);font-size:12px;font-weight:650;letter-spacing:.07em;text-transform:uppercase}
.app-body.role-super-admin.page-storage .metric-grid-4 .metric-card>strong{margin:3px 0 1px;color:var(--ink-950);font-family:var(--font-display);font-size:22px;line-height:1.1}
.app-body.role-super-admin.page-storage .metric-grid-4 .metric-card>small{color:var(--ink-500);font-size:12px;line-height:1.4}
.app-body.role-super-admin.page-storage .summary-note{min-height:100%}

/* Legacy assessor credential — informational panels follow standard spacing. */
.app-body.role-super-admin.page-assessor-credential .workflow-guidance{min-height:92px;border-radius:var(--superadmin-section-radius)}
.app-body.role-super-admin.page-assessor-credential .definition-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
.app-body.role-super-admin.page-assessor-credential .panel-danger-soft>form,
.app-body.role-super-admin.page-assessor-credential .panel-danger-soft>.form-actions{padding:0 18px 18px}

/* Settings — one top navigator, one active panel, one save bar. */
.app-body.role-super-admin.page-settings .page-stage{gap:var(--superadmin-gap)}
.app-body.role-super-admin.page-settings .page-heading{margin:0}
.system-settings{display:grid;gap:12px;width:100%;min-width:0}
.system-settings-nav{display:grid;gap:13px;padding:15px;overflow:visible;border-radius:var(--superadmin-section-radius)}
.system-settings-nav-head{display:flex;align-items:center;justify-content:space-between;gap:18px}
.system-settings-nav-head>div{display:grid;gap:2px;min-width:0}
.system-settings-nav-head h2{margin:0;color:var(--ink-900);font-size:17px;line-height:1.25}
.system-settings-nav-head p{max-width:72ch;margin:0;color:var(--muted);font-size:12px;line-height:1.45}
.system-settings-technical{flex:0 0 auto;min-width:166px}
.system-settings-steps{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:7px}
.system-settings-steps a{display:grid;grid-template-columns:26px minmax(0,1fr);align-items:center;gap:5px;min-width:0;min-height:58px;padding:8px;border:1px solid var(--line);border-radius:11px;background:var(--surface);color:var(--ink-600);text-decoration:none;transition:border-color .16s ease,background .16s ease,box-shadow .16s ease,transform .16s ease}
.system-settings-steps a:hover{border-color:color-mix(in srgb,var(--role-accent) 26%,var(--line));background:color-mix(in srgb,var(--role-accent-soft) 46%,var(--surface));transform:translateY(-1px)}
.system-settings-steps a>span{display:grid;place-items:center;width:26px;height:26px;border-radius:8px;background:var(--surface-soft);color:var(--ink-500);font-size:12px;font-weight:700}
.system-settings-steps a>strong{min-width:0;color:inherit;font-size:12px;font-weight:700;line-height:1.25}
.system-settings-steps a.is-active{border-color:color-mix(in srgb,var(--role-accent) 42%,var(--line));background:color-mix(in srgb,var(--role-accent-soft) 72%,var(--surface));color:var(--role-accent-strong);box-shadow:inset 0 -3px 0 var(--role-accent),0 6px 16px rgba(7,23,34,.045)}
.system-settings-steps a.is-active>span{background:color-mix(in srgb,var(--role-accent) 12%,var(--surface));color:var(--role-accent-strong)}
.system-settings-mobile-select{display:none}
.system-settings-stage{display:grid;gap:12px;min-width:0}
.system-settings-panel{display:block;min-width:0;overflow:hidden;border-radius:var(--superadmin-section-radius);scroll-margin-top:calc(var(--topbar-height) + 18px)}
.system-settings-panel[hidden]{display:none}
.system-settings-panel.is-active{animation:panel-enter .14s ease both}
.system-settings-panel .panel-head{min-height:82px;padding:15px 18px}
.system-settings-panel .panel-head>div{flex:1 1 auto;min-width:0;width:100%}
.system-settings-panel .panel-head h2{margin-top:2px;font-size:18px;line-height:1.28}
.system-settings-panel .panel-head p{max-width:76ch;margin-top:4px;font-size:12.5px;line-height:1.5}
.system-settings-index{display:grid;place-items:center;float:left;width:36px;height:36px;margin-right:12px;border:1px solid var(--gold-300);border-radius:10px;background:var(--gold-100);color:var(--gold-800);font-family:var(--font-display);font-size:13px;font-weight:700}
.system-settings-panel>.form-grid{gap:13px 14px;padding:17px 18px 19px}
#settings-identity.system-settings-panel>.form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
#settings-identity.system-settings-panel .field-span-2{grid-column:1/-1}
.system-settings-panel .workspace-access-grid{gap:10px;padding:15px 18px 18px}
.system-settings-panel .workspace-access-card{min-height:70px;gap:12px;padding:13px 14px;border-radius:12px}
.system-settings-panel .workspace-access-copy{gap:3px}
.system-settings-panel .workspace-access-copy strong{font-size:13.5px}
.system-settings-panel .workspace-access-copy small{font-size:12px;line-height:1.42}
.system-settings-panel .assessment-policy-grid>.workspace-access-card:only-child{grid-column:1/-1}
.system-settings-panel .assessment-policy-grid>.workspace-access-card:only-child>select{min-width:280px}
.system-settings-prefix-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
.system-settings-inline-preference{display:flex;justify-content:flex-end;padding:16px 18px 0}
.system-settings-inline-preference>.field{width:min(300px,100%)}
.system-settings-savebar{display:flex;align-items:center;justify-content:space-between;gap:18px;min-height:72px;padding:12px 14px 12px 16px;border:1px solid var(--line);border-radius:15px;background:linear-gradient(135deg,var(--surface),color-mix(in srgb,var(--role-accent-soft) 28%,var(--surface)));box-shadow:0 5px 18px rgba(7,23,34,.035)}
.system-settings-savebar-copy{display:grid;gap:1px;min-width:0}
.system-settings-savebar-copy .overline{font-size:12px}
.system-settings-savebar-copy strong{color:var(--ink-800);font-size:13px;line-height:1.3}
.system-settings-savebar-copy strong.is-dirty{color:var(--warning-strong,var(--warning))}
.system-settings-savebar-copy small{color:var(--muted);font-size:12px;line-height:1.4}
.system-settings-savebar>.button{flex:0 0 auto;min-width:170px}


/* ==========================================================================
   Persistent shell without content overlap
   The header/footer remain visible as viewport rows; only the work canvas
   scrolls. No form, table, wizard, or action can travel behind the footer.
   ========================================================================== */
body.app-body.sakti-ui{
  width:100%;
  height:100dvh;
  min-height:100dvh;
  overflow:hidden;
}
.app-body.sakti-ui .app-shell{
  position:relative;
  height:100dvh;
  min-height:0;
  overflow:hidden;
}
.app-body.sakti-ui .workspace{
  height:100dvh;
  min-height:0;
  grid-template-rows:auto minmax(0,1fr) auto;
  gap:0;
  padding:var(--shell-gutter);
  overflow:hidden;
}
.app-body.sakti-ui .topbar{
  position:relative;
  top:auto;
  flex:0 0 auto;
  margin-bottom:12px;
}
.app-body.sakti-ui .topbar-leading{flex:1 1 auto;min-width:0}
.app-body.sakti-ui .topbar-actions{flex:0 0 auto;min-width:0}
.app-body.sakti-ui .breadcrumb{min-width:0;max-width:100%}
.app-body.sakti-ui .breadcrumb a,
.app-body.sakti-ui .breadcrumb strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.app-body.sakti-ui .content{
  --content-sticky-top:10px;
  --content-toolbar-sticky-top:6px;
  --content-sticky-bottom:10px;
  min-height:0;
  overflow-x:hidden;
  overflow-y:auto;
  overscroll-behavior-y:contain;
  scrollbar-gutter:stable;
  padding-bottom:18px;
  scroll-padding-block:14px 24px;
}
.app-body.sakti-ui .app-footer{
  position:relative;
  flex:0 0 auto;
  right:auto;
  bottom:0;
  left:auto;
  width:100%;
  margin-top:12px;
}
/* Sticky offsets are inherited from the scroll canvas via design variables. */


/* ==========================================================================
   Final typography comfort contract
   Authenticated UI readability floor for the 9.8 target.
   ========================================================================== */
.app-body.sakti-ui{
  --ds-a11y-micro:12.5px;
  --ds-type-micro:12.5px;
  --ds-type-small:13px;
  --ds-type-table-head:12.5px;
}
.app-body.sakti-ui :is(.eyebrow,.overline,.nav-group-label,.nav-copy small,.brand-copy small,
.sidebar-context-copy small,.topbar-context>small,.role-state,.system-state,.pagination-summary,
.app-footer,.app-footer small,.field-hint,.field-required,.data-table td>small,.table-subtext,
.primary-cell small,.summary-rail small,.status-badge,.count-pill,.scheme-code,.role-chip,
.role-focus-count small,.role-focus-wizard-copy .overline,.role-focus-step>span,
.role-focus-step>strong,.role-focus-step>small,.focus-panel-nav-head .overline,
.focus-panel-nav-head small,.focus-panel-nav>button>span,.focus-panel-nav>button>strong,
.focus-panel-footer>small,.task-next-note,.account-setup-number,.account-setup-note,
.account-setup-copy small,.muk-secondary-summary small,.muk-secondary-summary>em,
.assessment-context-meta small,.assessment-progress-copy>span,
.assessment-runtime-page .assessment-focus-nav small,
.assessment-runtime-page .assessment-current-task-large small,
.assessment-disclosure-summary small,.assessment-disclosure-summary em,
.assessment-runtime-page-asesor .assessment-queue-person small,
.table-scroll-cue,.bulk-check-status){
  font-size:12.5px;
  line-height:1.42;
}
.app-body.sakti-ui :is(.field-error,.custom-validation-message,.process-guidance-copy p,
.callout p,.workflow-guidance p,.empty-state p,.table-empty small){
  font-size:13px;
  line-height:1.52;
}
.app-body.sakti-ui :is(.field>span,label.field,.data-table tbody td,.primary-cell strong){
  font-size:14px;
  line-height:1.5;
}
.app-body.sakti-ui .data-table thead th{
  font-size:12.5px;
  line-height:1.4;
  letter-spacing:.04em;
}
.app-body.sakti-ui :is(input,select,textarea,.custom-select-trigger,.custom-date-trigger,
.custom-search-control input,.filter-bar input,.filter-bar select){
  font-size:15.5px;
  line-height:1.45;
}
.app-body.sakti-ui h1{font-size:34px;line-height:1.14}
.app-body.sakti-ui h2{font-size:21px;line-height:1.32}
.app-body.sakti-ui h3{font-size:17px;line-height:1.4}
.app-body.sakti-ui .page-heading h1,
.app-body.sakti-ui .page-heading-compact h1,
.app-body.sakti-ui .dashboard-hero h1{font-size:34px;line-height:1.14}
.app-body.sakti-ui :is(.panel-head h2,.modal-head h2){font-size:20px;line-height:1.32}


/* ==========================================================================
   Final notification toast contract
   One compact feedback style for login, public, and every authenticated role.
   ========================================================================== */
.swal2-container.swal2-toast-container{
  inset:16px 16px auto auto;
  z-index:2200;
  width:min(360px,calc(100vw - 32px));
  max-width:calc(100vw - 32px);
  padding:0;
  background:transparent;
  backdrop-filter:none;
  pointer-events:none;
}
.swal2-popup.swal2-toast.sakti-flash-toast{
  position:relative;
  display:grid;
  grid-template-columns:28px minmax(0,1fr);
  align-items:center;
  gap:10px;
  width:100%;
  min-width:0;
  min-height:56px;
  padding:12px 38px 12px 12px;
  border:1px solid rgba(20,45,58,.10);
  border-radius:12px;
  background:rgba(255,255,255,.96);
  box-shadow:0 18px 48px rgba(7,23,34,.16);
  backdrop-filter:blur(14px);
  pointer-events:auto;
}
.swal2-popup.swal2-toast.sakti-flash-toast .swal2-copy{
  min-width:0;
  padding:0;
}
.swal2-popup.swal2-toast.sakti-flash-toast .swal2-title{
  margin:0;
  color:var(--ink-900);
  font-family:var(--font-ui);
  font-size:13.5px;
  font-weight:650;
  line-height:1.42;
  letter-spacing:0;
  text-wrap:pretty;
  overflow-wrap:anywhere;
}
.swal2-popup.swal2-toast.sakti-flash-toast .swal2-icon{
  width:28px;
  height:28px;
  margin:0;
  border-radius:9px;
}
.swal2-popup.swal2-toast.sakti-flash-toast .swal2-icon svg{
  width:14px;
  height:14px;
}
.swal2-popup.swal2-toast.sakti-flash-toast .swal2-success{
  color:var(--success-strong);
  background:var(--success-soft);
}
.swal2-popup.swal2-toast.sakti-flash-toast .swal2-warning{
  color:var(--warning-strong);
  background:var(--warning-soft);
}
.swal2-popup.swal2-toast.sakti-flash-toast .swal2-error{
  color:var(--danger);
  background:var(--danger-soft);
}
.swal2-popup.swal2-toast.sakti-flash-toast .swal2-info,
.swal2-popup.swal2-toast.sakti-flash-toast .swal2-question{
  color:var(--role-accent-strong);
  background:var(--role-accent-soft);
}
.swal2-popup.swal2-toast.sakti-flash-toast .swal2-toast-close{
  position:absolute;
  top:8px;
  right:8px;
  display:grid;
  place-items:center;
  width:28px;
  min-width:28px;
  height:28px;
  min-height:28px;
  padding:0;
  border:0;
  border-radius:8px;
  color:var(--ink-500);
  background:transparent;
  font-size:16px;
  line-height:1;
  cursor:pointer;
}
.swal2-popup.swal2-toast.sakti-flash-toast .swal2-toast-close:hover,
.swal2-popup.swal2-toast.sakti-flash-toast .swal2-toast-close:focus-visible{
  color:var(--ink-900);
  background:var(--canvas-soft);
}


/* ==========================================================================
   Final mobile modal placement
   Default mobile dialogs open near the top, not as bottom sheets.
   ========================================================================== */


/* ==========================================================================
   Final FR.APL.02 assessment table polish
   Keeps the document-like table, but makes the working UI calmer to scan.
   ========================================================================== */
.app-body.sakti-ui .apl02-assessment-table{
  min-width:1220px;
  table-layout:fixed;
}
.app-body.sakti-ui .apl02-assessment-table th,
.app-body.sakti-ui .apl02-assessment-table td{
  vertical-align:top;
}
.app-body.sakti-ui .apl02-assessment-table th{
  padding-block:13px;
}
.app-body.sakti-ui .apl02-assessment-table td{
  padding:15px 16px;
}
.app-body.sakti-ui .apl02-assessment-table :is(th,td):nth-child(1){width:210px}
.app-body.sakti-ui .apl02-assessment-table :is(th,td):nth-child(2){width:355px}
.app-body.sakti-ui .apl02-assessment-table :is(th,td):nth-child(3){width:176px}
.app-body.sakti-ui .apl02-assessment-table :is(th,td):nth-child(4){width:185px}
.app-body.sakti-ui .apl02-assessment-table :is(th,td):nth-child(5){width:220px}
.app-body.sakti-ui .apl02-assessment-table :is(th,td):nth-child(6){width:140px}
.app-body.sakti-ui .apl02-assessment-table td:first-child strong{
  display:block;
  color:var(--ink-900);
  font-size:13px;
  line-height:1.35;
}
.app-body.sakti-ui .apl02-assessment-table td:first-child small{
  display:block;
  margin-top:6px;
  color:var(--ink-500);
  font-size:12.5px;
  line-height:1.45;
}
.app-body.sakti-ui .apl02-kuk-list{
  display:grid;
  gap:7px;
  margin:0;
  padding-left:0;
  list-style:none;
  color:var(--ink-700);
  font-size:13.25px;
  line-height:1.58;
}
.app-body.sakti-ui .apl02-kuk-list li{
  display:grid;
  grid-template-columns:auto minmax(0,1fr);
  gap:8px;
  align-items:start;
}
.app-body.sakti-ui .apl02-kuk-list li::marker{
  content:"";
}
.app-body.sakti-ui .apl02-kuk-list strong{
  color:var(--ink-900);
  font-weight:700;
}
.app-body.sakti-ui .apl02-unit-element-cell{
  display:grid;
  gap:6px;
  min-width:0;
}
.app-body.sakti-ui .apl02-unit-element-cell .unit-code{
  justify-self:start;
  letter-spacing:.02em;
}
.app-body.sakti-ui .apl02-unit-element-cell strong{
  color:var(--ink-900);
  font-size:13.5px;
  line-height:1.4;
}
.app-body.sakti-ui .apl02-unit-element-cell small{
  color:var(--ink-500);
  font-size:12.5px;
  line-height:1.45;
}
.app-body.sakti-ui .apl02-choice-group{
  width:100%;
  min-width:0;
  gap:8px;
}
.app-body.sakti-ui .apl02-choice-group label{
  display:grid;
  grid-template-columns:16px minmax(0,1fr);
  align-items:center;
  gap:8px;
  min-height:42px;
  padding:8px 9px;
  border-color:var(--line);
  border-radius:10px;
  background:var(--surface);
  box-shadow:0 1px 0 rgba(7,23,34,.03);
}
.app-body.sakti-ui .apl02-choice-group label:has(input:checked){
  border-color:color-mix(in srgb,var(--role-accent) 38%,var(--line));
  background:color-mix(in srgb,var(--role-accent-soft) 62%,#fff);
  box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--role-accent) 12%,transparent);
}
.app-body.sakti-ui .apl02-choice-group input[type="radio"]{
  width:15px;
  height:15px;
  margin:0;
  accent-color:var(--role-accent);
}
.app-body.sakti-ui .apl02-choice-group span{
  display:grid;
  grid-template-columns:minmax(0,1fr) 28px;
  align-items:center;
  gap:7px;
}
.app-body.sakti-ui .apl02-choice-group strong{
  min-width:0;
  color:var(--ink-800);
  font-size:12.25px;
  line-height:1.25;
}
.app-body.sakti-ui .apl02-choice-group small{
  display:grid;
  place-items:center;
  min-width:26px;
  min-height:24px;
  padding:0 5px;
  border-radius:7px;
  background:var(--canvas-soft);
  color:var(--ink-800);
  font-size:12px;
  line-height:1;
}
.app-body.sakti-ui .apl02-assessment-table select{
  min-width:0;
  min-height:42px;
  border-radius:10px;
  font-size:14px;
}
.app-body.sakti-ui .apl02-assessment-table textarea{
  min-width:0;
  min-height:82px;
  max-height:150px;
  border-radius:11px;
  font-size:14px;
  line-height:1.5;
}
.app-body.sakti-ui .apl02-assessment-table .muted-text{
  display:inline-flex;
  align-items:center;
  min-height:34px;
  color:var(--ink-500);
  font-size:12.75px;
  line-height:1.45;
}
.app-body.sakti-ui .apl02-assessment-table .status-badge{
  max-width:100%;
  white-space:normal;
}


/* Mobile FR.APL.02 action panel refinement */


/* Final centering for account setup step numbers and check icons */
.app-body.sakti-ui .account-setup-number{
  display:grid;
  place-items:center;
  flex:0 0 auto;
  aspect-ratio:1;
  padding:0;
  line-height:1;
  text-align:center;
}
.app-body.sakti-ui .account-setup-number .ui-icon,
.app-body.sakti-ui .account-setup-number svg{
  width:14px;
  height:14px;
  margin:0;
  stroke-width:2.2;
}
.app-body.sakti-ui .account-setup-step{
  align-items:center;
}
.app-body.sakti-ui .account-setup-copy{
  align-items:center;
}


/* Final centering for repeated numeric/icon markers across workflows */
.app-body.sakti-ui :is(
  .timeline-number,.flow-marker,.priority-index,.element-number,.criterion-number,
  .readiness-step-number,.asesi-onboarding-number,.role-focus-count,
  .system-settings-steps a>span,.system-settings-index,.summary-icon,.metric-icon,
  .nav-icon,.sidebar-role-icon,.guidance-icon,.process-guidance-icon,
  .modal-close,.icon-button,.page-link
){
  display:grid;
  place-items:center;
  align-items:center;
  justify-items:center;
  flex-shrink:0;
  line-height:1;
  text-align:center;
}
.app-body.sakti-ui :is(
  .timeline-number,.flow-marker,.priority-index,.element-number,.criterion-number,
  .readiness-step-number,.asesi-onboarding-number,.role-focus-count,
  .system-settings-steps a>span,.system-settings-index,.summary-icon,.metric-icon,
  .nav-icon,.sidebar-role-icon,.guidance-icon,.process-guidance-icon,
  .modal-close,.icon-button,.page-link
) :is(.ui-icon,svg){
  margin:0;
  flex:0 0 auto;
}
.app-body.sakti-ui :is(.timeline-number,.flow-marker,.priority-index,.element-number,
.criterion-number,.readiness-step-number,.asesi-onboarding-number,.role-focus-count,
.system-settings-steps a>span,.system-settings-index){
  font-variant-numeric:tabular-nums;
}

/* Assessor preassessment workspace: calmer spacing and readable review panels */
.app-body.sakti-ui[data-request-path="asesor/preassessment.php"] [data-page-stage]{
  display:grid;
  gap:16px;
}
.app-body.sakti-ui[data-request-path="asesor/preassessment.php"] .focus-panel-nav{
  margin:0;
  padding:8px;
  border-radius:16px;
}
.app-body.sakti-ui[data-request-path="asesor/preassessment.php"] .focus-panel-nav-head{
  padding:8px 12px;
}
.app-body.sakti-ui[data-request-path="asesor/preassessment.php"] .focus-panel-nav>button{
  min-height:48px;
  padding:8px 12px;
  border-radius:11px;
}
.app-body.sakti-ui[data-request-path="asesor/preassessment.php"] .apl02-review-quickbar{
  margin:0;
  padding:18px 20px;
  border-radius:16px;
}
.app-body.sakti-ui[data-request-path="asesor/preassessment.php"] .review-section.table-panel{
  overflow:hidden;
  border-radius:16px;
}
.app-body.sakti-ui[data-request-path="asesor/preassessment.php"] .review-section .section-heading-inline{
  align-items:flex-start;
  gap:16px;
  margin:0;
  padding:20px 22px 16px;
  border-bottom:1px solid var(--line-soft);
  background:linear-gradient(180deg,#fff,rgba(250,251,250,.96));
}
.app-body.sakti-ui[data-request-path="asesor/preassessment.php"] .review-section .section-heading-inline h2{
  margin:4px 0 8px;
  font-size:22px;
  line-height:1.28;
}
.app-body.sakti-ui[data-request-path="asesor/preassessment.php"] .review-section .section-heading-inline p{
  margin:0;
  max-width:76ch;
  font-size:14.5px;
  line-height:1.62;
}
.app-body.sakti-ui[data-request-path="asesor/preassessment.php"] .review-section .table-wrap{
  margin:0;
}
.app-body.sakti-ui[data-request-path="asesor/preassessment.php"] .apl02-element-review-table{
  min-width:1260px;
}
.app-body.sakti-ui[data-request-path="asesor/preassessment.php"] .apl02-element-review-table th,
.app-body.sakti-ui[data-request-path="asesor/preassessment.php"] .apl02-element-review-table td{
  vertical-align:top;
}
.app-body.sakti-ui[data-request-path="asesor/preassessment.php"] .apl02-element-review-table td{
  padding:16px 17px;
}
.app-body.sakti-ui[data-request-path="asesor/preassessment.php"] .apl02-element-review-table td:first-child{
  min-width:245px;
}
.app-body.sakti-ui[data-request-path="asesor/preassessment.php"] .apl02-element-review-table td:nth-child(2){
  min-width:370px;
}
.app-body.sakti-ui[data-request-path="asesor/preassessment.php"] .exception-review-box>summary.button{
  min-height:42px;
  justify-content:center;
  white-space:normal;
}
.app-body.sakti-ui[data-request-path="asesor/preassessment.php"] .focus-panel-footer{
  margin-top:14px;
  padding:12px 2px 0;
}


/* Asesi + Asesor flow hardening: clearer primary action and safer mobile taps */
.app-body.sakti-ui.role-asesi :is(.button,.icon-button,.modal-close),
.app-body.sakti-ui.role-asesor :is(.button,.icon-button,.modal-close){
  min-height:42px;
}
.app-body.sakti-ui.role-asesi :is(.assessment-current-task,.assessee-process-next),
.app-body.sakti-ui.role-asesor .assessment-current-task{
  border-color:color-mix(in srgb,var(--role-accent) 18%,var(--line));
  background:linear-gradient(180deg,#fff,color-mix(in srgb,var(--role-accent-soft) 34%,#fff));
  box-shadow:0 10px 30px rgba(7,23,34,.06);
}
.app-body.sakti-ui.role-asesor .assessment-current-task-large{
  display:grid;
  grid-template-columns:44px minmax(0,1fr) auto;
  align-items:center;
  gap:13px;
  padding:16px 18px;
  border:1px solid color-mix(in srgb,var(--role-accent) 18%,var(--line));
  border-radius:16px;
}
.app-body.sakti-ui.role-asesor .assessment-current-task-large>span{
  display:grid;
  place-items:center;
  width:42px;
  height:42px;
  border-radius:12px;
  background:#fff;
  color:var(--role-accent-strong);
}
.app-body.sakti-ui.role-asesor .assessment-current-task-large small{
  display:block;
  margin-bottom:3px;
  color:var(--role-accent-strong);
  font-size:12px;
  font-weight:800;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.app-body.sakti-ui.role-asesor .assessment-current-task-large strong{
  display:block;
  color:var(--ink-900);
  font-size:17px;
  line-height:1.35;
}
.app-body.sakti-ui.role-asesor .assessment-current-task-large p{
  margin:5px 0 0;
  color:var(--ink-600);
  font-size:13.5px;
  line-height:1.55;
}
.app-body.sakti-ui.role-asesor .assessment-assessee-nav{
  gap:8px;
}
.app-body.sakti-ui.role-asesor .assessment-assessee-nav .button{
  min-height:42px;
}
.app-body.sakti-ui.role-asesor .assessment-focus-nav a{
  min-height:64px;
}
.app-body.sakti-ui.role-asesor .assessment-focus-nav a>span,
.app-body.sakti-ui.role-asesi .assessee-process-step>span{
  display:grid;
  place-items:center;
  aspect-ratio:1;
  line-height:1;
}
.app-body.sakti-ui.role-asesor .assessment-secondary-disclosure>summary,
.app-body.sakti-ui.role-asesor .assessment-full-kuk-summary,
.app-body.sakti-ui.role-asesi .assessment-queue-disclosure>summary{
  min-height:60px;
}
.app-body.sakti-ui.role-asesor .assessor-decision-grid{
  align-items:stretch;
}
.app-body.sakti-ui.role-asesor .decision-card{
  gap:10px;
}
.app-body.sakti-ui.role-asesor .decision-card.approve{
  border-color:color-mix(in srgb,var(--success) 24%,var(--line));
  background:linear-gradient(180deg,#fff,color-mix(in srgb,var(--success-soft) 50%,#fff));
}
.app-body.sakti-ui.role-asesor .decision-card.revision{
  border-color:color-mix(in srgb,var(--warning) 24%,var(--line));
  background:linear-gradient(180deg,#fff,color-mix(in srgb,var(--warning-soft) 46%,#fff));
}
.app-body.sakti-ui.role-asesor .decision-card.revision .button{
  background:#fff;
  color:var(--warning-dark);
  border-color:color-mix(in srgb,var(--warning) 38%,var(--line));
  box-shadow:none;
}
.app-body.sakti-ui.role-asesi .ak01-decision-actions{
  align-items:stretch;
}
.app-body.sakti-ui.role-asesi .ak01-decision-actions form{
  padding:12px;
  border:1px solid color-mix(in srgb,var(--success) 20%,var(--line));
  border-radius:14px;
  border-color:color-mix(in srgb,var(--success) 20%,var(--line));
  background:linear-gradient(180deg,#fff,color-mix(in srgb,var(--success-soft) 36%,#fff));
}
/* ==========================================================================
   Responsive & interaction contract
   Generated from component modules; edit the owning selector there, then
   regenerate this architecture deliberately.
   ========================================================================== */

@media (min-width:761px){
.app-body.sakti-ui :is(.form-actions,.panel-footer-actions,.single-task-next,.focus-panel-footer){flex-wrap:wrap}
  .app-body.sakti-ui :is(.form-actions,.panel-footer-actions,.single-task-next)>.button-primary:last-child{margin-left:auto}
  .app-body.sakti-ui .page-heading :is(.eyebrow,.overline){font-size:12px}
  .app-body.sakti-ui .account-setup-step>.status-badge{font-size:12px;min-height:24px}
  .app-body.sakti-ui .account-setup-copy strong{font-size:13px;line-height:1.35}
}

@media (min-width:901px){
.assessment-queue-disclosure:not([open])>.assessment-queue-body{display:block!important}
}

@media (min-width:1181px){
.app-body.sakti-ui .form-layout:not(.form-layout-wide){max-width:1180px;margin-inline:auto}
  .app-body.sakti-ui .page-heading-actions{max-width:540px}
.app-body :is(.decision-workspace,.recommendation-workspace){
    grid-template-columns:minmax(430px,.82fr) minmax(0,1.18fr);
  }
  .app-body .certificate-workspace{
    grid-template-columns:minmax(480px,.9fr) minmax(0,1.1fr);
  }
}

@media (max-width:1280px){
.summary-rail{grid-template-columns:repeat(3,1fr)}
    .summary-note{grid-column:span 3}
    .data-workspace,.data-workspace-wide{grid-template-columns:minmax(0,1fr) 320px}
    .filter-bar{flex-wrap:wrap}
    .card-list{grid-template-columns:repeat(2,minmax(0,1fr))}
.panel-head-responsive>.filter-bar{max-width:780px}
    .filter-bar>.search-control{flex-basis:210px}
    .filter-bar>.custom-select-control{flex-basis:165px;width:165px}
.instrument-review-row{grid-template-columns:minmax(220px,1fr) minmax(0,2fr) auto}
  .instrument-review-state{grid-column:1/3;display:flex;align-items:center;gap:10px}
  .instrument-review-row>.row-actions{grid-column:3;grid-row:1/3}
  .instrument-quick-form{grid-template-columns:repeat(3,minmax(0,1fr)) auto}
.muk-summary-rail{grid-template-columns:repeat(3,1fr)}.muk-summary-rail .summary-note{grid-column:span 3}
    .coverage-layout{grid-template-columns:minmax(0,1fr) 250px}
    .authoring-shell{grid-template-columns:205px minmax(0,1fr)}
    .instrument-grid{grid-template-columns:1fr}
    .validation-layout,.approval-layout{grid-template-columns:235px minmax(0,1fr)}
.profile-layout{grid-template-columns:250px minmax(0,1fr)}
    .guided-workspace.apl-workspace{grid-template-columns:205px minmax(0,1fr)}
    .verification-layout{grid-template-columns:minmax(0,1fr) 280px}
    .declaration-form{grid-template-columns:1fr 240px}.declaration-form .button{grid-column:2}
.institution-settings-grid{grid-template-columns:1fr}.institution-logo-column{position:static}.ak01-workspace{grid-template-columns:270px minmax(0,1fr)}.ak01-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.assessment-workspace{grid-template-columns:280px minmax(0,1fr)}.assessment-secondary-grid{grid-template-columns:1fr}.evidence-library-grid{grid-template-columns:1fr}.import-type-grid{grid-template-columns:1fr 1fr}
:root{--composition-gap:16px}
    .dashboard-hero{grid-template-columns:minmax(0,1fr) minmax(240px,.38fr);padding:34px}
    .dashboard-hero h1{font-size:clamp(34px,4vw,47px)}
    .dashboard-grid{grid-template-columns:minmax(0,1.35fr) minmax(280px,.65fr)}
    .page-heading{min-height:112px}
.muk-template-document-controls{grid-template-columns:repeat(2,minmax(0,1fr))}.muk-template-profile-layout{grid-template-columns:1fr}.muk-template-reuse-card{position:static}
.assessment-phase-steps{grid-template-columns:repeat(3,minmax(0,1fr))}
.assessment-phase-guide.role-asesor .assessment-phase-steps{grid-template-columns:repeat(3,minmax(0,1fr))}
.assessment-focus-nav-asesor{grid-template-columns:repeat(2,minmax(180px,1fr))}.assessment-roster-layout{grid-template-columns:1fr}.assessment-roster-schedules{position:static}
.app-body :is(.decision-workspace,.recommendation-workspace,.certificate-workspace){
    grid-template-columns:minmax(0,1fr);
  }
  .app-body :is(.decision-queue,.recommendation-queue,.certificate-queue){
    position:static;
    top:auto;
    width:100%;
    max-width:none;
    max-height:none;
  }
.role-asesor .assessment-workspace{grid-template-columns:1fr}
  .role-asesor .assessment-queue{position:static;max-height:none}
  .role-asesor .assessment-focus-nav-asesor{grid-template-columns:repeat(2,minmax(0,1fr))}
.role-asesi .profile-layout,
  .role-asesi .assessee-ak01-workspace,
  .role-asesi .assessment-workspace{grid-template-columns:1fr}
  .role-asesi .profile-summary-card,
  .role-asesi .ak01-list-panel,
  .role-asesi .assessment-queue{position:static;max-height:none}
  .role-asesi .assessment-focus-nav-asesi{grid-template-columns:repeat(2,minmax(0,1fr))}
.role-tim-keputusan .decision-workspace{grid-template-columns:minmax(0,1fr)}
  .role-tim-keputusan .decision-queue{position:static;top:auto}
.role-ketua-lsp :is(.approval-layout,.decision-workspace,.certificate-workspace){
    grid-template-columns:minmax(0,1fr);
  }
  .role-ketua-lsp :is(.approval-queue,.decision-queue,.certificate-queue){
    position:static;
  }
.role-manajer-mutu :is(.validation-layout,.recommendation-workspace,.case-workspace){grid-template-columns:minmax(0,1fr)}
  .role-manajer-mutu :is(.validation-queue,.recommendation-queue,.case-queue){position:static;max-height:none}
.app-body.role-super-admin .summary-rail-4{grid-template-columns:repeat(3,minmax(0,1fr))}
  .app-body.role-super-admin .summary-rail-4>.summary-note{grid-column:1/-1}
  .app-body.role-super-admin.page-dashboard .dashboard-grid{grid-template-columns:minmax(0,1.25fr) minmax(300px,.75fr)}
  .app-body.role-super-admin.page-storage .metric-grid-4{grid-template-columns:repeat(2,minmax(0,1fr))}
  .system-settings-steps{grid-template-columns:repeat(4,minmax(0,1fr))}
  .system-settings-steps a{min-height:54px}
}

@media (max-width:1120px){
.role-admin-lsp .verification-layout{grid-template-columns:1fr}
  .role-admin-lsp .verification-sidebar{position:static;grid-template-columns:repeat(2,minmax(0,1fr))}
  .role-admin-lsp .verification-sidebar>*:last-child:nth-child(odd){grid-column:1/-1}
  .role-admin-lsp .recommendation-workspace{grid-template-columns:1fr}
  .role-admin-lsp .recommendation-queue{position:static}
  .role-admin-lsp .report-metric-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
  .role-admin-lsp .report-filter-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .role-admin-lsp .report-filter-grid>.button{width:100%}
  .role-admin-lsp .archive-more-filter-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.signature-profile-grid{grid-template-columns:1fr}.apl02-evidence-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.review-inline-form{grid-template-columns:1fr 1fr}.review-inline-form .button{grid-column:1/-1;width:100%}
.schedule-gate-grid,.readiness-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.assessor-assignment-grid,.tuk-schedule-grid{grid-template-columns:1fr}.assessee-schedule-grid{grid-template-columns:1fr 1fr}.assessee-schedule-grid>div:last-child{grid-column:1/-1}
.decision-workspace{grid-template-columns:280px minmax(0,1fr)}.clarification-inbox{grid-template-columns:1fr}.result-grid{grid-template-columns:1fr}
.certificate-workspace,.case-workspace{grid-template-columns:1fr}.certificate-queue,.case-queue{position:static;max-height:none}.certificate-queue-list,.case-queue-list{grid-template-columns:repeat(2,minmax(0,1fr));max-height:none}.report-metric-grid{grid-template-columns:repeat(3,1fr)}.report-filter-grid{grid-template-columns:1fr 1fr}.report-filter-grid .button{grid-column:1/-1}.detail-grid{grid-template-columns:repeat(2,1fr)}
.muk-documents-layout{grid-template-columns:minmax(0,1fr) 280px}.document-editor-layout{grid-template-columns:1fr}.document-editor-help{position:static}.muk-document-card{grid-template-columns:44px minmax(0,1fr)}.muk-document-actions{grid-column:2;justify-content:flex-start;max-width:none}
.muk-flow-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.muk-context-identity{grid-template-columns:1fr auto}.muk-context-back{grid-column:1/-1}.muk-workspace-detail-grid{grid-template-columns:1fr}.muk-progress-panel{grid-template-columns:minmax(0,1fr) auto}.muk-progress-metrics{grid-column:1/-1;grid-row:2}
.formal-report-document{width:100%;min-height:0;margin:0;padding:8mm;box-shadow:none;overflow:auto}
    .formal-report-letterhead{min-width:250mm}
    .formal-report-meta-section,.formal-report-section,.formal-report-approval{min-width:250mm}
.assessment-focus-nav{top:var(--content-sticky-top,10px);grid-template-columns:repeat(3,minmax(180px,1fr));overflow-x:auto}.assessment-focus-nav-asesi{grid-template-columns:repeat(4,minmax(180px,1fr))}.assessment-bulk-helper{grid-template-columns:1fr 1fr}.assessment-bulk-helper .bulk-check,.assessment-bulk-helper .bulk-note-field{grid-column:1/-1}
.monitoring-summary{grid-template-columns:repeat(2,minmax(0,1fr))}
.assessment-person-context{align-items:flex-start;flex-direction:column}
  .assessment-context-meta{justify-content:flex-start;width:100%}
  .assessment-context-meta>span{flex:1 1 150px}
  .assessment-progress-compact{grid-template-columns:1fr}
  .assessment-progress-badges{justify-content:flex-start}
  .assessment-runtime-page-asesor{grid-template-columns:1fr}
  .assessment-runtime-page-asesor>.assessment-queue{position:static;max-height:none;overflow:visible}
  .assessment-runtime-page-asesor .assessment-queue-list{max-height:none}
.app-body.sakti-ui .role-state{display:none}
  .app-body.sakti-ui .breadcrumb{max-width:50vw}
.recommendation-workspace{grid-template-columns:270px minmax(0,1fr)}.quality-checklist>article{grid-template-columns:1fr 170px}.quality-checklist>article .field:last-child{grid-column:1/-1}
.institution-settings-grid{grid-template-columns:1fr}.institution-logo-column{position:static}.institution-logo-column .logo-manager{max-width:none}
.apl02-role-roadmap{grid-template-columns:repeat(2,minmax(0,1fr))}
.content-grid-main-side{grid-template-columns:1fr}.content-grid-main-side>aside{position:static;max-height:none;overflow:visible}.checkbox-grid{grid-template-columns:1fr 1fr}
:root{--sidebar-width:258px}
    .content{padding:28px}
    .page-heading{align-items:flex-start;flex-direction:column;gap:18px}
    .page-heading-actions{width:100%;justify-content:flex-start}
    .form-layout{grid-template-columns:minmax(0,1fr) 290px}
    .data-workspace,.data-workspace-wide{grid-template-columns:1fr}
    .editor-panel{position:relative;top:var(--content-sticky-top,10px)}
    .dashboard-grid{grid-template-columns:1fr}
    .governance-strip{grid-template-columns:54px 1fr}
    .governance-strip>p{grid-column:2}
    .panel-head-responsive{align-items:flex-start;flex-direction:column}
    .filter-bar{justify-content:flex-start;width:100%}
.role-state{display:none}.topbar-context>small{max-width:300px}.nav-copy small{font-size:12px}
.page-heading{padding:23px 24px}
    .page-heading-actions{align-self:flex-start}
    .panel-head{min-height:0}
.panel-head-responsive>div:first-child{min-width:0;width:100%}
    .panel-head-responsive>.filter-bar{width:100%;max-width:none;margin-left:0}
.panel-head-responsive>div:first-child,
    .panel-head-responsive>.filter-bar{
        flex:none;
        width:100%;
        min-height:0;
    }
    .panel-head-responsive>.filter-bar{height:auto}
.app-body .page-heading-with-actions>div:first-child{
    flex:0 1 auto;
    width:100%;
  }
.scheme-card-grid{grid-template-columns:1fr}
    .structure-shell{grid-template-columns:1fr}
    .structure-nav{position:static}
.muk-card-grid,.task-board{grid-template-columns:1fr}
    .coverage-layout,.validation-layout,.approval-layout{grid-template-columns:1fr}
    .coverage-aside,.validation-queue,.approval-queue{position:static}
    .coverage-aside{grid-template-columns:1fr 1fr}
    .validation-queue nav,.approval-queue nav{grid-template-columns:repeat(2,minmax(0,1fr))}
    .authoring-shell{grid-template-columns:1fr}
    .wizard-nav{position:static;grid-template-columns:repeat(3,minmax(0,1fr));overflow-x:auto}
    .wizard-nav button{min-width:180px}
    .review-dashboard{grid-template-columns:1fr}
    .quality-gates{grid-template-columns:1fr 1fr}
.profile-layout{grid-template-columns:1fr}.profile-summary-card{position:static;display:grid;grid-template-columns:76px minmax(0,1fr);text-align:left}.profile-summary-card h2{margin:0}.profile-summary-card>p{grid-column:2}.profile-summary-list,.profile-summary-card .info-callout{grid-column:1/-1}.profile-summary-list{grid-template-columns:repeat(3,1fr);border:1px solid var(--line-soft);border-radius:10px;overflow:hidden}.profile-summary-list>div{display:block;padding:12px;border:0;border-left:1px solid var(--line-soft)}.profile-summary-list>div:first-child{border-left:0}.profile-summary-list strong{display:block;max-width:none;margin-top:5px;text-align:left}
    .guided-workspace.apl-workspace{grid-template-columns:1fr}.apl-workspace .wizard-nav{position:static;grid-template-columns:repeat(4,minmax(170px,1fr));overflow-x:auto}.apl-workspace .wizard-nav button{min-width:170px}
    .verification-layout{grid-template-columns:1fr}.sticky-review-card{position:static}.verification-sidebar{grid-template-columns:1fr 1fr}.compact-history{min-width:0}
.full-workflow-timeline{grid-template-columns:repeat(2,minmax(0,1fr))}.workspace-facts-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.workspace-hero{align-items:flex-start;flex-direction:column}.workspace-next-action{grid-template-columns:auto 1fr}.workspace-next-action>.button{grid-column:1/-1;width:100%}
}

@media (max-width:980px){
.table-first{min-width:720px}
  .table-queue-panel .table-scroll{max-height:none}
  .table-inline-form{grid-template-columns:minmax(150px,1fr) minmax(130px,1fr) minmax(125px,1fr) auto}
.muk-workflow-footer{grid-template-columns:1fr 1fr}.muk-workflow-footer>div{grid-column:1/-1;grid-row:1;text-align:left}.muk-workflow-footer>.button:first-child{grid-column:1}.muk-workflow-footer>.button:last-child,.muk-workflow-footer>span.button{grid-column:2}.muk-quick-mapping-form{grid-template-columns:1fr 1fr}.muk-quick-mapping-form>.button{grid-column:1/-1;width:100%}
.muk-package-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.muk-correction-form,.muk-correction-form-danger{grid-template-columns:1fr 1fr}.muk-correction-form>.button,.muk-correction-form-danger>.button{grid-column:1/-1;width:100%}.muk-matrix-filters{grid-template-columns:1fr 1fr}.muk-matrix-filter-actions{grid-column:1/-1}.muk-stage-lock{grid-template-columns:auto minmax(0,1fr)}.muk-stage-lock>.button{grid-column:1/-1;width:100%}
.muk-profile-layout{grid-template-columns:1fr}.muk-profile-instrument-list{max-height:none}.muk-profile-list{grid-template-columns:repeat(2,minmax(0,1fr))}
.muk-simple-instrument-list{grid-template-columns:repeat(2,minmax(0,1fr))}.muk-simple-instrument{grid-template-columns:30px minmax(0,1fr)}.muk-simple-instrument .status-badge{grid-column:2;justify-self:start}.muk-question-readiness{align-items:flex-start;flex-direction:column}
.muk-simple-stats{grid-template-columns:1fr 1fr}.muk-simple-stats .stat-card:last-child{grid-column:1/-1}.muk-instrument-workspace{grid-template-columns:1fr}
.app-body.sakti-ui .content{padding:20px 18px 30px}
  .app-body.sakti-ui .page-heading{align-items:flex-start;flex-direction:column;padding:17px 18px}
  .app-body.sakti-ui :is(.page-heading-actions,.heading-actions){width:100%;justify-content:flex-start}
  .app-body.sakti-ui .summary-rail{grid-template-columns:repeat(2,minmax(0,1fr))}
  .app-body.sakti-ui .summary-rail article.summary-note{grid-column:1/-1}
  .app-body.sakti-ui .role-focus-wizard-head{align-items:flex-start;flex-direction:column}
  .app-body.sakti-ui .role-focus-wizard-actions{width:100%;justify-content:flex-start}
  .app-body.sakti-ui .role-focus-wizard-track{display:flex;overflow:auto hidden;scroll-snap-type:x proximity}
  .app-body.sakti-ui .role-focus-step{flex:0 0 154px;scroll-snap-align:start}
.app-body.sakti-ui :is(
    .verification-layout,.ak01-workspace,.assessment-roster-layout,.assessment-runtime-page,
    .muk-profile-layout,.coverage-layout,.validation-layout,.approval-layout,.document-editor-layout,
    .certificate-workspace,.decision-workspace,.recommendation-workspace,.case-workspace,
    .form-layout,.structure-shell,.authoring-shell,.report-two-column,
    .muk-workspace-detail-grid,.guided-workspace,.data-workspace
  ){grid-template-columns:minmax(0,1fr)}
  .app-body.sakti-ui :is(.verification-sidebar,.assessment-roster-schedules,.certificate-queue,.decision-queue,.recommendation-queue,.case-queue){position:static;max-height:none}
  .app-body.sakti-ui :is(.workspace-hero,.muk-workspace-hero){align-items:flex-start;flex-direction:column}
.dashboard-hero{grid-template-columns:1fr;min-height:0}
    .period-card{min-height:126px}
    .dashboard-grid{grid-template-columns:1fr}
    .panel-flow{min-height:0}
    .governance-strip{grid-template-columns:50px 1fr}
    .governance-strip>p{grid-column:2}
    .metric-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
.wizard-progress{grid-column:1/-1}
    .wizard-nav{scrollbar-width:none}
    .wizard-nav::-webkit-scrollbar{display:none}
    .wizard-nav button.is-active{scroll-snap-align:center}
.muk-workflow-tabs-four{grid-template-columns:repeat(2,minmax(0,1fr))}.muk-simple-check-grid,.muk-check-grid{grid-template-columns:1fr}.muk-simple-hero{grid-template-columns:1fr}.muk-simple-score{width:96px;height:96px}.muk-check-grid article{grid-template-columns:auto minmax(0,1fr)}.muk-check-grid article .button{grid-column:1/-1;width:100%}
.muk-workflow-tabs-three{grid-template-columns:repeat(3,minmax(180px,1fr));overflow-x:auto}
.muk-criteria-bulk-toolbar{grid-template-columns:1fr}.muk-criteria-bulk-toolbar>.count-pill{justify-self:start}.muk-selection-toolbar .selection-toolbar-actions{justify-content:flex-start}
}

@media (max-width:900px){
.sidebar{transition:transform .22s ease}
    .app-shell.sidebar-open .sidebar{transform:translateX(0)}
    .sidebar-close,.menu-button{display:grid}
    .sidebar-backdrop{position:fixed;inset:0;background:rgba(7,23,34,.46);backdrop-filter:blur(3px)}
    .app-shell.sidebar-open .sidebar-backdrop{display:block}
    .form-layout{grid-template-columns:1fr}
    .form-sidebar{position:relative;top:var(--content-sticky-top,10px)}
    .login-shell{grid-template-columns:1fr;min-height:auto}
    .login-identity{min-height:340px;padding:38px 40px}
    .login-access{padding:50px 32px}
    .dashboard-hero{grid-template-columns:1fr}
    .period-card{min-height:130px}
    .metric-grid{grid-template-columns:1fr 1fr}
    .summary-rail{grid-template-columns:1fr 1fr}
    .summary-note{grid-column:span 2}
    .module-intro{grid-template-columns:1fr}
    .module-signature{border-top:1px solid var(--line);border-left:0}
    .step-grid{grid-template-columns:1fr 1fr}
.review-detail-grid{grid-template-columns:1fr}
    .scheme-review-header{grid-template-columns:1fr}
    .scheme-review-meta{align-items:flex-start}
    .review-unit-head{flex-direction:column}
    .scheme-metrics.compact{width:100%;min-width:0}
.profile-account-grid{grid-template-columns:1fr}.signature-meta{grid-template-columns:1fr 1fr 1fr}.assessor-decision-grid{grid-template-columns:1fr}
.schedule-stat-grid,.assignment-context{grid-template-columns:1fr}.schedule-workspace-head,.readiness-hero{align-items:flex-start}.schedule-participant-list>article{grid-template-columns:auto minmax(0,1fr)}.participant-actions{grid-column:1/-1;justify-content:flex-end}.tuk-schedule-meta{grid-template-columns:1fr 1fr}.tuk-schedule-meta>div:last-child{grid-column:1/-1}.checklist-item{grid-template-columns:auto minmax(0,1fr)}.checklist-actions{grid-column:1/-1;justify-content:flex-end}.signed-readiness-panel{align-items:flex-start;flex-wrap:wrap}.signed-readiness-panel img{margin-left:57px}
.ak01-workspace{grid-template-columns:1fr}.ak01-list-panel{position:static}.ak01-plan-list{max-height:none;grid-template-columns:repeat(2,minmax(0,1fr))}.ak01-plan-card{border:1px solid var(--line-soft)}.ak01-hero{align-items:flex-start}.ak01-signoff-panel{align-items:flex-start;flex-direction:column}.ak01-signoff-panel form{justify-items:stretch;max-width:none;width:100%}.ak01-signoff-panel .button{width:100%}
.assessment-workspace{grid-template-columns:1fr}.assessment-queue{position:static;max-height:none}.assessment-queue-list{grid-template-columns:repeat(2,minmax(0,1fr));max-height:none;overflow:visible}.assessment-queue-card{border:1px solid var(--line-soft)}.assessment-hero{align-items:flex-start}.import-type-grid{grid-template-columns:1fr}.import-guide-panel{align-items:flex-start;flex-direction:column}
.recommendation-workspace{grid-template-columns:1fr}.recommendation-queue{position:static}.recommendation-queue-list{grid-template-columns:repeat(2,minmax(0,1fr));max-height:none;overflow:visible}.recommendation-queue-card{border:1px solid var(--line-soft)}.recommendation-unit-list>article{grid-template-columns:1fr}
.decision-workspace{grid-template-columns:1fr}.decision-queue{position:static}.decision-queue-list{grid-template-columns:repeat(2,minmax(0,1fr));max-height:none;overflow:visible}.decision-queue-card{border:1px solid var(--line-soft);border-radius:14px}.decision-queue-card:first-child{border-top:1px solid var(--line-soft)}

.workspace{margin-left:0}
    .app-footer{left:var(--shell-gutter);right:var(--shell-gutter)}
.sidebar{
        top:var(--shell-gutter);
        bottom:var(--shell-gutter);
        left:var(--shell-gutter);
        width:min(var(--sidebar-width),calc(100vw - var(--shell-gutter) - var(--shell-gutter)));
        transform:translateX(calc(-100% - var(--shell-gutter) - var(--shell-gutter)));
    }
:root{--sticky-shell-offset:0px}
    .form-sidebar,.editor-panel,.structure-nav,.coverage-aside,.muk-documents-aside,.content-grid-main-side>aside,.wizard-nav,
    .validation-queue,.approval-queue,.profile-summary-card,.sticky-review-card,.institution-logo-column,
    .ak01-list-panel,.assessment-queue,.recommendation-queue,.decision-queue,.certificate-queue,.case-queue,
    .document-editor-help{position:relative;top:auto;max-height:none}

.app-body .topbar{margin-bottom:12px}
.login-brand-institution{font-size:34px}
  .public-info-hero h1{font-size:42px}
  .public-info-section h2,.public-info-split h2{font-size:30px}
:root{--mobile-header-top:max(var(--shell-gutter),env(safe-area-inset-top,0px));--mobile-header-gap:18px}
    html,body.app-body{overflow-x:clip}
    .sidebar{z-index:180}
    .sidebar-backdrop{z-index:170}
:root{
        --mobile-topbar-height:66px;
        --mobile-footer-height:58px;
    }
    .topbar{
        height:var(--mobile-topbar-height);
        min-height:var(--mobile-topbar-height);
        max-height:var(--mobile-topbar-height);
    }
    .topbar-leading{flex:1 1 auto;min-width:0;overflow:hidden}
    .topbar-context,.breadcrumb{min-width:0;overflow:hidden}
    .breadcrumb strong{display:block;max-width:none;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
    .topbar-actions{flex:0 0 auto;min-width:0}
    .app-footer{
        min-height:var(--mobile-footer-height);
        padding-bottom:calc(9px + env(safe-area-inset-bottom));
    }
.sidebar-brand{gap:9px}
    .brand-lockup{max-width:calc(100% - 43px);gap:12px}
    .brand-copy strong{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
    .brand-copy small{display:none}
.menu-button,.notification-button,.account-trigger,.topbar-icon{
        width:44px;
        height:44px;
        min-width:44px;
        min-height:44px;
    }
    .account-trigger{grid-template-columns:38px;padding:3px}
.source-instrument-summary{align-items:flex-start;flex-direction:column}
  .source-instrument-summary form,.source-instrument-summary .button{width:100%}
  .instrument-review-row{grid-template-columns:1fr auto;align-items:start}
  .instrument-review-identity{grid-column:1}
  .instrument-review-row>.row-actions{grid-column:2;grid-row:1}
  .instrument-quick-form{grid-column:1/3;grid-template-columns:1fr 1fr}
  .instrument-quick-form .button{width:100%}
  .instrument-review-state{grid-column:1/3}
  .unit-scope-grid{grid-template-columns:1fr}
.readiness-hero{grid-template-columns:1fr}
  .readiness-score-card{max-width:360px}
  .process-guidance,.next-handoff,.prerequisite-blocker{grid-template-columns:auto minmax(0,1fr)}
  .process-guidance>.button,.next-handoff>.button,.next-handoff>.status-badge,.prerequisite-blocker>.button{grid-column:1/-1;justify-self:stretch}
  .readiness-step{grid-template-columns:auto minmax(0,1fr)}
  .readiness-step-action{grid-column:2;justify-content:flex-start}
.assessee-process-steps{display:flex;overflow-x:auto;padding-bottom:3px;scrollbar-width:thin}.assessee-process-step{flex:0 0 165px}.assessee-process-summary,.assessee-process-next{align-items:flex-start}.assessee-process-next{flex-wrap:wrap}.assessee-process-next .button{margin-left:54px}
.muk-master-batch-panel{grid-template-columns:1fr}.muk-master-batch-panel .button{width:100%}.muk-recovery-callout{grid-template-columns:1fr}.muk-recovery-callout>strong,.muk-recovery-callout>p,.muk-recovery-callout>form{grid-column:1;grid-row:auto}.muk-recovery-callout .button{width:100%}
.assessment-queue{padding:0;overflow:visible}
  .assessment-queue-disclosure>summary{display:flex;align-items:center;gap:11px;padding:13px 15px;cursor:pointer;list-style:none}
  .assessment-queue-disclosure>summary::-webkit-details-marker{display:none}
  .assessment-queue-disclosure>summary>span{display:grid;place-items:center;width:38px;height:38px;border-radius:11px;background:var(--role-accent-soft);color:var(--primary)}
  .assessment-queue-disclosure>summary>div{display:grid;gap:1px;min-width:0}.assessment-queue-disclosure>summary small{color:var(--ink-500);font-size:12px;font-weight:700;letter-spacing:.07em;text-transform:uppercase}.assessment-queue-disclosure>summary strong{color:var(--navy-900);font-size:14px}.assessment-queue-disclosure>summary em{margin-left:auto;color:var(--primary);font-size:12px;font-style:normal;font-weight:700}
  .assessment-queue-disclosure[open]>summary{border-bottom:1px solid var(--line-soft)}
  .assessment-queue-body{padding:0 10px 10px}
.muk-bulk-mapping-form{grid-template-columns:1fr}.muk-bulk-action{grid-column:auto;grid-template-columns:1fr}.muk-bulk-action>.button{width:100%}
.app-body :is(.assessment-hero,.ak01-hero,.recommendation-hero,.decision-hero,.certificate-hero,.case-hero,.result-hero){
    align-items:stretch;
    flex-direction:column;
  }
  .app-body :is(.assessment-hero-status,.ak01-hero-status,.recommendation-result,.certificate-hero>div:last-child,.case-hero>div:last-child,.result-hero>div:last-child){
    min-width:0;
    width:100%;
  }
.breadcrumb a:first-child,.breadcrumb .ui-icon:first-of-type{display:none}.breadcrumb{max-width:min(62vw,420px)}
.muk-digital-priority{grid-template-columns:1fr}.muk-digital-priority>.button{width:100%}.muk-instrument-readiness-item{grid-template-columns:auto minmax(0,1fr)}.muk-instrument-actions{grid-column:2;justify-content:flex-start}
.app-body{background-attachment:scroll}
  .app-body .topbar{backdrop-filter:none}
.login-page{
    display:block;
    padding:18px;
  }
  .login-page .login-shell{
    grid-template-columns:1fr;
    min-height:0;
  }
  .login-page .login-identity{
    min-height:300px;
    padding:34px 28px;
  }
  .login-page .login-brand-logo{
    width:86px;
    height:86px;
  }
  .login-page .login-brand-institution{
    margin-top:15px;
    font-size:30px;
  }
  .login-page .login-brand-tagline{
    margin-top:10px;
    font-size:12.5px;
  }
  .login-page .login-access{
    padding:42px 28px;
    border-top:1px solid var(--line-soft);
    border-left:0;
  }
.app-body .sidebar{padding:13px 11px 11px}
:root{--sidebar-width:min(88vw,300px);--topbar-height:62px}
.role-koordinator-tuk .readiness-hero{grid-template-columns:1fr}
  .role-koordinator-tuk .readiness-score-card{max-width:none}
.assessment-flow-row{grid-template-columns:68px minmax(0,1fr)}
  .assessment-flow-actions{grid-column:1/-1;justify-content:flex-start;padding-left:82px}
  .observation-checklist-item{grid-template-columns:minmax(0,1fr)}
  .observation-choice-group{justify-content:flex-start}
.role-focus-wizard-head{align-items:flex-start;flex-direction:column}.role-focus-wizard-actions{width:100%}.role-focus-wizard-actions .button{flex:1}
[data-focus-panels="1"]>.focus-panel-nav{position:static}
  .focus-schedule-actions{align-items:stretch;flex-direction:column}
  .focus-schedule-actions>.button,.focus-schedule-actions form,.focus-schedule-actions form .button{width:100%}
.app-body.sakti-ui .workspace{padding-top:0}
.app-body.sakti-ui .page-heading,
  .app-body.sakti-ui .page-heading-compact{align-items:flex-start;flex-direction:column;gap:10px;min-height:0;padding:15px 15px 15px 18px}
  .app-body.sakti-ui .page-heading-actions{width:100%;max-width:none;justify-content:flex-start}
  .app-body.sakti-ui .profile-photo-content{grid-template-columns:1fr;gap:14px}
  .app-body.sakti-ui .profile-photo-preview{padding-bottom:2px}
.app-body.sakti-ui .summary-rail{grid-template-columns:repeat(2,minmax(0,1fr))}
  .app-body.sakti-ui .summary-rail>article:last-child:nth-child(odd){grid-column:1/-1}
  .app-body.sakti-ui .summary-rail>.summary-note{grid-column:1/-1}
  .app-body.role-super-admin .summary-rail-3,
  .app-body.role-super-admin .summary-rail-4{grid-template-columns:repeat(2,minmax(0,1fr))}
  .app-body.role-super-admin .summary-rail-3>article:last-child:nth-child(odd),
  .app-body.role-super-admin .summary-rail-4>.summary-note{grid-column:1/-1}
  .app-body.role-super-admin.page-dashboard .dashboard-grid{grid-template-columns:1fr}
  .app-body.role-super-admin.page-institution .institution-settings-grid{grid-template-columns:1fr}
  .app-body.role-super-admin.page-institution .institution-logo-column{position:static}
  .app-body.role-super-admin.page-assessor-credential .definition-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.app-body.sakti-ui.role-asesor .assessment-current-task-large{
    grid-template-columns:38px minmax(0,1fr);
  }
  .app-body.sakti-ui.role-asesor .assessment-current-task-large>a{
    grid-column:1/-1;
    width:100%;
    min-height:46px;
  }
  .app-body.sakti-ui.role-asesor .assessment-assessee-nav{
    display:grid;
    grid-template-columns:1fr 1fr;
    width:100%;
  }
  .app-body.sakti-ui.role-asesor .assessment-assessee-nav .button{
    width:100%;
    min-width:0;
    padding-inline:10px;
    white-space:normal;
  }
  .app-body.sakti-ui.role-asesor .assessment-assessee-nav .button-primary{
    grid-column:1/-1;
    order:-1;
  }
  .app-body.sakti-ui.role-asesor .assessment-focus-nav{
    margin-inline:-2px;
    padding:8px;
    overflow-x:auto;
    scroll-snap-type:x proximity;
  }
  .app-body.sakti-ui.role-asesor .assessment-focus-nav a{
    min-width:184px;
    scroll-snap-align:start;
  }
  .app-body.sakti-ui.role-asesor .assessor-decision-grid{
    grid-template-columns:1fr;
  }
  .app-body.sakti-ui.role-asesor .decision-card{
    border-radius:14px;
  }
  .app-body.sakti-ui.role-asesor .decision-card .button{
    min-height:48px;
  }
.apl02-bulk-form{display:grid}.apl02-bulk-form>.table-wrap{display:none}.apl02-bulk-form>.apl02-save-bar{display:grid}.apl02-mobile-element-list{display:grid}.apl02-mobile-element-card{grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"main status" "button button"}.apl02-mobile-element-main{grid-area:main}.apl02-mobile-element-status{grid-area:status}.apl02-mobile-element-card>.button{grid-area:button;width:100%}.assessment-answer-toolbar{align-items:stretch;flex-direction:column}.segmented-control{display:grid;grid-template-columns:repeat(3,1fr)}.segmented-control button{justify-content:center}.compact-search{width:100%;min-width:0}.assessment-answer-groups{padding:12px}.assessment-answer-group .assessment-answer-stack{padding:10px}.assessment-answer-badges{justify-content:flex-start}.evidence-kuk-toolbar{grid-template-columns:1fr}.evidence-kuk-selection{grid-column:auto;align-items:stretch;flex-direction:column}.evidence-kuk-selection>div{display:grid;grid-template-columns:1fr 1fr}.evidence-kuk-selection .button{width:100%}
.app-body.sakti-ui .apl02-bulk-form{
    gap:10px;
    margin-bottom:12px;
  }
  .app-body.sakti-ui .apl02-bulk-form>.bulk-check-toolbar{
    order:1;
    margin:0;
    padding:11px;
    border-radius:14px;
    background:#fff;
    box-shadow:0 8px 24px rgba(7,23,34,.05);
  }
  .app-body.sakti-ui .apl02-bulk-form>.bulk-check-toolbar>div{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:8px;
  }
  .app-body.sakti-ui .apl02-bulk-form>.bulk-check-toolbar .button{
    width:100%;
    min-width:0;
    white-space:normal;
  }
  .app-body.sakti-ui .apl02-bulk-form>.bulk-check-toolbar .bulk-check-status{
    text-align:left;
  }
  .app-body.sakti-ui .apl02-bulk-form>.apl02-save-bar{
    order:2;
    margin:0 0 2px;
    padding:11px;
    border:1px solid var(--line-soft);
    border-radius:14px;
    background:#fff;
    box-shadow:0 8px 24px rgba(7,23,34,.05);
  }
.app-body.sakti-ui .apl02-workspace [data-wizard-panel="criteria"]{
    display:grid;
    gap:12px;
  }
  .app-body.sakti-ui .apl02-workspace .section-heading-inline{
    display:grid;
    gap:12px;
    margin:0;
    padding:0 2px;
  }
  .app-body.sakti-ui .apl02-workspace .section-heading-inline h2{
    margin:3px 0 7px;
    font-size:21px;
    line-height:1.25;
  }
  .app-body.sakti-ui .apl02-workspace .section-heading-inline p{
    margin:0;
    color:var(--ink-600);
    font-size:14.5px;
    line-height:1.6;
  }
  .app-body.sakti-ui .apl02-workspace .section-heading-actions{
    display:grid;
    grid-template-columns:auto minmax(0,1fr);
    align-items:center;
    gap:9px;
    width:100%;
  }
  .app-body.sakti-ui .apl02-workspace .section-heading-actions .status-badge{
    justify-self:start;
  }
  .app-body.sakti-ui .apl02-workspace .section-heading-actions .button{
    justify-self:stretch;
    min-width:0;
    min-height:44px;
    border-color:color-mix(in srgb,var(--role-accent) 18%,var(--line));
    background:#fff;
    color:var(--role-accent-strong);
    box-shadow:0 6px 18px rgba(7,23,34,.04);
  }
  .app-body.sakti-ui .apl02-bulk-form{
    overflow:hidden;
    margin:0;
    padding:11px;
    border:1px solid rgba(18,42,55,.09);
    border-radius:16px;
    background:linear-gradient(180deg,#fff,rgba(250,251,250,.96));
    box-shadow:0 10px 28px rgba(7,23,34,.055);
  }
  .app-body.sakti-ui .apl02-bulk-form>.bulk-check-toolbar{
    padding:0;
    border:0;
    background:transparent;
    box-shadow:none;
  }
  .app-body.sakti-ui .apl02-bulk-form>.bulk-check-toolbar>div{
    gap:7px;
  }
  .app-body.sakti-ui .apl02-bulk-form>.bulk-check-toolbar .button{
    min-height:44px;
    padding:0 10px;
    border-radius:11px;
    border-color:rgba(122,82,119,.20);
    background:color-mix(in srgb,var(--role-accent-soft) 42%,#fff);
    color:var(--ink-800);
    font-size:12.75px;
    font-weight:650;
    box-shadow:none;
  }
  .app-body.sakti-ui .apl02-bulk-form>.bulk-check-toolbar .button:hover{
    border-color:color-mix(in srgb,var(--role-accent) 28%,var(--line));
    background:color-mix(in srgb,var(--role-accent-soft) 64%,#fff);
  }
  .app-body.sakti-ui .apl02-bulk-form>.bulk-check-toolbar .bulk-check-status{
    margin-top:2px;
    padding:0 2px;
    color:var(--ink-500);
    font-size:12.5px;
  }
  .app-body.sakti-ui .apl02-bulk-form>.apl02-save-bar{
    margin-top:8px;
    padding:11px 0 0;
    border:0;
    border-top:1px solid var(--line-soft);
    border-radius:0;
    background:transparent;
    box-shadow:none;
  }
  .app-body.sakti-ui .apl02-bulk-form>.apl02-save-bar>div{
    gap:3px;
  }
  .app-body.sakti-ui .apl02-bulk-form>.apl02-save-bar strong{
    font-size:13.5px;
  }
  .app-body.sakti-ui .apl02-bulk-form>.apl02-save-bar small{
    font-size:12.5px;
    line-height:1.45;
  }
  .app-body.sakti-ui .apl02-bulk-form>.apl02-save-bar .button{
    margin-top:9px;
    min-height:46px;
    border-radius:12px;
  }
  .app-body.sakti-ui .apl02-evidence-library{
    margin-top:2px;
    border-radius:16px;
  }
.application-card-grid,.requirement-grid,.verification-overview{grid-template-columns:1fr}
    .application-context-bar{grid-template-columns:1fr 1fr}.application-context-progress{grid-column:1/-1}
    .apl-review-grid{grid-template-columns:1fr}
    .declaration-form{grid-template-columns:1fr}.declaration-form .button{grid-column:auto;width:100%}
    .verification-sidebar{grid-template-columns:1fr}
    .admin-document-row{grid-template-columns:42px minmax(0,1fr)}.admin-document-actions{grid-column:2;justify-content:flex-start}
.assessment-phase-steps{display:flex;overflow-x:auto;padding-bottom:4px;scrollbar-width:thin}.assessment-phase-step{flex:0 0 220px}.assessment-current-task{grid-template-columns:42px minmax(0,1fr)}.assessment-current-task .button{grid-column:2;width:max-content}.assessment-phase-guide-head{align-items:flex-start;flex-direction:column}
.candidate-task-card-with-files{grid-template-columns:1fr}
  .candidate-task-card-with-files .candidate-task-actions,.candidate-task-card-with-files .candidate-practice-upload{grid-column:1}
  .candidate-practice-upload-form{grid-template-columns:1fr}
  .assessment-practice-submission{grid-column:1/-1}
  .assessment-assessee-nav .button{flex:1 1 auto}
.assessment-instrument-guide-grid{grid-template-columns:1fr}.assessment-instrument-guide-grid strong{white-space:normal}
.public-info-topbar{align-items:flex-start}.public-info-topbar nav>a:not(.button){display:none}.public-process-grid,.public-scheme-grid,.public-info-split{grid-template-columns:1fr}.public-info-hero{min-height:330px;padding:34px 24px}.public-info-footer{align-items:flex-start;flex-direction:column}.public-scheme-grid dl div{grid-template-columns:1fr}
.apl02-kuk-list{min-width:230px}.apl02-element-table textarea{min-width:210px}
}

@media (orientation:landscape) and (max-height:520px) and (max-width:900px){
:root{--mobile-topbar-height:54px;--mobile-footer-height:44px;--mobile-header-gap:8px}
    .topbar{height:54px;min-height:54px;max-height:54px}
    .role-state,.system-state,.topbar-context>small{display:none!important}
    .sidebar{top:4px;bottom:4px}
    .sidebar-context{display:none}
    .app-footer{min-height:44px;padding-block:5px}
    .modal-layer{align-items:stretch;padding:5px}
    .modal-dialog,.modal-dialog.modal-wide{max-height:calc(var(--modal-viewport-height,100dvh) - 10px)}
}

@media (max-width:760px){
html,body{max-width:100%}
    .workspace,.content,.panel,.page-heading>div,.topbar-leading,.breadcrumb{min-width:0}
    .page-heading,.section-heading{align-items:flex-start;flex-direction:column;gap:14px}
    .page-heading>.button,.section-heading>.button{width:100%}
    .muk-summary-rail{grid-template-columns:1fr}.muk-summary-rail .summary-note{grid-column:auto}
    .muk-card-grid{padding:14px}.muk-card{padding:18px}.muk-card>header,.muk-card-actions,.muk-task-card>header,.muk-task-card>footer{align-items:flex-start;flex-direction:column}.muk-card .status,.muk-task-card .status{align-self:flex-start}.muk-card-actions{width:100%}.muk-flow-actions{width:100%;justify-content:flex-start}.muk-flow-actions form,.muk-flow-actions .button{width:100%}.muk-flow-actions .button{justify-content:center}
    .team-grid{grid-template-columns:1fr}.team-card{grid-template-columns:45px minmax(0,1fr);padding:18px}.team-card-actions{grid-column:2;justify-content:flex-start}
    .coverage-hero{grid-template-columns:1fr;padding:20px}.coverage-score{align-items:flex-start}.coverage-aside{grid-template-columns:1fr}
    .task-board{gap:14px}.muk-task-card{min-height:0;padding:19px}.task-metrics{width:100%}
    .wizard-nav{margin:0 -16px;padding:10px 16px;border-right:0;border-left:0;border-radius:0;scroll-snap-type:x mandatory}.wizard-nav button{min-width:155px;scroll-snap-align:start}
    .instrument-card>header,.instrument-card>footer,.mapping-card>header{align-items:flex-start;flex-direction:column}.instrument-card>footer{gap:12px}.instrument-card>footer form,.instrument-card>footer .button{width:100%}.instrument-card>footer .row-actions{width:auto}
    .upload-strip{grid-template-columns:1fr;align-items:stretch}.upload-strip>.button{width:100%}.file-control>span{min-width:0}
    .finalization-grid{grid-template-columns:1fr}.final-score{align-items:flex-start;flex-direction:column}.team-inline,.approval-team{grid-template-columns:1fr 1fr}
    .submit-panel,.decision-panel,.activation-panel{align-items:flex-start;flex-direction:column}.submit-panel>.button,.activation-panel form,.activation-panel .button{width:100%}.decision-actions{width:100%;justify-content:stretch}.decision-actions .button{flex:1}
    .review-instrument-list dl,.review-side-grid{grid-template-columns:1fr}
    .validation-queue nav,.approval-queue nav{grid-template-columns:1fr 1fr}
    .quality-gates{grid-template-columns:1fr}.quality-instruments article>div{grid-template-columns:1fr}
    .approval-hero{grid-template-columns:1fr;padding:26px}.approval-seal{width:110px;height:110px}.approval-summary-grid,.decision-history{grid-template-columns:1fr}
.profile-photo-content{grid-template-columns:1fr;padding:18px}.profile-photo-form{grid-template-columns:1fr}.profile-photo-form .button{width:100%}.profile-photo-delete{padding:0 18px 18px}.profile-photo-preview{align-items:flex-start}
.page-heading-with-actions{align-items:flex-start}.page-heading-actions{justify-content:flex-start}
    .application-card>header,.application-card>footer{align-items:flex-start;flex-direction:column}.application-card>footer,.application-card>footer .button,.application-card>footer form{width:100%}.application-facts{grid-template-columns:1fr}.application-facts>div{display:flex;align-items:center;justify-content:space-between;gap:10px}.application-facts span{margin:0}.application-facts strong{text-align:right}
    .profile-form-panel>.form-grid,.apl-form-panel{padding:18px}
    .application-context-bar{grid-template-columns:1fr}.application-context-progress{grid-column:auto}
    .requirement-card{min-height:0}.document-upload-form{grid-template-columns:1fr}.document-upload-form .button{width:100%}
    .uploaded-document{align-items:flex-start;flex-direction:column}.requirement-actions{width:100%}.requirement-actions .button,.requirement-actions form{flex:1}.requirement-actions form .button{width:100%}
    .detail-grid{grid-template-columns:1fr}.detail-grid .detail-span-2{grid-column:auto}
    .verification-score{align-items:flex-start;flex-direction:column}.application-identity-card{align-items:flex-start}
    .filter-bar.compact-filter-bar{display:grid;grid-template-columns:1fr 1fr;width:100%}.compact-filter-bar label,.compact-filter-bar label:first-child{min-width:0}.compact-filter-bar label:first-child{grid-column:1/-1}.compact-filter-bar .button{width:100%}
.signature-profile-panel,.profile-account-card,.profile-security-card,.assessor-decision-panel{padding:18px}.signature-profile-panel>.panel-head,.profile-account-card .panel-head,.assessor-decision-panel>.panel-head{margin:-18px -18px 18px;padding:0 18px 16px}.signature-canvas-head{flex-direction:column}.signature-meta{grid-template-columns:1fr}.apl02-evidence-grid{grid-template-columns:1fr}.apl02-criterion-card,.apl02-review-card{grid-template-columns:1fr}.criterion-number{width:auto;justify-self:start;padding:0 12px}.review-inline-form{grid-template-columns:1fr}.review-signature-strip>div{grid-template-columns:1fr}.review-signature-strip img{grid-column:auto;grid-row:auto;width:100%;max-height:80px}.signed-snapshot-card{align-items:flex-start;flex-direction:column}.signed-snapshot-card img{width:100%}.evidence-card>footer{align-items:stretch;flex-direction:column}.evidence-card>footer form{width:100%;margin-left:0}.evidence-card>footer .button{width:100%}
.schedule-workspace-head,.readiness-hero,.assessee-schedule-card>header,.assessee-schedule-card>footer{flex-direction:column}.schedule-action-strip,.schedule-action-strip form,.schedule-action-strip .button{width:100%}.schedule-gate-grid,.readiness-summary-grid,.assignment-detail-grid,.assessee-schedule-grid{grid-template-columns:1fr}.assessee-schedule-grid>div:last-child{grid-column:auto}.assignment-toolbar{align-items:stretch;flex-direction:column}.assignment-toolbar .filter-bar{width:100%}.assessor-assignment-card>header,.tuk-schedule-card>header{flex-direction:column}.assessor-assignment-card>footer,.schedule-confirm-actions{width:100%;flex-direction:column}.assessor-assignment-card>footer .button,.schedule-confirm-actions .button,.schedule-confirm-actions form{width:100%}.signature-consent-box{align-items:flex-start;flex-direction:column}.signature-consent-box img{width:100%;max-height:82px}.readiness-score{width:100%;flex:0 0 auto}.signed-readiness-panel img{width:100%;margin-left:0}.schedule-primary-info{align-items:flex-start}.assessee-schedule-card>footer{align-items:stretch}.checklist-copy footer{align-items:flex-start;flex-direction:column}
.scope-chip-list { min-width: 0; }
    .field select[multiple] { min-height: 11rem; }
.ak01-plan-list,.ak01-summary-grid,.ak01-agreement-grid,.signature-status-grid{grid-template-columns:1fr}.ak01-agreement-grid .span-2{grid-column:auto}.ak01-hero{align-items:flex-start;flex-direction:column;padding:22px}.ak01-hero-status{justify-items:start;text-align:left}.ak01-item-list article{grid-template-columns:38px minmax(0,1fr);padding:16px}.ak01-item-list article>.icon-button{grid-column:1/-1;justify-self:stretch;width:100%}.ak01-decision-actions{align-items:stretch;flex-direction:column;width:100%}.ak01-decision-actions>.button,.ak01-decision-actions>form{width:100%}.institution-form-actions{align-items:stretch;flex-direction:column}.institution-form-actions .button{width:100%}
.assessment-queue-list{grid-template-columns:1fr}.assessment-hero{flex-direction:column;padding:22px}.assessment-hero-status{width:100%}.assessment-kuk-row{grid-template-columns:1fr;padding:14px 16px}.assessment-kuk-outcome{justify-content:flex-start;min-width:0}.assessment-unit-card>header{flex-direction:column}.assessment-opening,.assessment-finalize-panel,.assessment-control-bar{align-items:stretch;flex-direction:column}.assessment-opening .button,.assessment-finalize-panel .button{width:100%}.assessment-summary-rail{grid-template-columns:1fr 1fr}.evidence-library-grid{padding:12px}.modal-extra-wide{width:100%}.panel-footer-actions{align-items:stretch;flex-direction:column}.panel-footer-actions .button,.panel-footer-actions form{width:100%}.panel-footer-actions form .button{width:100%}
.recommendation-queue-list{grid-template-columns:1fr}.recommendation-hero{align-items:stretch;flex-direction:column}.recommendation-result{min-width:0}.recommendation-read-grid{grid-template-columns:1fr}.quality-checklist>article{grid-template-columns:1fr}.quality-checklist>article .field:last-child{grid-column:auto}
.decision-readiness-grid{grid-template-columns:1fr;padding:14px}.decision-readiness-grid article{padding:15px}
.decision-queue-list{grid-template-columns:1fr}.decision-hero,.result-hero,.decision-action-panel{align-items:stretch;flex-direction:column}.decision-summary-grid{grid-template-columns:1fr;padding:14px}.decision-summary-grid article.span-2{grid-column:auto}.clarification-meta{align-items:flex-start;flex-direction:column}.result-hero>div:last-child{min-width:0;text-align:left}.clarification-inbox{padding:14px}.certificate-progress>div{flex-direction:column}
.certificate-queue-list,.case-queue-list{grid-template-columns:1fr}.certificate-hero,.case-hero,.certificate-action-panel,.case-action-panel{align-items:flex-start;flex-direction:column}.detail-grid,.report-metric-grid,.report-two-column,.certificate-meta{grid-template-columns:1fr}.case-reply-form .button{width:100%}.report-filter-grid{grid-template-columns:1fr}.verification-form{grid-template-columns:1fr}.certificate-print-body{padding:0}.certificate-document{min-height:auto;padding:28px;border-width:7px}.certificate-document header{flex-direction:column}.certificate-title{margin:34px 0 24px}.certificate-title span{font-size:30px}.certificate-recipient h2{font-size:29px}.certificate-document footer{align-items:center;flex-direction:column;text-align:center}
.muk-documents-layout{grid-template-columns:1fr}.muk-documents-aside{position:static}.muk-document-group>header{align-items:flex-start;padding:14px 16px}.muk-document-card{grid-template-columns:1fr;padding:16px}.muk-document-index{display:none}.muk-document-actions{grid-column:auto;justify-content:stretch;max-width:none}.muk-document-actions .button{flex:1 1 150px}.muk-document-actions .icon-button{flex:0 0 42px}.muk-document-lock-note{margin:14px 14px 0}.document-field-grid{grid-template-columns:1fr}.document-field-grid .field-span-2{grid-column:auto}.print-toolbar{align-items:flex-start;flex-direction:column}.muk-print-document{width:100%;margin:0;padding:7mm;box-shadow:none;overflow:auto}.muk-print-header{grid-template-columns:22mm minmax(120mm,1fr) 48mm}.muk-print-footer{left:7mm;right:7mm}.print-grid-2,.validation-phase-grid{grid-template-columns:1fr}
.muk-context-identity{grid-template-columns:1fr;padding:16px}.muk-context-status{justify-content:flex-start}.muk-context-shell .muk-workflow-tabs{grid-template-columns:repeat(2,minmax(0,1fr));padding:8px}.muk-workspace-heading{min-height:0}.muk-readiness-dial{width:94px;height:94px}.muk-next-action{grid-template-columns:auto minmax(0,1fr)}.muk-next-action form{grid-column:1/-1}.muk-next-action form .button{width:100%}.muk-flow-grid{grid-template-columns:1fr}.muk-identity-facts{grid-template-columns:1fr 1fr}.muk-progress-panel{grid-template-columns:1fr;padding:18px}.muk-progress-metrics{grid-column:auto;grid-row:auto}.muk-progress-panel>.muk-readiness-dial{justify-self:start}.muk-review-document-list article{grid-template-columns:1fr auto}.muk-review-document-list .row-actions{grid-column:1/-1;justify-content:flex-start}.muk-blocker-list a{grid-template-columns:32px minmax(0,1fr)}.muk-blocker-list a>svg{display:none}.page-heading::after{right:-110px}.page-heading>div:first-child{max-width:none}.page-heading-actions,.page-heading>form,.page-heading>.button{width:100%}.page-heading-actions .button,.page-heading>form .button,.page-heading>.button{width:100%}.metric-card{grid-template-columns:44px minmax(0,1fr)}.metric-icon{width:42px;height:42px}.priority-action small{display:none}.topbar-context>small{display:none}
.theme-palette-grid{grid-template-columns:1fr}.theme-palette-card{grid-template-columns:64px minmax(0,1fr) 26px;min-height:94px}.theme-swatches{width:60px;height:60px;border-radius:15px}
.button-palette-grid{grid-template-columns:1fr}.button-palette-card{grid-template-columns:94px minmax(0,1fr) 26px;min-height:98px}.button-palette-demo{width:90px;grid-template-rows:repeat(2,23px)}
:root{--composition-gap:14px;--composition-radius:17px;--composition-radius-lg:19px}
    .page-heading{min-height:0;align-items:flex-start;padding:20px}
    .metric-grid{grid-template-columns:1fr}
    .metric-card{min-height:108px}
    .governance-strip{grid-template-columns:44px 1fr;gap:14px;padding:19px}
    .panel-head{min-height:0;padding:18px}
    .panel-head-responsive{align-items:flex-start}
    .panel-head-responsive>.filter-bar{width:100%}
    .modal-head{min-height:0;padding:18px 18px 15px}
    .modal-actions{margin-inline:-18px;padding-inline:18px}
.application-identity-fields{grid-template-columns:1fr}
.muk-source-choice-grid{grid-template-columns:1fr}.muk-choice-card.is-legacy{grid-column:auto}
.muk-template-document-row{grid-template-columns:1fr;padding:16px}.muk-template-document-controls{grid-template-columns:1fr}.muk-template-document-actions{align-items:flex-start;flex-direction:column}.muk-template-document-actions>div{width:100%}.muk-template-document-actions .button{flex:1;justify-content:center}.muk-template-profile-layout{gap:14px}
.workflow-tabs:not(.muk-workflow-tabs){margin-bottom:18px}
    .workflow-guidance{
        grid-template-columns:1fr;
        gap:16px;
        margin-bottom:18px;
        padding:17px 16px;
    }
    .workflow-guidance-copy{padding-right:0}
    .workflow-guidance h2{font-size:16px;line-height:1.48}
    .workflow-guidance-actions{justify-content:stretch}
    .workflow-guidance-actions .button{width:100%;white-space:normal}
    .assignment-toolbar{margin-bottom:18px;padding:16px}
.delegation-takeover{align-items:stretch;flex-direction:column}.delegation-takeover form,.delegation-takeover .button{width:100%}
.approval-primary-action,
  .approval-primary-action.is-active-state {
    align-items: stretch;
    flex-direction: column;
  }
  .approval-primary-action .decision-actions,
  .approval-primary-action form,
  .approval-primary-action .button {
    width: 100%;
  }
.muk-signature-recovery{align-items:stretch;flex-direction:column}
  .muk-signature-recovery form{justify-items:stretch;min-width:0}
  .muk-signature-recovery .button{width:100%}
  .muk-signature-preview{align-items:flex-start;flex-direction:column}
  .muk-signature-preview img{width:100%;max-height:82px}
.scheme-table-first{min-width:860px}
.muk-template-table{min-width:1320px}
  .apl02-assessment-table{min-width:1180px}
  .table-upload-form,.responsive-table .table-actions:has(.table-upload-form){min-width:232px}
  .table-details pre{max-width:280px}
.certificate-table{min-width:1020px}
  .certificate-record-table{min-width:800px}
  .certificate-handover-panel .panel-head-responsive{align-items:stretch}
  .certificate-handover-panel .table-actions{display:grid;grid-template-columns:1fr;width:100%}
  .certificate-handover-panel .table-actions .button{width:100%}
.muk-simple-flow{grid-template-columns:1fr}.muk-simple-flow .muk-readiness-dial{grid-column:1;grid-row:auto}.muk-simple-steps{grid-template-columns:1fr}.muk-primary-action{justify-content:flex-start;min-width:0;flex-wrap:wrap}.muk-row-more>div{min-width:0}.muk-simple-document-table th:first-child,.muk-simple-document-table th:nth-child(2),.muk-simple-document-table th:nth-child(3){min-width:0}
.assessment-current-task-large{grid-template-columns:auto 1fr}
  .assessment-current-task-large .button{grid-column:1/-1;width:100%}
  .candidate-task-card{align-items:stretch;flex-direction:column}
  .candidate-task-actions{align-items:stretch;flex-direction:column}
  .candidate-task-actions .button{width:100%}
  .candidate-response-card>summary{align-items:flex-start}
  .assessor-led-list>article{grid-template-columns:auto 1fr}
  .assessor-led-list>article>.status-badge{grid-column:2}
  .assessment-unit-summary strong,.assessment-element-card>summary strong{white-space:normal}
.assessment-focus-nav,.assessment-focus-nav-asesi{top:70px;display:flex;overflow-x:auto;scrollbar-width:thin}.assessment-focus-nav>a{flex:0 0 175px}.assessment-bulk-helper{grid-template-columns:1fr}.assessment-bulk-helper .bulk-check,.assessment-bulk-helper .bulk-note-field{grid-column:auto}.assessment-bulk-helper .button{width:100%}.preview-modal-dialog{height:var(--modal-viewport-height,100dvh)}.preview-modal-body iframe{min-height:0}.preview-modal-actions{grid-template-columns:1fr 1fr}
.assessment-phase-guide.role-asesor .assessment-phase-step{flex-basis:190px}
  .assessment-kuk-edit-table{min-width:610px}
  .assessment-kuk-edit-table td:first-child{position:sticky;left:0;z-index:2;min-width:310px;background:var(--surface);box-shadow:8px 0 12px -12px rgba(10,31,43,.35)}
  .assessment-kuk-edit-table thead th:first-child{position:sticky;left:0;z-index:3;background:var(--surface-soft)}
  .kuk-editor-desktop{display:none!important}
  .kuk-editor-mobile{display:table-cell}
.next-action-panel,.readiness-action-panel{align-items:stretch;flex-direction:column;padding:20px 18px}
  .next-action-panel .button,.readiness-action-panel .button{width:100%}
  .muk-simple-steps>.muk-simple-step{grid-template-columns:38px minmax(0,1fr)}
  .muk-simple-step>.status,.muk-simple-step>.button{grid-column:2;justify-self:start}
  .document-inline-state{align-items:flex-start;flex-wrap:wrap;margin:0 14px 16px}
  .document-inline-state .button{width:100%}
.compact-meta-panel,.signature-verify-list{grid-template-columns:1fr}.validation-signature-timeline .timeline-item{grid-template-columns:38px minmax(0,1fr)}.validation-signature-timeline .timeline-item>.status{grid-column:2;justify-self:start}.muk-workflow-tabs-five{grid-template-columns:repeat(5,minmax(150px,1fr));overflow-x:auto}
.monitoring-summary{grid-template-columns:1fr}.monitoring-certification-table{min-width:0}.monitoring-stage-cell>.table-progress{min-width:0}
.inline-info{align-items:stretch;flex-direction:column}.inline-info>.button{width:100%}
.signoff-readiness-grid{grid-template-columns:1fr}.signoff-actions{display:grid;grid-template-columns:1fr;bottom:var(--content-sticky-bottom,10px)}.signoff-actions .button{width:100%}.muk-signoff-action{scroll-margin-top:84px}
.muk-criteria-selector-form{padding:14px}.muk-criteria-selector-form .panel-subhead,.muk-criteria-bulk-toolbar{grid-template-columns:1fr;display:grid}.muk-criteria-bulk-actions{justify-content:stretch}.muk-criteria-bulk-actions .button{flex:1 1 auto}.muk-unit-selector>summary{align-items:flex-start;flex-direction:column}.muk-unit-expand{padding-left:30px}.muk-kuk-check-row{grid-template-columns:20px minmax(0,1fr)}.muk-kuk-check-row em{grid-column:2;justify-self:start}
.selection-field-head{align-items:stretch;flex-direction:column}.selection-toolbar{grid-template-columns:1fr}.selection-toolbar-actions{display:grid;grid-template-columns:1fr 1fr}.selection-toolbar-actions .button{width:100%}.selection-option-list{max-height:300px}.evidence-kuk-group>summary{align-items:flex-start}.evidence-kuk-group>summary>em{display:none}
.muk-next-action>.muk-next-actions{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr}.muk-next-action>.muk-next-actions .button{width:100%}
.bulk-assignment-card{padding:14px}.bulk-assignment-card .panel-head-responsive{align-items:stretch;flex-direction:column}.bulk-assignment-card .compact-field{min-width:0;width:100%}.bulk-assignment-card .form-actions .button{width:100%}
.assessment-focus-nav-asesor{display:flex}.assessment-focus-nav-asesor>a{flex:0 0 190px}.segmented-choice{grid-template-columns:1fr}.assessment-roster-schedule-list{grid-template-columns:1fr}
.signature-access-gate{grid-template-columns:auto minmax(0,1fr);padding:16px}.signature-access-gate>.button{grid-column:1/-1;width:100%}
.app-body .priority-action small{
    display:inline;
  }
.app-body .workspace-hero{min-height:0;padding:22px}
  .app-body .workspace-next-action{padding:17px}
  .app-body .workspace-next-action>.status-badge{grid-column:1/-1;justify-self:start}
  .app-body .full-workflow-timeline{padding:1px 16px 16px}
  .app-body .assessment-step-panel>.assessor-led-list,
  .app-body .panel>.stack-list,
  .app-body .panel>.detail-list{padding-right:16px;padding-left:16px;padding-bottom:16px}
.app-body :is(
    .assessment-opening,
    .assessment-finalize-panel,
    .assessment-control-bar,
    .completion-banner,
    .success-panel,
    .muk-verification-success,
    .muk-task-explainer,
    .muk-digital-priority,
    .muk-simple-sync,
    .import-guide-panel
  ){
    padding:17px 16px;
  }
  .app-body .schedule-readiness-guide>:is(.requirement-list,.inline-success){
    margin-right:16px;
    margin-bottom:16px;
    margin-left:16px;
  }
  .app-body .assessment-completeness-panel>.callout{
    margin:14px 16px 16px;
  }
  .app-body .assessment-completeness-panel>.assessment-blocker-list{
    margin-right:16px;
    margin-bottom:16px;
    margin-left:16px;
  }
  .app-body :is(
    .form-actions,
    .page-heading-actions,
    .panel-actions,
    .modal-actions,
    .decision-actions,
    .schedule-confirm-actions,
    .participant-actions,
    .muk-simple-actions,
    .bulk-action-bar,
    .bulk-action-footer
  ){
    flex-wrap:wrap;
    max-width:100%;
  }
  .app-body :is(
    .form-actions,
    .page-heading-actions,
    .panel-actions,
    .modal-actions,
    .decision-actions,
    .schedule-confirm-actions,
    .participant-actions,
    .muk-simple-actions,
    .bulk-action-bar,
    .bulk-action-footer
  ) :is(.button,button,a){
    max-width:100%;
    white-space:normal;
  }
  .app-body :is(.metric-grid,.card-list,.quality-gates,.schedule-gate-grid,.readiness-summary-grid){
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
.app-body .case-workspace{
    border-radius:17px;
  }
  .app-body .case-workspace>.case-main>.case-hero{
    min-height:0;
  }
.asesi-onboarding-steps{grid-template-columns:1fr;padding:16px}.asesi-onboarding-step{grid-template-columns:auto minmax(0,1fr)}.asesi-onboarding-step>.status-badge{grid-column:2;justify-self:start}.onboarding-result{margin:0 16px 16px}.onboarding-result .button{width:100%;margin-top:8px}
.assessment-person-context{padding:14px}
  .profile-avatar-medium{width:50px;height:50px;flex-basis:50px;border-radius:14px;font-size:18px}
  .assessment-person-main h2{font-size:20px}
  .assessment-context-meta{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}
  .assessment-context-meta>span{min-width:0;padding:8px 9px}
  .assessment-runtime-page .assessment-focus-nav{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}
  .assessment-runtime-page .assessment-current-task-large{grid-template-columns:42px minmax(0,1fr);padding:14px}
  .assessment-runtime-page .assessment-current-task-large>span{width:42px;height:42px}
  .assessment-runtime-page .assessment-current-task-large>.button{grid-column:1/-1;width:100%}
  .assessment-secondary-disclosure>.assessment-disclosure-summary{grid-template-columns:34px minmax(0,1fr);padding:10px 12px}
  .assessment-disclosure-summary>em{grid-column:2}
  .assessment-history-list>article{align-items:flex-start;flex-direction:column}
  .assessment-runtime-page-asesor .assessment-flow-row{grid-template-columns:1fr}
  .assessment-runtime-page-asesor .assessment-flow-position{display:grid;grid-template-columns:auto 72px;align-items:center;justify-content:start;gap:8px}
  .assessment-runtime-page-asesor .assessment-flow-actions{justify-content:flex-start}
.assessment-group-stage-progress{grid-template-columns:1fr auto}.assessment-group-stage-progress-bar{grid-column:1/-1;grid-row:2}.assessment-group-participant-list article{grid-template-columns:minmax(0,1fr) auto}.assessment-group-participant-list article .button{grid-column:1/-1;width:100%}.assessment-conditional-tool-list article{grid-template-columns:1fr}.assessment-conditional-tool-list form,.assessment-conditional-tool-list .button{width:100%}
.assessment-roster-context{align-items:flex-start;flex-direction:column}.assessment-roster-context-status{text-align:left;padding:12px 0 0;border-left:0;border-top:1px solid var(--line-soft);width:100%}
.split-actions{align-items:stretch;flex-direction:column}.split-actions>div{display:grid;gap:8px}.split-actions .button{width:100%}
:root{--ds-layout-control-height:48px;--ds-layout-gap:11px}
  .app-body.sakti-ui .topbar-context>small,
  .app-body.sakti-ui .system-state,
  .app-body.sakti-ui .account-copy{display:none}
  .app-body.sakti-ui .breadcrumb{font-size:13px}

  .app-body.sakti-ui .role-focus-wizard-compact .role-focus-wizard-head{align-items:stretch;flex-direction:column}
  .app-body.sakti-ui .role-focus-count{flex-basis:42px}
  .app-body.sakti-ui .role-focus-disclosure>summary small{font-size:12px}

  .app-body.sakti-ui .focus-panel-nav{align-items:stretch;flex-wrap:nowrap}
  .app-body.sakti-ui .focus-panel-nav-head{left:0;z-index:2;flex:0 0 min(66vw,250px)}
  .app-body.sakti-ui .focus-panel-nav>button{flex:0 0 auto;min-height:42px}
  .app-body.sakti-ui :is(input,select,textarea,.custom-select-control,.custom-search-control){font-size:16px!important}
  .app-body.sakti-ui .field-hint,.app-body.sakti-ui .field-error{font-size:12.5px}

  .app-body.sakti-ui .form-actions-sticky,
  .app-body.sakti-ui .sticky-form-actions{
    margin-inline:-8px;
  }

  .app-body.sakti-ui .account-setup-step{flex-basis:min(74vw,210px)}
.app-body.sakti-ui .period-card{min-width:0;width:100%}
  .app-body.sakti-ui .governance-strip{grid-template-columns:34px minmax(0,1fr)}
  .app-body.sakti-ui .governance-strip>p{grid-column:1/-1;margin:0}
:root{
    --footer-height:46px;
    --ds-mobile-gutter:12px;
    --ds-mobile-radius:16px;
    --ds-mobile-line:rgba(20,45,58,.11);
    --ds-mobile-shadow:0 5px 18px rgba(8,29,42,.055);
  }

  body.app-body.sakti-ui{
    min-width:0;
    background:
      radial-gradient(circle at 100% 0,rgba(var(--role-accent-rgb),.045),transparent 19rem),
      var(--canvas);
  }
  .app-body.sakti-ui .workspace{
    min-width:0;
    margin-left:0;
  }

  /* Mobile shell: use the screen width instead of nesting floating cards. */
  .app-body.sakti-ui .topbar{
    min-height:58px;
    margin:0 0 10px;
    padding:6px 10px;
    border-width:0 0 1px;
    border-radius:0 0 18px 18px;
    box-shadow:0 8px 24px rgba(7,23,34,.13);
  }
  .app-body.sakti-ui .topbar::before{display:none}
  .app-body.sakti-ui .topbar-leading{flex:1 1 auto;gap:4px;min-width:0}
  .app-body.sakti-ui .topbar-actions{flex:0 0 auto;gap:4px}
  .app-body.sakti-ui :is(.menu-button,.notification-button,.topbar-icon,.account-trigger){
    width:42px;
    height:42px;
    min-width:42px;
    min-height:42px;
    border-radius:12px;
  }
  .app-body.sakti-ui .menu-button{margin-right:2px}
  .app-body.sakti-ui .topbar-context{flex:1 1 auto;min-width:0}
  .app-body.sakti-ui .topbar-context>small,
  .app-body.sakti-ui .role-state,
  .app-body.sakti-ui .system-state,
  .app-body.sakti-ui .account-copy,
  .app-body.sakti-ui .account-trigger>.ui-icon{display:none!important}
  .app-body.sakti-ui .breadcrumb{
    display:block;
    width:100%;
    max-width:none;
    min-width:0;
    overflow:hidden;
    line-height:1.25;
    white-space:nowrap;
  }
  .app-body.sakti-ui .breadcrumb>a,
  .app-body.sakti-ui .breadcrumb>.ui-icon{display:none!important}
  .app-body.sakti-ui .breadcrumb strong{
    display:block;
    overflow:hidden;
    max-width:100%;
    color:#f7fafb;
    font-size:14px;
    font-weight:650;
    text-overflow:ellipsis;
    white-space:nowrap;
  }
  .app-body.sakti-ui .account-trigger{grid-template-columns:36px;padding:3px;border-color:transparent;background:rgba(255,255,255,.035)}
  .app-body.sakti-ui .account-trigger:hover,
  .app-body.sakti-ui .account.is-open .account-trigger{background:rgba(255,255,255,.09)}
  .app-body.sakti-ui .avatar{width:36px;height:36px;font-size:12px}

  /* Drawer: generous enough to scan, but no oversized identity block. */
  .app-body.sakti-ui .sidebar{
    top:8px;
    bottom:8px;
    left:8px;
    right:auto;
    width:min(340px,calc(100vw - 16px));
    padding:11px 10px 10px;
    border-radius:20px;
    box-shadow:18px 22px 52px rgba(4,18,27,.28);
  }
  .app-body.sakti-ui .sidebar-brand{
    min-height:86px;
    padding:6px 50px 12px 6px;
  }
  .app-body.sakti-ui .brand-lockup{gap:12px;padding:1px 0}
  .app-body.sakti-ui .brand-logo{width:62px;height:62px;flex-basis:62px}
  .app-body.sakti-ui .brand-logo img{padding:1px}
  .app-body.sakti-ui .brand-emblem{width:44px;height:44px;flex-basis:44px;margin-left:5px}
  .app-body.sakti-ui .brand-copy strong{font-size:17px;line-height:1.18}
  .app-body.sakti-ui .brand-copy small{display:block;margin-top:4px;font-size:12px;line-height:1.34}
  .app-body.sakti-ui .sidebar-close{
    position:absolute;
    top:13px;
    right:5px;
    width:40px;
    height:40px;
    min-width:40px;
    min-height:40px;
    border:0;
    border-radius:11px;
    color:#c2d0d6;
    background:transparent;
    box-shadow:none;
    transform:none;
  }
  .app-body.sakti-ui .sidebar-close:hover,
  .app-body.sakti-ui .sidebar-close:focus-visible{background:rgba(255,255,255,.07)}
  .app-body.sakti-ui .sidebar-close::before{content:'';position:absolute;inset:-3px}
  .app-body.sakti-ui .sidebar-close .ui-icon{width:16px;height:16px}
  .app-body.sakti-ui .sidebar-context{
    grid-template-columns:30px minmax(0,1fr);
    gap:9px;
    margin:10px 0 6px;
    padding:9px 9px;
    border-radius:11px;
  }
  .app-body.sakti-ui .sidebar-role-icon{width:30px;height:30px;border-radius:9px}
  .app-body.sakti-ui .sidebar-context-copy small{font-size:12px}
  .app-body.sakti-ui .sidebar-context-copy strong{font-size:14px;line-height:1.3}
  .app-body.sakti-ui .sidebar-context-copy em{display:none}
  .app-body.sakti-ui .sidebar-nav{margin-top:2px;padding:5px 3px 12px}
  .app-body.sakti-ui .nav-group{margin-bottom:7px}
  .app-body.sakti-ui .nav-group-label{font-size:12px}
  .app-body.sakti-ui .nav-item{border-radius:12px;font-size:14px}
  .app-body.sakti-ui .nav-icon{width:34px;height:34px;border-radius:10px}
  .app-body.sakti-ui .nav-copy small{font-size:12px}
  .app-body.sakti-ui .sidebar-foot{gap:8px;padding:9px 6px 0}
  .app-body.sakti-ui .sidebar-foot strong{font-size:12.5px}
  .app-body.sakti-ui .sidebar-foot span{display:none}

  /* Content breathes, but every pixel contributes to the current task. */
  .app-body.sakti-ui .content{padding-top:0;padding-inline:var(--ds-mobile-gutter)}
  .app-body.sakti-ui .page-stage{gap:10px;align-content:start}
  .app-body.sakti-ui .page-stage>:first-child:not(.modal-layer):not(script):not([hidden]){margin-top:0}

  /* Page title is contextual, not another large hero on a phone. */
  .app-body.sakti-ui .page-heading{
    min-height:0;
    align-items:flex-start;
    flex-direction:column;
    gap:10px;
    margin:0;
    padding:14px 14px 15px 16px;
    border-radius:var(--ds-mobile-radius);
    background:linear-gradient(135deg,rgba(var(--role-accent-rgb),.075),#fff 58%,rgba(var(--theme-accent-rgb),.035));
    box-shadow:none;
  }
  .app-body.sakti-ui .page-heading::after{display:none}
  .app-body.sakti-ui .page-heading h1,
  .app-body.sakti-ui .page-heading-compact h1{
    line-height:1.15;
    letter-spacing:-.022em;
  }
  .app-body.sakti-ui :is(.page-heading-actions,.heading-actions) .button{width:100%}

  /* One calm surface per task; avoid card-inside-card visual noise. */
  .app-body.sakti-ui :is(.panel,.metric-card,.scheme-card,.application-card,.assessor-assignment-card,.tuk-schedule-card){
    border-radius:var(--ds-mobile-radius);
    box-shadow:var(--ds-mobile-shadow);
  }
  .app-body.sakti-ui :is(.form-grid,.form-stack){gap:12px;padding:14px}
  .app-body.sakti-ui .form-grid-2{grid-template-columns:1fr;gap:12px}
  .app-body.sakti-ui .field{gap:6px;font-size:13.5px}
  .app-body.sakti-ui .field>span{font-size:13.5px;line-height:1.4}
  .app-body.sakti-ui .field-hint,
  .app-body.sakti-ui .field-error{font-size:12.5px;line-height:1.45}
  .app-body.sakti-ui :is(input,select,textarea,.custom-select-trigger,.custom-date-trigger,.custom-search-control input){
    min-height:48px;
    border-radius:12px;
    font-size:16px!important;
  }
  .app-body.sakti-ui textarea{min-height:112px}
  .app-body.sakti-ui .button{min-height:46px;border-radius:12px;font-size:14.5px}
  .app-body.sakti-ui .button-small{min-height:44px;border-radius:11px;font-size:13.5px}

  /* On phones, do not stack a second sticky bar above the already-sticky footer. */
  .app-body.sakti-ui .form-actions-sticky,
  .app-body.sakti-ui .sticky-form-actions{
    position:static;
    bottom:auto;
    display:grid;
    grid-template-columns:1fr;
    gap:8px;
    margin:12px 0 0;
    padding:12px 0 0;
    border:0;
    border-top:1px solid var(--ds-mobile-line);
    border-radius:0;
    background:transparent;
    box-shadow:none;
    backdrop-filter:none;
  }
  .app-body.sakti-ui .form-actions-sticky .button,
  .app-body.sakti-ui .sticky-form-actions .button{width:100%}
  .app-body.sakti-ui .task-next-note{grid-row:1;margin:0 0 2px;text-align:left}

  /* Global role wizard: current step first, description secondary. */
  .app-body.sakti-ui .role-focus-wizard-compact{
    width:100%;
    margin:0;
    border-radius:14px;
    box-shadow:none;
  }
  .app-body.sakti-ui .role-focus-wizard-compact .role-focus-wizard-head{
    display:grid;
    grid-template-columns:1fr;
    gap:8px;
    padding:10px 11px 9px;
  }
  .app-body.sakti-ui .role-focus-current{gap:9px}
  .app-body.sakti-ui .role-focus-count{flex:0 0 44px;width:44px;height:44px;font-size:16px;border-radius:12px}
  .app-body.sakti-ui .role-focus-count small{font-size:12px}
  .app-body.sakti-ui .role-focus-wizard-copy .overline{font-size:12px}
  .app-body.sakti-ui .role-focus-wizard-copy strong{font-size:14px;line-height:1.3}
  .app-body.sakti-ui .role-focus-wizard-copy p{display:none}
  .app-body.sakti-ui .role-focus-wizard-actions{display:grid;grid-template-columns:1fr 1fr;gap:6px;width:100%}
  .app-body.sakti-ui .role-focus-wizard-actions>*{width:100%}
  .app-body.sakti-ui .role-focus-disclosure>summary{min-height:36px;padding:7px 11px}
  .app-body.sakti-ui .role-focus-disclosure>summary small{display:none}
  .app-body.sakti-ui .role-focus-disclosure .role-focus-wizard-track{display:flex;gap:5px;overflow:auto hidden;padding:6px}
  .app-body.sakti-ui .role-focus-disclosure .role-focus-step{flex:0 0 132px;min-height:48px}

  /* Local multi-step work: show the current title, not a second horizontal menu. */
  .app-body.sakti-ui .focus-panel-nav{
    position:relative;
    display:block;
    overflow:hidden;
    padding:9px 10px 11px;
    border-radius:14px;
    box-shadow:none;
  }
  .app-body.sakti-ui .focus-panel-nav-head{
    position:static;
    display:grid;
    min-width:0;
    width:100%;
    padding:0;
    background:transparent;
  }
  .app-body.sakti-ui .focus-panel-nav-head .overline{font-size:12px}
  .app-body.sakti-ui .focus-panel-nav-head strong{font-size:13.5px;white-space:normal}
  .app-body.sakti-ui .focus-panel-nav-head small{font-size:12px}
  .app-body.sakti-ui .focus-panel-nav>button{display:none!important}
  .app-body.sakti-ui .focus-panel-footer{grid-template-columns:1fr 1fr;gap:7px;margin-top:12px;padding-top:11px}
  .app-body.sakti-ui .focus-panel-footer>small{grid-column:1/-1;grid-row:1;text-align:left}
  .app-body.sakti-ui .focus-panel-footer>.button{width:100%;min-width:0}

  /* Account setup becomes a 3-part progress strip, not 3 oversized cards. */
  .app-body.sakti-ui .account-setup-wizard{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    width:100%;
    margin:0;
    overflow:visible;
    border-radius:14px;
    box-shadow:none;
  }
  .app-body.sakti-ui .account-setup-step{
    display:grid;
    grid-template-columns:24px minmax(0,1fr);
    align-items:center;
    gap:5px;
    min-width:0;
    border-radius:10px;
  }
  .app-body.sakti-ui .account-setup-number{width:24px;height:24px;border-radius:8px}
  .app-body.sakti-ui .account-setup-copy{min-width:0}
  .app-body.sakti-ui .account-setup-copy strong{display:block;overflow-wrap:anywhere}
  .app-body.sakti-ui .account-setup-copy small,
  .app-body.sakti-ui .account-setup-step>.status-badge{display:none!important}

  /* Compact dashboards and summaries retain information without dominating. */
  .app-body.sakti-ui .dashboard-hero h1{line-height:1.14}
  .app-body.sakti-ui .dashboard-hero p{font-size:14px;line-height:1.52}

  /* Tables remain tables; scrolling cue and text stay readable. */
  .app-body.sakti-ui .table-wrap,
  .app-body.sakti-ui .table-scroll{border-radius:0 0 14px 14px}
  .app-body.sakti-ui .table-scroll-cue{font-size:12px;line-height:1.4}
  .app-body.sakti-ui .modal-dialog,
  .app-body.sakti-ui .modal-dialog.modal-wide,
  .app-body.sakti-ui .modal-dialog.modal-extra-wide{
    width:100%;
    border-width:1px 0 0;
    border-radius:20px 20px 0 0;
  }

  /* Persistent footer row behaves like a slim native bottom bar. */
  .app-body.sakti-ui .app-footer{
    grid-template-columns:minmax(0,1fr) auto;
    gap:8px;
    min-height:var(--footer-height);
    padding:7px 12px calc(7px + env(safe-area-inset-bottom));
    border-width:1px 0 0;
    border-radius:16px 16px 0 0;
    box-shadow:0 -7px 22px rgba(7,23,34,.13);
  }
  .app-body.sakti-ui .app-footer>div:first-child span,
  .app-body.sakti-ui .app-footer>div:last-child span{display:none!important}
  .app-body.sakti-ui .app-footer strong{font-size:12px;letter-spacing:.09em}
  .app-body.sakti-ui .app-footer small{font-size:12px}

  /* Assessment actions remain available inside the work canvas. */
  .app-body.sakti-ui .apl02-save-bar,
  .app-body.sakti-ui .signoff-actions{
    margin-inline:0;
    border-radius:13px;
  }
.app-body.sakti-ui .page-heading,
  .app-body.sakti-ui .page-heading-compact{min-height:0;align-items:flex-start;gap:10px;padding:15px 15px 15px 18px;border-radius:16px}
  .app-body.sakti-ui .page-heading h1,
  .app-body.sakti-ui .page-heading-compact h1{margin:2px 0 5px;font-size:24px}
  .app-body.sakti-ui .dashboard-hero{grid-template-columns:1fr;gap:12px;min-height:0;padding:16px 16px 16px 19px;border-radius:16px}
  .app-body.sakti-ui .dashboard-hero::before{inset:14px auto 14px 0}
  .app-body.sakti-ui .period-card{min-height:84px;padding:13px 14px}
  .app-body.sakti-ui :is(.workspace-hero,.muk-workspace-hero,.readiness-hero,.assessment-hero,.ak01-hero,.recommendation-hero,.decision-hero,.certificate-hero,.case-hero,.result-hero){min-height:0;padding:15px 16px;border-radius:16px}
  .app-body.sakti-ui .page-heading-actions{display:grid;grid-template-columns:1fr;gap:7px;width:100%;max-width:none;justify-content:stretch}
  .app-body.sakti-ui .page-heading-actions>.button,
  .app-body.sakti-ui .page-heading-actions>form,
  .app-body.sakti-ui .page-heading-actions>form>.button{width:100%}
  .app-body.sakti-ui .page-heading-actions>.heading-badge{justify-self:stretch;justify-content:center}
  .app-body.sakti-ui .panel-head{min-height:0;padding:13px 14px}
  .app-body.sakti-ui :is(.form-actions,.single-task-next,.panel-footer-actions){align-items:stretch}
  .app-body.sakti-ui .single-task-next{display:grid;gap:7px;padding-top:9px}
  .app-body.sakti-ui .single-task-next .button{width:100%}
  .app-body.sakti-ui .account-setup-step{min-height:46px;padding:5px 6px}
  .app-body.sakti-ui .account-setup-step>.status-badge{display:none!important}
html,body.app-body.sakti-ui{max-width:100%;overflow-x:hidden}
  .app-body.sakti-ui :is(.workspace,.content,.page-stage,.panel,.panel-body,.panel-head,form,fieldset){min-width:0;max-width:100%}
  .app-body.sakti-ui :is(img,svg,video,canvas){max-width:100%}

  /* Persistent mobile chrome must remain thumb-safe. */
  .app-body.sakti-ui :is(.menu-button,.notification-button,.topbar-icon,.account-trigger,.sidebar-close){
    min-width:44px;min-height:44px;
  }
  .app-body.sakti-ui .nav-item{min-height:48px}
  .app-body.sakti-ui :is(.button,.button-small,.page-link,.pagination a,.pagination button){min-height:44px}
  .app-body.sakti-ui :is(.page-link,.pagination a,.pagination button){min-width:44px;padding-inline:10px}

  /* Forms: 16px editable controls avoid browser zoom and keep long sessions comfortable. */
  .app-body.sakti-ui :is(
    input:not([type="checkbox"]):not([type="radio"]),select,textarea,
    .custom-select-trigger,.custom-date-trigger,.custom-search-control input,
    .filter-bar input,.filter-bar select
  ){
    min-height:48px;
    font-size:16px;
    line-height:1.35;
  }
  .app-body.sakti-ui :is(.filter-bar,.compact-filter-bar,.selection-toolbar,.bulk-check-toolbar,.assessment-answer-toolbar){
    min-width:0;max-width:100%;
  }
  .app-body.sakti-ui :is(.filter-bar,.compact-filter-bar)>*{min-width:0;max-width:100%}

  /* File inputs stay legible; the main upload task may never be a tiny table control. */
  .app-body.sakti-ui .file-control{min-height:56px;min-width:0}
  .app-body.sakti-ui .file-control strong{font-size:13px;line-height:1.3}
  .app-body.sakti-ui .file-control small{font-size:12px;line-height:1.35}
  .app-body.sakti-ui .role-focus-wizard-copy :is(.overline,strong){font-size:12.5px}
  .app-body.sakti-ui .role-focus-disclosure>summary strong{font-size:12.5px}
  .app-body.sakti-ui .status-badge{font-size:12px;line-height:1.25}

  /* Tables stay tables and are the only horizontal scrolling surface. */
  .app-body.sakti-ui :is(.table-wrap,.table-scroll){
    width:100%;max-width:100%;overflow-x:auto;overscroll-behavior-inline:contain;
    -webkit-overflow-scrolling:touch;touch-action:pan-x pan-y;
  }
  .app-body.sakti-ui .responsive-table{
    width:max-content;
    min-width:min(720px,calc(100vw + 280px));
  }
  .app-body.sakti-ui .responsive-table th,
  .app-body.sakti-ui .responsive-table td{
    white-space:normal;
    overflow-wrap:anywhere;
  }
  .app-body.sakti-ui .responsive-table :is(th,td).table-action,
  .app-body.sakti-ui .responsive-table :is(th,td):last-child{
    white-space:nowrap;
  }
  .app-body.sakti-ui .table-wrap,
  .app-body.sakti-ui .table-scroll{
    background:
      linear-gradient(90deg,#fff 30%,rgba(255,255,255,0)),
      linear-gradient(90deg,rgba(255,255,255,0),#fff 70%) 100% 0,
      linear-gradient(90deg,rgba(7,23,34,.08),rgba(7,23,34,0)),
      linear-gradient(90deg,rgba(7,23,34,0),rgba(7,23,34,.10)) 100% 0;
    background-attachment:local,local,scroll,scroll;
    background-repeat:no-repeat;
    background-size:28px 100%,28px 100%,12px 100%,12px 100%;
  }
  .app-body.sakti-ui :is(td.table-action,.table-actions,.row-actions) .button{min-width:44px;min-height:44px;white-space:nowrap}
  .app-body.sakti-ui .data-page-size-toolbar,
  .app-body.sakti-ui .pagination-bottom{min-width:0;max-width:100%}
  .app-body.sakti-ui .pagination-bottom .pagination-links{max-width:100%;overflow-x:auto;overscroll-behavior-inline:contain}

  /* KPI cards stay compact and symmetrical on phones. */
  .app-body.sakti-ui .metric-grid{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:1fr;gap:8px}
  .app-body.sakti-ui .metric-grid>:last-child:nth-child(odd){grid-column:1/-1}

  /* Signature is a touch task: enough drawing height, without overflowing the viewport. */
  .app-body.sakti-ui .signature-canvas-wrap{width:100%;min-width:0}
  .app-body.sakti-ui .signature-canvas-wrap canvas{width:100%;min-height:170px;max-height:240px;touch-action:none}
  .app-body.sakti-ui .signature-live-status{font-size:12px}
  .app-body.sakti-ui .signature-help{font-size:12.5px;line-height:1.5}

  /* One sticky element only: footer. Save/sign-off bars become normal document flow. */
  .app-body.sakti-ui :is(.apl02-save-bar,.signoff-actions,.wizard-next-action){
    position:static;bottom:auto;inset:auto;
    width:100%;margin:12px 0 0;padding:11px 0 0;border-width:1px 0 0;border-radius:0;
    background:transparent;box-shadow:none;backdrop-filter:none;
  }
  .app-body.sakti-ui :is(.apl02-save-bar,.signoff-actions,.wizard-next-action) .button{width:100%}
  .swal2-popup.swal2-toast.sakti-flash-toast{grid-template-columns:23px minmax(0,1fr);gap:7px;padding:8px 30px 8px 9px}
  .swal2-popup.swal2-toast.sakti-flash-toast .swal2-icon{width:23px;height:23px}
  .swal2-popup.swal2-toast.sakti-flash-toast .swal2-toast-close{width:23px;height:23px;min-width:23px;min-height:23px}

  /* Local task focus must never become a second mobile shell header. Generic
     focus fallbacks are suppressed by JS on compact screens; explicit focus
     flows stay in normal document flow and cannot overlap their active panel. */
  .app-body.sakti-ui [data-focus-panels="1"]>.focus-panel-nav{
    position:static;inset:auto;width:100%;max-width:100%;
    margin:0 0 8px;transform:none;
  }
  .app-body.sakti-ui [data-focus-panels="1"]>.focus-panel-nav+.focus-panel-candidate{margin-top:0}

  /* Kesiapan Layanan already has the global system guide. On phones the page
     remains one clean flow: compact status -> next action -> readiness list. */
  .app-body.sakti-ui.page-readiness .readiness-hero{
    gap:11px;margin:0;padding:15px 14px;border-radius:16px;
    box-shadow:0 7px 22px rgba(7,23,34,.09);
  }
  .app-body.sakti-ui.page-readiness .readiness-hero-copy :is(h1,h2){
    max-width:18ch;margin:4px 0 7px;font-size:27px;line-height:1.08;letter-spacing:-.03em;
  }
  .app-body.sakti-ui.page-readiness .readiness-hero-copy p{font-size:13px;line-height:1.45}
  .app-body.sakti-ui.page-readiness .readiness-score-card{
    grid-template-columns:minmax(0,1fr) auto;gap:6px 10px;min-height:0;padding:11px 12px;border-radius:14px;
  }
  .app-body.sakti-ui.page-readiness .readiness-score-card>span{grid-column:1;grid-row:1;font-size:12px}
  .app-body.sakti-ui.page-readiness .readiness-score-card>strong{grid-column:2;grid-row:1;margin:0;font-size:31px}
  .app-body.sakti-ui.page-readiness .readiness-score-card>strong small{margin-top:2px;font-size:13px}
  .app-body.sakti-ui.page-readiness .readiness-progress{grid-column:1/-1;grid-row:2;height:7px}
  .app-body.sakti-ui.page-readiness .readiness-score-card>small{grid-column:1/-1;grid-row:3;margin:0;font-size:12px;line-height:1.35}
  .app-body.sakti-ui.page-readiness .next-handoff{
    grid-template-columns:36px minmax(0,1fr);gap:8px 10px;margin:0;padding:13px;border-radius:15px;
  }
  .app-body.sakti-ui.page-readiness .next-handoff-icon{width:36px;height:36px;border-radius:11px}
  .app-body.sakti-ui.page-readiness .next-handoff>div{min-width:0}
  .app-body.sakti-ui.page-readiness .next-handoff h2{margin:2px 0 4px;font-size:17px;line-height:1.28}
  .app-body.sakti-ui.page-readiness .next-handoff p{margin-bottom:5px;font-size:12.8px;line-height:1.45}
  .app-body.sakti-ui.page-readiness .next-handoff>div>small{display:block;font-size:12px;line-height:1.4}
  .app-body.sakti-ui.page-readiness .next-handoff>.button,
  .app-body.sakti-ui.page-readiness .next-handoff>.status-badge{grid-column:1/-1;width:100%;min-height:44px}
  .app-body.sakti-ui.page-readiness .readiness-panel{margin:0;overflow:hidden}
  .app-body.sakti-ui.page-readiness .readiness-panel .panel-head{align-items:flex-start;gap:8px;padding:13px 14px}
  .app-body.sakti-ui.page-readiness .readiness-panel .panel-head>div{min-width:0}
  .app-body.sakti-ui.page-readiness .readiness-panel .panel-head h2{font-size:17px;line-height:1.28}
  .app-body.sakti-ui.page-readiness .readiness-panel .count-pill{flex:0 0 auto;min-height:26px;padding-inline:8px;font-size:12px}
  .app-body.sakti-ui.page-readiness .readiness-step{grid-template-columns:34px minmax(0,1fr);align-items:start;gap:9px 10px;padding:12px 13px}
  .app-body.sakti-ui.page-readiness .readiness-step-number{width:34px;height:34px;border-radius:10px}
  .app-body.sakti-ui.page-readiness .readiness-step-title{align-items:flex-start;gap:6px}
  .app-body.sakti-ui.page-readiness .readiness-step-title strong{flex:1 1 160px;min-width:0;font-size:13.5px;line-height:1.35}
  .app-body.sakti-ui.page-readiness .readiness-step-copy p{margin:3px 0;font-size:12.5px;line-height:1.45}
  .app-body.sakti-ui.page-readiness .readiness-step-action{grid-column:1/-1;justify-content:stretch}
  .app-body.sakti-ui.page-readiness .readiness-step-action .button{width:100%}
/* Readability floor for persistent mobile UI; micro-labels remain secondary, never microscopic. */
  .app-body.sakti-ui .page-heading :is(.eyebrow,.overline),
  .app-body.sakti-ui .nav-group-label,
  .app-body.sakti-ui .sidebar-context-copy small,
  .app-body.sakti-ui .brand-copy small,
  .app-body.sakti-ui .nav-copy small,
  .app-body.sakti-ui :is(.bulk-check-status,.focus-master-detail-toolbar>span,.table-scroll-cue){font-size:12px;line-height:1.4}
.app-body.sakti-ui .content{width:100%;max-width:100%;overflow-x:hidden}
  .app-body.sakti-ui .page-stage{width:100%;max-width:100%}
  .app-body.sakti-ui .page-heading h1,.app-body.sakti-ui .page-heading-compact h1{font-size:22px;line-height:1.17}
  .app-body.sakti-ui .panel-head h2{font-size:17px;line-height:1.3}
  .app-body.sakti-ui .field-hint{font-size:12.5px;line-height:1.45}
  .app-body.sakti-ui .account-setup-copy strong{font-size:12px;line-height:1.25}
  .app-body.sakti-ui .account-setup-copy{display:grid;gap:0}
  .app-body.sakti-ui .account-setup-note{font-size:12px}
  .app-body.sakti-ui .profile-photo-content{grid-template-columns:1fr;gap:12px;padding:14px}
  .app-body.sakti-ui .profile-photo-preview{padding:12px 13px}
  .app-body.sakti-ui .profile-photo-form{grid-template-columns:1fr}
  .app-body.sakti-ui .profile-photo-form>.button{width:100%}
  .app-body.sakti-ui .signature-profile-grid{grid-template-columns:1fr;gap:12px;padding:14px}
  .app-body.sakti-ui .single-task-next{grid-template-columns:1fr 1fr;padding:10px;border-radius:0 0 14px 14px}
  .app-body.sakti-ui .muk-secondary-summary{grid-template-columns:34px minmax(0,1fr) auto;min-height:58px;padding:9px 11px;gap:8px}
  .app-body.sakti-ui .muk-secondary-summary>span{width:34px;height:34px}
  .app-body.sakti-ui .muk-secondary-summary strong{font-size:13px}
  .app-body.sakti-ui .muk-secondary-body{padding:0 12px 12px}
  .app-body.sakti-ui .muk-secondary-body>.muk-technical-heading{margin-inline:-12px;padding-inline:12px}
  .app-body.sakti-ui .assessment-runtime-page .assessment-focus-nav{grid-template-columns:repeat(2,minmax(0,1fr));gap:5px}
  .app-body.sakti-ui .assessment-runtime-page .assessment-focus-nav>a{min-height:48px}
  .app-body.sakti-ui .assessment-runtime-page .assessment-focus-nav strong{font-size:12.5px}
  .app-body.sakti-ui .assessment-runtime-page .assessment-current-task-large p{display:none}
  .app-body.sakti-ui .assessment-runtime-page .assessment-current-task-large{gap:10px;padding:13px}
  .app-body.sakti-ui .assessment-runtime-page .assessment-current-task-large strong{font-size:16px;line-height:1.35}
  .app-body.sakti-ui .assessment-progress-badges{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;width:100%}
  .app-body.sakti-ui .assessment-progress-badges .status-badge{justify-content:center;min-width:0;text-align:center}
  .app-body.sakti-ui .assessment-runtime-page .assessment-person-context{align-items:flex-start}
  .app-body.sakti-ui .assessment-context-meta{grid-template-columns:1fr 1fr;width:100%}
  .app-body.sakti-ui .assessment-secondary-disclosure>.assessment-disclosure-summary{min-height:54px}
.app-body.role-super-admin{--superadmin-gap:11px}
  .app-body.role-super-admin .page-stage{gap:var(--superadmin-gap)}
  .app-body.role-super-admin .summary-rail-3,
  .app-body.role-super-admin .summary-rail-4{grid-template-columns:repeat(2,minmax(0,1fr))}
  .app-body.role-super-admin .summary-rail-3>article:last-child:nth-child(odd),
  .app-body.role-super-admin .summary-rail-4>.summary-note{grid-column:1/-1}
  .app-body.role-super-admin .summary-rail article{min-height:74px;padding:10px 11px}
  .app-body.role-super-admin .summary-icon{width:34px;height:34px;flex:0 0 34px}
  .app-body.role-super-admin .summary-rail strong{font-size:23px}
  .app-body.role-super-admin.page-dashboard .metric-card{min-height:96px}
  .app-body.role-super-admin .dashboard-readiness-actions{display:grid;grid-template-columns:1fr 1fr}
  .app-body.role-super-admin .dashboard-readiness-actions .button{width:100%}
  .app-body.role-super-admin.page-dashboard .panel-priority .priority-item-form .priority-copy>small{display:none}
  .app-body.role-super-admin.page-dashboard .superadmin-role-grid{grid-template-columns:1fr;padding:10px 11px 12px}
  .app-body.role-super-admin.page-dashboard .superadmin-role-card{grid-template-columns:40px minmax(0,1fr) auto 44px;min-height:76px;padding:10px 11px}
  .app-body.role-super-admin.page-readiness .readiness-score-card{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:7px 11px;min-height:0;padding:13px 14px}
  .app-body.role-super-admin.page-readiness .readiness-score-card>span{grid-column:1;grid-row:1}
  .app-body.role-super-admin.page-readiness .readiness-score-card>strong{grid-column:2;grid-row:1;margin:0;font-size:33px}
  .app-body.role-super-admin.page-readiness .readiness-progress{grid-column:1/-1;grid-row:2}
  .app-body.role-super-admin.page-readiness .readiness-score-card>small{grid-column:1/-1;grid-row:3;margin:0}
  .app-body.role-super-admin.page-readiness .readiness-technical-link{grid-column:1/-1;grid-row:4;margin-top:1px}
  .app-body.role-super-admin.page-readiness .next-handoff{grid-template-columns:38px minmax(0,1fr);align-items:start;gap:10px 12px;padding:14px}
  .app-body.role-super-admin.page-readiness .next-handoff-icon{grid-column:1;grid-row:1;width:38px;height:38px}
  .app-body.role-super-admin.page-readiness .next-handoff>div{grid-column:2;grid-row:1}
  .app-body.role-super-admin.page-readiness .next-handoff>.button,
  .app-body.role-super-admin.page-readiness .next-handoff>.status-badge{grid-column:1/-1;width:100%;min-height:44px}
  .app-body.role-super-admin.page-production-readiness .governance-strip{grid-template-columns:44px minmax(0,1fr);gap:12px;padding:15px}
  .app-body.role-super-admin.page-production-readiness .governance-strip>form{grid-column:1/-1;justify-self:stretch;width:100%}
  .app-body.role-super-admin.page-production-readiness .governance-strip>form .button{width:100%}
  .app-body.role-super-admin.page-institution .identity-banner{grid-template-columns:50px minmax(0,1fr) auto;gap:12px;padding:15px 16px}
  .app-body.role-super-admin.page-institution .identity-mark{width:48px;height:48px}
  .app-body.role-super-admin.page-institution .identity-copy h2{font-size:22px}
  .app-body.role-super-admin.page-institution .identity-meta{grid-column:3;align-self:center;align-items:flex-end}
  .app-body.role-super-admin.page-institution .institution-form-actions{align-items:stretch;flex-direction:column}
  .app-body.role-super-admin.page-institution .institution-form-actions .button{width:100%}
  .app-body.role-super-admin.page-users .filter-bar,
  .app-body.role-super-admin.page-audit .filter-bar,
  .app-body.role-super-admin:is(.page-document-archive,.page-assessment-archive) .archive-directory-filter{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;width:100%}
  .app-body.role-super-admin.page-users .filter-bar>.search-control,
  .app-body.role-super-admin.page-audit .filter-bar>.search-control,
  .app-body.role-super-admin:is(.page-document-archive,.page-assessment-archive) .archive-directory-filter>.search-control{grid-column:1/-1;width:100%;min-width:0;max-width:none}
  .app-body.role-super-admin.page-users .filter-bar>:is(select,.custom-select-control),
  .app-body.role-super-admin.page-audit .filter-bar>:is(select,.custom-select-control),
  .app-body.role-super-admin:is(.page-document-archive,.page-assessment-archive) .archive-directory-filter>:is(select,.custom-select-control){width:100%;min-width:0;max-width:none}
  .app-body.role-super-admin.page-users .user-filter-actions,
  .app-body.role-super-admin.page-audit .audit-filter-actions,
  .app-body.role-super-admin:is(.page-document-archive,.page-assessment-archive) .archive-directory-filter>.archive-filter-actions{grid-column:1/-1;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));width:100%}
  .app-body.role-super-admin.page-users .user-filter-actions .button,
  .app-body.role-super-admin.page-audit .audit-filter-actions .button,
  .app-body.role-super-admin:is(.page-document-archive,.page-assessment-archive) .archive-filter-actions .button{width:100%;min-width:0}
  .app-body.role-super-admin.page-users .user-filter-actions .button:only-child,
  .app-body.role-super-admin.page-audit .audit-filter-actions .button:only-child,
  .app-body.role-super-admin:is(.page-document-archive,.page-assessment-archive) .archive-filter-actions .button:only-child{grid-column:1/-1}
  .app-body.role-super-admin.page-audit .audit-date-filter{width:100%;min-width:0}
  .app-body.role-super-admin.page-audit .audit-date-filter>summary{justify-content:center;width:100%}
  .app-body.role-super-admin.page-audit .audit-date-filter-grid{position:static;grid-template-columns:repeat(2,minmax(0,1fr));width:100%;margin-top:7px;box-shadow:none}
  .app-body.role-super-admin:is(.page-document-archive,.page-assessment-archive) .archive-directory-filter>.archive-more-filters{grid-column:1/-1;width:100%;min-width:0}
  .app-body.role-super-admin:is(.page-document-archive,.page-assessment-archive) .archive-more-filter-grid{grid-template-columns:1fr}
  .app-body.role-super-admin.page-users .responsive-table.is-mobile-scroll-table{min-width:720px}
  .app-body.role-super-admin.page-audit .responsive-table.is-mobile-scroll-table{min-width:850px}
  .app-body.role-super-admin.page-storage .responsive-table.is-mobile-scroll-table{min-width:620px}
  .app-body.role-super-admin.page-production-readiness .responsive-table.is-mobile-scroll-table{min-width:720px}
  .app-body.role-super-admin:is(.page-document-archive,.page-assessment-archive) .responsive-table.is-mobile-scroll-table{min-width:1020px}
  .app-body.role-super-admin:is(.page-document-archive,.page-assessment-archive) .archive-table-panel[data-archive-detail-active="1"]{display:none}
  .app-body.role-super-admin:is(.page-document-archive,.page-assessment-archive) .archive-back-button{display:inline-flex}
  .app-body.role-super-admin.page-storage .metric-grid-4{grid-template-columns:repeat(2,minmax(0,1fr))}
  .app-body.role-super-admin.page-assessor-credential .definition-grid{grid-template-columns:1fr 1fr}
  .system-settings{gap:10px}
  .system-settings-nav{gap:10px;padding:11px;border-radius:14px}
  .system-settings-nav-head{align-items:flex-start}
  .system-settings-nav-head h2,
  .system-settings-nav-head p,
  .system-settings-nav-head .overline{display:none}
  .system-settings-technical{width:100%;min-width:0}
  .system-settings-steps{display:none}
  .system-settings-mobile-select{display:grid;grid-template-columns:minmax(0,1fr) minmax(180px,.9fr);align-items:center;gap:9px;width:100%}
  .system-settings-mobile-current{min-width:0;color:var(--ink-700);font-size:12.5px;font-weight:700;line-height:1.35}
  .system-settings-mobile-select select{width:100%;min-height:44px;font-size:16px}
  .system-settings-panel .panel-head{min-height:0;padding:13px 14px}
  .system-settings-index{width:32px;height:32px;margin-right:10px;font-size:12px}
  .system-settings-panel .panel-head h2{font-size:17px}
  .system-settings-panel .panel-head p{font-size:12.5px}
  .system-settings-panel>.form-grid,
  #settings-identity.system-settings-panel>.form-grid,
  .system-settings-prefix-grid{grid-template-columns:1fr;gap:11px;padding:14px}
  #settings-identity.system-settings-panel .field-span-2{grid-column:auto}
  .system-settings-panel .workspace-access-grid{grid-template-columns:1fr;gap:8px;padding:12px 14px 14px}
  .system-settings-panel .workspace-access-card{grid-template-columns:minmax(0,1fr) auto;min-height:64px;gap:9px;padding:11px 12px}
  .system-settings-panel .assessment-policy-grid>.workspace-access-card:only-child>select{min-width:0}
  .system-settings-inline-preference{justify-content:stretch;padding:14px 14px 0}
  .system-settings-inline-preference>.field{width:100%}
  .system-settings-panel .theme-palette-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
  .system-settings-panel .theme-palette-card{grid-template-columns:42px minmax(0,1fr) 20px;gap:8px;min-height:68px;padding:9px}
  .system-settings-panel .theme-swatches{width:40px;height:40px;border-radius:11px}
  .system-settings-panel .theme-palette-copy strong{font-size:12.25px}
  .system-settings-panel .theme-palette-copy small,
  .system-settings-panel .theme-action-preview{display:none}
  .system-settings-savebar{display:grid;grid-template-columns:1fr;gap:9px;padding:12px}
  .system-settings-savebar>.button{width:100%;min-width:0}
.app-body.sakti-ui .workspace{height:100dvh;min-height:0;padding:8px;overflow:hidden}
  .app-body.sakti-ui .topbar{
    position:relative;
    top:auto;
    min-height:58px;
    margin-bottom:8px;
    padding-inline:9px;
    border-radius:16px;
  }
  .app-body.sakti-ui .topbar-context{min-width:0}
  .app-body.sakti-ui .topbar-actions{gap:4px}
  .app-body.sakti-ui .account-trigger{min-width:44px;padding:3px}
  .app-body.sakti-ui .account-menu{
    position:fixed;
    top:70px;
    right:10px;
    width:min(286px,calc(100vw - 20px));
    max-height:calc(100dvh - 92px);
    overflow:auto;
  }
  .app-body.sakti-ui .content{
    --content-sticky-top:6px;
    --content-toolbar-sticky-top:6px;
    --content-sticky-bottom:6px;
    min-height:0;
    overflow-y:auto;
    scrollbar-gutter:auto;
    padding:0 2px 14px;
    scroll-padding-block:10px 16px;
  }
  .app-body.sakti-ui .app-footer{
    position:relative;
    right:auto;
    bottom:0;
    left:auto;
    width:100%;
    min-height:48px;
    margin-top:8px;
    padding:7px 11px;
    border-radius:16px;
  }
.app-body.sakti-ui :is(input,select,textarea,.custom-select-trigger,.custom-date-trigger,
  .custom-search-control input,.filter-bar input,.filter-bar select){font-size:16px}
  .app-body.sakti-ui .page-heading h1,
  .app-body.sakti-ui .page-heading-compact h1,
  .app-body.sakti-ui .dashboard-hero h1{font-size:26px;line-height:1.15}
  .app-body.sakti-ui .panel-head h2{font-size:18px}
  .app-body.sakti-ui :is(.button-small,.status-badge,.count-pill,.scheme-code,.role-chip){font-size:12.5px}
.swal2-container.swal2-toast-container{
    inset:10px 10px auto auto;
    width:min(340px,calc(100vw - 20px));
    max-width:calc(100vw - 20px);
  }
  .swal2-popup.swal2-toast.sakti-flash-toast{
    min-height:54px;
    padding:11px 38px 11px 11px;
    border-radius:12px;
  }
  .swal2-popup.swal2-toast.sakti-flash-toast .swal2-title{
    font-size:13px;
    line-height:1.4;
  }
.app-body.sakti-ui .modal-layer{
    align-items:flex-start;
    justify-content:center;
    padding:calc(12px + env(safe-area-inset-top)) 8px 8px;
  }
  .app-body.sakti-ui .modal-dialog,
  .app-body.sakti-ui .modal-dialog.modal-wide,
  .app-body.sakti-ui .modal-dialog.modal-extra-wide{
    width:min(100%,520px);
    max-height:calc(var(--modal-viewport-height,100dvh) - 20px - env(safe-area-inset-top));
    margin:0 auto;
    border-radius:18px;
  }
  .app-body.sakti-ui .modal-body{
    padding:14px 14px 0;
    scroll-padding-bottom:96px;
  }
  .app-body.sakti-ui .modal-actions{
    position:sticky;
    bottom:0;
    z-index:2;
    display:grid;
    grid-template-columns:1fr;
    gap:9px;
    margin:12px -14px 0;
    padding:12px 14px calc(12px + env(safe-area-inset-bottom));
    background:rgba(255,255,255,.98);
    box-shadow:0 -10px 24px rgba(7,23,34,.08);
  }
.app-body.sakti-ui .apl02-assessment-table{
    min-width:1160px;
  }
  .app-body.sakti-ui .apl02-assessment-table td{
    padding:13px 14px;
  }
  .app-body.sakti-ui .apl02-assessment-table :is(th,td):nth-child(2){width:335px}
  .app-body.sakti-ui .apl02-assessment-table :is(th,td):nth-child(5){width:210px}
.app-body.sakti-ui .account-setup-number{
    width:24px;
    height:24px;
    font-size:12px;
  }
  .app-body.sakti-ui .account-setup-number .ui-icon,
  .app-body.sakti-ui .account-setup-number svg{
    width:13px;
    height:13px;
  }
.app-body.sakti-ui[data-request-path="asesor/preassessment.php"] [data-page-stage]{
    gap:12px;
  }
  .app-body.sakti-ui[data-request-path="asesor/preassessment.php"] .focus-panel-nav{
    gap:6px;
    padding:7px;
  }
  .app-body.sakti-ui[data-request-path="asesor/preassessment.php"] .review-section .section-heading-inline{
    display:grid;
    padding:16px 15px 14px;
  }
  .app-body.sakti-ui[data-request-path="asesor/preassessment.php"] .review-section .section-heading-inline h2{
    font-size:20px;
  }
  .app-body.sakti-ui[data-request-path="asesor/preassessment.php"] .review-section .section-heading-inline>.status-badge{
    justify-self:start;
  }
  .app-body.sakti-ui[data-request-path="asesor/preassessment.php"] .focus-panel-footer{
    display:grid;
    grid-template-columns:1fr;
    gap:8px;
    padding-top:10px;
  }
  .app-body.sakti-ui[data-request-path="asesor/preassessment.php"] .focus-panel-footer .button{
    width:100%;
  }
.app-body.sakti-ui.role-asesi :is(.button,.icon-button,.modal-close),
  .app-body.sakti-ui.role-asesor :is(.button,.icon-button,.modal-close){
    min-height:46px;
  }
  .app-body.sakti-ui.role-asesi .assessee-process-context{
    gap:10px;
    padding:12px;
    border-radius:16px;
  }
  .app-body.sakti-ui.role-asesi .assessee-process-summary{
    align-items:flex-start;
    gap:10px;
  }
  .app-body.sakti-ui.role-asesi .assessee-process-summary .button{
    width:100%;
  }
  .app-body.sakti-ui.role-asesi .assessee-process-steps{
    display:flex;
    gap:8px;
    overflow-x:auto;
    padding-bottom:2px;
    scroll-snap-type:x proximity;
  }
  .app-body.sakti-ui.role-asesi .assessee-process-step{
    flex:0 0 148px;
    min-height:54px;
    scroll-snap-align:start;
  }
  .app-body.sakti-ui.role-asesi .assessee-process-next{
    display:grid;
    grid-template-columns:34px minmax(0,1fr);
    gap:10px;
  }
  .app-body.sakti-ui.role-asesi .assessee-process-next .button{
    grid-column:1/-1;
    width:100%;
  }
  .app-body.sakti-ui.role-asesi .ak01-signoff-panel{
    gap:14px;
  }
  .app-body.sakti-ui.role-asesi .ak01-decision-actions{
    display:grid;
    gap:10px;
  }
  .app-body.sakti-ui.role-asesi .ak01-decision-actions>button,
  .app-body.sakti-ui.role-asesi .ak01-decision-actions form,
  .app-body.sakti-ui.role-asesi .ak01-decision-actions form .button{
    width:100%;
  }
  .app-body.sakti-ui.role-asesi .ak01-decision-actions>button{
    order:2;
  }
  .app-body.sakti-ui.role-asesor .assessment-current-task-large{
    padding:14px;
    border-radius:15px;
  }
  .app-body.sakti-ui.role-asesor .assessment-current-task-large strong{
    font-size:15.5px;
  }
  .app-body.sakti-ui.role-asesor .assessment-current-task-large p{
    display:block;
    font-size:13.25px;
  }
  .app-body.sakti-ui.role-asesi .assessment-current-task-large p{
    display:block;
    font-size:13.25px;
  }
  .app-body.sakti-ui.role-asesor .assessment-secondary-disclosure>summary,
  .app-body.sakti-ui.role-asesor .assessment-full-kuk-summary{
    align-items:center;
    padding:13px;
  }
  .app-body.sakti-ui.role-asesor .assessment-secondary-disclosure>summary em,
  .app-body.sakti-ui.role-asesor .assessment-full-kuk-summary>.count-pill{
    justify-self:start;
  }
  .app-body.sakti-ui.role-asesor .assessment-flow-actions{
    padding-left:0;
  }
  .app-body.sakti-ui.role-asesor .assessment-runtime-actions{
    display:grid;
    grid-template-columns:1fr;
    gap:8px;
  }
  .app-body.sakti-ui.role-asesor .assessment-runtime-actions .button{
    width:100%;
  }
  .app-body.sakti-ui.role-asesor .observation-choice-group{
    grid-template-columns:1fr;
  }
  .app-body.sakti-ui.role-asesor .observation-choice-group label span{
    min-height:44px;
    justify-content:center;
  }
  .app-body.sakti-ui.role-asesor .assessor-focus-controller{
    align-items:stretch;
    flex-direction:column;
    gap:10px;
    padding:12px;
  }
  .app-body.sakti-ui.role-asesor .assessor-focus-controller-copy{align-items:flex-start}
  .app-body.sakti-ui.role-asesor .assessor-focus-controller-copy>span{flex-basis:36px;width:36px;height:36px}
  .app-body.sakti-ui.role-asesor .assessor-focus-controller-actions{display:grid;grid-template-columns:1fr 1fr;width:100%}
  .app-body.sakti-ui.role-asesor .assessor-focus-controller-actions .button{width:100%;white-space:normal;text-align:center}
  .app-body.sakti-ui.role-asesor .assessment-assessee-nav{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;width:100%}
  .app-body.sakti-ui.role-asesor .assessment-assessee-nav .button{width:100%;min-width:0;padding-inline:9px;white-space:normal;text-align:center}
  .app-body.sakti-ui.role-asesor .assessor-mobile-table{
    display:block;
    width:100%;
    min-width:0;
    border:0;
    background:transparent;
  }
  .app-body.sakti-ui.role-asesor .assessor-mobile-table thead{
    position:absolute;
    width:1px;
    height:1px;
    margin:-1px;
    padding:0;
    overflow:hidden;
    clip:rect(0 0 0 0);
    white-space:nowrap;
  }
  .app-body.sakti-ui.role-asesor .assessor-mobile-table tbody{
    display:grid;
    gap:11px;
    width:100%;
  }
  .app-body.sakti-ui.role-asesor .assessor-mobile-table tbody>tr{
    display:grid;
    width:100%;
    overflow:hidden;
    border:1px solid var(--line-soft);
    border-radius:14px;
    background:var(--surface);
    box-shadow:0 5px 16px rgba(8,29,42,.05);
  }
  .app-body.sakti-ui.role-asesor .assessor-mobile-table tbody>tr>td{
    display:grid;
    grid-template-columns:minmax(102px,32%) minmax(0,1fr);
    align-items:start;
    gap:9px;
    width:100%;
    min-width:0;
    padding:10px 12px;
    border:0;
    border-bottom:1px solid var(--line-soft);
    white-space:normal;
  }
  .app-body.sakti-ui.role-asesor .assessor-mobile-table tbody>tr>td:last-child{border-bottom:0}
  .app-body.sakti-ui.role-asesor .assessor-mobile-table tbody>tr>td::before{
    content:attr(data-label);
    color:var(--ink-500);
    font-size:12px;
    font-weight:750;
    letter-spacing:.045em;
    line-height:1.35;
    text-transform:uppercase;
  }
  .app-body.sakti-ui.role-asesor .assessor-mobile-table tbody>tr>td:not([data-label])::before{display:none}
  .app-body.sakti-ui.role-asesor .assessor-mobile-table tbody>tr>td>small,
  .app-body.sakti-ui.role-asesor .assessor-mobile-table tbody>tr>td>strong{min-width:0;overflow-wrap:anywhere}
  .app-body.sakti-ui.role-asesor .assessor-mobile-table tbody>tr>td.table-action .table-actions{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:8px;
    width:100%;
  }
  .app-body.sakti-ui.role-asesor .assessor-mobile-table tbody>tr>td.table-action :is(.button,form,form .button){width:100%}
  .app-body.sakti-ui.role-asesor .assessor-mobile-table .table-inline-form{min-width:0;width:100%}
  .app-body.sakti-ui.role-asesor .assessor-mobile-table .exception-review-box{min-width:0;width:100%}
  .app-body.sakti-ui.role-asesor .assessor-mobile-table .apl02-kuk-list{max-height:none;overflow:visible}
.apl02-role-roadmap{grid-template-columns:1fr}.apl02-save-bar,.apl02-review-quickbar{position:static;align-items:stretch;flex-direction:column}.apl02-save-bar .button,.apl02-review-quickbar .button{width:100%}.wizard-next-action .button{width:100%}
.bulk-check-toolbar{align-items:stretch;flex-direction:column}.bulk-check-toolbar>div{display:grid;grid-template-columns:1fr 1fr}.bulk-check-toolbar .button{width:100%}.bulk-check-status{text-align:left}
.context-focus-panel{align-items:stretch;flex-direction:column}.context-focus-panel .button{width:100%;justify-content:center}
.evidence-kuk-group .check-grid{grid-template-columns:1fr}.evidence-kuk-group>summary span{white-space:normal}
.assessment-runtime-instrument{grid-template-columns:30px minmax(0,1fr)}.assessment-runtime-actions,.assessment-instrument-confirm{grid-column:2}.assessment-runtime-actions{justify-content:flex-start}.assessment-instrument-confirm{grid-template-columns:1fr}.candidate-uploaded-files article{align-items:flex-start;flex-direction:column}
.muk-variant-title,.muk-variant-option{align-items:flex-start;flex-direction:column}.muk-variant-option form,.muk-variant-option .button{width:100%}
.muk-unit-coverage-details>summary{flex-direction:column}
.schedule-participant-picker{grid-template-columns:1fr;max-height:50vh}.schedule-bulk-accept .form-actions .button{width:100%}
.section-heading-actions{width:100%;justify-content:flex-start}.section-heading-actions .button{width:100%}
.assessment-instrument-kuk-inline{grid-column:1/-1}.assessment-instrument-kuk-list>article{grid-template-columns:1fr}.assessment-instrument-kuk-list>article .button{width:100%}.assessment-full-kuk-summary{align-items:flex-start;flex-direction:column}.assessment-full-kuk-summary>.count-pill{align-self:flex-start}
.exception-review-box .table-inline-form{grid-template-columns:1fr}.exception-review-box>summary{width:100%}
.cancellation-review-hero{align-items:flex-start;flex-direction:column;padding:18px}.cancellation-review-hero h2{font-size:21px}.cancellation-review-hero>.status-badge{align-self:flex-start}.page-heading-actions{width:100%;flex-wrap:wrap}.page-heading-actions>.button{flex:1 1 180px}
.assessment-answer-progress{grid-template-columns:1fr;top:var(--content-sticky-top,10px)}.assessment-answer-progress .button{width:100%}.assessment-unanswered-list{grid-column:1}
.assessment-question-card{padding:15px}.assessment-question-card>header{flex-direction:column}.assessment-answer-stack{padding:0 14px 14px}.assessment-attendance-card{padding:15px}.assessment-paper-form .form-actions,.assessment-question-card .form-actions{display:grid;grid-template-columns:1fr;width:100%}.assessment-paper-form .button,.assessment-question-card .button{width:100%}
.muk-task-explainer{grid-template-columns:1fr}.muk-task-explainer-icon{width:44px;height:44px}.muk-workflow-footer{grid-template-columns:1fr;gap:12px}.muk-workflow-footer>div,.muk-workflow-footer>.button:first-child,.muk-workflow-footer>.button:last-child,.muk-workflow-footer>span.button{grid-column:1;grid-row:auto;width:100%}.muk-workflow-footer>div{text-align:left}.muk-quick-mapping-form{grid-template-columns:1fr}.muk-quick-mapping-form>.button{grid-column:auto}.muk-inline-map-form{grid-template-columns:1fr;min-width:190px}.muk-inline-map-form .button{width:100%}.segmented-control{width:100%;grid-template-columns:1fr 1fr}.segmented-control a{padding:8px 6px}.coverage-aside-inline{grid-template-columns:1fr}
.muk-context-shell .muk-workflow-tabs>span{padding:12px}.muk-package-summary-grid{grid-template-columns:1fr 1fr}.muk-advanced-package>summary{grid-template-columns:auto minmax(0,1fr)}.muk-advanced-package>summary em{grid-column:2;justify-self:start}.muk-correction-form,.muk-correction-form-danger,.muk-matrix-filters{grid-template-columns:1fr}.muk-correction-form>.button,.muk-correction-form-danger>.button,.muk-matrix-filter-actions{grid-column:auto}.muk-matrix-filter-actions{display:grid;grid-template-columns:1fr 1fr}.muk-matrix-filter-actions .button{width:100%}.muk-matrix-result-note{align-items:flex-start;flex-direction:column}.muk-stage-lock{grid-template-columns:1fr}.muk-stage-lock>.button{grid-column:auto}.muk-stage-lock>span{width:44px;height:44px}
.muk-digital-readiness-grid{grid-template-columns:1fr}.muk-instrument-readiness-item{grid-template-columns:1fr}.muk-instrument-state-icon{width:38px;height:38px}.muk-instrument-actions{grid-column:1;justify-content:stretch}.muk-instrument-actions .button{flex:1}.muk-instrument-title{align-items:flex-start;flex-direction:column}.muk-instrument-title strong{white-space:normal}.muk-advanced-section>summary{grid-template-columns:auto minmax(0,1fr)}.muk-advanced-section>summary em{grid-column:2;justify-self:start}.muk-context-tools{width:100%}.muk-context-tools>summary{width:100%;justify-content:center}.muk-context-tools>div{box-shadow:none}
body{font-size:16px}
    h1{font-size:36px}
    .system-state,.account-copy,.account-trigger>.ui-icon{display:none}
    .account-trigger{min-width:48px}
    .app-footer{flex-direction:column;align-items:flex-start}
    .page-heading{align-items:flex-start;flex-direction:column}
    .heading-badge{white-space:normal}
    .metric-grid,.summary-rail{grid-template-columns:1fr}
    .summary-note{grid-column:auto}
    .governance-strip{grid-template-columns:1fr}
    .governance-strip>p{grid-column:auto}
    .form-grid-2{grid-template-columns:1fr}
    .workspace-access-grid{grid-template-columns:1fr;padding:16px 18px 20px}
    .workspace-access-intro{margin:18px 18px 0}
    .workspace-access-card{grid-template-columns:1fr}
    .field-span-2{grid-column:auto}
    .search-control{grid-column:span 2;min-width:0}
    .filter-bar input,.filter-bar select{width:100%;min-width:0}
    .pagination{align-items:flex-start;flex-direction:column}
    .identity-banner{grid-template-columns:58px 1fr;padding:20px}
    .identity-mark{width:50px;height:50px}
    .identity-meta{grid-column:span 2;align-items:flex-start;padding-top:12px;border-top:1px solid rgba(255,255,255,.12)}
    .audit-list{padding:0 18px 18px}
    .audit-list::before{left:92px}
    .audit-item{grid-template-columns:55px 16px 1fr;gap:10px}
    .audit-time strong{font-size:17px}
    .audit-time span{font-size:12px}
    .audit-title{align-items:flex-start;flex-direction:column;gap:5px}
    .card-list,.module-grid{grid-template-columns:1fr}
    .login-page{padding:0}
    .login-shell{border:0;border-radius:0}
    .login-identity{min-height:290px;padding:30px 24px}
    .login-brand-institution{font-size:38px}
    .login-access{padding:42px 24px}
    .step-grid{grid-template-columns:1fr}
.app-footer>div{flex-direction:row;flex-wrap:nowrap}.app-footer>div:first-child span{display:none}.app-footer>div:last-child span{max-width:42vw}
:root{--shell-gutter:6px;--shell-card-radius:20px}
    .topbar{top:10px;margin-bottom:16px}
.account-menu{z-index:140}
.page-heading{border-radius:18px}
    .modal-head{padding:19px 18px 15px}
    .modal-body{padding:18px 18px 0}
.custom-control-popover{max-width:calc(100vw - 12px);border-radius:15px}
    .custom-select-trigger,.custom-date-trigger{min-height:45px}
    .custom-calendar{width:min(336px,calc(100vw - 12px))}
.filter-bar>.search-control,
    .filter-bar>.custom-select-control,
    .filter-bar>.custom-date-control,
    .filter-bar>.custom-number-control,
    .filter-bar>.custom-search-control{width:100%;min-width:0;max-width:none;flex:none}
    .filter-bar>.button{width:100%}

.app-body .workspace{padding:8px 8px 0}
  .app-body .topbar{margin-bottom:11px}
  .app-body .app-footer>div:first-child span{display:none}
.table-scroll-cue.is-visible{
        display:flex;
        align-items:center;
        justify-content:space-between;
        gap:12px;
        width:100%;
        min-height:44px;
        padding:8px 13px;
        border:0;
        border-top:1px solid var(--interaction-line);
        color:var(--role-accent-strong);
        background:color-mix(in srgb,var(--role-accent-soft) 58%,var(--paper));
        font-family:var(--font-ui);
        font-size:12px;
        font-weight:650;
        line-height:1.35;
        text-align:left;
        cursor:pointer;
    }
    .table-scroll-cue b{display:grid;flex:0 0 30px;width:30px;height:24px;place-items:center;font-size:20px;font-weight:500;line-height:1}
    .table-scroll-cue:focus-visible{outline:3px solid rgba(var(--role-accent-rgb),.24);outline-offset:-3px}
    .table-scroll-cue:active{background:color-mix(in srgb,var(--role-accent-soft) 82%,var(--paper))}
    [data-wizard]>.wizard-nav{grid-template-columns:repeat(2,minmax(0,1fr));overflow:visible;margin-inline:0;padding:8px;scroll-snap-type:none}
    [data-wizard]>.wizard-nav button{min-width:0;min-height:62px;scroll-snap-align:none}
    [data-wizard]>.wizard-nav button:last-of-type:nth-of-type(odd){grid-column:1/-1}
    .wizard-progress{position:relative;left:auto;z-index:3;grid-column:1/-1;width:auto;min-width:0;background:rgba(255,255,255,.96);backdrop-filter:blur(10px)}
    .wizard-nav button::after{inset:auto 10px -1px;height:3px;width:auto;border-radius:999px 999px 0 0}

    .field input:not([type=checkbox]):not([type=radio]):not([type=file]),
    .field select,.field textarea,.filter-bar input,.filter-bar select,
    .custom-select-trigger,.custom-date-trigger,.custom-number-input,.custom-search-control input{font-size:16px}
    .field,.custom-validation-message,.wizard-content>[data-wizard-panel],.wizard-stage>[data-wizard-panel]{scroll-margin-top:calc(var(--mobile-topbar-height,58px) + var(--mobile-header-top,0px) + 18px)}
    .button,.skip-link{min-height:44px}
    .sidebar-close{width:44px;height:44px;min-width:44px;min-height:44px}
    .button-small{min-height:44px;padding-inline:12px}
    .page-link,.pagination a,.pagination button{min-width:44px;min-height:44px;height:44px}
    .modal-close{min-width:44px;min-height:44px}
    .icon-button,.custom-option,.custom-multi-actions button,.custom-calendar-actions button,
    .account-menu-link,.account-menu form button,.modal-actions .button{min-height:44px}
    .icon-button{width:44px;height:44px}

    .form-actions,.panel-footer-actions{align-items:stretch}
    .form-actions>.button,.form-actions>form,.form-actions>form>.button,.panel-footer-actions>.button,.panel-footer-actions>form,.panel-footer-actions>form>.button{width:100%}
    .form-actions>form{display:grid}
    .modal-actions>.button,.modal-actions>form,.modal-actions>form>.button{width:100%}
    .modal-actions>form{display:grid}
:root{--mobile-header-gap:16px}
:root{
        --mobile-topbar-height:62px;
        --mobile-footer-height:50px;
        --mobile-page-gap:12px;
    }
    html,body.app-body{max-width:100%;overscroll-behavior-x:none}
    body.app-body{font-size:15px}
    .topbar{
        gap:7px;
        padding:0 8px;
        border-radius:16px;
    }
    .topbar-leading{gap:6px}
    .topbar-actions{gap:3px}
    .topbar-context>small,.role-state,.system-state{display:none!important}
    .breadcrumb{gap:5px;font-size:12px}
    .breadcrumb>span{max-width:70px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
    .menu-button,.notification-button,.account-trigger,.topbar-icon{
        width:44px;
        height:44px;
        min-width:44px;
        min-height:44px;
    }
    .account-trigger{display:grid;grid-template-columns:38px;padding:3px;border-radius:12px}
    .avatar{width:38px;height:38px}
    .notification-count{top:-3px;right:-3px}
    .account-menu{
        position:fixed;
        top:calc(var(--mobile-header-top) + var(--mobile-topbar-height) + 7px);
        right:10px;
        left:auto;
        width:min(310px,calc(100vw - 20px));
        max-height:calc(100dvh - var(--mobile-header-top) - var(--mobile-topbar-height) - 20px);
        overflow:auto;
        border-radius:15px;
    }

    .sidebar{
        top:max(6px,env(safe-area-inset-top));
        bottom:max(6px,env(safe-area-inset-bottom));
        left:6px;
        width:min(320px,calc(100vw - 12px));
        padding:18px 14px 14px;
        border-radius:18px;
        transform:translateX(calc(-100% - 14px));
    }
    .app-shell.sidebar-open .sidebar{transform:translateX(0)}
    .sidebar-brand{min-height:62px;padding:0 5px 15px}
    .brand-lockup{min-width:0}
    .brand-copy{min-width:0}
    .brand-copy strong,.brand-copy small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
    .sidebar-context{margin:13px 3px 6px;padding:12px}
    .sidebar-nav{margin-top:2px;padding-bottom:14px}
    .nav-item{min-height:52px;padding:9px}
    .sidebar-foot{padding-top:12px}

    .content{padding:0 4px 22px}
    .page-stage{gap:var(--mobile-page-gap)}
    .app-footer{
        position:relative;
        right:auto;
        bottom:auto;
        left:auto;
        z-index:auto;
        width:auto;
        margin:14px 4px max(8px,env(safe-area-inset-bottom));
        min-height:var(--mobile-footer-height);
        grid-template-columns:minmax(0,1fr) auto;
        gap:8px;
        padding:7px 10px;
        border-radius:15px;
    }
    .app-footer>div{min-width:0;gap:6px}
    .app-footer>div:first-child span,.app-footer>div:last-child span{display:none}
    .app-footer strong{overflow:hidden;font-size:12px;text-overflow:ellipsis;white-space:nowrap}
    .app-footer small{font-size:12px;white-space:nowrap}

    /* Prevent desktop flex-basis from becoming enormous vertical height. */
    .page-heading-actions,
    .dashboard-hero .page-heading-actions,
    .panel-head-responsive>.filter-bar,
    .filter-bar,
    .form-actions,
    .modal-actions,
    .panel-footer-actions{
        min-height:0;
        height:auto;
    }
    .page-heading-actions{
        display:grid;
        grid-template-columns:repeat(2,minmax(0,1fr));
        align-items:stretch;
        width:100%;
        max-width:none;
        gap:8px;
    }
    .page-heading-actions .button{
        flex:none;
        width:100%;
        min-height:44px;
        height:auto;
    }
    .panel-head-responsive{gap:14px}
    .panel-head-responsive>.filter-bar{flex:none;margin:0}
    .filter-bar{
        display:grid;
        grid-template-columns:1fr;
        align-items:stretch;
        width:100%;
        gap:9px;
    }
    .filter-bar>*{grid-column:auto;min-width:0;max-width:none;width:100%;flex:none}
    .filter-bar>.button{min-height:44px}

    .page-heading{gap:14px;margin-bottom:0;padding:17px 16px}
    .page-heading h1,.page-heading-compact h1{font-size:clamp(27px,8vw,33px);line-height:1.08}
    .page-heading p{font-size:13.5px;line-height:1.55}
    .dashboard-hero{gap:18px;margin-bottom:0;padding:23px 18px;border-radius:17px}
    .dashboard-hero h1{font-size:clamp(30px,9vw,38px);line-height:1.04}
    .dashboard-hero p{font-size:14px;line-height:1.55}
    .period-card{min-height:108px;padding:17px}
    .period-card strong{font-size:20px}

    .panel{border-radius:15px}
    .panel-head{gap:12px;padding:16px 15px}
    .panel-head h2{font-size:18px}
    .panel-head p{font-size:12.5px;line-height:1.5}
    .form-grid,.form-stack{gap:13px;padding:16px 14px}
    .form-actions{gap:8px;margin-top:12px;padding-top:13px}
    .form-actions>.button,.form-actions>form,.form-actions>form>.button{width:100%}

    /* All major two-rail operational workspaces collapse before they overflow. */
    .form-layout,.data-workspace,.data-workspace-wide,.structure-shell,.coverage-layout,
    .authoring-shell,.validation-layout,.approval-layout,.profile-layout,.application-context-bar,
    .guided-workspace.apl-workspace,.apl-review-grid,.verification-overview,.verification-layout,
    .profile-account-grid,.signature-profile-grid,.institution-settings-grid,.ak01-workspace,
    .assessment-workspace,.assessment-secondary-grid,.recommendation-workspace,.decision-workspace,
    .certificate-workspace,.case-workspace,.document-editor-layout,.review-dashboard,.finalization-grid,
    .muk-workspace-detail-grid,.report-two-column{
        grid-template-columns:minmax(0,1fr);
        min-width:0;
    }
    .form-sidebar,.editor-panel,.structure-nav,.coverage-aside,.muk-documents-aside,.content-grid-main-side>aside,.wizard-nav,
    .validation-queue,.approval-queue,.profile-summary-card,.sticky-review-card,.institution-logo-column,
    .ak01-list-panel,.assessment-queue,.recommendation-queue,.decision-queue,.certificate-queue,
    .case-queue,.document-editor-help{width:100%;max-width:none}

    /* Compact summaries remain scannable, then collapse to one column below 430 px. */
    .profile-summary-list,.application-facts,.schedule-stat-grid,.schedule-gate-grid,.assignment-context,
    .assignment-detail-grid,.tuk-schedule-meta,.readiness-summary-grid,.assessee-schedule-grid,
    .ak01-summary-grid,.signature-status-grid,.signature-meta,.assessment-summary-rail,
    .recommendation-read-grid,.decision-summary-grid,.result-grid,.detail-grid,.report-metric-grid,
    .validation-metrics,.quality-gates,.approval-summary-grid,.decision-history,.muk-workspace-detail-grid{
        grid-template-columns:repeat(2,minmax(0,1fr));
    }

    /* Dense row patterns reserve actions on a separate line instead of squeezing text. */
    .priority-item,.schedule-participant-list>article,.checklist-item,.ak01-item-list article,
    .evidence-list>article,.evidence-library-grid>article,.import-type-card,.muk-document-card,
    .muk-blocker-list a,.muk-review-document-list article,.admin-document-row,.document-upload-form,
    .review-inline-form,.declaration-form,.notification-card,.workspace-next-action{
        min-width:0;
    }
    .priority-item{grid-template-columns:38px minmax(0,1fr)}
    .priority-action{grid-column:2;justify-self:start}
    .workspace-next-action{grid-template-columns:1fr;padding:16px}
    .workspace-next-action>.button{width:100%}
    .schedule-participant-list>article,.checklist-item,.ak01-item-list article,
    .evidence-list>article,.evidence-library-grid>article,.import-type-card,.muk-document-card,
    .muk-blocker-list a,.muk-review-document-list article,.admin-document-row,.notification-card{
        grid-template-columns:auto minmax(0,1fr);
    }
    .schedule-participant-list>article>*:last-child,.checklist-item>*:last-child,
    .ak01-item-list article>*:last-child,.evidence-list>article>*:last-child,
    .evidence-library-grid>article>*:last-child,.import-type-card>*:last-child,
    .muk-document-card>*:last-child,.muk-blocker-list a>*:last-child,
    .muk-review-document-list article>*:last-child,.admin-document-row>*:last-child,
    .notification-card>*:last-child{
        grid-column:1/-1;
        justify-self:stretch;
    }
    .schedule-participant-list .button,.checklist-item .button,.ak01-item-list .button,
    .evidence-list .button,.evidence-library-grid .button,.import-type-card .button,
    .muk-document-card .button,.muk-review-document-list .button,.admin-document-row .button{
        width:100%;
    }

    .certificate-hero,.case-hero,.certificate-action-panel,.case-action-panel,
    .assessment-opening,.assessment-finalize-panel,.assessment-control-bar,.recommendation-hero,
    .decision-hero,.result-hero,.validation-hero,.approval-hero,.coverage-hero,.muk-workspace-hero{
        align-items:stretch;
        flex-direction:column;
        grid-template-columns:1fr;
        gap:14px;
        padding:19px 17px;
    }
    .certificate-hero>div:last-child,.case-hero>div:last-child{text-align:left}
    .panel-actions{align-items:stretch;flex-direction:column;padding:0 16px 16px}
    .panel-actions .button,.certificate-action-panel .button,.case-action-panel .button{width:100%}
    .case-message{max-width:94%}
    .case-message>div{align-items:flex-start;flex-direction:column;gap:3px}
    .verification-form,.report-filter-grid,.muk-document-filter .filter-bar-wide{
        grid-template-columns:1fr;
    }
    .verification-form .button,.report-filter-grid .button{width:100%}
    .verification-result dl>div{grid-template-columns:1fr;gap:3px}

    /* Bottom-sheet custom controls are easier to use above virtual keyboards. */
    .custom-control-popover.is-mobile-sheet{
        border-radius:18px 18px 14px 14px;
        box-shadow:0 28px 80px rgba(7,23,34,.34);
    }
    .custom-control-popover.is-mobile-sheet .custom-options{max-height:min(42dvh,330px)}
    .custom-control-popover.is-mobile-sheet .custom-popover-head{padding-top:13px}

    /* Heavy backdrop filters cause visible jank on mid-range phones. */
    .topbar,.app-footer,.sidebar-backdrop,.modal-layer,.account-menu,.custom-control-popover{
        backdrop-filter:none;
        -webkit-backdrop-filter:none;
    }
    ::view-transition-old(sakti-sidebar),::view-transition-new(sakti-sidebar),
    ::view-transition-old(sakti-topbar),::view-transition-new(sakti-topbar),
    ::view-transition-old(sakti-footer),::view-transition-new(sakti-footer),
    ::view-transition-old(sakti-content),::view-transition-new(sakti-content),
    ::view-transition-old(sakti-brand-logo),::view-transition-new(sakti-brand-logo),
    ::view-transition-old(sakti-brand-copy),::view-transition-new(sakti-brand-copy){animation:none!important}
.application-context-bar strong{overflow:visible;text-overflow:clip;white-space:normal;overflow-wrap:anywhere;line-height:1.45}
    .table-wrap,.table-scroll{overflow-x:auto;overflow-y:hidden;border-radius:0 0 var(--composition-radius) var(--composition-radius);scrollbar-gutter:auto}
    .responsive-table.is-mobile-scroll-table{display:table;width:100%;max-width:none;min-width:100%;margin-inline:0;box-sizing:border-box;table-layout:auto;border-collapse:collapse}
    .responsive-table.is-mobile-scroll-table thead{display:table-header-group;position:static;width:auto;height:auto;overflow:visible;clip:auto;clip-path:none;white-space:normal}
    .responsive-table.is-mobile-scroll-table tbody{display:table-row-group;padding:0;background:transparent}
    .responsive-table.is-mobile-scroll-table tr{display:table-row;padding:0;border:0;border-radius:0;background:transparent;box-shadow:none}
    .responsive-table.is-mobile-scroll-table th,.responsive-table.is-mobile-scroll-table td{position:static;display:table-cell;width:auto;min-width:0;padding:12px 14px;border:0;border-bottom:1px solid var(--line-soft);background:transparent;box-shadow:none;text-align:left;white-space:normal}
    .responsive-table.is-mobile-scroll-table th{white-space:nowrap}
    .responsive-table.is-mobile-scroll-table td::before{display:none!important;content:none!important}
    .responsive-table.is-mobile-scroll-table td[colspan]{display:table-cell;text-align:center}
    .responsive-table.is-mobile-scroll-table .row-actions,.responsive-table.is-mobile-scroll-table .table-actions{justify-content:flex-end;flex-wrap:nowrap}
    .responsive-table.is-mobile-scroll-table tbody tr:nth-child(even){background:rgba(var(--role-accent-rgb),.014)}
    .responsive-table.is-mobile-scroll-table tbody tr:hover{background:rgba(var(--role-accent-rgb),.04)}
    .data-page-size-toolbar{padding:9px 12px}
    .data-table-toolbar{align-items:stretch;flex-direction:column;gap:9px}
    .client-table-search{flex:0 0 auto;width:100%;max-width:none;min-width:0}
    .client-table-search input,.pagination-size-form select,.client-pagination-size select{min-height:44px;font-size:16px}
    .data-table-toolbar .client-pagination-size{align-self:flex-end}
    .pagination-bottom{align-items:center;justify-content:center;gap:8px;padding:12px}
    .pagination-bottom .pagination-links{justify-content:center;max-width:100%;overflow-x:auto;padding-bottom:2px;scrollbar-width:thin}
.workspace small,
    .modal-dialog small,
    .data-table small,
    .field-hint,
    .table-subtext,
    .overline,
    .eyebrow,
    .status-badge{
        font-size:12px;
    }
.muk-workflow-tabs-four{grid-template-columns:1fr}.muk-context-advanced,.muk-simple-actions,.muk-simple-sync,.bulk-action-bar,.bulk-action-footer{align-items:stretch;flex-direction:column}.muk-context-advanced .button,.muk-simple-actions .button,.muk-simple-actions form,.muk-simple-actions form .button,.muk-simple-sync .button,.bulk-action-bar .button,.bulk-action-footer .button{width:100%}.muk-simple-actions form{margin-left:0}.muk-simple-hero{padding:17px}
.identity-verification-card {
        align-items: flex-start;
    }
    .identity-comparison-card > header { align-items: flex-start; }
    .evidence-quality-checks .check-grid {
        grid-template-columns: 1fr;
    }
.muk-simple-instrument-list,.muk-choice-grid-simple,.muk-unit-check-grid{grid-template-columns:1fr}.muk-simple-form,.muk-unit-coverage-form{padding:14px}.muk-question-readiness{margin:0 14px}.muk-advanced-panel>summary{align-items:flex-start;flex-direction:column}
.muk-preview{padding:10px}.muk-preview-head,.muk-preview-body{padding:18px}.preview-grid,.preview-signers{grid-template-columns:1fr}.preview-signer{grid-template-columns:34px 1fr}.preview-status{grid-column:2;justify-self:start}.preview-actions{padding:14px 18px;flex-direction:column}.preview-actions a,.preview-actions button{width:100%;text-align:center}
.muk-supporting-instruments>summary{align-items:flex-start;flex-direction:column}.muk-supporting-instruments>summary span{text-align:left}
.muk-simple-stats{grid-template-columns:1fr;gap:9px}.muk-simple-stats .stat-card{min-height:0;padding:13px 14px}.muk-simple-stats .stat-card:last-child{grid-column:auto}.muk-zero-exception,.muk-kuk-auto-note{margin-left:12px;margin-right:12px}.muk-context-shell .muk-workflow-tabs>a,.muk-context-shell .muk-workflow-tabs>span{min-height:auto}.muk-package-list-table td:nth-child(3),.muk-offline-list-table td:nth-child(3){min-width:0}
.muk-workflow-tabs-three{grid-template-columns:1fr;overflow:visible}.muk-verification-archive article,.muk-verification-success{grid-template-columns:auto minmax(0,1fr)}.muk-verification-archive article>.button,.muk-verification-success>.button{grid-column:1/-1;width:100%}
.app-body :is(.context-selector,.workflow-guidance,.guidance-card,.assignment-toolbar,.data-table-toolbar,.application-context-bar){border-radius:13px}
  .app-body :is(.summary-rail,.assessment-summary-rail,.muk-summary-rail,.readiness-summary-grid,.decision-summary-grid,.approval-summary-grid,.ak01-summary-grid)>article{box-shadow:0 7px 18px rgba(8,29,42,.045),var(--premium-inset)}
body.app-body.no-scroll{
    overflow:hidden;
    overscroll-behavior:none;
  }
  .app-body .sidebar-nav{
    overscroll-behavior:contain;
    touch-action:pan-y;
  }
  .app-body .sidebar-backdrop{
    inset:0;
    background:rgba(4,18,27,.68);
    backdrop-filter:blur(5px) saturate(82%);
  }
.app-body .topbar{min-height:56px;padding:0 10px;border-radius:15px}
  .app-body .topbar-context>small{display:none}
  .app-body .account-trigger{grid-template-columns:32px 13px;padding-right:6px}
  .app-body .account-copy{display:none}
  .app-body .avatar{width:32px;height:32px}
  .app-body .page-stage{gap:12px}
  .app-body :is(.dashboard-hero,.workspace-hero){min-height:0;padding:21px 18px}
  .app-body :is(.form-grid,.form-stack){padding:16px}
  .app-body .app-footer{min-height:38px}
.app-body .app-footer{gap:10px;padding:8px 12px;border-radius:15px}
  .app-body .app-footer::after{border-radius:14px}
  .app-body .app-footer>div:last-child span{display:none}
  .app-body .app-footer span+small{padding-left:0;border-left:0}
.page-dashboard .process-guidance{
    grid-template-columns:38px minmax(0,1fr);
    align-items:start;
    gap:10px 12px;
    padding:13px 14px;
  }
  .page-dashboard .process-guidance-icon{grid-column:1;grid-row:1}
  .page-dashboard .process-guidance-copy{grid-column:2;grid-row:1}
  .page-dashboard .process-guidance>.button{grid-column:1/-1;min-height:42px}
  .page-dashboard .dashboard-hero{gap:14px;padding:18px 16px}
  .page-dashboard .dashboard-hero h1{font-size:clamp(28px,8vw,34px);line-height:1.06}
  .page-dashboard .dashboard-hero p{margin-bottom:12px;font-size:13.5px;line-height:1.5}
  .page-dashboard .dashboard-hero-actions{margin-top:14px}
  .page-dashboard .dashboard-hero-actions .button{width:100%}
  .page-dashboard .hero-meta{gap:7px 14px;font-size:12px}
  .page-dashboard .period-card{
    display:grid;
    grid-template-columns:minmax(0,1fr) auto;
    align-items:center;
    min-height:0;
    padding:13px 15px;
  }
  .page-dashboard .period-card span{grid-column:1;margin:0;font-size:12px}
  .page-dashboard .period-card strong{grid-column:1/-1;margin:4px 0 2px;font-size:18px}
  .page-dashboard .period-card small{grid-column:1/-1;font-size:12px;line-height:1.4}
  .page-dashboard .period-card i{position:static;grid-column:2;grid-row:1;justify-self:end;width:8px;height:8px}
.app-body .page-heading p,.app-body .panel-head p{display:block;overflow:visible;-webkit-line-clamp:unset}
.page-readiness .readiness-hero{gap:14px;padding:18px 16px}
  .page-readiness .readiness-hero-copy :is(h1,h2){margin:5px 0 8px;font-size:clamp(28px,8vw,34px);line-height:1.06}
  .page-readiness .readiness-hero-copy p{font-size:13.5px;line-height:1.5}
  .page-readiness .readiness-score-card{
    display:grid;
    grid-template-columns:minmax(0,1fr) auto;
    align-items:center;
    gap:8px 12px;
    padding:14px 15px;
  }
  .page-readiness .readiness-score-card>span{grid-column:1;grid-row:1}
  .page-readiness .readiness-score-card>strong{grid-column:2;grid-row:1;margin:0;font-size:34px}
  .page-readiness .readiness-score-card>strong small{margin-top:3px;font-size:14px}
  .page-readiness .readiness-progress{grid-column:1/-1;grid-row:2}
  .page-readiness .readiness-score-card>small{grid-column:1/-1;grid-row:3;margin-top:0}
  .page-readiness .readiness-technical-link{grid-column:1/-1;grid-row:4;margin-top:2px}
  .page-readiness .next-handoff{
    grid-template-columns:38px minmax(0,1fr);
    align-items:start;
    gap:10px 12px;
    padding:14px;
  }
  .page-readiness .next-handoff-icon{grid-column:1;grid-row:1;width:38px;height:38px}
  .page-readiness .next-handoff>div{grid-column:2;grid-row:1}
  .page-readiness .next-handoff>.button,
  .page-readiness .next-handoff>.status-badge{grid-column:1/-1;min-height:42px}
  .page-readiness .next-handoff h2{font-size:17px;line-height:1.3}
  .page-readiness .readiness-panel .panel-head{align-items:center;gap:10px}
.role-manajer-sertifikasi .page-heading-actions .button,
  .role-manajer-sertifikasi .page-heading>.button{width:100%;min-height:42px}
  .role-manajer-sertifikasi .page-heading-actions .button:only-child{grid-column:1/-1}
.role-manajer-sertifikasi.page-schedules .summary-rail{grid-template-columns:repeat(3,minmax(0,1fr))}
  .role-manajer-sertifikasi.page-schedules .schedule-stat-grid{
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:8px;
    margin-bottom:12px;
  }
  .role-manajer-sertifikasi.page-schedules .schedule-stat-grid article{
    display:grid;
    align-content:center;
    justify-items:start;
    gap:5px;
    min-height:78px;
    padding:10px 11px;
  }
  .role-manajer-sertifikasi.page-schedules .schedule-stat-grid article>span{width:32px;height:32px}
  .role-manajer-sertifikasi.page-schedules .schedule-stat-grid small{font-size:12px;line-height:1.35;letter-spacing:.04em}
  .role-manajer-sertifikasi.page-schedules .schedule-stat-grid strong{margin-top:0;font-size:22px}
  .role-manajer-sertifikasi.page-cancellations .summary-note{grid-column:1/-1;min-height:0}
.role-manajer-sertifikasi .summary-icon{width:34px;height:34px;flex:0 0 34px}
.role-manajer-sertifikasi .summary-rail article:not(.summary-note) p{display:none}
.role-manajer-sertifikasi .filter-bar,
  .role-manajer-sertifikasi .compact-filter-bar{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    width:100%;
    max-width:none;
  }
  .role-manajer-sertifikasi .filter-bar>label:first-child,
  .role-manajer-sertifikasi .filter-bar>.search-control{grid-column:1/-1}
  .role-manajer-sertifikasi .filter-bar>.button{width:100%}
  .role-manajer-sertifikasi .table-wrap{overflow-x:auto}
  .role-manajer-sertifikasi .responsive-table.is-mobile-scroll-table{min-width:760px}
  .role-manajer-sertifikasi .responsive-table.is-mobile-scroll-table:has(tbody td[colspan]){min-width:100%}
  .role-manajer-sertifikasi .responsive-table:has(tbody td[colspan]) thead{display:none}
  .role-manajer-sertifikasi .page-stage>.workflow-guidance{padding:13px 14px}
  .role-manajer-sertifikasi .schedule-gate-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.role-manajer-sertifikasi.page-muk .muk-context-shell{
    margin-bottom:12px;
    border-radius:16px;
  }
  .role-manajer-sertifikasi.page-muk .muk-context-identity{
    grid-template-columns:36px minmax(0,1fr);
    gap:5px 10px;
    padding:11px 12px;
  }
  .role-manajer-sertifikasi.page-muk .muk-context-back{
    grid-column:1;
    grid-row:1/3;
    display:grid;
    place-items:center;
    width:36px;
    height:36px;
    overflow:hidden;
    padding:0;
    border:1px solid var(--line);
    border-radius:10px;
    background:var(--surface-soft);
    font-size:0;
  }
  .role-manajer-sertifikasi.page-muk .muk-context-back .ui-icon{width:16px;height:16px}
  .role-manajer-sertifikasi.page-muk .muk-context-identity>div:nth-child(2){
    grid-column:2;
    grid-row:1;
    gap:1px;
  }
  .role-manajer-sertifikasi.page-muk .muk-context-identity .scheme-code{font-size:12px}
  .role-manajer-sertifikasi.page-muk .muk-context-identity strong{font-size:13.5px;line-height:1.35}
  .role-manajer-sertifikasi.page-muk .muk-context-identity>div:nth-child(2)>small{display:none}
  .role-manajer-sertifikasi.page-muk .muk-context-status{
    grid-column:2;
    grid-row:2;
    justify-content:flex-start;
    gap:5px;
  }
  .role-manajer-sertifikasi.page-muk .muk-context-status .status{padding:3px 7px;font-size:12px}
  .role-manajer-sertifikasi.page-muk .muk-context-shell .muk-workflow-tabs{
    grid-template-columns:none;
    grid-auto-flow:column;
    grid-auto-columns:minmax(148px,58vw);
    gap:7px;
    overflow-x:auto;
    padding:8px;
    scroll-snap-type:x proximity;
    scrollbar-width:thin;
  }
  .role-manajer-sertifikasi.page-muk .muk-context-shell .muk-workflow-tabs>a,
  .role-manajer-sertifikasi.page-muk .muk-context-shell .muk-workflow-tabs>span{
    grid-template-columns:28px minmax(0,1fr);
    column-gap:8px;
    row-gap:3px;
    align-content:center;
    min-height:62px;
    padding:8px 9px;
    scroll-snap-align:start;
  }
  .role-manajer-sertifikasi.page-muk .muk-context-shell .muk-workflow-tabs>a>span,
  .role-manajer-sertifikasi.page-muk .muk-context-shell .muk-workflow-tabs>span>span{
    grid-row:1/3;
    width:28px;
    height:28px;
    border-radius:8px;
    font-size:12px;
  }
  .role-manajer-sertifikasi.page-muk .muk-context-shell .muk-workflow-tabs :is(a,span)>strong{
    font-size:12px;
    line-height:1.3;
  }
  .role-manajer-sertifikasi.page-muk .muk-context-shell .muk-workflow-tabs :is(a,span)>small{display:none!important}
  .role-manajer-sertifikasi.page-muk .muk-context-shell .muk-tab-state{
    grid-column:2;
    justify-self:start;
    align-self:start;
    margin:0;
    padding:3px 6px;
    font-size:12px;
    line-height:1.2;
  }
  .role-manajer-sertifikasi.page-muk .muk-context-advanced{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:7px;
    padding:8px;
  }
  .role-manajer-sertifikasi.page-muk .muk-context-advanced>.button,
  .role-manajer-sertifikasi.page-muk .muk-context-tools,
  .role-manajer-sertifikasi.page-muk .muk-context-tools>summary{width:100%;min-height:38px}
  .role-manajer-sertifikasi.page-muk .muk-context-tools>summary{justify-content:center;padding:6px 8px}
  .role-manajer-sertifikasi.page-muk .muk-context-tools[open]{grid-column:1/-1}
  .role-manajer-sertifikasi.page-muk .muk-context-tools>div{min-width:0;width:100%}
  .role-manajer-sertifikasi.page-muk .page-heading{margin-top:0}
  .role-manajer-sertifikasi.page-muk .muk-workspace-heading{min-height:0}
  .role-manajer-sertifikasi.page-muk .team-governance{grid-template-columns:40px minmax(0,1fr);gap:10px;padding:14px}
  .role-manajer-sertifikasi.page-muk .team-governance>p{grid-column:1/-1;margin:0;font-size:12px;line-height:1.5}
.role-asesor .page-heading-actions .button,
  .role-asesor .page-heading>.button{width:100%;min-height:42px}
  .role-asesor .page-heading-actions .button:only-child{grid-column:1/-1}
.role-asesor .summary-rail,
  .role-asesor .assessment-summary-rail{
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:8px;
    margin-bottom:12px;
  }
  .role-asesor .summary-rail article,
  .role-asesor .assessment-summary-rail article{gap:8px;min-height:74px;padding:10px 11px}
  .role-asesor .summary-icon{width:33px;height:33px;flex:0 0 33px}
  .role-asesor .summary-rail strong,
  .role-asesor .assessment-summary-rail strong{font-size:23px}
  .role-asesor .application-context-bar{grid-template-columns:repeat(2,minmax(0,1fr));margin-bottom:12px}
  .role-asesor .application-context-bar>div{padding:11px 12px}
  .role-asesor .application-context-bar>div:last-child:nth-child(odd){grid-column:1/-1}
  .role-asesor .application-context-bar span{font-size:12px}
  .role-asesor .application-context-bar strong{font-size:13px;line-height:1.35}
  .role-asesor .application-context-bar small{font-size:12px;line-height:1.4}
  .role-asesor .ak01-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
  .role-asesor .ak01-summary-grid article{min-height:82px;padding:11px 12px}
  .role-asesor .assessment-roster-layout{gap:12px}
  .role-asesor .assessment-roster-schedule-list{grid-template-columns:1fr;padding:8px}
  .role-asesor .assessment-hero{align-items:stretch;gap:13px;padding:16px}
  .role-asesor .assessment-hero h2{font-size:25px}
  .role-asesor .assessment-hero-status{
    grid-template-columns:minmax(0,1fr) auto;
    align-items:center;
    width:100%;
    min-width:0;
    padding:11px 13px;
  }
  .role-asesor .assessment-hero-status span,
  .role-asesor .assessment-hero-status small{grid-column:1}
  .role-asesor .assessment-hero-status strong{grid-column:2;grid-row:1/3;margin:0;font-size:18px;text-align:right}
  .role-asesor .assessment-focus-nav-asesor{
    top:70px;
    display:flex;
    gap:7px;
    margin-inline:-2px;
    overflow-x:auto;
    scroll-snap-type:x proximity;
  }
  .role-asesor .assessment-focus-nav-asesor>a{flex:0 0 min(190px,70vw);scroll-snap-align:start}
  .role-asesor .assessment-current-task-large{grid-template-columns:36px minmax(0,1fr);padding:12px}
  .role-asesor .assessment-current-task-large>span{width:36px;height:36px}
  .role-asesor .assessment-current-task-large .button{grid-column:1/-1;width:100%}
  .role-asesor .assessment-combined-workspace{gap:11px;padding:10px}
  .role-asesor .assessment-step-panel{scroll-margin-top:146px}
  .role-asesor .table-wrap{overflow-x:auto}
  .role-asesor .responsive-table.is-mobile-scroll-table{min-width:760px}
  .role-asesor .responsive-table.is-mobile-scroll-table:has(tbody td[colspan]){min-width:100%}
  .role-asesor .responsive-table:has(tbody td[colspan]) thead{display:none}
  .role-asesor .review-signature-strip>div{padding:12px 14px}
  .role-asesor .assessor-decision-grid{grid-template-columns:1fr}
.role-asesi .page-heading-actions .button,
  .role-asesi .page-heading>.button{width:100%;min-height:42px}
  .role-asesi .page-heading-actions .button:only-child{grid-column:1/-1}
.role-asesi .summary-icon{width:33px;height:33px;flex:0 0 33px}
.role-asesi .summary-rail .summary-note{grid-column:1/-1;min-height:0}
  .role-asesi .assessee-process-context{gap:8px;margin-bottom:12px;padding:10px;border-radius:15px}
  .role-asesi .assessee-process-summary{display:grid;gap:7px}
  .role-asesi .assessee-process-summary .button{justify-self:start;min-height:38px}
  .role-asesi .assessee-process-steps{gap:7px;margin-inline:-2px;scroll-snap-type:x proximity}
  .role-asesi .assessee-process-step{flex:0 0 min(150px,58vw);min-height:54px;scroll-snap-align:start}
  .role-asesi .assessee-process-next{
    display:grid;
    grid-template-columns:34px minmax(0,1fr);
    align-items:center;
    gap:8px 10px;
  }
  .role-asesi .assessee-process-next .button{grid-column:1/-1;width:100%;margin:0}
  .role-asesi .application-context-bar{grid-template-columns:repeat(2,minmax(0,1fr));margin-bottom:12px}
  .role-asesi .application-context-bar>div{padding:11px 12px}
  .role-asesi .application-context-bar>div:last-child:nth-child(odd){grid-column:1/-1}
  .role-asesi .application-context-bar span{font-size:12px}
  .role-asesi .application-context-bar strong{font-size:13px;line-height:1.35}
  .role-asesi .application-context-bar small{font-size:12px;line-height:1.4}
  .role-asesi .guided-workspace.apl-workspace{gap:12px}
  .role-asesi .apl-workspace .wizard-nav{
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:7px;
    margin-inline:0;
    padding:7px;
    overflow:visible;
  }
  .role-asesi .apl-workspace .wizard-nav button{min-width:0;min-height:60px;padding:8px}
  .role-asesi .apl-workspace .wizard-nav button:last-child:nth-child(odd){grid-column:1/-1}
  .role-asesi .profile-summary-card{grid-template-columns:62px minmax(0,1fr);padding:15px;text-align:left}
  .role-asesi .profile-summary-card h2{margin:0;font-size:20px}
  .role-asesi .profile-summary-card>p{grid-column:2}
  .role-asesi .profile-summary-list{
    grid-column:1/-1;
    grid-template-columns:repeat(3,minmax(0,1fr));
    margin-top:12px;
    border:1px solid var(--line-soft);
    border-radius:11px;
  }
  .role-asesi .profile-summary-list>div{display:block;padding:9px;border:0;border-left:1px solid var(--line-soft)}
  .role-asesi .profile-summary-list>div:first-child{border-left:0}
  .role-asesi .profile-summary-list span{font-size:12px}
  .role-asesi .profile-summary-list strong{display:block;max-width:none;margin-top:4px;font-size:12px;text-align:left}
  .role-asesi .profile-summary-card .info-callout{grid-column:1/-1}
  .role-asesi .assessee-schedule-card>header,
  .role-asesi .assessee-schedule-card>footer{gap:10px;padding:14px 15px}
  .role-asesi .assessee-schedule-card h2{font-size:21px}
  .role-asesi .schedule-primary-info{gap:12px;padding:14px 15px}
  .role-asesi .schedule-date-block{width:62px;height:62px;flex-basis:62px}
  .role-asesi .schedule-date-block strong{font-size:25px}
  .role-asesi .assessee-schedule-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .role-asesi .assessee-schedule-grid>div{padding:12px}
  .role-asesi .assessee-schedule-grid>div:last-child:nth-child(odd){grid-column:1/-1}
  .role-asesi .schedule-instructions{margin:12px 15px}
  .role-asesi .ak01-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
  .role-asesi .ak01-summary-grid article{min-height:82px;padding:11px 12px}
  .role-asesi .ak01-agreement-grid{grid-template-columns:1fr}
  .role-asesi .ak01-agreement-grid .span-2{grid-column:auto}
  .role-asesi .assessment-hero{align-items:stretch;gap:13px;padding:16px}
  .role-asesi .assessment-hero h2{font-size:25px}
  .role-asesi .assessment-hero-status{
    grid-template-columns:minmax(0,1fr) auto;
    align-items:center;
    width:100%;
    min-width:0;
    padding:11px 13px;
  }
  .role-asesi .assessment-hero-status span,
  .role-asesi .assessment-hero-status small{grid-column:1}
  .role-asesi .assessment-hero-status strong{grid-column:2;grid-row:1/3;margin:0;font-size:18px;text-align:right}
  .role-asesi .assessment-focus-nav-asesi{
    top:70px;
    display:flex;
    gap:7px;
    margin-inline:-2px;
    overflow-x:auto;
    scroll-snap-type:x proximity;
  }
  .role-asesi .assessment-focus-nav-asesi>a{flex:0 0 min(180px,68vw);scroll-snap-align:start}
  .role-asesi .assessment-current-task-large{grid-template-columns:36px minmax(0,1fr);padding:12px}
  .role-asesi .assessment-current-task-large>span{width:36px;height:36px}
  .role-asesi .assessment-current-task-large .button{grid-column:1/-1;width:100%}
  .role-asesi .candidate-task-card{padding:13px 14px}
  .role-asesi .candidate-response-card>summary{padding:13px 14px}
  .role-asesi .assessment-step-panel{scroll-margin-top:146px}
  .role-asesi .result-hero{align-items:stretch;gap:13px;padding:16px}
  .role-asesi .result-hero>div:last-child{min-width:0;padding:11px 13px;text-align:left}
  .role-asesi .result-detail{padding:13px}
  .role-asesi .certificate-progress{padding:15px}
  .role-asesi .table-wrap{overflow-x:auto}
  .role-asesi .responsive-table.is-mobile-scroll-table{min-width:760px}
  .role-asesi .responsive-table.is-mobile-scroll-table:has(tbody td[colspan]){min-width:100%}
  .role-asesi .responsive-table:has(tbody td[colspan]) thead{display:none}
.role-admin-lsp .page-heading-actions .button,
  .role-admin-lsp .page-heading>.button{width:100%;min-height:42px}
  .role-admin-lsp .page-heading-actions .button:only-child{grid-column:1/-1}
.role-admin-lsp .summary-rail .summary-note{grid-column:1/-1;min-height:0}
  .role-admin-lsp .summary-icon{width:33px;height:33px;flex:0 0 33px}
.role-admin-lsp .compact-metric-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-bottom:12px}
  .role-admin-lsp .compact-metric-grid .metric-card{display:grid;grid-template-columns:38px minmax(0,1fr);gap:10px;min-height:94px;padding:12px}
  .role-admin-lsp .compact-metric-grid .metric-card:last-child:nth-child(odd){grid-column:1/-1}
  .role-admin-lsp .compact-metric-grid .metric-icon{width:38px;height:38px}
  .role-admin-lsp .compact-metric-grid .metric-copy>strong{font-size:25px}
  .role-admin-lsp .filter-bar,.role-admin-lsp .compact-filter-bar{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));width:100%}
  .role-admin-lsp .filter-bar>*{width:100%;min-width:0;max-width:none}
  .role-admin-lsp .filter-bar>.search-control{grid-column:1/-1}
  .role-admin-lsp .filter-bar>.button:only-child{grid-column:1/-1}
  .role-admin-lsp .verification-overview{grid-template-columns:1fr;gap:10px;margin-bottom:10px}
  .role-admin-lsp .verification-score,.role-admin-lsp .application-identity-card{padding:14px 15px}
  .role-admin-lsp .verification-score h2{font-size:20px}
  .role-admin-lsp .verification-sidebar{grid-template-columns:1fr;gap:10px}
  .role-admin-lsp .verification-sidebar>*:last-child:nth-child(odd){grid-column:auto}
  .role-admin-lsp .detail-section .detail-grid{grid-template-columns:1fr;padding:14px 15px}
  .role-admin-lsp .workspace-hero{align-items:stretch;flex-direction:column;padding:17px}
  .role-admin-lsp .workspace-hero>.button{width:100%}
  .role-admin-lsp .workspace-next-action{grid-template-columns:40px minmax(0,1fr);padding:12px}
  .role-admin-lsp .workspace-action-icon{width:40px;height:40px}
  .role-admin-lsp .workspace-next-action>.button{grid-column:1/-1;width:100%}
  .role-admin-lsp .workspace-quick-links{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}
  .role-admin-lsp .workspace-quick-links a{justify-content:center;text-align:center}
  .role-admin-lsp .workspace-facts-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
  .role-admin-lsp .workspace-facts-grid .panel:last-child:nth-child(odd){grid-column:1/-1}
  .role-admin-lsp .cancellation-review-hero{align-items:flex-start;padding:15px 16px}
  .role-admin-lsp .decision-panel{align-items:stretch;flex-direction:column;padding:16px}
  .role-admin-lsp .decision-actions{display:grid;grid-template-columns:1fr 1fr;width:100%}
  .role-admin-lsp .decision-actions .button{width:100%}
  .role-admin-lsp .archive-heading-actions{display:grid;grid-template-columns:1fr;width:100%}
  .role-admin-lsp .archive-more-filter-grid{grid-template-columns:1fr}
  .role-admin-lsp .archive-filter-actions{grid-column:1/-1}
  .role-admin-lsp .certificate-table{min-width:900px}
  .role-admin-lsp .certificate-record-table{min-width:700px}
  .role-admin-lsp .report-filter-grid{grid-template-columns:1fr}
  .role-admin-lsp .report-metric-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
  .role-admin-lsp .report-metric-grid article{min-height:98px;padding:12px}
  .role-admin-lsp .report-two-column{grid-template-columns:1fr;gap:12px}
  .role-admin-lsp .table-wrap{overflow-x:auto}
  .role-admin-lsp .responsive-table:has(tbody td[colspan]) thead{display:none}
.role-koordinator-tuk .page-heading-actions .button,
  .role-koordinator-tuk .page-heading>.button{width:100%;min-height:42px}
.role-koordinator-tuk .assignment-toolbar{align-items:stretch;gap:9px;margin-bottom:12px;padding:11px 12px}
  .role-koordinator-tuk .assignment-toolbar .filter-bar,.role-koordinator-tuk .assignment-toolbar .filter-bar label{width:100%}
  .role-koordinator-tuk .assignment-toolbar>.status-badge{align-self:flex-start}
  .role-koordinator-tuk .readiness-hero{gap:12px;margin-bottom:12px;padding:16px}
  .role-koordinator-tuk .readiness-hero-copy :is(h1,h2){font-size:27px}
  .role-koordinator-tuk .readiness-hero-copy p{font-size:13px;line-height:1.5}
  .role-koordinator-tuk .readiness-score-card{
    display:grid;
    grid-template-columns:minmax(0,1fr) auto;
    align-items:center;
    gap:7px 12px;
    padding:12px 14px;
  }
  .role-koordinator-tuk .readiness-score-card>span{grid-column:1;grid-row:1}
  .role-koordinator-tuk .readiness-score-card>strong{grid-column:2;grid-row:1;margin:0;font-size:33px}
  .role-koordinator-tuk .readiness-score-card>strong small{font-size:13px}
  .role-koordinator-tuk .readiness-progress{grid-column:1/-1;grid-row:2}
  .role-koordinator-tuk .readiness-score-card>small{grid-column:1/-1;grid-row:3;margin:0}
  .role-koordinator-tuk .readiness-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-bottom:12px}
  .role-koordinator-tuk .readiness-summary-grid article{min-height:79px;padding:11px 12px}
  .role-koordinator-tuk .readiness-summary-grid strong{font-size:18px}
  .role-koordinator-tuk .bulk-check-toolbar{align-items:stretch;flex-direction:column;padding:11px 12px}
  .role-koordinator-tuk .bulk-check-toolbar .button{width:100%}
  .role-koordinator-tuk .bulk-check-status{max-width:none;text-align:left}
  .role-koordinator-tuk [data-tuk-bulk-form] .data-table :is(select,textarea){min-width:0;width:100%}
  .role-koordinator-tuk [data-tuk-bulk-form] .data-table td{min-width:0}
  .role-koordinator-tuk .panel-footer-actions{align-items:stretch;flex-direction:column-reverse;padding:12px}
  .role-koordinator-tuk .panel-footer-actions .button{width:100%}
  .role-koordinator-tuk .readiness-approval-panel{align-items:stretch;flex-direction:column;padding:16px}
  .role-koordinator-tuk .readiness-approval-panel .button{width:100%}
  .role-koordinator-tuk .signed-readiness-panel{align-items:flex-start;padding:14px}
.role-tim-keputusan .page-heading>.filter-bar{
    display:grid;
    grid-template-columns:minmax(0,1fr) auto;
    flex:none;
    width:100%;
  }
  .role-tim-keputusan .page-heading>.filter-bar :is(select,.custom-select-control,.button){min-width:0;max-width:none;width:100%}
  .role-tim-keputusan .page-heading>.filter-bar .button{min-width:92px}
  .role-tim-keputusan .decision-workspace{gap:12px;min-width:0}
.role-tim-keputusan .decision-hero{align-items:stretch;gap:12px;padding:16px}
  .role-tim-keputusan .decision-hero h2{font-size:27px}
  .role-tim-keputusan .recommendation-result{min-width:0;width:100%;text-align:left}
  .role-tim-keputusan .decision-summary-grid{grid-template-columns:minmax(0,1fr);gap:8px;padding:12px}
  .role-tim-keputusan .decision-summary-grid article.span-2{grid-column:auto}
  .role-tim-keputusan .decision-action-panel{align-items:stretch;flex-direction:column;padding:16px}
  .role-tim-keputusan .decision-action-panel .button{width:100%;min-height:44px}
  .role-tim-keputusan .decision-final-note{padding:0 15px 15px}
  .role-tim-keputusan .signature-status-grid.single{grid-template-columns:minmax(0,1fr);padding:0 15px 15px}
.role-ketua-lsp .page-heading-with-actions{grid-template-columns:minmax(0,1fr)}
  .role-ketua-lsp .segmented-nav{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    width:100%;
  }
  .role-ketua-lsp .segmented-nav .button{width:100%}
  .role-ketua-lsp .process-guidance{
    grid-template-columns:38px minmax(0,1fr);
    gap:10px;
    padding:12px 13px;
  }
  .role-ketua-lsp .process-guidance>.summary-icon{grid-row:1;width:38px;height:38px}
  .role-ketua-lsp .process-guidance>div{grid-column:2}
  .role-ketua-lsp .process-guidance .button{grid-column:1/-1;width:100%}
  .role-ketua-lsp .process-guidance h2{font-size:13px;line-height:1.35}
  .role-ketua-lsp .process-guidance p{font-size:12px;line-height:1.45}
.role-ketua-lsp .summary-rail .summary-note{grid-column:1/-1}
  .role-ketua-lsp .scheme-review-header{
    grid-template-columns:minmax(0,1fr);
    padding:16px;
  }
  .role-ketua-lsp .review-detail-grid{grid-template-columns:minmax(0,1fr)}
  .role-ketua-lsp .approval-hero{
    grid-template-columns:minmax(0,1fr);
    gap:14px;
    min-height:0;
    padding:18px;
  }
  .role-ketua-lsp .approval-seal{
    justify-self:start;
    width:auto;
    height:auto;
    min-height:46px;
    padding:10px 14px;
    border-radius:13px;
  }
  .role-ketua-lsp .approval-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .role-ketua-lsp .approval-primary-action{
    align-items:stretch;
    flex-direction:column;
    padding:16px;
  }
  .role-ketua-lsp .approval-primary-action .decision-actions{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    width:100%;
  }
  .role-ketua-lsp .approval-primary-action .decision-actions .button{width:100%}
  .role-ketua-lsp.page-muk-approval .approval-workspace .table-wrap{overflow-x:auto}
  .role-ketua-lsp.page-muk-approval .approval-workspace .responsive-table.is-mobile-scroll-table{
    min-width:720px;
  }
  .role-ketua-lsp.page-muk-approval .approval-queue .responsive-table.is-mobile-scroll-table{
    min-width:100%;
  }
  .role-ketua-lsp :is(.decision-hero,.certificate-hero){
    grid-template-columns:minmax(0,1fr);
    padding:17px;
  }
  .role-ketua-lsp :is(.decision-action-panel,.certificate-action-panel){
    align-items:stretch;
    flex-direction:column;
    padding:16px;
  }
  .role-ketua-lsp :is(.decision-action-panel,.certificate-action-panel) .button{width:100%}
  .role-ketua-lsp .detail-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .role-ketua-lsp .report-filter{grid-template-columns:minmax(0,1fr)}
  .role-ketua-lsp .performance-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}
  .role-ketua-lsp .report-columns{grid-template-columns:minmax(0,1fr)}
.role-manajer-mutu .process-guidance{grid-template-columns:38px minmax(0,1fr);gap:10px;padding:12px 13px}
  .role-manajer-mutu .process-guidance>.summary-icon{grid-row:1;width:38px;height:38px}
  .role-manajer-mutu .process-guidance>div{grid-column:2}
  .role-manajer-mutu .process-guidance .button{grid-column:1/-1;width:100%}
  .role-manajer-mutu .process-guidance h2{font-size:13px;line-height:1.35}
  .role-manajer-mutu .process-guidance p{font-size:12px;line-height:1.45}
.role-manajer-mutu .summary-rail .summary-note{grid-column:1/-1;min-height:0}
  .role-manajer-mutu .summary-icon{width:34px;height:34px;flex:0 0 34px}
.role-manajer-mutu .filter-bar{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));width:100%}
  .role-manajer-mutu .filter-bar>.search-control{grid-column:1/-1}
  .role-manajer-mutu .filter-bar>.button{width:100%}
  .role-manajer-mutu .compact-filter-bar{grid-template-columns:minmax(0,1fr) auto}
  .role-manajer-mutu .quality-gates{grid-template-columns:repeat(2,minmax(0,1fr))}
  .role-manajer-mutu .quality-gates article{min-height:84px;padding:12px}
  .role-manajer-mutu .validation-hero{grid-template-columns:minmax(0,1fr);padding:17px}
  .role-manajer-mutu .validation-hero>.status{justify-self:start}
  .role-manajer-mutu .validation-metrics{grid-template-columns:repeat(3,minmax(0,1fr))}
  .role-manajer-mutu .recommendation-hero{align-items:stretch;flex-direction:column;padding:17px}
  .role-manajer-mutu .recommendation-result{width:100%;min-width:0}
  .role-manajer-mutu .recommendation-read-grid{grid-template-columns:minmax(0,1fr);padding:12px}
  .role-manajer-mutu .panel-footer-actions{align-items:stretch;flex-direction:column;padding:12px}
  .role-manajer-mutu .panel-footer-actions .button{width:100%}
  .role-manajer-mutu .signature-status-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .role-manajer-mutu .signature-status-grid article{min-height:130px;padding:13px}
  .role-manajer-mutu .signature-status-grid img{width:100%;height:62px}
  .role-manajer-mutu .cancellation-review-hero{align-items:flex-start;flex-direction:column;padding:16px}
  .role-manajer-mutu .decision-panel{align-items:stretch;flex-direction:column;padding:16px}
  .role-manajer-mutu .decision-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));width:100%}
  .role-manajer-mutu .decision-actions .button{width:100%}
  .role-manajer-mutu .case-hero{align-items:flex-start;flex-direction:column;padding:17px}
  .role-manajer-mutu .case-hero>div:last-child{text-align:left}
  .role-manajer-mutu .case-reply-form{padding:14px}
  .role-manajer-mutu .case-reply-form .button{width:100%}
  .role-manajer-mutu .case-action-panel{align-items:stretch;flex-direction:column;padding:16px}
  .role-manajer-mutu .case-action-panel .button{width:100%}
  .role-manajer-mutu.page-muk-validation :is(.table-wrap,.table-scroll){overflow-x:auto}
  .role-manajer-mutu.page-muk-validation .responsive-table.is-mobile-scroll-table{min-width:720px}
  .role-manajer-mutu.page-muk-validation .validation-queue .responsive-table.is-mobile-scroll-table{min-width:100%}
:root{--ds-base-page-gap:11px;--ds-base-control-height:46px}
  .app-body.sakti-ui .content{padding:12px 10px calc(20px + env(safe-area-inset-bottom))}
  .app-body.sakti-ui .page-stage{gap:11px}
  .app-body.sakti-ui .topbar{padding-inline:10px}
  .app-body.sakti-ui .topbar-context .breadcrumb{max-width:min(54vw,320px)}
  .app-body.sakti-ui .role-state,
  .app-body.sakti-ui .system-state{display:none}
  .app-body.sakti-ui .account-copy{display:none}
  .app-body.sakti-ui .account-trigger{padding:4px;gap:0;border-color:transparent;background:transparent}
  .app-body.sakti-ui .account-trigger>.ui-icon{display:none}

  .app-body.sakti-ui .page-heading{
    gap:13px;
    padding:15px 14px 14px 16px;
    border-radius:15px;
  }
  .app-body.sakti-ui .page-heading::before{inset:11px auto;width:3px}
  .app-body.sakti-ui :is(.page-heading-actions,.heading-actions){display:grid;grid-template-columns:1fr;width:100%;gap:7px}
  .app-body.sakti-ui .page-heading-actions .button,
  .app-body.sakti-ui .page-heading>form,
  .app-body.sakti-ui .page-heading>form .button,
  .app-body.sakti-ui .page-heading>.button{width:100%}

  .app-body.sakti-ui :is(.panel,.metric-card,.scheme-card,.application-card,.assessor-assignment-card,.tuk-schedule-card){border-radius:14px}
  .app-body.sakti-ui .panel-head{padding:14px}
  .app-body.sakti-ui .panel-head-responsive{align-items:stretch;flex-direction:column}
  .app-body.sakti-ui .panel-head-responsive>:is(form,.filter-bar,.row-actions,.table-actions){width:100%}

  .app-body.sakti-ui .summary-rail{grid-template-columns:1fr 1fr;gap:7px}
  .app-body.sakti-ui .summary-rail article{min-height:66px;padding:10px 11px;border-radius:12px}
  .app-body.sakti-ui .summary-rail article.summary-note{grid-column:1/-1;min-height:0}
  .app-body.sakti-ui .summary-rail strong{font-size:21px}

  .app-body.sakti-ui .button{padding-inline:13px;white-space:normal}
  .app-body.sakti-ui .row-actions .icon-button{width:40px;height:40px}
  .app-body.sakti-ui .filter-bar{display:grid;grid-template-columns:1fr;gap:7px;width:100%}
  .app-body.sakti-ui .filter-bar>*{width:100%;min-width:0}

  .app-body.sakti-ui .table-wrap,
  .app-body.sakti-ui .table-scroll{overflow:auto hidden;-webkit-overflow-scrolling:touch}
  .app-body.sakti-ui table.responsive-table{display:table;width:max-content;min-width:100%;table-layout:auto}
  .app-body.sakti-ui table.responsive-table :is(thead,tbody,tr,th,td){display:revert}
  .app-body.sakti-ui table.responsive-table td::before{content:none;display:none}
  .app-body.sakti-ui .data-table thead th{padding:9px 10px;white-space:nowrap}
  .app-body.sakti-ui .data-table tbody td{padding:10px;white-space:normal}
  .app-body.sakti-ui .table-action{position:static}

  .app-body.sakti-ui .process-guidance{grid-template-columns:34px minmax(0,1fr);padding:11px 12px}
  .app-body.sakti-ui .process-guidance>.button{grid-column:1/-1;width:100%}
  .app-body.sakti-ui .process-guidance-icon{width:34px;height:34px}

  .app-body.sakti-ui .role-focus-wizard{border-radius:14px}
  .app-body.sakti-ui .role-focus-wizard-head{padding:12px 12px 9px}
  .app-body.sakti-ui .role-focus-wizard-actions{display:grid;grid-template-columns:1fr 1fr;gap:6px}
  .app-body.sakti-ui .role-focus-wizard-actions:has(> :only-child){grid-template-columns:1fr}
  .app-body.sakti-ui .role-focus-wizard-actions .button,
  .app-body.sakti-ui .role-focus-wizard-actions .is-disabled{width:100%;min-height:38px}
  .app-body.sakti-ui .role-focus-wizard-track{padding:6px}
  .app-body.sakti-ui .role-focus-step{flex-basis:142px;min-height:50px}

  .app-body.sakti-ui .focus-panel-nav{position:static;gap:5px;padding:5px;border-radius:11px;box-shadow:none}
  .app-body.sakti-ui .focus-panel-nav>button{min-height:38px}
  .app-body.sakti-ui .focus-panel-footer{display:grid;grid-template-columns:1fr;gap:7px}
  .app-body.sakti-ui .focus-panel-footer .button{width:100%}
  .app-body.sakti-ui .focus-panel-footer>small{grid-row:1;max-width:none;text-align:left}

  .app-body.sakti-ui .modal-layer{align-items:flex-end;padding:0}
  .app-body.sakti-ui .modal-dialog,
  .app-body.sakti-ui .modal-dialog.modal-wide{width:100%;max-height:calc(100dvh - 6px);border-radius:18px 18px 0 0}
  .app-body.sakti-ui .modal-head{padding:14px 13px 12px}
  .app-body.sakti-ui .modal-head h2{font-size:20px}
  .app-body.sakti-ui .modal-body{padding:13px 13px 0}
  .app-body.sakti-ui .modal-actions{grid-template-columns:1fr;margin:13px -13px 0;padding:11px 13px calc(11px + env(safe-area-inset-bottom))}
  .app-body.sakti-ui .modal-actions .button{width:100%;min-width:0}

  .app-body.sakti-ui .dashboard-hero{min-height:0;padding:24px 18px;border-radius:16px}
  .app-body.sakti-ui .dashboard-hero h1{font-size:34px}
  .app-body.sakti-ui .metric-grid{grid-template-columns:1fr 1fr;gap:8px}
  .app-body.sakti-ui .metric-card{grid-template-columns:38px minmax(0,1fr);min-height:96px;padding:13px;gap:10px}
  .app-body.sakti-ui .metric-icon{width:38px;height:38px;border-radius:11px}
  .app-body.sakti-ui .metric-copy>strong{font-size:26px}
.app-body.sakti-ui :is(.form-grid-2,.form-grid-3,.assessor-decision-grid,.muk-workspace-detail-grid,.readiness-summary-grid,.ak01-summary-grid){grid-template-columns:1fr}
  .app-body.sakti-ui .field-span-2{grid-column:auto}
  .app-body.sakti-ui :is(.split-actions,.panel-head-responsive,.candidate-practice-upload-head,.assessment-person-context,.assessment-objective-summary){align-items:stretch;flex-direction:column}
  .app-body.sakti-ui :is(.split-actions,.candidate-practice-upload-head,.assessment-person-context)>.button{width:100%}
  .app-body.sakti-ui .assessment-context-meta{justify-content:flex-start;width:100%}
  .app-body.sakti-ui .assessment-context-meta>span{flex:1 1 120px}
  .app-body.sakti-ui .candidate-practice-upload-form{grid-template-columns:1fr}
  .app-body.sakti-ui .candidate-practice-upload-form .button{width:100%}
:root{--footer-height:52px;--ds-shell-footer-safe-gap:24px}
  .app-body.sakti-ui .topbar{min-height:58px;border-radius:15px}
  .app-body.sakti-ui .app-footer{
    grid-template-columns:minmax(0,1fr) auto;
    align-items:center;
    gap:10px;
    min-height:var(--footer-height);
    padding:8px 11px;
    border-radius:15px;
  }
  .app-body.sakti-ui .app-footer>div{display:flex;flex-wrap:nowrap;gap:6px}
  .app-body.sakti-ui .app-footer>div:first-child span,
  .app-body.sakti-ui .app-footer>div:last-child span{display:none}
  .app-body.sakti-ui .app-footer span+small{padding-left:0;border-left:0}

  /* Three setup stages stay compact instead of becoming three large stacked cards. */
  .app-body.sakti-ui .account-setup-wizard{
    display:flex;
    grid-template-columns:none;
    gap:5px;
    padding:5px;
    overflow-x:auto;
    overscroll-behavior-inline:contain;
    scroll-snap-type:x proximity;
    scrollbar-width:thin;
  }
  .app-body.sakti-ui .account-setup-step{
    flex:0 0 min(78vw,220px);
    min-height:50px;
    scroll-snap-align:start;
  }
  .app-body.sakti-ui .account-setup-copy small{display:none!important}
  .app-body.sakti-ui .account-setup-step .status-badge{font-size:12px}
:root{
    --ds-type-body:var(--ds-type-body-mobile);
    --ds-type-copy:14.5px;
    --ds-type-small:13px;
    --ds-type-label:14px;
    --ds-type-control:16px;
    --ds-type-table:14px;
    --ds-type-table-head:12px;
  }
  .app-body.sakti-ui{font-size:var(--ds-type-body-mobile);line-height:1.62}
  .app-body.sakti-ui h1{font-size:29px;line-height:1.14}
  .app-body.sakti-ui h2{font-size:20px;line-height:1.34}
  .app-body.sakti-ui h3{font-size:17px;line-height:1.4}
  .app-body.sakti-ui .page-heading h1,
  .app-body.sakti-ui .page-heading-compact h1{font-size:28px;line-height:1.14}
  .app-body.sakti-ui .page-heading p{font-size:14px;line-height:1.6}
  .app-body.sakti-ui .panel-head p{font-size:13.5px;line-height:1.58}
  .app-body.sakti-ui .button{min-height:46px;font-size:14px}
  .app-body.sakti-ui .button-small{min-height:40px;font-size:12.5px}
  .app-body.sakti-ui .data-table thead th{font-size:12px;line-height:1.4}
  .app-body.sakti-ui .data-table tbody td{font-size:13.5px;line-height:1.52}
  .app-body.sakti-ui .role-focus-wizard-copy strong{font-size:13.5px}
  .app-body.sakti-ui .role-focus-wizard-copy p{font-size:12px}
  .app-body.sakti-ui .role-focus-step>strong{font-size:12px}
  .app-body.sakti-ui .role-focus-step>small{font-size:12px}
  .app-body.sakti-ui .focus-panel-nav>button>strong{font-size:12px}
  .app-body.sakti-ui .account-setup-copy strong{font-size:13px}
  .app-body.sakti-ui .account-setup-copy small{font-size:12px}
.admin-reset-disclosure>summary{padding:13px 14px}.admin-reset-disclosure-body{padding:13px 14px 14px}
.app-body.sakti-ui .process-guidance-info .process-guidance-copy > p{display:none}
.muk-profile-list{grid-template-columns:1fr}.muk-profile-list-item small{white-space:normal}
.modal-layer{padding:10px;align-items:flex-end}
    .modal-dialog,.modal-dialog.modal-wide{width:100%;max-height:calc(var(--modal-viewport-height,100dvh) - 10px);border-radius:20px 20px 10px 10px}
    .modal-head{padding-left:18px;padding-right:18px}
    .modal-body{padding-right:18px;padding-left:18px}
    .modal-actions{bottom:0;display:grid;grid-template-columns:1fr 1fr;margin-right:-18px;margin-left:-18px;padding-right:18px;padding-left:18px}
    .modal-actions .button{min-width:0}
    .swal2-container{padding:14px}
    .swal2-popup{grid-template-columns:1fr;padding:21px}
    .swal2-icon{width:44px;height:44px}
    .swal2-actions{grid-column:1}
    .unit-hero{flex-direction:column}
    .kuk-row{grid-template-columns:52px minmax(0,1fr)}
    .kuk-row>.row-actions{grid-column:2}
.scheme-review-identity{align-items:flex-start;flex-direction:column}
    .review-unit-head,.review-element-card{padding-left:17px;padding-right:17px}
    .review-kuk-list{margin-left:0}
    .review-kuk-list>div{grid-template-columns:52px minmax(0,1fr)}
.workflow-tabs{grid-template-columns:1fr}.workflow-guidance{align-items:stretch;flex-direction:column}.workflow-guidance .button{width:100%}.notification-card{grid-template-columns:auto minmax(0,1fr);padding:.9rem}.notification-arrow{display:none}.full-workflow-timeline,.workspace-facts-grid{grid-template-columns:1fr}.workspace-hero{padding:1.2rem}.workspace-hero>.button{width:100%}.workspace-next-action{grid-template-columns:1fr}.workspace-action-icon{width:2.8rem;height:2.8rem}.workspace-quick-links{display:grid;grid-template-columns:1fr 1fr}.workspace-quick-links a{justify-content:flex-start}.workflow-timeline-step{padding:.75rem}
.table-first{min-width:680px}
  .table-scroll{border-radius:0 0 var(--composition-radius) var(--composition-radius)}
  .table-progress{min-width:118px}
  .table-progress>span{width:68px}
  .data-page-size-toolbar{padding-inline:12px}
.readiness-hero{padding:20px}
  .readiness-hero-copy :is(h1,h2){font-size:28px}
  .readiness-score-card{max-width:none}
  .process-guidance,.next-handoff,.prerequisite-blocker{grid-template-columns:1fr;padding:14px}
  .process-guidance-icon,.next-handoff-icon,.prerequisite-blocker>span{width:38px;height:38px}
  .readiness-step{grid-template-columns:auto minmax(0,1fr);align-items:start;padding:14px}
  .readiness-step-action{grid-column:1/-1}
  .readiness-step-action .button{width:100%}
  .service-flow-grid{grid-template-columns:1fr}
  .service-flow-grid article{border-right:0}
.source-instrument-summary>.table-actions{width:100%;display:grid}.source-instrument-summary>.table-actions form,.source-instrument-summary>.table-actions .button{width:100%}.docx-question-preview-list article{grid-template-columns:2rem minmax(0,1fr);padding:.75rem}
:root{--ui-world-gap:14px}
  .app-body .page-heading{min-height:0;padding:18px}
  .app-body .page-heading h1{font-size:28px}
  .app-body .page-heading-with-actions{align-items:stretch;flex-direction:column}
  .app-body .page-heading-with-actions>:not(:first-child){width:100%}
  .app-body .page-heading-with-actions>:is(.button,.status-badge),.app-body .page-heading-with-actions>form>.button{width:100%}
  .app-body :is(.page-heading-actions,.heading-actions,.segmented-nav){justify-content:stretch;width:100%}
  .app-body :is(.page-heading-actions,.heading-actions,.segmented-nav)>.button{flex:1 1 auto}
  .app-body .panel-head{min-height:0;padding:16px}
  .app-body :is(.assessment-hero,.ak01-hero,.recommendation-hero,.decision-hero,.certificate-hero,.case-hero,.result-hero){min-height:0;padding:19px}
  .app-body .data-table tbody td{padding:11px 12px}
  .app-body .modal-head,.app-body .modal-body,.app-body .modal-actions{padding-left:17px;padding-right:17px}
  .app-body .panel-footer-actions{align-items:stretch;flex-direction:column}
  .app-body .panel-footer-actions .button{width:100%}
.checkbox-grid{grid-template-columns:1fr}.dynamic-field-row-actions{align-items:stretch;flex-direction:column}.dynamic-field-row-actions .button{width:100%}
:root{--premium-shadow:0 1px 2px rgba(8,29,42,.035),0 8px 22px rgba(8,29,42,.05)}
  .app-body .page-heading{border-radius:16px}
  .app-body .page-heading::after{top:-120px;right:-100px}
  .app-body .modal-dialog{border-radius:17px}
  .app-body :is(.dashboard-hero,.assessment-hero,.ak01-hero,.recommendation-hero,.decision-hero,.certificate-hero,.case-hero,.result-hero){box-shadow:0 14px 36px rgba(7,25,37,.13)}
.source-instrument-summary{padding:18px}
  .source-instrument-list article{grid-template-columns:auto minmax(0,1fr);padding:14px}
  .source-instrument-list article>.status{grid-column:2;justify-self:start}
  .instrument-review-row{padding:16px}
  .instrument-quick-form{grid-template-columns:1fr}
  .instrument-review-state{display:grid}
  .mapping-quick-actions{display:grid;grid-template-columns:1fr}
  .mapping-quick-actions .button,.unit-scope-form>footer .button{width:100%}
  .unit-scope-form{padding:14px}
  .precise-mapping-details>summary{padding:14px}
.assessee-process-context{padding:12px;border-radius:18px}.assessee-process-summary{display:grid}.assessee-process-summary .button{justify-self:start}.assessee-process-next .button{width:100%;margin-left:0}.assessee-process-step{flex-basis:148px}
.role-focus-wizard{padding:10px;border-radius:14px}.role-focus-wizard-copy p{display:none}.role-focus-wizard-actions{gap:5px}.role-focus-wizard-actions .button{min-height:36px;padding-inline:9px}
  .role-focus-step{flex-basis:118px}.focus-master-detail-toolbar{position:sticky;top:var(--content-toolbar-sticky-top,6px);z-index:8}
  .focus-panel-nav{margin-inline:-2px}.focus-panel-nav button{min-width:118px}.focus-panel-footer{flex-wrap:wrap}.focus-panel-footer small{order:-1;width:100%}
.role-focus-step{grid-template-columns:24px minmax(78px,1fr);min-width:132px;max-width:168px}
  .role-focus-step>span{width:24px;height:24px}
  .role-focus-step>small{font-size:12px}
}

@media (max-width:600px){
.assessment-flow-row{grid-template-columns:56px minmax(0,1fr);gap:10px;padding:11px}
  .assessment-flow-position input{width:52px}
  .assessment-flow-actions{padding-left:66px}
  .assessment-flow-save{align-items:stretch;flex-direction:column}
  .assessment-flow-save .button{width:100%}
  .assessment-objective-summary{align-items:flex-start;flex-direction:column}
  .assessment-observation-form{padding:10px}
  .observation-checklist-item{padding:10px}
  .observation-choice-group{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));width:100%}
  .observation-choice-group span{justify-content:center;padding:7px 5px;text-align:center}
.assessment-phase-guide{padding:14px}.assessment-current-task{grid-template-columns:36px minmax(0,1fr);padding:12px}.assessment-current-task>span{width:36px;height:36px}.assessment-current-task .button{grid-column:1/-1;width:100%}.assessment-phase-step{flex-basis:190px}
.muk-scope-option{grid-template-columns:auto minmax(0,1fr)}.muk-scope-option em{grid-column:2;justify-self:start}.muk-bulk-mapping .heading-badge{display:none}
:root{--topbar-height:66px;--sidebar-width:min(88vw,310px)}
    .sidebar{padding:15px 12px 12px}.sidebar-brand{padding-bottom:14px}.sidebar-context{margin-top:12px}.sidebar-foot{display:none}.menu-button{margin-right:3px}.topbar-icon{width:38px;height:38px}.notification-dot{top:7px;right:7px}.account-trigger{min-width:42px}.account-menu{position:fixed;right:10px;left:10px;width:auto}.app-footer>div{flex-wrap:wrap}
    h1{font-size:clamp(31px,10vw,38px)}.page-heading p{font-size:14px}.filter-bar{grid-template-columns:1fr}.filter-bar>*{grid-column:auto}.filter-bar .button{width:100%}
    .context-selector{padding:14px}
    .muk-card-body,.task-metrics,.validation-metrics{grid-template-columns:1fr}.muk-stat,.task-metrics div,.validation-metrics>div{display:flex;align-items:center;justify-content:space-between;gap:10px}.muk-stat strong,.task-metrics strong,.validation-metrics strong{font-size:19px}.muk-stat span,.task-metrics span,.validation-metrics span{text-align:right}
    .team-card{grid-template-columns:1fr}.team-card-actions{grid-column:auto}.team-number{width:42px;height:42px}
    .wizard-nav button{min-width:142px;grid-template-columns:30px minmax(0,1fr);padding:9px}.wizard-nav button>span{width:30px;height:30px}.wizard-nav small{display:none}
    .instrument-grid{gap:12px}.instrument-card{padding:16px}.document-list{padding:0 14px 14px}.document-list>div{grid-template-columns:34px minmax(0,1fr) auto}.document-list small{white-space:normal}
    .criterion-selector{padding:14px}.mapping-card>header,.mapping-card>footer{padding-right:14px;padding-left:14px}
    .team-inline,.approval-team{grid-template-columns:1fr}
    .review-score-card{align-items:flex-start;flex-direction:column}.review-instrument-list>article{padding:16px}.review-instrument-list header{flex-direction:column}.review-instrument-list dl{gap:8px}
    .validation-queue nav,.approval-queue nav{grid-template-columns:1fr}.validation-hero{grid-template-columns:1fr}.validation-hero>.status{justify-self:start}
    .approval-instruments article,.quality-instruments header{grid-template-columns:1fr;align-items:start;padding:12px 0}.approval-instruments .status,.quality-instruments .status{justify-self:start}
    .modal-layer{padding:0;align-items:flex-end}.modal-dialog,.modal-dialog.modal-wide{max-height:var(--modal-viewport-height,100dvh)}.modal-head{padding:18px 15px 14px}.modal-body{padding:16px 15px 0;scroll-padding-bottom:124px}.modal-actions{bottom:0;grid-template-columns:1fr;margin:auto -15px 0;padding:14px 15px calc(14px + env(safe-area-inset-bottom))}.modal-actions .button{width:100%}
    .swal2-container{padding:10px}.swal2-popup{width:100%;padding:18px}.swal2-actions{display:grid;grid-template-columns:1fr;width:100%}.swal2-actions button{width:100%}
    .login-page{display:block}
    .login-shell{border:0;border-radius:0}
    .login-identity{min-height:315px;padding:28px 20px 26px}
    .login-brand-centered{gap:22px}
    .login-brand-copy-centered{gap:7px}
    .login-brand-institution{font-size:32px}
    .login-access{padding:36px 20px}
.profile-summary-card{grid-template-columns:62px minmax(0,1fr);padding:18px}.profile-avatar-large{width:62px;height:62px;flex-basis:62px;border-radius:16px;font-size:22px}.profile-summary-list{grid-template-columns:1fr}.profile-summary-list>div{border-top:1px solid var(--line-soft);border-left:0}.profile-summary-list>div:first-child{border-top:0}
    .form-actions,.form-actions-sticky{align-items:stretch;flex-direction:column-reverse}.form-actions .button,.form-actions-sticky .button{width:100%}.form-hint{margin:0;text-align:center}
    .application-card{padding:18px}.application-card h2{font-size:21px}
    .application-context-bar>div{padding:14px 15px}
    .apl-workspace .wizard-nav{grid-template-columns:repeat(4,minmax(145px,1fr));margin-right:-12px;margin-left:-12px;padding-right:12px;padding-left:12px}.apl-workspace .wizard-nav button{min-width:145px}
    .requirement-grid{gap:12px}.requirement-card{padding:16px}.requirement-card>header{grid-template-columns:36px minmax(0,1fr)}.requirement-icon{width:36px;height:36px}.requirement-title{align-items:flex-start;flex-direction:column;gap:5px}
    .declaration-panel{padding:17px}.declaration-panel>header{flex-direction:column}
    .admin-document-row{grid-template-columns:34px minmax(0,1fr);padding:14px}.admin-document-actions{grid-column:1/-1;justify-content:stretch}.admin-document-actions .button{flex:1}.admin-document-actions .status-badge{width:100%;justify-content:center}
    .filter-bar.compact-filter-bar{grid-template-columns:1fr}.compact-filter-bar label:first-child{grid-column:auto}
    .info-callout,.revision-banner{flex-wrap:wrap}.info-callout>.button{width:100%}
.signature-canvas-wrap canvas{min-height:180px}.signature-current-card,.signature-canvas-form{padding:14px}.signature-profile-panel .form-actions{flex-direction:column}.signature-delete-form .button{width:100%}.apl02-unit>summary{align-items:flex-start;flex-direction:column}.apl02-unit>summary>div{align-items:flex-start;flex-direction:column}.self-assessment-choice{grid-template-columns:1fr}.review-answer{grid-template-columns:1fr}.review-answer .self-value{width:100%;height:38px}.evidence-map>div{display:grid}.check-pill span{text-align:center}.decision-card{padding:15px}
.approval-signature-choice>div{align-items:flex-start;flex-direction:column}.approval-signature-choice img{width:100%;max-height:82px}
.schedule-stat-grid article,.schedule-workspace-head,.readiness-hero,.assessor-assignment-card,.tuk-schedule-card{padding:16px}.schedule-gate-grid,.readiness-summary-grid{grid-template-columns:1fr}.schedule-participant-list>article,.checklist-item{grid-template-columns:1fr;padding:15px}.participant-avatar,.check-state-icon{justify-self:start}.participant-actions,.checklist-actions{justify-content:stretch}.participant-actions .button,.participant-actions form,.participant-actions button,.checklist-actions button,.checklist-actions form{width:100%}.tuk-schedule-meta{grid-template-columns:1fr}.tuk-schedule-meta>div:last-child{grid-column:auto}.schedule-primary-info{padding:16px}.schedule-date-block{flex-basis:66px;width:66px;height:66px}.schedule-instructions{margin:14px 16px}.assessee-schedule-card>header,.assessee-schedule-card>footer{padding:16px}.readiness-mini{align-items:flex-start;flex-direction:column}.readiness-mini progress{width:100%}.split-actions{flex-direction:column}.split-actions .button{width:100%}
.brand-logo{width:54px;height:54px}.login-brand-logo{width:88px;height:88px}.ak01-plan-card,.ak01-item-list article{padding:14px}.ak01-summary-grid article{padding:14px}.ak01-agreement-grid article{padding:16px}.ak01-item-meta{align-items:stretch;flex-direction:column}.ak01-item-meta span{border-radius:8px}.signature-status-grid article{min-height:160px}.logo-preview{min-height:180px;margin:0 15px 16px}.logo-upload-form,.logo-manager>form:last-child{padding:0 15px}
.assessment-summary-rail{grid-template-columns:1fr}.assessment-hero h2{font-size:28px}.evidence-list>article,.evidence-library-grid>article{grid-template-columns:auto minmax(0,1fr)}.evidence-list .row-actions,.evidence-library-grid .row-actions{grid-column:1/-1;justify-content:flex-end}.import-guide-panel .button{width:100%}.preview-counts{align-items:flex-start;flex-direction:column}.assessment-kuk-outcome{flex-wrap:wrap}
.recommendation-hero{padding:20px}.recommendation-hero h2{font-size:26px}.recommendation-unit-list>article,.quality-checklist>article{padding:14px}.page-heading-actions{align-items:stretch;flex-direction:column}
.decision-hero,.result-hero{padding:20px}.decision-action-panel{padding:18px}.decision-action-panel .button{width:100%}.clarification-list>article{padding:15px}.result-detail{padding:14px}.page-heading-actions .button{width:100%}
.muk-context-shell .muk-workflow-tabs{grid-template-columns:1fr}.muk-context-shell .muk-workflow-tabs>a{padding:12px}.muk-next-action{grid-template-columns:1fr}.muk-next-icon{width:42px;height:42px}.muk-flow-card{padding:15px}.muk-identity-facts,.muk-progress-metrics{grid-template-columns:1fr}.muk-review-document-list article{grid-template-columns:1fr}.muk-review-document-list article>.status{justify-self:start}
.sidebar-context-copy em{display:none}.nav-copy small{white-space:normal}.page-heading h1{font-size:30px}.metric-grid{grid-template-columns:1fr}.metric-card{min-height:108px}.metric-copy>strong{font-size:34px}.priority-item{grid-template-columns:38px minmax(0,1fr) 22px;padding-inline:8px}.priority-action .ui-icon{width:16px}.icon-button[aria-label]::after,.icon-button[title]::after{display:none}
:root{--footer-height:56px}.app-footer>div:last-child span{display:none}.app-footer span+small{padding-left:0;border-left:0}.app-footer strong{font-size:12px}.app-footer small{font-size:12px}
:root{--shell-gutter:5px;--shell-card-radius:18px}
    .topbar{top:8px;min-height:62px;margin-bottom:14px;padding:0 10px}
    .content{padding:0 4px calc(24px + var(--footer-height) + 8px)}
    .app-footer{left:8px;right:8px;bottom:8px;padding:8px 12px}
.page-heading{padding:18px 17px;border-radius:16px}
    .page-heading::after{display:none}
    .panel{border-radius:15px}
    .button{white-space:normal}
    .filter-bar.compact-filter-bar{gap:10px}
    .modal-dialog,.modal-dialog.modal-wide{border-radius:18px 18px 0 0}
    .modal-head h2{font-size:24px}
.file-control{grid-template-columns:44px minmax(0,1fr);min-height:76px;padding:12px;gap:2px 11px}
    .file-control::before{width:42px;height:42px;border-radius:12px}
    .file-control::after{display:none}
:root{--mobile-header-gap:14px}
    .account-menu{top:calc(var(--mobile-header-top) + var(--topbar-height) + 6px)}
.login-access-inner{width:min(390px,100%)}.login-form-head{margin-bottom:26px}.login-submit{min-width:148px;min-height:46px}
.app-body .sidebar{
    right:6px;
    width:auto;
    max-width:none;
  }
  .app-body .app-shell.sidebar-open .sidebar{
    transform:translateX(0);
  }
.app-body .panel-head-responsive>.status-badge{
    justify-content:center;
    max-width:100%;
    height:auto;
    padding-block:5px;
    line-height:1.35;
    text-align:center;
    white-space:normal;
  }
.app-body .form-actions>.status-badge{
    justify-content:center;
    width:100%;
    max-width:100%;
    height:auto;
    padding-block:5px;
    line-height:1.35;
    text-align:center;
    white-space:normal;
  }
.app-body .workspace-hero{padding:19px 17px}
  .app-body .workspace-next-action{padding:15px}
  .app-body .full-workflow-timeline{padding:0 13px 13px}
  .app-body .workflow-timeline-step{min-height:0;padding:13px}
.login-page{
    padding:0;
  }
  .login-page .login-shell{
    border:0;
    border-radius:0;
    box-shadow:none;
  }
  .login-page .login-identity{
    min-height:252px;
    padding:26px 20px 24px;
  }
  .login-page .login-brand-centered{
    gap:15px;
  }
  .login-page .login-brand-logo{
    width:72px;
    height:72px;
  }
  .login-page .login-brand-short{
    font-size:19px;
  }
  .login-page .login-brand-long{
    font-size:12px;
  }
  .login-page .login-brand-institution{
    margin-top:10px;
    font-size:25px;
  }
  .login-page .login-brand-tagline{
    max-width:290px;
    margin-top:8px;
    font-size:12px;
    line-height:1.45;
  }
  .login-brand-context{
    margin-top:7px;
    padding:6px 10px;
    font-size:12px;
  }
  .login-page .login-access{
    padding:32px 20px 36px;
  }
  .login-page .login-form-head{
    margin-bottom:24px;
  }
  .login-page .login-form-head h2{
    font-size:29px;
  }
  .login-page .login-support{
    justify-content:center;
  }
.app-body :is(.metric-grid,.card-list,.quality-gates,.schedule-gate-grid,.readiness-summary-grid){
    grid-template-columns:1fr;
  }
  .app-body :is(.success-panel,.completion-banner){
    align-items:flex-start;
  }
.page-stage{gap:12px}
    .page-heading{padding:17px}
    .dashboard-hero{padding:23px 18px}
    .period-card{padding:18px}
    .priority-item{grid-template-columns:38px minmax(0,1fr)}
    .priority-action{grid-column:2;justify-self:start}
    .governance-strip{grid-template-columns:1fr}
    .governance-strip>p{grid-column:auto}
    .panel-head{padding:16px 15px}
    .panel-head h2{font-size:18px}
    .pagination{align-items:flex-start}
    .pagination-links{width:100%}
.fallback-dialog-layer{align-items:end;padding:8px}
    .fallback-dialog{width:100%;padding:19px 17px;border-radius:18px}
    .fallback-dialog-actions{display:grid;grid-template-columns:1fr 1fr}
    .fallback-dialog-actions .button{width:100%;min-height:44px}
    .fallback-dialog-actions .button:only-child{grid-column:1/-1}
.apl02-mobile-element-card{grid-template-columns:1fr;grid-template-areas:"main" "status" "button"}.apl02-mobile-element-status{justify-content:flex-start}.assessment-answer-group>summary{align-items:flex-start;flex-direction:column}.assessment-answer-group>summary strong{white-space:normal}.evidence-kuk-selection>div{grid-template-columns:1fr}.segmented-control button{padding:8px 5px;font-size:12px}
.muk-next-action>.muk-next-actions{grid-template-columns:1fr}
.assessment-context-meta{grid-template-columns:1fr}
  .assessment-runtime-page .assessment-focus-nav{grid-template-columns:1fr 1fr}
  .assessment-runtime-page .assessment-focus-nav small{display:none}
  .assessment-runtime-page .assessment-focus-nav>a{min-height:42px}
.selection-toolbar-actions{grid-template-columns:1fr}
.muk-package-summary-grid{grid-template-columns:1fr}.muk-matrix-filter-actions{grid-template-columns:1fr}
}

@media (max-width:430px){
  .public-info-hero h1{font-size:34px}
  .public-info-section h2,.public-info-split h2{font-size:26px}
.wizard-progress{min-width:calc(100vw - 26px)}
    .modal-dialog{border-radius:18px 18px 0 0}
:root{
        --mobile-topbar-height:58px;
        --mobile-footer-height:48px;
    }
    .topbar{padding:0 7px;border-radius:15px}.avatar{width:36px;height:36px}
    .account-menu{right:8px;width:calc(100vw - 16px)}
    .content{padding-inline:2px}
    .page-heading-actions{grid-template-columns:1fr}
    .page-heading-actions .button{min-height:43px}
    .page-heading{padding:16px 14px}
    .page-heading h1,.page-heading-compact h1{font-size:clamp(25px,8.5vw,31px)}
    .dashboard-hero{padding:20px 16px}
    .dashboard-hero h1{font-size:clamp(28px,9.5vw,35px)}
    .panel-head{padding:15px 13px}
    .form-grid,.form-stack{padding:14px 12px}
    .profile-summary-list,.application-facts,.schedule-stat-grid,.schedule-gate-grid,.assignment-context,
    .assignment-detail-grid,.tuk-schedule-meta,.readiness-summary-grid,.assessee-schedule-grid,
    .ak01-summary-grid,.signature-status-grid,.signature-meta,.assessment-summary-rail,
    .recommendation-read-grid,.decision-summary-grid,.result-grid,.detail-grid,.report-metric-grid,
    .validation-metrics,.quality-gates,.approval-summary-grid,.decision-history,.muk-workspace-detail-grid{
        grid-template-columns:1fr;
    }
    .modal-layer{align-items:flex-end;padding:7px 7px 0}
    .modal-dialog,.modal-dialog.modal-wide{width:100%;max-height:calc(var(--modal-viewport-height,100dvh) - 7px);border-radius:18px 18px 0 0}
    .modal-head{padding:17px 15px 14px}.modal-body{padding:15px 15px 0}
    .modal-actions{margin-inline:-15px;padding-inline:15px}
    .app-footer{right:auto;left:auto;bottom:auto;margin:12px 2px max(7px,env(safe-area-inset-bottom));padding:6px 9px}
.sidebar{width:min(320px,calc(100vw - 12px))}
    .brand-lockup{gap:10px}
    .brand-logo{width:52px;height:52px}
    .brand-copy strong{font-size:16px;letter-spacing:.12em}
    .data-page-size-toolbar{min-height:50px;padding:8px 10px}
    .pagination-size-form label,.client-pagination-size{font-size:12px}
    .pagination-bottom{min-height:66px;padding:10px}
    .pagination-bottom .pagination-links{width:100%}
.menu-button,.notification-button,.account-trigger,.topbar-icon{
        width:44px;
        height:44px;
        min-width:44px;
        min-height:44px;
    }
    .account-trigger{grid-template-columns:36px;padding:4px}
.bulk-check-toolbar>div{grid-template-columns:1fr}
:root{--footer-height:44px;--ds-mobile-gutter:10px}
  .app-body.sakti-ui .topbar{min-height:56px;border-radius:0 0 16px 16px}
  .app-body.sakti-ui :is(.menu-button,.notification-button,.topbar-icon,.account-trigger){width:44px;height:44px;min-width:44px;min-height:44px}
  .app-body.sakti-ui .avatar{width:34px;height:34px}
  .app-body.sakti-ui .breadcrumb strong{font-size:13.5px}
  .app-body.sakti-ui .page-heading{padding:13px 13px 14px 15px}
  .app-body.sakti-ui .dashboard-hero h1{font-size:25px}
  .app-body.sakti-ui .metric-copy>strong{font-size:22px}
  .app-body.sakti-ui .app-footer{padding-inline:10px;border-radius:14px 14px 0 0}
  .app-body.sakti-ui .page-heading,
  .app-body.sakti-ui .page-heading-compact{padding:15px 15px 15px 18px}
  .app-body.sakti-ui .page-heading::before{inset:14px auto 14px 0}
  .app-body.sakti-ui .page-heading h1,
  .app-body.sakti-ui .page-heading-compact h1{font-size:24px;line-height:1.16}
  .app-body.sakti-ui .panel-head h2{font-size:17px}
  .app-body.sakti-ui .panel-head p{font-size:13.5px}
  .app-body.sakti-ui .account-setup-step{min-height:48px;padding:5px 6px}
  .app-body.sakti-ui .focus-panel-footer{grid-template-columns:1fr}
  .app-body.sakti-ui .focus-panel-footer>small{grid-column:1}
  .app-body.sakti-ui.page-readiness .readiness-hero{padding:14px 13px}
  .app-body.sakti-ui.page-readiness .readiness-hero-copy :is(h1,h2){font-size:24px}
  .app-body.sakti-ui.page-readiness .readiness-score-card{padding:10px 11px}
  .app-body.sakti-ui.page-readiness .readiness-score-card>strong{font-size:29px}
  .app-body.sakti-ui.page-readiness .readiness-panel .panel-head{display:grid;grid-template-columns:minmax(0,1fr) auto}
.app-body.sakti-ui .page-stage{gap:10px}
  .app-body.sakti-ui .single-task-next{grid-template-columns:1fr}
  .app-body.sakti-ui .panel{border-radius:14px}
  .app-body.sakti-ui .panel-head{padding:12px 13px}
  .app-body.sakti-ui .account-setup-wizard{border-radius:13px}
  .app-body.sakti-ui .assessment-runtime-page .assessment-focus-nav{grid-template-columns:1fr 1fr}
  .app-body.sakti-ui .assessment-context-meta{grid-template-columns:1fr}
  .app-body.sakti-ui .muk-secondary-summary>em{font-size:12px}
.app-body.role-super-admin .summary-rail-3,
  .app-body.role-super-admin .summary-rail-4{grid-template-columns:repeat(2,minmax(0,1fr))}
  .app-body.role-super-admin .summary-rail-3>article:last-child:nth-child(odd),
  .app-body.role-super-admin .summary-rail-4>.summary-note{grid-column:1/-1}
  .app-body.role-super-admin .summary-rail article{display:grid;align-content:center;justify-items:start;gap:5px;min-height:70px;padding:10px}
  .app-body.role-super-admin .summary-icon{width:32px;height:32px}
  .app-body.role-super-admin .summary-rail article>div{gap:1px;min-width:0}
  .app-body.role-super-admin .summary-rail strong{font-size:22px}
  .app-body.role-super-admin .dashboard-readiness-actions{grid-template-columns:1fr}
  .app-body.role-super-admin .dashboard-readiness-overview>div{align-items:flex-start;flex-direction:column}
  .app-body.role-super-admin .dashboard-readiness-overview span{text-align:left}
  .app-body.role-super-admin .dashboard-readiness-stats{grid-template-columns:repeat(2,minmax(0,1fr))}
  .app-body.role-super-admin .dashboard-readiness-stats>span:last-child{grid-column:1/-1}
  .app-body.role-super-admin.page-dashboard .superadmin-role-card{grid-template-columns:38px minmax(0,1fr) auto 44px;gap:8px;padding:9px 10px}
  .app-body.role-super-admin.page-dashboard .superadmin-role-icon{width:38px;height:38px}
  .app-body.role-super-admin.page-dashboard .superadmin-role-copy small{display:none}
  .app-body.role-super-admin.page-institution .identity-banner{grid-template-columns:48px minmax(0,1fr)}
  .app-body.role-super-admin.page-institution .identity-meta{grid-column:1/-1;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;padding-top:10px;border-top:1px solid var(--line-soft)}
  .app-body.role-super-admin.page-audit .audit-date-filter-grid{grid-template-columns:1fr}
  .app-body.role-super-admin.page-assessor-credential .definition-grid{grid-template-columns:1fr}
  .system-settings-nav-head{display:grid;gap:8px}
  .system-settings-mobile-select{grid-template-columns:1fr;gap:6px}
  .system-settings-panel .workspace-access-card{grid-template-columns:1fr}
  .system-settings-panel .workspace-access-card>.status-badge,
  .system-settings-panel .workspace-access-card>select{justify-self:start}
  .system-settings-panel .theme-palette-grid{grid-template-columns:1fr}
.app-body.sakti-ui .apl02-bulk-form>.bulk-check-toolbar>div{
    grid-template-columns:1fr;
  }
.app-body.sakti-ui .apl02-workspace .section-heading-actions{
    grid-template-columns:1fr;
  }
  .app-body.sakti-ui .apl02-workspace .section-heading-actions .button{
    width:100%;
  }
.breadcrumb>span,.breadcrumb>.ui-icon{display:none}
    .topbar-actions{gap:2px}
    .filter-bar{grid-template-columns:1fr}
    .search-control{grid-column:auto}
    th,td{padding:13px 14px}

.app-body .page-heading p,.app-body .panel-head p{-webkit-line-clamp:3}
  .app-body .breadcrumb a,.app-body .breadcrumb .ui-icon{display:none}
.app-body .brand-copy small{display:block;font-size:12px}
  .app-body .sidebar-brand{min-height:88px}
.role-manajer-sertifikasi.page-schedules .summary-rail article{min-height:82px}
  .role-manajer-sertifikasi .summary-icon{width:31px;height:31px}
.role-manajer-sertifikasi .filter-bar,
  .role-manajer-sertifikasi .compact-filter-bar{grid-template-columns:1fr}
  .role-manajer-sertifikasi .filter-bar>*{grid-column:1}
.role-manajer-sertifikasi.page-muk .muk-context-shell .muk-workflow-tabs{grid-auto-columns:minmax(142px,72vw)}
  .role-manajer-sertifikasi.page-muk .muk-context-status .status:last-child{display:none}
.role-asesor .summary-rail article,
  .role-asesor .assessment-summary-rail article{
    display:grid;
    align-content:center;
    justify-items:start;
    gap:5px;
    padding:9px 10px;
  }
  .role-asesor .summary-icon{width:30px;height:30px}
  .role-asesor .summary-rail small,
  .role-asesor .assessment-summary-rail small{font-size:12px;overflow-wrap:anywhere}
  .role-asesor .summary-rail strong,
  .role-asesor .assessment-summary-rail strong{font-size:21px}
  .role-asesor .ak01-summary-grid article{min-height:78px;padding:10px}
  .app-body.sakti-ui.role-asesor .assessor-focus-controller-actions{grid-template-columns:1fr}
  .app-body.sakti-ui.role-asesor .assessor-mobile-table tbody>tr>td{grid-template-columns:1fr;gap:5px;padding:10px 11px}
  .app-body.sakti-ui.role-asesor .assessor-mobile-table tbody>tr>td.table-action .table-actions{grid-template-columns:1fr}
.role-asesi .summary-icon{width:30px;height:30px}
.role-asesi .profile-summary-list{grid-template-columns:1fr}
  .role-asesi .profile-summary-list>div{border-top:1px solid var(--line-soft);border-left:0}
  .role-asesi .profile-summary-list>div:first-child{border-top:0}
  .role-asesi .ak01-summary-grid article{min-height:78px;padding:10px}
.role-admin-lsp .summary-icon{width:30px;height:30px}
.role-admin-lsp .filter-bar,.role-admin-lsp .compact-filter-bar{grid-template-columns:1fr}
  .role-admin-lsp .filter-bar>.search-control{grid-column:auto}
  .role-admin-lsp .workspace-quick-links{grid-template-columns:1fr}
  .role-admin-lsp .workspace-facts-grid{grid-template-columns:1fr}
  .role-admin-lsp .workspace-facts-grid .panel:last-child:nth-child(odd){grid-column:auto}
  .role-admin-lsp .decision-actions{grid-template-columns:1fr}
.role-koordinator-tuk .readiness-summary-grid span{font-size:12px;overflow-wrap:anywhere}
  .role-koordinator-tuk .readiness-summary-grid strong{font-size:17px}
  .role-koordinator-tuk .readiness-summary-grid small{font-size:12px}
.role-tim-keputusan .page-heading>.filter-bar{grid-template-columns:minmax(0,1fr)}
  .role-tim-keputusan .page-heading>.filter-bar .button{min-width:0}
.role-ketua-lsp .segmented-nav{grid-template-columns:minmax(0,1fr)}
  .role-ketua-lsp .process-guidance .guidance-detail{display:none}
.role-ketua-lsp .approval-summary-grid{grid-template-columns:minmax(0,1fr)}
  .role-ketua-lsp .detail-grid{grid-template-columns:minmax(0,1fr)}
  .role-ketua-lsp .approval-primary-action .decision-actions{grid-template-columns:minmax(0,1fr)}
.role-manajer-mutu .process-guidance .guidance-detail{display:none}
.role-manajer-mutu .filter-bar,.role-manajer-mutu .compact-filter-bar{grid-template-columns:minmax(0,1fr)}
  .role-manajer-mutu .filter-bar>*{grid-column:1}
  .role-manajer-mutu .quality-gates{grid-template-columns:minmax(0,1fr)}
  .role-manajer-mutu .validation-metrics{grid-template-columns:minmax(0,1fr)}
  .role-manajer-mutu .signature-status-grid{grid-template-columns:minmax(0,1fr)}
  .role-manajer-mutu .decision-actions{grid-template-columns:minmax(0,1fr)}
.app-body.sakti-ui .page-heading{padding-inline:14px 12px}
  .app-body.sakti-ui .summary-rail article.summary-note{grid-column:auto}
  .app-body.sakti-ui .metric-grid{grid-template-columns:1fr}
  .app-body.sakti-ui .role-focus-step{flex-basis:134px}
.app-body.sakti-ui .page-heading p{font-size:13.5px}
  .app-body.sakti-ui .nav-copy strong{font-size:13.5px}
.app-body.sakti-ui .content{padding-inline:8px}
  .app-body.sakti-ui .breadcrumb{max-width:calc(100vw - 132px)}
  .app-body.sakti-ui .page-heading h1,
  .app-body.sakti-ui .page-heading-compact h1{font-size:25px}
  .app-body.sakti-ui .role-focus-disclosure>summary small{display:none}
  .app-body.sakti-ui .focus-panel-nav-head{flex-basis:72vw}
.app-body.sakti-ui .sidebar-brand{min-height:82px;padding-right:48px}
  .app-body.sakti-ui .brand-logo{width:60px;height:60px;flex-basis:60px}
  .app-body.sakti-ui .brand-emblem{width:42px;height:42px;flex-basis:42px}
  .app-body.sakti-ui .brand-copy strong{font-size:16.5px}
  .app-body.sakti-ui .brand-copy small{display:block;font-size:12px;line-height:1.32}
  .app-body.sakti-ui .sidebar-context-copy strong{font-size:13.75px}
.workspace-quick-links{grid-template-columns:1fr}.notification-count{inset-inline-end:-.15rem}
.breadcrumb strong{max-width:100px}
    .content{padding-right:10px;padding-left:10px}.button{padding-right:13px;padding-left:13px}
    .login-identity{min-height:295px;padding:24px 18px 22px}
    .login-brand-centered{gap:18px}.login-brand-institution{font-size:28px}.login-brand-short{font-size:17px}.login-brand-long{font-size:15px}.login-brand-tagline{font-size:13px}
    .login-access{padding:30px 18px}
.app-body.sakti-ui .account-setup-wizard{grid-template-columns:repeat(3,minmax(0,1fr));gap:3px}
  .app-body.sakti-ui .account-setup-step{grid-template-columns:22px minmax(0,1fr);gap:3px;padding:4px}
  .app-body.sakti-ui .account-setup-number{width:22px;height:22px;font-size:12px}
  .app-body.sakti-ui .account-setup-copy strong{font-size:12px;line-height:1.18}
  .app-body.sakti-ui .role-focus-wizard-actions{grid-template-columns:1fr}
  .app-body.sakti-ui .summary-rail{grid-template-columns:repeat(2,minmax(0,1fr))}
  .app-body.sakti-ui .summary-rail>article:last-child:nth-child(odd){grid-column:1/-1}
  .app-body.sakti-ui .summary-rail>.summary-note{grid-column:1/-1}
}

@media (max-width:360px){
.app-body.sakti-ui .account-setup-copy strong{font-size:12px}
  .app-body.sakti-ui .account-setup-step{grid-template-columns:24px minmax(0,1fr);padding:5px}
  .app-body.sakti-ui .account-setup-number{width:24px;height:24px;font-size:12px}
  .app-body.sakti-ui .metric-grid{grid-template-columns:1fr}
  .app-body.sakti-ui .summary-rail article.summary-note{grid-column:auto}
.swal2-container.swal2-toast-container{inset:8px 8px auto auto;width:min(300px,calc(100vw - 16px));max-width:calc(100vw - 16px)}
.app-body .sidebar{padding-inline:11px}
  .app-body .sidebar-brand{padding-right:39px}
  .app-body .brand-lockup{gap:9px;padding:8px}
  .app-body .brand-logo{width:46px;height:46px}
  .app-body .brand-copy{padding-left:9px}
  .app-body .brand-copy strong{font-size:14.5px;letter-spacing:.1em}
  .app-body .brand-copy small{display:none}
  .app-body .sidebar-close{top:9px;right:0;width:32px;height:32px}
.app-body.sakti-ui .sidebar-brand{min-height:74px;padding:6px 48px 10px 6px}
  .app-body.sakti-ui .brand-logo{width:56px;height:56px;flex-basis:56px}
  .app-body.sakti-ui .brand-emblem{width:38px;height:38px;flex-basis:38px}
  .app-body.sakti-ui .brand-copy strong{font-size:17px;letter-spacing:.1em}
  .app-body.sakti-ui .brand-copy small{display:none}
}

@media (min-width:421px) and (max-width:680px){
.page-readiness .service-flow-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .page-readiness .service-flow-grid article:nth-child(odd){border-right:1px solid var(--line-soft)}
}

@media (hover:hover){
.app-body.sakti-ui .data-table tbody tr:hover{background:color-mix(in srgb,var(--role-accent-soft) 45%,#fff)}
}

@media (hover:none){
.metric-card:hover,.scheme-card:hover,.assignment-card:hover,.application-card:hover,.assessor-assignment-card:hover,.tuk-schedule-card:hover,.notification-card:hover,.requirement-card:hover,.readiness-card:hover,.decision-card:hover,.muk-card:hover,.muk-task-card:hover,.instrument-card:hover,.team-card:hover,.theme-palette-card:hover,.button-palette-card:hover,.import-type-card:hover{transform:none}
}

/* ==========================================================================
   v1.0.21 — Assessment execution: phone-first simplicity
   The active action must appear before secondary context on small screens.
   ========================================================================== */
@media (max-width:900px){
  .app-body.sakti-ui .assessment-runtime-heading>div>p{display:none}
  .app-body.sakti-ui.role-asesi table.apl02-element-table{display:block;width:100%;min-width:0}
  .app-body.sakti-ui.role-asesi table.apl02-element-table thead{display:none}
  .app-body.sakti-ui.role-asesi table.apl02-element-table tbody{display:grid;gap:14px}
  .app-body.sakti-ui.role-asesi table.apl02-element-table tbody>tr{display:grid;min-width:0;border:1px solid var(--line-soft);border-radius:12px}
  .app-body.sakti-ui.role-asesi table.apl02-element-table tbody>tr>td{display:grid;gap:6px;width:auto;min-width:0;white-space:normal}
  .app-body.sakti-ui.role-asesi table.apl02-element-table tbody>tr>td::before{display:block;content:attr(data-label);font-weight:600}
  .app-body.sakti-ui.role-asesi table.apl02-element-table :is(select,textarea){width:100%;min-width:0;font-size:16px}
  .app-body.sakti-ui.role-asesi table.apl02-element-table .apl02-kuk-list{min-width:0;overflow-wrap:anywhere}

  .app-body.sakti-ui.role-asesi.page-application .assessee-application-cards{
    display:grid;
    gap:10px;
    padding:0 12px 12px;
  }
  .app-body.sakti-ui.role-asesi.page-application .table-panel>.table-wrap{
    display:none;
  }
  .app-body.sakti-ui.role-asesi.page-application .panel-head p,
  .app-body.sakti-ui.role-asesi.page-application .page-heading p{
    display:block;
    -webkit-line-clamp:unset;
  }
  .app-body.sakti-ui.role-asesi.page-application .application-card-action{
    grid-template-columns:1fr;
  }
  .app-body.sakti-ui.role-asesi.page-application .application-card-action .button{
    width:100%;
  }

  .app-body.sakti-ui .assessment-runtime-page .assessment-main>.assessment-person-context{order:-40}
  .app-body.sakti-ui .assessment-runtime-page .assessment-main>.assessment-current-task{order:-30}
  .app-body.sakti-ui .assessment-runtime-page .assessment-main>.assessment-focus-nav{order:-20}
  .app-body.sakti-ui .assessment-runtime-page .assessment-main>.assessment-progress-compact{order:-10}

  /* Asesi: four short milestones in one compact row; the current-task card carries detail. */
  .app-body.sakti-ui.role-asesi .assessment-runtime-page .assessment-focus-nav{
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:4px;
  }
  .app-body.sakti-ui.role-asesi .assessment-runtime-page .assessment-focus-nav>a{
    min-width:0;
    min-height:58px;
    padding:6px 4px;
  }
  .app-body.sakti-ui.role-asesi .assessment-runtime-page .assessment-focus-nav strong{
    font-size:11.5px;
    line-height:1.2;
    text-align:center;
    overflow-wrap:anywhere;
  }
  .app-body.sakti-ui.role-asesi .assessment-runtime-page .assessment-focus-nav small{display:none}

  /* Asesor: the device decides the focus mode. Do not ask phone users to choose a UI mode. */
  .app-body.sakti-ui.role-asesor .assessor-focus-controller{display:none!important}
  .app-body.sakti-ui.role-asesor .assessment-top-evidence-action{display:none!important}
  .app-body.sakti-ui.role-asesor .assessment-assessee-nav{
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:6px;
  }
  .app-body.sakti-ui.role-asesor .assessment-assessee-nav .button{
    min-height:42px;
    padding-inline:6px;
    font-size:12px;
  }

  /* Assessor milestones stay one row high and horizontally scroll only when needed. */
  .app-body.sakti-ui.role-asesor .assessment-runtime-page .assessment-focus-nav{
    display:grid;
    grid-template-columns:none;
    grid-auto-flow:column;
    grid-auto-columns:minmax(132px,42vw);
    gap:5px;
    overflow-x:auto;
    overscroll-behavior-inline:contain;
    scroll-snap-type:x proximity;
    scrollbar-width:thin;
  }
  .app-body.sakti-ui.role-asesor .assessment-runtime-page .assessment-focus-nav>a{
    scroll-snap-align:start;
    min-height:58px;
  }
  .app-body.sakti-ui.role-asesor .assessment-runtime-page .assessment-focus-nav>a.upcoming,
  .app-body.sakti-ui.role-asesor .assessment-runtime-page .assessment-focus-nav>a.waiting{
    pointer-events:none;
    cursor:default;
    opacity:.58;
  }
  .app-body.sakti-ui.role-asesor .assessment-runtime-page .assessment-focus-nav small{display:none}
}

@media (max-width:420px){
  .app-body.sakti-ui.role-asesor .assessment-assessee-nav{grid-template-columns:repeat(3,minmax(0,1fr))}
  .app-body.sakti-ui.role-asesor .assessment-assessee-nav .button{font-size:11.5px;padding-inline:4px}
  .app-body.sakti-ui.role-asesi .assessment-runtime-page .assessment-focus-nav strong{font-size:11px}
}
/* ==========================================================================
   Accessibility & print contract
   Generated from component modules; edit the owning selector there, then
   regenerate this architecture deliberately.
   ========================================================================== */

@media (forced-colors:active){
.button,.icon-button,.custom-select-trigger,.custom-date-trigger,.file-control,.panel,.topbar,.sidebar,.app-footer{border:1px solid CanvasText}
    .status-badge,.notification-count{forced-color-adjust:none}
}

@media (pointer:fine) and (prefers-reduced-motion:no-preference){
.app-body :is(.metric-card,.scheme-card,.application-card,.assessor-assignment-card,.tuk-schedule-card){
    transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease;
  }
  .app-body :is(.metric-card,.scheme-card,.application-card,.assessor-assignment-card,.tuk-schedule-card):hover{
    transform:translateY(-2px);
    border-color:rgba(var(--role-accent-rgb),.2);
    box-shadow:0 3px 8px rgba(8,29,42,.055),0 20px 44px rgba(8,29,42,.09),var(--premium-inset);
  }
  .app-body .button{transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease,background-color .16s ease}
  .app-body .button:hover:not(:disabled){transform:translateY(-1px)}
  .app-body .button:active:not(:disabled){transform:translateY(0)}
.app-body :is(.summary-rail,.assessment-summary-rail,.muk-summary-rail,.readiness-summary-grid,.decision-summary-grid,.approval-summary-grid,.ak01-summary-grid)>article,
  .app-body :is(.workflow-tabs>a,.muk-flow-card,.muk-choice-card,.assessment-focus-nav>a,.assessment-roster-schedule,.remote-picker-option){
    transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease,background .18s ease;
  }
  .app-body :is(.summary-rail,.assessment-summary-rail,.muk-summary-rail,.readiness-summary-grid,.decision-summary-grid,.approval-summary-grid,.ak01-summary-grid)>article:hover{
    transform:translateY(-2px);
    border-color:rgba(var(--role-accent-rgb),.18);
    box-shadow:0 3px 8px rgba(8,29,42,.045),0 18px 38px rgba(8,29,42,.075),var(--premium-inset);
  }
  .app-body :is(.workflow-tabs>a,.muk-flow-card,.muk-choice-card,.assessment-focus-nav>a,.assessment-roster-schedule,.remote-picker-option):hover{
    transform:translateY(-1px);
  }
}

@media (prefers-contrast:more){
.app-body.sakti-ui :is(.panel,.page-heading,.role-focus-wizard-compact,.focus-panel-nav){border-color:rgba(18,42,55,.30)}
  .app-body.sakti-ui :is(input,select,textarea){border-color:rgba(18,42,55,.42)}
}

@media (prefers-reduced-motion:reduce){
*,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}
.file-control,
    .file-control::after,
    input[type="checkbox"]{transition:none}
.custom-control-popover.is-open{animation:none}.custom-select-trigger,.custom-date-trigger,.custom-option,.custom-calendar-day{transition:none}
::view-transition-old(sakti-brand-logo),::view-transition-new(sakti-brand-logo),::view-transition-old(sakti-brand-copy),::view-transition-new(sakti-brand-copy){animation:none}
::view-transition-old(root),::view-transition-new(root),
    ::view-transition-old(sakti-sidebar),::view-transition-new(sakti-sidebar),
    ::view-transition-old(sakti-topbar),::view-transition-new(sakti-topbar),
    ::view-transition-old(sakti-footer),::view-transition-new(sakti-footer),
    ::view-transition-old(sakti-content),::view-transition-new(sakti-content),
    ::view-transition-old(sakti-login-logo),::view-transition-new(sakti-login-logo),
    ::view-transition-old(sakti-login-copy),::view-transition-new(sakti-login-copy){animation:none!important}
.app-body.is-page-waiting .topbar::after{animation:none!important}
    .metric-card,.scheme-card,.assignment-card,.application-card,.assessor-assignment-card,
    .tuk-schedule-card,.notification-card,.requirement-card,.readiness-card,.decision-card,
    .muk-card,.muk-task-card,.instrument-card,.team-card,.theme-palette-card,
    .button-palette-card,.import-type-card{transition:none}
.wizard-progress>i>b,.wizard-nav button,.modal-dialog,.button,.icon-button,.custom-select-trigger,.custom-date-trigger,.custom-number-step,.pagination a,.pagination button{transition:none!important}
    .modal-body{scroll-behavior:auto}
.app-body *{scroll-behavior:auto!important}
.app-body.sakti-ui *,
  .app-body.sakti-ui *::before,
  .app-body.sakti-ui *::after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}
}

@media print{
.app-shell .sidebar,.app-shell .topbar,.page-heading .page-heading-actions,.report-filter-panel,.print-toolbar{display:none!important}.workspace,.content{display:block!important;margin:0!important;padding:0!important}.panel{box-shadow:none!important}.certificate-print-body{padding:0;background:#fff}.certificate-document{width:100%;min-height:100vh;border-color:#846a2b;box-shadow:none;page-break-inside:avoid}.report-section{page-break-inside:avoid}
.print-toolbar{display:none!important}.muk-print-body,.muk-package-print-body{background:#fff}.muk-print-document{margin:0;box-shadow:none;width:auto;min-height:0}.orientation-landscape .muk-print-document{width:auto}.muk-print-footer{position:fixed}.muk-document-card{break-inside:avoid}
.topbar{margin:0;border-radius:0;box-shadow:none}
    .app-footer{display:none!important}
.sidebar{border-radius:0;box-shadow:none}
.data-table th{position:static}
    .panel,.page-heading{box-shadow:none}
.custom-control-popover{display:none!important}
.page-stage{display:block}
    .page-stage>*{margin-bottom:12px!important}
.data-page-size-toolbar,.pagination{display:none!important}
    tr.is-pagination-hidden{display:table-row!important}
.formal-report-toolbar{display:none!important}
    .formal-report-print-root,.formal-report-print-body{background:#fff!important}
    .formal-report-document{width:auto;min-height:0;margin:0;padding:0;box-shadow:none;page:formal-report-landscape}
    .formal-report-section{break-inside:auto}
    .formal-report-section-heading{break-after:avoid;page-break-after:avoid}
.muk-assessment-package{display:block}.muk-package-sheet{margin:0;box-shadow:none}.muk-package-sheet.orientation-landscape{width:auto;min-height:0}.muk-package-sheet.orientation-portrait{width:auto;min-height:0}.muk-package-sheet .muk-print-footer{position:absolute}.muk-draft-watermark{position:fixed}
.archive-batch-divider{padding:8mm;break-after:page}
body:has(.muk-preview){background:#fff}.muk-preview{max-width:none;padding:0}.muk-preview-sheet{border:0;border-radius:0;box-shadow:none}.preview-note,.preview-actions{display:none}
.app-body .app-footer{display:none!important}.app-body .content{padding-bottom:0}
.app-body.sakti-ui .role-focus-wizard,
  .app-body.sakti-ui .focus-panel-nav,
  .app-body.sakti-ui .focus-panel-footer{display:none!important}
body.app-body.sakti-ui{height:auto;min-height:0;overflow:visible}
  .app-body.sakti-ui .app-shell,.app-body.sakti-ui .workspace{height:auto;min-height:0;overflow:visible}
  .app-body.sakti-ui .content{overflow:visible;padding-bottom:0;scroll-padding:0}
  .app-body.sakti-ui .app-footer{position:static;margin-top:12px}
}
