/* Shared public/GIM workspace. No business or data behavior is defined here. */
:root{--ink:#162e36;--muted:#64777e;--line:#e1e8eb;--page:#f4f6f7;--teal:#2459a6;--navy:#173b62;--navy2:#102c48;--shadow:none;--portal-accent-bg:#edf3fc}
body[data-tenant="gim"]{--teal:#126e68;--navy:#163c46;--navy2:#112f38;--page:#f4f6f7;--portal-accent-bg:#eaf4f1}
body{font-family:"Segoe UI",system-ui,sans-serif;line-height:1.5}
button,input,select,textarea{font:inherit}
button:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid #43a8b8;outline-offset:3px}
[hidden]{display:none!important}
.portal-skip{position:fixed;left:230px;top:-100px;z-index:100;background:#fff;padding:12px;border:2px solid var(--teal)}.portal-skip:focus{top:10px}
.portal-sidebar{position:fixed;inset:0 auto 0 0;width:218px;background:var(--navy2);color:#dfedf0;padding:30px 18px 20px;display:flex;flex-direction:column;z-index:20}
.portal-brand{display:flex;align-items:center;gap:12px;padding:5px 7px 24px}.portal-brand strong{display:block;font-size:14px;color:white}.portal-brand small{display:block;font-size:11px;line-height:1.7;color:#acc4cc;margin-top:4px}.portal-mark{border-radius:12px;display:grid;place-items:center;min-width:42px;height:44px;background:#24636b;color:#fff;font-size:13px;font-weight:800}
.portal-nav-label{font-size:9px;letter-spacing:.14em;color:#8cabb7;margin:10px 12px}
.portal-nav{display:grid;gap:6px}.portal-nav button{display:flex;align-items:center;gap:11px;min-height:46px;text-align:left;padding:10px 12px;background:none;color:#d5e5eb;border:0;border-radius:9px;font-size:13px;cursor:pointer}.portal-nav button>span{font-size:20px;width:20px;line-height:1}.portal-nav button:hover:not(:disabled){background:#21434f}.portal-nav button.active{background:#234a56;box-shadow:inset 3px 0 0 #7bc2bd;color:#fff}.portal-nav button:disabled{opacity:.5;cursor:default}.portal-nav button small{font-size:9px;padding:2px 4px;background:#335360;border-radius:3px;margin-left:auto}
.portal-sidebar-foot{margin-top:auto;padding:20px 10px 0;color:#aac3cc;font-size:11px}.portal-sidebar-foot>div{display:flex;align-items:center;gap:10px;border-top:1px solid #31505a;padding-top:17px;margin-top:17px;color:#fff}.portal-avatar{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:#315663;color:#dcecf0;font-size:12px}
.topbar{margin-left:218px;background:#fff;color:var(--ink);box-shadow:none;border-bottom:1px solid var(--line);padding:18px 32px;min-height:78px}.topbar .mark{display:none}.brand h1{font-size:15px;font-weight:650}.brand p{color:var(--muted);font-size:11px}.user-pill{color:var(--muted);border:0}.topbar .btn{font-size:12px;font-weight:500}.top-actions{gap:8px}#moduleHomeBtn{display:none!important}
main{margin:0 0 0 218px;max-width:none;padding:30px 32px 40px;min-width:0}#portalMain:focus{outline:none}
.module-home{max-width:1350px;margin:0 auto}.module-welcome{margin-bottom:30px}.portal-eyebrow{display:block;font-size:11px;letter-spacing:.08em;font-weight:750;color:var(--teal);margin-bottom:9px}.module-welcome h2{font-size:29px;letter-spacing:-.03em;line-height:1.25}.module-welcome p{font-size:13px;margin-top:10px}.portal-section-title{font-size:16px;margin:0 0 16px}.module-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.module-card{border-radius:13px;padding:22px 20px;min-height:295px;box-shadow:none}.module-card-icon,.module-card.converter .module-card-icon,.module-card.lease .module-card-icon{width:42px;height:42px;border-radius:11px;background:var(--portal-accent-bg);color:var(--teal);font-size:12px}.module-card h3{font-size:18px;margin:15px 0 7px}.module-card p{font-size:12px;line-height:1.7}.module-card .module-meta{font-size:11px;line-height:1.6;border:0;padding-top:8px}.module-card .btn{width:100%;font-size:12px;min-height:42px}.module-card .btn-light{font-weight:500}
.btn{border-radius:8px;min-height:40px;font-weight:600}.btn-primary,.btn-navy{background:var(--teal);color:white}.btn-primary:hover,.btn-navy:hover{background:var(--navy)}.btn-light:hover{background:var(--portal-accent-bg)}.card,.person-result{box-shadow:none;border-radius:13px}.card-head h2,.card-head h3{font-size:16px}.card-head p,.card-body .note{font-size:12px}.input{min-height:42px;border-color:#d4dfe3;border-radius:8px}label{font-weight:600;font-size:12px}.note{background:#eff6f7;border-color:#d8e7e9}.note.warning{background:var(--amber-bg);border-color:#ead69d}.note.danger-note{background:var(--red-bg);border-color:#f0c8c8}
.portal-home-bottom{display:grid;grid-template-columns:1.25fr 1fr;gap:20px;margin-top:8px}.portal-help-card{background:#fff;border:1px solid var(--line);padding:22px;border-radius:13px;min-width:0}.portal-help-card h3{font-size:16px;margin:0 0 15px}.portal-help-card p,.portal-help-card small{color:var(--muted);font-size:12px;line-height:1.7}.portal-help-card small{font-size:11px}.portal-archive-shortcuts{display:grid;gap:8px;margin:18px 0}.portal-archive-shortcuts button{display:flex;justify-content:space-between;align-items:center;text-align:left;color:var(--ink);border:1px solid var(--line);border-radius:8px;background:white;padding:12px;font-size:12px;cursor:pointer;min-height:44px}.portal-archive-shortcuts button:hover{background:var(--portal-accent-bg)}.portal-help-card ol{padding-left:20px;margin:0;color:var(--teal)}.portal-help-card li{padding:10px 0 12px 6px;border-bottom:1px solid var(--line);font-size:12px}.portal-help-card li:last-child{border:0}.portal-help-card li strong{display:block;color:var(--ink);font-weight:600}.portal-help-card li span{display:block;color:var(--muted);font-size:11px;margin-top:4px}.portal-privacy-note{font-size:11px;color:var(--muted);margin:24px 0 0}
.portal-module-nav{display:flex;gap:6px;align-items:center;border-bottom:1px solid var(--line);margin:-8px 0 22px;padding-bottom:8px}.portal-module-nav button{padding:10px 16px;border:0;background:none;color:var(--muted);border-radius:7px;cursor:pointer;min-height:44px;font-size:13px;font-weight:600}.portal-module-nav button[aria-pressed="true"]{color:var(--teal);background:var(--portal-accent-bg)}.portal-module-nav span{margin-left:auto;font-size:11px;color:var(--muted)}.portal-loading{border:1px solid #d3e2e9;border-radius:10px;background:#eef6fa;padding:14px;margin:0 0 18px;font-size:13px}
.ari-module-toolbar{display:none}.converter-shell{border:0;border-radius:0;background:transparent;overflow:visible;box-shadow:none}.converter-frame{min-height:480px;height:900px;background:var(--page)}
.ari-archive,.inm-archive{max-width:none}.ari-archive-card,.inm-archive-card{box-shadow:none;border-radius:13px}.ari-archive-heading h2,.inm-archive-heading h2{font-size:25px;letter-spacing:-.02em}.ari-archive-heading p,.inm-archive-heading p{max-width:780px;font-size:12px}.ari-archive-table th,.inm-archive-table th{background:#f5f8f8;font-size:10px;letter-spacing:.04em}.ari-archive-table td,.inm-archive-table td{padding:14px 11px}.ari-archive-table tbody tr:hover,.inm-archive-table tbody tr:hover{background:#f8fbfc}.ari-archive-list,.inm-archive-list{max-width:100%;overscroll-behavior-x:contain}.ari-archive-tree,.inm-archive-tree{font-size:13px}
.tabs{border-bottom:1px solid var(--line);padding-bottom:10px;gap:6px}.tab{font-size:12px;border:0;background:transparent;padding:11px 15px}.tab.active{color:var(--teal);background:var(--portal-accent-bg)}.grid{grid-template-columns:minmax(290px,.8fr) minmax(0,1.3fr)}.grid>.card{min-width:0}.table-wrap{max-width:100%}.card-head.split{flex-wrap:wrap}.source-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.risk-config-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.login{background:radial-gradient(circle at 20% 15%,var(--navy),var(--navy2) 65%)}.login-top{background:var(--navy)}.login-card{border-radius:16px}.login-body .btn{min-height:44px}
/* Keep access readable at the device's normal scale, including landscape.
   These rules are scoped to access; browser pinch zoom remains available. */
#loginView{grid-template-columns:minmax(0,1fr);min-height:100svh;padding:24px;font-size:16px}
#loginView .login-card{width:100%;max-width:480px;min-width:0}
#loginView .login-top{padding:24px}
#loginView .login-top h1{font-size:24px;line-height:1.25}
#loginView .login-top p{font-size:16px;line-height:1.5}
#loginView .login-body{padding:24px}
#loginView .form-grid{grid-template-columns:minmax(0,1fr);gap:16px}
#loginView label{font-size:16px;margin-bottom:8px}
#loginView .input{font-size:18px;line-height:1.5;min-height:50px;min-width:0}
#loginView .btn{font-size:17px;line-height:1.4;min-height:50px;white-space:normal}
#loginView .auth-badge{margin-bottom:8px;font-size:12px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:#f3cf83}
#loginView .auth-switch{width:100%}
#loginView .auth-submit{width:100%;margin-top:16px}
#loginView .auth-hint,#loginView .auth-notice,#loginView .auth-privacy,#loginView .login-error{font-size:14px;line-height:1.5;overflow-wrap:anywhere}
#loginView .auth-hint{margin:6px 0 0;color:var(--muted)}
#loginView .auth-privacy{margin:14px 0 0;color:var(--muted)}
@media(max-width:650px){#loginView{padding:20px 16px}#loginView .login-top,#loginView .login-body{padding:22px 20px}}
.auth-badge{margin-bottom:8px;font-size:11px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:#f3cf83}.auth-intro{margin:0 0 18px;color:var(--muted);line-height:1.55}.auth-hint{margin:6px 0 0;font-size:12px;line-height:1.5;color:var(--muted)}.auth-notice{margin:18px 0 0;padding:12px;border:1px solid var(--border,#d7e2e8);border-radius:10px;background:#f5f8fa;font-size:12px;line-height:1.6;color:var(--muted)}.auth-switch,.auth-submit{width:100%;margin-top:16px}#registerForm .login-top h1{margin-top:0}#registerForm .login-body{padding-top:22px}
/* Risk views share main's sidebar offset. Wide tables scroll within their own
   card instead of widening the page or hiding controls behind navigation. */
.risk-config-section{min-width:0;overflow-x:auto}.risk-toolbar>div{min-width:0}
@media(max-width:1150px){.risk-config-grid{grid-template-columns:minmax(0,1fr)}}
@media(min-width:1600px){main{padding:32px 48px}.topbar{padding:18px 48px}}
@media(max-width:1150px){.module-grid{gap:12px}.module-card{padding:18px 15px}.grid{grid-template-columns:1fr}.portal-module-nav span{display:none}.portal-sidebar{width:200px;padding-left:12px;padding-right:12px}main,.topbar{margin-left:200px}main{padding:25px 22px}.topbar{padding:16px 22px}}
@media(max-width:900px){.portal-sidebar{position:static;width:auto;padding:12px 16px;gap:8px}.portal-brand{padding:0;gap:10px}.portal-brand small{display:none}.portal-mark{width:32px;min-width:32px;height:32px;border-radius:8px;font-size:10px}.portal-nav-label,.portal-sidebar-foot{display:none}.portal-nav{display:flex;gap:5px;overflow-x:auto}.portal-nav button{flex:none;min-height:44px;font-size:12px;padding:8px 10px}.portal-nav button>span{font-size:16px;width:16px}.portal-nav button:disabled{display:none}main,.topbar{margin-left:0}.topbar{min-height:65px;padding:14px 20px}.brand h1{font-size:14px}.brand p{font-size:10px}.top-actions .user-pill{display:none}main{padding:24px 20px}.module-home{margin:0}.module-card h3{font-size:16px}.module-card .btn{font-size:11px}.portal-skip{left:10px}.portal-help-card{padding:18px}.module-welcome h2{font-size:27px}}
@media(max-width:650px){.module-grid,.portal-home-bottom,.source-grid,.risk-config-grid{grid-template-columns:1fr}.module-card{padding:20px;min-height:0}.module-card p{font-size:13px;margin-bottom:10px}.module-card .module-meta{font-size:12px}.module-card .btn{font-size:13px}.module-card-icon{float:none}.module-welcome{margin-bottom:25px}.portal-home-bottom{gap:14px}.portal-module-nav{margin-top:-7px;gap:2px}.portal-module-nav button{font-size:12px;padding:10px 14px}.topbar{padding:12px 16px}.top-actions .btn{padding:9px;min-height:44px}.brand p{display:none}main{padding:22px 14px}.form-grid{grid-template-columns:1fr}.input,input,select,textarea{font-size:16px}.full{grid-column:1/-1}.btn,.tab{min-height:44px}.card-body{padding:16px}.card-head{padding:16px}.ari-archive-heading,.inm-archive-heading{gap:10px}.converter-frame{min-height:480px}.check-list{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{scroll-behavior:auto!important;transition:none!important}}
@media(max-width:650px){.portal-nav{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));overflow:visible}.portal-nav button{width:100%;font-size:12px}.portal-sidebar{gap:10px}.module-card{min-height:0}.module-card .module-meta{margin-top:0}}
@media print{.portal-sidebar,.portal-module-nav,.portal-home-bottom,.portal-loading{display:none!important}main{margin:0!important;max-width:none;padding:0}.topbar{margin:0}.grid{display:block}}
