/* ÈNERGIMAN R2 — strict separated main UI */
:root{--brand:#0b2745;--accent:#d8a62e;--bg:#f3f6f8;--surface:#fff;--line:#dbe3ea;--text:#172536;--muted:#68798a;--danger:#a63d35;--radius:12px;--top:64px;--side:274px;--shadow:0 10px 28px rgba(11,39,69,.08)}
*{box-sizing:border-box}html,body{margin:0;min-height:100%;max-width:100%;font-family:Tahoma,"Segoe UI",Arial,sans-serif;color:var(--text);background:var(--bg)}body{overflow-y:auto;overflow-x:hidden}button,input,select,textarea{font:inherit}button{cursor:pointer}a{color:inherit}svg{width:1.15em;height:1.15em;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}[hidden]{display:none!important}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.btn{min-height:40px;padding:8px 14px;border:1px solid var(--line);border-radius:9px;background:#fff;color:var(--brand);font-weight:800;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;gap:7px}.btn:hover{background:#f7f9fb}.btn-primary{background:var(--brand);border-color:var(--brand);color:#fff}.btn-outline,.btn-quiet{background:#fff;border-color:#c8d3dc;color:var(--brand)}.btn-danger,.danger{background:#fff5f4;border-color:#ecc8c4;color:var(--danger)}.btn-small{min-height:34px;padding:6px 10px;font-size:12px}.full{width:100%}
input:not([type=checkbox]):not([type=radio]),select,textarea{width:100%;min-height:42px;border:1px solid #c7d2dc;border-radius:9px;background:#fff;color:var(--text);padding:9px 11px;outline:0}textarea{min-height:92px;resize:vertical}input:focus,select:focus,textarea:focus{border-color:var(--brand);box-shadow:0 0 0 3px rgba(11,39,69,.10)}label{display:grid;gap:6px;font-weight:700;color:#34485a;font-size:13px}.wide{grid-column:1/-1}.form-grid,.portal-form,.public-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.form-actions,.row-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.panel,.card,.workspace-card,.loading-card,.empty-state{background:#fff;border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}.panel{padding:18px}.panel-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;border-bottom:1px solid #edf1f4;padding-bottom:12px;margin-bottom:14px}.panel-head h2,.panel h2{margin:0;color:var(--brand)}.panel-head p,.muted,.hint,small{color:var(--muted)}.loading-card,.empty-state{padding:28px;text-align:center}.module-grid,.dashboard-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:14px}table{width:100%;border-collapse:collapse;background:#fff}th,td{padding:10px;border-bottom:1px solid #e8edf1;text-align:start}th{background:#f6f8fa;color:#425567;font-weight:900}.table-wrap,.table-responsive,.scroll-x{overflow-x:auto;max-width:100%}
/* public portal */
#public-site{min-height:100vh;display:flex;flex-direction:column}.public-header{min-height:66px;padding:10px clamp(14px,4vw,54px);display:flex;align-items:center;gap:18px;justify-content:space-between;background:#fff;border-bottom:1px solid var(--line);position:sticky;top:0;z-index:50}.public-brand{display:flex;align-items:center;gap:10px;text-decoration:none;min-width:210px}.brand-mark{width:40px;height:40px;object-fit:contain}.public-brand span{display:grid}.public-brand b{color:var(--brand)}.public-brand small{font-size:10px}.v45-public-nav,.public-tools{display:flex;align-items:center;gap:8px}.v45-nav-link,.icon-tool{border:1px solid transparent;background:transparent;color:#4c5e6d;min-height:38px;border-radius:8px;padding:7px 10px}.v45-nav-link.active,.v45-nav-link:hover{background:#f3f6f8;color:var(--brand)}.icon-tool{width:38px;padding:0;display:grid;place-items:center}.language-control{display:block}.lang-select{min-height:38px!important}.public-portal-main{flex:1;padding:30px clamp(14px,4vw,54px)}.official-portal{max-width:1120px;margin:auto}.official-intro,.official-access{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:26px;box-shadow:var(--shadow)}.official-intro h1{margin:7px 0 10px;color:var(--brand);font-size:34px}.official-kicker{font-weight:900;color:#2f7356}.official-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:18px}.official-access{margin-top:16px}.official-access-head{display:flex;align-items:end;justify-content:space-between;border-bottom:1px solid #edf1f4;padding-bottom:10px;margin-bottom:10px}.official-space-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.official-space{min-height:90px;border:1px solid var(--line);border-radius:9px;background:#fbfcfd;padding:12px;display:grid;grid-template-columns:34px 1fr 18px;gap:9px;align-items:center;text-align:start;color:var(--text)}.official-space:hover{border-color:#b9c8d3;background:#f5f8fa}.space-num{width:30px;height:30px;border-radius:7px;background:#edf3f7;display:grid;place-items:center;font-size:10px;font-weight:900;color:var(--brand)}.official-space b,.official-space small{display:block}.official-space small{font-size:10px;margin-top:2px}.official-foot{display:flex;gap:10px;align-items:center;margin-top:12px;color:var(--muted);font-size:11px}.official-foot button{margin-inline-start:auto;background:none;border:0;color:#2f7356;font-weight:800}.public-footer{min-height:48px;padding:10px clamp(14px,4vw,54px);background:var(--brand);color:#dce6ed;display:flex;gap:12px;align-items:center;justify-content:space-between}.portal-panel{position:fixed;inset:0;z-index:100;background:rgba(10,27,44,.58);padding:4vh 16px;overflow-y:auto}.portal-modal-window{max-width:900px;margin:auto;background:#fff;border-radius:14px;border:1px solid var(--line);box-shadow:0 24px 70px rgba(0,0,0,.26);overflow:hidden}.portal-panel-head{position:sticky;top:0;background:#fff;z-index:2;display:flex;align-items:center;justify-content:space-between;gap:12px;border-bottom:1px solid var(--line);padding:14px 16px}.portal-panel .portal-form,.portal-panel .public-tracking-block{padding:16px}.tracking-form{display:grid;grid-template-columns:1fr 1.4fr 1.2fr auto;gap:8px}
/* login */
.login-dialog,.form-dialog{border:0;padding:0;border-radius:14px;background:#fff;box-shadow:0 24px 70px rgba(0,0,0,.26)}.login-dialog::backdrop,.form-dialog::backdrop{background:rgba(10,27,44,.55)}.login-dialog form{width:min(430px,calc(100vw - 28px));padding:22px;display:grid;gap:14px}.dialog-close{width:38px;height:38px;border:1px solid var(--line);border-radius:9px;background:#fff;color:var(--brand);font-size:21px;display:grid;place-items:center}.login-brand{display:flex;align-items:center;gap:10px}.login-brand div{display:grid}.form-error{color:#a33d35;min-height:20px}
/* workspace: one scroll owner = #view */
body.em-workspace-mode{height:100dvh!important;overflow:hidden!important}body.em-workspace-mode #workspace{height:100dvh;min-height:0;overflow:hidden}
#workspace{min-height:100vh}.sidebar{position:fixed;z-index:40;inset-block:0;inset-inline-start:0;width:var(--side);background:var(--brand);color:#fff;display:flex;flex-direction:column;overflow-y:auto;overflow-x:hidden}.sidebar-brand{padding:18px 14px;border-bottom:1px solid rgba(255,255,255,.12)}#app-nav{padding:10px 7px 90px}.nav-group{margin-bottom:13px}.nav-group-title{display:block;padding:8px 12px 5px;font-size:10px;color:#aebdca;font-weight:800}#app-nav button{width:100%;min-height:43px;border:0;border-radius:9px;background:transparent;color:#e9f0f5;padding:8px 11px;display:flex;align-items:center;gap:10px;text-align:start}#app-nav button:hover{background:rgba(255,255,255,.08)}#app-nav button.active{background:#fff;color:var(--brand)}.nav-icon{width:24px;display:grid;place-items:center;flex:0 0 24px}.workspace-main{margin-inline-start:var(--side);min-height:100vh;padding-top:var(--top);background:var(--bg)}.workspace-header{position:fixed;z-index:35;inset-block-start:0;inset-inline-start:var(--side);inset-inline-end:0;height:var(--top);background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;gap:12px;padding:8px 14px}.workspace-header-center{min-width:0;flex:1}.workspace-header h1{margin:0;font-size:18px;color:var(--brand)}.workspace-header small{font-size:10px}.workspace-dashboard-stage{height:calc(100vh - var(--top));min-height:0;padding:14px;overflow:hidden}#view{height:100%;min-height:0;overflow-y:scroll!important;overflow-x:hidden;scrollbar-gutter:stable both-edges;scrollbar-width:auto;overscroll-behavior:contain;touch-action:pan-y;padding-bottom:42px;outline:0}#view::-webkit-scrollbar,.sidebar::-webkit-scrollbar,.dialog-scroll-body::-webkit-scrollbar{width:12px}#view::-webkit-scrollbar-thumb,.sidebar::-webkit-scrollbar-thumb,.dialog-scroll-body::-webkit-scrollbar-thumb{background:#a9b7c2;border:3px solid transparent;background-clip:padding-box;border-radius:999px}#view::-webkit-scrollbar-track,.dialog-scroll-body::-webkit-scrollbar-track{background:#eef2f5}.workspace-search-wrap{position:relative;flex:1;max-width:520px}.workspace-search-results{position:absolute;top:calc(100% + 6px);inset-inline:0;background:#fff;border:1px solid var(--line);border-radius:10px;box-shadow:var(--shadow);padding:6px;z-index:60}.workspace-search-results button{width:100%;padding:9px;border:0;background:#fff;text-align:start;border-radius:7px}.workspace-search-results button:hover{background:#f4f7f9}.workspace-user{display:flex;align-items:center;gap:8px}.workspace-avatar{width:38px;height:38px;border-radius:50%;background:#edf2f6;display:grid;place-items:center;font-weight:900;color:var(--brand)}.workspace-overlay,.deep-workspace-overlay{display:none!important}
/* dialogs: exactly one inner scroll owner */
.form-dialog{width:min(980px,calc(100vw - 28px));max-width:980px;max-height:92vh;overflow:hidden}.form-dialog #dialog-content,.form-dialog #dialog-content-nested{display:flex;flex-direction:column;max-height:92vh;min-height:0;overflow:hidden}.dialog-head{flex:0 0 auto;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:13px 15px;border-bottom:1px solid var(--line);background:#fff}.dialog-scroll-body{min-height:0;overflow-y:auto;overflow-x:hidden;padding:16px;scrollbar-gutter:stable}.dialog-scroll-body>.form-actions:last-child,.form-actions.sticky-actions{position:sticky;bottom:-16px;background:#fff;border-top:1px solid var(--line);padding-top:12px}
/* generated dashboard modules */
.cnas-service-grid,.cnas-dashboard-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(245px,1fr));gap:12px}.cnas-service-card,.module-card{border:1px solid var(--line);border-radius:11px;background:#fff;padding:15px;display:flex;align-items:center;gap:12px;text-align:start;color:var(--text);box-shadow:0 5px 16px rgba(11,39,69,.04)}.cnas-service-card:hover,.module-card:hover{border-color:#b9c8d3;box-shadow:var(--shadow)}.cnas-service-icon,.module-icon{width:42px;height:42px;border-radius:10px;background:#edf3f7;color:var(--brand);display:grid;place-items:center;flex:0 0 42px}.cnas-service-copy,.module-copy{min-width:0;flex:1}.cnas-service-copy b,.module-copy h3{display:block;margin:0;color:var(--brand)}.cnas-service-copy small,.module-copy small{display:block;margin-top:3px}.cnas-service-arrow,.module-arrow{color:#8393a0;font-size:22px}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px}.stat-card{background:#fff;border:1px solid var(--line);border-radius:11px;padding:15px}.stat-card b{display:block;font-size:24px;color:var(--brand)}.status-badge,.badge,.pill{display:inline-flex;align-items:center;border-radius:999px;padding:4px 8px;font-size:10px;font-weight:900;background:#eef3f6;color:#425667}.status-badge.active,.badge-ok{background:#eaf6ef;color:#237247}.badge-no,.status-badge.danger{background:#fff0ee;color:#a33d35}.toast{position:fixed;z-index:9999;inset-inline-end:16px;inset-block-end:16px;max-width:min(420px,calc(100vw - 32px));background:#172536;color:#fff;padding:12px 15px;border-radius:10px;box-shadow:0 16px 36px rgba(0,0,0,.2)}
.chat-shell,.chat-layout{display:grid;grid-template-columns:minmax(230px,320px) 1fr;gap:12px;min-height:520px}.chat-message{max-width:78%;padding:9px 11px;border-radius:11px;background:#f0f4f7;margin:6px 0}.chat-message.mine{margin-inline-start:auto;background:#e7f0f7}.chat-messages{overflow-y:auto;min-height:300px;max-height:58vh}
@media(max-width:900px){.official-space-grid{grid-template-columns:1fr 1fr}.form-grid,.portal-form,.public-form{grid-template-columns:1fr}.tracking-form{grid-template-columns:1fr}.wide{grid-column:auto}.public-header{flex-wrap:wrap}.v45-public-nav{order:3;width:100%;overflow-x:auto}.chat-shell,.chat-layout{grid-template-columns:1fr}}
@media(max-width:760px){:root{--side:0px;--top:60px}.sidebar{width:min(292px,88vw);transform:translateX(105%);transition:transform .18s ease;z-index:80}.sidebar.open{transform:none}html[dir=ltr] .sidebar{transform:translateX(-105%)}html[dir=ltr] .sidebar.open{transform:none}.workspace-main{margin-inline-start:0}.workspace-header{inset-inline-start:0;height:60px;padding:7px 9px}.workspace-dashboard-stage{height:calc(100vh - 60px);padding:8px}.workspace-search-wrap{display:none}.official-space-grid{grid-template-columns:1fr}.public-portal-main{padding:18px 10px}.official-intro,.official-access{padding:18px}.official-intro h1{font-size:28px}.form-dialog{width:100vw;max-width:none;height:100dvh;max-height:100dvh;border-radius:0}.form-dialog #dialog-content,.form-dialog #dialog-content-nested{max-height:100dvh}}

/* ===== Core rebuilt visual system: dynamic views ===== */
.app-brand,.workspace-brand{display:flex;align-items:center;gap:10px}.workspace-brand .brand-mark{width:38px;height:38px}.workspace-tools,.header-actions,.toolbar,.actions,.period-actions,.dialog-head-actions,.workspace-footer-actions,.theme-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.workspace-welcome,.cnas-welcome,.audit-security-banner{display:flex;align-items:center;gap:14px;padding:16px 18px;background:#fff;border:1px solid var(--line);border-radius:var(--radius);margin-bottom:14px}.workspace-welcome-icon,.cnas-welcome-icon{width:48px;height:48px;display:grid;place-items:center;border-radius:10px;background:#edf3f7;color:var(--brand);flex:0 0 48px}.cnas-dashboard,.dashboard-services,.cnas-section,.document-library-panel,.employee-picker-panel,.payslip-editor,.v46-review,.v46-wizard-stage{display:grid;gap:14px}.cnas-section,.document-library-panel,.employee-picker-panel,.v46-review,.payslip-editor{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:16px}.cnas-section-head,.document-library-head,.candidate-doc-head,.calendar-period-head,.v40-section-head,.v46-wizard-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;border-bottom:1px solid #edf1f4;padding-bottom:10px;margin-bottom:10px}.cnas-toolbar,.audit-filterbar,.calendar-toolbar,.map-picker-toolbar,.map-search-row{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.cnas-search,.map-search-box{flex:1;min-width:220px}.cnas-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px}.cnas-stat{background:#fff;border:1px solid var(--line);border-radius:10px;padding:13px}.cnas-stat b{display:block;font-size:22px;color:var(--brand)}.cnas-kicker,.cnas-date{font-size:11px;color:var(--muted);font-weight:800}.cnas-no-results,.empty,.fatal{padding:22px;text-align:center;color:var(--muted)}
.check-row,.check-card,.v40-check-card,.v40-mini-check{display:flex;gap:9px;align-items:flex-start;border:1px solid var(--line);border-radius:9px;background:#fff;padding:10px}.check-row input,.check-card input,.v40-check-card input,.v40-mini-check input{width:auto;min-height:auto;margin-top:2px}.checkbox-grid,.role-grid,.v46-step-grid,.v46-review-grid,.v40-components,.candidate-doc-grid,.document-library-grid,.profile-grid,.payslip-meta-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px}.v46-step-title,.v40-section-title{font-weight:900;color:var(--brand)}.v46-wizard-progress,.portal-wizard-progress{height:6px;background:#edf1f4;border-radius:99px;overflow:hidden}.v46-wizard-progress i,.portal-wizard-progress i{display:block;height:100%;background:var(--brand)}.v46-wizard-actions{display:flex;justify-content:space-between;gap:10px;border-top:1px solid var(--line);padding-top:12px}.v46-warning{border:1px solid #ecd8ad;background:#fffaf0;color:#72551a;padding:10px;border-radius:9px}
.document-library-card,.secure-doc-card,.candidate-doc-checklist,.calendar-period-row,.employee-picker-item{border:1px solid var(--line);border-radius:10px;background:#fff;padding:12px}.document-library-card-head,.document-library-actions,.document-library-meta,.candidate-doc-index,.candidate-doc-score,.candidate-doc-state,.employee-picker-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.document-library-card-head{justify-content:space-between}.document-library-icon{width:38px;height:38px;border-radius:9px;background:#edf3f7;color:var(--brand);display:grid;place-items:center}.document-library-title{font-weight:900;color:var(--brand)}.secure-doc-code,.audit-json{font-family:Consolas,"Courier New",monospace;overflow-wrap:anywhere}.status,.pending,.needs_information,.disabled,.error{display:inline-flex;border-radius:999px;padding:4px 8px;font-size:10px;font-weight:900}.pending{background:#fff6df;color:#7d5d14}.needs_information{background:#fff0e8;color:#9a4d20}.disabled,.error{background:#fff0ef;color:#a33d35}
.employee-picker-list,.contact-list,.selection-list,.candidate-uploaded-files,.attendance-period-list{display:grid;gap:7px;max-height:340px;overflow-y:auto}.employee-picker-trigger{display:flex;justify-content:space-between;align-items:center;gap:10px;width:100%;border:1px solid var(--line);background:#fff;border-radius:9px;padding:10px}.employee-360-name{font-weight:900;color:var(--brand)}.employee-wizard-form{display:grid;gap:14px}.v45-employee360-shell{display:grid;gap:10px}.v45-employee360-toolbar{display:flex;justify-content:space-between;align-items:center;gap:10px}.v45-employee360-title,.v45-employee360-actions{display:flex;align-items:center;gap:10px}.v45-employee360-frame{width:100%;min-height:75vh;border:1px solid var(--line);border-radius:10px;background:#fff}
.attendance-calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:1px;background:var(--line);border:1px solid var(--line);border-radius:10px;overflow:hidden}.calendar-weekday,.calendar-day{background:#fff;min-height:76px;padding:7px}.calendar-weekday{min-height:auto;background:#f4f7f9;color:#536777;font-weight:900}.calendar-day{position:relative}.attendance-period-chip{border:1px solid var(--line);background:#f8fafb;border-radius:999px;padding:4px 8px}.map-picker-wrap{display:grid;gap:8px}.osm-map-canvas,.osm-picker{position:relative;width:100%;height:430px;border:1px solid var(--line);border-radius:10px;background:#e9eef2;overflow:hidden}.osm-tile{position:absolute;max-width:none!important}.osm-map-controls{display:flex;gap:6px}.osm-radius{position:absolute;border:1px solid var(--brand);border-radius:50%;pointer-events:none}.osm-attribution{font-size:10px;color:var(--muted)}.map-search-results{max-height:190px;overflow-y:auto;border:1px solid var(--line);border-radius:9px;background:#fff}.map-search-result{width:100%;border:0;border-bottom:1px solid #edf1f4;background:#fff;padding:9px;text-align:start}.map-search-state{font-size:11px;color:var(--muted)}
.theme-designer{display:grid;grid-template-columns:minmax(300px,.8fr) minmax(420px,1.2fr);gap:14px}.theme-controls,.theme-group{display:grid;gap:11px}.theme-group{border:1px solid var(--line);border-radius:10px;padding:12px}.theme-group h3{margin:0;color:var(--brand)}.theme-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.theme-preview-shell{background:#e7ebef;border:1px solid var(--line);border-radius:10px;padding:10px;min-height:620px}.theme-preview-head{display:flex;justify-content:space-between;gap:10px;margin-bottom:8px}.document-theme-preview-frame{width:100%;height:72vh;min-height:560px;border:0;background:#fff}.intervention-auth-fields,.v46-allowance-flags{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.chat-layout,.chat-shell{display:grid;grid-template-columns:minmax(240px,320px) minmax(0,1fr);gap:10px;min-height:560px}.chat-list-panel,.chat-thread-panel{border:1px solid var(--line);background:#fff;border-radius:10px;overflow:hidden}.chat-list-panel{display:grid;grid-template-rows:auto minmax(0,1fr)}.chat-thread-panel{display:grid;grid-template-rows:auto minmax(0,1fr) auto}.chat-list-head,.chat-thread-head{padding:10px 12px;border-bottom:1px solid var(--line);background:#fbfcfd}.chat-thread-head{display:flex;align-items:center;gap:8px}.chat-thread-tools{margin-inline-start:auto;display:flex;gap:6px}.chat-conversations{overflow-y:auto}.chat-compose{display:grid;grid-template-columns:auto auto minmax(0,1fr) auto;gap:6px;align-items:end;padding:9px;border-top:1px solid var(--line)}.chat-file-btn,.chat-voice-btn,.btn-radio-ptt{width:38px;height:38px;border:1px solid var(--line);border-radius:9px;background:#fff;color:var(--brand);display:grid;place-items:center}.chat-avatar,.call-avatar{width:38px;height:38px;border-radius:50%;background:#edf3f7;color:var(--brand);display:grid;place-items:center}.chat-attachment,.chat-voice-wrap{border:1px solid var(--line);border-radius:8px;padding:7px;background:#fbfcfd}.chat-voice-player{max-width:100%}.call-card{border:1px solid var(--line);border-radius:10px;background:#fff;padding:16px;text-align:center}.call-avatar{width:52px;height:52px;margin:auto}.call-actions{display:flex;justify-content:center;gap:8px}.call-ring,.radio-live-dot{width:10px;height:10px;border-radius:50%;background:#2f7d59;display:inline-block}.radio-badge{display:inline-flex;align-items:center;gap:6px;border-radius:999px;padding:5px 9px;background:#eaf6ef;color:#276d4d;font-weight:900}.ui-svg,.audit-lock-svg,.notification-svg{width:18px;height:18px}
.audit-security-banner{border-inline-start:4px solid var(--brand)}.audit-json{white-space:pre-wrap;background:#f7f9fb;border:1px solid var(--line);border-radius:8px;padding:9px;max-height:320px;overflow:auto}.timeline{display:grid;gap:10px}.timeline-item{border-inline-start:3px solid #c8d6e1;padding:5px 12px}.payslip-entry-table{overflow-x:auto}.payslip-editor{overflow:visible}.payslip-meta-grid{margin-bottom:10px}.compact{padding:9px!important}.form-submit{display:flex;justify-content:flex-end}.portal-subhead{border-bottom:1px solid var(--line);padding-bottom:8px;margin-bottom:10px}.recruitment-target-card{border:1px solid var(--line);border-radius:10px;padding:10px;background:#fbfcfd}.tracking-result{margin-top:10px}.public-dialog-contact,.help-sheet{padding:16px}.help-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px}.help-card{border:1px solid var(--line);border-radius:10px;padding:12px}.topicon,.help-button,.notification-button{display:grid;place-items:center}
@media(max-width:980px){.theme-designer{grid-template-columns:1fr}.theme-preview-shell{min-height:480px}.chat-layout,.chat-shell{grid-template-columns:1fr}.document-theme-preview-frame{height:65vh}.intervention-auth-fields,.v46-allowance-flags{grid-template-columns:1fr}}
@media(max-width:700px){.theme-grid,.checkbox-grid,.role-grid,.v46-step-grid,.v46-review-grid,.candidate-doc-grid,.profile-grid,.payslip-meta-grid{grid-template-columns:1fr}.attendance-calendar-grid{font-size:11px}.calendar-day{min-height:62px}.chat-compose{grid-template-columns:auto auto 1fr}.chat-compose>.btn:last-child{grid-column:1/-1}}
/* final class coverage */
.em-cnas-master{min-height:100vh}.portal-home,.v56-official-home{width:100%}.public-header-final,.public-footer-final{width:100%}.public-login-button{white-space:nowrap}.workspace-language{display:flex;align-items:center}.workspace-title{min-width:0}.workspace-search-icon{pointer-events:none}.workspace-search-empty{padding:10px;color:var(--muted)}.header-profile,.user-mini{display:flex;align-items:center;gap:8px}.header-profile-copy,.user-mini{min-width:0}.header-profile-copy b,.header-profile-copy small,.user-mini b,.user-mini small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.header-avatar{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;background:#edf2f6;color:var(--brand);font-weight:900}.header-icon-button,.target-contact-button,.service-close{border:1px solid var(--line);background:#fff;color:var(--brand);border-radius:9px}.header-profile-chevron{color:var(--muted)}.sidebar-logout,.nav-logout-direct{margin-top:8px;border-top:1px solid rgba(255,255,255,.12)!important}.logout-label{min-width:0}.attendance-employee-picker,.document-location-block,.candidate-upload-form,.v46-wizard-step,.v46-review-note{border:1px solid var(--line);border-radius:10px;background:#fbfcfd;padding:10px}.calendar-period-add,.v41-build-badge{display:inline-flex;align-items:center;gap:6px}.chat-conv-text,.cnas-welcome-copy{min-width:0}.map-coordinate-input{direction:ltr}.v40-component-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:center}.brand{display:flex;align-items:center;gap:8px}.nested{z-index:12000}.energiman-core-modules{display:block}

/* =====================================================================
   STEP 02 — VISUAL SYSTEM ONLY
   No navigation / scroll-owner / API / print behavior changes in this block.
   ===================================================================== */
:root{
  --font-ui:"Segoe UI Variable Text","Segoe UI","Noto Sans Arabic",Tahoma,Arial,sans-serif;
  --brand:#102d4d;
  --brand-2:#183d63;
  --accent:#d7a631;
  --bg:#f4f7f9;
  --surface:#ffffff;
  --surface-soft:#f8fafb;
  --line:#dce4ea;
  --line-strong:#c8d4dd;
  --text:#17283a;
  --muted:#697b8b;
  --success:#2f7659;
  --danger:#a54138;
  --radius:14px;
  --radius-lg:18px;
  --shadow:0 10px 30px rgba(16,45,77,.075);
  --shadow-lg:0 24px 70px rgba(16,45,77,.18);
}
html,body{font-family:var(--font-ui);font-size:14px;line-height:1.55;letter-spacing:0}
body{background:var(--bg)}
button,input,select,textarea{font-family:var(--font-ui)}
button,.btn,.icon-tool,.topicon,#app-nav button,.official-space{transition:background-color .16s ease,border-color .16s ease,box-shadow .16s ease,transform .16s ease,color .16s ease}
button:focus-visible,.btn:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid rgba(24,61,99,.16);outline-offset:2px}
svg{stroke-width:1.75}

/* controls */
.btn{min-height:42px;padding:9px 15px;border-radius:11px;border-color:var(--line-strong);font-size:13px;font-weight:700;box-shadow:0 1px 0 rgba(16,45,77,.02)}
.btn:hover{background:#f7fafc;border-color:#afbeca;box-shadow:0 6px 16px rgba(16,45,77,.07)}
.btn-primary{background:var(--brand);border-color:var(--brand);color:#fff;box-shadow:0 7px 18px rgba(16,45,77,.16)}
.btn-primary:hover{background:var(--brand-2);border-color:var(--brand-2);color:#fff;transform:translateY(-1px)}
.btn-outline,.btn-quiet{background:#fff}
.btn-danger,.danger{background:#fff7f6;border-color:#e8c7c4;color:var(--danger)}
input:not([type=checkbox]):not([type=radio]),select,textarea{min-height:44px;border-radius:11px;border-color:var(--line-strong);padding:10px 12px;background:#fff;font-size:13px;box-shadow:inset 0 1px 0 rgba(16,45,77,.015)}
textarea{line-height:1.65}
label{gap:7px;font-size:12.5px;font-weight:700;color:#354a5d}
input:focus,select:focus,textarea:focus{border-color:#7190aa;box-shadow:0 0 0 3px rgba(24,61,99,.10)}

/* cards and panels */
.panel,.card,.workspace-card,.loading-card,.empty-state,.cnas-section,.document-library-panel,.employee-picker-panel,.v46-review,.payslip-editor{border-color:var(--line);border-radius:var(--radius-lg);box-shadow:0 6px 22px rgba(16,45,77,.045)}
.panel{padding:20px}
.panel-head,.cnas-section-head,.document-library-head,.candidate-doc-head,.calendar-period-head,.v40-section-head,.v46-wizard-head{border-bottom-color:#e8eef2;padding-bottom:13px;margin-bottom:15px}
.panel-head h2,.panel h2,.cnas-section h2,.dialog-head h2,.dialog-head h3{font-weight:750;letter-spacing:-.15px}

/* public portal — sober enterprise presentation */
#public-site{background:#f4f7f9}
.public-header{min-height:76px;padding:12px clamp(18px,4vw,64px);background:rgba(255,255,255,.97);border-bottom-color:#dfe7ed;box-shadow:0 3px 18px rgba(16,45,77,.035);backdrop-filter:blur(10px)}
.public-brand{gap:12px;min-width:230px}
.public-brand .brand-mark{width:46px;height:46px}
.public-brand b{font-size:17px;letter-spacing:.2px;font-weight:800}
.public-brand small{font-size:11px;margin-top:1px;color:#718393}
.v45-public-nav{gap:3px;padding:4px;background:#f5f8fa;border:1px solid #e5ebf0;border-radius:12px}
.v45-nav-link{min-height:38px;border-radius:9px;padding:7px 13px;font-size:12.5px;font-weight:700}
.v45-nav-link.active{background:#fff;color:var(--brand);box-shadow:0 3px 10px rgba(16,45,77,.07)}
.v45-nav-link:hover{background:#fff;color:var(--brand)}
.public-tools{gap:7px}
.icon-tool,.topicon,.header-icon-button,.service-close{width:40px;height:40px;min-height:40px;border:1px solid #d8e1e8;border-radius:11px;background:#fff;color:#385066;display:grid;place-items:center;padding:0}
.icon-tool svg,.topicon svg,.header-icon-button svg,.service-close svg{width:19px;height:19px}
.icon-tool:hover,.topicon:hover,.header-icon-button:hover,.service-close:hover{background:#f5f8fa;border-color:#bfcdd8;color:var(--brand);box-shadow:0 5px 14px rgba(16,45,77,.06)}
.lang-select{min-height:40px!important;border-radius:10px!important;padding-inline:10px!important}
.public-login-button{min-width:88px}
.public-portal-main{padding:38px clamp(18px,4vw,64px) 48px}
.official-portal{max-width:1180px;display:grid;grid-template-columns:minmax(0,1.05fr) minmax(390px,.95fr);gap:18px;align-items:stretch}
.official-intro,.official-access{margin:0;border-radius:20px;border:1px solid #dce5ec;box-shadow:0 14px 42px rgba(16,45,77,.08)}
.official-intro{position:relative;isolation:isolate;overflow:hidden;min-height:500px;padding:46px;display:flex;flex-direction:column;justify-content:flex-end;background:#102d4d;color:#fff}
.official-intro::before{content:"";position:absolute;inset:0;z-index:-2;background:url('../images/public-building.jpg') center/cover no-repeat;transform:scale(1.01)}
.official-intro::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(12,36,61,.12) 10%,rgba(12,36,61,.70) 62%,rgba(12,36,61,.92) 100%)}
.official-intro h1{margin:8px 0 8px;color:#fff;font-size:clamp(34px,4vw,48px);line-height:1.15;font-weight:800;letter-spacing:-.7px}
.official-intro p{max-width:620px;margin:0;color:#e8eef3;font-size:15px;line-height:1.8}
.official-kicker{display:inline-flex;align-self:flex-start;padding:6px 10px;border-radius:999px;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.26);color:#fff;font-size:11px;letter-spacing:1.2px;font-weight:800}
.official-actions{margin-top:22px;gap:9px}
.official-intro .btn{border-color:rgba(255,255,255,.34)}
.official-intro .btn-outline{background:rgba(255,255,255,.10);color:#fff;border-color:rgba(255,255,255,.30);backdrop-filter:blur(7px)}
.official-intro .btn-outline:hover{background:rgba(255,255,255,.18);color:#fff}
.official-intro .btn-primary{background:#fff;border-color:#fff;color:var(--brand);box-shadow:0 8px 24px rgba(0,0,0,.12)}
.official-access{padding:24px;background:#fff;display:flex;flex-direction:column}
.official-access-head{align-items:center;padding:2px 2px 15px;margin-bottom:13px;border-bottom-color:#e8eef2}
.official-access-head span{font-size:11px;color:var(--muted);font-weight:700}
.official-access-head b{font-size:19px;color:var(--brand);font-weight:800}
.official-space-grid{grid-template-columns:1fr 1fr;gap:10px;flex:1}
.official-space{min-height:108px;border-radius:14px;border-color:#dfe7ed;background:#fbfcfd;padding:14px;grid-template-columns:38px minmax(0,1fr) 18px;gap:10px;box-shadow:0 2px 0 rgba(16,45,77,.01)}
.official-space:hover{background:#fff;border-color:#b8c9d6;box-shadow:0 10px 24px rgba(16,45,77,.08);transform:translateY(-2px)}
.space-num{width:36px;height:36px;border-radius:10px;background:#edf3f7;color:var(--brand);font-size:10px}
.official-space b{font-size:13px;color:#20374c}
.official-space small{font-size:10.5px;line-height:1.45;color:#768796}
.official-space i{font-style:normal;color:#8ba0b1;font-size:18px}
.official-foot{border-top:1px solid #edf1f4;padding-top:13px;margin-top:14px;font-size:10.5px}
.public-footer{min-height:56px;padding:11px clamp(18px,4vw,64px);background:#0d2846;border-top:1px solid rgba(255,255,255,.08)}
.public-footer .btn{min-height:36px;background:transparent;border-color:rgba(255,255,255,.28);color:#eef4f8}

/* public/login windows */
.portal-panel{background:rgba(10,28,47,.66);backdrop-filter:blur(4px);padding:5vh 18px}
.portal-modal-window{max-width:920px;border-radius:20px;border-color:#dce5ec;box-shadow:var(--shadow-lg)}
.portal-panel-head{padding:17px 20px;border-bottom-color:#e6edf2}
.portal-panel-head>div{display:grid;gap:2px}
.portal-panel-head span{font-size:10.5px;color:var(--muted);font-weight:700}
.portal-panel-head h2{margin:0;color:var(--brand);font-size:19px;font-weight:800}
.portal-panel .portal-form,.portal-panel .public-tracking-block{padding:20px}
.login-dialog,.form-dialog{border-radius:20px;border:1px solid #dce5ec;box-shadow:var(--shadow-lg)}
.login-dialog::backdrop,.form-dialog::backdrop{background:rgba(9,27,46,.62);backdrop-filter:blur(4px)}
.login-dialog form{width:min(450px,calc(100vw - 30px));padding:25px;gap:15px}
.login-brand{padding-bottom:14px;margin-bottom:2px;border-bottom:1px solid #e7edf2;gap:12px}
.login-brand .brand-mark{width:46px;height:46px}
.login-brand b{font-size:17px;color:var(--brand);font-weight:800}
.login-brand small{font-size:11px}
.dialog-close{position:relative;width:40px;height:40px;border-radius:11px;border-color:#d8e1e8;font-size:20px;font-weight:400}
.dialog-close:hover{background:#f5f8fa;border-color:#bdcbd6}

/* workspace visual polish — scroll rules intentionally untouched */
.sidebar{background:#102d4d;border-inline-end:1px solid rgba(255,255,255,.06);box-shadow:8px 0 28px rgba(16,45,77,.08)}
#app-nav{padding:12px 8px 96px}
.nav-group{margin-bottom:15px}
.nav-group-title{padding:9px 12px 6px;font-size:9.5px;letter-spacing:.25px;color:#9db0c1;text-transform:none}
#app-nav button{min-height:44px;border-radius:10px;padding:9px 11px;gap:11px;font-size:12.5px;font-weight:650;color:#e9f0f5}
#app-nav button:hover{background:rgba(255,255,255,.075)}
#app-nav button.active{background:#fff;color:#102d4d;box-shadow:0 7px 18px rgba(0,0,0,.13)}
.nav-icon{width:25px;flex-basis:25px}
.nav-icon svg{width:19px;height:19px;stroke-width:1.75}
.workspace-header{height:68px;padding:9px 16px;border-bottom-color:#dfe7ed;box-shadow:0 3px 18px rgba(16,45,77,.035)}
:root{--top:68px}
.workspace-brand .brand-mark{width:40px;height:40px}
.workspace-brand b{font-size:14px;font-weight:800;color:var(--brand)}
.workspace-brand small{font-size:9.5px}
.workspace-search-wrap input{height:42px;padding-inline-start:38px;background:#f7f9fb;border-color:#dce5ec}
.workspace-search-icon{position:absolute;inset-inline-start:12px;top:50%;transform:translateY(-50%);display:grid;place-items:center;color:#7c8d9b}
.workspace-title{display:grid;gap:0;min-width:120px}
.workspace-title span{font-size:9px;color:var(--muted);font-weight:700}
.workspace-title h1{font-size:15px;line-height:1.35;font-weight:800}
.header-profile{min-height:42px;border:1px solid #dce5ec;border-radius:12px;background:#fff;padding:4px 8px 4px 5px;color:var(--text)}
.header-profile:hover{background:#f7f9fb;border-color:#c6d2dc}
.header-avatar{width:34px;height:34px;font-size:12px}
.header-profile-copy b{font-size:11.5px}.header-profile-copy small{font-size:9px}
.workspace-dashboard-stage{padding:16px}

/* one visual language for all in-app windows */
.form-dialog{width:min(1040px,calc(100vw - 34px));max-width:1040px;border-radius:20px;border:1px solid #dce5ec}
.dialog-head{min-height:66px;padding:15px 18px;border-bottom-color:#e5ecf1;background:#fff}
.dialog-head>div:first-child{min-width:0}
.dialog-head h2,.dialog-head h3{margin:0;color:var(--brand);font-size:18px;font-weight:800}
.dialog-head small{font-size:10.5px}
.dialog-scroll-body{padding:20px;background:#fbfcfd}
.dialog-scroll-body>.panel,.dialog-scroll-body>.card,.dialog-scroll-body>.cnas-section{background:#fff}
.dialog-scroll-body>.form-actions:last-child,.form-actions.sticky-actions{bottom:-20px;margin:18px -20px -20px;padding:14px 20px;background:rgba(255,255,255,.98);border-top-color:#dfe7ed;box-shadow:0 -6px 18px rgba(16,45,77,.045)}
.cnas-service-grid,.cnas-dashboard-grid{gap:13px}
.cnas-service-card,.module-card{min-height:84px;border-radius:14px;border-color:#dfe7ed;padding:15px;box-shadow:0 4px 16px rgba(16,45,77,.035)}
.cnas-service-card:hover,.module-card:hover{border-color:#b8c8d5;box-shadow:0 10px 26px rgba(16,45,77,.08);transform:translateY(-1px)}
.cnas-service-icon,.module-icon,.workspace-welcome-icon,.cnas-welcome-icon{border-radius:12px;background:#edf3f7;color:var(--brand)}
.cnas-service-icon svg,.module-icon svg{width:21px;height:21px}
.stat-card,.cnas-stat{border-radius:14px;border-color:#dfe7ed;box-shadow:0 3px 12px rgba(16,45,77,.025)}
table{border-radius:12px;overflow:hidden}
th{background:#f5f8fa;color:#40566a;font-size:11.5px}td{font-size:12.5px}
th,td{padding:11px 12px}
.status,.pending,.needs_information,.disabled,.error,.status-badge,.badge,.pill{font-size:10px;line-height:1.3}

@media(max-width:1040px){
  .official-portal{grid-template-columns:1fr}
  .official-intro{min-height:420px}
  .official-access{min-height:auto}
}
@media(max-width:900px){
  .public-header{padding-inline:14px}
  .official-space-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:760px){
  :root{--top:62px}
  .public-header{min-height:66px;gap:10px}
  .public-brand{min-width:0}.public-brand .brand-mark{width:40px;height:40px}
  .public-tools{margin-inline-start:auto}.public-tools .icon-tool:nth-of-type(2),.public-tools .icon-tool:nth-of-type(3){display:none}
  .v45-public-nav{border-radius:10px}
  .public-portal-main{padding:14px 10px 24px}
  .official-intro{min-height:390px;padding:26px 22px;border-radius:16px}
  .official-intro h1{font-size:32px}
  .official-access{padding:16px;border-radius:16px}
  .official-space-grid{grid-template-columns:1fr}
  .official-space{min-height:84px}
  .workspace-header{height:62px}
  .workspace-dashboard-stage{height:calc(100vh - 62px)}
  .workspace-title,.workspace-brand{display:none}
  .form-dialog{border-radius:0;border:0}
  .dialog-head{min-height:60px;padding:12px 14px}
  .dialog-scroll-body{padding:14px}
  .dialog-scroll-body>.form-actions:last-child,.form-actions.sticky-actions{bottom:-14px;margin:16px -14px -14px;padding:12px 14px}
}

/* ===== ÈNERGIMAN PUBLIC FLOW FUNCTIONAL FIX V3 ===== */
.recruitment-target-card{
  display:grid!important;
  grid-template-columns:52px minmax(0,1fr) auto!important;
  align-items:center!important;
  gap:12px!important;
  overflow:hidden!important;
}
.recruitment-target-card .recruitment-company-logo,
.recruitment-target-card > img{
  width:52px!important;
  height:52px!important;
  min-width:52px!important;
  min-height:52px!important;
  max-width:52px!important;
  max-height:52px!important;
  object-fit:contain!important;
  object-position:center!important;
  display:block!important;
  border-radius:8px!important;
  background:#fff!important;
}
.recruitment-company-info{
  min-width:0!important;
}
.recruitment-company-info b,
.recruitment-company-info small{
  display:block!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  white-space:nowrap!important;
}
.public-success-banner{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) auto!important;
  gap:6px 12px!important;
  align-items:center!important;
  margin:0 0 14px!important;
  padding:14px!important;
  border:1px solid #d8e3ea!important;
  border-radius:10px!important;
  background:#f7fafc!important;
}
.public-success-banner span,
.public-success-banner small{
  color:#667785!important;
}
.public-success-banner b{
  font-size:20px!important;
  letter-spacing:.3px!important;
  color:#173f5f!important;
}
.public-success-banner button{
  grid-row:1/3!important;
  grid-column:2!important;
}
#tenant-registration-result .public-success-banner{
  margin:14px 0 0!important;
}
@media(max-width:680px){
  .recruitment-target-card{
    grid-template-columns:48px minmax(0,1fr)!important;
  }
  .recruitment-target-card .target-contact-button{
    grid-column:1/-1!important;
    width:100%!important;
  }
  .public-success-banner{
    grid-template-columns:1fr!important;
  }
  .public-success-banner button{
    grid-row:auto!important;
    grid-column:auto!important;
    width:100%!important;
  }
}

/* =========================================================
   INTERNAL NAVIGATION STEP1 — sidebar + workspace navigation
   Public portal is intentionally untouched.
   ========================================================= */
.workspace-safe-nav{
  display:flex;
  align-items:center;
  gap:6px;
  flex:0 0 auto;
}
.workspace-nav-button{
  width:auto!important;
  min-width:72px!important;
  padding-inline:11px!important;
  font-size:11.5px!important;
  font-weight:800!important;
  white-space:nowrap!important;
}
.workspace-nav-button:disabled{
  opacity:.42!important;
  cursor:default!important;
  box-shadow:none!important;
}

/* The JS already had sidebar-collapsed state; these were the missing visual rules. */
@media(min-width:761px){
  #workspace .sidebar,
  #workspace .workspace-main,
  #workspace .workspace-header{
    transition:width .18s ease,margin-inline-start .18s ease,inset-inline-start .18s ease!important;
  }

  body.sidebar-collapsed{
    --side:76px;
  }

  body.sidebar-collapsed #workspace .sidebar{
    width:76px!important;
  }

  body.sidebar-collapsed #workspace .workspace-main{
    margin-inline-start:76px!important;
  }

  body.sidebar-collapsed #workspace .workspace-header{
    inset-inline-start:76px!important;
  }

  body.sidebar-collapsed #app-nav{
    padding-inline:7px!important;
  }

  body.sidebar-collapsed #app-nav .nav-group{
    margin-bottom:7px!important;
  }

  body.sidebar-collapsed #app-nav .nav-group-title,
  body.sidebar-collapsed #app-nav [data-nav-label],
  body.sidebar-collapsed #app-nav .logout-label{
    display:none!important;
  }

  body.sidebar-collapsed #app-nav button{
    justify-content:center!important;
    gap:0!important;
    padding:9px!important;
    min-height:44px!important;
  }

  body.sidebar-collapsed #app-nav .nav-icon{
    width:28px!important;
    flex-basis:28px!important;
  }
}

@media(max-width:980px){
  .workspace-nav-button{
    min-width:40px!important;
    width:40px!important;
    padding:0!important;
    font-size:0!important;
  }
  #workspace-safe-back::before{
    content:"←";
    font-size:18px;
  }
  #workspace-safe-home::before{
    content:"⌂";
    font-size:18px;
  }
}

@media(max-width:760px){
  body.sidebar-collapsed{
    --side:0px;
  }
  .workspace-safe-nav{
    gap:4px;
  }
  .workspace-nav-button{
    width:38px!important;
    min-width:38px!important;
    height:38px!important;
    min-height:38px!important;
  }
}

/* =========================================================
   DIALOGS / BUTTONS / TYPOGRAPHY — STEP 2
   Scope: logged-in workspace + in-app dialogs only.
   Public portal is intentionally untouched.
   ========================================================= */

/* Arabic / UI font requested: Arial. */
#workspace,
#workspace button,
#workspace input,
#workspace select,
#workspace textarea,
.form-dialog,
.form-dialog *,
.form-dialog button,
.form-dialog input,
.form-dialog select,
.form-dialog textarea{
  font-family:Arial,sans-serif!important;
}

/* Three controlled window levels. */
.form-dialog.dialog-level-1{
  width:min(560px,calc(100vw - 32px))!important;
  max-width:560px!important;
  max-height:78vh!important;
}
.form-dialog.dialog-level-2{
  width:min(820px,calc(100vw - 32px))!important;
  max-width:820px!important;
  max-height:86vh!important;
}
.form-dialog.dialog-level-3{
  width:min(1040px,calc(100vw - 32px))!important;
  max-width:1040px!important;
  max-height:92vh!important;
}

.form-dialog.dialog-level-1 #dialog-content,
.form-dialog.dialog-level-1 #dialog-content-nested{max-height:78vh!important}
.form-dialog.dialog-level-2 #dialog-content,
.form-dialog.dialog-level-2 #dialog-content-nested{max-height:86vh!important}
.form-dialog.dialog-level-3 #dialog-content,
.form-dialog.dialog-level-3 #dialog-content-nested{max-height:92vh!important}

.form-dialog{
  border-radius:18px!important;
  border:1px solid #dbe4eb!important;
  box-shadow:0 24px 64px rgba(12,37,58,.19)!important;
}
.form-dialog::backdrop{
  background:rgba(10,28,45,.56)!important;
  backdrop-filter:blur(3px)!important;
}

.form-dialog .dialog-head{
  min-height:64px!important;
  padding:13px 16px!important;
  background:#fff!important;
  border-bottom:1px solid #e5ebf0!important;
}
.form-dialog .dialog-head h2,
.form-dialog .dialog-head h3{
  font-family:Arial,sans-serif!important;
  font-size:18px!important;
  line-height:1.35!important;
  font-weight:700!important;
  color:#123a5b!important;
}
.form-dialog .dialog-head p{
  margin:4px 0 0!important;
  font-size:11.5px!important;
  line-height:1.55!important;
  color:#71808c!important;
}
.form-dialog .dialog-head-actions{
  gap:7px!important;
  flex-wrap:nowrap!important;
}
.form-dialog .dialog-back,
.form-dialog .dialog-close{
  width:38px!important;
  height:38px!important;
  min-width:38px!important;
  min-height:38px!important;
  border:1px solid #d7e0e7!important;
  border-radius:10px!important;
  background:#fff!important;
  color:#24475f!important;
  box-shadow:none!important;
}
.form-dialog .dialog-back:hover,
.form-dialog .dialog-close:hover{
  background:#f4f7f9!important;
  border-color:#b9c8d3!important;
}

.form-dialog .dialog-scroll-body{
  padding:18px!important;
  background:#f8fafb!important;
}
.form-dialog.dialog-level-1 .dialog-scroll-body{
  padding:16px!important;
}

/* Compact forms at level 1, normal two-column forms at levels 2/3. */
.form-dialog.dialog-level-1 .form-grid{
  grid-template-columns:1fr!important;
}
.form-dialog.dialog-level-2 .form-grid,
.form-dialog.dialog-level-3 .form-grid{
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
}

/* Form controls: calm and uniform. */
.form-dialog label{
  font-size:12.5px!important;
  line-height:1.45!important;
  font-weight:700!important;
  color:#344b5e!important;
}
.form-dialog input:not([type=checkbox]):not([type=radio]),
.form-dialog select,
.form-dialog textarea{
  min-height:44px!important;
  border-radius:10px!important;
  border:1px solid #cfd9e1!important;
  padding:9px 11px!important;
  background:#fff!important;
  font-size:13px!important;
}
.form-dialog textarea{
  min-height:90px!important;
}
.form-dialog input:focus,
.form-dialog select:focus,
.form-dialog textarea:focus{
  border-color:#6789a2!important;
  box-shadow:0 0 0 3px rgba(35,78,108,.09)!important;
}

/* Multi-step windows follow the Employee wizard visual language. */
.form-dialog.dialog-flow-multi .v46-wizard-stage,
.form-dialog.dialog-flow-multi .wizard-stage{
  background:#fff!important;
  border:1px solid #e0e7ec!important;
  border-radius:12px!important;
  padding:14px!important;
}
.form-dialog.dialog-flow-multi .v46-wizard-actions,
.form-dialog.dialog-flow-multi .wizard-actions{
  position:sticky!important;
  bottom:-18px!important;
  z-index:3!important;
  margin:16px -18px -18px!important;
  padding:12px 18px!important;
  border-top:1px solid #dfe7ed!important;
  background:rgba(255,255,255,.98)!important;
  box-shadow:0 -6px 18px rgba(16,45,77,.04)!important;
}
.form-dialog.dialog-flow-multi .v46-step-dot{
  border-radius:10px!important;
}

/* Button system */
#workspace .btn,
.form-dialog .btn{
  min-height:40px!important;
  border-radius:10px!important;
  padding:8px 13px!important;
  font-family:Arial,sans-serif!important;
  font-size:12.5px!important;
  font-weight:700!important;
  box-shadow:none!important;
}
#workspace .btn-small,
.form-dialog .btn-small{
  min-height:34px!important;
  padding:6px 10px!important;
  font-size:11.5px!important;
  border-radius:9px!important;
}

/* process / study = blue */
#workspace .btn-process,
.form-dialog .btn-process,
#workspace [data-rec-action="start_review"],
#workspace [data-rec-action="resume_review"],
#workspace [data-rec-action="pre_approve"],
#workspace [data-doc-action="start"],
#workspace [data-doc-action="generate"],
#workspace [data-request-action="start_manager_review"],
#workspace [data-request-action="send_hr"],
#workspace [data-request-action="send_general_manager"],
#workspace [data-request-action="resume_review"],
#workspace [data-tenant-request-action="start_review"]{
  background:#eaf2f8!important;
  border-color:#bfd2e0!important;
  color:#17557f!important;
}
#workspace .btn-process:hover,
.form-dialog .btn-process:hover{
  background:#dceaf4!important;
  border-color:#a8c3d6!important;
}

/* approved / validated = green */
#workspace .btn-success,
.form-dialog .btn-success,
#workspace [data-rec-action="approve"],
#workspace [data-rec-action="convert"],
#workspace [data-doc-action="approve"],
#workspace [data-doc-action="deliver"],
#workspace [data-request-action="approve"],
#workspace [data-request-action="complete"],
#workspace [data-tenant-request-action="approve"],
#workspace [data-tenant-request-action="convert"],
#workspace [data-sub-action="activate"],
#workspace [data-sub-action="renew_annual"]{
  background:#edf8f2!important;
  border-color:#bfe0cd!important;
  color:#23744c!important;
}

/* request information = amber */
#workspace .btn-warning-soft,
.form-dialog .btn-warning-soft,
#workspace [data-rec-action="request_information"],
#workspace [data-doc-action="request_information"],
#workspace [data-request-action="request_information"],
#workspace [data-tenant-request-action="request_information"]{
  background:#fff8e8!important;
  border-color:#ead49f!important;
  color:#80611f!important;
}

/* reject / destructive = red */
#workspace .btn-danger,
.form-dialog .btn-danger,
#workspace [data-rec-action="reject"],
#workspace [data-request-action="reject"],
#workspace [data-tenant-request-action="reject"],
#workspace [data-delete-rec],
#workspace [data-disable-user],
#workspace [data-deactivate-employee],
#workspace [data-sub-action="suspend"]{
  background:#fff1ef!important;
  border-color:#e8bbb5!important;
  color:#a63a31!important;
}
#workspace .btn-danger:hover,
.form-dialog .btn-danger:hover{
  background:#fde6e3!important;
  border-color:#dba39c!important;
}

/* neutral outline */
#workspace .btn-outline,
#workspace .btn-quiet,
.form-dialog .btn-outline,
.form-dialog .btn-quiet{
  background:#fff!important;
  border-color:#cbd6df!important;
  color:#31516a!important;
}

/* status badges */
#workspace .status,
#workspace .status-badge,
#workspace .badge,
#workspace .pill{
  border-radius:999px!important;
  padding:4px 9px!important;
  font-family:Arial,sans-serif!important;
  font-size:10.5px!important;
  font-weight:700!important;
  border:1px solid transparent!important;
}
#workspace .status.submitted,
#workspace .status.under_review,
#workspace .status.manager_review,
#workspace .status.hr_review,
#workspace .status.general_manager_review,
#workspace .status.pre_approved,
#workspace .status.processing{
  background:#edf4f9!important;
  border-color:#c8d9e5!important;
  color:#245f87!important;
}
#workspace .status.approved,
#workspace .status.active,
#workspace .status.ready,
#workspace .status.delivered,
#workspace .status.converted,
#workspace .status.permanent{
  background:#edf8f2!important;
  border-color:#c6e2d1!important;
  color:#28754e!important;
}
#workspace .status.needs_information,
#workspace .status.pending,
#workspace .status.signature_pending{
  background:#fff8e7!important;
  border-color:#ebd7a4!important;
  color:#80611f!important;
}
#workspace .status.rejected,
#workspace .status.disabled,
#workspace .status.cancelled,
#workspace .status.error{
  background:#fff1ef!important;
  border-color:#e9c0ba!important;
  color:#a03d34!important;
}
#workspace .status.closed,
#workspace .status.archived{
  background:#f0f3f5!important;
  border-color:#d8e0e5!important;
  color:#61707c!important;
}

/* Tables / row actions */
#workspace .row-actions{
  gap:6px!important;
}
#workspace .row-actions .btn{
  white-space:nowrap!important;
}
#workspace th{
  font-family:Arial,sans-serif!important;
  font-size:11.5px!important;
  font-weight:700!important;
}
#workspace td{
  font-family:Arial,sans-serif!important;
  font-size:12.5px!important;
}

/* Mobile: every dialog becomes one clean full-height sheet. */
@media(max-width:680px){
  .form-dialog.dialog-level-1,
  .form-dialog.dialog-level-2,
  .form-dialog.dialog-level-3{
    width:100vw!important;
    max-width:100vw!important;
    max-height:100dvh!important;
    height:100dvh!important;
    border:0!important;
    border-radius:0!important;
  }
  .form-dialog.dialog-level-1 #dialog-content,
  .form-dialog.dialog-level-1 #dialog-content-nested,
  .form-dialog.dialog-level-2 #dialog-content,
  .form-dialog.dialog-level-2 #dialog-content-nested,
  .form-dialog.dialog-level-3 #dialog-content,
  .form-dialog.dialog-level-3 #dialog-content-nested{
    max-height:100dvh!important;
    height:100dvh!important;
  }
  .form-dialog .dialog-head{
    min-height:58px!important;
    padding:10px 12px!important;
  }
  .form-dialog .dialog-scroll-body{
    padding:13px!important;
  }
  .form-dialog.dialog-level-2 .form-grid,
  .form-dialog.dialog-level-3 .form-grid{
    grid-template-columns:1fr!important;
  }
  .form-dialog.dialog-flow-multi .v46-wizard-actions,
  .form-dialog.dialog-flow-multi .wizard-actions{
    bottom:-13px!important;
    margin:14px -13px -13px!important;
    padding:11px 13px!important;
  }
}

/* =========================================================
   DIALOGS UI STEP 3 — refined institutional system
   Goal: same visual family as Employees / Document Requests / Attendance.
   ========================================================= */

/* Smaller, calmer three-level sizing. */
.form-dialog.dialog-level-1{
  width:min(520px,calc(100vw - 36px))!important;
  max-width:520px!important;
  max-height:76vh!important;
}
.form-dialog.dialog-level-2{
  width:min(740px,calc(100vw - 36px))!important;
  max-width:740px!important;
  max-height:84vh!important;
}
.form-dialog.dialog-level-3{
  width:min(920px,calc(100vw - 36px))!important;
  max-width:920px!important;
  max-height:90vh!important;
}

.form-dialog.dialog-level-1 #dialog-content,
.form-dialog.dialog-level-1 #dialog-content-nested{max-height:76vh!important}
.form-dialog.dialog-level-2 #dialog-content,
.form-dialog.dialog-level-2 #dialog-content-nested{max-height:84vh!important}
.form-dialog.dialog-level-3 #dialog-content,
.form-dialog.dialog-level-3 #dialog-content-nested{max-height:90vh!important}

/* White institutional window, not oversized. */
.form-dialog{
  border-radius:15px!important;
  border:1px solid #d8e2e9!important;
  background:#fff!important;
  box-shadow:0 18px 46px rgba(16,43,64,.16)!important;
}
.form-dialog::backdrop{
  background:rgba(18,39,56,.46)!important;
  backdrop-filter:blur(2px)!important;
}

.form-dialog .dialog-head{
  min-height:60px!important;
  padding:12px 15px!important;
  background:#fbfcfd!important;
  border-bottom:1px solid #e3e9ee!important;
}
.form-dialog .dialog-head h2,
.form-dialog .dialog-head h3{
  font-size:17px!important;
  color:#24475f!important;
  font-weight:700!important;
}
.form-dialog .dialog-head p{
  font-size:11.5px!important;
  color:#7a8791!important;
}

.form-dialog .dialog-scroll-body{
  padding:16px!important;
  background:#fff!important;
}

/* Panels/cards inside dialogs match Employees / Documents / Attendance. */
.form-dialog .panel,
.form-dialog .card,
.form-dialog .box,
.form-dialog .detail-card,
.form-dialog .section-card,
.form-dialog .check-card,
.form-dialog .help-card{
  border-radius:11px!important;
  border:1px solid #e0e7ec!important;
  background:#fbfcfd!important;
  box-shadow:none!important;
}

.form-dialog .table-wrap{
  border:1px solid #dfe6eb!important;
  border-radius:11px!important;
  background:#fff!important;
  overflow:auto!important;
}
.form-dialog table{
  background:#fff!important;
}
.form-dialog th{
  background:#f6f8fa!important;
  color:#536878!important;
  font-size:11.5px!important;
}
.form-dialog td{
  color:#31495c!important;
  font-size:12.5px!important;
}

/* Softer modern buttons — no dark blocks. */
#workspace .btn,
.form-dialog .btn{
  min-height:38px!important;
  border-radius:9px!important;
  padding:7px 12px!important;
  border-width:1px!important;
  box-shadow:none!important;
  gap:7px!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  line-height:1.2!important;
}

#workspace .btn[data-ui-icon]::before,
.form-dialog .btn[data-ui-icon]::before{
  content:attr(data-ui-icon);
  display:inline-grid;
  place-items:center;
  width:18px;
  height:18px;
  flex:0 0 18px;
  font-size:14px;
  font-weight:700;
  line-height:1;
}

/* Main action = light CNAS-like blue, not dark navy. */
#workspace .btn-primary,
.form-dialog .btn-primary{
  background:#e8f2f8!important;
  border-color:#b9d1df!important;
  color:#1d5c7d!important;
}
#workspace .btn-primary:hover,
.form-dialog .btn-primary:hover{
  background:#dcebf4!important;
  border-color:#a8c4d5!important;
  color:#164f6d!important;
}

/* Process / study */
#workspace .btn-process,
.form-dialog .btn-process{
  background:#eef5fa!important;
  border-color:#c5d8e5!important;
  color:#2a6688!important;
}

/* Success */
#workspace .btn-success,
.form-dialog .btn-success{
  background:#eff8f3!important;
  border-color:#c9e1d3!important;
  color:#2f7652!important;
}

/* Info requested */
#workspace .btn-warning-soft,
.form-dialog .btn-warning-soft{
  background:#fff9eb!important;
  border-color:#ead9aa!important;
  color:#836a2c!important;
}

/* Reject / destructive */
#workspace .btn-danger,
.form-dialog .btn-danger{
  background:#fff3f1!important;
  border-color:#e8c4bf!important;
  color:#a64d43!important;
}

/* Neutral buttons */
#workspace .btn-outline,
#workspace .btn-quiet,
.form-dialog .btn-outline,
.form-dialog .btn-quiet{
  background:#fff!important;
  border-color:#d2dce3!important;
  color:#496376!important;
}
#workspace .btn-outline:hover,
#workspace .btn-quiet:hover,
.form-dialog .btn-outline:hover,
.form-dialog .btn-quiet:hover{
  background:#f5f8fa!important;
  border-color:#bdcbd5!important;
}

/* Headers controls should remain small and clear. */
.form-dialog .dialog-back,
.form-dialog .dialog-close{
  width:36px!important;
  height:36px!important;
  min-width:36px!important;
  min-height:36px!important;
  border-radius:9px!important;
  background:#fff!important;
  border-color:#d6e0e7!important;
  color:#466174!important;
}

/* Simple forms = one clean content column; medium and large = max two columns. */
.form-dialog.dialog-level-1 .form-grid{
  grid-template-columns:1fr!important;
}
.form-dialog.dialog-level-2 .form-grid,
.form-dialog.dialog-level-3 .form-grid{
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
}

/* Multi-step: actions are always visible but light. */
.form-dialog.dialog-flow-multi .v46-wizard-actions,
.form-dialog.dialog-flow-multi .wizard-actions{
  position:sticky!important;
  bottom:-16px!important;
  z-index:4!important;
  margin:14px -16px -16px!important;
  padding:11px 16px!important;
  border-top:1px solid #e1e8ed!important;
  background:rgba(255,255,255,.98)!important;
  box-shadow:0 -4px 14px rgba(29,67,91,.04)!important;
}

/* Status pills also lighter. */
#workspace .status,
#workspace .status-badge,
#workspace .badge,
#workspace .pill{
  box-shadow:none!important;
  font-weight:700!important;
}

/* Keep internal workspace visibly authenticated; navigation never morphs into public-page style. */
#workspace:not([hidden]){
  background:#f5f7f9!important;
}
#workspace:not([hidden]) .workspace-main{
  background:#f5f7f9!important;
}

@media(max-width:680px){
  .form-dialog.dialog-level-1,
  .form-dialog.dialog-level-2,
  .form-dialog.dialog-level-3{
    width:calc(100vw - 12px)!important;
    max-width:calc(100vw - 12px)!important;
    height:calc(100dvh - 12px)!important;
    max-height:calc(100dvh - 12px)!important;
    border-radius:12px!important;
  }
  .form-dialog.dialog-level-1 #dialog-content,
  .form-dialog.dialog-level-1 #dialog-content-nested,
  .form-dialog.dialog-level-2 #dialog-content,
  .form-dialog.dialog-level-2 #dialog-content-nested,
  .form-dialog.dialog-level-3 #dialog-content,
  .form-dialog.dialog-level-3 #dialog-content-nested{
    height:100%!important;
    max-height:100%!important;
  }
}


/* =========================================================
   ENERGIMAN UI/UX PHASE 1 — AUTHENTICATED SHELL
   ========================================================= */

#workspace,
#workspace button,
#workspace input,
#workspace select,
#workspace textarea{
  font-family:Arial,Tahoma,sans-serif!important;
}

/* Top bar: compact, symbolic, Windows-like and calm. */
#workspace .workspace-header{
  height:60px!important;
  min-height:60px!important;
  padding:7px 12px!important;
  gap:6px!important;
  background:#fff!important;
  border-bottom:1px solid #dfe6eb!important;
  box-shadow:0 2px 10px rgba(28,59,80,.035)!important;
}
#workspace .workspace-title{
  min-width:155px!important;
  max-width:250px!important;
  gap:0!important;
}
#workspace #view-kicker{
  font-size:9.5px!important;
  color:#83919c!important;
}
#workspace #view-title{
  font-size:15px!important;
  color:#294b61!important;
  line-height:1.25!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}
#workspace .workspace-search-wrap{
  max-width:390px!important;
  margin-inline:6px auto!important;
}
#workspace .workspace-search-wrap input{
  height:36px!important;
  min-height:36px!important;
  border-radius:9px!important;
  background:#f7f9fa!important;
  border-color:#dce5eb!important;
}
#workspace .workspace-tools{gap:4px!important}
#workspace .workspace-tools .topicon,
#workspace .workspace-tools .help-button,
#workspace .workspace-tools .notification-button,
#workspace .workspace-nav-button,
#workspace #menu-toggle{
  width:36px!important;
  height:36px!important;
  min-width:36px!important;
  min-height:36px!important;
  border-radius:9px!important;
  border:1px solid #dce5eb!important;
  background:#fff!important;
  color:#526f82!important;
  box-shadow:none!important;
}
#workspace .workspace-nav-button{
  width:auto!important;
  min-width:68px!important;
  padding-inline:9px!important;
  font-size:11px!important;
}
#workspace .header-profile{
  height:36px!important;
  min-height:36px!important;
  border-radius:9px!important;
  border:1px solid #dce5eb!important;
  background:#fff!important;
}
#workspace .workspace-language .lang-select{
  height:36px!important;
  min-height:36px!important;
  border-radius:9px!important;
}

/* Root navigation fix: no full page reload for internal centers. */
#workspace .workspace-dashboard-stage{
  position:relative!important;
  min-height:calc(100vh - 60px)!important;
}
#workspace .workspace-dashboard-stage.center-active{
  padding:0!important;
  overflow:hidden!important;
}
.workspace-center-host{
  position:absolute!important;
  inset:0!important;
  z-index:40!important;
  background:#f4f6f8!important;
  overflow:hidden!important;
}
.workspace-center-host[hidden]{display:none!important}
.workspace-center-frame{
  width:100%!important;
  height:100%!important;
  border:0!important;
  display:block!important;
  background:#fff!important;
}
.workspace-center-loading{
  position:absolute!important;
  inset:0!important;
  z-index:3!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:10px!important;
  background:#f7f9fa!important;
  color:#597183!important;
  font-size:12px!important;
}
.workspace-center-loading[hidden]{display:none!important}
.workspace-center-spinner{
  width:22px!important;
  height:22px!important;
  border:2px solid #cedbe4!important;
  border-top-color:#6f9bb4!important;
  border-radius:50%!important;
  animation:energiman-center-spin .7s linear infinite!important;
}
@keyframes energiman-center-spin{to{transform:rotate(360deg)}}

/* Do not animate the public/login layer during authenticated routing. */
body.em-workspace-mode #public-site,
body.em-workspace-mode #login-dialog{
  animation:none!important;
  transition:none!important;
}

/* Requests/documents: retain the good layout, only refine action buttons. */
#workspace [data-view="documents"] .btn,
#workspace .row-actions .btn{
  min-height:32px!important;
  padding:5px 9px!important;
  border-radius:8px!important;
  font-size:11px!important;
}

@media(max-width:980px){
  #workspace .workspace-nav-button{
    width:36px!important;
    min-width:36px!important;
    padding:0!important;
    font-size:0!important;
  }
}
@media(max-width:760px){
  #workspace .workspace-header{height:56px!important;min-height:56px!important}
  #workspace .workspace-dashboard-stage{min-height:calc(100dvh - 56px)!important}
  #workspace .workspace-title{min-width:100px!important;max-width:155px!important}
}


/* =========================================================
   ENERGIMAN COMMUNICATION UI — PHASE 1B
   Messenger-like chat + real PTT radio methodology.
   Arial/Tahoma only, front-end changes only.
   ========================================================= */

#workspace .chat-shell,
#workspace .chat-shell *{
  font-family:Arial,Tahoma,sans-serif!important;
}
#workspace .chat-shell{
  height:calc(100vh - 112px)!important;
  min-height:580px!important;
  display:grid!important;
  grid-template-columns:minmax(270px,315px) minmax(0,1fr)!important;
  gap:10px!important;
  background:transparent!important;
}
#workspace .chat-list-panel,
#workspace .chat-thread-panel{
  min-width:0!important;
  min-height:0!important;
  border:1px solid #dfe6eb!important;
  border-radius:14px!important;
  background:#fff!important;
  overflow:hidden!important;
  box-shadow:0 4px 18px rgba(27,58,79,.045)!important;
}
#workspace .chat-list-panel{
  display:grid!important;
  grid-template-rows:auto minmax(0,1fr)!important;
}
#workspace .chat-list-head{
  display:grid!important;
  gap:9px!important;
  padding:12px!important;
  border-bottom:1px solid #e7edf1!important;
  background:#fff!important;
}
#workspace .comm-list-title h2{
  margin:0!important;
  font-size:16px!important;
  color:#2e5067!important;
  font-weight:700!important;
}
#workspace .comm-list-title small{
  display:block!important;
  margin-top:2px!important;
  font-size:10.5px!important;
  color:#7e8c97!important;
  line-height:1.45!important;
}
#workspace .comm-create-actions{
  display:flex!important;
  gap:5px!important;
  flex-wrap:wrap!important;
}
#workspace .comm-create-actions .btn{
  min-height:31px!important;
  padding:5px 8px!important;
  font-size:10.5px!important;
}
#workspace .comm-search{
  display:grid!important;
  grid-template-columns:26px minmax(0,1fr)!important;
  align-items:center!important;
  gap:2px!important;
  min-height:38px!important;
  padding:0 8px!important;
  border:1px solid #dce5eb!important;
  border-radius:999px!important;
  background:#f6f8fa!important;
}
#workspace .comm-search>span{
  color:#82909a!important;
  font-size:15px!important;
  text-align:center!important;
}
#workspace .comm-search input{
  height:34px!important;
  min-height:34px!important;
  padding:0 4px!important;
  border:0!important;
  background:transparent!important;
  box-shadow:none!important;
  font-size:11.5px!important;
}
#workspace .comm-filter-tabs{
  display:grid!important;
  grid-template-columns:repeat(3,1fr)!important;
  gap:4px!important;
}
#workspace .comm-filter-tabs button{
  min-height:30px!important;
  padding:4px 7px!important;
  border:1px solid transparent!important;
  border-radius:8px!important;
  background:transparent!important;
  color:#6b7f8d!important;
  font-size:10.5px!important;
  font-weight:700!important;
}
#workspace .comm-filter-tabs button.active{
  background:#eaf3f8!important;
  border-color:#c7dbe7!important;
  color:#356b87!important;
}
#workspace .chat-conversations{
  overflow-y:auto!important;
  background:#fff!important;
}
#workspace .chat-conv{
  width:100%!important;
  min-height:66px!important;
  display:grid!important;
  grid-template-columns:42px minmax(0,1fr) auto!important;
  gap:9px!important;
  align-items:center!important;
  padding:8px 10px!important;
  border:0!important;
  border-bottom:1px solid #edf1f4!important;
  border-radius:0!important;
  background:#fff!important;
  color:#304b5f!important;
  text-align:start!important;
  box-shadow:none!important;
}
#workspace .chat-conv:hover{background:#f7f9fb!important}
#workspace .chat-conv.active{
  background:#edf5fa!important;
  box-shadow:inset 3px 0 0 #6f9db7!important;
}
#workspace .chat-conv.type-radio.active{
  background:#eef8f2!important;
  box-shadow:inset 3px 0 0 #6fa584!important;
}
#workspace .chat-avatar{
  width:38px!important;
  height:38px!important;
  display:grid!important;
  place-items:center!important;
  border-radius:50%!important;
  background:#edf3f7!important;
  color:#537d94!important;
  flex:0 0 38px!important;
}
#workspace .chat-avatar.large{
  width:40px!important;
  height:40px!important;
}
#workspace .chat-conv.type-radio .chat-avatar{
  border-radius:10px!important;
  background:#eef7f1!important;
  color:#4f7d61!important;
}
#workspace .chat-conv-text{min-width:0!important}
#workspace .chat-conv-title{
  display:flex!important;
  align-items:center!important;
  gap:5px!important;
  min-width:0!important;
}
#workspace .chat-conv-title b{
  min-width:0!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  white-space:nowrap!important;
  font-size:12px!important;
  font-weight:700!important;
  color:#304e62!important;
}
#workspace .chat-conv-text>small{
  display:block!important;
  margin-top:3px!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  white-space:nowrap!important;
  font-size:10px!important;
  color:#87949e!important;
}
#workspace .chat-conv-meta{
  min-width:30px!important;
  display:grid!important;
  justify-items:end!important;
  gap:5px!important;
}
#workspace .chat-conv-meta time{
  font-size:8.5px!important;
  color:#99a4ac!important;
}
#workspace .chat-unread{
  min-width:19px!important;
  height:19px!important;
  display:grid!important;
  place-items:center!important;
  padding:0 5px!important;
  border-radius:999px!important;
  background:#4f8baa!important;
  color:#fff!important;
  font-style:normal!important;
  font-size:9px!important;
  font-weight:800!important;
}
#workspace .radio-badge{
  min-height:19px!important;
  padding:2px 6px!important;
  border-radius:999px!important;
  background:#e8f5ed!important;
  color:#4f7f61!important;
  font-size:8px!important;
  font-weight:800!important;
}

/* Empty state */
#workspace .comm-empty{
  height:100%!important;
  min-height:340px!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:center!important;
  gap:7px!important;
  padding:24px!important;
  text-align:center!important;
  color:#7d8b95!important;
  background:#fafcfd!important;
}
#workspace .comm-empty>span{
  width:54px!important;height:54px!important;
  display:grid!important;place-items:center!important;
  border-radius:50%!important;
  background:#edf4f8!important;
  color:#63889d!important;
}
#workspace .comm-empty h2{
  margin:0!important;
  font-size:15px!important;
  color:#4e697c!important;
}
#workspace .comm-empty p{
  max-width:430px!important;
  margin:0!important;
  font-size:10.5px!important;
  line-height:1.6!important;
}
#workspace .comm-empty.compact{
  min-height:130px!important;
}

/* Messenger / WhatsApp style thread */
#workspace .messenger-thread{
  height:100%!important;
  min-height:0!important;
  display:grid!important;
  grid-template-rows:auto minmax(0,1fr) auto!important;
}
#workspace .messenger-head,
#workspace .radio-room-head{
  min-height:62px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:10px!important;
  padding:9px 12px!important;
  border-bottom:1px solid #e5ebef!important;
  background:#fff!important;
}
#workspace .messenger-contact,
#workspace .radio-room-title{
  min-width:0!important;
  display:flex!important;
  align-items:center!important;
  gap:9px!important;
}
#workspace .messenger-contact>div,
#workspace .radio-room-title>div{min-width:0!important}
#workspace .messenger-contact h3,
#workspace .radio-room-title h3{
  margin:0!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  white-space:nowrap!important;
  font-size:13.5px!important;
  color:#304f63!important;
  font-weight:700!important;
}
#workspace .messenger-contact small,
#workspace .radio-room-title small{
  display:block!important;
  margin-top:2px!important;
  font-size:9.5px!important;
  color:#81909a!important;
}
#workspace .chat-thread-tools{
  display:flex!important;
  align-items:center!important;
  gap:5px!important;
}
#workspace .chat-thread-tools .btn{
  min-height:32px!important;
  padding:5px 8px!important;
  font-size:10px!important;
}
#workspace .messenger-messages,
#workspace .radio-messages{
  min-height:0!important;
  max-height:none!important;
  overflow-y:auto!important;
  padding:14px 14px 10px!important;
  background:#f5f7f9!important;
}
#workspace .messenger-messages{
  background:
    linear-gradient(rgba(248,250,251,.92),rgba(248,250,251,.92)),
    radial-gradient(circle at 20% 20%,#dfe7ec 1px,transparent 1px)!important;
  background-size:auto,18px 18px!important;
}
#workspace .chat-date-separator{
  display:flex!important;
  justify-content:center!important;
  margin:8px 0 10px!important;
}
#workspace .chat-date-separator span{
  padding:3px 8px!important;
  border-radius:999px!important;
  border:1px solid #e0e6ea!important;
  background:rgba(255,255,255,.88)!important;
  color:#87939c!important;
  font-size:8.5px!important;
}
#workspace .chat-bubble-row{
  display:flex!important;
  margin:3px 0!important;
}
#workspace .chat-bubble-row.mine{justify-content:flex-end!important}
#workspace .chat-bubble-row.theirs{justify-content:flex-start!important}
#workspace .chat-message{
  position:relative!important;
  width:auto!important;
  max-width:min(74%,640px)!important;
  margin:0!important;
  padding:7px 9px 5px!important;
  border:1px solid #e0e6eb!important;
  border-radius:14px 14px 14px 5px!important;
  background:#fff!important;
  color:#2f4759!important;
  box-shadow:0 1px 2px rgba(31,58,77,.03)!important;
}
#workspace .chat-message.mine{
  border-color:#cfe0ea!important;
  border-radius:14px 14px 5px 14px!important;
  background:#e9f3f8!important;
}
#workspace .chat-sender{
  display:block!important;
  margin-bottom:3px!important;
  color:#537d95!important;
  font-size:8.5px!important;
  font-weight:700!important;
}
#workspace .chat-body{
  font-size:11.5px!important;
  line-height:1.55!important;
  overflow-wrap:anywhere!important;
}
#workspace .chat-message time{
  display:block!important;
  margin-top:3px!important;
  text-align:end!important;
  color:#98a3aa!important;
  font-size:8px!important;
}
#workspace .chat-attachment{
  min-width:220px!important;
  display:flex!important;
  align-items:center!important;
  gap:8px!important;
  margin-top:6px!important;
  padding:8px!important;
  border:1px solid #dfe6eb!important;
  border-radius:9px!important;
  background:#f9fbfc!important;
  color:#46677b!important;
  text-decoration:none!important;
}
#workspace .chat-attachment>span{
  width:30px!important;height:30px!important;
  display:grid!important;place-items:center!important;
  border-radius:8px!important;
  background:#edf3f7!important;
}
#workspace .chat-attachment b{
  font-size:10px!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  white-space:nowrap!important;
}
#workspace .chat-image-attachment{
  display:grid!important;
  gap:4px!important;
  margin-top:6px!important;
  color:#5d7585!important;
  text-decoration:none!important;
}
#workspace .chat-image-attachment img{
  display:block!important;
  width:min(320px,100%)!important;
  max-height:280px!important;
  object-fit:cover!important;
  border-radius:10px!important;
  border:1px solid #dce4e9!important;
  background:#fff!important;
}
#workspace .chat-image-attachment span{font-size:8.5px!important}
#workspace .chat-voice-wrap{
  min-width:240px!important;
  display:flex!important;
  align-items:center!important;
  gap:7px!important;
  margin-top:6px!important;
  padding:6px 7px!important;
  border:1px solid #dce5ea!important;
  border-radius:10px!important;
  background:#f9fbfc!important;
}
#workspace .voice-wave{
  color:#6e98ae!important;
  font-size:9px!important;
  letter-spacing:1px!important;
}
#workspace .chat-voice-player{
  width:220px!important;
  max-width:100%!important;
  height:32px!important;
}
#workspace .chat-compose{
  display:grid!important;
  grid-template-columns:36px 36px minmax(0,1fr) auto!important;
  gap:6px!important;
  align-items:end!important;
  padding:9px!important;
  border-top:1px solid #e1e8ed!important;
  background:#fff!important;
}
#workspace .chat-compose textarea{
  min-height:36px!important;
  max-height:100px!important;
  padding:8px 10px!important;
  border:1px solid #dbe4e9!important;
  border-radius:18px!important;
  background:#f7f9fa!important;
  font-size:11px!important;
  resize:none!important;
}
#workspace .chat-file-btn,
#workspace .chat-voice-btn,
#workspace .chat-send-btn{
  width:36px!important;height:36px!important;
  display:grid!important;place-items:center!important;
  border:1px solid #d9e3e9!important;
  border-radius:50%!important;
  background:#fff!important;
  color:#56798e!important;
  box-shadow:none!important;
}
#workspace .chat-file-btn:hover,
#workspace .chat-voice-btn:hover{background:#f3f7f9!important}
#workspace .chat-voice-btn.recording{
  background:#fff0ee!important;
  border-color:#e8bcb6!important;
  color:#a64f45!important;
}
#workspace .chat-send-btn{
  border-color:#6f9eb8!important;
  background:#6f9eb8!important;
  color:#fff!important;
  font-size:14px!important;
}

/* Radio: actual PTT console methodology */
#workspace .radio-room{
  height:100%!important;
  min-height:0!important;
  display:grid!important;
  grid-template-rows:auto auto auto minmax(150px,1fr) auto!important;
  background:#f5f7f9!important;
}
#workspace .radio-room-head{
  min-height:64px!important;
  background:#fff!important;
}
#workspace .radio-device-icon{
  width:42px!important;height:42px!important;
  display:grid!important;place-items:center!important;
  border-radius:10px!important;
  border:1px solid #d9e7de!important;
  background:#eff8f3!important;
  color:#4f7d62!important;
}
#workspace .radio-kicker{
  display:block!important;
  margin-bottom:1px!important;
  color:#7b9184!important;
  font-size:8.5px!important;
  font-weight:800!important;
  letter-spacing:.6px!important;
}
#workspace .radio-console{
  margin:12px 14px 10px!important;
  padding:12px!important;
  display:grid!important;
  justify-items:center!important;
  gap:10px!important;
  border:1px solid #d5e0e6!important;
  border-radius:15px!important;
  background:linear-gradient(180deg,#fbfcfd,#f1f5f7)!important;
  box-shadow:inset 0 1px 0 #fff,0 5px 16px rgba(31,62,82,.05)!important;
}
#workspace .radio-console-screen{
  width:100%!important;
  min-height:58px!important;
  display:grid!important;
  grid-template-columns:52px minmax(0,1fr) auto!important;
  align-items:center!important;
  gap:10px!important;
  padding:8px 10px!important;
  border:1px solid #cfdce3!important;
  border-radius:10px!important;
  background:#edf3f5!important;
  color:#3d596a!important;
}
#workspace .radio-signal-bars{
  height:28px!important;
  display:flex!important;
  align-items:flex-end!important;
  justify-content:center!important;
  gap:3px!important;
}
#workspace .radio-signal-bars i{
  width:4px!important;
  border-radius:2px!important;
  background:#8ca4b1!important;
}
#workspace .radio-signal-bars i:nth-child(1){height:8px!important}
#workspace .radio-signal-bars i:nth-child(2){height:13px!important}
#workspace .radio-signal-bars i:nth-child(3){height:19px!important}
#workspace .radio-signal-bars i:nth-child(4){height:25px!important}
#workspace .radio-console-screen b{
  display:block!important;
  font-size:13px!important;
  color:#34576b!important;
}
#workspace .radio-console-screen small{
  display:block!important;
  margin-top:2px!important;
  font-size:9px!important;
  color:#7c8d98!important;
}
#workspace .radio-channel-chip{
  min-height:26px!important;
  display:inline-flex!important;align-items:center!important;
  padding:3px 8px!important;
  border-radius:7px!important;
  background:#fff!important;
  border:1px solid #d8e2e8!important;
  color:#657c8b!important;
  font-size:8.5px!important;
}
#workspace .radio-ptt-main{
  width:150px!important;
  height:150px!important;
  display:grid!important;
  place-items:center!important;
  align-content:center!important;
  gap:4px!important;
  border:1px solid #c8d7df!important;
  border-radius:50%!important;
  background:linear-gradient(145deg,#ffffff,#e9eff2)!important;
  color:#31566c!important;
  box-shadow:0 8px 20px rgba(30,61,81,.10),inset 0 2px 0 #fff,inset 0 -3px 8px rgba(55,84,100,.06)!important;
  user-select:none!important;
  -webkit-user-select:none!important;
  touch-action:none!important;
}
#workspace .radio-ptt-main:hover{transform:translateY(-1px)!important}
#workspace .radio-ptt-main:active,
#workspace .radio-ptt-main.transmitting{
  transform:translateY(1px) scale(.985)!important;
  border-color:#78a98a!important;
  background:linear-gradient(145deg,#e9f7ef,#d6eadf)!important;
  color:#2f704e!important;
  box-shadow:inset 0 3px 9px rgba(63,113,82,.10)!important;
}
#workspace .radio-ptt-ring{
  width:62px!important;height:62px!important;
  display:grid!important;place-items:center!important;
  border:1px solid #cbd9df!important;
  border-radius:50%!important;
  background:#f6f9fa!important;
}
#workspace .radio-ptt-core{
  width:46px!important;height:46px!important;
  display:grid!important;place-items:center!important;
  border-radius:50%!important;
  background:#647f8e!important;
  color:#fff!important;
}
#workspace .radio-ptt-main.transmitting .radio-ptt-core{background:#4f825f!important}
#workspace .radio-ptt-main strong{
  font-size:11px!important;
  font-weight:800!important;
}
#workspace .radio-ptt-main>small{
  font-size:8px!important;
  letter-spacing:1.2px!important;
  color:#88969f!important;
}
#workspace .radio-console.is-rx{
  border-color:#c8ddcf!important;
  background:linear-gradient(180deg,#f8fcf9,#eff7f2)!important;
}
#workspace .radio-console.is-rx .radio-console-screen{background:#eef7f1!important}
#workspace .radio-console.is-rx .radio-signal-bars i{background:#6f9d7f!important}
#workspace .radio-console.is-tx{
  border-color:#bfd9c7!important;
  background:linear-gradient(180deg,#f5fbf7,#e9f5ed)!important;
}
#workspace .radio-console.is-tx .radio-signal-bars i{background:#4f8661!important}
#workspace .radio-console-hints{
  width:100%!important;
  display:flex!important;
  justify-content:center!important;
  gap:12px!important;
  flex-wrap:wrap!important;
  color:#7c8a94!important;
  font-size:8.5px!important;
}
#workspace .radio-console-hints span:first-child{color:#577d66!important}
#workspace .radio-log-head{
  display:flex!important;
  justify-content:space-between!important;
  align-items:end!important;
  gap:10px!important;
  padding:8px 14px!important;
  border-top:1px solid #e1e8ed!important;
  border-bottom:1px solid #e7edf1!important;
  background:#fff!important;
}
#workspace .radio-log-head b{
  display:block!important;
  font-size:11px!important;
  color:#405e71!important;
}
#workspace .radio-log-head small{
  display:block!important;
  margin-top:2px!important;
  font-size:8.5px!important;
  color:#8a969e!important;
}
#workspace .radio-messages{
  padding-top:10px!important;
  background:#f7f9fa!important;
}
#workspace .radio-compose textarea{border-radius:10px!important}

/* Radio live banner */
.radio-live-banner{
  left:50%!important;
  right:auto!important;
  bottom:22px!important;
  transform:translateX(-50%)!important;
  min-width:280px!important;
  max-width:calc(100vw - 24px)!important;
  display:grid!important;
  grid-template-columns:12px auto minmax(0,1fr)!important;
  align-items:center!important;
  gap:8px!important;
  padding:9px 12px!important;
  border-radius:12px!important;
  border:1px solid #d1e0d7!important;
  background:#fff!important;
  box-shadow:0 12px 32px rgba(22,53,72,.15)!important;
  color:#456554!important;
  font-family:Arial,Tahoma,sans-serif!important;
}
.radio-live-banner.tx{border-color:#bed9c7!important;background:#f2faf5!important}
.radio-live-banner.rx{border-color:#cbdde6!important;background:#f4f9fb!important;color:#436779!important}
.radio-live-banner .radio-live-dot{
  width:9px!important;height:9px!important;
  border-radius:50%!important;
  background:#5b9a72!important;
  box-shadow:0 0 0 4px rgba(91,154,114,.10)!important;
}

/* Room members */
.form-dialog .comm-room-info{display:grid!important;gap:10px!important}
.form-dialog .comm-room-stats{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:7px!important;
}
.form-dialog .comm-room-stats>div{
  padding:9px!important;
  border:1px solid #e0e7ec!important;
  border-radius:9px!important;
  background:#fafcfd!important;
}
.form-dialog .comm-room-stats span{display:block!important;font-size:9px!important;color:#7e8d97!important}
.form-dialog .comm-room-stats b{display:block!important;margin-top:2px!important;font-size:11.5px!important;color:#3c5c70!important}
.form-dialog .comm-section-title{
  padding-bottom:6px!important;
  border-bottom:1px solid #e9eef1!important;
  color:#455f71!important;
  font-size:11px!important;
  font-weight:800!important;
}
.form-dialog .comm-members-list{display:grid!important;gap:5px!important}
.form-dialog .comm-member-row{
  display:grid!important;
  grid-template-columns:34px minmax(0,1fr) auto!important;
  align-items:center!important;
  gap:8px!important;
  padding:7px!important;
  border:1px solid #e4eaee!important;
  border-radius:8px!important;
  background:#fff!important;
}
.form-dialog .comm-member-avatar{
  width:32px!important;height:32px!important;
  display:grid!important;place-items:center!important;
  border-radius:50%!important;
  background:#edf4f8!important;
  color:#537a91!important;
  font-size:10px!important;
  font-weight:800!important;
}
.form-dialog .comm-member-copy{min-width:0!important}
.form-dialog .comm-member-copy b,
.form-dialog .comm-member-copy small{
  display:block!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  white-space:nowrap!important;
}
.form-dialog .comm-member-copy b{font-size:10.5px!important;color:#3c5669!important}
.form-dialog .comm-member-copy small{font-size:8.5px!important;color:#89959d!important}
.form-dialog .comm-room-note{
  padding:8px 9px!important;
  border:1px solid #ead9aa!important;
  border-radius:8px!important;
  background:#fff9ec!important;
  color:#7d662e!important;
  font-size:9.5px!important;
}
.form-dialog .comm-add-members .selection-list{
  max-height:220px!important;
  overflow:auto!important;
}

/* Calls */
.call-overlay{
  background:rgba(19,39,53,.45)!important;
  backdrop-filter:blur(4px)!important;
}
.call-card{
  width:min(330px,calc(100vw - 24px))!important;
  padding:18px!important;
  border:1px solid #dbe4e9!important;
  border-radius:16px!important;
  background:#fff!important;
  box-shadow:0 18px 44px rgba(25,53,72,.16)!important;
  font-family:Arial,Tahoma,sans-serif!important;
}
.call-card h2{font-size:15px!important;color:#345469!important}
.call-card .call-avatar{
  width:58px!important;height:58px!important;
  border-radius:50%!important;
  background:#edf4f8!important;
  color:#537d94!important;
}
.call-actions .btn{min-width:94px!important}

@media(max-width:900px){
  #workspace .chat-shell{
    height:auto!important;
    min-height:0!important;
    grid-template-columns:1fr!important;
  }
  #workspace .chat-list-panel{max-height:300px!important}
  #workspace .chat-thread-panel{min-height:570px!important}
}
@media(max-width:620px){
  #workspace .chat-shell{gap:7px!important}
  #workspace .chat-list-head{padding:9px!important}
  #workspace .comm-create-actions .btn{flex:1!important}
  #workspace .messenger-head,
  #workspace .radio-room-head{
    align-items:flex-start!important;
    flex-direction:column!important;
  }
  #workspace .chat-thread-tools{width:100%!important}
  #workspace .chat-thread-tools .btn{flex:1!important}
  #workspace .chat-message{max-width:86%!important}
  #workspace .chat-compose{
    grid-template-columns:34px 34px minmax(0,1fr) 34px!important;
    padding:7px!important;
  }
  #workspace .chat-file-btn,
  #workspace .chat-voice-btn,
  #workspace .chat-send-btn{width:34px!important;height:34px!important}
  #workspace .radio-console{margin:8px!important;padding:10px!important}
  #workspace .radio-console-screen{
    grid-template-columns:42px minmax(0,1fr)!important;
  }
  #workspace .radio-channel-chip{display:none!important}
  #workspace .radio-ptt-main{width:132px!important;height:132px!important}
  #workspace .radio-console-hints{gap:7px!important}
  .form-dialog .comm-room-stats{grid-template-columns:1fr!important}
}


/* =========================================================
   ENERGIMAN — PUBLIC PORTAL FINAL PHASE — 2026-08-31
   Current portal evolved, not replaced.
   ========================================================= */
#public-site,
#public-site button,
#public-site input,
#public-site select,
#public-site textarea,
.form-dialog.public-support-chat-dialog *,
.form-dialog.public-services-dialog *{
  font-family:Arial,Tahoma,sans-serif!important;
}
#public-support-footer{display:none!important}

/* Official header */
#public-site .public-header-final{
  min-height:66px!important;
  padding:8px 18px!important;
  gap:12px!important;
  background:rgba(255,255,255,.98)!important;
  border-bottom:1px solid #dce5eb!important;
  box-shadow:0 2px 12px rgba(27,57,78,.04)!important;
}
#public-site .public-brand{gap:9px!important}
#public-site .public-brand .brand-mark{width:38px!important;height:38px!important}
#public-site .public-brand b{font-size:13px!important;color:#294d64!important}
#public-site .public-brand small{font-size:9px!important;color:#82909a!important}
#public-site .v45-public-nav{gap:4px!important}
#public-site .v45-nav-link{
  min-height:34px!important;
  display:inline-flex!important;
  align-items:center!important;
  gap:6px!important;
  padding:6px 9px!important;
  border:1px solid transparent!important;
  border-radius:8px!important;
  background:transparent!important;
  color:#587184!important;
  font-size:10.5px!important;
  font-weight:700!important;
}
#public-site .v45-nav-link:hover,
#public-site .v45-nav-link.active{
  background:#edf5f9!important;
  border-color:#d3e2ea!important;
  color:#356b87!important;
}
#public-site .public-tools{gap:4px!important}
#public-site .public-tools .icon-tool,
#public-site .language-control,
#public-site .public-login-button{
  min-height:36px!important;
  border-radius:9px!important;
}
#public-site .public-tools .icon-tool{
  width:36px!important;height:36px!important;
  border:1px solid #dce5eb!important;
  background:#fff!important;
  color:#587487!important;
}
#public-site .public-tools .icon-tool:hover{background:#f4f8fa!important}
#public-site .public-login-button{
  padding:7px 11px!important;
  background:#e8f2f8!important;
  border-color:#bed4e1!important;
  color:#245f7e!important;
  box-shadow:none!important;
}
#public-site .language-control{
  border:1px solid #dce5eb!important;
  background:#fff!important;
}
#public-site .lang-select{
  min-height:34px!important;
  font-size:10.5px!important;
}

/* Hero */
#public-site .portal-home{padding:32px 18px!important}
#public-site .official-portal{
  width:min(1120px,100%)!important;
  margin:auto!important;
  gap:18px!important;
}
#public-site .official-intro{
  padding:26px!important;
  border:1px solid #dce5eb!important;
  border-radius:16px!important;
  background:#fff!important;
  box-shadow:0 12px 34px rgba(27,59,80,.055)!important;
}
#public-site .official-kicker{
  margin-bottom:8px!important;
  color:#6e8ca0!important;
  font-size:9px!important;
  letter-spacing:1.5px!important;
}
#public-site .official-intro h1{
  margin:0!important;
  max-width:720px!important;
  color:#284d64!important;
  font-size:28px!important;
  line-height:1.25!important;
  font-weight:700!important;
}
#public-site #public-company-about{
  max-width:700px!important;
  margin:9px 0 0!important;
  color:#72828d!important;
  font-size:12px!important;
  line-height:1.7!important;
  direction:ltr!important;
  text-align:left!important;
}
#public-site .official-actions{
  display:flex!important;
  flex-wrap:wrap!important;
  gap:7px!important;
  margin-top:18px!important;
}
#public-site .official-actions .btn{
  min-height:38px!important;
  display:inline-flex!important;
  align-items:center!important;
  gap:7px!important;
  padding:7px 11px!important;
  border-radius:9px!important;
  font-size:11px!important;
  font-weight:700!important;
  box-shadow:none!important;
}
#public-site .official-actions .btn-primary{
  background:#e8f2f8!important;
  border-color:#bed4e1!important;
  color:#245f7e!important;
}
#public-site .official-actions .btn-outline{
  background:#fff!important;
  border-color:#d4dee5!important;
  color:#48677a!important;
}

/* Spaces */
#public-site .official-access{
  border:1px solid #dce5eb!important;
  border-radius:16px!important;
  background:#fff!important;
  box-shadow:0 12px 34px rgba(27,59,80,.045)!important;
  overflow:hidden!important;
}
#public-site .official-access-head{
  min-height:54px!important;
  padding:12px 14px!important;
  border-bottom:1px solid #e6ecef!important;
  background:#fbfcfd!important;
}
#public-site .official-access-head span{font-size:9px!important;color:#87949e!important}
#public-site .official-access-head b{font-size:13px!important;color:#38586c!important}
#public-site .official-space-grid{
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:0!important;
}
#public-site .official-space{
  min-height:74px!important;
  padding:12px!important;
  border:0!important;
  border-bottom:1px solid #edf1f4!important;
  border-inline-end:1px solid #edf1f4!important;
  background:#fff!important;
  color:#405f72!important;
  box-shadow:none!important;
}
#public-site .official-space:hover{background:#f7fafb!important}
#public-site .official-space .space-num{
  width:28px!important;height:28px!important;
  border-radius:8px!important;
  background:#eef5f9!important;
  color:#59819a!important;
  font-size:9px!important;
}
#public-site .official-space b{font-size:11.5px!important}
#public-site .official-space small{font-size:9px!important;color:#8a969e!important}
#public-site .official-foot{
  min-height:46px!important;
  padding:8px 12px!important;
  border-top:1px solid #edf1f4!important;
  background:#fbfcfd!important;
}
#public-site #v45-hero-support{
  min-height:30px!important;
  display:inline-flex!important;
  align-items:center!important;
  gap:6px!important;
  padding:5px 8px!important;
  border:1px solid #d7e1e7!important;
  border-radius:8px!important;
  background:#fff!important;
  color:#547184!important;
  font-size:9.5px!important;
}

/* Icons */
#public-site .public-action-icon{
  width:18px!important;height:18px!important;
  display:inline-grid!important;
  place-items:center!important;
  flex:0 0 18px!important;
  color:currentColor!important;
}
#public-site .public-action-icon svg{
  width:16px!important;height:16px!important;
  fill:none!important;
  stroke:currentColor!important;
  stroke-width:1.7!important;
  stroke-linecap:round!important;
  stroke-linejoin:round!important;
}

/* Public modal shell */
#public-site .portal-panel{
  background:rgba(19,39,54,.42)!important;
  backdrop-filter:blur(3px)!important;
}
#public-site .portal-modal-window{
  width:min(760px,calc(100vw - 28px))!important;
  max-width:760px!important;
  max-height:90dvh!important;
  border:1px solid #dbe4ea!important;
  border-radius:16px!important;
  background:#fff!important;
  box-shadow:0 22px 58px rgba(20,48,68,.17)!important;
}
#public-site .portal-panel-head{
  min-height:60px!important;
  padding:11px 14px!important;
  border-bottom:1px solid #e4eaee!important;
  background:#fbfcfd!important;
}
#public-site .portal-panel-head span{font-size:9px!important;color:#84929c!important}
#public-site .portal-panel-head h2{font-size:16px!important;color:#31536a!important}
#public-site .portal-panel-head .icon-tool{
  width:34px!important;height:34px!important;
  border-radius:9px!important;
  border:1px solid #d9e2e8!important;
  background:#fff!important;
  color:#5a7181!important;
}

/* Stepper */
#public-site .portal-form{
  padding:14px!important;
}
#public-site .public-flow-stepper{
  display:grid!important;
  grid-template-columns:repeat(var(--flow-count,4),minmax(0,1fr))!important;
  gap:5px!important;
  margin-bottom:12px!important;
  padding:6px!important;
  border:1px solid #e0e7ec!important;
  border-radius:11px!important;
  background:#f8fafb!important;
}
#public-site .public-flow-step{
  min-height:44px!important;
  display:flex!important;
  align-items:center!important;
  gap:6px!important;
  padding:6px!important;
  border:1px solid transparent!important;
  border-radius:8px!important;
  background:transparent!important;
  color:#72828d!important;
  text-align:start!important;
}
#public-site .public-flow-step span{
  width:22px!important;height:22px!important;
  display:grid!important;place-items:center!important;
  flex:0 0 22px!important;
  border-radius:7px!important;
  background:#e8edf1!important;
  color:#657a89!important;
  font-size:8.5px!important;
  font-weight:800!important;
}
#public-site .public-flow-step b{
  min-width:0!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  white-space:nowrap!important;
  font-size:9.5px!important;
}
#public-site .public-flow-step.active{
  border-color:#c9dce7!important;
  background:#edf5f9!important;
  color:#356b87!important;
}
#public-site .public-flow-step.active span{
  background:#6c96ae!important;
  color:#fff!important;
}
#public-site .public-flow-step.done span{
  background:#dceee4!important;
  color:#4e7d60!important;
}
#public-site .public-flow-page{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:10px 12px!important;
  min-height:250px!important;
  align-content:start!important;
}
#public-site .public-flow-page[hidden]{display:none!important}
#public-site .public-flow-page label{
  display:grid!important;
  gap:5px!important;
  color:#4a6375!important;
  font-size:10.5px!important;
  font-weight:700!important;
}
#public-site .public-flow-page label.wide,
#public-site .public-flow-page .wide{grid-column:1/-1!important}
#public-site .public-flow-page input:not([type=file]),
#public-site .public-flow-page select,
#public-site .public-flow-page textarea{
  min-height:40px!important;
  border:1px solid #cfdae2!important;
  border-radius:9px!important;
  padding:8px 9px!important;
  background:#fff!important;
  font-size:11.5px!important;
}
#public-site .public-flow-page textarea{min-height:72px!important}
#public-site .public-flow-footer{
  position:sticky!important;
  bottom:-14px!important;
  z-index:5!important;
  display:grid!important;
  grid-template-columns:auto 1fr auto!important;
  align-items:center!important;
  gap:8px!important;
  margin:13px -14px -14px!important;
  padding:10px 14px!important;
  border-top:1px solid #e2e9ed!important;
  background:rgba(255,255,255,.98)!important;
}
#public-site .public-flow-footer>span{text-align:center!important;color:#8a969e!important;font-size:9px!important}
#public-site .public-flow-submit{
  position:sticky!important;
  bottom:-14px!important;
  z-index:6!important;
  margin:13px -14px -14px!important;
  padding:10px 14px!important;
  border-top:1px solid #e2e9ed!important;
  background:#fff!important;
}
#public-site .public-flow-submit .btn{
  min-height:38px!important;
  border-radius:9px!important;
  background:#e8f2f8!important;
  border-color:#bed4e1!important;
  color:#245f7e!important;
}
#public-site .public-review-grid{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:7px!important;
}
#public-site .public-review-grid>div{
  min-height:54px!important;
  padding:8px 9px!important;
  border:1px solid #e2e8ed!important;
  border-radius:9px!important;
  background:#fbfcfd!important;
}
#public-site .public-review-grid span{display:block!important;font-size:8.5px!important;color:#84919a!important}
#public-site .public-review-grid b{display:block!important;margin-top:3px!important;font-size:10.5px!important;color:#3d586b!important;overflow-wrap:anywhere!important}
#public-site .review-files.wide{grid-column:1/-1!important}
#public-site .portal-stage-note{
  padding:8px 9px!important;
  border-inline-start:3px solid #83a9bf!important;
  border-radius:8px!important;
  background:#f4f9fb!important;
  color:#60798a!important;
  font-size:9.5px!important;
}
#public-site .public-doc-upload-grid{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:7px!important;
}
#public-site .public-doc-upload-card{
  min-height:72px!important;
  display:grid!important;
  grid-template-columns:34px minmax(0,1fr)!important;
  align-items:center!important;
  gap:8px!important;
  padding:8px!important;
  border:1px solid #e0e7ec!important;
  border-radius:9px!important;
  background:#fbfcfd!important;
}
#public-site .doc-upload-icon{
  width:32px!important;height:32px!important;
  display:grid!important;place-items:center!important;
  border-radius:8px!important;
  background:#edf4f8!important;
  color:#557d94!important;
}
#public-site .public-doc-upload-card span b{display:block!important;font-size:10px!important;color:#415d70!important}
#public-site .public-doc-upload-card span small{display:block!important;margin-top:2px!important;font-size:8.5px!important;color:#87939c!important}
#public-site .public-doc-upload-card input[type=file]{
  grid-column:1/-1!important;
  width:100%!important;
  font-size:9px!important;
  color:#6f808c!important;
}

/* Recruitment company target stays compact */
#public-site .recruitment-target-card{
  grid-template-columns:48px minmax(0,1fr) auto!important;
  min-height:64px!important;
  padding:8px!important;
  border:1px solid #e0e7ec!important;
  border-radius:9px!important;
  background:#fbfcfd!important;
}
#public-site .recruitment-target-card .recruitment-company-logo,
#public-site .recruitment-target-card>img{
  width:48px!important;height:48px!important;min-width:48px!important;min-height:48px!important;max-width:48px!important;max-height:48px!important;
  object-fit:contain!important;border-radius:8px!important;background:#fff!important;
}

/* Tracking */
#public-site .public-tracking-block{
  padding:14px!important;
}
#public-site .portal-subhead{margin-bottom:9px!important}
#public-site .portal-subhead span{font-size:9px!important;color:#87949e!important}
#public-site .portal-subhead h3{font-size:15px!important;color:#31536a!important}
#public-site .tracking-form{
  display:grid!important;
  grid-template-columns:minmax(120px,.7fr) minmax(180px,1.1fr) minmax(180px,1fr) auto!important;
  gap:7px!important;
  align-items:center!important;
  padding:9px!important;
  border:1px solid #e0e7ec!important;
  border-radius:10px!important;
  background:#f8fafb!important;
}
#public-site .tracking-form input,
#public-site .tracking-form select{
  min-height:38px!important;
  border-radius:8px!important;
  font-size:10.5px!important;
}
#public-site .public-generic-tracking,
#public-site .tracking-result{
  margin-top:9px!important;
  padding:12px!important;
  border:1px solid #dfe7ec!important;
  border-radius:11px!important;
  background:#fff!important;
}
#public-site .tracking-summary-head{
  display:flex!important;align-items:center!important;justify-content:space-between!important;gap:8px!important;
  padding-bottom:8px!important;margin-bottom:8px!important;border-bottom:1px solid #edf1f4!important;
}
#public-site .tracking-summary-head span{font-size:9px!important;color:#84919b!important}
#public-site .tracking-summary-head h3{margin:2px 0 0!important;font-size:14px!important;color:#31536a!important}
#public-site .tracking-summary-grid{
  display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:7px!important;
}
#public-site .tracking-summary-grid>div{
  padding:8px!important;border:1px solid #e5eaee!important;border-radius:8px!important;background:#fbfcfd!important;
}
#public-site .tracking-summary-grid span{display:block!important;font-size:8.5px!important;color:#89959d!important}
#public-site .tracking-summary-grid b{display:block!important;margin-top:2px!important;font-size:10.5px!important;color:#405c6e!important}
#public-site .tracking-comment{margin-top:8px!important;padding:8px!important;border-radius:8px!important;background:#fff9ec!important;border:1px solid #ead9aa!important}
#public-site .tracking-comment span{font-size:8.5px!important;color:#86703a!important}
#public-site .tracking-comment p{margin:3px 0 0!important;font-size:10px!important;color:#66562e!important}
#public-site .public-tracking-loading{text-align:center!important;padding:18px!important;color:#758693!important;font-size:10.5px!important}

/* Services dialog */
.form-dialog.public-services-dialog{
  width:min(720px,calc(100vw - 28px))!important;
  max-width:720px!important;
}
.form-dialog.public-services-dialog .dialog-scroll-body{background:#fff!important}
.public-services-grid{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:8px!important;
}
.public-service-card{
  min-height:82px!important;
  display:grid!important;
  grid-template-columns:38px minmax(0,1fr)!important;
  gap:9px!important;
  align-items:center!important;
  padding:10px!important;
  border:1px solid #e0e7ec!important;
  border-radius:10px!important;
  background:#fbfcfd!important;
}
.service-card-icon{
  width:36px!important;height:36px!important;
  display:grid!important;place-items:center!important;
  border-radius:9px!important;
  background:#edf5f9!important;
  color:#537e96!important;
  font-size:15px!important;
}
.public-service-card b{display:block!important;font-size:11.5px!important;color:#36566b!important}
.public-service-card small{display:block!important;margin-top:3px!important;font-size:9px!important;line-height:1.45!important;color:#82909a!important}
.public-service-empty{grid-column:1/-1!important;padding:24px!important;text-align:center!important;color:#7d8b96!important}

/* Support chat */
.form-dialog.public-support-chat-dialog{
  width:min(640px,calc(100vw - 28px))!important;
  max-width:640px!important;
  max-height:86dvh!important;
}
.form-dialog.public-support-chat-dialog .dialog-scroll-body{padding:12px!important;background:#f7f9fa!important}
.public-support-chat{min-height:380px!important;display:grid!important}
.public-support-start{
  display:grid!important;
  gap:10px!important;
  align-content:start!important;
  padding:12px!important;
  border:1px solid #e0e7ec!important;
  border-radius:11px!important;
  background:#fff!important;
}
.support-intro{
  display:flex!important;align-items:center!important;gap:9px!important;
  padding-bottom:9px!important;border-bottom:1px solid #edf1f4!important;
}
.support-chat-mark{
  width:38px!important;height:38px!important;
  display:grid!important;place-items:center!important;
  border-radius:10px!important;
  background:#edf5f9!important;color:#4f7891!important;
}
.support-chat-mark svg{width:20px!important;height:20px!important;fill:none!important;stroke:currentColor!important;stroke-width:1.7!important}
.support-intro b{display:block!important;font-size:12px!important;color:#35566a!important}
.support-intro small{display:block!important;margin-top:2px!important;font-size:9px!important;color:#84919a!important}
.support-contact-grid{
  display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px!important;
}
.public-support-start label{display:grid!important;gap:4px!important;font-size:10px!important;color:#516b7c!important;font-weight:700!important}
.public-support-start label.wide{grid-column:1/-1!important}
.public-support-start input,
.public-support-start textarea{
  min-height:39px!important;border:1px solid #cfdae2!important;border-radius:8px!important;padding:8px 9px!important;font-size:11px!important;
}
.public-support-start textarea{min-height:90px!important}
.support-thread-head{
  display:flex!important;justify-content:space-between!important;align-items:center!important;gap:8px!important;
  padding:8px 10px!important;border:1px solid #dfe7ec!important;border-radius:10px 10px 0 0!important;background:#fff!important;
}
.support-thread-head span{display:block!important;font-size:8.5px!important;color:#87939c!important}
.support-thread-head b{display:block!important;margin-top:2px!important;font-size:11px!important;color:#36576b!important}
.public-support-messages{
  height:360px!important;overflow-y:auto!important;padding:12px!important;
  border-inline:1px solid #dfe7ec!important;background:#f5f7f9!important;
}
.public-support-row{display:flex!important;margin:5px 0!important}
.public-support-row.public{justify-content:flex-end!important}
.public-support-row.staff,
.public-support-row.auto{justify-content:flex-start!important}
.public-support-bubble{
  max-width:78%!important;padding:7px 9px!important;border:1px solid #dfe6eb!important;border-radius:13px 13px 13px 5px!important;background:#fff!important;
}
.public-support-row.public .public-support-bubble{
  border-color:#cfe0e9!important;border-radius:13px 13px 5px 13px!important;background:#eaf3f8!important;
}
.public-support-row.auto .public-support-bubble{background:#fff9ec!important;border-color:#ead9aa!important}
.public-support-bubble small{display:block!important;margin-bottom:2px!important;font-size:8px!important;color:#6d8493!important;font-weight:700!important}
.public-support-bubble p{margin:0!important;font-size:10.5px!important;line-height:1.55!important;color:#344f62!important}
.public-support-bubble time{display:block!important;margin-top:3px!important;text-align:end!important;font-size:7.5px!important;color:#9aa4ab!important}
.public-support-compose{
  display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;gap:7px!important;align-items:end!important;
  padding:9px!important;border:1px solid #dfe7ec!important;border-radius:0 0 10px 10px!important;background:#fff!important;
}
.public-support-compose textarea{
  min-height:40px!important;max-height:100px!important;border:1px solid #d4dfe6!important;border-radius:16px!important;padding:9px!important;font-size:10.5px!important;resize:none!important;
}
.support-new-thread{
  margin:8px auto 0!important;border:0!important;background:transparent!important;color:#6b8392!important;font-size:9px!important;text-decoration:underline!important;
}
.public-support-loading,
.public-support-error{
  display:grid!important;place-items:center!important;min-height:360px!important;padding:20px!important;border:1px solid #e0e7ec!important;border-radius:11px!important;background:#fff!important;color:#768793!important;font-size:10.5px!important;
}

/* Internal support queue */
.platform-support-panel{margin-top:12px!important}
.support-staff-dialog{width:min(720px,calc(100vw - 28px))!important;max-width:720px!important}
.support-staff-contact{
  display:flex!important;gap:8px!important;flex-wrap:wrap!important;padding:8px!important;border:1px solid #e0e7ec!important;border-radius:9px!important;background:#fbfcfd!important;
}
.support-staff-contact span{font-size:9.5px!important;color:#587184!important}
.support-staff-messages{
  height:360px!important;overflow-y:auto!important;margin-top:8px!important;padding:10px!important;border:1px solid #e0e7ec!important;border-radius:9px!important;background:#f6f8fa!important;
}
.support-staff-row{display:flex!important;margin:5px 0!important}
.support-staff-row.staff{justify-content:flex-end!important}
.support-staff-row>div{max-width:78%!important;padding:7px 9px!important;border:1px solid #dfe6eb!important;border-radius:12px!important;background:#fff!important}
.support-staff-row.staff>div{background:#eaf3f8!important;border-color:#cfe0e9!important}
.support-staff-row.auto>div{background:#fff9ec!important;border-color:#ead9aa!important}
.support-staff-row small{font-size:8px!important;color:#6b8291!important;font-weight:700!important}
.support-staff-row p{margin:2px 0!important;font-size:10.5px!important;color:#344f62!important}
.support-staff-row time{font-size:7.5px!important;color:#98a3aa!important}
.support-staff-reply{display:grid!important;gap:8px!important;margin-top:8px!important}
.support-staff-reply textarea{min-height:76px!important;border-radius:9px!important}

/* Mobile */
@media(max-width:860px){
  #public-site .v45-public-nav{display:none!important}
  #public-site .public-header-final{padding-inline:10px!important}
  #public-site .public-brand span small{display:none!important}
  #public-site .official-portal{grid-template-columns:1fr!important}
}
@media(max-width:620px){
  #public-site .portal-home{padding:14px 8px!important}
  #public-site .official-intro{padding:18px!important;border-radius:12px!important}
  #public-site .official-intro h1{font-size:21px!important}
  #public-site #public-company-about{font-size:10.5px!important}
  #public-site .official-space-grid{grid-template-columns:1fr!important}
  #public-site .portal-modal-window{width:calc(100vw - 10px)!important;max-width:calc(100vw - 10px)!important;max-height:calc(100dvh - 10px)!important;border-radius:12px!important}
  #public-site .public-flow-stepper{grid-template-columns:repeat(6,116px)!important;overflow-x:auto!important}
  #public-site .public-flow-page,
  #public-site .public-review-grid,
  #public-site .public-doc-upload-grid,
  #public-site .tracking-summary-grid,
  .public-services-grid,
  .support-contact-grid{grid-template-columns:1fr!important}
  #public-site .tracking-form{grid-template-columns:1fr!important}
  .form-dialog.public-support-chat-dialog,
  .form-dialog.public-services-dialog{width:calc(100vw - 12px)!important;max-width:calc(100vw - 12px)!important}
  .public-support-bubble{max-width:88%!important}
  .public-support-messages{height:310px!important}
}

/* V50.8 — effective account permissions */
.profile-access-block{margin-top:18px;padding-top:16px;border-top:1px solid rgba(15,43,72,.12)}
.profile-access-block h3{margin:12px 0 8px;font-size:14px}
.permission-chip-grid{display:flex;flex-wrap:wrap;gap:7px}
.permission-chip{display:inline-flex;align-items:center;min-height:30px;padding:5px 9px;border:1px solid rgba(15,43,72,.14);border-radius:8px;background:#f7f9fb;font-size:11px;direction:ltr}

/* ================================================================
   ENERGIMAN — Unified Modern UI Layer
   VISUAL ONLY: no business logic, routes, data, PHP or JS changes.
   ================================================================ */
:root{
  --ui-primary:#245b78;
  --ui-primary-2:#2f7696;
  --ui-primary-soft:#eaf3f7;
  --ui-accent:#b98a2e;
  --ui-bg:#f4f7f9;
  --ui-surface:#ffffff;
  --ui-line:#d9e3e9;
  --ui-line-strong:#c8d6df;
  --ui-text:#263b49;
  --ui-muted:#71828d;
  --ui-success:#2f8060;
  --ui-danger:#a84b4b;
  --ui-warning:#9b7525;
  --ui-radius:12px;
  --ui-radius-sm:9px;
  --ui-shadow:0 8px 24px rgba(29,58,76,.07);
  --ui-shadow-hover:0 12px 30px rgba(29,58,76,.11);
}

/* One typography system across the internal workspace. */
body.em-workspace-mode,
body.em-workspace-mode *{
  font-family:Arial,"Helvetica Neue",Tahoma,sans-serif!important;
}
body.em-workspace-mode{
  color:var(--ui-text)!important;
  background:var(--ui-bg)!important;
  font-size:14px!important;
  line-height:1.55!important;
}
body.em-workspace-mode h1,
body.em-workspace-mode h2,
body.em-workspace-mode h3,
body.em-workspace-mode h4,
body.em-workspace-mode h5,
body.em-workspace-mode h6,
body.em-workspace-mode p,
body.em-workspace-mode label,
body.em-workspace-mode small,
body.em-workspace-mode th,
body.em-workspace-mode td{
  font-family:Arial,"Helvetica Neue",Tahoma,sans-serif!important;
}

/* Page titles: every section gets the same framed title treatment. */
body.em-workspace-mode .panel-head{
  align-items:center!important;
  gap:16px!important;
  padding:0 0 14px!important;
  margin:0 0 16px!important;
  border-bottom:1px solid var(--ui-line)!important;
}
body.em-workspace-mode .panel-head>div:first-child{
  min-width:0;
}
body.em-workspace-mode .panel-head h2{
  display:inline-flex!important;
  align-items:center!important;
  min-height:38px!important;
  margin:0!important;
  padding:7px 13px!important;
  border:1px solid #cbdce5!important;
  border-radius:10px!important;
  background:linear-gradient(180deg,#f9fcfd,#eef5f8)!important;
  color:var(--ui-primary)!important;
  font-size:16px!important;
  line-height:1.25!important;
  font-weight:700!important;
  letter-spacing:0!important;
  box-shadow:0 2px 8px rgba(36,91,120,.05)!important;
}
body.em-workspace-mode .panel-head p{
  margin:6px 2px 0!important;
  color:var(--ui-muted)!important;
  font-size:12px!important;
  line-height:1.5!important;
}

/* Standalone section headings are framed too, without changing content. */
body.em-workspace-mode .panel>h2:not(.panel-head h2),
body.em-workspace-mode .panel>h3:not(.panel-head h3),
body.em-workspace-mode .card>h2,
body.em-workspace-mode .card>h3,
body.em-workspace-mode .section>h2,
body.em-workspace-mode .section>h3{
  display:block!important;
  width:fit-content!important;
  max-width:100%!important;
  margin:0 0 14px!important;
  padding:7px 12px!important;
  border:1px solid #cbdce5!important;
  border-radius:10px!important;
  background:#f2f7f9!important;
  color:var(--ui-primary)!important;
  font-size:15px!important;
  font-weight:700!important;
  line-height:1.35!important;
}

/* Unified cards: same geometry, spacing and visual weight. */
body.em-workspace-mode .panel,
body.em-workspace-mode .card,
body.em-workspace-mode .workspace-card,
body.em-workspace-mode .loading-card,
body.em-workspace-mode .empty-state{
  background:var(--ui-surface)!important;
  border:1px solid var(--ui-line)!important;
  border-radius:var(--ui-radius)!important;
  box-shadow:var(--ui-shadow)!important;
}
body.em-workspace-mode .panel{padding:18px!important}
body.em-workspace-mode .card,
body.em-workspace-mode .workspace-card{padding:16px!important}
body.em-workspace-mode .panel:hover,
body.em-workspace-mode .card:hover,
body.em-workspace-mode .workspace-card:hover{
  box-shadow:var(--ui-shadow-hover)!important;
}

/* Profile: organize account information into a clear card grid. */
body.em-workspace-mode .profile-grid{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:10px!important;
}
body.em-workspace-mode .profile-grid>article{
  min-width:0!important;
  min-height:76px!important;
  display:flex!important;
  flex-direction:column!important;
  justify-content:center!important;
  gap:5px!important;
  padding:12px 13px!important;
  border:1px solid var(--ui-line)!important;
  border-radius:10px!important;
  background:#fbfcfd!important;
}
body.em-workspace-mode .profile-grid>article>span{
  color:var(--ui-muted)!important;
  font-size:11px!important;
  font-weight:700!important;
}
body.em-workspace-mode .profile-grid>article>b{
  color:var(--ui-text)!important;
  font-size:13px!important;
  font-weight:700!important;
  line-height:1.45!important;
  overflow-wrap:anywhere!important;
}

/* Profile permissions: grouped, calm and readable instead of scattered. */
body.em-workspace-mode .profile-access-block{
  margin-top:18px!important;
  padding-top:16px!important;
  border-top:1px solid var(--ui-line)!important;
}
body.em-workspace-mode .profile-access-block h3{
  display:flex!important;
  align-items:center!important;
  width:fit-content!important;
  max-width:100%!important;
  min-height:34px!important;
  margin:0 0 9px!important;
  padding:6px 11px!important;
  border:1px solid #cbdce5!important;
  border-radius:9px!important;
  background:var(--ui-primary-soft)!important;
  color:var(--ui-primary)!important;
  font-size:13px!important;
  font-weight:700!important;
}
body.em-workspace-mode .profile-access-block .row-actions{
  padding:10px!important;
  margin:0 0 14px!important;
  border:1px solid var(--ui-line)!important;
  border-radius:10px!important;
  background:#fbfcfd!important;
}
body.em-workspace-mode .permission-chip-grid{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:7px!important;
  padding:10px!important;
  border:1px solid var(--ui-line)!important;
  border-radius:10px!important;
  background:#fbfcfd!important;
}
body.em-workspace-mode .permission-chip{
  min-width:0!important;
  min-height:34px!important;
  justify-content:flex-start!important;
  padding:6px 9px!important;
  border:1px solid #d5e1e7!important;
  border-radius:8px!important;
  background:#fff!important;
  color:#4a6270!important;
  font-size:10.5px!important;
  line-height:1.35!important;
  direction:ltr!important;
  overflow-wrap:anywhere!important;
}
body.em-workspace-mode .permission-chip:hover{
  border-color:#a9c6d5!important;
  background:#f2f7f9!important;
}

/* Buttons: one consistent modern language, with semantic states retained. */
body.em-workspace-mode .btn,
body.em-workspace-mode button.btn,
body.em-workspace-mode a.btn{
  min-height:40px!important;
  padding:8px 14px!important;
  border:1px solid #c6d6df!important;
  border-radius:9px!important;
  background:#fff!important;
  color:var(--ui-primary)!important;
  font-size:12.5px!important;
  font-weight:700!important;
  line-height:1.2!important;
  box-shadow:0 1px 2px rgba(20,48,64,.03)!important;
  transition:background .15s ease,border-color .15s ease,box-shadow .15s ease,transform .15s ease!important;
}
body.em-workspace-mode .btn:hover,
body.em-workspace-mode button.btn:hover,
body.em-workspace-mode a.btn:hover{
  background:#f1f6f8!important;
  border-color:#9fbaca!important;
  box-shadow:0 4px 12px rgba(29,58,76,.08)!important;
  transform:translateY(-1px)!important;
}
body.em-workspace-mode .btn-primary,
body.em-workspace-mode .btn.primary{
  background:var(--ui-primary)!important;
  border-color:var(--ui-primary)!important;
  color:#fff!important;
}
body.em-workspace-mode .btn-primary:hover,
body.em-workspace-mode .btn.primary:hover{
  background:var(--ui-primary-2)!important;
  border-color:var(--ui-primary-2)!important;
}
body.em-workspace-mode .btn-success,
body.em-workspace-mode .btn.success{
  background:var(--ui-success)!important;
  border-color:var(--ui-success)!important;
  color:#fff!important;
}
body.em-workspace-mode .btn-danger,
body.em-workspace-mode .btn.danger{
  background:#fff!important;
  border-color:#dfb9b9!important;
  color:var(--ui-danger)!important;
}
body.em-workspace-mode .btn-small{
  min-height:34px!important;
  padding:6px 10px!important;
  font-size:11.5px!important;
  border-radius:8px!important;
}

/* Inputs / labels: same scale everywhere. */
body.em-workspace-mode input:not([type=checkbox]):not([type=radio]),
body.em-workspace-mode select,
body.em-workspace-mode textarea{
  min-height:42px!important;
  border:1px solid #c8d6df!important;
  border-radius:9px!important;
  background:#fff!important;
  color:var(--ui-text)!important;
  padding:9px 11px!important;
  font-size:13px!important;
  line-height:1.35!important;
}
body.em-workspace-mode textarea{min-height:92px!important}
body.em-workspace-mode input:focus,
body.em-workspace-mode select:focus,
body.em-workspace-mode textarea:focus{
  border-color:#5f96b0!important;
  box-shadow:0 0 0 3px rgba(47,118,150,.11)!important;
}
body.em-workspace-mode label{
  color:#425966!important;
  font-size:12px!important;
  font-weight:700!important;
}

/* Tables: consistent, clean and less visually noisy. */
body.em-workspace-mode table{
  border:1px solid var(--ui-line)!important;
  border-radius:10px!important;
  overflow:hidden!important;
  font-size:12.5px!important;
}
body.em-workspace-mode th{
  background:#eef4f7!important;
  color:#3e5968!important;
  font-size:11.5px!important;
  font-weight:700!important;
  border-bottom:1px solid #d4e0e6!important;
}
body.em-workspace-mode th,
body.em-workspace-mode td{
  padding:10px 9px!important;
  border-color:#e2e9ed!important;
}
body.em-workspace-mode tbody tr:hover td{
  background:#f8fbfc!important;
}

/* Badges / statuses use one shape. */
body.em-workspace-mode .badge,
body.em-workspace-mode .status-badge,
body.em-workspace-mode .chip,
body.em-workspace-mode .tag{
  min-height:26px!important;
  display:inline-flex!important;
  align-items:center!important;
  padding:4px 8px!important;
  border-radius:999px!important;
  font-size:10.5px!important;
  font-weight:700!important;
}

/* Toolbars and action rows follow the same rhythm. */
body.em-workspace-mode .toolbar,
body.em-workspace-mode .actions,
body.em-workspace-mode .row-actions,
body.em-workspace-mode .form-actions{
  gap:8px!important;
}
body.em-workspace-mode .toolbar{
  padding:10px!important;
  border:1px solid var(--ui-line)!important;
  border-radius:10px!important;
  background:#fbfcfd!important;
}

/* Dialogs: one geometry, one header style, one title scale. */
body.em-workspace-mode dialog,
body.em-workspace-mode .modal-box,
body.em-workspace-mode .form-dialog,
body.em-workspace-mode .nested-dialog{
  border:1px solid #cbd9e1!important;
  border-radius:13px!important;
  background:#fff!important;
  box-shadow:0 24px 65px rgba(20,45,61,.18)!important;
}
body.em-workspace-mode dialog::backdrop,
body.em-workspace-mode .portal-panel{
  background:rgba(20,42,55,.38)!important;
}
body.em-workspace-mode .dialog-head,
body.em-workspace-mode .modal-head,
body.em-workspace-mode .v49-center-dialog-head{
  min-height:54px!important;
  padding:10px 14px!important;
  background:#f5f9fa!important;
  border-bottom:1px solid var(--ui-line)!important;
}
body.em-workspace-mode .dialog-head h2,
body.em-workspace-mode .modal-head h2,
body.em-workspace-mode .v49-center-dialog-head h2{
  margin:0!important;
  font-size:15px!important;
  line-height:1.3!important;
  color:var(--ui-primary)!important;
  font-weight:700!important;
}
body.em-workspace-mode .dialog-body,
body.em-workspace-mode .modal-body,
body.em-workspace-mode .v49-center-dialog-body{
  padding:15px!important;
}
body.em-workspace-mode .dialog-close{
  width:36px!important;
  height:36px!important;
  border-radius:9px!important;
  color:var(--ui-primary)!important;
  background:#fff!important;
  border:1px solid var(--ui-line)!important;
}

/* Sidebar: improved only visually; dimensions/function remain intact. */
body.em-workspace-mode .sidebar{
  background:linear-gradient(180deg,#183f57 0%,#15384e 100%)!important;
  color:#fff!important;
  box-shadow:5px 0 22px rgba(15,40,54,.10)!important;
}
body.em-workspace-mode .sidebar-brand{
  padding:18px 14px!important;
  border-bottom:1px solid rgba(255,255,255,.10)!important;
}
body.em-workspace-mode .nav-group-title{
  color:#aec2cd!important;
  font-size:10px!important;
  font-weight:700!important;
  letter-spacing:.1px!important;
}
body.em-workspace-mode #app-nav button{
  min-height:43px!important;
  margin:2px 0!important;
  border-radius:9px!important;
  color:#e8f0f4!important;
  background:transparent!important;
  font-size:12.5px!important;
  font-weight:700!important;
}
body.em-workspace-mode #app-nav button:hover{
  background:rgba(255,255,255,.08)!important;
}
body.em-workspace-mode #app-nav button.active{
  background:#fff!important;
  color:var(--ui-primary)!important;
  box-shadow:0 5px 14px rgba(0,0,0,.10)!important;
}
body.em-workspace-mode #app-nav button .nav-icon{
  width:28px!important;
  height:28px!important;
  flex:0 0 28px!important;
  border-radius:8px!important;
  background:rgba(255,255,255,.08)!important;
  color:#d9e7ee!important;
}
body.em-workspace-mode #app-nav button.active .nav-icon{
  background:#e9f3f7!important;
  color:var(--ui-primary)!important;
}
body.em-workspace-mode #app-nav button:nth-of-type(4n+1) .nav-icon{color:#9ed0e6!important}
body.em-workspace-mode #app-nav button:nth-of-type(4n+2) .nav-icon{color:#d8bd76!important}
body.em-workspace-mode #app-nav button:nth-of-type(4n+3) .nav-icon{color:#8ec8a9!important}
body.em-workspace-mode #app-nav button:nth-of-type(4n+4) .nav-icon{color:#b9a7d8!important}
body.em-workspace-mode #app-nav button.active .nav-icon{color:var(--ui-primary)!important}

/* Workspace top bar: keep its existing size and role; improve only finish. */
body.em-workspace-mode .workspace-header{
  background:rgba(255,255,255,.98)!important;
  border-bottom:1px solid var(--ui-line)!important;
  box-shadow:0 3px 14px rgba(24,52,67,.045)!important;
}
body.em-workspace-mode .workspace-header h1{
  color:var(--ui-primary)!important;
  font-size:18px!important;
  font-weight:700!important;
}
body.em-workspace-mode .workspace-avatar{
  background:#eaf3f7!important;
  color:var(--ui-primary)!important;
  border:1px solid #d3e2e9!important;
}

/* Module grids: same spacing and card rhythm. */
body.em-workspace-mode .module-grid,
body.em-workspace-mode .dashboard-grid{
  gap:12px!important;
}

@media(max-width:980px){
  body.em-workspace-mode .profile-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  body.em-workspace-mode .permission-chip-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}
@media(max-width:620px){
  body.em-workspace-mode .profile-grid,
  body.em-workspace-mode .permission-chip-grid{grid-template-columns:1fr!important}
  body.em-workspace-mode .panel{padding:14px!important}
  body.em-workspace-mode .panel-head{align-items:flex-start!important;flex-direction:column!important}
}
