/* Horizon: shared visual layer, no permission or business-rule changes. */
:root{--h-navy:#15344a;--h-accent:#14758c;--h-soft:#edf7fa;--h-line:#e2eaf0;--h-muted:#62788b;--h-ease:cubic-bezier(.23,1,.32,1)}
body{font-family:'Segoe UI',Arial,sans-serif;background:#f5f9fb;color:#17324d}button,.button{transition:transform 140ms var(--h-ease)}button:active:not(:disabled),.button:active{transform:scale(.97)}button:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid #4997bd;outline-offset:3px}button:disabled{cursor:wait}body .primary,body .head-actions .primary{background:var(--h-accent);border-color:var(--h-accent);border-radius:11px;box-shadow:none}body .primary:hover:not(:disabled){background:#105f73;border-color:#105f73}
body .app-icons{background:#102b40}body .rail{background:var(--h-navy);border-color:#24465d;scrollbar-color:#4c6577 transparent}body .rail .brand strong{color:white}body .rail .brand small,body .rail .nav-label,body .rail .rail-foot{color:#b8cbd9}body .rail .rail-foot{border-color:#355065}body .rail .nav-btn{color:#d4e1eb;transition:none;border-left:0}body .rail .nav-btn:hover:not(:disabled){background:#23485f;color:white;transform:none}body .rail .nav-btn.active{background:#2b5067!important;color:white!important;border-left:0}body .rail .workspace{border-radius:16px;box-shadow:none}body .rail .workspace .client-logo{max-width:100%}
body .topbar{background:white;border-bottom:1px solid var(--h-line);box-shadow:none}body .content{background:#fff}body .content>.page-head,body .content:has(.dashboard-kpis)>.page-head{padding:25px 28px;background:#f0f7fa;border:1px solid #e5eff3;border-radius:20px;min-height:125px}body .content:has(.dashboard-kpis)>.page-head:before{display:none}body .page-head h1{color:var(--h-navy);letter-spacing:-.8px}body .page-head .eyebrow{color:#39748b}body .page-head p{color:var(--h-muted)}body .panel,body .chapter-card,body .analysis-card,body .metric,body .metric.accent,body .dashboard-kpi{border-radius:17px;border-color:var(--h-line);box-shadow:0 5px 20px #1c526706}body .chapter-card:hover:not(:disabled){background:#f8fbfd;border-color:#a9cbd7;transform:none}body .module-head{background:#f6f9fc!important;border-color:var(--h-line);border-radius:16px 16px 0 0}body .module-description,body .muted,body .empty,body .footer-note{color:var(--h-muted)}body th{background:#f5f8fa;color:#526b7e}body td,body th{border-color:var(--h-line)}body td strong{color:#245d7a;text-decoration-color:#bfd3de}body tbody tr:hover{background:#fafcfd}body .subnav button{color:#5e7288;border-radius:8px 8px 0 0}body .subnav button.active{background:var(--h-soft);color:#16677e;border-bottom-color:var(--h-accent)}body .workflow span{background:#f0f4f8;color:#5c7285}body .notice{background:#f4f8fc;color:#355b77;border-color:#dce8ef;border-left-color:#629ab2}body .file{background:#f7fafc;border-color:var(--h-line);color:#315974;border-radius:10px}body dialog{border-radius:20px;border-color:var(--h-line);box-shadow:0 25px 90px #14344a30}body dialog::backdrop{background:#102c4359;backdrop-filter:none}body .field{color:#38566c}body .field input,body .field select,body .field textarea{border-radius:9px;border-color:#cfdde6;color:#17324d}body #toast{background:var(--h-navy);border-radius:12px}body .rts-chat{border-radius:20px;border-color:var(--h-line)}body .header-shortcut:hover{background:var(--h-soft)}
body .portal .panel{border-radius:20px;border-color:var(--h-line);box-shadow:0 5px 20px #1c526706}body .portal>h1{font-size:30px;letter-spacing:-.8px}body .portal .admin-intro{border-radius:20px;background:#f0f7fa;border-color:#e1edf3;padding:27px;box-shadow:none}body .portal .admin-intro h2{font-size:27px;letter-spacing:-.8px}body .portal .admin-intro p{font-size:14px;line-height:1.7}body .portal .admin-card{border-radius:18px;border-color:var(--h-line);box-shadow:0 5px 20px #1c526706}body .portal .admin-card:hover{transform:none;background:#f9fcfd}body .portal .admin-priorities a{background:#fff;border-radius:17px;border-color:var(--h-line);font-size:13px}body .portal .admin-priorities strong{color:var(--h-navy);font-size:35px}body .portal .admin-priorities a:nth-child(2){border-top:3px solid #c48838}body .portal .admin-priorities a:nth-child(3){border-top:3px solid #8770b5}body .portal .admin-priorities a:nth-child(4){border-top:3px solid #bd6585}body .portal .tabs a{border-radius:9px}body .portal .tabs .active{background:var(--h-accent)}body .portal .secondary{border-radius:10px;background:#fff;border-color:#d6e2e9;color:#35596c}
.horizon-nav{display:none}body.horizon-admin .horizon-nav{display:flex;flex-direction:column;gap:6px;position:fixed;left:0;top:0;bottom:0;width:235px;background:var(--h-navy);padding:30px 19px;z-index:20;overflow:auto}.horizon-nav .horizon-brand{display:block;color:white;font-size:23px;font-weight:750;letter-spacing:-.6px;padding:0 10px 25px}.horizon-brand small{display:block;font-size:9px;letter-spacing:1.3px;color:#b8cbd9;margin-top:7px}.horizon-nav a{display:flex;align-items:center;gap:12px;color:#d2e0eb;text-decoration:none;padding:12px;border-radius:10px;font-size:13px}.horizon-nav a[aria-current=page]{background:#2b5067;color:white}.horizon-nav a:hover{background:#24485e}.horizon-nav svg{width:19px;height:19px;flex-shrink:0;fill:none;stroke:currentColor;stroke-width:1.7}.horizon-admin{padding-left:235px}.horizon-admin .site-header{padding:16px 30px;background:white;border-bottom:1px solid var(--h-line)}.horizon-admin .site-header .brand img{max-width:155px}.horizon-admin .site-header nav{gap:20px}.horizon-admin .site-header nav a{font-size:13px}.horizon-admin .portal{max-width:1450px;padding:30px 32px 100px}.horizon-admin .admin-toplinks,.horizon-admin .portal>nav.tabs{display:none}.horizon-admin .portal p,.horizon-admin .portal label,.horizon-admin .portal button{font-size:14px}.horizon-admin .portal table{width:100%;border-collapse:collapse}.horizon-admin .portal th,.horizon-admin .portal td{padding:14px 12px;border-bottom:1px solid var(--h-line)}
.horizon-feedback{position:fixed;right:24px;bottom:95px;z-index:1000;max-width:calc(100vw - 32px);width:330px;padding:16px 18px;display:flex;gap:13px;align-items:center;border:1px solid var(--h-line);border-radius:16px;background:white;box-shadow:0 12px 45px #16344d20;opacity:0;transform:translateY(8px);pointer-events:none;transition:opacity 180ms var(--h-ease),transform 180ms var(--h-ease);color:#17324d;font:13px/1.5 'Segoe UI',Arial,sans-serif}.horizon-feedback.visible{opacity:1;transform:translateY(0)}.horizon-feedback small{display:block;color:#647b8b;font-size:11px}.horizon-spinner{display:block;width:21px;height:21px;flex-shrink:0;border:2px solid #dfeaf0;border-top-color:var(--h-accent);border-radius:50%;animation:horizon-spin .7s linear infinite}.horizon-feedback[data-state=error]{border-color:#e9b6bc}.horizon-feedback[data-state=success] .horizon-mark{color:#187b57}.horizon-mark{font-size:21px;width:21px;flex-shrink:0;color:#b64955}@keyframes horizon-spin{to{transform:rotate(360deg)}}.horizon-form-busy{cursor:progress}.horizon-form-busy button[type=submit],.horizon-form-busy button:not([type]){opacity:.65}.session-status[data-saving=true]:before{content:'';display:inline-block;width:10px;height:10px;border:2px solid #d7e4ec;border-top-color:#14758c;border-radius:50%;animation:horizon-spin .7s linear infinite;margin-right:6px;vertical-align:middle}
body.horizon-keyboard button:active,body.horizon-keyboard .button:active{transform:none}body.horizon-keyboard .horizon-feedback{transition:none}
@media(max-width:1050px){.horizon-admin{padding-left:200px}body.horizon-admin .horizon-nav{width:200px;padding:24px 12px}.horizon-admin .portal{padding:25px 20px 90px}.horizon-admin .site-header{padding:15px 20px}.horizon-admin .site-header nav{gap:12px}}
@media(max-width:760px){body.horizon-admin{padding-left:0}body.horizon-admin .horizon-nav{position:static;width:100%;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));padding:16px;gap:4px}.horizon-nav .horizon-brand{grid-column:1/-1;padding:0 10px 13px}.horizon-nav a{padding:10px;font-size:12px}.horizon-admin .site-header{position:static;flex-wrap:wrap;gap:12px}.horizon-admin .portal{padding:22px 16px 90px}.horizon-admin .portal table{display:block;overflow:auto}body .content>.page-head,body .content:has(.dashboard-kpis)>.page-head{padding:20px;min-height:0;border-radius:16px}.horizon-feedback{right:16px;bottom:86px;width:310px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto!important}body *,body *:before,body *:after{animation:none!important;transition:none!important}body button:active,body .button:active{transform:none!important}.horizon-spinner{border-top-color:var(--h-accent);border-right-color:var(--h-accent)}}
@media print{.horizon-nav,.horizon-feedback{display:none!important}.horizon-admin{padding-left:0}.horizon-admin .portal{padding:0}}
/* ISO 39002 document layouts: readable landscape tables with a document cartouche. */
body #editor.iso-wide{width:min(1480px,calc(100vw - 24px));max-width:none;padding:24px}body .iso-document-catalog{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}body .iso-document-catalog .iso-tool-card{border-radius:13px;border-top:4px solid #3983b4;padding:23px;gap:10px}body .iso-document-catalog .iso-tool-card:nth-child(2n){border-top-color:#bb852f}body .iso-document-catalog .iso-tool-card:nth-child(3n){border-top-color:#7962b3}body .iso-document-catalog .iso-tool-card h2{font-size:19px;color:#193d57}body .iso-mini-table{width:100%;border:1px solid #cddce6;border-radius:5px;overflow:hidden;margin:5px 0 12px;pointer-events:none}body .iso-mini-table>div{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(0,1fr)}body .iso-mini-table span{border-right:1px solid #dbe5ed;border-bottom:1px solid #dbe5ed;min-height:23px;padding:5px;font-size:8px;line-height:1.4;color:#3d5971;overflow-wrap:anywhere}body .iso-mini-table>div:first-child{background:#edf4fa}body .iso-mini-table>div:first-child span:nth-child(3n+2){background:#fff4df}body .iso-mini-table>div:first-child span:nth-child(3n){background:#f1edfb}body .iso-mini-table>div:last-child{background:#fafcfd}
body .iso-document{padding:0;border:1px solid #c8d7e1;border-radius:8px;overflow:visible;background:white}body .iso-document legend{font-size:15px;color:#234e6c;margin-left:15px;padding:0 10px}body .iso-document legend svg{width:22px;height:22px;color:#297d9d;vertical-align:middle}body .iso-doc-head{display:grid;grid-template-columns:1fr 2fr 1fr;border-bottom:2px solid #315d78;min-height:140px;margin-top:8px}.iso-doc-head>div{padding:17px;border-right:1px solid #cddce6}.iso-doc-head>div:last-child{border:0}.iso-doc-company{display:flex;flex-direction:column;justify-content:center;gap:8px}.iso-doc-company svg{width:26px;height:26px;color:#2c81ad}.iso-doc-company strong{font-size:16px;color:#173e59;overflow-wrap:anywhere}.iso-doc-company small{font-size:10px;color:#687e90}.iso-doc-title{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:8px;background:#f4f8fb}.iso-doc-title strong{font-size:17px;line-height:1.4}.iso-doc-title span{font-size:13px}.iso-doc-title small{font-size:10px;color:#617c90}.iso-doc-control .field{display:grid;grid-template-columns:75px 1fr;gap:8px;align-items:center;margin:0 0 6px;font-size:10px}.iso-doc-control input{width:100%;min-width:0;font-size:11px;padding:6px!important}.iso-doc-context{padding:13px 17px;border-bottom:1px solid #dce6ed}.iso-doc-context summary,.iso-method summary{font-size:12px;cursor:pointer;color:#446880}.iso-doc-context summary svg{width:16px;height:16px;vertical-align:middle}.iso-doc-context .form-grid{margin-top:15px}.iso-table-caption{padding:14px 17px;display:flex;align-items:center;gap:10px;background:#eaf3fa;border-bottom:1px solid #cddce6;font-size:14px;color:#244f6f}.iso-table-caption>svg{width:22px;height:22px}.iso-table-caption>span{font-size:10px;margin-left:auto;color:#5e7a8e}body .iso-document .iso-worktable{min-width:950px;table-layout:fixed;width:100%;border-collapse:collapse}body .iso-document[data-tool=journey] .iso-worktable{min-width:1170px}body .iso-document .iso-worktable th{background:#eaf3fb;color:#234f70;padding:12px 9px;font-size:12px;font-weight:650;border:1px solid #cddce6;text-align:left;vertical-align:top;line-height:1.4}body .iso-document .iso-worktable th:nth-child(2){background:#fff2dc;color:#845923}body .iso-document .iso-worktable th:nth-child(3){background:#f0edfa;color:#63518b}body .iso-document .iso-worktable th:nth-child(4){background:#fff0e5;color:#8f572e}body .iso-document .iso-worktable th:nth-child(5){background:#eaf1fc;color:#3b5f8a}body .iso-document .iso-worktable th:nth-child(6){background:#edf5f7;color:#356676}body .iso-document .iso-worktable th:nth-child(7){background:#f8edf4;color:#855b77}body .iso-column-icon{display:block;margin-bottom:6px}.iso-column-icon svg{width:20px;height:20px}body .iso-document .iso-worktable td{border:1px solid #d7e2e9;padding:5px;background:#fff}body .iso-document .iso-worktable tr:nth-child(even) td{background:#f8fafc}body .iso-document .iso-worktable textarea{border:1px solid transparent;background:transparent;min-height:115px;font-size:12px;line-height:1.6;padding:7px;color:#29475e}body .iso-document .iso-worktable textarea:focus{outline:2px solid #478bab;background:white}body .iso-document .iso-worktable :disabled{color:#36536a;opacity:1;background:transparent}body .iso-document[data-tool=journey] th:nth-child(1){width:16%}body .iso-document[data-tool=journey] th:nth-child(2){width:17%}body .iso-document[data-tool=journey] th:nth-child(3){width:8%}body .iso-document[data-tool=journey] th:nth-child(4){width:8%}body .iso-document[data-tool=journey] th:nth-child(5){width:14%}body .iso-document[data-tool=journey] th:nth-child(6){width:22%}body .iso-document[data-tool=journey] th:nth-child(7){width:12%}.iso-doc-footer{display:flex;justify-content:space-between;gap:10px;padding:11px 16px;border-top:1px solid #cddce6;font-size:10px;color:#6b8294}.iso-document .iso-add{margin:14px 17px}.iso-method{padding:12px 17px;border-top:1px solid #e0e8ef}.iso-method p{font-size:12px;color:#657c8d;margin-top:12px}.iso-migration{padding:12px 17px;background:#fff7e7;color:#825d2e;font-size:12px;margin:0}.iso-document .iso-critical{margin:10px 15px}.iso-document .table-wrap:focus-visible{outline:2px solid #478bab;outline-offset:2px}
@media(max-width:760px){body .iso-document-catalog{grid-template-columns:1fr}body #editor.iso-wide{padding:15px}.iso-doc-head{grid-template-columns:1fr}.iso-doc-head>div{border-right:0;border-bottom:1px solid #dce6ed;padding:13px}.iso-doc-company{flex-direction:row;flex-wrap:wrap;align-items:center;justify-content:flex-start}.iso-doc-company small{display:none}.iso-table-caption>span{display:none}.iso-doc-footer{flex-wrap:wrap}}
@media print{@page{size:A4 landscape;margin:10mm}body.iso-print #editor .iso-doc-head{display:grid;grid-template-columns:1fr 2fr 1fr}body.iso-print #editor .iso-doc-context,body.iso-print #editor .iso-method,body.iso-print #editor .iso-migration{display:none!important}body.iso-print #editor .iso-doc-control input{display:none}body.iso-print #editor .iso-doc-control .iso-print-value{display:block}body.iso-print #editor .iso-worktable{min-width:0!important;width:100%!important}body.iso-print #editor .iso-worktable th{font-size:9px;padding:7px;print-color-adjust:exact;-webkit-print-color-adjust:exact}body.iso-print #editor .iso-worktable thead{display:table-header-group}body.iso-print #editor .iso-doc-title strong{font-size:14px}body.iso-print #editor .iso-doc-head{min-height:85px}body.iso-print #editor .iso-doc-head>div{padding:9px}body.iso-print #editor .iso-doc-footer{font-size:8px}}
