/* Shared type and spacing scale for every application layout. */
:root{--text-body:1rem;--text-secondary:.875rem;--text-caption:.8125rem;--heading-page:2rem;--heading-section:1.25rem;--space-section:2rem}
html{font-size:16px;-webkit-text-size-adjust:100%;text-size-adjust:100%}
body.readable{font-size:var(--text-body);line-height:1.8}
.readable button,.readable input,.readable select,.readable textarea{font-family:inherit}
.readable h1{font-size:var(--heading-page);line-height:1.5;letter-spacing:normal;margin-bottom:12px}
.readable h2,.readable .panel h2{font-size:var(--heading-section);line-height:1.6;margin-bottom:20px}
.readable h3{font-size:1.125rem;line-height:1.6}
.readable small{font-size:var(--text-caption);line-height:1.7}
.readable .muted,.readable .page-heading p:not(.eyebrow){font-size:var(--text-secondary);line-height:1.9}
.readable .eyebrow{font-size:.75rem;letter-spacing:1.5px;margin-bottom:12px}
.readable .page-heading{margin-bottom:var(--space-section);gap:24px}
.readable .panel{padding:28px;margin-bottom:28px}
.readable .form-grid{gap:24px 28px;margin-bottom:32px}
.readable .input label,.readable .form-group label{font-size:.9375rem;font-weight:500;line-height:1.7;margin-bottom:10px}
.readable .input input,.readable .input select,.readable .input textarea,.readable .form-control{font-size:1rem;min-height:50px;padding:12px 14px;line-height:1.5}
.readable .input textarea{min-height:120px}
.readable .error-message,.readable .invalid-feedback{font-size:.875rem;line-height:1.7;margin-top:8px}
.readable .button,.readable .btn{font-size:.9375rem;min-height:46px;padding:12px 22px;line-height:1.5}
.readable table{font-size:.9375rem;line-height:1.7}
.readable td,.readable th{padding:18px 16px;vertical-align:middle}
.readable th{font-size:.875rem;font-weight:600}
.readable .table-scroll{max-width:100%;overflow-x:auto}
.readable .badge{font-size:.8125rem;line-height:1.5;padding:6px 12px}
.readable .message{font-size:.9375rem;line-height:1.8;padding:16px 22px}
.readable .text-link,.readable .pagination{font-size:.9375rem;line-height:1.7}
.readable .pagination{flex-wrap:wrap;gap:16px}
.readable footer{font-size:.8125rem;line-height:1.8}
/* Workspace: align navigation, content, and controls to a consistent grid. */
.app-workspace .sidebar{width:280px;padding:32px 24px}
.app-workspace .workspace{margin-inline-start:280px;min-width:0}
.app-workspace main{padding:36px;max-width:1560px}
.app-workspace .sidebar nav a{font-size:.9375rem;min-height:50px;padding:14px 16px;gap:14px}
.app-workspace .sidebar-bottom{font-size:.875rem;line-height:1.8;gap:16px}
.app-workspace .nav-caption{font-size:.6875rem;letter-spacing:1px;margin:24px 0 32px}
.app-workspace .topbar{min-height:92px;height:auto;padding:20px 36px;gap:20px}
.app-workspace .workspace-context{font-size:.9375rem}
.app-workspace .workspace-context small{font-size:.8125rem}
.app-workspace .toolbar-button{height:44px;font-size:.875rem;padding-inline:13px}
.app-workspace .icon-button{width:44px;padding:0;flex-shrink:0}
.app-workspace .toolbar-button svg{width:20px;height:20px}
.app-workspace .account-name{font-size:.875rem;line-height:1.6}
.app-workspace .account small{font-size:.75rem}
.app-workspace .header-sign-out{font-size:.8125rem}
.app-workspace .stats{gap:24px;margin-bottom:28px}
.app-workspace .stats article{padding:28px;min-height:180px}
.app-workspace .stats article>span:not(.stat-icon){font-size:.9375rem;display:block;padding-inline-end:48px}
.app-workspace .stats strong{font-size:2.5rem;line-height:1.4;margin:18px 0 10px}
.app-workspace .stats small{font-size:.875rem}
.app-workspace .dashboard-grid{gap:28px;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr)}
.app-workspace .dashboard-grid>.panel{min-width:0}
.app-workspace .activity,.app-workspace .person{font-size:.9375rem;padding:20px 0;gap:14px}
.app-workspace .activity small,.app-workspace .person small{font-size:.8125rem;margin-top:6px}
.app-workspace .person>div{min-width:0}.app-workspace .person small{overflow-wrap:anywhere}
.app-workspace .notification-panel{width:420px;max-width:calc(100vw - 28px)}
.app-workspace .notification-heading{padding:22px 20px 10px;flex-wrap:wrap}
.app-workspace .notification-heading h2{font-size:1.125rem;margin:0}
.app-workspace .text-button{font-size:.8125rem;min-height:36px}
.app-workspace .notification-caption{font-size:.875rem;padding-inline:20px}
.app-workspace .notification-item{padding:18px 20px}
.app-workspace .notification-item p{font-size:.875rem;line-height:1.8}
.app-workspace .notification-item time{font-size:.75rem;display:block;margin-top:6px}
.app-workspace .notification-list{max-height:min(470px,65vh)}
/* Authentication and welcome screens use the same readable type scale. */
.app-login .login-form-panel{max-width:580px;padding-inline:48px}
.app-login .form-header h2{font-size:2rem;line-height:1.6}
.app-login .form-header p,.app-login .visual-subtitle{font-size:.9375rem;line-height:2}
.app-login .input-group{margin-bottom:26px}
.app-login .input-group label{font-size:.9375rem;margin-bottom:12px}
.app-login .input-wrap{height:56px}.app-login .input-wrap input{font-size:1rem}
.app-login .form-extras{font-size:.875rem;line-height:1.8;gap:16px;flex-wrap:wrap}
.app-login .remember-check,.app-login .forgot-link{font-size:.875rem}
.app-login .btn-login{font-size:1rem;min-height:56px}
.app-login .lang-btn,.app-login .lang-option{font-size:.875rem;min-height:44px}
.app-login .login-footer{font-size:.8125rem;line-height:1.9}
.app-login .operation-node,.app-login .visual-note,.app-login .visual-bottom{font-size:.8125rem;line-height:1.8}
.app-welcome .welcome-card{max-width:720px;padding:44px}
.app-welcome .intro,.app-welcome .access-note p,.app-welcome .english p{font-size:1rem;line-height:1.9}
.app-welcome .english h2,.app-welcome .access-note h2{font-size:1.125rem}
.app-welcome .sign-out{font-size:1rem;min-height:50px}
.app-welcome .eyebrow{font-size:.75rem}
@media(max-width:1200px){.app-workspace .sidebar{width:240px;padding-inline:20px}.app-workspace .workspace{margin-inline-start:240px}.app-workspace main{padding:28px}.app-workspace .dashboard-grid{grid-template-columns:1fr}.app-workspace .workspace-context small{display:none}.app-workspace .account-name{max-width:110px}.app-workspace .stats article{padding:22px}.app-workspace .stats article>span:not(.stat-icon){max-width:180px}.app-workspace .stats .stat-icon{inset-inline-end:18px}}
@media(max-width:1000px){.app-workspace .workspace-context{display:none}.app-workspace .topbar{padding-inline:24px}.app-workspace .topbar-actions{width:100%}.app-workspace .language-control{margin-inline-end:auto}.app-workspace .account-name{display:none}.app-login .login-form-panel{padding-inline:32px}}
@media(max-width:700px){:root{--heading-page:1.625rem;--heading-section:1.125rem;--space-section:1.5rem}.app-workspace .sidebar{width:100%;padding:18px 16px}.app-workspace .workspace{margin-inline-start:0}.app-workspace .sidebar nav a{font-size:.875rem;min-height:46px;padding:10px 12px;gap:8px}.app-workspace .topbar{min-height:76px;padding:14px 12px}.app-workspace .topbar-actions{gap:6px}.app-workspace .toolbar-button{padding-inline:10px}.app-workspace .icon-button{width:42px;padding:0}.app-workspace .header-sign-out{font-size:.75rem;margin-inline-start:0}.app-workspace .account{padding-inline-start:8px}.app-workspace main{padding:26px 16px}.readable .panel{padding:22px 18px;margin-bottom:22px}.readable .page-heading{gap:18px}.readable .form-grid{gap:22px}.app-workspace .stats{gap:14px}.app-workspace .stats article{min-height:140px;padding:22px}.app-workspace .stats strong{font-size:2rem;margin:8px 0}.app-workspace .stats small{display:block;font-size:.875rem}.app-workspace .stats .stat-icon{top:26px;inset-inline-end:22px}.app-workspace .stats article>span:not(.stat-icon){max-width:none}.app-workspace .dashboard-grid{gap:0}.app-workspace .notification-panel{width:auto;max-width:none}.app-workspace .notification-item p{font-size:.875rem}.app-login .login-form-panel{max-width:500px;padding:96px 24px 32px}.app-login .form-header h2{font-size:1.75rem}.app-login .form-header p{font-size:.9375rem}.app-login .login-footer{margin-top:32px}.app-welcome .welcome-card{padding:30px 24px}.readable .form-panel{max-width:100%}}
/* Header, account disclosure, and footer. */
.ui-icon{display:inline-block;width:20px;height:20px;flex-shrink:0;vertical-align:middle}
.app-workspace .topbar{background:var(--surface);box-shadow:0 4px 24px #0e223205;border-bottom:1px solid var(--border);min-height:94px}
.app-workspace .workspace-context{gap:14px}.context-emblem{display:grid;place-items:center;width:44px;height:44px;border:1px solid var(--border);border-radius:14px;color:var(--blue);background:var(--soft)}
.app-workspace .workspace-context small{display:block;font-size:.75rem;margin-bottom:3px;color:var(--muted)}.workspace-context b{font-size:1rem;font-weight:600}.breadcrumb-divider{padding:0 7px;opacity:.5}
.app-workspace .toolbar-button{border-color:transparent;background:var(--page);border-radius:12px}.app-workspace .toolbar-button:hover,.app-workspace .toolbar-button[aria-expanded=true]{background:var(--soft);border-color:var(--border)}.app-workspace .language-control{padding-inline:14px}.app-workspace .nav-icon{display:grid;place-items:center}.nav-icon .ui-icon{width:21px;height:21px}
.profile-control{position:relative;margin-inline-start:8px;padding-inline-start:16px;border-inline-start:1px solid var(--border)}
.app-workspace .profile-trigger{background:none;border:1px solid transparent;border-radius:13px;display:flex;align-items:center;gap:12px;cursor:pointer;color:var(--ink);font:inherit;margin:0;padding:5px 8px;text-align:start}
.app-workspace .profile-trigger:hover,.app-workspace .profile-trigger[aria-expanded=true]{background:var(--soft);border-color:var(--border)}.profile-trigger>.ui-icon{width:15px;height:15px;color:var(--muted);transition:transform .2s}.profile-trigger[aria-expanded=true]>.ui-icon{transform:rotate(180deg)}
.app-workspace .profile-trigger .avatar{position:relative;width:40px;height:40px;border-radius:13px;background:linear-gradient(135deg,#dbe9ff,#e5e0ff);color:#315c96;font-size:1rem}.avatar-status{position:absolute;width:10px;height:10px;border:2px solid var(--surface);border-radius:50%;background:#42b787;bottom:-1px;inset-inline-end:-1px}.app-workspace .profile-trigger .account-name{font-size:.875rem;font-weight:600}.profile-trigger .account-name small{font-weight:normal}
.profile-menu{position:absolute;inset-inline-end:0;top:calc(100% + 17px);width:330px;max-width:calc(100vw - 28px);border:1px solid var(--border);background:var(--surface);box-shadow:0 20px 60px #0b172a24;border-radius:18px;overflow:hidden;z-index:55}
.profile-menu-heading{padding:24px 22px 18px;display:flex;align-items:center;gap:13px}.profile-menu-heading .avatar{width:46px;height:46px;border-radius:14px}.profile-menu-heading>div{min-width:0}.profile-menu-heading b{font-size:.9375rem;display:block}.profile-menu-heading small{font-size:.8125rem;margin-top:4px;overflow-wrap:anywhere;text-align:start}.profile-company{display:flex;align-items:center;gap:9px;padding:0 22px 20px;color:var(--muted);font-size:.8125rem}.profile-company>.ui-icon{width:16px;height:16px}.profile-company .badge{margin-inline-start:auto;font-size:.6875rem;padding:4px 9px}
.profile-menu-links{padding:9px;border-top:1px solid var(--border)}.profile-menu-links a,.profile-sign-out{display:flex;align-items:center;gap:12px;padding:13px 14px;border-radius:10px;font-size:.875rem;min-height:48px}.profile-menu-links a:hover{background:var(--soft);color:var(--blue)}.profile-menu-links .ui-icon{color:var(--muted)}.profile-menu-bottom{padding:9px;border-top:1px solid var(--border)}.profile-sign-out{color:var(--danger)}.profile-sign-out:hover{background:var(--danger-bg)}
.app-workspace .workspace-footer{display:flex;align-items:center;justify-content:space-between;gap:24px;flex-wrap:wrap;padding:24px 36px;background:var(--surface);border-top:1px solid var(--border)}.footer-brand{display:flex;align-items:center;gap:11px}.footer-brand b{font-size:.8125rem;letter-spacing:1.6px;color:var(--ink)}.footer-brand small{font-size:.6875rem;line-height:1.6}.footer-mark{width:34px;height:34px;display:grid;place-items:center;border:1px solid var(--border);border-radius:10px;color:var(--blue)}.footer-mark .ui-icon{width:17px;height:17px}.footer-links{display:flex;align-items:center;gap:15px;font-size:.8125rem}.footer-links a:hover{color:var(--blue)}.footer-separator{width:3px;height:3px;background:var(--muted);border-radius:50%}.footer-copyright{font-size:.75rem;line-height:1.8}
@media(max-width:1200px){.app-workspace .workspace-context{display:flex}.app-workspace .workspace-context small{display:block}.app-workspace .workspace-context b{font-size:.875rem}.context-emblem{display:none}.app-workspace .topbar{padding-inline:24px}}
@media(max-width:1000px){.app-workspace .workspace-context{display:none}.app-workspace .topbar-actions{justify-content:flex-end}.app-workspace .language-control{margin-inline-end:auto}.profile-control{margin-inline-start:0;padding-inline-start:10px}.app-workspace .workspace-footer{padding-inline:28px}.footer-copyright{width:100%}}
@media(max-width:700px){.app-workspace .topbar{min-height:78px;padding:12px 16px}.app-workspace .profile-trigger{padding:3px;gap:6px}.app-workspace .profile-trigger .avatar{width:36px;height:36px;border-radius:12px}.profile-trigger>.ui-icon{width:13px;height:13px}.profile-control{padding-inline-start:10px}.profile-menu{position:fixed;inset-inline:14px;top:auto;margin-top:16px;width:auto;max-width:none}.app-workspace .workspace-footer{gap:20px;padding:22px 18px}.footer-brand{gap:8px}.footer-links{font-size:.75rem;gap:12px}.footer-copyright{border-top:1px solid var(--border);padding-top:16px}.app-workspace .topbar-actions{gap:7px}}
/* Responsive navigation disclosure; direction follows the selected language. */
.app-workspace .menu-toggle{flex-shrink:0;z-index:62}
.app-workspace .sidebar{transition:transform .22s ease,visibility .22s;z-index:61}
.app-workspace .workspace{transition:margin-inline-start .22s ease}
.app-workspace.sidebar-collapsed .sidebar{transform:translateX(100%);visibility:hidden}
html[dir=ltr] .app-workspace.sidebar-collapsed .sidebar{transform:translateX(-100%)}
.app-workspace.sidebar-collapsed .workspace{margin-inline-start:0}
.sidebar-backdrop{position:fixed;inset:0;background:#09152566;backdrop-filter:blur(3px);border:0;padding:0;z-index:60;cursor:pointer}
@media(max-width:700px){
 .app-workspace .sidebar{position:fixed;inset-block:0;inset-inline-start:0;inset-inline-end:auto;width:min(300px,calc(100vw - 70px));height:100dvh;overflow-y:auto;padding:28px 20px;border-inline-end:1px solid var(--border);transform:translateX(100%);visibility:hidden;box-shadow:0 12px 50px #0002}
 html[dir=ltr] .app-workspace .sidebar{transform:translateX(-100%)}
 .app-workspace.sidebar-open .sidebar{transform:translateX(0);visibility:visible}
 .app-workspace.sidebar-open{overflow:hidden}
 .app-workspace .sidebar nav{display:grid;overflow:visible;margin-top:28px;gap:8px}
 .app-workspace .sidebar nav a{font-size:.9375rem;padding:14px;white-space:normal}
 .app-workspace .sidebar .nav-caption{display:block;margin:20px 0;font-size:10px}
 .app-workspace .sidebar .sidebar-bottom{display:grid}
 .app-workspace .topbar{gap:10px;z-index:62}
 .app-workspace .topbar-actions{width:auto;min-width:0;flex:1;gap:6px}
 .app-workspace .topbar .menu-toggle{width:38px;height:42px}
 .app-workspace .topbar .language-control{padding-inline:9px;gap:5px}
 .app-workspace .topbar .language-control>.ui-icon{display:none}
 .app-workspace .topbar .profile-control{padding-inline-start:6px}
 .app-workspace .profile-trigger>.ui-icon{display:none}
}
