:root{--bg:#f3f5f9;--card:#fff;--surface-subtle:#f7f9fc;--text:#1d2433;--muted:#5e6b80;--border:#d6dbe5;--control-border:#7c8ba3;--navy:#102447;--primary:#2355d5;--primary-hover:#1945ba;--primary-text:#fff;--error:#bd2e40;--danger-text:#fff;--success:#17683c;--radius:10px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;font-family:system-ui,-apple-system,Segoe UI,Roboto,Noto Sans Arabic,sans-serif;line-height:1.5}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial;--bg:#0f131a;--card:#181e28;--surface-subtle:#141c28;--text:#e7eaf0;--muted:#adb8cb;--border:#2c384b;--control-border:#65738a;--primary:#adc4ff;--primary-hover:#c4d4ff;--primary-text:#102447;--error:#ff9ba6;--danger-text:#3b1020;--success:#7ee0a4}}*,:before,:after{box-sizing:border-box}body{background:var(--bg);color:var(--text);margin:0}a{color:var(--primary);text-underline-offset:3px}h1{margin:0;font-size:1.6rem}:where(a,button,input[type=checkbox]):focus-visible{outline:2px solid var(--primary);outline-offset:3px}.muted{color:var(--muted)}.hint{color:var(--muted);overflow-wrap:anywhere;margin:-6px 0 16px;font-size:.8rem;line-height:1.7}.sr-only{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.splash{min-height:100svh;color:var(--muted);place-items:center;display:grid}.page-header{color:#fff;background:var(--navy);border:1px solid #354968;border-radius:20px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:20px;margin-bottom:24px;padding:28px 32px;display:flex}.page-header>div{min-width:0}.page-header h1{letter-spacing:-.035em;overflow-wrap:anywhere;max-width:100%;font-size:clamp(1.65rem,3vw,2rem);font-weight:650;line-height:1.3}.page-header p{margin:8px 0 0;font-size:.9rem;line-height:1.7}.page-header .muted,.page-header .hint{color:#c0cee4}.page-header .btn-primary{color:#102447;background:#e3ecff;border-color:#e3ecff}.page-header .btn-primary:hover:not(:disabled){background:#fff;border-color:#fff}.page-header :where(a,button):focus-visible{outline-color:#aac5ff}.page-header .title-status{color:#e0e8f5;background:#21395d;border-color:#52668a}.page-header .title-status.status-on{color:#b7f4ce;background:#203f42;border-color:#597f71}.page-header .title-status:before{background:#c0cee4}.page-header .title-status.status-on:before{background:#7ee0a4}.breadcrumb{color:var(--muted);overflow-wrap:anywhere;margin-bottom:14px;font-size:.8rem;line-height:1.8}.breadcrumb a{text-decoration:none}.breadcrumb a:hover{text-decoration:underline}.field{min-width:0;margin-bottom:18px}.field label,.field .label{margin-bottom:8px;font-size:.85rem;font-weight:600;display:block}.field input:not([type=checkbox]),.field select,input.search,.filter select{width:100%;min-width:0;max-width:100%;min-height:46px;font:inherit;color:var(--text);background:var(--surface-subtle);border:1px solid var(--control-border);border-radius:var(--radius);outline:none;padding-block:11px;padding-inline:12px;transition:border-color .15s,box-shadow .15s}.field input::placeholder,input.search::placeholder{color:var(--muted);opacity:1}.field input:focus,.field select:focus,input.search:focus,.filter select:focus{border-color:var(--primary);box-shadow:0 0 0 3px color-mix(in srgb, var(--primary) 20%, transparent)}.field input[aria-invalid=true],.field select[aria-invalid=true]{border-color:var(--error)}.field input:read-only{background:var(--bg)}.field select:disabled,.field input:disabled{color:var(--muted);background:var(--bg);opacity:1;cursor:not-allowed}.field-error{min-height:1.1em;color:var(--error);overflow-wrap:anywhere;margin:6px 0 0;font-size:.8rem;line-height:1.5}.field-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;display:grid}.field .checkbox{cursor:pointer;align-items:center;gap:9px;margin:0;padding-block:10px;font-weight:400;display:inline-flex}input[type=checkbox]{accent-color:var(--primary)}.btn{min-height:42px;font:inherit;text-align:center;color:var(--text);background:var(--card);border:1px solid var(--border);border-radius:var(--radius);cursor:pointer;justify-content:center;align-items:center;gap:8px;padding:10px 16px;font-size:.85rem;font-weight:600;line-height:1.4;text-decoration:none;transition:background .15s,border-color .15s;display:inline-flex}.btn:hover:not(:disabled){background:var(--surface-subtle);border-color:var(--primary)}.btn:disabled{opacity:.55;cursor:not-allowed}.btn-primary{color:var(--primary-text);background:var(--primary);border-color:var(--primary)}.btn-primary:hover:not(:disabled){background:var(--primary-hover);border-color:var(--primary-hover)}.btn-ghost{color:var(--primary);background:0 0}.btn-ghost:hover:not(:disabled){background:color-mix(in srgb, var(--primary) 6%, var(--card))}.btn-small{min-height:34px;padding:6px 11px;font-size:.8rem}.btn-danger{color:var(--error)}.btn-danger:hover:not(:disabled){background:color-mix(in srgb, var(--error) 6%, var(--card));border-color:var(--error)}.btn-danger-solid{color:var(--danger-text);background:var(--error);border-color:var(--error)}.btn-danger-solid:hover:not(:disabled){background:color-mix(in srgb, var(--error) 90%, #000);border-color:color-mix(in srgb, var(--error) 90%, #000)}.link-btn{font:inherit;color:inherit;text-underline-offset:3px;cursor:pointer;background:0 0;border:none;padding:0;font-weight:600;text-decoration:underline}.badge{--c:var(--muted);color:var(--c);background:color-mix(in srgb, var(--c) 10%, var(--card));white-space:nowrap;border-radius:999px;padding:3px 9px;font-size:.75rem;font-weight:600;display:inline-block}.badge-admin{--c:#b63c0b}.badge-supervisor,.badge-manager{--c:#7030cf}.badge-user,.badge-coordinator{--c:var(--primary)}@media (prefers-color-scheme:dark){.badge-admin{--c:#ffb170}.badge-supervisor,.badge-manager{--c:#c1a2ff}}.alert{--c:var(--primary);color:var(--c);background:color-mix(in srgb, var(--c) 6%, var(--card));border:1px solid color-mix(in srgb, var(--c) 25%, var(--border));border-inline-start:3px solid var(--c);border-radius:var(--radius);overflow-wrap:anywhere;margin-bottom:20px;padding:14px 16px;font-size:.875rem;line-height:1.7}.alert-error{--c:var(--error)}.alert-success{--c:var(--success)}.modal{width:min(520px,100vw - 32px);max-height:calc(100dvh - 32px);color:var(--text);background:var(--card);border:1px solid var(--border);border-radius:16px;padding:0;overflow-y:auto;box-shadow:0 24px 70px #0812264d}.modal::backdrop{background:#08122699}.modal-header{color:#fff;background:var(--navy);border-bottom:1px solid #354968;justify-content:space-between;align-items:center;gap:16px;padding:20px 24px;display:flex}.modal-header h2{letter-spacing:-.02em;overflow-wrap:anywhere;margin:0;font-size:1.15rem;font-weight:650;line-height:1.4}.modal-close{height:36px;font:inherit;color:#d9e5f8;cursor:pointer;background:0 0;border:1px solid #52668a;border-radius:9px;flex:0 0 36px;place-items:center;padding:0;font-size:1.5rem;line-height:1;display:grid}.modal-close:hover{background:#21395d}.modal-close:focus-visible{outline-color:#adc4ff}.modal-body{padding:24px 24px 8px}.modal-body>p{overflow-wrap:anywhere;margin:0 0 16px;line-height:1.7}.modal-footer{background:var(--surface-subtle);border-top:1px solid var(--border);flex-wrap:wrap;justify-content:flex-end;gap:10px;padding:18px 24px;display:flex}.toolbar{background:var(--card);border:1px solid var(--border);border-radius:16px;margin-bottom:20px;padding:16px}.toolbar .search{width:100%;max-width:440px}.toolbar-row{flex-wrap:wrap;align-items:center;gap:12px 20px;display:flex}.toolbar-row .search{flex:280px;max-width:none}.filter{min-width:0;color:var(--muted);align-items:center;gap:10px;font-size:.85rem;font-weight:600;display:inline-flex}.filter select{width:auto;min-width:130px;font-size:1rem;font-weight:400}.table-wrap{background:var(--card);border:1px solid var(--border);border-radius:16px;min-width:0;max-width:100%;transition:opacity .15s;position:relative;overflow-x:auto;box-shadow:0 4px 18px #0f1e3c08}.table-wrap[aria-busy=true]{opacity:.6}.table-wrap:focus-visible{outline:2px solid var(--primary);outline-offset:3px}.table{border-collapse:collapse;width:100%;min-width:640px;font-size:.8rem;line-height:1.6}.table th,.table td{text-align:start;border-bottom:1px solid var(--border);vertical-align:middle;padding:16px 18px}.table th{color:var(--muted);background:var(--surface-subtle);text-transform:uppercase;letter-spacing:.06em;white-space:nowrap;padding-block:14px;font-size:.7rem;font-weight:650}.table td{overflow-wrap:break-word;word-break:normal}.table td a:not(.btn){font-weight:600}.table tbody tr:last-child td{border-bottom:none}.table tbody tr:hover{background:color-mix(in srgb, var(--primary) 3%, var(--card))}.table tr.is-inactive td:not(.actions-col){opacity:.6}.actions-col{white-space:nowrap;text-align:end!important}.actions-col .btn+.btn{margin-inline-start:6px}.email-cell{overflow-wrap:anywhere}.nowrap{white-space:nowrap}.empty{color:var(--muted);text-align:center!important;padding:48px 24px!important}.status{color:var(--muted);background:var(--surface-subtle);border:1px solid var(--border);white-space:nowrap;border-radius:999px;align-items:center;gap:7px;padding:4px 10px;font-size:.75rem;font-weight:600;display:inline-flex}.status:before{content:"";background:var(--muted);border-radius:50%;flex:0 0 6px;height:6px}.status-on{color:var(--success);background:color-mix(in srgb, var(--success) 6%, var(--card));border-color:color-mix(in srgb, var(--success) 25%, var(--border))}.status-on:before{background:var(--success)}.status-off:before{background:var(--muted)}.status-overdue{color:var(--error);background:color-mix(in srgb, var(--error) 6%, var(--card));border-color:color-mix(in srgb, var(--error) 25%, var(--border))}.status-overdue:before{background:var(--error)}.table .num{text-align:end;font-variant-numeric:tabular-nums}@media (width<=600px){.page-header{border-radius:16px;gap:18px;padding:24px 20px}.field-row{grid-template-columns:minmax(0,1fr);gap:0}.toolbar{padding:14px}.toolbar .search,.filter{width:100%;max-width:none}.filter select{flex:1;min-width:0}.modal-header,.modal-footer{padding-inline:20px}.modal-body{padding:20px 20px 4px}.modal-footer .btn{flex:120px}}@media (prefers-reduced-motion:reduce){.btn,.field input,.field select,input.search,.filter select,.table-wrap{transition:none}}.role-select-container{position:relative}.role-select-header{gap:8px;display:flex}.role-select-trigger{width:100%;min-height:46px;font:inherit;text-align:start;color:var(--text);background:var(--surface-subtle);border:1px solid var(--control-border);border-radius:var(--radius);cursor:pointer;flex:1;justify-content:space-between;align-items:center;gap:8px;padding:11px 12px;transition:border-color .15s,box-shadow .15s;display:flex}.role-select-trigger:hover:not(:disabled){border-color:var(--primary)}.role-select-trigger:focus{border-color:var(--primary);box-shadow:0 0 0 3px color-mix(in srgb, var(--primary) 20%, transparent);outline:none}.role-select-trigger:disabled{color:var(--muted);background:var(--bg);cursor:not-allowed}.role-select-trigger[aria-invalid=true]{border-color:var(--error)}.role-select-value{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.role-select-chevron{color:var(--muted);flex-shrink:0;transition:transform .15s}.role-select-trigger[aria-expanded=true] .role-select-chevron{transform:rotate(180deg)}.role-info-btn{width:46px;height:46px;color:var(--muted);background:var(--surface-subtle);border:1px solid var(--control-border);border-radius:var(--radius);cursor:pointer;flex-shrink:0;justify-content:center;align-items:center;padding:0;transition:border-color .15s,color .15s;display:flex}.role-info-btn:hover{color:var(--primary);border-color:var(--primary)}.role-info-btn:focus{border-color:var(--primary);box-shadow:0 0 0 3px color-mix(in srgb, var(--primary) 20%, transparent);outline:none}.role-info-btn[aria-expanded=true]{color:var(--primary);border-color:var(--primary)}.role-select-dropdown{z-index:100;background:var(--card);border:1px solid var(--border);border-radius:var(--radius);margin:4px 0 0;padding:6px;list-style:none;position:absolute;top:100%;left:0;right:0;box-shadow:0 12px 40px #08122626}@media (prefers-color-scheme:dark){.role-select-dropdown{box-shadow:0 12px 40px #0006}}.role-select-option{border-radius:calc(var(--radius) - 2px);cursor:pointer;flex-direction:column;gap:2px;padding:10px 12px;padding-inline-end:36px;transition:background .1s;display:flex;position:relative}.role-select-option:hover,.role-select-option.is-highlighted{background:color-mix(in srgb, var(--primary) 8%, var(--card))}.role-select-option.is-selected{background:color-mix(in srgb, var(--primary) 10%, var(--card))}.role-option-label{font-size:.9rem;font-weight:600}.role-option-description{color:var(--muted);font-size:.8rem;line-height:1.5}.role-option-check{color:var(--primary);position:absolute;top:12px;right:12px}.role-info-panel{z-index:101;background:var(--card);border:1px solid var(--border);border-radius:var(--radius);width:min(480px,100vw - 48px);max-height:60vh;margin-top:4px;position:absolute;top:100%;left:0;overflow:hidden;box-shadow:0 16px 50px #08122633}@media (prefers-color-scheme:dark){.role-info-panel{box-shadow:0 16px 50px #00000080}}.role-info-panel-header{background:var(--navy);border-bottom:1px solid #354968;justify-content:space-between;align-items:center;gap:12px;padding:14px 16px;display:flex}.role-info-panel-title{color:#fff;font-size:.95rem;font-weight:650}.role-info-panel-close{color:#d9e5f8;cursor:pointer;background:0 0;border:1px solid #52668a;border-radius:6px;justify-content:center;align-items:center;width:28px;height:28px;padding:0;font-size:1.3rem;line-height:1;display:flex}.role-info-panel-close:hover{background:#21395d}.role-info-panel-body{max-height:calc(60vh - 56px);padding:8px 16px;overflow-y:auto}.role-info-section{border-bottom:1px solid var(--border);padding:14px 0}.role-info-section:last-child{border-bottom:none}.role-info-section.is-highlighted{background:color-mix(in srgb, var(--primary) 6%, var(--card));border-radius:calc(var(--radius) - 2px);border-bottom:none;margin:-4px -12px;padding:18px 12px}.role-info-name{color:var(--primary);align-items:center;gap:8px;margin:0 0 4px;font-size:.95rem;font-weight:650;display:flex}.role-info-icon{font-size:.65rem}.role-info-summary{color:var(--muted);margin:0 0 10px;font-size:.85rem;line-height:1.6}.role-permission-list{margin:0;padding:0;list-style:none}.role-permission{align-items:flex-start;gap:8px;margin-bottom:5px;font-size:.82rem;line-height:1.5;display:flex}.role-permission:last-child{margin-bottom:0}.role-permission-icon{text-align:center;flex-shrink:0;width:16px;font-weight:600}.role-permission--allowed .role-permission-icon{color:var(--success)}.role-permission--denied{color:var(--muted)}.role-permission--denied .role-permission-icon{opacity:.7}@media (width<=600px){.role-info-panel{border-radius:16px 16px 0 0;width:100%;max-height:70vh;margin:0;position:fixed;inset:auto 0 0}.role-info-panel-body{max-height:calc(70vh - 56px)}}.form-plain{border:0;min-width:0;margin:0;padding:0}.form-section{background:var(--card);border:1px solid var(--border);border-radius:16px;min-width:0;margin:0 0 24px;padding:24px}.form-section legend{max-width:100%;color:var(--primary);overflow-wrap:anywhere;padding-inline:8px;font-size:1rem;font-weight:700}.form-section>h2{border-block-end:1px solid var(--border);margin:0 0 16px;padding-block-end:16px;font-size:1.05rem;font-weight:700}.field-grid{grid-template-columns:repeat(auto-fit,minmax(min(240px,100%),1fr));gap:16px 24px;display:grid}.field-grid>.field{min-width:0;margin:0}.field-wide{grid-column:1/-1}.form-actions{flex-wrap:wrap;justify-content:flex-end;gap:12px;margin-block-end:24px;display:flex}.form-actions>.btn{max-width:100%;min-inline-size:120px}.form-section>.form-actions{border-block-start:1px solid var(--border);margin-block:20px 0;padding-block-start:20px}.docs-panel .hint{margin:0 0 20px}.docs-list{gap:12px;margin:0;padding:0;list-style:none;display:grid}.docs-row{background:var(--surface-subtle);border:1px solid var(--border);border-radius:12px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;min-width:0;padding:16px;display:flex}.docs-info{overflow-wrap:anywhere;flex-direction:column;flex:240px;gap:4px;min-width:0;display:flex}.docs-label{font-weight:600}.docs-file{overflow-wrap:anywhere}.docs-info .field-error{min-height:0}.docs-actions{flex-wrap:wrap;gap:8px;max-width:100%;display:flex}.btn.is-disabled{opacity:.55;pointer-events:none}.docs-actions label:focus-within{outline:2px solid var(--primary);outline-offset:2px}@media (width<=640px){.form-section{padding:20px}.field-grid{grid-template-columns:minmax(0,1fr)}.form-actions>.btn{flex:100%;min-inline-size:0}.docs-row{align-items:stretch}.docs-info{flex-basis:100%}.docs-actions{width:100%}.docs-actions>.btn{flex:auto}}.history-note{margin:0}.history-list{margin:0;padding:0;list-style:none}.history-item{border-top:1px solid var(--border);overflow-wrap:anywhere;padding:10px 0}.history-item:first-child{border-top:none}.history-headline{font-weight:600}.history-tag{border:1px solid var(--border);color:var(--muted);white-space:nowrap;border-radius:999px;margin-left:8px;padding:1px 8px;font-size:.8rem}.history-detail{white-space:pre-line;margin:4px 0 0}.history-changes{color:var(--muted);margin:4px 0 0;padding-left:18px}.side-nav{background:var(--card);border-right:1px solid var(--border);flex-shrink:0;width:240px}.side-nav-list{top:var(--app-bar-height,89px);max-height:calc(100svh - var(--app-bar-height,89px));padding:16px 12px 24px;position:sticky;overflow-y:auto}.side-nav-section+.side-nav-section,.side-nav-list>.side-nav-link+.side-nav-section{margin-top:14px}.side-nav-group{color:var(--muted);letter-spacing:.06em;text-transform:uppercase;margin:0 0 4px;padding:0 10px;font-size:.72rem;font-weight:650}.side-nav-link{border-radius:var(--radius,8px);color:var(--text);overflow-wrap:anywhere;align-items:center;gap:10px;padding:8px 10px;font-size:.92rem;text-decoration:none;display:flex}.side-nav-link .menu-symbol{width:22px;height:22px;color:var(--primary);flex-shrink:0}.side-nav-link:hover{background:var(--surface-subtle)}.side-nav-link.current{background:var(--surface-subtle);color:var(--primary);box-shadow:inset 3px 0 0 var(--primary);font-weight:650}.side-nav-link:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.side-nav-backdrop{display:none}@media (width<=899px){.side-nav{z-index:30;visibility:hidden;width:min(280px,85vw);transition:transform .2s,visibility .2s;position:fixed;inset:0 auto 0 0;transform:translate(-100%);box-shadow:0 0 24px #0000002e}.side-nav.open{visibility:visible;transform:none}.side-nav-list{height:100%;max-height:100%;position:static}.side-nav-backdrop{z-index:25;background:#00000059;display:block;position:fixed;inset:0}}@media (prefers-reduced-motion:reduce){.side-nav{transition:none}}@media (width<=899px){body.nav-open{overflow:hidden}}.app-content:focus{outline:none}.app-shell{--app-accent:var(--primary);background:var(--bg);min-height:100svh}.app-bar{z-index:10;background:var(--card);border-bottom:1px solid var(--border);position:sticky;top:0}.app-bar-inner{justify-content:space-between;align-items:center;gap:28px;padding:18px 24px;display:flex}.app-navigation{flex-shrink:0;align-items:center;gap:28px;display:flex}.app-brand{border-radius:6px;display:flex}.app-logo img{width:auto;height:52px;display:block}.app-menu-toggle{flex-shrink:0;min-height:40px;padding:8px 10px;display:none}.app-menu-toggle svg{width:20px;height:20px}@media (width<=899px){.app-menu-toggle{display:inline-flex}}.app-signout svg{flex-shrink:0;width:18px;height:18px}.app-user{align-items:center;gap:12px;min-width:0;display:flex}.app-avatar{height:38px;color:var(--app-accent);background:color-mix(in srgb, var(--app-accent) 8%, var(--card));border:1px solid color-mix(in srgb, var(--app-accent) 16%, var(--border));border-radius:50%;flex:0 0 38px;place-items:center;display:grid}.app-avatar svg{width:20px;height:20px}.app-user-details{justify-items:start;gap:4px;min-width:0;max-width:180px;display:grid}.app-user-name{text-overflow:ellipsis;white-space:nowrap;max-width:100%;font-size:.85rem;font-weight:600;line-height:1.3;overflow:hidden}.app-user-details .badge{padding:1px 7px;font-size:.65rem}.app-signout{flex-shrink:0;gap:8px;min-height:40px;margin-inline-start:8px;font-size:.8rem}.app-signout:hover:not(:disabled){background:var(--bg);border-color:var(--app-accent)}.app-brand:focus-visible,.app-menu-toggle:focus-visible,.app-signout:focus-visible{outline:2px solid var(--app-accent);outline-offset:4px}[dir=rtl] .app-signout svg{transform:scaleX(-1)}.app-body{min-height:calc(100svh - var(--app-bar-height,89px));align-items:stretch;display:flex}.app-content{flex:1;min-width:0;max-width:none;margin-inline:0;padding:32px 3% 56px}@media (width<=700px){.app-bar-inner{flex-wrap:wrap;gap:16px;padding:16px}.app-navigation{justify-content:space-between;gap:16px;width:100%}.app-logo img{height:44px}.app-user{border-top:1px solid var(--border);width:100%;padding-top:14px}.app-user-details{flex:1;max-width:none}.app-signout{margin-inline-start:auto}.app-content{padding:24px 16px 40px}}@media (width<=360px){.app-bar-inner,.app-content{padding-inline:12px}}.app-user-link{min-width:0;color:inherit;border-radius:8px;align-items:center;gap:12px;text-decoration:none;display:flex}.app-user-link:hover .app-user-name,.app-user-link:focus-visible .app-user-name{text-decoration:underline}.login-page{--login-action:#2355d5;--login-action-hover:#1945ba;--login-action-text:#fff;background:var(--bg);place-items:center;min-height:100svh;padding:40px 24px;display:grid}.login-shell{background:var(--card);border:1px solid var(--border);border-radius:24px;grid-template-columns:.95fr 1.05fr;width:100%;max-width:1060px;min-height:660px;display:grid;overflow:hidden;box-shadow:0 24px 70px #0f1e3c14}.login-overview{isolation:isolate;color:#fff;background:#102447;flex-direction:column;justify-content:space-between;gap:48px;padding:44px;display:flex;position:relative;overflow:hidden}.login-overview:after{content:"";z-index:-1;pointer-events:none;border:1px solid #a0bef51f;border-radius:50%;width:440px;height:440px;position:absolute;inset-block-start:160px;inset-inline-start:160px;box-shadow:0 0 0 60px #a0bef509,0 0 0 120px #a0bef506}.login-overview-brand{color:#c8d6ed;letter-spacing:.12em;text-transform:uppercase;align-items:center;gap:12px;font-size:.72rem;font-weight:600;display:flex}.login-overview-brand svg{color:#b9ceff;border:1px solid #415579;border-radius:10px;flex:0 0 36px;width:36px;height:36px;padding:7px}.login-overview-copy h2{letter-spacing:-.045em;margin:0;font-size:clamp(2rem,3.3vw,2.8rem);font-weight:650;line-height:1.18}.login-overview-copy h2 span{color:#aac5ff;display:block}.login-overview-copy p{color:#c0cee4;max-width:30ch;margin:22px 0 0;font-size:.95rem;line-height:1.8}.login-highlights{border-top:1px solid #354968;gap:18px;margin:0;padding:28px 0 0;list-style:none;display:grid}.login-highlights li{color:#e0e8f5;align-items:baseline;gap:16px;font-size:.85rem;display:flex}.login-highlights li span{color:#9eb9eb;font-variant-numeric:tabular-nums;font-size:.7rem}.login-card{align-self:center;min-width:0;padding:40px clamp(28px,4.5vw,60px)}.login-logo{margin-bottom:36px;display:block}.login-logo img{width:228px;max-width:100%;height:auto;display:block}.login-brand{margin-bottom:28px}.login-brand h1{letter-spacing:-.035em;margin:0 0 8px;font-size:1.85rem;font-weight:650;line-height:1.25}.login-brand p{color:var(--muted);margin:0;font-size:.9rem}.login-card .field{margin-bottom:12px}.login-card .field label{margin-bottom:8px;font-size:.85rem}.login-card .field input:not([type=checkbox]){background:var(--bg);min-height:48px;font-size:.95rem}.login-card .field input::placeholder{color:color-mix(in srgb, var(--muted) 85%, var(--text));opacity:1}.login-card .password-wrap{position:relative}.login-card .field .password-wrap input{padding-inline-end:72px}.login-card .toggle-password{height:36px;font:inherit;color:var(--login-action);cursor:pointer;background:0 0;border:none;border-radius:6px;margin-block:auto;padding:6px 10px;font-size:.8rem;font-weight:600;position:absolute;inset-block:0;inset-inline-end:6px}.login-card .toggle-password:hover{background:color-mix(in srgb, var(--primary) 8%, transparent)}.login-row{margin-bottom:24px;font-size:.85rem}.login-card .remember{cursor:pointer;align-items:center;gap:9px;min-height:32px;display:inline-flex}.login-card .remember input{width:16px;height:16px;accent-color:var(--login-action);cursor:pointer;margin:0}.login-submit{width:100%;min-height:48px;font:inherit;color:var(--login-action-text);background:var(--login-action);border-radius:var(--radius);cursor:pointer;border:1px solid #0000;justify-content:center;align-items:center;gap:12px;padding:12px 18px;font-size:.95rem;font-weight:600;transition:background .15s;display:flex}.login-submit svg{width:18px;height:18px}[dir=rtl] .login-submit svg{transform:scaleX(-1)}.login-submit:hover:not(:disabled){background:var(--login-action-hover)}.login-submit:disabled{opacity:.65;cursor:progress}.login-card button:focus-visible,.login-card .remember input:focus-visible{outline:2px solid var(--login-action);outline-offset:3px}.login-alert{overflow-wrap:anywhere;border-radius:var(--radius);color:var(--error);background:color-mix(in srgb, var(--error) 10%, transparent);border:1px solid color-mix(in srgb, var(--error) 35%, transparent);margin-bottom:18px;padding:10px 12px;font-size:.9rem}.login-help{border-top:1px solid var(--border);color:var(--muted);margin:28px 0 0;padding-top:22px;font-size:.78rem;line-height:1.7}.login-help span{color:var(--text)}@media (prefers-color-scheme:dark){.login-page{--login-action:#adc4ff;--login-action-hover:#c4d4ff;--login-action-text:#102447}}@media (width<=760px){.login-page{padding:24px 16px}.login-shell{border-radius:20px;grid-template-columns:1fr;max-width:460px;min-height:0}.login-overview{display:none}.login-card{padding:32px 28px}.login-logo{margin-bottom:30px}}@media (width<=360px){.login-page{padding:16px 12px}.login-card{padding:28px 20px}}@media (prefers-reduced-motion:reduce){.login-submit,.login-card .field input{transition:none}}.menu-page{--menu-heading-color:var(--navy)}.menu-heading{justify-content:space-between;align-items:center;gap:16px;margin-bottom:36px;display:flex}.dashboard-notifications{flex:none;padding-inline-end:56px;position:relative}.notification-bell{width:48px;height:48px;color:var(--primary);background:var(--card);border:1px solid var(--border);cursor:pointer;border-radius:16px;place-items:center;padding:8px;display:grid;position:relative}.notification-bell svg{width:28px;height:28px}.notification-bell:hover,.notification-bell[aria-expanded=true]{background:var(--bg)}.notification-indicator{top:-6px;white-space:nowrap;align-items:center;gap:4px;display:flex;position:absolute;inset-inline-start:calc(100% - 18px)}.notification-count-label{color:var(--muted);font-size:.75rem;font-weight:500}.notification-badge{min-width:24px;height:24px;color:var(--danger-text);background:var(--error);border:2px solid var(--card);border-radius:999px;place-items:center;padding:0 4px;font-size:.75rem;font-weight:700;display:grid}.notification-panel{z-index:20;inset-inline-end:0;background:var(--card);width:min(360px,100vw - 48px);max-height:min(480px,65vh);color:var(--text);border:1px solid var(--border);border-radius:16px;padding:16px;position:absolute;top:calc(100% + 12px);overflow-y:auto;box-shadow:0 12px 28px #10244729}.notification-panel-header{justify-content:space-between;align-items:center;gap:16px;display:flex}.notification-panel-header h3{margin:0;font-size:1.15rem}.notification-panel p{margin:16px 0 0;font-size:.9rem}.notification-list{margin:12px 0 0;padding:0;list-style:none}.notification-list li{border-top:1px solid var(--border)}.notification-list a{overflow-wrap:anywhere;flex-direction:column;gap:4px;padding:12px 4px;text-decoration:none;display:flex}.notification-list a:hover{background:var(--bg)}.notification-list span{color:var(--muted);font-size:.85rem}.menu-heading h1{color:var(--menu-heading-color);letter-spacing:-.035em;overflow-wrap:anywhere;margin:0 0 8px;font-size:clamp(2rem,4vw,3rem);font-weight:700;line-height:1.15}.menu-heading>div>p{color:var(--muted);margin:0;font-size:1.35rem;line-height:1.5}.menu-group+.menu-group{margin-top:28px}.menu-group-title{color:var(--muted);letter-spacing:.06em;text-transform:uppercase;margin:0 0 12px;font-size:.78rem;font-weight:650}.menu-grid{grid-template-columns:repeat(auto-fill,minmax(min(100%,220px),1fr));gap:16px;display:grid}.menu-tile{min-width:0;min-height:120px;color:var(--text);background:var(--card);border:1px solid var(--border);border-radius:16px;flex-direction:column;gap:4px;padding:16px;text-decoration:none;transition:border-color .18s ease-out,box-shadow .18s ease-out,transform .18s ease-out;display:flex;box-shadow:0 2px 8px #10244706}a.menu-tile:focus-visible{border-color:var(--app-accent,var(--primary));outline:3px solid var(--app-accent,var(--primary));outline-offset:4px;box-shadow:0 12px 28px #1024471a}a.menu-tile:focus-visible .menu-icon{background:color-mix(in srgb, var(--app-accent,var(--primary)) 13%, var(--card));border-color:color-mix(in srgb, var(--app-accent,var(--primary)) 40%, var(--border))}@media (hover:hover) and (pointer:fine){a.menu-tile:hover{border-color:var(--app-accent,var(--primary));box-shadow:0 12px 28px #1024471a}a.menu-tile:hover .menu-icon{background:color-mix(in srgb, var(--app-accent,var(--primary)) 13%, var(--card));border-color:color-mix(in srgb, var(--app-accent,var(--primary)) 40%, var(--border))}}a.menu-tile:active{border-color:var(--app-accent,var(--primary));box-shadow:0 3px 10px #1024470f}.menu-tile.is-disabled{box-shadow:none}.menu-tile-top{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:8px;display:flex}.menu-tile.is-disabled .menu-tile-top{justify-content:flex-start;align-items:center}.menu-icon{height:44px;color:var(--app-accent,var(--primary));background:color-mix(in srgb, var(--app-accent,var(--primary)) 8%, var(--card));border:1px solid #0000;border-radius:12px;flex:0 0 44px;place-items:center;transition:background .18s ease-out,border-color .18s ease-out;display:grid}.menu-symbol{width:28px;height:28px;overflow:visible}.menu-arrow{--menu-arrow-offset:3px;color:var(--app-accent,var(--primary));margin-top:8px;transition:transform .18s ease-out;display:flex}.menu-arrow svg{width:18px;height:18px}[dir=rtl] .menu-arrow{--menu-arrow-offset:-3px}[dir=rtl] .menu-arrow svg{transform:scaleX(-1)}.menu-tile.is-disabled .menu-icon{color:var(--muted);background:var(--bg)}.menu-tile.is-disabled .menu-symbol{opacity:.65}.menu-title{color:var(--menu-heading-color);letter-spacing:-.015em;overflow-wrap:anywhere;font-size:1.05rem;font-weight:650;line-height:1.3}.menu-desc{color:var(--muted);overflow-wrap:anywhere;font-size:.85rem;line-height:1.45}.menu-icon-part{transform-box:fill-box;transform-origin:50%}.menu-payment-check,.menu-order-check{--menu-part-animation:menu-check-in;stroke-dasharray:1;stroke-dashoffset:0}.menu-quotation-tag{--menu-part-animation:menu-tag-tilt;transform-origin:30% 20%}.menu-vendor-store{--menu-part-animation:menu-store-lift}.menu-project-tab{--menu-part-animation:menu-tab-shift}.menu-user-secondary{--menu-part-animation:menu-person-emphasis;opacity:.72}@media (prefers-reduced-motion:no-preference){a.menu-tile:focus-visible{transform:translateY(-3px)}a.menu-tile:focus-visible .menu-arrow{transform:translateX(var(--menu-arrow-offset))}a.menu-tile:focus-visible .menu-icon-part{animation:var(--menu-part-animation) .22s ease-out 1}}@media (prefers-reduced-motion:no-preference) and (hover:hover) and (pointer:fine){a.menu-tile:hover{transform:translateY(-3px)}a.menu-tile:hover .menu-arrow{transform:translateX(var(--menu-arrow-offset))}a.menu-tile:hover .menu-icon-part{animation:var(--menu-part-animation) .22s ease-out 1}}@media (prefers-reduced-motion:no-preference){a.menu-tile:active{transform:translateY(-1px)}}@keyframes menu-check-in{0%{opacity:0;stroke-dashoffset:1px}to{opacity:1;stroke-dashoffset:0}}@keyframes menu-tag-tilt{0%,to{transform:rotate(0)}50%{transform:rotate(-7deg)}}@keyframes menu-store-lift{0%,to{transform:translateY(0)}50%{transform:translateY(-2px)}}@keyframes menu-tab-shift{0%,to{transform:translate(0)}50%{transform:translate(1.5px)}}@keyframes menu-person-emphasis{0%,to{opacity:.72}50%{opacity:1}}.menu-page .soon{color:var(--text);background:var(--bg);white-space:nowrap;border-radius:999px;padding:6px 12px;font-size:.8rem;font-weight:600}@media (prefers-color-scheme:dark){.menu-page{--menu-heading-color:var(--text)}}@media (width<=700px){.menu-heading{margin-bottom:28px}.menu-grid{gap:12px}.menu-tile{padding:14px}}@media (prefers-reduced-motion:reduce){.menu-tile,.menu-icon,.menu-arrow{transition:none}.menu-icon-part{animation:none}}.approval-queue{border:1px solid var(--border);background:var(--card);border-radius:16px;margin-bottom:32px;padding:20px 24px}.approval-queue-header{justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px;display:flex}.approval-queue-actions{flex:none;align-items:center;gap:16px;display:flex}.approval-queue-header h2{margin:0;font-size:1.15rem}.approval-queue-note{margin:0}.approval-queue-list{margin:0;padding:0;list-style:none}.approval-queue-item{border-top:1px solid var(--border);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px 16px;padding:12px 0;display:flex}.approval-queue-main{overflow-wrap:anywhere;flex-direction:column;gap:2px;min-width:0;display:flex}.approval-queue-no{font-weight:700}.approval-queue-more{margin:12px 0 0}.approval-queue-item .status{white-space:normal;max-width:100%}@media (width<=700px){.approval-queue{padding:16px}}.open-purchase-orders .approval-queue-main>span{font-size:.9rem}.quotation-projects{gap:16px;min-width:0;display:grid}.quotation-project-row{align-items:flex-end;gap:12px;min-width:0;display:flex}.quotation-project-row>.field{flex:1;min-width:0;margin:0}.quotation-project-row select{max-width:100%}.quotation-project-row>button{flex-shrink:0}.quotation-details-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.quotation-details-grid textarea{width:100%;min-width:0;max-width:100%;min-height:160px;font:inherit;color:var(--text);background:var(--surface-subtle);border:1px solid var(--control-border);border-radius:var(--radius);resize:vertical;outline:none;padding-block:11px;padding-inline:12px;transition:border-color .15s,box-shadow .15s}.quotation-details-grid textarea::placeholder{color:var(--muted);opacity:1}.quotation-details-grid textarea:focus{border-color:var(--primary);box-shadow:0 0 0 3px color-mix(in srgb, var(--primary) 20%, transparent)}.quotation-details-grid textarea[aria-invalid=true]{border-color:var(--error)}.quotation-details-grid textarea:disabled{color:var(--muted);background:var(--bg);opacity:1;cursor:not-allowed}@media (width<=640px){.quotation-details-grid{grid-template-columns:minmax(0,1fr)}}.title-status{vertical-align:middle;margin-inline-start:8px;font-size:.9rem;font-weight:600}.approval-panel>p{overflow-wrap:anywhere;margin:0 0 8px}.approval-panel>p:not(.muted){background:var(--surface-subtle);border:1px solid var(--border);border-radius:12px;margin-block-end:16px;padding:12px 16px}.approval-panel>.muted{font-size:.875rem}.approval-panel>.alert{margin-block:16px 0}.reasons{margin:8px 0;padding-inline-start:20px}.approval-panel>.reasons{background:var(--surface-subtle);border:1px solid var(--border);border-radius:12px;margin-block:16px 0;padding:16px;padding-inline-start:36px}.vat-hint{margin:6px 0 0}.field input.total-field{font-variant-numeric:tabular-nums;color:var(--primary);border-color:color-mix(in srgb, var(--primary) 32%, var(--border));font-size:1.05rem;font-weight:700;background:color-mix(in srgb, var(--primary) 8%, var(--card))!important}.readonly-value{background:var(--surface-subtle);border:1px solid var(--border);border-radius:var(--radius);overflow-wrap:anywhere;min-width:0;margin:0;padding:12px 16px}.quotation-vendor,.quotation-project-name,.quotation-submitted-by{display:block}.quotation-vendor{min-width:25ch}.quotation-project-name{width:15ch}.quotation-submitted-by{width:25ch}.cell-clip{text-overflow:ellipsis;white-space:nowrap;max-width:22rem;overflow:hidden}.payment-request-remarks textarea{width:100%;min-width:0;max-width:100%;min-height:160px;font:inherit;color:var(--text);background:var(--surface-subtle);border:1px solid var(--control-border);border-radius:var(--radius);resize:vertical;padding-block:11px;padding-inline:12px;display:block}.payment-request-remarks textarea:focus{border-color:var(--primary);box-shadow:0 0 0 3px color-mix(in srgb, var(--primary) 20%, transparent);outline:none}.payment-request-remarks textarea[aria-invalid=true]{border-color:var(--error)}.payment-request-remarks textarea:disabled{color:var(--muted);background:var(--bg);opacity:1;cursor:not-allowed}.share-of-po{border:0;min-width:0;margin:0;padding:0}.share-of-po legend{margin-bottom:.25rem;padding:0;font-weight:600}.share-option{flex-wrap:wrap;align-items:center;gap:.25rem;margin:.25rem 0;display:flex}.share-option input[inputmode=decimal]{width:6rem}.approval-details{background:var(--surface-subtle);border:1px solid var(--border);border-radius:var(--radius);gap:16px;margin-block-start:16px;padding:16px;display:grid}.approval-details h3{margin:0 0 8px;font-size:.85rem;font-weight:600}.approval-notes{white-space:pre-wrap;overflow-wrap:anywhere;margin:0}.approval-proof,.approval-proof-selection{overflow-wrap:anywhere;min-width:0}.approval-proof-image{object-fit:contain;border:1px solid var(--border);border-radius:var(--radius);max-width:100%;max-height:320px;margin-block-end:8px;display:block}.approval-proof-form textarea{width:100%;min-width:0;font:inherit;color:var(--text);background:var(--surface-subtle);border:1px solid var(--control-border);border-radius:var(--radius);resize:vertical;padding:12px;display:block}.approval-proof-form textarea:focus{border-color:var(--primary);box-shadow:0 0 0 3px color-mix(in srgb, var(--primary) 20%, transparent);outline:none}.approval-proof-form textarea:disabled{color:var(--muted);background:var(--bg);cursor:not-allowed}.approval-proof-form .approval-field-hint{margin:8px 0}.approval-proof-actions{flex-wrap:wrap;gap:8px;display:flex}.approval-proof-selection{margin-block-start:16px}.approval-proof-selection p{margin:0}.pp-screen{background:#e9ecef;min-height:100vh;padding:16px}.pp-toolbar{justify-content:space-between;gap:8px;max-width:210mm;margin:0 auto 12px;display:flex}.pp-page{box-sizing:border-box;color:#111;background:#fff;max-width:210mm;min-height:297mm;margin:0 auto;padding:16mm 15mm 20mm;font:10.5pt/1.45 system-ui,Segoe UI,Arial,sans-serif;position:relative;overflow:hidden;box-shadow:0 2px 12px #00000026}.pp-watermark{letter-spacing:.08em;color:#c81e1e17;pointer-events:none;-webkit-user-select:none;user-select:none;place-items:center;font-size:110pt;font-weight:800;display:grid;position:absolute;inset:0;transform:rotate(-30deg)}.pp-header{border-bottom:2px solid #111;justify-content:space-between;align-items:flex-start;gap:16px;padding-bottom:10px;display:flex}.pp-logo{width:55mm;height:auto}.pp-title{text-align:right}.pp-title h1{margin:0;font-size:18pt}.pp-title p{margin:2px 0 0}.pp-number{font-size:13pt;font-weight:700}.pp-rejected{color:#b42318;border:1px solid #b42318;margin:10px 0 0;padding:6px 10px}.pp-section{break-inside:avoid;margin-top:14px}.pp-section h2{text-transform:uppercase;letter-spacing:.04em;border-bottom:1px solid #bbb;margin:0 0 6px;font-size:11pt}.pp-grid{grid-template-columns:1fr 1fr;gap:4px 24px;margin:0;display:grid}.pp-row{grid-template-columns:34mm 1fr;display:grid}.pp-row dt{color:#555}.pp-row dd{overflow-wrap:anywhere;margin:0}.pp-table{border-collapse:collapse;width:100%}.pp-table th,.pp-table td{text-align:left;border:1px solid #bbb;padding:4px 6px}.pp-table thead th{background:#f1f3f5}.pp-table .num{text-align:right}.pp-amounts{width:60%;margin-left:auto}.pp-amounts td{text-align:right}.pp-total th,.pp-total td{border-top:2px solid #111;font-weight:700}.pp-signatures{break-inside:avoid;grid-template-columns:repeat(3,1fr);gap:8mm;margin-top:22px;display:grid}.pp-sig{border:1px solid #999;padding:6px 8px}.pp-sig-title{margin-bottom:6px;font-weight:700}.pp-sig-field{grid-template-columns:18mm 1fr;align-items:end;min-height:7mm;display:grid}.pp-sig-field span:first-child{color:#555}.pp-sig-line{min-height:14mm}.pp-sig-field span:last-child{border-bottom:1px solid #999;min-height:1.2em}.pp-footer{color:#555;font-size:8.5pt;position:absolute;bottom:8mm;left:15mm;right:15mm}@page{size:A4;margin:0}@media print{.pp-screen{background:#fff;padding:0}.pp-toolbar{display:none}.pp-page{max-width:none;box-shadow:none;margin:0}.pp-page,.pp-watermark,.pp-table thead th{-webkit-print-color-adjust:exact;print-color-adjust:exact}}.po-payment-term-meta{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:8px 16px;display:flex}.po-payment-term-meta .hint{margin:0}.po-headline{align-items:center;gap:8px;display:flex}.po-progress{background:var(--border,#e2e5ee);border-radius:4px;max-width:480px;height:8px;overflow:hidden}.po-progress-bar{background:var(--success,#2e9d5b);height:100%}.po-money{max-width:560px}.po-money th{text-align:left;font-weight:400}.po-progress-small{max-width:160px;height:6px;margin-top:4px}.boq-summary{overflow-wrap:anywhere}.boq-form textarea{width:100%;min-width:0;max-width:100%;min-height:160px;font:inherit;color:var(--text);background:var(--surface-subtle);border:1px solid var(--control-border);border-radius:var(--radius);resize:vertical;padding-block:11px;padding-inline:12px;display:block}.boq-form textarea:focus{border-color:var(--primary);box-shadow:0 0 0 3px color-mix(in srgb, var(--primary) 20%, transparent);outline:none}.boq-form textarea[aria-invalid=true]{border-color:var(--error)}.boq-form textarea:disabled{color:var(--muted);background:var(--bg);opacity:1;cursor:not-allowed}:root{--mas-wait:#8a5a00}@media (prefers-color-scheme:dark){:root{--mas-wait:#f2c46d}}.mas-status{border:1px solid var(--border);white-space:nowrap;color:var(--muted);background:var(--surface-subtle);border-radius:999px;padding:2px 10px;font-size:.85rem;font-weight:600;display:inline-block}.mas-status-ok{color:var(--success);border-color:color-mix(in srgb, var(--success) 30%, var(--border));background:color-mix(in srgb, var(--success) 7%, var(--card))}.mas-status-bad{color:var(--error);border-color:color-mix(in srgb, var(--error) 30%, var(--border));background:color-mix(in srgb, var(--error) 7%, var(--card))}.mas-status-wait{color:var(--mas-wait);border-color:color-mix(in srgb, var(--mas-wait) 30%, var(--border));background:color-mix(in srgb, var(--mas-wait) 7%, var(--card))}.mas-revisions td,.mas-revisions th{vertical-align:top}.mas-comments{white-space:pre-line;overflow-wrap:anywhere}.permissions-toolbar{margin-bottom:16px}.permissions-toolbar .toolbar-row{gap:24px}.permissions-legend{background:var(--surface-subtle);border:1px solid var(--border);border-radius:var(--radius);color:var(--muted);flex-wrap:wrap;gap:16px 24px;margin-bottom:20px;padding:12px 16px;font-size:.8rem;display:flex}.legend-item{align-items:center;gap:6px;display:inline-flex}.legend-icon{font-size:.9rem}.legend-scope{background:var(--card);border:1px solid var(--border);border-radius:4px;padding:2px 6px;font-size:.7rem;font-weight:600}.permission-matrix{margin-bottom:80px}.permission-category{background:var(--card);border:1px solid var(--border);border-radius:16px;margin-bottom:16px;overflow:hidden}.permission-category-header{width:100%;font:inherit;text-align:start;color:var(--text);background:var(--surface-subtle);border:none;border-bottom:1px solid var(--border);cursor:pointer;align-items:center;gap:10px;padding:14px 18px;font-size:.9rem;font-weight:650;transition:background .15s;display:flex}.permission-category-header:hover{background:color-mix(in srgb, var(--primary) 5%, var(--surface-subtle))}.permission-category-chevron{width:16px;color:var(--muted);flex-shrink:0;font-size:.7rem}.permission-category-name{flex:1}.permission-category-count{color:var(--muted);font-size:.75rem;font-weight:500}.permission-table-wrap{overflow-x:auto}.permission-table{border-collapse:collapse;width:100%;min-width:600px;font-size:.85rem}.permission-table th,.permission-table td{text-align:center;border-bottom:1px solid var(--border);vertical-align:middle;padding:12px 14px}.permission-table thead th{color:var(--muted);background:var(--surface-subtle);text-transform:uppercase;letter-spacing:.05em;padding-block:10px;font-size:.7rem;font-weight:650}.permission-table tbody tr:last-child td{border-bottom:none}.permission-table tbody tr:hover{background:color-mix(in srgb, var(--primary) 3%, var(--card))}.permission-table .entity-col{text-align:start;min-width:180px}.permission-table .perm-col{width:120px}.entity-name{font-weight:500}.perm-edited{background:color-mix(in srgb, var(--primary) 8%, var(--card))!important}.scope-select-container{align-items:center;gap:4px;display:inline-flex;position:relative}.scope-select{width:90px;font:inherit;text-align:center;color:var(--text);background:var(--card);border:1px solid var(--control-border);cursor:pointer;border-radius:6px;padding:6px 8px;font-size:.8rem;font-weight:500;transition:border-color .15s,box-shadow .15s}.scope-select:hover:not(:disabled){border-color:var(--primary)}.scope-select:focus{border-color:var(--primary);box-shadow:0 0 0 2px color-mix(in srgb, var(--primary) 20%, transparent);outline:none}.scope-select:disabled{color:var(--muted);background:var(--bg);cursor:not-allowed}.scope-select--locked{background:var(--surface-subtle);border-style:dashed}.scope-lock-icon{cursor:help;font-size:.75rem;position:absolute;right:-18px}.unsaved-changes-bar{z-index:50;color:var(--muted);background:var(--card);border-top:1px solid var(--border);justify-content:space-between;align-items:center;gap:16px;padding:14px 24px;transition:transform .2s,background .2s;display:flex;position:fixed;bottom:0;left:0;right:0;transform:translateY(100%);box-shadow:0 -4px 20px #08122614}.unsaved-changes-bar.has-changes{color:var(--text);background:var(--surface-subtle);transform:translateY(0)}.changes-count{font-size:.9rem;font-weight:500}.changes-actions{gap:10px;display:flex}.diff-table-wrap{border:1px solid var(--border);border-radius:var(--radius);max-height:300px;margin-bottom:16px;overflow-y:auto}.diff-table{border-collapse:collapse;width:100%;font-size:.8rem}.diff-table th,.diff-table td{text-align:start;border-bottom:1px solid var(--border);padding:10px 12px}.diff-table th{color:var(--muted);background:var(--surface-subtle);text-transform:uppercase;letter-spacing:.04em;font-size:.7rem;font-weight:650;position:sticky;top:0}.diff-table tbody tr:last-child td{border-bottom:none}.diff-badge{border-radius:4px;padding:2px 8px;font-size:.7rem;font-weight:600;display:inline-block}.diff-badge.diff-granted{color:var(--success);background:color-mix(in srgb, var(--success) 12%, var(--card))}.diff-badge.diff-revoked{color:var(--error);background:color-mix(in srgb, var(--error) 12%, var(--card))}.diff-badge.diff-modified{color:var(--primary);background:color-mix(in srgb, var(--primary) 12%, var(--card))}.diff-scope{font-family:ui-monospace,SFMono-Regular,SF Mono,Menlo,monospace;font-size:.8rem;font-weight:500}.diff-warnings{background:color-mix(in srgb, var(--primary) 6%, var(--card));border:1px solid color-mix(in srgb, var(--primary) 20%, var(--border));border-radius:var(--radius);padding:12px 14px;font-size:.85rem;line-height:1.7}.diff-warnings p{margin:0 0 4px}.diff-warnings p:last-child{margin-bottom:0}@media (width<=700px){.permissions-toolbar .toolbar-row{flex-direction:column;align-items:stretch}.permissions-toolbar .filter{width:100%}.permissions-toolbar .filter select{flex:1}.permissions-legend{gap:10px 16px;font-size:.75rem}.unsaved-changes-bar{flex-direction:column;gap:12px;padding:16px}.changes-actions{width:100%}.changes-actions .btn{flex:1}}.audit-toolbar .filter input[type=date]{min-width:0;max-width:100%;min-height:46px;font:inherit;color:var(--text);background:var(--card);border:1px solid var(--border);border-radius:10px;padding:10px 12px}.audit-changes{margin:0;padding:0;list-style:none}.audit-field{color:var(--muted);font-weight:600}.audit-failed{color:var(--error);font-size:.75rem}.audit-more{justify-content:center;margin-top:16px;display:flex}@media (width<=600px){.audit-toolbar .filter input[type=date]{flex:1}.audit-table{min-width:0}.audit-table thead{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.audit-table tr{border-bottom:1px solid var(--border);padding:12px 16px;display:block}.audit-table tbody tr:last-child{border-bottom:none}.audit-table td{white-space:normal;border-bottom:none;grid-template-columns:84px minmax(0,1fr);gap:8px;padding:4px 0;display:grid}.audit-table td:before{content:attr(data-label);color:var(--muted);text-transform:uppercase;letter-spacing:.06em;font-size:.7rem;font-weight:650}.audit-table td.empty{display:block}.audit-table td.empty:before{content:none}}
