/* Portal identity and account management, using the established Onest palette. */
[hidden]{display:none!important}
.portal-symbol{display:inline-flex;position:relative;width:30px;height:30px;flex:none;align-items:center;gap:5px}
.portal-symbol i{display:block;width:11px;height:26px;border:2px solid currentColor;border-radius:3px;transform:skewY(-12deg)}
.portal-symbol i:last-child{height:20px;background:currentColor}
.portal-wordmark,.sidebar .portal-brand{display:flex;align-items:center;gap:11px;font:600 25px/1 'Onest',sans-serif;color:#fff;text-decoration:none}
.portal-wordmark .portal-symbol,.sidebar .portal-brand .portal-symbol{color:#ccff00}
.sidebar .portal-brand{padding:0;min-width:0}
.sidebar .portal-brand>span:last-child{font-size:25px;letter-spacing:-.7px}
.sidebar-collapsed .sidebar .portal-brand>span:last-child{display:none}
.sidebar-collapsed .sidebar .portal-brand .portal-symbol{display:flex}
.sidebar .settings-nav{margin-top:20px;border-top:1px solid #2b2b2b;padding-top:16px}
.access-entry{margin:0;background:#101310;color:#f4f6f1;font-family:'Onest',sans-serif}
.access-entry #app{min-height:100dvh}
.login-shell{position:relative;isolation:isolate;background:#101310;display:grid;grid-template-columns:minmax(380px,.94fr) minmax(440px,1.06fr);min-height:100dvh}
.login-story{position:relative;overflow:hidden;background:transparent;color:#fff;padding:40px 48px 30px;display:flex;flex-direction:column;gap:36px;min-height:100dvh}
.login-scene{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:left center;z-index:-2}
.login-shell:before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(16,19,16,.20) 0%,rgba(16,19,16,.24) 28%,rgba(16,19,16,.47) 43%,rgba(16,19,16,.88) 59%,rgba(16,19,16,.98) 72%,#101310 84%),linear-gradient(180deg,rgba(10,15,12,.55) 0%,rgba(10,15,12,.10) 35%,rgba(10,15,12,.04) 65%,rgba(10,15,12,.36) 100%);pointer-events:none}
.login-story-copy{max-width:475px}
.login-story h1{font-size:clamp(32px,3.25vw,48px);line-height:1.12;font-weight:550;letter-spacing:-1.5px;margin:10px 0 17px}
.login-story-copy>p{font-size:15px;line-height:1.6;color:#d5ddd9;margin:0}
.login-story-footer{font-size:12px;color:#dde4e0;margin:auto 0 0;padding-top:30px}
.login-content{padding:40px 48px 26px;display:flex;flex-direction:column;align-items:center;justify-content:center;background:transparent;min-width:0;color-scheme:dark}
@media(min-width:1100px){.login-content{padding-left:128px}}
.login-form-wrap{width:100%;max-width:380px;margin:auto 0;padding:34px 0}
.access-eyebrow{display:flex;align-items:center;gap:9px;color:#a3afa3;font-size:11px;font-weight:500;letter-spacing:.7px;text-transform:uppercase}
.access-eyebrow i{width:7px;height:7px;border-radius:2px;background:#ccff00;box-shadow:0 0 0 4px #ccff0010}
.login-form-wrap h2{font-size:36px;font-weight:550;line-height:1.18;letter-spacing:-1.2px;margin:23px 0 12px;color:#f4f6f1}
.login-form-wrap>h2:first-child{margin-top:0}
.login-lead{font-size:14px;line-height:1.7;color:#a3afa5;margin:0 0 36px;max-width:370px}
.access-field{display:block;margin:0 0 18px;font-size:14px;color:#253950;font-weight:500}
.access-field>span:first-child{display:block;margin-bottom:8px}
.access-field input{width:100%;min-height:45px;padding:11px 13px;border:1px solid #cddbec;border-radius:9px;background:#fff;color:#22344a;font:400 15px/1.4 'Onest',sans-serif;outline:none;box-sizing:border-box}
.access-field input:focus{border-color:#087f79;box-shadow:0 0 0 3px #087f7914}
.password-wrap{display:flex!important;position:relative;align-items:center}
.password-wrap input{padding-right:46px}
.password-wrap>button{position:absolute;right:7px;top:7px;width:32px;height:32px;display:grid;place-items:center;background:none;border:0;border-radius:6px;color:#778a9e;cursor:pointer}
.password-wrap svg{width:19px;height:19px}
.access-submit{width:100%;display:flex;align-items:center;justify-content:center;min-height:52px;padding:13px 17px;color:#202a15;background:#ccff00;border:0;border-radius:10px;font:600 15px 'Onest',sans-serif;cursor:pointer;margin-top:27px;transition:background .18s,transform .18s}
.access-submit:hover{background:#bdec00}.access-submit:active{transform:translateY(1px)}
.access-submit:disabled{opacity:.6;cursor:wait}
.access-forgot{display:block;margin:22px auto 0;padding:0;background:none;border:none;color:#b2beb2;font:400 13px 'Onest',sans-serif;cursor:pointer}
.login-support{display:flex;gap:7px;align-items:center;flex-wrap:wrap;justify-content:center;font-size:12px;color:#909d91;margin-top:28px;padding-top:20px;border-top:1px solid #ffffff14;width:100%;max-width:380px}
.login-support a{color:#d2dccd;text-decoration:none;font-weight:500}
.login-support a:hover{text-decoration:underline}
.access-error{padding:11px 13px;background:#fff0f1;color:#a63149;border-radius:8px;font-size:13px;line-height:1.5;margin:14px 0}
.access-error a{color:inherit;text-decoration:underline}
.access-hint{font-size:12px;line-height:1.5;color:#71849a;margin:-6px 0 12px}
/* Entry controls are visually separate from the CRM's editing forms. */
.login-content .access-field{color:#d9e0d5;font-size:13px;font-weight:500;margin-bottom:22px}
.login-content .access-field input{height:53px;border-color:#3a443b;border-radius:10px;background:#ffffff08;color:#f3f6ef;padding:14px 16px;font-size:15px}
.login-content .access-hint{color:#a3afa5}
.login-content .access-error{background:#351f23;border:1px solid #68424b;color:#f4c1c8}
.login-content .access-field input::placeholder{color:#89968b;opacity:1}
.login-content .access-field input:focus{border-color:#a5c951;box-shadow:0 0 0 3px #ccff0012}
.login-content .password-wrap input{padding-right:48px}
.login-content .password-wrap>button{top:10px;right:10px;color:#a3b29f}
.access-entry :focus-visible{outline:2px solid #ccff00;outline-offset:3px}
.access-forgot:hover{color:#e3f5c9;text-decoration:underline}
.settings-page{padding:0 26px 28px;overflow:auto;min-height:0;flex:1}
.settings-tabs{display:flex;gap:27px;border-bottom:1px solid #dbe4ef;min-height:59px;margin-bottom:24px;overflow-x:auto;flex-shrink:0}
.settings-tabs button{background:none;border:none;border-bottom:2px solid transparent;padding:15px 0;font:500 14px 'Onest',sans-serif;color:#75889e;white-space:nowrap;cursor:pointer}
.settings-tabs button[aria-selected=true]{color:#087f79;border-bottom-color:#087f79}
.settings-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:0 0 24px}
.settings-heading h2{font-size:20px;font-weight:600;margin:0 0 7px;letter-spacing:-.3px;line-height:1.4}
.settings-heading h2 span{font-size:13px;background:#edf3fa;color:#6e829a;padding:3px 8px;border-radius:6px;font-weight:400;margin-left:8px;vertical-align:middle}
.settings-heading p,.settings-footnote{font-size:13px;color:#74869c;line-height:1.6;margin:0}
.settings-heading .btn{white-space:nowrap}
.settings-filters{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:18px}
.settings-search{display:flex;align-items:center;gap:10px;min-width:240px;border:1px solid #dbe4ef;padding:7px 12px;border-radius:9px;background:#f8fafd;color:#7990a9}
.settings-search input{border:0;background:none;font:400 13px 'Onest',sans-serif;outline:none;width:240px;color:#22344a}
.settings-filters .tab{font-size:12px;padding:7px 11px}
.account-table{border:1px solid #dbe4ef;border-radius:12px;overflow:hidden;background:#fff}
.account-table-head,.account-row{display:grid;grid-template-columns:minmax(200px,1.4fr) 118px minmax(145px,1fr) 140px 34px;gap:18px;align-items:center;padding:17px 19px}
.account-table-head{font-size:12px;color:#7b8da3;background:#f5f8fc;padding-top:13px;padding-bottom:13px}
.account-row+.account-row{border-top:1px solid #e5ecf4}
.account-row.is-disabled{background:#fafbfd}
.account-person{display:flex;align-items:center;gap:11px;min-width:0}
.settings-avatar{width:36px;height:36px;border-radius:11px;background:#e4edf7;display:grid;place-items:center;font-size:12px;font-weight:500;color:#507393;flex:none}
.account-person>span:last-child{min-width:0}
.account-person strong{display:block;font-size:14px;font-weight:500;overflow-wrap:anywhere;line-height:1.5}
.account-person small{display:block;font-size:12px;color:#7b8b9f;margin-top:3px;overflow-wrap:anywhere}
.account-person em{font-size:10px;color:#788fa7;font-style:normal;margin-left:7px}
.role-label{font-size:11px;padding:5px 8px;border-radius:5px;background:#edf3fa;color:#526b87;white-space:nowrap}
.role-label.superadmin{background:#e8f0d2;color:#536a27}
.role-label.observer{background:#f0ecf7;color:#7c6995}
.access-chips{display:flex;gap:5px;flex-wrap:wrap;font-size:10px;line-height:1.3;color:#76899e}
.access-chips span{padding:3px 6px;border:1px solid #e1e9f1;border-radius:4px}
.access-chips .full-access{font-size:12px;border:0;padding:0;color:#526d86}
.account-status-pill{font-size:12px;color:#4a806b;white-space:nowrap;display:inline-flex;align-items:center;gap:6px}
.account-status-pill i{width:6px;height:6px;border-radius:50%;background:#57a58a}
.account-status-pill.off{color:#8d929b}.account-status-pill.off i{background:#a1a7ad}
.first-login{display:block;color:#929ca9;font-size:10px;margin-top:5px}
.settings-footnote{margin-top:17px;font-size:12px}
.settings-empty{padding:40px 22px;color:#8091a5;font-size:14px;text-align:center;line-height:1.7}
.settings-form{max-width:440px;padding-bottom:25px}.settings-form .btn{margin-top:8px}
.settings-info{border-top:1px solid #e2eaf3;padding-top:23px;margin-top:15px;max-width:740px}
.settings-info h3{font-size:16px;font-weight:500;margin:0 0 12px}
.settings-info p{font-size:13px;color:#76899f;line-height:1.7;margin:0 0 15px}
.settings-info a{color:#087f79}
.settings-info dl{display:grid;grid-template-columns:150px 1fr;gap:17px;font-size:13px;line-height:1.6;margin-bottom:24px}
.settings-info dd{margin:0;color:#75889c}.settings-info dt{font-weight:500}
.role-guide{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin:26px 0}
.role-guide article{border:1px solid #dce6ef;background:#f7fafe;border-radius:12px;padding:22px}
.role-glyph{font-size:24px;color:#087f79}.role-guide h3{font-size:17px;font-weight:500;margin:14px 0 9px}
.role-guide p{font-size:13px;color:#72869b;line-height:1.65;min-height:86px}
.role-guide b{font-size:12px;font-weight:500;color:#4f6a80}
.audit-list{max-width:900px}.audit-list article{display:flex;gap:13px;align-items:flex-start;padding:18px 0;border-bottom:1px solid #e2eaf3}
.audit-dot{width:7px;height:7px;background:#88aebd;border-radius:50%;margin-top:6px;flex:none}
.audit-list strong{font-size:14px;font-weight:500}.audit-list p{font-size:12px;color:#73869b;margin:6px 0 0}.audit-list p span{color:#9aa7b7}
.audit-list time{margin-left:auto;font-size:12px;color:#8596a8;white-space:nowrap}
.account-editor{position:fixed;right:20px;top:20px;bottom:20px;width:min(600px,calc(100vw - 40px));background:#fff;z-index:1001;border:1px solid #dce6ef;border-radius:17px;box-shadow:0 15px 55px #21354c20;display:flex;flex-direction:column;color:#23364b;font-family:'Onest',sans-serif}
.account-editor>header{display:flex;justify-content:space-between;padding:24px 26px 20px;border-bottom:1px solid #e1e9f2;gap:20px}
.account-editor h2{font-size:21px;font-weight:550;letter-spacing:-.4px;margin:0 0 6px}
.account-editor>header p{margin:0;color:#8494a6;font-size:13px}
.account-editor>form{display:flex;flex-direction:column;min-height:0;flex:1}
.account-editor-body{padding:23px 26px;overflow:auto;flex:1}
.account-editor footer{display:flex;justify-content:space-between;padding:18px 26px;border-top:1px solid #e1e9f2;background:#fff;border-radius:0 0 17px 17px;gap:14px}
.settings-two-fields{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.permission-matrix{border:1px solid #e0e8f1;border-radius:10px;margin:20px 0 24px;overflow:visible}
.permission-heading{background:#f5f8fc;padding:12px 14px;display:flex;align-items:center;justify-content:space-between;border-radius:10px 10px 0 0}
.permission-heading h3{font-size:13px;font-weight:500;margin:0}.permission-heading span{font-size:11px;color:#8092a7}
.permission-row{display:grid;grid-template-columns:1fr 155px;align-items:center;gap:10px;padding:12px 14px;border-top:1px solid #e7edf4}
.permission-row strong{font-size:13px;font-weight:500}.permission-row small{display:block;font-size:11px;color:#8293a6;line-height:1.4;margin-top:3px}
.permission-row .custom-select-trigger{font-size:12px}.password-tools{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:-7px 0 23px;font-size:11px;color:#8695a7;line-height:1.5}
.password-tools button{border:0;background:none;color:#087f79;cursor:pointer;font:500 12px 'Onest',sans-serif}
.account-active-switch{display:flex;gap:12px;align-items:flex-start;padding:18px 0 4px;border-top:1px solid #e1e9f2}
.account-active-switch input{margin:2px 0;accent-color:#087f79;width:17px;height:17px;flex:none}
.account-active-switch strong{font-size:13px;font-weight:500}.account-active-switch small{display:block;font-size:12px;color:#8a99ab;margin-top:5px}
.server-save-error{position:fixed;bottom:16px;right:16px;max-width:540px;border:1px solid #e0a4ad;background:#fff3f5;padding:15px;border-radius:12px;color:#8f3043;z-index:4000;font-size:13px;box-shadow:0 4px 20px #3332}
.server-save-error span{display:block;margin-bottom:10px}.server-save-error button{font:inherit;border:1px solid #d8a8b1;color:inherit;padding:6px 9px;border-radius:5px;background:#fff;margin-right:10px;cursor:pointer}
@media(max-width:1100px){.login-story{padding:35px 30px}.login-content{padding:35px 30px}.account-table-head,.account-row{grid-template-columns:minmax(175px,1.2fr) 110px minmax(100px,1fr) 113px 28px;gap:10px;padding-left:13px;padding-right:13px}.settings-page{padding-left:20px;padding-right:20px}.settings-tabs{gap:21px}.settings-search input{width:210px}}
@media(max-width:800px){.account-table-head{display:none}.account-row{grid-template-columns:1fr 120px 30px;gap:14px}.account-person{grid-column:1}.account-row>div:nth-child(2){grid-column:2}.account-row>button{grid-column:3;grid-row:1}.account-row .access-chips{grid-column:1}.account-row>div:nth-child(4){grid-column:2}.role-guide{grid-template-columns:1fr}.role-guide p{min-height:0}.settings-filters{align-items:stretch;flex-wrap:wrap}.settings-heading{align-items:flex-start}.settings-heading .btn{font-size:12px}.settings-tabs{gap:20px}}
@media(max-width:700px){.login-shell{display:flex;flex-direction:column}.login-story{padding:22px 25px;min-height:0}.login-shell:before{background:linear-gradient(180deg,rgba(16,19,16,.73),rgba(16,19,16,.97) 23%,#101310 60%)}.login-scene{object-position:25% top}.login-story-copy,.login-story-footer{display:none}.login-content{padding:35px 25px 24px;flex:1}.login-form-wrap{max-width:430px}.login-form-wrap h2{font-size:32px}.login-support{margin-top:35px;flex-wrap:wrap}.settings-page{padding:0 16px 24px}.settings-heading{flex-wrap:wrap;gap:15px}.settings-heading h2{font-size:19px}.settings-two-fields{grid-template-columns:1fr;gap:0}.account-editor{inset:8px;width:calc(100vw - 16px)}.account-editor-body{padding:18px}.account-editor>header,.account-editor footer{padding:18px}.permission-heading{gap:10px}.permission-heading span{font-size:10px}.permission-row{grid-template-columns:1fr 133px;padding:10px;gap:6px}.permission-row small{font-size:10px}.permission-row strong{font-size:12px}.password-tools{flex-wrap:wrap}.settings-info dl{grid-template-columns:1fr;gap:7px}.settings-info dd{margin-bottom:12px}.audit-list time{font-size:10px;max-width:75px;white-space:normal;text-align:right}.access-chips{font-size:9px}}

/* Keep the original two-column sign-in within narrow tablet viewports. */
@media(min-width:701px) and (max-width:819px){.login-shell{grid-template-columns:minmax(0,.94fr) minmax(0,1.06fr)}}
