:root { font-family: Inter, ui-sans-serif, system-ui, sans-serif; color: #18243b; background: #f7f8fc; }
* { box-sizing: border-box; }
[hidden] { display: none !important; }
body { margin: 0; min-height: 100vh; }
.skip-link { background: #fff; border: 2px solid #1d5d96; border-radius: 6px; color: #173f68; font-weight: 700; left: 1rem; padding: .65rem .9rem; position: fixed; top: -5rem; z-index: 1000; }
.skip-link:focus { top: 1rem; }
.sr-only { height: 1px; margin: -1px; overflow: hidden; padding: 0; position: absolute; width: 1px; clip: rect(0,0,0,0); white-space: nowrap; }
button, input, select { font: inherit; }
button { cursor: pointer; }
button:focus-visible, a:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible, summary:focus-visible, [tabindex]:focus-visible { outline: 3px solid #2b6fbe; outline-offset: 2px; }
.topbar { align-items: center; background: #fff; border-bottom: 1px solid #dfe4ec; display: flex; justify-content: space-between; min-height: 68px; padding: 0 7vw; }
.brand { color: #172b4d; font-size: 1.05rem; font-weight: 700; letter-spacing: -.01em; }
.brand img { display: block; height: auto; max-height: 38px; width: 176px; }
.topbar-actions { align-items: center; display: flex; gap: 1rem; }
.app-topbar { background: #fff; box-shadow: 0 1px 0 #e9edf4; padding: 0 1.5rem; position: sticky; top: 0; z-index: 4; }
.app-logo { align-items: center; background: none; border: 0; display: flex; padding: .4rem .5rem; }
.app-logo img { display: block; height: auto; max-height: 38px; width: 176px; }
.topbar-search { align-items: center; background: #f3f5f9; border: 1px solid #e4e8f0; border-radius: 9px; color: #78849a; display: flex; flex: 1; gap: .5rem; max-width: 600px; margin: 0 3rem; padding: 0 .7rem; position: relative; transition: border-color .15s, box-shadow .15s; }
.topbar-search:focus-within { background: #fff; border-color: #8c79cc; box-shadow: 0 0 0 3px #735fc31a, 0 10px 26px #20335412; }
.topbar-search > .lucide-icon { flex: 0 0 auto; height: 17px; width: 17px; }
.topbar-search input { background: transparent; border: 0; flex: 1; min-height: 40px; min-width: 0; padding: 0; width: 100%; }
.topbar-search input:focus { outline: 0; }
.global-search-shortcut { background: #fff; border: 1px solid #dfe4ec; border-radius: 5px; color: #768298; font-size: .68rem; font-weight: 700; padding: .16rem .35rem; }
.global-search-dropdown { background: #fff; border: 1px solid #dfe4ec; border-radius: 12px; box-shadow: 0 18px 45px #182a4a2b; display: grid; gap: .2rem; left: 0; max-height: min(520px, calc(100vh - 90px)); overflow-y: auto; padding: .45rem; position: absolute; right: 0; top: calc(100% + .55rem); }
.global-search-result, .global-search-ai { align-items: center; background: transparent; border: 0; border-radius: 9px; color: #253551; display: grid; gap: .7rem; grid-template-columns: 34px minmax(0, 1fr) auto; min-height: 54px; padding: .55rem .65rem; text-align: left; width: 100%; }
.global-search-result:hover, .global-search-result.active { background: #f1effa; color: #4d3e8d; }
.global-search-result-icon { align-items: center; background: #eef1f7; border-radius: 8px; color: #536685; display: inline-flex; height: 34px; justify-content: center; width: 34px; }
.global-search-result-icon .lucide-icon { height: 17px; width: 17px; }
.global-search-result-copy { display: grid; gap: .12rem; min-width: 0; }
.global-search-result-copy strong, .global-search-result-copy small { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.global-search-result-copy strong { font-size: .83rem; }
.global-search-result-copy small { color: #77849a; font-size: .72rem; }
.global-search-ai { border-top: 1px solid #edf0f5; border-radius: 0 0 9px 9px; margin-top: .2rem; opacity: .78; }
.global-search-ai .global-search-result-icon { background: #eee9fb; color: #624da4; }
.global-search-message { color: #6c788c; font-size: .8rem; padding: .8rem; text-align: center; }
.global-search-message.error { color: #a53f45; }
.search-workspace { min-height: 520px; }
.search-page-heading { align-items: end; border-bottom: 1px solid #e4e8ef; display: flex; justify-content: space-between; margin-bottom: 1rem; padding-bottom: 1rem; }
.search-page-heading h1 { margin: .2rem 0; }
.search-page-heading p { color: #6d7a90; margin: 0; }
.search-page-results { display: grid; gap: .35rem; }
.search-page-results .global-search-result { border: 1px solid #e5e9f0; min-height: 64px; padding: .75rem; }
.icon-button { background: #fff; border: 1px solid transparent; border-radius: 7px; color: #53637d; font-size: 1.05rem; height: 36px; transition: background .16s, color .16s; width: 36px; }
.icon-button:hover { background: #f0f3f8; color: #263d66; }
.app-rail { background: linear-gradient(180deg, #172b4d, #10213d); bottom: 0; box-shadow: inset -1px 0 #ffffff13; display: flex; flex-direction: column; left: 0; overflow: hidden; padding: .8rem .55rem; position: fixed; top: 68px; transition: width .18s ease, box-shadow .18s ease; width: 68px; z-index: 3; }
.app-rail:hover, .app-rail:focus-within, .app-rail.pinned { box-shadow: 12px 0 28px #07142d38, inset -1px 0 #ffffff13; width: 270px; }
.app-rail.pinned + .app-main { margin-left: 270px; }
.rail-navigation { display: grid; gap: .35rem; min-height: 0; overflow-x: hidden; overflow-y: auto; scrollbar-color: #ffffff2b transparent; width: 100%; }
.rail-group { display: grid; gap: .25rem; min-width: 0; width: 100%; }
.rail-parent { align-items: center; background: transparent; border: 1px solid transparent; border-radius: 8px; color: #b5c1d3; display: grid; flex: 0 0 auto; gap: .7rem; grid-template-columns: 32px minmax(0, 1fr) 18px; height: 44px; min-width: 50px; padding: 0 .45rem; text-align: left; transition: .15s ease; width: 100%; }
.rail-parent:hover, .rail-group.open > .rail-parent { background: #ffffff12; border-color: #ffffff12; color: #fff; }
.rail-parent > .lucide-icon:first-child { height: 18px; justify-self: center; width: 18px; }
.rail-parent > .lucide-icon:last-child { height: 14px; opacity: 0; transform: rotate(-90deg); transition: .15s ease; width: 14px; }
.rail-group.open > .rail-parent > .lucide-icon:last-child { transform: rotate(0); }
.rail-parent-label { font-size: .86rem; font-weight: 720; opacity: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.rail-children { display: none; gap: .15rem; padding: .15rem 0 .45rem 2.5rem; }
.app-rail:hover .rail-group.open .rail-children, .app-rail:focus-within .rail-group.open .rail-children, .app-rail.pinned .rail-group.open .rail-children { display: grid; }
.app-rail:hover .rail-parent-label, .app-rail:focus-within .rail-parent-label, .app-rail.pinned .rail-parent-label,
.app-rail:hover .rail-parent > .lucide-icon:last-child, .app-rail:focus-within .rail-parent > .lucide-icon:last-child, .app-rail.pinned .rail-parent > .lucide-icon:last-child { opacity: 1; }
.rail-child-row { align-items: center; border-radius: 7px; display: grid; grid-template-columns: minmax(0, 1fr) 30px; min-height: 38px; position: relative; }
.rail-child-row:hover, .rail-child-row.active { background: #ffffff12; }
.rail-child-row.active::before { background: var(--rail-color, #8a74df); border-radius: 0 3px 3px 0; content: ""; height: 24px; left: -2.5rem; position: absolute; width: 3px; }
.rail-child-link { align-items: center; background: transparent; border: 0; color: #b8c3d4; display: grid; gap: .55rem; grid-template-columns: 22px minmax(0, 1fr); min-width: 0; padding: .45rem .25rem; text-align: left; }
.rail-child-row.active .rail-child-link, .rail-child-link:hover { color: #fff; }
.rail-child-icon { align-items: center; color: var(--rail-color, #a998ea); display: inline-flex; justify-content: center; }
.rail-child-icon .lucide-icon { height: 15px; width: 15px; }
.rail-child-label { font-size: .79rem; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.rail-favorite-toggle { align-items: center; background: transparent; border: 0; border-radius: 5px; color: #718099; display: inline-flex; height: 28px; justify-content: center; opacity: 0; padding: 0; width: 28px; }
.rail-child-row:hover .rail-favorite-toggle, .rail-favorite-toggle:focus, .rail-favorite-toggle.selected { opacity: 1; }
.rail-favorite-toggle:hover, .rail-favorite-toggle.selected { color: #f4c95d; }
.rail-favorite-toggle .lucide-icon { height: 14px; width: 14px; }
.rail-empty { color: #91a0b7; display: grid; font-size: .72rem; gap: .2rem; line-height: 1.35; padding: .55rem .4rem .8rem; }
.rail-empty strong { color: #bdc7d6; font-size: .76rem; }
.rail-pin { align-items: center; background: transparent; border: 0; border-top: 1px solid #ffffff14; color: #9cabc0; display: grid; gap: .7rem; grid-template-columns: 32px minmax(0, 1fr); margin-top: auto; min-height: 44px; padding: .65rem .45rem 0; text-align: left; width: 100%; }
.rail-pin:hover, .rail-pin[aria-pressed="true"] { color: #fff; }
.rail-pin .lucide-icon { height: 17px; justify-self: center; width: 17px; }
.rail-pin span { font-size: .74rem; opacity: 0; overflow: hidden; white-space: nowrap; }
.app-rail:hover .rail-pin span, .app-rail:focus-within .rail-pin span, .app-rail.pinned .rail-pin span { opacity: 1; }
.rail-notifications { align-items: center; background: transparent; border: 0; border-top: 1px solid #ffffff14; color: #b6c2d4; display: grid; gap: .7rem; grid-template-columns: 32px minmax(0, 1fr) auto; min-height: 44px; padding: .65rem .45rem; text-align: left; width: 100%; }
.rail-notifications:hover, .rail-notifications.active { background: #ffffff12; color: #fff; }
.rail-notifications > .lucide-icon { height: 18px; justify-self: center; width: 18px; }
.rail-notifications > span { font-size: .78rem; font-weight: 700; opacity: 0; overflow: hidden; white-space: nowrap; }
.rail-notifications > strong { background: #e24f65; border-radius: 999px; color: #fff; font-size: .65rem; line-height: 1; min-width: 18px; padding: .28rem .35rem; text-align: center; }
.app-rail:hover .rail-notifications > span, .app-rail:focus-within .rail-notifications > span, .app-rail.pinned .rail-notifications > span { opacity: 1; }
.rail-lower-actions { margin-top: auto; }
.rail-lower-actions + .rail-pin { margin-top: 0; }
.app-main { background: radial-gradient(circle at 90% 0%, #e9edff 0, transparent 30%), #f8f9fc; margin-left: 68px; max-width: none; min-height: calc(100vh - 68px); padding: 4.5rem clamp(2rem, 6vw, 7rem); }
.dashboard-empty { border-top: 1px solid #dce3ee; max-width: 760px; padding: 1.4rem 0 3rem; }
.team-panel { margin-top: 1.5rem; }
.account-summary { display: grid; gap: .8rem; margin: 0 0 2rem; }
.account-summary div { border-bottom: 1px solid #e8ecf2; display: grid; gap: 1rem; grid-template-columns: 120px 1fr; padding: 0 0 .8rem; }
.account-summary dt { color: #6a778c; font-size: .8rem; font-weight: 700; text-transform: uppercase; }
.account-summary dd { margin: 0; }
.danger-zone { border: 1px solid #efd0d3; border-radius: 10px; padding: 1.25rem; }
.danger-zone h2 { color: #8d343c; margin-bottom: .4rem; }
.delete-confirmation { margin-top: 1rem; }
.dashboard-empty h1, .panel h1 { font-size: clamp(1.9rem, 3vw, 2.65rem); font-weight: 650; letter-spacing: -.045em; margin-bottom: .65rem; }
.section-kicker { color: #6c56b6; font-size: .72rem; font-weight: 750; letter-spacing: .12em; margin-bottom: .75rem; text-transform: uppercase; }
.app-main .panel { border: 0; border-radius: 14px; box-shadow: 0 12px 30px #22395b0d; max-width: 1440px; padding: 2.25rem; }
.page-heading { align-items: start; display: flex; justify-content: space-between; margin-bottom: 1.5rem; }
.page-heading p { color: #64728a; margin: 0; }
.admin-tabs { border-bottom: 1px solid #e3e8f0; display: flex; gap: 1.5rem; margin: 0 0 1.5rem; }
.admin-tabs button { align-items: center; background: none; border: 0; color: #697790; display: flex; font-weight: 650; gap: .45rem; padding: .75rem .1rem; }
.admin-tabs button.active { border-bottom: 2px solid #6854b4; color: #332c61; }
.tab-count { align-items: center; background: #edf0f6; border-radius: 999px; color: #53617a; display: inline-flex; font-size: .72rem; justify-content: center; min-width: 1.55rem; padding: .12rem .4rem; }
.tab-toolbar { align-items: center; display: flex; gap: 1rem; justify-content: space-between; margin-bottom: 1rem; }
.admin-search-form { align-items: center; display: flex; flex: 1; gap: .55rem; max-width: 620px; }
.search-control { align-items: center; display: flex; flex: 1; position: relative; }
.search-control .lucide-icon { color: #748198; left: .75rem; position: absolute; }
.search-control input { padding-left: 2.2rem; }
.toolbar-actions { align-items: center; display: flex; flex: 1; flex-wrap: wrap; gap: .65rem; justify-content: flex-end; }
.toolbar-actions > select { min-width: 150px; width: auto; }
.admin-table-scroll { border: 1px solid #e4e8ef; border-radius: 10px; overflow-x: auto; }
.admin-table-scroll table { min-width: 980px; }
.admin-table-scroll th { background: #f8f9fb; white-space: nowrap; }
.admin-table-scroll tbody tr:hover { background: #fafbfe; }
.column-heading { align-items: center; display: flex; justify-content: space-between; min-width: max-content; }
.admin-column-trigger { align-items: center; background: transparent; border: 0; border-radius: 5px; color: #7b879a; display: inline-flex; justify-content: center; margin-left: .3rem; min-height: 26px; padding: .2rem; vertical-align: middle; }
.admin-column-trigger:hover, .admin-column-trigger:focus { background: #edf1f7; color: #3d4e69; }
.admin-column-trigger .lucide-icon { height: 14px; width: 14px; }
.icon-action { align-items: center; background: #f5f7fb; border: 1px solid #d9e0eb; border-radius: 8px; color: #425573; display: inline-flex; height: 34px; justify-content: center; padding: 0; transition: background .16s, border-color .16s, color .16s, transform .16s; width: 34px; }
.icon-action:hover { background: #ebe8fb; border-color: #c9c0ed; color: #5d45a6; transform: translateY(-1px); }
.row-actions { text-align: right; white-space: nowrap; }
.table-subtitle { color: #748198; display: block; font-size: .72rem; margin-top: .2rem; max-width: 270px; }
.empty-cell { color: #718098; padding: 2rem; text-align: center; }
.data-badge { border: 1px solid transparent; border-radius: 999px; display: inline-flex; font-size: .72rem; font-weight: 700; line-height: 1.2; padding: .25rem .5rem; white-space: nowrap; }
.status-active, .status-accepted { background: #e8f6ee; border-color: #c9ead6; color: #17613a; }
.status-blocked, .status-revoked, .status-deleted { background: #fbecee; border-color: #f2cfd4; color: #923642; }
.status-pending, .status-invited { background: #fff4da; border-color: #f6dfaa; color: #79560c; }
.schedule-health-on_track { background: #e8f6ee; border-color: #bfe2ce; color: #17613a; }
.schedule-health-at_risk { background: #fff0e8; border-color: #f1c8b1; color: #9a451c; }
.schedule-health-not_assessed, .schedule-health-not_applicable { background: #f0f1f4; border-color: #dcdee4; color: #626b79; }
.schedule-health-overview { background: linear-gradient(135deg,#fbfcff,#f4f7fb); border-color: #dce3ed; }
.schedule-health-heading { align-items: center; display: grid; gap: .85rem; grid-template-columns: auto 1fr auto; }
.schedule-health-heading h2, .schedule-health-heading p { margin: 0; }
.schedule-health-heading p { color: #6a7890; margin-top: .2rem; }
.schedule-health-icon { align-items: center; background: #ebe8fb; border-radius: 12px; color: #5d45a6; display: inline-flex; height: 42px; justify-content: center; width: 42px; }
.schedule-health-dates { display: grid; gap: .75rem; grid-template-columns: repeat(2,minmax(0,1fr)); margin: 1rem 0 0; }
.schedule-health-dates div { background: #fff; border: 1px solid #e1e6ee; border-radius: 10px; padding: .7rem .85rem; }
.schedule-health-dates dt { color: #748198; font-size: .75rem; }
.schedule-health-dates dd { font-weight: 700; margin: .2rem 0 0; }
.status-expired { background: #f0f1f4; border-color: #dcdee4; color: #626b79; }
.role-administrator { background: #eeeafd; border-color: #d9d0f7; color: #554095; }
.role-manager { background: #e7f1fb; border-color: #c9e0f3; color: #245d8a; }
.role-specialist { background: #f0f3f7; border-color: #dfe4eb; color: #4f5d71; }
.identity-local_identity { background: #f2f4f7; border-color: #dfe3e9; color: #586578; }
.identity-ad_identity { background: #e6f4fb; border-color: #c4e4f3; color: #176482; }
.event-badge { background: #eef1f8; border-color: #dbe1ec; color: #40516f; }
.filter-chips { align-items: center; display: flex; flex-wrap: wrap; gap: .45rem; margin: -.25rem 0 1rem; }
.filter-chip { align-items: center; background: #f0edfb; border: 1px solid #d8d0f2; border-radius: 999px; color: #554690; display: inline-flex; font-size: .78rem; gap: .35rem; padding: .3rem .55rem; }
.filter-chip .lucide-icon { height: 12px; width: 12px; }
.clear-filter-link { background: none; border: 0; color: #51688c; font-size: .8rem; text-decoration: underline; }
.scope-toggle { background: #f0f2f6; border-radius: 8px; display: flex; padding: .2rem; }
.scope-toggle button { background: transparent; border: 0; border-radius: 6px; color: #607087; display: flex; gap: .4rem; padding: .45rem .7rem; }
.scope-toggle button.active { background: #fff; box-shadow: 0 1px 4px #1d2d471c; color: #2e3f5c; font-weight: 700; }
.date-filter { align-items: center; display: flex; font-size: .75rem; gap: .35rem; white-space: nowrap; }
.date-filter input { min-height: 36px; padding: .35rem .45rem; width: 145px; }
.button, .button-secondary { align-items: center; display: inline-flex; gap: .4rem; justify-content: center; }
.pagination { align-items: center; color: #60708a; display: flex; flex-wrap: wrap; font-size: .86rem; gap: .75rem; justify-content: flex-end; margin-top: 1rem; }
.pagination label { align-items: center; display: flex; gap: .4rem; }.pagination select { min-height: 34px; padding: .35rem; width: auto; }
.modal-backdrop { align-items: center; background: #13233b75; display: flex; inset: 0; justify-content: center; overflow-y: auto; padding: 1.5rem; position: fixed; z-index: 8; }
.modal { background: #fff; border-radius: 14px; box-shadow: 0 24px 70px #0b152b55; margin: auto; max-width: 680px; max-height: calc(100vh - 3rem); overflow-y: auto; padding: 2rem; position: relative; width: 100%; }
.modal-close { background: none; border: 0; color: #66738a; font-size: 1.6rem; position: absolute; right: 1rem; top: .7rem; }
.modal form { display: grid; gap: .8rem; }.modal form label { display: grid; gap: .35rem; }
.name-fields { display: grid; gap: .8rem; grid-template-columns: 1fr 1fr; }
.modal input[readonly] { background: #f2f4f8; color: #66738a; cursor: not-allowed; }
.modal-secondary-actions { border-top: 1px solid #e6ebf2; display: flex; flex-wrap: wrap; gap: .55rem; margin-top: .4rem; padding-top: 1rem; }
.modal-actions { display: flex; gap: .75rem; justify-content: flex-end; margin-top: .75rem; }
.identity-summary { display: flex; flex-wrap: wrap; gap: .4rem; margin: -1rem 0 1.25rem; }
.detail-grid { display: grid; gap: .75rem; grid-template-columns: repeat(2, minmax(0, 1fr)); margin: .5rem 0 1rem; }
.detail-grid div { background: #f7f8fb; border-radius: 8px; min-width: 0; padding: .7rem; }
.detail-grid dt { color: #718098; font-size: .7rem; font-weight: 750; letter-spacing: .06em; margin-bottom: .3rem; text-transform: uppercase; }
.detail-grid dd { margin: 0; overflow-wrap: anywhere; }
.context-note { background: #f1f5fa; border-radius: 7px; color: #596980; font-size: .8rem; margin: 0; padding: .7rem; }
.confirmation-check { align-items: start; display: flex !important; font-weight: 500; gap: .6rem; }
.confirmation-check input { flex: 0 0 auto; min-height: 0; margin-top: .2rem; width: auto; }
.audit-json { background: #172238; border-radius: 8px; color: #e7edf8; font-size: .75rem; max-height: 240px; overflow: auto; padding: 1rem; white-space: pre-wrap; }
.mono { font-family: ui-monospace, SFMono-Regular, Menlo, monospace; font-size: .78rem; overflow-wrap: anywhere; }
.required-mark { color: #a63d40; margin-left: .2rem; }
.form-row small { color: #6f7c91; font-size: .75rem; }
.logout-button .lucide-icon { height: 15px; width: 15px; }
.lucide-icon { height: 16px; width: 16px; }.button .lucide-icon { vertical-align: -3px; margin-right: .35rem; }
.icon-secondary { align-items: center; background: #f7f8fb; border: 1px solid #dce3ed; border-radius: 7px; color: #3d4e69; display: inline-flex; gap: .4rem; min-height: 34px; padding: .4rem .6rem; }.icon-secondary:hover { background: #edf1f7; }.icon-secondary.danger { color: #a43f48; }
.field-error { color: #a43f48; font-size: .8rem; margin: -.35rem 0 .1rem; }.input-error { border-color: #c64b55; }
.language-menu-wrap { position: relative; }
.language-trigger .lucide-icon { height: 17px; width: 17px; }
.language-menu { background: #fff; border: 1px solid #dce3ed; border-radius: 9px; box-shadow: 0 10px 26px #17223824; display: grid; min-width: 132px; overflow: hidden; padding: .25rem; position: absolute; right: 0; top: calc(100% + .45rem); z-index: 20; }
.language-menu button { align-items: center; background: transparent; border: 0; border-radius: 6px; color: #40516d; display: flex; font: inherit; justify-content: space-between; min-height: 34px; padding: .4rem .55rem; text-align: left; white-space: nowrap; }
.language-menu button:hover, .language-menu button:focus, .language-menu button[aria-current="true"] { background: #f0edfb; color: #554493; }
.language-menu .lucide-icon { height: 14px; width: 14px; }
select, input { background: #fff; border: 1px solid #c7d0dd; border-radius: 6px; color: #172033; min-height: 42px; padding: .65rem .75rem; width: 100%; }
textarea { background: #fff; border: 1px solid #c7d0dd; border-radius: 6px; color: #172033; font: inherit; min-height: 92px; padding: .65rem .75rem; resize: vertical; width: 100%; }
select:focus, input:focus, button:focus { outline: 3px solid #b8d2ef; outline-offset: 2px; }
main { margin: 0 auto; max-width: 1080px; padding: 3.5rem 1.5rem; }
.auth-wrap { background: linear-gradient(#061b3a8c, #061b3a8c), url('/assets/auth-skyscrapers.png') center / cover no-repeat; display: grid; min-height: calc(100vh - 68px); place-items: center; padding: 2rem; }
.auth-wrap .card { background: #fffffff0; border: 1px solid #ffffffa6; border-radius: 10px; box-shadow: 0 18px 40px #06152f73; max-width: 440px; padding: 2rem; width: 100%; }
h1, h2 { color: #172b4d; letter-spacing: -.02em; margin: 0 0 1.25rem; }
h1 { font-size: 1.65rem; } h2 { font-size: 1.25rem; }
.form-row { display: grid; gap: .45rem; margin: 0 0 1rem; }
label { color: #33435e; font-size: .9rem; font-weight: 600; }
.button { background: #1d5d96; border: 1px solid #1d5d96; border-radius: 6px; color: #fff; min-height: 42px; padding: .65rem 1rem; }
.button:hover { background: #164a79; }
.button-secondary { background: #fff; border: 1px solid #aeb9c8; border-radius: 6px; color: #243a59; min-height: 38px; padding: .45rem .75rem; }
.button-danger { background: #a63d40; border-color: #a63d40; }
.link { background: none; border: 0; color: #1d5d96; padding: 0; text-decoration: underline; }
.form-actions { align-items: center; display: flex; justify-content: space-between; gap: 1rem; margin-top: 1.25rem; }
.notice { background: #eef5fb; border-left: 4px solid #3a78ae; color: #254766; margin: 0 0 1.25rem; padding: .8rem 1rem; }
.notice.error { background: #fbeeee; border-color: #b7484a; color: #7d292c; }
.dashboard-header { align-items: start; display: flex; justify-content: space-between; gap: 1.5rem; margin-bottom: 2rem; }
.panel { background: #fff; border: 1px solid #dfe4ec; border-radius: 10px; margin-bottom: 1.5rem; padding: 1.5rem; }
.admin-form { border-bottom: 1px solid #e7ebf0; display: grid; gap: .75rem; margin: 0 0 1.5rem; padding: 0 0 1.5rem; }
.admin-form h3 { margin: 0; }
.admin-form label { display: grid; gap: .4rem; }
.muted { color: #617088; }
.table-wrap { overflow-x: auto; }
#users-list { overflow: visible; }
table { border-collapse: collapse; min-width: 650px; width: 100%; }
th, td { border-bottom: 1px solid #e7ebf0; padding: .75rem; text-align: left; vertical-align: top; }
th { color: #526176; font-size: .78rem; text-transform: uppercase; }
.sort-column { background: none; border: 0; color: inherit; font: inherit; font-weight: 700; padding: 0; text-transform: inherit; }
.filter-row th { padding-top: .35rem; padding-bottom: .6rem; }.filter-row input { font-size: .8rem; min-height: 32px; padding: .35rem .45rem; }
.filter-row { display: none; }
.sort-column::after { content: ' ▾'; font-size: .8rem; opacity: .65; }
th { position: relative; }.column-menu { background: #fff; border: 1px solid #dce3ee; border-radius: 8px; box-shadow: 0 12px 26px #1b2b4430; display: grid; gap: .25rem; left: 0; max-height: 360px; min-width: 180px; overflow-y: auto; padding: .45rem; position: absolute; top: 100%; z-index: 4; }
.column-menu button { background: none; border: 0; border-radius: 5px; color: #34445e; padding: .45rem; text-align: left; }.column-menu button:hover { background: #f1f3f8; }.column-menu input { font-size: .82rem; min-height: 32px; padding: .35rem; }
.menu-label { border-top: 1px solid #e7ebf1; color: #78849a; font-size: .72rem; font-weight: 700; letter-spacing: .08em; margin-top: .2rem; padding: .65rem .45rem .15rem; text-transform: uppercase; }
.edit-user { align-items: center; display: inline-flex; font-size: 0; height: 34px; justify-content: center; min-height: 0; padding: 0; width: 34px; }
.edit-user::after { content: '✎'; font-size: 1.15rem; line-height: 1; }
.status { border-radius: 999px; display: inline-block; font-size: .78rem; font-weight: 600; padding: .2rem .55rem; }
.status-active { background: #e9f5ef; color: #21643d; }.status-deleted { background: #fbeeee; color: #8f3437; }

.project-workspace { min-height: 70vh; }
.project-list-toolbar { align-items: center; border-bottom: 1px solid #e7ebf1; display: flex; gap: 1rem; justify-content: space-between; margin: -.35rem 0 1rem; padding-bottom: 1rem; }
.project-list-toolbar .admin-search-form { flex: 1 1 340px; max-width: 520px; }
.project-list-toolbar .toolbar-actions { flex: 0 1 auto; }
.project-layout-toggle { background: #eef1f6; border: 1px solid #dfe4ec; border-radius: 9px; display: inline-flex; padding: 3px; }
.project-layout-toggle button { align-items: center; background: transparent; border: 0; border-radius: 6px; color: #65748a; display: inline-flex; font-size: .8rem; gap: .4rem; min-height: 32px; padding: .35rem .6rem; }
.project-layout-toggle button.active { background: #fff; box-shadow: 0 1px 4px #26395522; color: #4f3c94; font-weight: 700; }
.project-layout-toggle .lucide-icon { height: 15px; width: 15px; }
.project-kanban-board { display: flex; gap: 1rem; margin: .25rem -0.25rem 0; min-height: 480px; overflow-x: auto; padding: .25rem .25rem 1rem; scroll-snap-type: x proximity; }
.project-kanban-lane { background: #f5f7fa; border: 1px solid #e1e6ed; border-radius: 12px; flex: 0 0 286px; min-width: 0; overflow: hidden; scroll-snap-align: start; }
.project-kanban-lane > header { align-items: center; border-top: 3px solid var(--stage-color,#697790); display: flex; gap: .55rem; padding: .8rem .85rem .7rem; }
.project-kanban-lane > header h2 { flex: 1; font-size: .88rem; margin: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.project-kanban-lane .stage-dot { background: var(--stage-color,#697790); border-radius: 999px; height: 9px; width: 9px; }
.project-kanban-lane .lane-count { align-items: center; background: #e6eaf0; border-radius: 999px; color: #5f6d80; display: inline-flex; font-size: .7rem; font-weight: 700; height: 22px; justify-content: center; min-width: 22px; padding: 0 .35rem; }
.project-kanban-cards { display: grid; gap: .65rem; max-height: 68vh; overflow-y: auto; padding: 0 .65rem .75rem; }
.project-kanban-card { background: #fff; border: 1px solid #dfe4eb; border-radius: 10px; box-shadow: 0 2px 7px #25334d0a; color: #263750; display: block; padding: .8rem; text-align: left; transition: border-color .15s,box-shadow .15s,transform .15s; width: 100%; }
.project-kanban-card:hover, .project-kanban-card:focus-visible { border-color: #bcb2e7; box-shadow: 0 6px 16px #46367919; transform: translateY(-1px); }
.project-kanban-card > strong { display: block; font-size: .9rem; line-height: 1.35; }
.project-kanban-code { color: #7b8798; display: block; font-family: ui-monospace,SFMono-Regular,Menlo,monospace; font-size: .68rem; margin-top: .2rem; }
.project-kanban-card dl { border-top: 1px solid #edf0f4; display: grid; gap: .55rem; grid-template-columns: 1fr 1fr; margin: .7rem 0 0; padding-top: .65rem; }
.project-kanban-card dt { color: #7b8798; font-size: .66rem; line-height: 1.2; }
.project-kanban-card dd { font-size: .75rem; font-weight: 700; margin: .2rem 0 0; }
.project-kanban-health { margin-top: .65rem; }
.project-kanban-empty { color: #8490a1; font-size: .76rem; margin: .75rem .25rem; text-align: center; }
.project-table .table-link { font-weight: 720; }
.dynamic-project-table { min-width: 100%; width: max-content; }
.dynamic-project-table th { max-width: 280px; min-width: 135px; white-space: nowrap; }
.dynamic-project-table td { max-width: 340px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.dynamic-project-table .project-blank-row { height: 49px; }
.dynamic-project-table .project-blank-row:hover { background: transparent; }
.dynamic-project-table .project-blank-row td { color: transparent; pointer-events: none; }
.dynamic-project-table .project-empty-state-row { height: 49px; }
.dynamic-project-table .project-empty-state-row .empty-cell { padding: .75rem; text-align: left; }
.dynamic-project-table th:nth-last-child(-n+3) .column-menu { left: auto; right: 0; }
.project-column-filter-menu { min-width: 250px; overflow: visible; padding: .55rem; text-transform: none; }
.project-filter-fields { display: grid; gap: .55rem; padding: .35rem .45rem; }
.project-filter-fields label { color: #596981; display: grid; font-size: .74rem; font-weight: 650; gap: .3rem; letter-spacing: 0; text-transform: none; }
.project-filter-actions { align-items: center; border-top: 1px solid #e7ebf1; display: flex; gap: .5rem; justify-content: space-between; margin-top: .35rem; padding: .55rem .35rem 0; }
.project-filter-actions .button-secondary { min-height: 34px; padding: .4rem .65rem; }
.filter-active-dot { background: #7158c0; border-radius: 50%; display: inline-block; height: 6px; margin-left: .35rem; vertical-align: middle; width: 6px; }
.project-active-filters { align-items: center; background: #f4f1fc; border: 1px solid #e0d9f4; border-radius: 8px; color: #5a4a91; display: flex; font-size: .78rem; gap: .65rem; margin: -.25rem 0 .8rem; padding: .45rem .7rem; width: fit-content; }
.project-type-heading { align-items: center; display: flex; gap: .75rem; }
.table-link { background: none; border: 0; color: #315f9f; padding: 0; text-align: left; }
.table-link:hover { color: #563e9c; text-decoration: underline; }
.type-chip { align-items: center; display: inline-flex; font-size: .78rem; font-weight: 700; gap: .4rem; }
.type-chip::before { background: var(--type-color, #6854b4); border-radius: 50%; content: ""; height: .55rem; width: .55rem; }
.owner-config-panel { align-items: center; background: #f2effc; border: 1px solid #ddd5f4; border-radius: 9px; display: flex; flex-wrap: wrap; gap: .8rem; margin-top: 1.2rem; padding: .8rem 1rem; }
.owner-selection-stack { display: grid; gap: .9rem; margin: 1rem 0; }
.owner-selection-group { background: #faf9ff; border: 1px solid #e5e0f4; border-radius: 12px; padding: .9rem; }
.owner-selection-group h3 { margin: 0 0 .7rem; }
.owner-selection-heading { align-items: center; display: flex; justify-content: space-between; }
.owner-selection-heading h3 { margin-bottom: 0; }
.owner-list { display: grid; gap: .45rem; }
.owner-row { align-items: center; background: #fff; border: 1px solid #ece8f7; border-radius: 8px; display: grid; gap: .7rem; grid-template-columns: minmax(0, 1fr) auto; padding: .55rem .65rem; }
.owner-row span { display: grid; font-weight: 650; }
.owner-row small, .owner-directory-add small { color: var(--muted); font-weight: 400; }
.owner-search-label { display: grid; font-weight: 650; gap: .35rem; }
.owner-directory { margin-top: .7rem; max-height: 16rem; overflow: auto; }
.owner-directory-add { align-items: center; cursor: pointer; justify-content: space-between; text-align: left; width: 100%; }
.owner-directory-empty { grid-column: 1 / -1; margin: 0; padding: .5rem; }
#project-owner-removal-confirmation { margin-top: .8rem; }
.owner-removal-decision { background: linear-gradient(135deg, #f8f7ff, #fff); border: 1px solid #ded8f0; border-radius: 12px; box-shadow: 0 8px 20px #28324c0d; padding: .85rem; }
.owner-removal-heading { align-items: center; display: flex; gap: .65rem; }
.owner-removal-heading p { color: #68758a; font-size: .8rem; line-height: 1.35; margin: .15rem 0 0; }
.owner-removal-icon, .owner-access-option-icon { align-items: center; background: #ede9fb; border-radius: 9px; color: #59479f; display: inline-flex; flex: 0 0 auto; height: 2rem; justify-content: center; width: 2rem; }
.owner-removal-alert { align-items: center; background: #fff6e9; border: 1px solid #f0d39e; border-radius: 8px; color: #87570b; display: flex; font-size: .8rem; font-weight: 650; gap: .45rem; margin-bottom: .75rem; padding: .55rem .65rem; }
.owner-removal-alert .lucide-icon { height: 1rem; width: 1rem; }
.owner-access-options { display: grid; gap: .45rem; margin-top: .8rem; }
.owner-access-option { align-items: center; background: #fff; border: 1px solid #e4e8f0; border-radius: 9px; cursor: pointer; display: grid; gap: .6rem; grid-template-columns: auto auto minmax(0, 1fr); padding: .6rem; transition: border-color .15s ease, box-shadow .15s ease, transform .15s ease; }
.owner-access-option:hover { border-color: #afa3d4; box-shadow: 0 3px 10px #25365d12; transform: translateY(-1px); }
.owner-access-option.selected { background: #f5f2ff; border-color: #6d58b6; box-shadow: 0 0 0 2px #6d58b61c; }
.owner-access-option input { accent-color: #6551aa; margin: 0; }
.owner-access-option strong, .owner-access-option small { display: block; }
.owner-access-option strong { color: #263754; font-size: .82rem; }
.owner-access-option small { color: #718097; font-size: .73rem; line-height: 1.3; margin-top: .1rem; }
.owner-access-option.option-danger .owner-access-option-icon { background: #fff0f0; color: #a54242; }
.owner-access-option.option-danger.selected { background: #fff7f7; border-color: #d67979; box-shadow: 0 0 0 2px #d6797920; }
.owner-removal-actions { border-top: 1px solid #e7e2f2; margin: .8rem 0 0; padding-top: .75rem; }
.project-dates-editor { gap: 1rem !important; }
.project-title-row { align-items: center; display: flex; gap: .5rem; }
.project-title-row h1 { margin-bottom: .45rem; }
.project-summary-edit { margin-left: .1rem; }
.modal-action-spacer { flex: 1; }
.project-header-edit-grid { display: grid; gap: .8rem; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.project-header-edit-grid small { color: #758399; font-size: .73rem; font-weight: 450; line-height: 1.3; }
@media (max-width: 540px) { .project-header-edit-grid { grid-template-columns: 1fr; } }
.project-dates-editor > .muted { margin: -.25rem 0 .1rem; }
.project-dates-group { background: linear-gradient(135deg, #fafbff, #f7f5fd); border: 1px solid #e3e5f0; border-radius: 13px; padding: .9rem; }
.project-dates-group-heading { align-items: center; display: flex; gap: .65rem; margin-bottom: .8rem; }
.project-dates-group-icon { align-items: center; background: #e9ecfb; border-radius: 9px; color: #4c5997; display: inline-flex; flex: 0 0 auto; height: 2rem; justify-content: center; width: 2rem; }
.project-dates-group-icon.actual { background: #e8f5ef; color: #26704a; }
.project-dates-group-icon .lucide-icon { height: 1rem; width: 1rem; }
.project-dates-group-heading h3 { color: #2c3e5e; font-size: .9rem; margin: 0; }
.project-dates-group-heading p { color: #738098; font-size: .74rem; margin: .12rem 0 0; }
.project-date-fields { display: grid; gap: .75rem; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.project-date-fields label { color: #53627a; font-size: .76rem; font-weight: 700; letter-spacing: .02em; text-transform: uppercase; }
.project-date-fields input { background: #fff; font-size: .9rem; font-weight: 600; }
.project-date-reason { border-top: 1px solid #e8eaf1; padding-top: .9rem; }
.project-date-actions { border-top: 1px solid #e8eaf1; margin-top: 0; padding-top: .9rem; }
@media (max-width: 540px) { .project-date-fields { grid-template-columns: 1fr; } }
.project-column-control { position: relative; }
.project-saved-view-control { position: relative; }
.project-column-chooser { background: #fff; border: 1px solid #dce2ec; border-radius: 11px; box-shadow: 0 18px 45px #14243c38; color: #2d3e59; padding: 1rem; position: absolute; right: 0; top: calc(100% + .45rem); width: min(360px, calc(100vw - 2rem)); z-index: 6; }
.project-column-chooser > strong { font-size: 1rem; }.project-column-chooser > p { color: #6d7a90; font-size: .78rem; margin: .3rem 0 .8rem; }
.project-column-options { display: grid; gap: .15rem; max-height: 360px; overflow-y: auto; }
.project-column-options label { align-items: center; border-radius: 6px; display: grid; font-size: .82rem; font-weight: 550; gap: .5rem; grid-template-columns: 18px 1fr auto; padding: .42rem; }
.project-column-options label:hover { background: #f4f5f9; }
.project-column-options input { min-height: 0; width: auto; }.project-column-options small { background: #eeeafd; border-radius: 999px; color: #5d4999; font-size: .62rem; padding: .15rem .35rem; }
.project-column-actions { border-top: 1px solid #e6eaf0; display: flex; gap: .55rem; justify-content: flex-end; margin-top: .75rem; padding-top: .75rem; }
.project-saved-views-menu { min-width: 310px; width: min(380px, calc(100vw - 2rem)); }
.saved-project-view-list { display: grid; gap: .35rem; margin-top: .7rem; max-height: 320px; overflow-y: auto; }
.saved-project-view { align-items: center; background: #f7f8fb; border: 1px solid #e5e8ef; border-radius: 8px; display: grid; gap: .35rem; grid-template-columns: 1fr 34px; padding: .35rem; }
.saved-project-view-load { background: transparent; border: 0; color: #31425e; display: grid; gap: .15rem; padding: .45rem; text-align: left; }
.saved-project-view-load:hover { color: #5b449d; }
.saved-project-view-load small { color: #78859a; font-size: .7rem; }
.type-choice-grid { display: grid; gap: .8rem; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.type-choice { align-items: start; background: #f8f9fc; border: 1px solid #dfe4ed; border-radius: 10px; display: grid; gap: .25rem; grid-template-columns: 42px 1fr; min-height: 90px; padding: 1rem; text-align: left; }
.type-choice:hover { border-color: #ab9be0; box-shadow: 0 7px 18px #24365412; transform: translateY(-1px); }
.type-choice strong, .type-choice small { grid-column: 2; }.type-choice .type-icon { grid-column: 1; grid-row: 1 / span 2; }
.type-icon { align-items: center; background: color-mix(in srgb, var(--type-color, #6854b4) 14%, white); border-radius: 9px; color: var(--type-color, #6854b4); display: inline-flex; height: 38px; justify-content: center; width: 38px; }
.project-icon-picker { display: grid; gap: .45rem; grid-template-columns: repeat(4, minmax(0, 1fr)); }
.project-icon-picker label { cursor: pointer; display: block !important; }
.project-icon-picker input { height: 1px; opacity: 0; position: absolute; width: 1px; }
.project-icon-picker span { align-items: center; background: #f7f8fb; border: 1px solid #dfe4ed; border-radius: 9px; color: #50617c; display: flex; flex-direction: column; gap: .35rem; justify-content: center; min-height: 72px; padding: .55rem; text-align: center; transition: .15s ease; }
.project-icon-picker span small { font-size: .68rem; line-height: 1.1; }
.project-icon-picker input:checked + span { background: #eeeafd; border-color: #8b74d7; box-shadow: 0 0 0 2px #8b74d726; color: #5b449d; }
.project-icon-picker input:focus-visible + span { outline: 3px solid #b8d2ef; outline-offset: 2px; }
.type-admin-grid { display: grid; gap: .8rem; }
.type-admin-card { align-items: center; border: 1px solid #e0e5ed; border-radius: 10px; display: grid; gap: 1rem; grid-template-columns: 44px 1fr 42px; padding: 1rem; }
.type-admin-card h3 { margin: 0 0 .25rem; }.type-admin-card p { color: #66748a; margin: 0 0 .45rem; }.type-admin-card h3 .mono { color: #7b879a; font-size: .72rem; font-weight: 500; margin-left: .4rem; }
.passport-type-modal { max-width: 1040px; }
.passport-config-form fieldset { border: 1px solid #e0e5ed; border-radius: 10px; margin: .35rem 0; padding: 1rem; }
.passport-config-form legend { color: #31415c; font-size: .86rem; font-weight: 800; padding: 0 .35rem; }
.passport-config-form code { background: #f0edf9; border-radius: 4px; color: #513e92; font-size: .72rem; padding: .1rem .25rem; }
.passport-impact-note { align-items: flex-start; background: #f3f0fb; border: 1px solid #ddd5f5; border-radius: 9px; color: #4d3b89; display: flex; gap: .7rem; padding: .8rem; }
.passport-impact-note > .lucide-icon { flex: 0 0 auto; margin-top: .1rem; }
.passport-impact-note span { display: grid; gap: .18rem; }.passport-impact-note small { color: #716493; line-height: 1.4; }
.passport-type-editor-heading { align-items: flex-start; display: flex; justify-content: space-between; padding-right: 2rem; }
.passport-type-editor-heading h2 { margin: .2rem 0; }.passport-type-editor-heading p { color: #748197; margin: 0; }
.passport-field-assignment-list { border: 1px solid #e4e8ef; border-radius: 9px; display: grid; margin-top: .7rem; max-height: 320px; overflow-y: auto; }
.passport-field-assignment { align-items: center; border-bottom: 1px solid #edf0f4; display: grid; gap: .6rem; grid-template-columns: minmax(190px, 1fr) minmax(130px, .6fr) auto auto; padding: .65rem .75rem; }
.passport-field-assignment:last-child { border-bottom: 0; }.passport-field-assignment > .checkbox-row { margin: 0; }
.passport-field-assignment .checkbox-row span { display: grid; }.passport-field-assignment small { color: #7b879a; font-size: .7rem; }
.compact-check { align-items: center; display: inline-flex !important; font-size: .74rem; gap: .35rem !important; white-space: nowrap; }.compact-check input { min-height: auto; width: auto; }
.passport-type-card .type-icon { color: #5e4aa0; }
.project-meta { align-items: center; display: flex; flex-wrap: wrap; gap: .55rem; }
.project-form fieldset, .type-config-form fieldset { border: 1px solid #e0e5ed; border-radius: 9px; margin: .5rem 0; padding: 1rem; }
.project-form legend, .type-config-form legend { color: #31415c; font-size: .86rem; font-weight: 750; padding: 0 .35rem; }
.icon-picker-fieldset { border: 1px solid #e0e5ed; border-radius: 9px; margin: .5rem 0; padding: 1rem; }
.icon-picker-fieldset legend { color: #31415c; font-size: .86rem; font-weight: 750; padding: 0 .35rem; }
.form-grid-three { display: grid; gap: .8rem; grid-template-columns: repeat(3, minmax(0, 1fr)); }
.choice-grid { display: grid; gap: .45rem; grid-template-columns: repeat(2, minmax(0, 1fr)); max-height: 230px; overflow-y: auto; }
.choice-card { align-items: center; background: #f8f9fb; border: 1px solid #e5e8ee; border-radius: 7px; display: flex !important; gap: .55rem !important; padding: .55rem; }
.choice-card input { flex: 0 0 auto; min-height: auto; width: auto; }.choice-card span { display: grid; font-size: .82rem; }.choice-card small { color: #77849a; font-size: .7rem; }
.project-custom-fields { display: grid; gap: .8rem; grid-template-columns: repeat(2, minmax(0, 1fr)); }.project-custom-fields label { display: grid; gap: .35rem; }
.project-detail-heading { align-items: start; border-bottom: 1px solid #e4e8ef; display: flex; justify-content: space-between; margin-bottom: 1.5rem; padding-bottom: 1.5rem; }
.project-detail-heading h1 { font-size: clamp(2rem, 3vw, 3rem); margin: .3rem 0 .7rem; }
.project-code { color: #6a56b4; font-size: .78rem; font-weight: 800; letter-spacing: .1em; margin-top: 1.3rem; text-transform: uppercase; }
.project-detail-tabs { border-bottom: 1px solid #e4e8ef; display: flex; gap: .25rem; margin: 0 0 1.5rem; overflow-x: auto; }
.project-detail-tabs button { background: transparent; border: 0; border-bottom: 3px solid transparent; color: #68778d; font: inherit; font-size: .88rem; font-weight: 750; padding: .7rem 1rem; white-space: nowrap; }
.project-detail-tabs button:hover { background: #f5f4fa; color: #3d2d76; }.project-detail-tabs button[aria-selected="true"] { border-bottom-color: #6a56b4; color: #4c398d; }
.project-layout { align-items: start; display: grid; gap: 1.5rem; grid-template-columns: minmax(0, 1fr) 260px; }
.project-section { border-bottom: 1px solid #e8ebf1; margin-bottom: 1.5rem; padding-bottom: 1.5rem; }.project-section:last-child { border: 0; }
.project-section h2 { align-items: center; display: flex; gap: .45rem; margin-bottom: .65rem; }.project-goal { color: #223652; font-size: 1.08rem; font-weight: 650; line-height: 1.55; }
.project-sidebar { display: grid; gap: .8rem; position: sticky; top: 92px; }.project-sidebar section { background: #f7f8fb; border: 1px solid #e5e8ef; border-radius: 9px; padding: 1rem; }.project-sidebar h3 { color: #607089; font-size: .72rem; letter-spacing: .08em; margin: 0 0 .65rem; text-transform: uppercase; }.project-sidebar-heading { align-items: start; display: flex; justify-content: space-between; }.project-sidebar-heading h3 { margin-top: .45rem; }.project-sidebar-heading .icon-action { height: 28px; width: 28px; }.project-sidebar ul { display: grid; gap: .65rem; list-style: none; margin: 0; padding: 0; }.project-sidebar li { display: grid; font-size: .85rem; }.project-sidebar small { color: #768399; }.project-sidebar dl { display: grid; grid-template-columns: 1fr 1fr; margin: 0; }.project-sidebar dt { color: #758298; font-size: .75rem; }.project-sidebar dd { margin: 0; text-align: right; }
.stage-track { display: flex; gap: 3px; overflow-x: auto; }.stage-track span { background: #eef1f5; border-top: 3px solid var(--stage-color); color: #647188; flex: 1; font-size: .76rem; min-width: 100px; padding: .65rem; text-align: center; }.stage-track span.current { background: color-mix(in srgb, var(--stage-color) 14%, white); color: #263650; font-weight: 750; }
.transition-actions { display: flex; flex-wrap: wrap; gap: .5rem; margin-top: .75rem; }
.simple-list { display: grid; gap: .6rem; list-style: none; margin: .8rem 0 0; padding: 0; }.simple-list li { align-items: center; border-bottom: 1px solid #edf0f4; display: flex; justify-content: space-between; padding-bottom: .55rem; }
.inline-form { display: flex; gap: .6rem; margin-bottom: 1rem; }.inline-form input { flex: 1; }
.comment-list { display: grid; gap: .7rem; }.comment-list article { background: #f7f8fb; border-radius: 8px; padding: .8rem; }.comment-list time { color: #788499; font-size: .72rem; margin-left: .5rem; }.comment-list p { margin: .45rem 0 0; }
.project-activity { display: grid; gap: 0; margin: 1rem 0 0; }.activity-event { display: grid; gap: .85rem; grid-template-columns: 34px minmax(0, 1fr); min-height: 76px; position: relative; }.activity-event:not(:last-child)::before { background: #dbe0ea; content: ''; height: calc(100% - 28px); left: 16px; position: absolute; top: 28px; width: 2px; }.activity-marker { align-items: center; background: #ece8fa; border: 3px solid #fff; border-radius: 50%; color: #6250a6; display: flex; height: 34px; justify-content: center; position: relative; width: 34px; z-index: 1; }.activity-marker .lucide-icon { height: 16px; width: 16px; }.activity-attachment .activity-marker { background: #e7f3f1; color: #277468; }.activity-update .activity-marker { background: #eef1f6; color: #596c86; }.activity-content { padding: .15rem 0 1.1rem; }.activity-event-heading { align-items: baseline; display: flex; gap: .65rem; justify-content: space-between; }.activity-event-heading strong { color: #2e3b52; font-size: .9rem; }.activity-event-heading time, .activity-actor { color: #738097; font-size: .75rem; }.activity-actor { display: block; margin-top: .2rem; }.activity-content p { color: #3e4b60; margin: .45rem 0 0; white-space: pre-wrap; }.project-tasks-blank { min-height: 220px; }
.rail-direct-group .rail-parent.active { background: #ebe7f8; color: #4f3c91; }
.task-workspace-heading { align-items: end; display: flex; gap: 1rem; justify-content: space-between; margin-bottom: 1rem; }
.task-workspace-heading h1 { margin: .15rem 0; }.task-workspace-heading p { color: #728096; margin: 0; }
.task-built-in-views { border-bottom: 1px solid #e2e7ee; display: flex; gap: .2rem; margin-bottom: 1rem; overflow-x: auto; }
.task-built-in-views button { background: transparent; border: 0; border-bottom: 3px solid transparent; color: #6b788d; font-weight: 700; padding: .65rem .8rem; white-space: nowrap; }
.task-built-in-views button.active { border-bottom-color: #6751ad; color: #503c91; }
.task-toolbar { margin-bottom: .85rem; }.task-mode-switch { background: #eef1f5; border-radius: 8px; display: inline-flex; padding: 3px; }
.task-mode-switch button { align-items: center; background: transparent; border: 0; border-radius: 6px; color: #65738a; display: inline-flex; font-weight: 700; gap: .3rem; padding: .4rem .55rem; }
.task-mode-switch button.active { background: #fff; box-shadow: 0 2px 7px #2535531a; color: #503c91; }
.task-mode-switch .lucide-icon { height: 15px; width: 15px; }
.task-person { display: grid; min-width: 150px; }.task-person small { color: #778499; font-size: .7rem; }
.task-progress { background: #e7eaf0; border-radius: 999px; display: inline-block; height: 6px; margin-right: .35rem; overflow: hidden; vertical-align: middle; width: 70px; }
.task-progress span { background: linear-gradient(90deg,#755ec1,#4e8fa5); display: block; height: 100%; }.task-overdue { color: #b33d3d; font-weight: 750; }
.task-filter-options { display: grid; gap: .35rem; padding: .45rem .3rem; }.task-filter-options label { align-items: center; display: flex; gap: .45rem; }
.task-filter-options input { min-height: 0; width: auto; }.task-column-menu { min-width: 230px; }
.task-editor-form { display: grid; gap: .9rem; }.task-form-grid { display: grid; gap: .75rem; grid-template-columns: repeat(2,minmax(0,1fr)); }
.task-editor-form textarea { min-height: 90px; }.task-relation-field { border: 1px solid #e1e5ed; border-radius: 10px; display: grid; gap: .45rem; max-height: 150px; overflow-y: auto; padding: .75rem; }
.task-relation-field legend { color: #53627a; font-size: .78rem; font-weight: 750; padding: 0 .3rem; }.task-relation-field label { align-items: center; display: flex; font-weight: 550; gap: .45rem; }
.task-relation-field input { min-height: 0; width: auto; }.task-saved-menu { z-index: 15; }
.task-gantt-scroll { border: 1px solid #e2e6ed; border-radius: 10px; overflow-x: auto; }.task-gantt { min-width: var(--gantt-width); padding: .75rem; }
.task-gantt-head { color: #758299; display: flex; font-size: .72rem; justify-content: space-between; margin: 0 0 .5rem 150px; }
.task-gantt-row { align-items: center; background: transparent; border: 0; border-top: 1px solid #edf0f4; display: grid; grid-template-columns: 140px minmax(560px,1fr); min-height: 44px; padding: 0; text-align: left; width: 100%; }
.task-gantt-row strong { color: #40516d; font-size: .75rem; padding-right: .5rem; }.task-gantt-track { background-image: repeating-linear-gradient(90deg,#edf0f4 0,#edf0f4 1px,transparent 1px,transparent 4%); height: 28px; position: relative; }
.task-gantt-track i { background: #6b55b1; border-radius: 5px; color: #fff; font-size: .68rem; font-style: normal; left: 0; max-width: calc(100% - 2px); overflow: hidden; padding: .3rem .45rem; position: absolute; text-overflow: ellipsis; top: 3px; white-space: nowrap; }
.task-gantt-track i.gantt-completed { background: #378073; }.task-gantt-track i.gantt-blocked { background: #b55d4d; }.task-gantt-track i.gantt-cancelled { background: #8a92a0; }
.task-unscheduled { background: #f7f8fb; border-radius: 9px; display: grid; gap: .45rem; margin-top: .8rem; padding: .8rem; }.task-unscheduled h3 { margin: 0 0 .2rem; }
.help-workspace { max-width: 1240px; }
.help-hero { align-items: center; background: linear-gradient(130deg,#182d51,#2f4e73 60%,#6c58ac); border-radius: 18px; color: #fff; display: flex; justify-content: space-between; overflow: hidden; padding: clamp(1.5rem,4vw,3rem); position: relative; }
.help-hero::after { border: 1px solid #ffffff24; border-radius: 50%; content: ''; height: 260px; position: absolute; right: -75px; top: -95px; width: 260px; }
.help-hero h1 { color: #fff; font-size: clamp(2rem,4vw,3.3rem); margin: .3rem 0 .6rem; }
.help-hero p { color: #dbe5f3; font-size: 1.03rem; margin: 0; max-width: 620px; }
.help-hero > .lucide-icon { color: #ffffffd9; height: 76px; margin-right: 4%; position: relative; width: 76px; z-index: 1; }
.help-action-grid { display: grid; gap: 1rem; grid-template-columns: repeat(2,minmax(0,1fr)); margin: 1.25rem 0 2rem; }
.help-action-card { background: #fff; border: 1px solid #dfe5ee; border-radius: 15px; box-shadow: 0 8px 24px #2135520b; color: #2e405c; display: grid; gap: .45rem; grid-template-columns: 52px minmax(0,1fr); min-height: 180px; padding: 1.35rem; text-align: left; transition: transform .15s ease,box-shadow .15s ease,border-color .15s ease; }
.help-action-card:hover { border-color: #ac9bdc; box-shadow: 0 14px 32px #21355218; transform: translateY(-2px); }
.help-action-card > span { align-items: center; background: #ece8fa; border-radius: 12px; color: #604ba4; display: flex; grid-row: 1 / span 3; height: 48px; justify-content: center; width: 48px; }
.help-action-card.support > span { background: #e5f3f3; color: #287172; }
.help-action-card > span .lucide-icon { height: 23px; width: 23px; }
.help-action-card strong { font-size: 1.15rem; }
.help-action-card p { color: #6d7b90; line-height: 1.5; margin: 0; }
.help-action-card em { align-items: center; color: #5d489f; display: flex; font-size: .78rem; font-style: normal; font-weight: 750; gap: .25rem; }
.help-action-card em .lucide-icon { height: 14px; transform: rotate(-90deg); width: 14px; }
.help-recent { border-top: 1px solid #e4e8ef; padding-top: 1.5rem; }
.support-request-list { display: grid; gap: .55rem; }
.support-request-list article { align-items: center; background: #f8f9fc; border: 1px solid #e5e9f0; border-radius: 10px; display: flex; justify-content: space-between; padding: .85rem 1rem; }
.support-request-list article > div { display: grid; gap: .2rem; }.support-request-list article small { color: #768398; }
.manual-heading { align-items: start; display: grid; gap: 1.2rem; grid-template-columns: auto 1fr; margin-bottom: 1.25rem; }
.manual-heading .button-secondary .lucide-icon { transform: rotate(90deg); }
.manual-heading h1 { margin: .2rem 0 .35rem; }.manual-heading p { color: #6d7a8f; margin: 0; }
.manual-search { align-items: center; background: #f5f7fa; border: 1px solid #e0e5ed; border-radius: 12px; display: flex; gap: .55rem; margin-bottom: 1.25rem; padding: .75rem; }
.manual-search .search-control { flex: 1; }
.manual-layout { align-items: start; display: grid; gap: 1.25rem; grid-template-columns: 220px minmax(0,1fr); }
.manual-toc { background: #f8f9fc; border: 1px solid #e3e7ee; border-radius: 12px; display: grid; padding: .5rem; position: sticky; top: 86px; }
.manual-toc a { align-items: center; border-radius: 7px; color: #53627a; display: flex; font-size: .8rem; font-weight: 700; justify-content: space-between; padding: .55rem .65rem; text-decoration: none; }
.manual-toc a:hover { background: #ece8fa; color: #564293; }.manual-toc small { background: #e9edf3; border-radius: 999px; padding: .1rem .35rem; }
.manual-content { display: grid; gap: 1rem; }
.manual-content > section { border: 1px solid #e0e5ed; border-radius: 13px; padding: 1.2rem; scroll-margin-top: 86px; }
.manual-section-heading { align-items: center; display: flex; gap: .8rem; margin-bottom: .8rem; }
.manual-section-heading > span { align-items: center; background: #ece8fa; border-radius: 10px; color: #5c489e; display: flex; height: 40px; justify-content: center; width: 40px; }
.manual-section-heading > span .lucide-icon { height: 20px; width: 20px; }
.manual-section-heading h2 { margin: 0; }.manual-section-heading p { color: #758298; margin: .15rem 0 0; }
.manual-content details { border-top: 1px solid #eaedf2; padding: .8rem 0; }
.manual-content details:last-child { padding-bottom: 0; }.manual-content summary { align-items: center; color: #344761; cursor: pointer; display: flex; font-weight: 750; justify-content: space-between; list-style: none; }
.manual-content summary .lucide-icon { height: 15px; transition: transform .15s ease; width: 15px; }.manual-content details[open] summary .lucide-icon { transform: rotate(180deg); }
.manual-content details p { color: #536279; line-height: 1.65; margin: .65rem 0 0; }
.support-request-form,.support-admin-form { display: grid; gap: .85rem; }
.support-request-form textarea,.support-admin-form textarea { resize: vertical; }
.support-context-preview { align-items: center; background: #f1f4f8; border: 1px solid #dfe5ed; border-radius: 10px; color: #53637b; display: flex; gap: .7rem; padding: .7rem .8rem; }
.support-context-preview .lucide-icon { color: #5d4a9f; flex: 0 0 auto; height: 20px; width: 20px; }.support-context-preview span { display: grid; min-width: 0; }.support-context-preview small { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.support-success-icon { align-items: center; background: #dff3e9; border-radius: 50%; color: #247351; display: flex; height: 54px; justify-content: center; width: 54px; }.support-success-icon .lucide-icon { height: 28px; width: 28px; }
.support-admin-title { align-items: start; display: flex; gap: 1rem; justify-content: space-between; }.support-admin-title h2 { margin-bottom: .3rem; }.support-admin-title p { color: #718096; margin: 0 0 1rem; }
.support-admin-context { background: #f7f8fb; border: 1px solid #e2e6ed; border-radius: 11px; display: grid; gap: .8rem; margin-bottom: 1rem; padding: 1rem; }
.support-admin-context section h3 { font-size: .78rem; letter-spacing: .04em; margin: 0 0 .35rem; text-transform: uppercase; }.support-admin-context section p { line-height: 1.55; margin: 0; white-space: pre-wrap; }
.support-wrap { overflow-wrap: anywhere; }.support-counts { flex-wrap: wrap; }
.support-new { background: #fff0d7; color: #8b5c09; }.support-in_progress { background: #e8edff; color: #4256a0; }.support-resolved { background: #dff3e8; color: #256d4c; }.support-closed { background: #e9edf2; color: #59687c; }
@media (max-width: 760px) { .help-action-grid,.manual-layout { grid-template-columns: 1fr; }.manual-toc { position: static; }.help-hero > .lucide-icon { display: none; }.manual-heading { grid-template-columns: 1fr; }.manual-search { align-items: stretch; flex-direction: column; } }
.tag-list { display: flex; flex-wrap: wrap; gap: .35rem; }.tag-list span { background: #ece8fa; border-radius: 999px; color: #554493; font-size: .72rem; padding: .25rem .5rem; }
.sharing-list { border: 1px solid #e2e6ed; border-radius: 9px; display: grid; max-height: 340px; overflow-y: auto; }.sharing-list label { align-items: center; border-bottom: 1px solid #edf0f4; display: grid !important; gap: .75rem !important; grid-template-columns: 1fr 150px; padding: .6rem .75rem; }.sharing-list label:last-child { border: 0; }.sharing-list span { display: grid; }.sharing-list small { color: #758298; font-weight: 400; }
.type-config-form { display: grid; gap: 1rem; }.type-config-form > .project-section { background: #fff; border: 1px solid #e1e6ee; border-radius: 11px; margin: 0; padding: 1.35rem; }
.section-title-row { align-items: start; display: flex; justify-content: space-between; }.section-title-row p { color: #6f7d92; margin: -.8rem 0 1rem; }
.config-row { align-items: center; border-bottom: 1px solid #edf0f4; display: grid; gap: .55rem; padding: .55rem 0; }.field-config-row { grid-template-columns: 1.2fr 1fr 1fr 105px 36px; }.stage-config-row { grid-template-columns: minmax(150px,1.5fr) minmax(110px,1fr) 70px minmax(85px,auto) minmax(150px,auto) 36px; }
.next-step-policy-grid { display: grid; gap: .75rem; grid-template-columns: repeat(auto-fit,minmax(230px,1fr)); }
.next-step-overview { border-left: 4px solid #6a56b4; }
.next-step-overview .section-title-row { align-items: start; margin-bottom: 1rem; }
.next-step-overview .section-title-row h2 { margin-bottom: .2rem; }
.next-step-overview .section-title-row p { color: #68778d; margin: 0; }
.next-step-overview-value,.next-step-empty { align-items: center; background: linear-gradient(135deg,#f7f5ff,#fbfbfd); border: 1px solid #ded8f4; border-radius: 12px; display: flex; gap: .8rem; padding: 1rem; }
.next-step-overview-value > .lucide-icon,.next-step-empty > .lucide-icon { color: #6a56b4; flex: 0 0 auto; height: 22px; width: 22px; }
.next-step-overview-value > div,.next-step-empty > div { display: grid; flex: 1; gap: .18rem; }
.next-step-overview-value span,.next-step-empty span { color: #68778d; font-size: .82rem; }
.next-step-empty.required { background: #fff7ed; border-color: #fdba74; }
.next-step-empty.required > .lucide-icon { color: #c2410c; }
.next-step-current { align-items: center; background: #f7f5ff; border: 1px solid #ded8f4; border-radius: 10px; display: flex; gap: .65rem; margin-bottom: .85rem; padding: .75rem; }
.next-step-current div { display: grid; gap: .15rem; }
.next-step-current small { color: #68778d; }
.next-step-candidate-list { border: 1px solid #dfe3e9; border-radius: 10px; display: grid; margin: .75rem 0; max-height: 330px; overflow: auto; }
.next-step-candidate { align-items: center; border-bottom: 1px solid #edf0f4; cursor: pointer; display: flex; gap: .7rem; margin: 0; padding: .8rem; }
.next-step-candidate:last-child { border-bottom: 0; }
.next-step-candidate:hover { background: #f8f7fc; }
.next-step-candidate > span { align-items: center; display: flex; flex: 1; gap: .65rem; }
.next-step-candidate > span > span { display: grid; flex: 1; gap: .12rem; }
.next-step-candidate small { color: #68778d; }
.next-step-table-value { align-items: center; display: inline-flex; gap: .45rem; }
.next-step-table-value > .lucide-icon,.next-step-task-marker .lucide-icon { color: #6a56b4; height: 15px; width: 15px; }
.next-step-table-value span { display: grid; gap: .1rem; }
.next-step-table-value small { color: #68778d; font-size: .72rem; }
.next-step-task-marker { display: inline-flex; margin-right: .35rem; vertical-align: middle; }
.next-step-task-row { background: #fbfaff; }
.compact-check { align-items: center; display: flex !important; font-size: .78rem; gap: .4rem !important; }.compact-check input { min-height: 0; width: auto; }
.code-editor { background: #172238; color: #dfe7f4; font-family: ui-monospace, SFMono-Regular, Menlo, monospace; min-height: 190px; }
.publish-bar { align-items: end; background: #f2effb; border: 1px solid #d9d0f3; border-radius: 11px; display: grid; gap: .75rem; grid-template-columns: 1fr auto auto; padding: 1rem; position: sticky; bottom: 1rem; z-index: 1; }.publish-bar #config-result { grid-column: 1 / -1; }
@media (max-width: 800px) {
  .topbar { padding: 0 .75rem; }
  .brand img { max-height: 34px; width: 157px; }
  .topbar-actions { gap: .35rem; }
  .app-logo { overflow: hidden; padding: .35rem; width: 44px; }
  .app-logo img { height: 36px; max-height: 36px; max-width: none; object-fit: cover; object-position: left center; width: 167px; }
  .logout-button span { display: none; }
  .topbar-search { margin: 0 .4rem; max-width: none; padding: 0 .5rem; }
  .global-search-shortcut { display: none; }
  .global-search-dropdown { left: -48px; right: -148px; }
  .app-rail { width: 44px; }
  .app-rail:hover, .app-rail:focus-within, .app-rail.pinned { width: min(270px, calc(100vw - 44px)); }
  .app-rail.pinned + .app-main { margin-left: min(270px, calc(100vw - 44px)); }
  .rail-parent { grid-template-columns: 26px minmax(0, 1fr) 18px; min-width: 32px; padding: 0; }
  .rail-pin { grid-template-columns: 26px minmax(0, 1fr); padding-left: 0; }
  .app-main { margin-left: 44px; padding: 1.5rem .75rem; }
  .app-main .panel { padding: 1.25rem; }
  main { padding: 2rem 1rem; }
  .admin-tabs { gap: .8rem; overflow-x: auto; }
  .tab-toolbar { align-items: stretch; flex-direction: column; }
  .admin-search-form { align-items: stretch; flex-wrap: wrap; max-width: none; }
  .search-control { flex-basis: 100%; }
  .toolbar-actions { justify-content: flex-start; }
  .date-filter { align-items: start; flex-direction: column; }
  .name-fields, .detail-grid { grid-template-columns: 1fr; }
  .pagination { justify-content: flex-start; }
  .modal { padding: 1.35rem; }
  .project-list-toolbar { align-items: stretch; flex-direction: column; }
  .project-list-toolbar .admin-search-form { flex-basis: auto; max-width: none; }
  .project-list-toolbar .toolbar-actions { overflow-x: auto; padding-bottom: .25rem; }
  .project-layout, .form-grid-three, .project-custom-fields { grid-template-columns: 1fr; }
  .task-form-grid { grid-template-columns: 1fr; }
  .passport-field-assignment { grid-template-columns: 1fr; }
  .project-sidebar { position: static; }
  .choice-grid, .type-choice-grid { grid-template-columns: 1fr; }
  .project-icon-picker { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .config-row { grid-template-columns: 1fr; }.publish-bar { grid-template-columns: 1fr; position: static; }
}
.access-explanation {
  align-items: center;
  background: color-mix(in srgb, var(--brand, #635bff) 9%, white);
  border: 1px solid color-mix(in srgb, var(--brand, #635bff) 22%, white);
  border-radius: 999px;
  color: #4b4674;
  display: inline-flex;
  font-size: .78rem;
  gap: .35rem;
  max-width: 28rem;
  overflow: hidden;
  padding: .3rem .55rem;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.access-explanation svg {
  height: .9rem;
  width: .9rem;
}

.access-check-panel {
  display: grid;
  gap: 1.25rem;
}

.access-check-panel form {
  align-items: end;
  display: grid;
  gap: 1rem;
  grid-template-columns: minmax(14rem, 1fr) minmax(14rem, 1fr) auto;
}

.access-check-result {
  background: #f7f8fc;
  border: 1px solid #dde1ec;
  border-radius: 1rem;
  padding: 1rem 1.25rem;
}

@media (max-width: 760px) {
  .access-check-panel form {
    grid-template-columns: 1fr;
  }
}

/* Phase 4 unified Process Definitions */
.pd-admin-hero{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;padding:24px;border:1px solid #d9e4e7;border-radius:18px;background:linear-gradient(135deg,#f5fbfa 0%,#fff 58%,#fff8ed 100%);margin-bottom:18px}.pd-admin-hero h2{margin:.2rem 0 .4rem;font-size:1.7rem;color:#163f45}.pd-admin-hero p{max-width:760px;margin:0;color:#577078}.pd-policy-strip{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:14px;padding:14px 18px;border:1px solid #d9e4e7;border-radius:14px;background:#fff;margin-bottom:18px}.pd-policy-strip>span{display:grid;place-items:center;width:42px;height:42px;border-radius:12px;background:#e5f5f2;color:#14756d}.pd-policy-strip div{display:flex;flex-direction:column}.pd-policy-strip small{color:#71868c}.pd-role-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.pd-role-grid select{min-height:150px}.pd-map-shell{border:1px solid #d9e4e7;border-radius:16px;background:#f7fafb;overflow:hidden}.pd-map-viewport{overflow:auto;min-height:430px;background-image:radial-gradient(#bfd1d5 1px,transparent 1px);background-size:20px 20px}.pd-map-canvas{position:relative;min-width:100%;min-height:430px}.pd-map-canvas svg{position:absolute;inset:0;width:100%;height:100%;overflow:visible}.pd-map-canvas svg line{stroke:#78959b;stroke-width:2}.pd-map-canvas svg path{fill:#78959b}.pd-map-canvas svg text{font-size:12px;fill:#526b71;text-anchor:middle}.pd-map-node{position:absolute;width:180px;min-height:76px;display:grid;grid-template-columns:34px 1fr;grid-template-rows:auto auto;column-gap:10px;align-items:center;text-align:left;padding:12px;border:1px solid #cbdadd;border-left:4px solid #31877e;border-radius:12px;background:#fff;color:#24454b;box-shadow:0 5px 14px rgba(24,66,72,.08);cursor:pointer}.pd-map-node>span{grid-row:1/3;display:grid;place-items:center;width:34px;height:34px;border-radius:9px;background:#e6f4f2;color:#14756d}.pd-map-node strong{font-size:.86rem}.pd-map-node small{color:#71868c}.pd-map-node:hover,.pd-map-node.selected{border-color:#14756d;box-shadow:0 0 0 3px rgba(20,117,109,.13),0 8px 20px rgba(24,66,72,.12)}.pd-map-node.type-start,.pd-map-node.type-end{border-left-color:#d77b29}.pd-map-node.type-approval{border-left-color:#7656b5}.pd-map-node.type-human_decision,.pd-map-node.type-automatic_decision,.pd-map-node.type-exclusive_split,.pd-map-node.type-inclusive_split{border-left-color:#c79b25}.pd-map-node.type-automation{border-left-color:#4a6fad}.pd-map-node.type-parallel_split,.pd-map-node.type-parallel_join{border-left-color:#9c5a8f}.pd-detail-chips{display:flex;flex-wrap:wrap;gap:8px}.pd-detail-chips span{padding:6px 9px;border-radius:999px;background:#eef4f5;color:#466269;font-size:.8rem}.pd-viewer-heading{display:flex;justify-content:space-between;gap:24px;margin-bottom:18px}.pd-viewer-heading>div:last-child{display:flex;flex-direction:column;align-items:flex-end;gap:8px}.pd-viewer-heading h2{margin:.25rem 0}.pd-viewer-heading p{max-width:760px;color:#60767c}.pd-viewer-modal{width:min(1240px,calc(100vw - 42px))}.pd-viewer-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:16px 0}.pd-viewer-summary article{display:flex;flex-direction:column;padding:16px;border:1px solid #d9e4e7;border-radius:12px;background:#fff}.pd-viewer-summary strong{font-size:1.5rem;color:#164e4a}.pd-viewer-summary span{color:#6d8187;font-size:.83rem}.pd-empty-state{grid-column:1/-1;text-align:center;padding:60px 20px;border:1px dashed #bfd1d5;border-radius:18px;background:#fbfdfd}.pd-empty-state>span{display:inline-grid;place-items:center;width:52px;height:52px;border-radius:15px;background:#e5f5f2;color:#14756d}.pd-config-grid{display:grid;gap:14px;margin-bottom:24px}.pd-config-card{padding:16px;border:1px solid #d9e4e7;border-radius:14px;background:#fff}.pd-config-card-heading{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px}.pd-config-card-heading>div{display:flex;align-items:center;gap:9px}.pd-node-editor-card{border-left:4px solid #31877e}.pd-node-bindings{margin-top:12px;padding-top:12px;border-top:1px solid #e4ecee}.pd-guidance-card{display:flex;gap:16px;padding:20px;border:1px solid #cfe2df;border-radius:16px;background:#f3faf8}.pd-guidance-card>span{display:grid;place-items:center;flex:0 0 46px;height:46px;border-radius:13px;background:#dff2ee;color:#14756d}.pd-guidance-card h3{margin:0 0 6px}.pd-guidance-card p{margin:.25rem 0;color:#5d7379}.pd-governance-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:22px}.pd-governance-summary article{display:flex;flex-direction:column;gap:5px;padding:16px;border:1px solid #d9e4e7;border-radius:14px;background:#fff}.pd-governance-summary span,.pd-governance-summary small{color:#71868c}.pd-proposal-list{display:grid;gap:14px}.pd-proposal-list>article{padding:16px;border:1px solid #d9e4e7;border-radius:14px;background:#fff}.pd-decision-list{display:flex;flex-wrap:wrap;gap:7px;margin:12px 0}.pd-decision-list span,.pd-version-list span{padding:7px 10px;border-radius:9px;background:#f0f5f6;color:#506a70;font-size:.82rem}.pd-comment-box{display:flex;gap:8px;margin-top:12px}.pd-comment-box input{flex:1}.pd-version-list{display:flex;flex-wrap:wrap;gap:8px}.pd-version-list span{display:flex;gap:8px}.pd-catalogue-card{min-height:250px}.process-validation-summary li.warning{color:#8a5e13}.process-validation-summary li.error{color:#a53939}

.pd-decision-comment{display:grid;gap:6px;margin:12px 0;color:#344054;font-size:.84rem;font-weight:700}.pd-decision-comment input{font-weight:400}
@media (max-width:900px){.pd-admin-hero,.pd-viewer-heading{flex-direction:column}.pd-admin-hero .toolbar-actions{justify-content:flex-start}.pd-policy-strip{grid-template-columns:auto 1fr}.pd-policy-strip>div:last-child{grid-column:2}.pd-role-grid,.pd-governance-summary,.pd-viewer-summary{grid-template-columns:1fr 1fr}.pd-viewer-heading>div:last-child{align-items:flex-start}}
@media (max-width:620px){.pd-role-grid,.pd-governance-summary,.pd-viewer-summary{grid-template-columns:1fr}.pd-map-viewport{min-height:360px}.pd-comment-box{flex-direction:column}}

.personal-settings .project-detail-tabs .lucide-icon { height: 15px; width: 15px; }
.personal-settings .project-detail-tabs button { align-items: center; display: inline-flex; gap: .45rem; }
.approval-delegation-card { background: linear-gradient(145deg, #fafbff, #f5f3fc); border: 1px solid #e2def2; border-radius: 14px; display: grid; gap: 1.15rem; margin: .5rem 0; padding: 1.35rem; }
.delegation-intro { align-items: flex-start; display: flex; gap: .85rem; }.delegation-icon { align-items: center; background: #e8e3f8; border: 1px solid #d6cdef; border-radius: 10px; color: #5a469b; display: inline-flex; flex: 0 0 auto; height: 36px; justify-content: center; width: 36px; }.delegation-icon .lucide-icon { height: 18px; width: 18px; }
.delegation-intro h2 { margin: .05rem 0 .35rem; }.delegation-intro p { color: #64718a; line-height: 1.45; margin: 0; max-width: 700px; }
.approval-delegation-card form { display: grid; gap: .9rem; }.delegation-section { background: #fff; border: 1px solid #e4e8f0; border-radius: 10px; display: grid; gap: .7rem; padding: .9rem; }.delegation-section-heading { align-items: center; display: flex; gap: .65rem; }.delegation-section-heading > span { align-items: center; background: #5b469f; border-radius: 999px; color: #fff; display: inline-flex; flex: 0 0 auto; font-size: .72rem; font-weight: 800; height: 21px; justify-content: center; width: 21px; }.delegation-section-heading strong { color: #32415b; }.delegation-section-heading p { color: #748198; font-size: .8rem; margin: .12rem 0 0; }
.delegate-search-label { align-items: center; display: flex !important; position: relative; }.delegate-search-label .lucide-icon { color: #77849a; left: .7rem; position: absolute; }.delegate-search-label input { padding-left: 2.15rem; }
.delegation-schedule { background: #fff; border: 1px solid #e4e8f0; border-radius: 10px; padding: .9rem; }.delegation-schedule .section-title-row { align-items: flex-start; margin-bottom: .7rem; }.delegation-schedule h3 { color: #32415b; font-size: .95rem; margin: 0 0 .15rem; }.delegation-schedule .muted { font-size: .78rem; margin: 0; }.delegation-list { display: grid; gap: .45rem; }.delegation-list-item { align-items: center; border: 1px solid #e3e7ee; border-radius: 8px; display: grid; gap: .7rem; grid-template-columns: auto minmax(0, 1fr) auto; padding: .65rem .7rem; }.delegation-list-status { border-radius: 999px; font-size: .68rem; font-weight: 800; letter-spacing: .03em; padding: .28rem .48rem; text-transform: uppercase; }.delegation-list-status.active { background: #e8f6ed; color: #247245; }.delegation-list-status.planned { background: #f1edfc; color: #5a469b; }.delegation-list-person { display: grid; gap: .08rem; min-width: 0; }.delegation-list-person strong { color: #37455d; }.delegation-list-person small, .delegation-list-person span, .delegation-list-person em { color: #718098; font-size: .76rem; overflow-wrap: anywhere; }.delegation-list-person em { color: #637087; font-style: normal; }.delegation-list-actions { display: flex; gap: .35rem; }.delegation-list-empty { padding: .5rem 0; }
.delegate-result-list { border: 1px solid #e2e6ed; border-radius: 8px; display: grid; max-height: 242px; overflow-y: auto; }.delegate-result { align-items: center; background: #fff; border: 0; border-bottom: 1px solid #edf0f4; color: #40516d; display: flex; justify-content: space-between; min-height: 47px; padding: .55rem .7rem; text-align: left; }.delegate-result:last-child { border-bottom: 0; }.delegate-result:hover, .delegate-result.selected { background: #f3f0fc; color: #51408d; }.delegate-result span { display: grid; gap: .1rem; }.delegate-result small, .delegate-selected small { color: #738097; font-size: .74rem; font-weight: 500; }.delegate-result .lucide-icon { height: 15px; width: 15px; }.delegate-selected { align-items: center; background: #eff8f3; border: 1px solid #cce8d6; border-radius: 8px; color: #236641; display: flex; justify-content: space-between; padding: .5rem .6rem; }.delegate-selected > span { align-items: center; display: flex; flex-wrap: wrap; gap: .35rem; }.delegate-selected small { flex-basis: 100%; margin-left: 1.3rem; }.delegate-selected .lucide-icon { height: 14px; width: 14px; }.delegate-selected .icon-action { background: #fff; height: 27px; width: 27px; }.delegate-empty { font-size: .8rem; margin: 0; padding: .35rem 0; }
.personal-account-panel { display: grid; gap: 1rem; }.personal-profile-hero { align-items: center; background: linear-gradient(120deg, #f2f0fa, #f8fafc 65%); border: 1px solid #e4e2f0; border-radius: 14px; display: flex; gap: 1rem; padding: 1.25rem; }.personal-avatar { align-items: center; background: linear-gradient(145deg, #725bb7, #44337f); border: 3px solid #fff; border-radius: 13px; box-shadow: 0 5px 13px #4e3d8d38; color: #fff; display: inline-flex; flex: 0 0 auto; font-size: 1.05rem; font-weight: 800; height: 50px; justify-content: center; letter-spacing: .04em; width: 50px; }.personal-profile-copy { min-width: 0; }.personal-profile-copy .section-kicker { margin-bottom: .15rem; }.personal-profile-copy h2 { font-size: 1.2rem; margin: 0; }.personal-profile-copy > p { color: #65738a; margin: .2rem 0 .55rem; overflow-wrap: anywhere; }.personal-profile-copy > div:last-child { align-items: center; display: flex; flex-wrap: wrap; gap: .45rem; }.profile-source { align-items: center; color: #64728a; display: inline-flex; font-size: .78rem; gap: .3rem; }.profile-source .lucide-icon { height: 13px; width: 13px; }
.account-settings-grid { display: grid; gap: 1rem; grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); }
.account-settings-section { background: #fff; border: 1px solid #e2e6ed; border-radius: 11px; display: grid; gap: .8rem; padding: 1rem; }.account-settings-heading { align-items: flex-start; display: flex; gap: .65rem; }.account-settings-heading > span { align-items: center; background: #eef2f8; border-radius: 8px; color: #4b5f7e; display: inline-flex; height: 31px; justify-content: center; width: 31px; }.account-settings-heading .lucide-icon { height: 16px; width: 16px; }.account-settings-heading h2 { font-size: 1rem; margin: .05rem 0 .2rem; }.account-settings-heading p { color: #748198; font-size: .82rem; margin: 0; }.account-team-list { align-content: flex-start; display: flex; flex-wrap: wrap; gap: .45rem; }.account-team-list .person-chip { background: #f5f3fb; border-color: #dfd8f2; color: #504086; }.account-team-list .person-chip small { color: #75699b; }.account-password-card { padding: 1.15rem; }.account-password-form { align-items: end; display: grid; gap: .75rem; grid-template-columns: repeat(3, minmax(0, 1fr)); max-width: none; }.account-password-form label { display: grid; gap: .35rem; }.account-password-form #account-password-error, .account-password-form .modal-actions { grid-column: 1 / -1; }
.language-choice-group { display: grid; gap: .45rem; }.language-choice-group button { align-items: center; background: #fafbfe; border: 1px solid #e0e5ed; border-radius: 8px; color: #54637b; display: grid; gap: .55rem; grid-template-columns: 28px 1fr auto; min-height: 43px; padding: .5rem .65rem; text-align: left; }.language-choice-group button strong { align-items: center; background: #e8edf5; border-radius: 5px; color: #53627a; display: inline-flex; font-size: .68rem; height: 23px; justify-content: center; }.language-choice-group button:hover, .language-choice-group button.active { background: #f2effb; border-color: #cec4ec; color: #4d3d8d; }.language-choice-group button.active strong { background: #dcd4f3; color: #4d3d8d; }.language-choice-group .lucide-icon { height: 14px; width: 14px; }
@media (max-width: 760px) { .account-settings-grid, .account-password-form { grid-template-columns: 1fr; }.personal-profile-hero { align-items: flex-start; }.account-password-card { padding: 1rem; } }
.approval-summary { display: flex; flex-wrap: wrap; gap: .65rem; align-items: center; margin: -.25rem 0 1.25rem; color: var(--muted); }
.approval-route { margin: 1.25rem 0; padding: 1rem; border: 1px solid var(--line); border-radius: 14px; background: #fafbff; }
.approval-step { display: grid; grid-template-columns: minmax(10rem, 1fr) auto; gap: .65rem; padding: .85rem 0; border-bottom: 1px solid var(--line); }
.approval-step:last-child { border-bottom: 0; }
.approval-step > div { grid-column: 1 / -1; display: flex; flex-wrap: wrap; gap: .5rem; }
.person-chip { display: inline-flex; align-items: center; gap: .35rem; padding: .35rem .6rem; border-radius: 999px; background: white; border: 1px solid var(--line); font-size: .85rem; }
.approval-decision-actions { display: flex; flex-wrap: wrap; gap: .65rem; margin: 1rem 0; }
.approval-comments { display: grid; gap: .6rem; margin: .75rem 0; }
.approval-comments p { margin: 0; padding: .75rem; border-radius: 12px; background: #f7f8fc; }
.approval-comments small { display: block; color: var(--muted); margin-top: .25rem; }

.process-blueprint-gallery { display: grid; gap: 1rem; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); }
.process-blueprint-card { appearance: none; background: linear-gradient(145deg, #fff, #f8f9fe); border: 1px solid var(--line); border-radius: 16px; box-shadow: 0 8px 24px #25365b0a; color: inherit; cursor: pointer; display: grid; font: inherit; gap: .65rem; padding: 1.15rem; text-align: left; transition: border-color .16s ease, box-shadow .16s ease, transform .16s ease; width: 100%; }
.process-blueprint-card:hover { border-color: #bdb3dc; box-shadow: 0 12px 28px #25365b14; transform: translateY(-2px); }
.process-blueprint-card:focus-visible { outline: 3px solid #6b55b12b; outline-offset: 2px; }
.process-blueprint-card > div:first-child { align-items: center; display: flex; justify-content: space-between; }
.process-blueprint-card h2, .process-blueprint-card p { margin: 0; }
.process-blueprint-card > .button-secondary { justify-self: start; }
.process-viewer-modal { max-height: calc(100vh - 2rem); max-width: 1100px; overflow: auto; width: min(1100px, calc(100vw - 2rem)); }
.process-map-shell { min-width: 0; }
.process-map-toolbar { align-items: center; display: flex; gap: .75rem; justify-content: space-between; margin: 1rem 0 .55rem; }
.process-map-toolbar > span { align-items: center; color: var(--muted); display: inline-flex; font-size: .83rem; gap: .4rem; }
.process-map-toolbar .lucide-icon { height: 15px; width: 15px; }
.process-map { align-items: start; background: radial-gradient(circle at 1px 1px, #dfe4ef 1px, transparent 0); background-size: 22px 22px; border: 1px solid var(--line); border-radius: 16px; display: flex; gap: .65rem; margin: 1rem 0; min-height: 190px; overflow-x: auto; padding: 1.25rem; }
.process-map-toolbar + .process-map { margin-top: 0; }
.process-stage-column { display: grid; flex: 0 0 220px; gap: .7rem; }
.process-stage-node { align-items: center; background: #fff; border: 2px solid #dfe5ef; border-radius: 14px; box-shadow: 0 5px 16px #22375a0d; color: inherit; display: flex; font: inherit; gap: .7rem; min-height: 68px; padding: .75rem; text-align: left; width: 100%; }
.process-map.interactive .process-stage-node, .process-map.interactive .process-path-node { cursor: pointer; transition: border-color .15s ease, box-shadow .15s ease, transform .15s ease; }
.process-map.interactive .process-stage-node:hover, .process-map.interactive .process-path-node:hover { border-color: #9d8dce; box-shadow: 0 7px 18px #44367d18; transform: translateY(-1px); }
.process-map.interactive .process-stage-node:focus-visible, .process-map.interactive .process-path-node:focus-visible, .process-map.interactive .selected { border-color: #6b55b1; box-shadow: 0 0 0 4px #6b55b119; outline: 0; }
.process-stage-node.current { border-color: #6b55b1; box-shadow: 0 0 0 4px #6b55b115; }
.process-stage-node > span { align-items: center; background: #ece9fa; border-radius: 50%; color: #59469c; display: flex; font-weight: 750; height: 30px; justify-content: center; width: 30px; }
.process-stage-node strong, .process-stage-node small { display: block; }
.process-stage-node small { color: var(--muted); margin-top: .15rem; }
.process-map-arrow { align-self: 2rem; color: #8c97aa; font-size: 1.4rem; padding-top: 1.2rem; }
.process-path-stack { display: grid; gap: .55rem; }
.process-path-node { background: #f9f8ff; border: 1px solid #ddd8f2; border-radius: 12px; color: inherit; display: grid; font: inherit; gap: .35rem; padding: .65rem; text-align: left; width: 100%; }
.process-path-node > div { align-items: center; display: flex; gap: .4rem; }
.process-path-node .lucide-icon { color: #6854b4; height: 16px; width: 16px; }
.process-path-node small, .process-path-node > span { color: var(--muted); font-size: .75rem; }
.process-map-detail { background: linear-gradient(145deg, #fff, #faf9fe); border: 1px solid #dad4ed; border-radius: 15px; box-shadow: 0 8px 22px #303e5b0b; margin-top: .75rem; padding: 1.1rem; }
.process-map-detail[hidden] { display: none; }
.process-detail-heading { align-items: flex-start; display: flex; gap: 1rem; justify-content: space-between; }
.process-detail-heading h3 { margin: .1rem 0 0; }
.process-detail-description { color: #5f6d83; margin: .65rem 0 1rem; white-space: pre-wrap; }
.process-detail-grid { margin: 0 0 1rem; }
.process-read-instructions { display: grid; gap: .55rem; }
.process-read-instructions h4, .process-stage-paths h4 { color: #3a4860; margin: .25rem 0; }
.process-read-instructions article { align-items: flex-start; background: #f8f7fc; border: 1px solid #e3def1; border-radius: 11px; display: grid; gap: .7rem; grid-template-columns: 28px minmax(0, 1fr); padding: .75rem; }
.process-read-instructions article > span { align-items: center; background: #6955ad; border-radius: 50%; color: #fff; display: inline-flex; font-size: .75rem; font-weight: 800; height: 26px; justify-content: center; width: 26px; }
.process-read-instructions article p { color: #66738a; margin: .25rem 0; white-space: pre-wrap; }
.process-stage-paths { display: grid; gap: .45rem; }
.process-stage-paths button { align-items: center; background: #faf9fe; border: 1px solid #e1dced; border-radius: 10px; color: inherit; display: grid; gap: .6rem; grid-template-columns: auto minmax(0, 1fr) auto; padding: .65rem .75rem; text-align: left; }
.process-stage-paths button:hover { background: #f3f0fb; border-color: #c7bce5; }
.process-stage-paths button > span { display: grid; gap: .12rem; }
.process-stage-paths button small { color: var(--muted); }
.process-map-expanded-open { overflow: hidden; }
.process-map-expanded-backdrop { background: #162033d9; inset: 0; padding: 1rem; position: fixed; z-index: 1000; }
.process-map-expanded { background: #f8f9fc; border-radius: 18px; box-shadow: 0 24px 80px #10172573; display: grid; grid-template-rows: auto minmax(0, 1fr); height: 100%; overflow: hidden; }
.process-map-expanded > header { align-items: center; background: #fff; border-bottom: 1px solid var(--line); display: flex; justify-content: space-between; padding: .9rem 1.15rem; }
.process-map-expanded > header h2 { margin: .08rem 0 0; }
.process-map-expanded > .process-map-shell { overflow: auto; padding: .2rem 1.15rem 1.15rem; }
.process-map-expanded .process-map { min-height: 330px; }
.process-path-directory, .process-current-work, .process-available-paths { display: grid; gap: .85rem; }
.process-path-directory > article, .process-run-card, .process-available-paths > article { background: #fff; border: 1px solid var(--line); border-radius: 14px; display: grid; gap: .65rem; padding: 1rem; }
.process-path-directory > article > div, .process-run-card > div, .process-available-paths > article > div { align-items: center; display: flex; gap: .55rem; justify-content: space-between; }
.process-instruction-box { background: linear-gradient(145deg, #f7f8fd, #fff); border-left: 4px solid #6b55b1; border-radius: 8px 12px 12px 8px; padding: .8rem 1rem; }
.process-instruction-box p { margin: .35rem 0; white-space: pre-wrap; }
.process-instruction-box > span { color: var(--muted); display: block; font-size: .72rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.process-path-editor { background: #fafbfe; border: 1px solid var(--line); border-radius: 15px; display: grid; gap: .85rem; margin: .85rem 0; padding: 1rem; }
.process-path-editor-heading { align-items: center; display: flex; justify-content: space-between; }
.process-executor-values { display: grid; gap: .75rem; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); }
.process-designer-modal { max-height: calc(100vh - 1.5rem); max-width: 1450px; overflow: auto; padding: 0; width: min(1450px, calc(100vw - 1.5rem)); }
.process-designer-modal.fullscreen { border-radius: 0; height: 100vh; max-height: 100vh; max-width: none; width: 100vw; }
.modal-backdrop.process-designer-fullscreen-backdrop { padding: 0; }
.process-designer-modal.fullscreen .process-designer-identity { display: none; }
.process-designer-modal.fullscreen .process-designer-tabs { top: 75px; }
.process-designer-modal.fullscreen .process-designer-panel { padding-bottom: 110px; }
.process-designer-modal.fullscreen .process-designer-footer { align-items: end; display: grid; grid-template-columns: minmax(280px, 1fr) minmax(0, .7fr) auto; }
.process-designer-modal.fullscreen .process-designer-footer .modal-actions { align-self: end; }
.process-designer-modal > .modal-close { right: 1rem; top: 1rem; z-index: 4; }
.process-designer-header { align-items: center; background: #fff; border-bottom: 1px solid var(--line); display: flex; justify-content: space-between; padding: 1rem 4rem 1rem 1.25rem; position: sticky; top: 0; z-index: 3; }
.process-designer-header h2 { margin: .1rem 0 0; }.process-designer-header > div:last-child { align-items: center; display: flex; gap: .55rem; }
.process-designer-identity { background: #fafbfe; border-bottom: 1px solid var(--line); display: grid; gap: .75rem; padding: 1rem 1.25rem; }
.process-designer-tabs { background: #fff; border-bottom: 1px solid var(--line); display: flex; gap: .25rem; padding: 0 1.25rem; position: sticky; top: 75px; z-index: 2; }
.process-designer-tabs button { align-items: center; background: transparent; border: 0; border-bottom: 3px solid transparent; color: #6b7890; display: inline-flex; font-weight: 750; gap: .4rem; padding: .8rem .9rem .68rem; }.process-designer-tabs button[aria-selected="true"] { border-bottom-color: #6954ad; color: #51408d; }.process-designer-tabs button:disabled { cursor: not-allowed; opacity: .45; }
.process-designer-panel { padding: 1rem 1.25rem; }.process-designer-panel[hidden] { display: none; }
.process-designer-toolbar { align-items: center; display: flex; gap: 1rem; justify-content: space-between; margin-bottom: .75rem; }.process-designer-toolbar > div { align-items: center; display: flex; gap: .5rem; }.process-designer-help { color: #78859a; font-size: .78rem; }.process-designer-toolbar [data-designer-zoom] { color: #68758b; font-size: .76rem; min-width: 42px; text-align: center; }
.process-designer-workspace { border: 1px solid #dfe3eb; border-radius: 15px; display: grid; grid-template-columns: minmax(0, 1fr) 250px; min-height: 540px; overflow: hidden; }
#process-editor-preview { background: #f6f7fb; min-width: 0; }
.process-designer-canvas { background: radial-gradient(circle at 1px 1px, #dce1ea 1px, transparent 0); background-size: 22px 22px; height: 540px; overflow: auto; position: relative; }
.process-designer-canvas-inner { position: relative; transform-origin: top left; transition: transform .12s ease; }
.process-designer-canvas svg { inset: 0; overflow: visible; position: absolute; }.process-designer-edge { fill: none; marker-end: url(#process-arrow); stroke: #8090a9; stroke-width: 2; }.process-designer-edge.approval { stroke: #765fc0; stroke-dasharray: 6 4; }.process-designer-canvas marker path { fill: #8090a9; }
.process-designer-stage { align-items: center; background: #fff; border: 2px solid #dce2ec; border-radius: 13px; box-shadow: 0 7px 20px #29385414; color: inherit; cursor: grab; display: grid; font: inherit; gap: .6rem; grid-template-columns: auto minmax(0, 1fr) auto; min-height: 84px; padding: .7rem; position: absolute; text-align: left; width: 190px; z-index: 1; }.process-designer-stage:active { cursor: grabbing; }.process-designer-stage:hover { border-color: #a798d3; box-shadow: 0 10px 24px #48377e1f; }.process-designer-stage > span { align-items: center; background: #eeeafa; border-radius: 50%; color: #584394; display: flex; font-size: .75rem; font-weight: 800; height: 29px; justify-content: center; width: 29px; }.process-designer-stage > div { display: grid; gap: .15rem; }.process-designer-stage small { color: #78859a; font-size: .68rem; }.process-designer-stage i { color: #a2aabc; font-style: normal; letter-spacing: -2px; }
.process-designer-edge-label { align-items: center; background: #fff; border: 1px solid #d8ddeb; border-radius: 999px; box-shadow: 0 3px 10px #2c3a5510; color: #4f5c72; display: flex; font: 700 .68rem/1 sans-serif; gap: .3rem; height: 32px; justify-content: center; margin: 5px; overflow: hidden; padding: .35rem .55rem; text-overflow: ellipsis; white-space: nowrap; width: 130px; }.process-designer-edge-label:hover { border-color: #7b65bd; color: #594497; }.process-designer-edge-label .lucide-icon { flex: 0 0 auto; height: 12px; width: 12px; }.process-designer-edge-label span { overflow: hidden; text-overflow: ellipsis; }
#process-designer-inspector { background: #fff; border-left: 1px solid #e1e5ec; padding: 1rem; }.process-designer-inspector-empty { align-items: center; color: #748198; display: flex; flex-direction: column; min-height: 350px; justify-content: center; text-align: center; }.process-designer-inspector-empty .lucide-icon { color: #6a56aa; height: 26px; margin-bottom: .6rem; width: 26px; }.process-designer-inspector-empty p { font-size: .78rem; }.process-designer-workspace aside h3 { margin: .15rem 0 .5rem; }.process-designer-workspace aside > p { color: #68768d; font-size: .8rem; }.process-designer-workspace aside dl { display: grid; gap: .45rem; margin: .8rem 0; }.process-designer-workspace aside dl > div { display: grid; }.process-designer-workspace aside dt { color: #8994a6; font-size: .65rem; font-weight: 800; text-transform: uppercase; }.process-designer-workspace aside dd { margin: 0; }.process-inspector-path { align-items: center; background: #f8f7fc; border: 1px solid #e2deef; border-radius: 8px; color: #554681; display: flex; gap: .35rem; margin-top: .35rem; padding: .5rem; width: 100%; }
.process-validation-summary { align-items: flex-start; background: #f1f8f4; border: 1px solid #cae5d3; border-radius: 12px; color: #2d6843; display: flex; gap: .7rem; margin-top: .75rem; padding: .75rem; }.process-validation-summary.has-errors { background: #fff8e9; border-color: #efd49b; color: #79591f; }.process-validation-summary ul { margin: .35rem 0 0; padding-left: 1.2rem; }.process-validation-summary li { font-size: .76rem; margin: .18rem 0; }.process-validation-summary li.error { color: #b33e53; }.process-validation-summary p { margin: .25rem 0 0; }
.process-path-editor.selected { border-color: #7761bd; box-shadow: 0 0 0 4px #6b55b114; }
.process-version-controls { align-items: end; display: grid; gap: .7rem; grid-template-columns: 1fr 1fr auto; }.process-version-diff { display: grid; gap: .65rem; grid-template-columns: repeat(4, 1fr); margin: 1rem 0; }.process-version-diff article { background: #f8f9fc; border: 1px solid #e1e5ec; border-radius: 11px; display: grid; gap: .15rem; padding: .75rem; }.process-version-diff strong { color: #54448c; font-size: 1.3rem; }.process-version-diff span { color: #425169; font-weight: 700; }.process-version-diff small { color: #77849a; }.process-version-timeline { border-left: 2px solid #d9d3eb; display: grid; gap: .65rem; margin: 1rem 0 1rem .5rem; padding-left: 1rem; }.process-version-timeline article { display: grid; }.process-version-timeline small { color: #78859a; }
.process-designer-footer { background: #fff; border-top: 1px solid var(--line); display: grid; gap: .6rem; padding: 1rem 1.25rem; position: sticky; bottom: 0; z-index: 3; }.process-designer-footer > label { max-width: 700px; }
.process-project-view { display: grid; gap: 1.25rem; }
.process-current-work:empty { display: none; }
.process-available-paths { grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); }
.process-available-paths button { justify-self: start; }
.personal-dashboard { margin: 0 auto; max-width: 1500px; width: 100%; }
.dashboard-loading { align-items: center; color: var(--muted); display: flex; flex-direction: column; gap: .75rem; justify-content: center; min-height: 55vh; }
.dashboard-loading .lucide-icon { animation: spin 1.2s linear infinite; height: 26px; width: 26px; }
.dashboard-hero { align-items: flex-end; background: linear-gradient(125deg, #30265d, #6853ac 58%, #8674c5); border-radius: 20px; box-shadow: 0 18px 40px #31255d2b; color: #fff; display: flex; gap: 2rem; justify-content: space-between; margin-bottom: 1rem; overflow: hidden; padding: 1.5rem 1.65rem; position: relative; }
.dashboard-hero::after { border: 1px solid #ffffff22; border-radius: 50%; content: ""; height: 250px; position: absolute; right: -60px; top: -150px; width: 250px; }
.dashboard-hero .section-kicker { color: #d9d1f3; }
.dashboard-hero h1 { color: #fff; font-size: clamp(1.55rem, 3vw, 2.15rem); margin: .2rem 0; }
.dashboard-hero p { color: #e6e0f7; margin: 0; }
.dashboard-hero-actions { display: flex; gap: .55rem; position: relative; z-index: 1; }
.dashboard-hero-actions .button-secondary { background: #ffffff18; border-color: #ffffff55; color: #fff; }
.dashboard-hero-actions .button { background: #fff; color: #4f3f8e; }
.dashboard-delegation { align-items: center; background: #fff8e9; border: 1px solid #edd39d; border-radius: 12px; color: #74551e; display: grid; gap: .7rem; grid-template-columns: auto minmax(0, 1fr) auto; margin-bottom: 1rem; padding: .75rem .9rem; }
.dashboard-delegation.active { background: #edf8f1; border-color: #c8e5d2; color: #286340; }
.dashboard-delegation > div { display: grid; gap: .1rem; }.dashboard-delegation span { font-size: .8rem; }.dashboard-delegation button { background: transparent; border: 0; color: inherit; font-weight: 750; }
.dashboard-metrics { display: grid; gap: .75rem; grid-template-columns: repeat(5, minmax(0, 1fr)); margin-bottom: 1rem; }
.dashboard-metrics > button, .dashboard-metrics > div { align-items: center; background: #fff; border: 1px solid var(--line); border-radius: 14px; color: inherit; display: grid; gap: .15rem; grid-template-columns: auto 1fr; padding: .85rem .9rem; text-align: left; }
.dashboard-metrics > button:hover { border-color: #bfb5dd; box-shadow: 0 8px 20px #2d3b580d; }
.dashboard-metrics > * > span:first-child { align-items: center; background: #f0edf9; border-radius: 9px; color: #6551a8; display: inline-flex; grid-row: 1 / 3; height: 34px; justify-content: center; margin-right: .4rem; width: 34px; }
.dashboard-metrics strong { color: #33425a; font-size: 1.35rem; line-height: 1; }.dashboard-metrics small, .dashboard-metrics > * > span:last-child { color: #718098; font-size: .75rem; }
.dashboard-metrics .danger { border-color: #efc8cf; }.dashboard-metrics .danger strong { color: #b53e53; }.dashboard-metrics .danger > span:first-child { background: #fbecef; color: #b53e53; }
.dashboard-grid { display: grid; gap: 1rem; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.dashboard-card { background: #fff; border: 1px solid var(--line); border-radius: 16px; box-shadow: 0 8px 24px #25365b08; min-width: 0; padding: 1rem; }
.dashboard-card-heading { align-items: center; display: flex; gap: 1rem; justify-content: space-between; margin-bottom: .75rem; }
.dashboard-card-heading h2 { font-size: 1.08rem; margin: .12rem 0 0; }.dashboard-card-heading .link { font-size: .78rem; }
.dashboard-list { display: grid; gap: .4rem; }
.dashboard-list-item { align-items: center; background: #fafbfe; border: 1px solid #e7eaf0; border-radius: 11px; color: inherit; display: grid; font: inherit; gap: .65rem; grid-template-columns: auto minmax(0, 1fr) auto; min-height: 61px; padding: .58rem .65rem; text-align: left; width: 100%; }
.dashboard-list-item:hover { background: #f5f3fb; border-color: #d4cdec; }.dashboard-list-item.urgent { border-left: 3px solid #d45367; }
.dashboard-item-icon { align-items: center; background: #efedf7; border-radius: 8px; color: #60509a; display: inline-flex; height: 32px; justify-content: center; width: 32px; }.dashboard-item-icon .lucide-icon { height: 15px; width: 15px; }
.dashboard-list-item > span:nth-child(2) { display: grid; gap: .08rem; min-width: 0; }.dashboard-list-item small { color: #7a8799; font-size: .68rem; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }.dashboard-list-item strong { color: #35435a; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }.dashboard-list-item em { color: #6e7b91; font-size: .73rem; font-style: normal; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.dashboard-empty-state { align-items: center; color: #7a8799; display: flex; justify-content: center; min-height: 125px; text-align: center; }
.dashboard-notifications, .dashboard-team-card, .dashboard-exceptions { margin-top: 1rem; }
.dashboard-list.horizontal { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.dashboard-metrics.compact { grid-template-columns: repeat(3, minmax(0, 1fr)); margin-bottom: .8rem; }.dashboard-metrics.compact > * { display: grid; grid-template-columns: 1fr; }.dashboard-metrics.compact strong { font-size: 1.5rem; }
.dashboard-team-list { border-top: 1px solid #edf0f4; display: grid; }.dashboard-team-list > div { align-items: center; border-bottom: 1px solid #edf0f4; display: flex; gap: 1rem; justify-content: space-between; padding: .55rem .2rem; }.dashboard-team-list > div > span:first-child { display: grid; }.dashboard-team-list small { color: #78859a; }.dashboard-team-list > div > span:last-child { color: #67758a; font-size: .78rem; }.dashboard-team-list b { color: #b23f53; }
@media (max-width: 1050px) { .dashboard-metrics { grid-template-columns: repeat(3, 1fr); }.dashboard-list.horizontal { grid-template-columns: 1fr 1fr; } }
@media (max-width: 700px) {
  .dashboard-hero { align-items: flex-start; flex-direction: column; }.dashboard-hero-actions { width: 100%; }.dashboard-hero-actions > * { flex: 1; }
  .dashboard-grid, .dashboard-list.horizontal { grid-template-columns: 1fr; }.dashboard-metrics { grid-template-columns: repeat(2, 1fr); }.dashboard-metrics.compact { grid-template-columns: 1fr; }
  .process-map-toolbar { align-items: stretch; flex-direction: column; }
  .process-map-toolbar .button-secondary { justify-content: center; width: 100%; }
  .process-map-expanded-backdrop { padding: 0; }
  .process-map-expanded { border-radius: 0; }
  .process-map-expanded > header { padding: .75rem; }
  .process-map-expanded > .process-map-shell { padding: 0 .75rem .75rem; }
  .process-designer-modal { border-radius: 0; height: 100vh; max-height: 100vh; width: 100vw; }.process-designer-workspace { grid-template-columns: 1fr; }.process-designer-workspace aside { border-left: 0; border-top: 1px solid var(--line); }.process-designer-toolbar { align-items: flex-start; flex-direction: column; }.process-designer-help { display: none; }.process-version-controls, .process-version-diff { grid-template-columns: 1fr; }.process-designer-tabs { overflow-x: auto; top: 72px; }
}
.table-sort-button { appearance: none; border: 0; background: transparent; padding: 0; color: inherit; font: inherit; font-weight: 700; cursor: pointer; text-align: left; }
.security-settings { display: grid; gap: 1rem; padding-top: .5rem; }
.security-settings .account-settings-section { margin: 0; }
.security-mfa-card .account-settings-heading { align-items: center; }
.security-mfa-card .account-settings-heading .data-badge { margin-left: auto; }
.security-summary { align-items: center; background: #f8fafc; border: 1px solid #e4e8ef; border-radius: 10px; display: flex; gap: 1rem; justify-content: space-between; padding: .8rem; }
.security-summary p { color: #66758b; margin: 0; }
.security-summary strong { color: #33425a; }
.mfa-login-card { max-width: 480px; }
.mandatory-mfa-wrap { align-items: flex-start; padding-top: clamp(2rem, 7vh, 5rem); }
.mandatory-mfa-card { max-width: 660px; width: min(660px, calc(100vw - 2rem)); }
.mandatory-mfa-heading { align-items: flex-start; display: flex; gap: 1rem; }
.mandatory-mfa-heading h1 { margin: .15rem 0 .35rem; }
.mandatory-mfa-heading p { color: #66758b; margin: 0; }
.mandatory-mfa-steps { display: grid; gap: .5rem; grid-template-columns: repeat(3, minmax(0, 1fr)); margin: 1.4rem 0; }
.mandatory-mfa-steps span { align-items: center; border-bottom: 2px solid #e3e6ed; color: #8993a3; display: flex; font-size: .75rem; font-weight: 700; gap: .45rem; padding: .45rem .1rem .7rem; }
.mandatory-mfa-steps b { align-items: center; background: #eef0f4; border-radius: 50%; display: inline-flex; height: 24px; justify-content: center; width: 24px; }
.mandatory-mfa-steps .active { border-color: #6651a5; color: #55428f; }
.mandatory-mfa-steps .active b { background: #6651a5; color: #fff; }
.mandatory-mfa-steps .complete { border-color: #87b39a; color: #4d8062; }
.mandatory-mfa-steps .complete b { background: #e6f2ea; color: #397552; }
#mandatory-mfa-body > form { display: grid; gap: .8rem; }
.auth-security-icon { align-items: center; background: #ece8f8; border-radius: 12px; color: #58458f; display: inline-flex; height: 44px; justify-content: center; width: 44px; }
.auth-security-icon .lucide-icon { height: 22px; width: 22px; }
.mfa-enrollment { display: grid; gap: .9rem; justify-items: center; }
.mfa-enrollment > p { color: #66758b; margin: 0; text-align: center; }
.mfa-enrollment img { background: #fff; border: 1px solid #dfe4ec; border-radius: 12px; height: 240px; padding: .5rem; width: 240px; }
.mfa-enrollment form { display: grid; gap: .8rem; justify-self: stretch; }
.mfa-manual-key { align-items: center; background: #f7f8fb; border: 1px solid #e1e5ec; border-radius: 8px; display: flex; flex-wrap: wrap; gap: .35rem .7rem; justify-content: space-between; padding: .6rem .7rem; width: 100%; }
.mfa-manual-key span { color: #758198; font-size: .75rem; }
.mfa-manual-key code { color: #493979; font-size: .82rem; overflow-wrap: anywhere; }
.recovery-code-reveal { display: grid; gap: .8rem; }
.recovery-code-grid { display: grid; gap: .45rem; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.recovery-code-grid code { background: #f5f3fb; border: 1px solid #e0daef; border-radius: 7px; color: #493979; font-weight: 700; padding: .55rem; text-align: center; }
.security-sessions-card .section-title-row { align-items: center; }
.session-list { display: grid; gap: .5rem; max-height: 430px; overflow-y: auto; padding-right: .2rem; }
.session-card { align-items: center; border: 1px solid #e2e6ed; border-radius: 9px; display: grid; gap: .7rem; grid-template-columns: auto minmax(0, 1fr) auto; padding: .7rem; }
.session-card.current { background: #f3f8f5; border-color: #cfe5d7; }
.session-device-icon { align-items: center; background: #eef1f6; border-radius: 8px; color: #617088; display: inline-flex; height: 34px; justify-content: center; width: 34px; }
.session-device-icon .lucide-icon { height: 16px; width: 16px; }
.session-card > div { display: grid; gap: .12rem; }
.session-card strong { color: #35445c; }
.session-card small { color: #758198; font-size: .75rem; }
.security-session-pagination { align-items: center; border-top: 1px solid #edf0f4; color: #6f7d93; display: flex; font-size: .78rem; justify-content: space-between; padding-top: .7rem; }
.security-session-pagination > div { display: flex; gap: .4rem; }
.security-session-pagination .button-secondary { min-height: 32px; padding: .35rem .65rem; }
.notification-preferences-card form { display: grid; gap: .7rem; }
.notification-preference-heading, .notification-preference-row { align-items: center; display: grid; gap: .7rem; grid-template-columns: 34px minmax(0, 1fr) 86px 86px; }
.notification-preference-heading { color: #78859a; font-size: .7rem; font-weight: 800; letter-spacing: .06em; padding: 0 .65rem; text-transform: uppercase; }
.notification-preference-heading span:first-child { grid-column: 1 / 3; }
.notification-preference-list { border: 1px solid #e2e6ed; border-radius: 10px; overflow: hidden; }
.notification-preference-row { border-bottom: 1px solid #edf0f4; padding: .7rem; }
.notification-preference-row:last-child { border-bottom: 0; }
.notification-preference-icon { align-items: center; background: #f0eef8; border-radius: 8px; color: #5c4899; display: inline-flex; height: 31px; justify-content: center; width: 31px; }
.notification-preference-icon .lucide-icon { height: 15px; width: 15px; }
.notification-preference-row > span:nth-child(2) { display: grid; gap: .12rem; }
.notification-preference-row strong { color: #35445c; }
.notification-preference-row small { color: #758198; font-size: .75rem; }
.notification-toggle { align-items: center; cursor: pointer; display: inline-flex; gap: .4rem; }
.notification-toggle input { height: 1px; opacity: 0; position: absolute; width: 1px; }
.notification-toggle > span { background: #c8cfda; border-radius: 999px; display: inline-block; height: 20px; position: relative; transition: .18s ease; width: 36px; }
.notification-toggle > span::after { background: #fff; border-radius: 50%; box-shadow: 0 1px 4px #26334a3d; content: ""; height: 16px; left: 2px; position: absolute; top: 2px; transition: .18s ease; width: 16px; }
.notification-toggle input:checked + span { background: #6954ad; }
.notification-toggle input:checked + span::after { transform: translateX(16px); }
.notification-toggle input:disabled + span { background: #998bc7; opacity: .7; }
.notification-toggle em { color: #65738a; font-size: .72rem; font-style: normal; }
.notification-workspace { min-height: calc(100vh - 110px); }.notification-heading { align-items: flex-end; display: flex; gap: 1rem; justify-content: space-between; }.notification-heading h1 { margin: .1rem 0; }.notification-heading p { color: var(--muted); margin: 0; }.notification-list { display: grid; gap: .55rem; margin: 1rem 0; }.notification-card { align-items: stretch; background: #fff; border: 1px solid #e2e6ed; border-radius: 12px; display: grid; grid-template-columns: minmax(0, 1fr) auto; overflow: hidden; }.notification-card.unread { background: #faf9ff; border-color: #d9d2ef; box-shadow: inset 4px 0 #6a55ad; }.notification-card.priority-urgent { border-left-color: #d84b62; }.notification-open { align-items: center; background: transparent; border: 0; color: inherit; display: grid; gap: .8rem; grid-template-columns: auto minmax(0, 1fr) auto; padding: .85rem; text-align: left; }.notification-open:hover { background: #f8f7fc; }.notification-open > span:nth-child(2) { display: grid; gap: .14rem; }.notification-open small { color: #7a879a; font-size: .72rem; }.notification-open strong { color: #33425a; }.notification-open p { color: #637087; margin: 0; }.notification-open em { background: #f8e9ec; border-radius: 999px; color: #a93d51; font-size: .65rem; font-style: normal; font-weight: 800; padding: .25rem .45rem; text-transform: uppercase; }.notification-category-icon { align-items: center; background: #ece9f8; border-radius: 9px; color: #5b4897; display: inline-flex; height: 36px; justify-content: center; width: 36px; }.notification-category-icon .lucide-icon { height: 17px; width: 17px; }.notification-actions { align-items: center; border-left: 1px solid #edf0f4; display: flex; gap: .3rem; padding: .6rem; }.notification-empty { align-items: center; color: #758198; display: flex; flex-direction: column; padding: 3rem; text-align: center; }.notification-empty > span { align-items: center; background: #f0eef8; border-radius: 50%; color: #6653a5; display: flex; height: 52px; justify-content: center; width: 52px; }.notification-empty h2 { color: #42516a; margin: .8rem 0 .2rem; }.notification-empty p { margin: 0; }
@media (max-width: 700px) {
  .mandatory-mfa-heading { flex-direction: column; }
  .mandatory-mfa-steps { grid-template-columns: 1fr; }
  .mandatory-mfa-steps span { border-bottom: 0; border-left: 2px solid #e3e6ed; padding: .2rem .5rem; }
  .security-summary, .security-sessions-card .section-title-row { align-items: flex-start; flex-direction: column; }
  .security-summary .toolbar-actions { width: 100%; }
  .recovery-code-grid { grid-template-columns: 1fr; }
  .session-card { grid-template-columns: auto minmax(0, 1fr); }
  .session-card > :last-child { grid-column: 2; justify-self: start; }
  .security-session-pagination { align-items: flex-start; flex-direction: column; gap: .55rem; }
  .notification-preference-heading { display: none; }
  .notification-preference-row { grid-template-columns: 34px minmax(0, 1fr); }
  .notification-preference-row .notification-toggle { grid-column: 2; }
  .notification-heading { align-items: flex-start; flex-direction: column; }.notification-card { grid-template-columns: 1fr; }.notification-actions { border-left: 0; border-top: 1px solid #edf0f4; }.notification-open { grid-template-columns: auto minmax(0, 1fr); }.notification-open em { grid-column: 2; justify-self: start; }
}
.approval-evidence-requirement {
  display: flex;
  align-items: center;
  gap: .75rem;
  padding: .9rem 1rem;
  border: 1px dashed #9aa7bd;
  border-radius: 12px;
  background: #f7f9fc;
  color: #344054;
}
.approval-evidence-requirement svg { width: 20px; height: 20px; color: #6554c0; }
.approval-evidence-requirement span { display: grid; gap: .15rem; }
.approval-evidence-requirement small { color: #667085; }
.contact-collection-editor { display: grid; gap: .75rem; margin-top: .45rem; }
.contact-card-editor {
  display: grid;
  gap: .75rem;
  padding: 1rem;
  border: 1px solid #dce2ec;
  border-radius: 14px;
  background: linear-gradient(145deg, #fff, #f8f9fc);
  box-shadow: 0 3px 10px rgba(31, 42, 68, .05);
}
.contact-card-editor header { display: flex; align-items: center; justify-content: space-between; }
.contact-card-list { display: grid; gap: .55rem; }
.contact-card-list article {
  display: grid;
  gap: .12rem;
  padding: .65rem .75rem;
  border: 1px solid #e1e6ef;
  border-radius: 10px;
  background: #fafbfe;
}
.contact-card-list article span,
.contact-card-list article a { font-size: .85rem; color: #58677f; }

/* WMT 1.0 Passport workspace */
.passport-column-heading { align-items: center; display: flex; gap: .2rem; justify-content: space-between; min-width: 130px; }
.passport-column-heading .admin-column-trigger { flex: 0 0 auto; }
.passport-table td { max-width: 320px; overflow-wrap: anywhere; }
.blank-table-row { height: 48px; }
.blank-table-row td { border-color: #f0f2f6; }
.passport-column-list { display: grid; gap: .3rem; max-height: 340px; min-width: 250px; overflow: auto; padding: .35rem 0 .7rem; }
.passport-column-list label { align-items: center; display: flex; gap: .55rem; }
.passport-filter-menu { display: grid; gap: .6rem; min-width: 250px; }
.passport-filter-menu .modal-actions { margin-top: .2rem; }
.passport-runtime-form, .passport-field-sections { display: grid; gap: 1rem; }
.passport-runtime-form > label, .passport-field-sections label { display: grid; gap: .3rem; }
.passport-field-sections fieldset { background: #f9fafc; border: 1px solid #e1e6ee; border-radius: 13px; display: grid; gap: .85rem; padding: 1rem; }
.passport-field-sections legend { color: #3c4960; font-weight: 850; padding: 0 .45rem; }
.passport-field-sections label > span:first-child { color: #3e4c63; font-size: .82rem; font-weight: 800; }
.passport-field-sections label > small { color: #77849a; font-size: .72rem; line-height: 1.4; }
.passport-detail-header { background: radial-gradient(circle at 90% 5%, #ddd5f5 0, transparent 35%), linear-gradient(120deg, #f4f1fb, #fbfcfe 66%); border: 1px solid #e3dff1; border-radius: 16px; margin-bottom: 1rem; overflow: hidden; padding: 1.15rem 1.35rem 1.25rem; }
.passport-detail-header .back-link { background: transparent; border: 0; color: #6e5aa7; display: inline-flex; font-size: .78rem; font-weight: 800; gap: .25rem; margin: 0 0 .8rem; padding: 0; }
.passport-detail-header .back-link .lucide-icon { height: 14px; transform: rotate(180deg); width: 14px; }
.passport-title-line { align-items: flex-end; display: flex; gap: 1rem; justify-content: space-between; }
.passport-title-line h1 { color: #26354d; font-size: clamp(1.6rem, 2.7vw, 2.25rem); letter-spacing: -.035em; margin: .15rem 0 .55rem; }
.passport-title-badges { align-items: center; color: #69778e; display: flex; flex-wrap: wrap; font-size: .8rem; gap: .45rem; }
.passport-header-actions { align-items: center; display: flex; flex-wrap: wrap; gap: .45rem; justify-content: flex-end; }
.passport-tabs { margin-bottom: 1rem; }
.passport-tabs button { align-items: center; display: inline-flex; gap: .4rem; }
.passport-tabs .lucide-icon { height: 15px; width: 15px; }
.passport-tab-content { min-height: 360px; }
.passport-overview-grid { display: grid; gap: 1rem; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.project-detail-card { background: #fff; border: 1px solid #e2e6ed; border-radius: 14px; box-shadow: 0 5px 18px #26334a0a; padding: 1rem; }
.project-detail-card .card-heading { align-items: center; display: flex; gap: 1rem; justify-content: space-between; }
.project-detail-card h2, .project-detail-card h3 { color: #34435a; margin: 0 0 .8rem; }
.passport-metadata { display: grid; gap: 0; margin: 0; }
.passport-metadata > div { align-items: start; border-top: 1px solid #edf0f4; display: grid; gap: 1rem; grid-template-columns: 145px minmax(0, 1fr); padding: .7rem 0; }
.passport-metadata dt { color: #768399; font-size: .73rem; font-weight: 800; text-transform: uppercase; }
.passport-metadata dd { color: #35445c; display: grid; font-weight: 750; gap: .15rem; margin: 0; }
.passport-metadata dd small { color: #768399; font-size: .72rem; font-weight: 500; }
.passport-progress { background: #e9e7f2; border-radius: 999px; height: 5px; overflow: hidden; width: 100%; }
.passport-progress span { background: linear-gradient(90deg, #6e58b1, #51a17f); display: block; height: 100%; }
.passport-person-list, .passport-relationship-list, .passport-source-list { display: grid; gap: .55rem; }
.passport-person-list > div, .passport-source-list > div { align-items: center; border: 1px solid #e5e8ef; border-radius: 10px; display: flex; gap: .65rem; padding: .65rem; }
.passport-person-list .avatar { align-items: center; background: #ece9f7; border-radius: 9px; color: #5b4996; display: inline-flex; font-size: .78rem; font-weight: 850; height: 34px; justify-content: center; width: 34px; }
.passport-person-list > div > span:last-child, .passport-source-list > div > span { display: grid; gap: .1rem; }
.passport-person-list small, .passport-source-list small { color: #77849a; font-size: .72rem; }
.passport-relationships-card { grid-column: 1 / -1; }
.passport-relationship-list > div { align-items: center; background: #fafbfc; border: 1px solid #e6e9ef; border-radius: 10px; display: grid; gap: .65rem; grid-template-columns: auto minmax(0, 1fr) auto; padding: .65rem; }
.passport-relationship-list > div > span { color: #6753a4; }
.passport-relationship-list button:not(.icon-action) { background: transparent; border: 0; display: grid; gap: .1rem; text-align: left; }
.passport-relationship-list small { color: #77849a; }
.passport-read-sections { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.passport-read-sections section { background: #fff; border: 1px solid #e2e6ed; border-radius: 13px; padding: 1rem; }
.passport-read-sections h3 { color: #35445c; margin: 0 0 .7rem; }
.passport-read-sections dl { display: grid; gap: 0; margin: 0; }
.passport-read-sections dl > div { border-top: 1px solid #edf0f4; display: grid; gap: 1rem; grid-template-columns: minmax(150px, .8fr) minmax(0, 1.2fr); padding: .72rem 0; }
.passport-read-sections dt { color: #69778c; display: grid; font-size: .8rem; font-weight: 800; gap: .1rem; }
.passport-read-sections dt small { color: #929cad; font-size: .65rem; font-weight: 650; text-transform: uppercase; }
.passport-read-sections dd { color: #34435a; margin: 0; overflow-wrap: anywhere; }
.passport-empty-tab { align-items: center; color: #748197; display: flex; flex-direction: column; min-height: 300px; justify-content: center; padding: 2rem; text-align: center; }
.passport-empty-tab > .lucide-icon { background: #efecf8; border-radius: 14px; color: #6753a4; height: 28px; padding: 12px; width: 28px; }
.passport-empty-tab h2, .passport-empty-tab h3 { color: #3e4c63; margin: .8rem 0 .25rem; }
.passport-empty-tab p { line-height: 1.55; margin: 0; max-width: 560px; }
.passport-document-grid { display: grid; gap: .75rem; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.passport-document-grid article { align-items: start; background: #fff; border: 1px solid #e2e6ed; border-radius: 13px; display: grid; gap: .75rem; grid-template-columns: auto minmax(0, 1fr) auto; padding: .85rem; }
.passport-document-icon { align-items: center; background: #ece9f7; border-radius: 9px; color: #6753a4; display: inline-flex; height: 36px; justify-content: center; width: 36px; }
.passport-document-grid article > div { display: grid; gap: .16rem; }
.passport-document-grid small { color: #77849a; font-size: .72rem; }
.passport-document-grid p { color: #66738a; margin: .35rem 0; }
.passport-document-grid a { align-items: center; color: #5d489c; display: inline-flex; font-size: .78rem; font-weight: 800; gap: .2rem; }
.passport-timeline { display: grid; gap: .65rem; margin-left: .9rem; }
.passport-timeline article { border-left: 2px solid #ddd7ee; display: grid; gap: .7rem; grid-template-columns: auto minmax(0, 1fr); padding: 0 0 1rem 1.2rem; position: relative; }
.passport-timeline article > span { align-items: center; background: #ece9f7; border: 3px solid #fff; border-radius: 50%; color: #6753a4; display: inline-flex; height: 32px; justify-content: center; left: -17px; position: absolute; top: 0; width: 32px; }
.passport-timeline article > div { display: grid; gap: .15rem; padding-left: .25rem; }
.passport-timeline p { color: #65738a; margin: 0; }
.passport-timeline small { color: #8792a4; }
.passport-access-summary { display: grid; gap: .8rem; grid-template-columns: repeat(3, minmax(0, 1fr)); margin-bottom: 1rem; }
.passport-access-summary > div { background: linear-gradient(140deg, #f5f3fb, #fff); border: 1px solid #e3dff0; border-radius: 12px; display: grid; gap: .25rem; padding: .85rem; }
.passport-access-summary small { color: #78859a; font-size: .7rem; font-weight: 800; text-transform: uppercase; }
.passport-access-summary strong { color: #38465e; font-size: 1.05rem; }
.passport-contributor-list { border: 1px solid #e2e6ed; border-radius: 12px; display: grid; max-height: 380px; overflow: auto; }
.passport-contributor-row { align-items: center; border-bottom: 1px solid #edf0f4; display: grid; gap: .7rem; grid-template-columns: minmax(0, 1fr) 130px; padding: .65rem; }
.passport-contributor-row:last-child { border-bottom: 0; }
.passport-contributor-row > label { align-items: center; display: flex; gap: .65rem; }
.passport-contributor-row > label > span { display: grid; gap: .1rem; }
.passport-contributor-row small { color: #77849a; }
.passport-project-link { align-items: center; background: linear-gradient(135deg, #f7f5fc, #fff); border: 1px solid #e2ddee; border-radius: 11px; color: #34435a; display: grid; gap: .1rem; grid-template-columns: minmax(0, 1fr) auto; padding: .8rem; text-align: left; width: 100%; }
.passport-project-link strong, .passport-project-link span { grid-column: 1; }
.passport-project-link strong { color: #604d9e; font-family: ui-monospace, SFMono-Regular, Menlo, monospace; font-size: .76rem; }
.passport-project-link .lucide-icon { grid-column: 2; grid-row: 1 / span 2; height: 17px; width: 17px; }
.runtime-summary { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; margin-bottom: 24px; }
.runtime-summary article { padding: 18px; border: 1px solid #e2e6ed; border-radius: 16px; background: linear-gradient(145deg, #fff, #f7f8fb); display: grid; gap: 5px; }
.runtime-summary span, .runtime-summary small { color: #78859a; }
.runtime-summary strong { color: #34435a; font-size: 1.15rem; }
.runtime-work-list { display: grid; gap: 12px; margin-bottom: 26px; }
.runtime-work-card { border: 1px solid #e2e6ed; border-left: 4px solid #6753a4; border-radius: 16px; background: #fff; padding: 18px; display: flex; align-items: flex-start; justify-content: space-between; gap: 18px; }
.runtime-work-card > div:first-child { display: flex; gap: 12px; min-width: 0; }
.runtime-work-card > div:first-child > span { display: grid; place-items: center; width: 38px; height: 38px; border-radius: 12px; background: #ece9f7; color: #6753a4; flex: 0 0 auto; }
.runtime-work-card h3, .runtime-work-card p { margin: 4px 0; }
.runtime-work-card small { color: #78859a; }
.runtime-work-card.status-waiting { border-left-color: #c8902d; }
.runtime-work-card.status-blocked { border-left-color: #bc4a54; }
.runtime-work-actions { display: flex; flex-wrap: wrap; gap: 8px; justify-content: flex-end; }
.pd-map-node.runtime-active { box-shadow: 0 0 0 3px #6e58b159; border-color: #6753a4; }
.pd-map-node.runtime-waiting { box-shadow: 0 0 0 3px #c8902d38; border-color: #c8902d; }
.pd-map-node.runtime-blocked { box-shadow: 0 0 0 3px #bc4a5433; border-color: #bc4a54; }
.pd-map-node.runtime-completed { opacity: .72; border-color: #5f9c78; }
.runtime-history { margin-bottom: 24px; }
@media (max-width: 850px) {
  .passport-overview-grid, .passport-read-sections, .passport-document-grid { grid-template-columns: 1fr; }
  .passport-title-line { align-items: flex-start; flex-direction: column; }
  .passport-header-actions { justify-content: flex-start; }
  .passport-access-summary { grid-template-columns: 1fr; }
  .runtime-summary { grid-template-columns: 1fr; }
  .runtime-work-card { flex-direction: column; }
  .runtime-work-actions { justify-content: flex-start; }
}
/* Continuous Improvement */
.improvement-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(290px,1fr));gap:1rem;margin:1rem 0 1.25rem}.improvement-card{appearance:none;text-align:left;border:1px solid var(--border);border-radius:18px;background:linear-gradient(145deg,#fff,#f8fafc);padding:1.1rem;box-shadow:0 8px 24px rgba(15,23,42,.05);cursor:pointer;min-height:220px;display:flex;flex-direction:column;gap:.75rem;color:inherit}.improvement-card:hover,.improvement-card:focus-visible{border-color:#8b5cf6;box-shadow:0 14px 34px rgba(109,40,217,.13);transform:translateY(-1px)}.improvement-card>div:first-child,.improvement-card footer{display:flex;align-items:center;justify-content:space-between;gap:.75rem}.improvement-card h2{font-size:1.05rem;margin:0}.improvement-card p{margin:0;color:var(--muted);display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.improvement-card footer{border-top:1px solid var(--border);padding-top:.75rem;margin-top:auto;color:var(--muted);font-size:.78rem}.improvement-card footer span{display:flex;align-items:center;gap:.3rem}.improvement-process-chips{display:flex;gap:.35rem;flex-wrap:wrap}.improvement-process-chips span{background:#ede9fe;color:#5b21b6;border-radius:999px;padding:.22rem .48rem;font-size:.72rem;font-weight:700}.improvement-journey{display:grid;grid-template-columns:repeat(8,minmax(70px,1fr));gap:.35rem;margin:1rem 0 1.25rem;overflow-x:auto;padding-bottom:.35rem}.improvement-journey>div{position:relative;text-align:center;color:var(--muted)}.improvement-journey>div:not(:last-child)::after{content:"";position:absolute;left:calc(50% + 17px);right:calc(-50% + 17px);top:15px;height:2px;background:#dbe3ef}.improvement-journey>div.complete:not(:last-child)::after{background:#7c3aed}.improvement-journey span{width:31px;height:31px;border-radius:999px;border:2px solid #dbe3ef;background:#fff;display:grid;place-items:center;margin:0 auto .35rem;position:relative;z-index:1;font-size:.75rem;font-weight:800}.improvement-journey .complete span,.improvement-journey .current span{border-color:#7c3aed;background:#7c3aed;color:#fff}.improvement-journey .current span{box-shadow:0 0 0 5px #ede9fe}.improvement-journey small{font-size:.68rem;font-weight:700;white-space:nowrap}.improvement-statement{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin:1rem 0}.improvement-statement>div{border:1px solid var(--border);border-radius:14px;padding:1rem;background:#f8fafc}.improvement-statement span{display:block;text-transform:uppercase;letter-spacing:.08em;font-size:.68rem;font-weight:800;color:#6d28d9;margin-bottom:.4rem}.improvement-statement p{margin:0;white-space:pre-wrap}.improvement-process-picker{max-height:280px;overflow:auto;border:1px solid var(--border);border-radius:14px;padding:.45rem;margin-top:.4rem}.improvement-process-picker>label{display:flex;gap:.65rem;align-items:flex-start;padding:.65rem;border-radius:10px;cursor:pointer}.improvement-process-picker>label:hover{background:#f5f3ff}.improvement-process-picker input{margin-top:.2rem}.improvement-process-picker span{display:flex;flex-direction:column;gap:.15rem}.improvement-process-picker small{color:var(--muted)}
@media(max-width:760px){.improvement-statement{grid-template-columns:1fr}.improvement-journey{grid-template-columns:repeat(8,90px)}.improvement-grid{grid-template-columns:1fr}}

/* Phase 11 reporting and operations */
.report-filter-bar{align-items:end;background:linear-gradient(135deg,#f5f3fb,#fbfcfe);border:1px solid #e2dfee;border-radius:16px;display:flex;flex-wrap:wrap;gap:.75rem;margin:1rem 0;padding:1rem}.report-filter-bar label{color:#657188;display:grid;font-size:.72rem;font-weight:800;gap:.3rem;min-width:180px}.report-metrics{display:grid;gap:.75rem;grid-template-columns:repeat(4,minmax(0,1fr));margin:1rem 0}.report-metric{background:#fff;border:1px solid #e2e6ed;border-left:4px solid #6753a4;border-radius:14px;display:grid;gap:.35rem;padding:1rem}.report-metric span{color:#748197;font-size:.72rem;font-weight:800;text-transform:uppercase}.report-metric strong{color:#34435a;font-size:1.45rem}.report-metric.warning{border-left-color:#c8902d}.report-metric.danger{border-left-color:#bc4a54}.report-metric.good{border-left-color:#50906d}.report-table{min-width:1160px}.report-table td{vertical-align:top}.table-entity-link{background:transparent;border:0;color:inherit;display:grid;gap:.15rem;padding:0;text-align:left}.table-entity-link strong{color:#604d9e}.table-entity-link small{color:#748197}.report-sla-on_track{background:#e9f7ef;color:#28704a}.report-sla-at_risk{background:#fff4d9;color:#805914}.report-sla-breached{background:#fdebed;color:#9c3440}.report-sla-not_configured{background:#edf0f5;color:#637087}.report-generated{color:#8490a2;font-size:.75rem;text-align:right}
.operations-grid{display:grid;gap:1rem;grid-template-columns:repeat(2,minmax(0,1fr));margin-top:1rem}.operations-card{background:linear-gradient(150deg,#fff,#fafbfc);border:1px solid #e1e5ed;border-radius:17px;box-shadow:0 8px 28px #26334a0a;padding:1rem}.operations-wide{grid-column:1/-1}.operations-card .card-heading{align-items:center;border-bottom:1px solid #e9ecf1;display:flex;justify-content:space-between;margin-bottom:1rem;padding-bottom:.8rem}.operations-card .card-heading>div{align-items:center;display:flex;gap:.6rem}.operations-card .card-heading>div>span{align-items:center;background:#ece9f7;border-radius:9px;color:#6753a4;display:inline-flex;height:34px;justify-content:center;width:34px}.operations-card h3,.operations-card h4{color:#36445b;margin:0}.operations-card .card-heading small{color:#8590a1}.operations-form{display:grid;gap:.7rem;grid-template-columns:repeat(2,minmax(0,1fr));margin-bottom:1rem}.operations-form>label,.operations-inline-form label{color:#66738a;display:grid;font-size:.72rem;font-weight:800;gap:.25rem}.operations-form>fieldset{grid-column:1/-1}.operations-form>button,.operations-form>label:has(textarea){grid-column:1/-1}.scope-picker{display:grid;gap:.35rem;grid-template-columns:repeat(2,minmax(0,1fr));max-height:180px;overflow:auto}.scope-picker label{align-items:center;display:flex;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.72rem;gap:.4rem}.operations-calendar-list,.operations-sla-list{display:grid;gap:.6rem;margin-bottom:1rem}.operations-inline-form{align-items:end;background:#f8f9fb;border:1px solid #e6e9ef;border-radius:12px;display:grid;gap:.55rem;grid-template-columns:1.2fr 1fr 1fr 1fr auto 1.2fr auto auto;padding:.7rem}.operations-inline-form>span{display:grid}.operations-inline-form>span small{color:#7d899b}.operations-sla-list .operations-inline-form{grid-template-columns:1.25fr 1.2fr .8fr .65fr 1fr auto}.operations-record-list{border-top:1px solid #eaedf2;display:grid;max-height:270px;overflow:auto}.operations-record-list article{align-items:center;border-bottom:1px solid #edf0f4;display:flex;gap:.7rem;justify-content:space-between;padding:.7rem 0}.operations-record-list article>div{display:grid;gap:.15rem;min-width:0}.operations-record-list small{color:#7a8698;overflow-wrap:anywhere}.environment-badge{background:#ece9f7;color:#5f4b9c}.compact{font-size:.72rem;padding:.38rem .55rem}.token-display{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;min-height:90px;overflow-wrap:anywhere}
@media(max-width:1050px){.report-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.operations-grid{grid-template-columns:1fr}.operations-wide{grid-column:auto}.operations-inline-form,.operations-sla-list .operations-inline-form{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:650px){.report-metrics,.operations-form,.scope-picker{grid-template-columns:1fr}.report-filter-bar{align-items:stretch;flex-direction:column}.report-filter-bar label{min-width:0}.operations-inline-form,.operations-sla-list .operations-inline-form{grid-template-columns:1fr}}

/* Phase 12 release readiness */
.release-summary{display:grid;gap:.7rem;grid-template-columns:repeat(4,minmax(0,1fr));margin-bottom:1rem}.release-summary article{background:linear-gradient(145deg,#f5f7fc,#fff);border:1px solid #e1e6ee;border-radius:10px;padding:.8rem}.release-summary strong{display:block;font-size:1.2rem}.release-summary span{color:#6e7b90;font-size:.74rem}.release-gate-list{display:grid;gap:.45rem;grid-template-columns:repeat(2,minmax(0,1fr))}.release-gate-list label{align-items:center;background:#f7f8fb;border:1px solid #e2e6ed;border-radius:8px;display:flex;gap:.45rem;padding:.55rem .65rem}
@media(max-width:800px){.release-summary,.release-gate-list{grid-template-columns:1fr 1fr}}@media(max-width:520px){.release-summary,.release-gate-list{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.01ms!important}}
