:root{--navy:#17324d;--ink:#20364a;--teal:#007e78;--pale:#eef7f6;--muted:#657587;--line:#e0e7ed;--bg:#f4f7fa;--white:#fff;font-family:"Segoe UI",Arial,sans-serif;color:var(--ink);background:var(--bg);font-size:15px}*{box-sizing:border-box}body{margin:0}a{color:inherit}button,input{font:inherit}button,a,input{outline-offset:4px}button:focus-visible,a:focus-visible,input:focus-visible{outline:3px solid #009f96}h1,h2,h3,p{margin:0}h1{font-size:30px;line-height:1.3;letter-spacing:-.7px}h2{font-size:21px;line-height:1.4}h3{font-size:18px}.muted{color:var(--muted);line-height:1.65}.small{font-size:13px}.eyebrow{font-size:11px;letter-spacing:1.8px;font-weight:700;color:var(--teal);display:block;margin-bottom:10px}.eyebrow.light{color:#86d9d1}.brand-icon{width:38px;height:38px;background:var(--teal);border-radius:11px;display:inline-flex;align-items:center;justify-content:center;color:white;font-size:24px;font-weight:700;flex-shrink:0}.topbar{height:80px;background:var(--navy);display:flex;align-items:center;justify-content:space-between;padding:0 32px;color:white}.brand{display:flex;gap:12px;align-items:center;text-decoration:none;font-size:22px;font-weight:750;letter-spacing:.4px}.brand small{display:block;font-size:10px;letter-spacing:1px;font-weight:400;margin-top:3px;color:#c2d1de}.top-actions{display:flex;gap:20px;align-items:center}.user-name{font-size:13px;font-weight:600}.app-shell{display:flex;min-height:calc(100vh - 123px)}.sidebar{width:235px;padding:34px 18px;background:white;border-right:1px solid var(--line);display:flex;flex-direction:column;flex-shrink:0}.nav-caption{font-size:10px;color:#8593a1;letter-spacing:1.4px;padding:0 14px 14px;font-weight:700}.nav-item{padding:13px 14px;border-radius:8px;text-decoration:none;font-size:13px;display:block;margin-bottom:6px;font-weight:600}.nav-item:hover{background:var(--bg)}.nav-item.active{color:var(--teal);background:var(--pale)}.sidebar-note{font-size:11px;line-height:1.8;color:#8b98a4;margin-top:auto;padding:40px 14px 0}.main-content{max-width:1450px;min-width:0;flex:1;padding:38px 44px 55px}.page-heading{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:28px}.page-heading .muted{margin-top:9px}.button{border:0;border-radius:8px;display:inline-flex;align-items:center;justify-content:center;gap:16px;padding:12px 19px;font-size:13px;line-height:1.4;text-decoration:none;font-weight:650;cursor:pointer;white-space:nowrap;min-height:43px}.button.primary{background:var(--teal);color:white}.button.primary:hover{background:#006a65}.button.secondary{border:1px solid var(--line);background:white;color:var(--ink)}.button.quiet{color:white;border:1px solid #6f8497;background:transparent;padding:9px 15px;min-height:36px}.button.full{width:100%}.card{background:white;border:1px solid var(--line);border-radius:12px}.summary-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin-bottom:28px}.summary-card{padding:23px 25px}.summary-label{font-size:12px;color:var(--muted);display:block;margin-bottom:14px}.summary-card h2{font-size:25px}.summary-card .small{margin-top:10px}.metric{font-size:32px;font-weight:700;line-height:1.1;color:var(--navy)}.role-badges{display:flex;flex-wrap:wrap;gap:6px;min-height:28px;align-items:center}.badge{display:inline-flex;padding:5px 10px;border-radius:6px;background:#edf1f5;color:var(--navy);font-size:11px;font-weight:700;letter-spacing:.25px}.badge.teal{color:var(--teal);background:var(--pale)}.section-heading{display:flex;justify-content:space-between;align-items:center;gap:15px;padding:24px 26px;border-bottom:1px solid var(--line)}.section-heading h2{font-size:18px}.section-heading .small{margin-top:4px}.count-pill{font-size:12px;color:var(--muted);border:1px solid var(--line);border-radius:20px;padding:6px 12px;white-space:nowrap}.empty-state{text-align:center;padding:52px 28px}.empty-state h2,.empty-state h3{margin-bottom:10px}.empty-state .muted{font-size:13px;max-width:470px;margin:auto}.empty-icon{font-size:27px;background:var(--bg);border-radius:14px;color:#718595;display:flex;align-items:center;justify-content:center;width:58px;height:58px;margin:0 auto 18px}.company-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.company-card{padding:27px;display:flex;flex-direction:column;align-items:flex-start}.company-card h2{margin-top:18px;word-break:break-word}.company-card .muted{margin:9px 0 24px;font-size:12px}.company-card .button{margin-top:auto}.form-card{padding:30px;max-width:600px}.field{margin-bottom:22px}.field label{display:block;font-size:13px;font-weight:650;margin-bottom:9px}.field input{width:100%;border:1px solid #cbd6df;border-radius:7px;padding:12px 13px;background:#fff;color:var(--ink);min-height:46px}.field input:focus{border-color:var(--teal)}.field-hint{color:var(--muted);font-size:12px;line-height:1.6;margin-top:8px}.form-actions{display:flex;gap:12px;flex-wrap:wrap}.notice{border-radius:9px;padding:15px 19px;margin-bottom:24px;font-size:13px;line-height:1.7}.notice.success{border:1px solid #bce0d7;background:#effaf5;color:#21654f}.notice.error{border:1px solid #efcaca;background:#fff3f3;color:#9c3535}.notice ul{margin:5px 0 0;padding-left:20px}.page-footer{text-align:center;padding:14px;color:#8996a2;font-size:10px;letter-spacing:.5px}.guest-main{max-width:1050px;margin:0 auto;padding:70px 25px 35px;min-height:calc(100vh - 43px);display:flex;flex-direction:column;justify-content:center}.login-shell{border:1px solid var(--line);border-radius:18px;overflow:hidden;background:white;display:grid;grid-template-columns:1fr 1fr;box-shadow:0 18px 55px #17324d0b}.login-story{background:var(--navy);padding:43px 42px;color:white}.story-brand{display:flex;align-items:center;gap:11px;font-size:22px;font-weight:750;letter-spacing:1px;margin-bottom:50px}.login-story h1{font-size:35px;line-height:1.3;letter-spacing:-.9px;margin-bottom:19px}.login-story>p{font-size:13px;line-height:1.9;color:#bfd0df;margin-bottom:32px;max-width:330px}.story-line{padding:12px 0;border-top:1px solid #ffffff20;font-size:12px;color:#d8e4ed;display:flex;align-items:center;gap:16px}.story-line span{font-size:10px;letter-spacing:1px;color:#80d8d1}.login-form{padding:72px 43px 45px;display:flex;flex-direction:column;justify-content:center}.login-form h2{font-size:26px;letter-spacing:-.5px;margin-bottom:10px}.login-form>.muted{font-size:13px;margin-bottom:32px}.help-text{font-size:11px;line-height:1.8;color:var(--muted);margin-top:27px;padding-top:20px;border-top:1px solid var(--line)}.table-scroll{overflow-x:auto}table{width:100%;border-collapse:collapse;text-align:left;font-size:13px}th{font-size:11px;font-weight:650;color:var(--muted);background:#f9fbfc}th,td{padding:16px 24px;border-bottom:1px solid var(--line)}tbody tr:last-child td{border-bottom:0}td:nth-child(3){min-width:200px}@media(min-width:1600px){.main-content{padding-top:48px}}@media(max-width:1100px){.main-content{padding:30px 25px}.sidebar{width:205px}.summary-grid{gap:12px}.summary-card{padding:21px 18px}.company-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.login-form{padding:50px 30px}.login-story{padding:35px}}@media(max-width:760px){.topbar{padding:0 18px;height:72px}.brand{font-size:20px}.brand small{font-size:8px}.user-name{display:none}.app-shell{display:block}.sidebar{width:100%;flex-direction:row;gap:6px;padding:10px 12px;border-right:0;border-bottom:1px solid var(--line);overflow-x:auto}.nav-caption,.sidebar-note{display:none}.nav-item{white-space:nowrap;padding:10px;margin-bottom:0;font-size:11px}.main-content{padding:27px 18px 40px}.summary-grid{grid-template-columns:1fr}.summary-card{padding:20px}.page-heading{align-items:flex-start}.page-heading h1{font-size:25px}.company-grid{grid-template-columns:1fr}.section-heading{padding:20px}.form-card{padding:23px}.guest-main{padding:22px 16px}.login-shell{grid-template-columns:1fr;max-width:520px;width:100%;margin:auto}.login-story{padding:28px 28px 25px}.story-brand{margin-bottom:22px;font-size:19px}.login-story h1{font-size:25px;margin-bottom:9px}.login-story>p{margin-bottom:0;font-size:12px}.story-line{display:none}.login-form{padding:32px 28px}.login-form h2{font-size:24px}.login-form>.muted{margin-bottom:26px}.page-footer{font-size:9px}.top-actions{gap:8px}.button{font-size:12px}.page-heading>.button{white-space:normal;text-align:center}}

.inline-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.table-action{display:inline-block;border:1px solid var(--line);padding:7px 10px;border-radius:6px;text-decoration:none;color:var(--ink);font-size:12px;white-space:nowrap}.table-action:hover{background:var(--pale)}.danger-text{color:#a53b3b}.danger{background:#aa3d3d;color:#fff}.wide-form{max-width:860px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.field select,.field textarea{font:inherit;width:100%;border:1px solid #cbd6df;border-radius:7px;padding:12px 13px;background:white;color:var(--ink);min-height:46px}.field textarea{resize:vertical}.filter-bar{display:flex;align-items:flex-end;gap:14px;padding:22px;border-bottom:1px solid var(--line);flex-wrap:wrap}.filter-bar .field{margin:0;min-width:160px;flex:1}.filter-bar .field:first-child{flex:2}.pagination-row{padding:18px 24px;display:flex;align-items:center;justify-content:space-between;gap:16px;font-size:12px;color:var(--muted);flex-wrap:wrap}.description-card{padding:23px 25px;margin-bottom:24px}.preserve-lines{white-space:pre-wrap;line-height:1.7;font-size:13px;overflow-wrap:anywhere}.spaced{margin-bottom:24px}.new-account{border:1px solid var(--line);border-radius:8px;padding:18px;margin-bottom:25px}.new-account summary{font-weight:650;cursor:pointer;font-size:13px}.new-account>p{margin-top:16px}.identity-panel{background:var(--bg);padding:18px;border-radius:8px;margin-bottom:25px}.module-options{border:1px solid var(--line);border-radius:8px;padding:18px;margin:0}.module-options legend{padding:0 7px;font-size:13px;font-weight:650}.module-options>p{margin-bottom:14px}.check-option{display:flex;align-items:center;gap:12px;font-size:13px;padding:10px 0;border-bottom:1px solid var(--line)}.check-option:last-child{border:0}.check-option input{width:18px;height:18px;accent-color:var(--teal)}.notice:not(.success):not(.error){background:#fff8e9;border:1px solid #ead9b4;color:#7c5c27}.summary-card,.page-heading h1{overflow-wrap:anywhere}@media(max-width:760px){.form-grid{grid-template-columns:1fr;gap:0}.filter-bar{padding:18px;gap:12px}.filter-bar .field{min-width:100%;flex:auto}.wide-form{padding:22px}.pagination-row{padding:18px}.section-heading{flex-wrap:wrap}.page-heading{flex-wrap:wrap}.module-options{padding:14px}.inline-actions{gap:8px}.table-action{font-size:11px}}

.editor-form{max-width:1050px}.editor-section{border-top:1px solid var(--line);padding-top:25px;margin:25px 0}.section-title,.step-heading{display:flex;justify-content:space-between;align-items:center;gap:14px;margin-bottom:18px;flex-wrap:wrap}.editor-section h2{font-size:18px}.step-editor{padding:22px;border:1px solid var(--line);border-radius:9px;margin-bottom:18px;background:#fbfcfd}.step-heading strong{font-size:14px}.step-editor .field:last-child{margin-bottom:0}.order-button{border:1px solid var(--line);border-radius:5px;background:#fff;min-width:32px;min-height:32px;cursor:pointer;color:var(--ink)}.order-button:disabled{opacity:.35;cursor:default}.order-control{display:flex;gap:5px;align-items:center}.order-control>span{min-width:20px}.script-code{font-family:Consolas,monospace;font-size:12px;white-space:nowrap;color:var(--teal);font-weight:700}.reference-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin:20px 0}.reference-image{margin:0;border:1px solid var(--line);border-radius:8px;overflow:hidden;background:#fff}.reference-image img{display:block;width:100%;height:auto;max-height:450px;object-fit:contain;background:#f0f3f5}.reference-image figcaption{font-size:12px;padding:12px;line-height:1.6}.ready-panel{padding:24px 30px;display:flex;gap:20px;align-items:center;justify-content:space-between;margin-top:24px;max-width:1050px}.ready-panel h2,.history-panel h2{font-size:18px;margin-bottom:8px}.history-panel{padding:24px 30px;margin-top:24px;max-width:1050px}.scenario-card{max-width:1050px;overflow:hidden}.scenario-heading{padding:30px;border-bottom:1px solid var(--line);background:#f9fbfc}.scenario-heading h2{font-size:24px;margin:10px 0;overflow-wrap:anywhere}.scenario-section{padding:25px 30px;border-bottom:1px solid var(--line)}.scenario-section:last-child{border-bottom:0}.scenario-section h3{font-size:16px;margin-bottom:16px}.preview-step{display:flex;gap:15px;padding:15px 0;border-bottom:1px solid var(--line)}.preview-step:last-child{border:0}.preview-step>div{min-width:0}.step-number{width:30px;height:30px;flex-shrink:0;background:var(--pale);color:var(--teal);border-radius:50%;font-size:13px;font-weight:700;display:flex;align-items:center;justify-content:center}.preview-step .badge{margin-bottom:8px}.step-expected{margin-top:10px;color:var(--muted)}.answer-placeholder{background:#f9fbfc}.preview-navigation{max-width:1050px;display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:24px;flex-wrap:wrap}.step-editor label{line-height:1.7}.step-editor textarea,.step-editor input:not([type=hidden]){display:block;margin-top:8px}.scenario-heading .script-code{white-space:normal;overflow-wrap:anywhere}@media(max-width:760px){.editor-form{padding:20px}.step-editor{padding:15px}.ready-panel{padding:20px;flex-wrap:wrap}.history-panel{padding:20px}.reference-grid{grid-template-columns:1fr}.scenario-heading,.scenario-section{padding:22px}.scenario-heading h2{font-size:21px}.step-heading .inline-actions{gap:5px}}

.step-editor textarea,.step-editor input{font-weight:400}.button:disabled{opacity:.5;cursor:not-allowed}

.session-page .form-actions{padding:20px 24px;margin:0 0 24px;background:#fff;border:1px solid var(--line);border-radius:8px;align-items:center}.session-page td:last-child .table-action{margin:4px 3px 4px 0}.session-page .filter-actions{padding-top:8px;padding-bottom:8px}.uatms-dialog{width:min(560px,calc(100vw - 36px));border:1px solid var(--line);border-radius:12px;padding:28px;color:var(--ink);box-shadow:0 20px 80px #17324d33}.uatms-dialog::backdrop{background:#17324d80}.uatms-dialog h2{font-size:21px;margin-bottom:16px}.uatms-dialog>p{margin-bottom:22px}.dialog-actions{display:flex;justify-content:flex-end;gap:12px;padding-top:10px}.participant-actions{display:flex;gap:8px;flex-wrap:wrap}.tester-form{margin-top:24px}.tester-sets{padding:20px 24px}.tester-sets label{display:flex;gap:12px;align-items:center;padding:14px 0;border-bottom:1px solid var(--line)}.tester-sets label input{width:18px;height:18px}

/* CR-004: Identiti korporat sekurang-kurangnya pada header portal. */
.topbar { background: var(--uatms-identity, #17324D); }
.topbar, .topbar .brand, .topbar .brand small, .topbar .user-name { color: var(--uatms-identity-text, #FFFFFF); }
.topbar .button.quiet {color:var(--uatms-identity-text,#FFFFFF);border-color:var(--uatms-identity-text,#FFFFFF);}
.identity-logo-preview { display:block; max-width:190px;max-height:110px;object-fit:contain;margin:10px 0; }
.identity-settings-card {max-width:970px;}
.identity-fieldset {border:1px solid #dee4eb;border-radius:12px;padding:18px;margin:20px 0;}
.identity-fieldset legend {font-weight:700;padding:0 8px;}
.identity-address-grid {display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:12px;}
.identity-address-grid .field {margin-bottom:0;}

/* v0.24.1: shared default brand; foreground comes from the existing identity theme. */
.uatms-logo{display:inline-flex;align-items:center;gap:12px;color:inherit;min-width:0;vertical-align:middle}
.uatms-logo>svg{display:block;width:46px;height:46px;flex-shrink:0}
.uatms-logo-wordmark{display:block;line-height:1.1;white-space:nowrap;letter-spacing:.3px}
.uatms-logo-wordmark strong{display:block;font-size:22px;font-weight:750}
.uatms-logo .uatms-logo-wordmark small{display:block;margin-top:5px;font-size:10px;font-weight:400;line-height:1.25;letter-spacing:.3px;color:inherit;opacity:1}
.login-story{background:var(--uatms-identity,#17324D);color:var(--uatms-identity-text,#FFFFFF)}
.login-story .story-brand{display:block;margin-bottom:24px;letter-spacing:normal}
.login-story .uatms-logo{gap:16px}
.login-story .uatms-logo>svg{width:68px;height:68px}
.login-story .uatms-logo-wordmark strong{font-size:40px}
.login-story .uatms-logo-wordmark small{font-size:12px;margin-top:6px}
.login-story>p,.login-story .story-line,.login-story .story-line span{color:inherit}
.login-story .story-line{border-color:color-mix(in srgb,currentColor 20%,transparent)}
@media(max-width:760px){
 .topbar .uatms-logo{gap:8px}
 .topbar .uatms-logo>svg{width:32px;height:32px}
 .topbar .uatms-logo-wordmark strong{font-size:18px}
 .topbar .uatms-logo-wordmark small{font-size:8px;letter-spacing:0;margin-top:4px}
 .login-story .uatms-logo{gap:10px}
 .login-story .uatms-logo>svg{width:48px;height:48px}
 .login-story .uatms-logo-wordmark strong{font-size:32px}
 .login-story .uatms-logo-wordmark small{font-size:10px}
}

.table-action.tester-view-action{color:#1565c0}.tester-view-action svg{vertical-align:middle}

body[data-project-readonly] #main-content form[method="post"]:not([data-project-reopen]),
body[data-project-readonly] #main-content [hidden] { display: none !important; }
