@import "https://fonts.googleapis.com/css2?family=Montserrat:wght@400;500;600;700&family=IBM+Plex+Sans+Arabic:wght@400;500;700&display=swap";:root{--green-800:#3d6652;--green-700:#4b7c63;--green-600:#6c9583;--green-500:#90afa2;--green-300:#b5cbc2;--green-100:#dae5e0;--ink-900:#1d1d1b;--white:#fff;--group-operations:var(--green-700);--group-production:var(--green-800);--group-data:var(--green-600);--group-admin:var(--ink-900);--font-sans:Montserrat, "Helvetica Neue", Arial, sans-serif;--font-arabic:"IBM Plex Sans Arabic", Tahoma, sans-serif;--font-arabic-display:"IBM Plex Sans Arabic", Tahoma, sans-serif;--font-body:var(--font-sans);--font-display:var(--font-sans);--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-6:24px;--space-8:32px;--space-12:48px;--space-16:64px;--radius-none:0;--radius-sm:4px;--radius-md:8px;--radius-full:9999px;--container-max:1320px;--touch-min:44px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}:root,[data-theme=light]{--bg:#fff;--bg-brand:var(--green-100);--surface:#fff;--surface-muted:var(--green-300);--field:#edf2ef;--text:var(--ink-900);--text-muted:#55625c;--border:var(--green-300);--primary:var(--green-700);--primary-strong:var(--green-800);--on-primary:#fff;--danger:#a8433a;--warning:#8a5a12;--shadow-sm:0 1px 2px #1d1d1b14;--shadow-md:0 6px 20px #1d1d1b1a}[data-theme=dark]{--bg:#141a17;--bg-brand:#141a17;--surface:#1d2622;--surface-muted:#26312c;--field:#26312c;--text:#e8efeb;--text-muted:#9fb1a9;--border:#33413a;--primary:var(--green-500);--primary-strong:var(--green-500);--on-primary:var(--ink-900);--danger:#e07a6f;--warning:#d9a54a;--group-data:#5f8775;--shadow-sm:0 1px 2px #0006;--shadow-md:0 6px 20px #00000080;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}@media (prefers-color-scheme:dark){:root:not([data-theme]){--bg:#141a17;--bg-brand:#141a17;--surface:#1d2622;--surface-muted:#26312c;--field:#26312c;--text:#e8efeb;--text-muted:#9fb1a9;--border:#33413a;--primary:var(--green-500);--primary-strong:var(--green-500);--on-primary:var(--ink-900);--danger:#e07a6f;--warning:#d9a54a;--group-data:#5f8775;--shadow-sm:0 1px 2px #0006;--shadow-md:0 6px 20px #00000080;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}[dir=rtl],:lang(ar){--font-body:var(--font-arabic);--font-display:var(--font-arabic-display)}html{background:var(--bg);color:var(--text);font-family:var(--font-body)}body{background:var(--bg);color:var(--text);font-family:var(--font-body);margin:0}a{color:var(--primary-strong)}a:hover{color:var(--text)}.t-display{letter-spacing:-.5px;font-size:56px;font-weight:700;line-height:60px}.t-h1{font-size:36px;font-weight:700;line-height:44px}.t-h2{font-size:26px;font-weight:700;line-height:34px}.t-h3{font-size:18px;font-weight:600;line-height:26px}.t-body{font-size:15px;font-weight:400;line-height:24px}.t-small{font-size:13px;font-weight:400;line-height:20px}.t-label{letter-spacing:.6px;text-transform:uppercase;font-size:12px;font-weight:600;line-height:16px}.t-wide{letter-spacing:3px;font-size:28px;font-weight:400;line-height:36px}[dir=rtl] .t-display,:lang(ar) .t-display{font-family:var(--font-arabic-display);letter-spacing:0;font-size:48px;line-height:64px}[dir=rtl] .t-h1,:lang(ar) .t-h1{font-size:32px;line-height:48px}[dir=rtl] .t-h3,:lang(ar) .t-h3{font-size:19px;font-weight:500;line-height:30px}[dir=rtl] .t-body,:lang(ar) .t-body{font-size:16px;line-height:28px}[dir=rtl] .t-label,:lang(ar) .t-label{letter-spacing:0;text-transform:none}[dir=rtl] .t-wide,:lang(ar) .t-wide{letter-spacing:0}@media (prefers-reduced-motion:reduce){*,:before,:after{transition:none!important;animation:none!important}}.page{max-inline-size:var(--container-max);padding:var(--space-8) var(--space-4);margin-inline:auto}.app-header{z-index:2;background:var(--surface);border-block-end:1px solid var(--border);position:relative}.app-header-inner{max-inline-size:var(--container-max);padding:var(--space-3) var(--space-8);align-items:center;gap:var(--space-4);flex-wrap:wrap;margin-inline:auto;display:flex}.header-end{align-items:center;gap:var(--space-3);flex-wrap:wrap;margin-inline-start:auto;display:flex}.wordmark-link{min-block-size:var(--touch-min);border-radius:var(--radius-sm);align-items:center;display:flex}.header-popover{position:relative}.header-square-button,.header-icon-button,.user-button{min-block-size:var(--touch-min);min-inline-size:var(--touch-min);border-radius:var(--radius-sm);color:var(--text);font:inherit;cursor:pointer;justify-content:center;align-items:center;display:flex}.header-square-button{border:1px solid var(--border);background:var(--surface);color:var(--primary)}.header-icon-button{background:0 0;border:0}.header-square-button:hover,.header-icon-button:hover,.user-button:hover{background:var(--field)}.icon-fill{fill:currentColor}.icon-line{fill:none;stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round}.header-search{flex:300px;max-inline-size:520px;margin-inline:auto}.search-field{align-items:center;gap:var(--space-3);min-block-size:var(--touch-min);padding-inline:var(--space-4);border-radius:var(--radius-sm);background:var(--field);color:var(--text-muted);display:flex}.search-field:focus-within{outline:2px solid var(--primary);outline-offset:1px}.search-field input{min-inline-size:0;min-block-size:var(--touch-min);color:var(--text);font:inherit;background:0 0;border:0;outline:none;flex:1;font-size:14px}.search-field input::placeholder{color:var(--text-muted)}.user-button{gap:var(--space-3);padding-inline:var(--space-1) var(--space-2);text-align:start;background:0 0;border:0}.avatar{border-radius:var(--radius-full);background:var(--green-700);block-size:40px;inline-size:40px;color:var(--white);justify-content:center;align-items:center;font-size:14px;font-weight:600;display:flex}.user-text{flex-direction:column;line-height:1.25;display:flex}.user-name{font-size:14px;font-weight:600}.user-role{color:var(--text-muted);font-size:12px}.header-panel{z-index:3;inline-size:max-content;min-inline-size:240px;max-inline-size:min(360px, calc(100vw - 2 * var(--space-4)));padding:var(--space-4);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-md);position:absolute;inset-block-start:calc(100% + var(--space-2))}.header-panel p{margin:0}.header-panel-start{inset-inline-start:0}.header-panel-end{inset-inline-end:0}.header-panel-title{margin:0 0 var(--space-2);color:var(--text-muted)}.user-panel-name{font-weight:600}.header-panel .user-panel-email{overflow-wrap:anywhere;margin-block-end:var(--space-3)}.user-panel-settings{gap:var(--space-3);flex-direction:column;margin-block-end:var(--space-3);display:flex}.user-panel-language{display:none}.menu-list{padding:var(--space-2) 0 0;border-block-start:1px solid var(--border);margin:0;list-style:none}.menu-item{inline-size:100%;min-block-size:var(--touch-min);padding-inline:var(--space-2);border-radius:var(--radius-sm);color:var(--text);font:inherit;text-align:start;cursor:pointer;background:0 0;border:0;align-items:center;font-size:14px;text-decoration:none;display:flex}.menu-item:hover{background:var(--field)}.header-square-button:focus-visible,.header-icon-button:focus-visible,.user-button:focus-visible,.wordmark-link:focus-visible,.menu-item:focus-visible{outline:2px solid var(--primary);outline-offset:2px}@media (width<=720px){.app-header-inner{padding-inline:var(--space-4);gap:var(--space-2)}.header-search{flex-basis:100%;order:1;max-inline-size:none}.user-text{display:none}.header-end:has(.user-button)>.pref-button{display:none}.user-panel-language{display:block}}.wordmark{block-size:auto;inline-size:120px;display:block}[data-theme=dark] .wordmark{filter:brightness(0)invert()}@media (prefers-color-scheme:dark){:root:not([data-theme]) .wordmark{filter:brightness(0)invert()}}.title{color:var(--primary);margin:0 0 var(--space-2)}.intro{color:var(--text-muted);margin:0 0 var(--space-8);max-inline-size:60ch}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);padding:var(--space-6);max-inline-size:560px}.card h2{margin:0 0 var(--space-4)}.status-list{margin:0}.status-row{justify-content:space-between;align-items:center;gap:var(--space-4);padding-block:var(--space-3);border-block-start:1px solid var(--border);display:flex}.status-row dd{margin:0}.chip{padding:var(--space-1) var(--space-3);border-radius:var(--radius-sm);border:1px solid #0000;font-size:13px;font-weight:600;display:inline-block}.chip-ok{background:var(--green-700);color:var(--white)}.chip-checking{border-color:var(--border);color:var(--text-muted)}.chip-unavailable{background:var(--danger);color:var(--on-primary)}.pref-button{min-block-size:var(--touch-min);padding-inline:var(--space-4);border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);color:var(--text);font:inherit;cursor:pointer;font-weight:600}.pref-button:hover{border-color:var(--primary)}.theme-field{border:0;margin:0;padding:0}.theme-legend{color:var(--text-muted);margin-block-end:var(--space-2);padding:0;font-size:13px;font-weight:600}.theme-choice{border:1px solid var(--border);border-radius:var(--radius-sm);display:flex;overflow:hidden}.theme-option{white-space:nowrap;min-block-size:var(--touch-min);padding-inline:var(--space-3);cursor:pointer;color:var(--text-muted);background:var(--surface);flex:1;justify-content:center;align-items:center;font-size:13px;font-weight:600;display:flex;position:relative}.theme-option+.theme-option{border-inline-start:1px solid var(--border)}.theme-option input{opacity:0;cursor:pointer;margin:0;position:absolute;inset:0}.theme-option:has(input:checked){background:var(--primary);color:var(--on-primary)}.pref-button:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.theme-option:has(input:focus-visible){outline:2px solid var(--primary);outline-offset:2px}.visually-hidden{clip-path:inset(50%);white-space:nowrap;block-size:1px;inline-size:1px;position:absolute;overflow:hidden}.auth-card{max-inline-size:440px;margin-inline:auto}.auth-card h1,.auth-card h2{margin:0 0 var(--space-2);color:var(--primary)}.muted{color:var(--text-muted)}.card+.card{margin-block-start:var(--space-6)}.field{gap:var(--space-1);margin-block:var(--space-4);flex-direction:column;display:flex}.field label{font-size:14px;font-weight:600}.field input{min-block-size:var(--touch-min);padding-inline:var(--space-3);border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--field);color:var(--text);font:inherit}.field input::placeholder{color:var(--text-muted)}[dir=rtl] .field input[dir=ltr]:placeholder-shown,[dir=rtl] .field-with-action[dir=ltr] input:placeholder-shown{text-align:right}.field input:focus-visible{outline:2px solid var(--primary);outline-offset:1px}.field-with-action{display:flex;position:relative}.field-with-action input{min-inline-size:0;flex:1;padding-inline-end:calc(var(--touch-min) + var(--space-1))}.field-action{inline-size:var(--touch-min);border-radius:var(--radius-sm);color:var(--text-muted);cursor:pointer;background:0 0;border:0;justify-content:center;align-items:center;display:flex;position:absolute;inset-block:0;inset-inline-end:0}.field-action[aria-pressed=true]{color:var(--primary)}.field-action:focus-visible{outline:2px solid var(--primary);outline-offset:-2px}.check-field{margin-block:var(--space-3)}.check-field label{align-items:center;gap:var(--space-3);min-block-size:var(--touch-min);cursor:pointer;font-size:14px;font-weight:600;display:flex}.check-field input{block-size:20px;inline-size:20px;accent-color:var(--primary);margin:0}.field-hint{color:var(--text-muted);margin:0;font-size:13px}.form-error,.form-info{margin-block:var(--space-3);padding:var(--space-3);border-radius:var(--radius-sm);font-size:14px}.form-error{border:1px solid var(--danger);color:var(--danger)}.form-info{border:1px solid var(--border);background:var(--surface)}.button-primary,.button-secondary{min-block-size:var(--touch-min);padding-inline:var(--space-4);border-radius:var(--radius-sm);font:inherit;cursor:pointer;font-weight:600}.button-primary{background:var(--primary);inline-size:100%;color:var(--on-primary);border:0}.auth-links .button-primary{inline-size:auto}.button-secondary{border:1px solid var(--border);background:var(--surface);color:var(--text)}.button-primary:disabled,.button-secondary:disabled{opacity:.6;cursor:progress}.link-button{min-block-size:var(--touch-min);color:var(--primary-strong);font:inherit;cursor:pointer;background:0 0;border:0;padding:0;text-decoration:underline}.button-primary:focus-visible,.button-secondary:focus-visible,.link-button:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.auth-links{align-items:center;gap:var(--space-3);flex-wrap:wrap;margin-block-start:var(--space-4);display:flex}.method-choice{margin:var(--space-4) 0 0;border:1px solid var(--border);border-radius:var(--radius-sm);flex-wrap:wrap;padding:0;display:flex;overflow:hidden}.method-choice .theme-option+.theme-option{border-inline-start:1px solid var(--border)}.steps{padding-inline-start:var(--space-6);line-height:1.7}.qr{background:var(--white);padding:var(--space-2);border-radius:var(--radius-sm);margin-inline:auto;display:block}.recovery-codes{gap:var(--space-2);padding:var(--space-4);margin:var(--space-4) 0;border:1px dashed var(--border);border-radius:var(--radius-sm);grid-template-columns:repeat(2,1fr);font-size:15px;list-style:none;display:grid}.greeting{gap:var(--space-1);flex-direction:column;margin-block-end:var(--space-6);display:flex}.greeting-date,.greeting-summary{color:var(--text-muted);margin:0;font-size:14px}.greeting-title{color:var(--primary);margin:0;font-size:34px;font-weight:700;line-height:42px}.dash-top{gap:var(--space-6);flex-wrap:wrap;align-items:stretch;margin-block-end:var(--space-8);display:flex}.dash-card.card{min-inline-size:0;max-inline-size:none;padding:var(--space-6)}.dash-tasks{flex:3 520px}.dash-tasks.card,.dash-requests.card{flex-direction:column;display:flex}.dash-scroll{overscroll-behavior:contain;scrollbar-gutter:stable;max-block-size:300px;overflow-y:auto}.dash-scroll:focus-visible,.side-scroll:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.dash-card .dash-see-all{margin-block-start:auto}.dash-requests{flex:2 360px}.card+.card.dash-card{margin-block-start:0}.dash-card-head{align-items:center;gap:var(--space-3);flex-wrap:wrap;margin-block-end:var(--space-2);display:flex}.dash-card-head h2{margin:0}.dash-card-note,.dash-card-action{color:var(--text-muted);margin-inline-start:auto;font-size:13px}.dash-card-action{color:var(--primary-strong);font-weight:600}.count{border-radius:var(--radius-full);padding:2px 9px;font-size:12px;font-weight:600}.count-green{background:var(--green-700);color:var(--white)}.count-red{background:var(--danger);color:var(--on-primary)}.dash-empty{margin:var(--space-3) 0 0;border-block-start:1px solid var(--border);padding-block-start:var(--space-3);font-size:14px}.dash-list{margin:0;padding:0;list-style:none}.dash-list>li{border-block-start:1px solid var(--border)}.task-row{align-items:center;gap:var(--space-3);padding-block:var(--space-3);flex-wrap:wrap;display:flex}.task-text{flex-direction:column;flex:200px;gap:2px;min-inline-size:0;display:flex}.task-title,.request-title{font-size:14px;font-weight:500}.task-meta{color:var(--text-muted);font-size:12px}.chip-module{background:var(--field);border-color:var(--border);color:var(--text);border-radius:var(--radius-full);white-space:nowrap;font-size:12px}.due{text-align:end;white-space:nowrap;min-inline-size:72px;font-size:12px;font-weight:600}.due-overdue,.due-today{color:var(--danger)}.due-soon{color:var(--warning)}.due-later{color:var(--text-muted)}.box-tabs{border:1px solid var(--border);border-radius:var(--radius-sm);gap:2px;margin-block-end:var(--space-2);padding:3px;display:inline-flex}.box-tab{min-block-size:36px;padding-inline:var(--space-3);border-radius:var(--radius-sm);color:var(--text-muted);font:inherit;cursor:pointer;background:0 0;border:0;font-size:13px;font-weight:600}.box-tab[aria-pressed=true]{background:var(--primary);color:var(--on-primary)}.request-row{gap:var(--space-2);padding-block:var(--space-3);flex-direction:column;display:flex}.request-top{justify-content:space-between;gap:var(--space-2);color:var(--text-muted);font-size:12px;display:flex}.request-top strong{color:var(--text);font-weight:600}.request-body{white-space:pre-wrap;margin:0;font-size:13px}.request-actions{gap:var(--space-2);flex-wrap:wrap;display:flex}.button-small,.button-outline{min-block-size:40px;padding-inline:var(--space-4);border-radius:var(--radius-sm);font:inherit;cursor:pointer;font-size:13px;font-weight:600}.button-small{background:var(--primary);color:var(--on-primary);border:0}.button-outline{border:1px solid var(--primary-strong);background:var(--surface);color:var(--primary-strong)}.button-small:disabled{opacity:.6;cursor:progress}.button-small:focus-visible,.button-outline:focus-visible,.box-tab:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.thread{gap:var(--space-2);padding:var(--space-3);border-radius:var(--radius-sm);background:var(--field);flex-direction:column;display:flex}.thread-lines{gap:var(--space-2);flex-direction:column;margin:0;padding:0;font-size:13px;list-style:none;display:flex}.thread-line{flex-direction:column;display:flex}.thread-form,.new-request{gap:var(--space-2);flex-direction:column;align-items:flex-start;display:flex}.new-request{padding:var(--space-3) 0;border-block-start:1px solid var(--border)}.new-request .field{inline-size:100%;margin-block:0}.thread-form textarea,.new-request textarea,.new-request select{box-sizing:border-box;inline-size:100%;padding:var(--space-2) var(--space-3);border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);color:var(--text);font:inherit;font-size:14px}.new-request select{min-block-size:var(--touch-min);background:var(--field)}.new-request textarea{background:var(--field)}.thread-form textarea:focus-visible,.new-request textarea:focus-visible,.new-request select:focus-visible{outline:2px solid var(--primary);outline-offset:1px}@media (width<=720px){.greeting-title{font-size:28px;line-height:36px}.dash-card.card{padding:var(--space-4)}}.launcher h2{margin:0 0 var(--space-4)}.launcher-grid{gap:var(--space-6) var(--space-4);grid-template-columns:repeat(auto-fill,minmax(96px,1fr));margin:0;padding:0;list-style:none;display:grid}.launcher-item{align-items:center;gap:var(--space-2);text-align:center;flex-direction:column;display:flex}.launcher-tile{border-radius:var(--radius-md);justify-content:center;align-items:center;block-size:72px;inline-size:72px;display:flex;position:relative}.group-operations{background:var(--group-operations)}.group-production{background:var(--group-production)}.group-data{background:var(--group-data)}.group-admin{background:var(--group-admin)}[data-theme=dark] .group-admin{box-shadow:inset 0 0 0 1px var(--border)}@media (prefers-color-scheme:dark){:root:not([data-theme]) .group-admin{box-shadow:inset 0 0 0 1px var(--border)}}.launcher-badge{box-sizing:border-box;border-radius:var(--radius-full);border:2px solid var(--surface);background:var(--danger);block-size:22px;min-inline-size:22px;color:var(--on-primary);justify-content:center;align-items:center;padding-inline:5px;font-size:11px;font-weight:600;display:flex;position:absolute;inset-block-start:-7px;inset-inline-end:-7px}.launcher-name{font-size:13px;font-weight:600}.launcher-note{margin-block:var(--space-4) 0;font-size:13px}.dash-divider{margin-block:var(--space-8);border:0;border-block-start:1px solid var(--border)}.kpi-row{gap:var(--space-4);grid-template-columns:repeat(auto-fit,minmax(170px,1fr));margin-block-end:var(--space-6);display:grid}.kpi-card{gap:var(--space-1);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);flex-direction:column;padding:18px 20px;display:flex}.kpi-label,.kpi-note{color:var(--text-muted)}.kpi-label{font-size:13px;line-height:20px}.kpi-note{font-size:12px;line-height:16px}.kpi-value{color:var(--primary-strong);font-variant-numeric:tabular-nums;font-size:30px;font-weight:700;line-height:38px}.kpi-value.kpi-warn,.kpi-failed{color:var(--danger)}.panel-modules{margin:0 0 var(--space-3);gap:var(--space-2) var(--space-3);grid-template-columns:repeat(2,minmax(0,1fr));padding:0;font-size:14px;list-style:none;display:grid}.panel-modules li{align-items:center;gap:var(--space-2);display:flex}.panel-module-icon{border-radius:var(--radius-sm);flex:none;justify-content:center;align-items:center;block-size:30px;inline-size:30px;display:flex}.pipeline{margin-block-end:var(--space-6)}.pipeline-scroll{margin-block-start:var(--space-3);overflow-x:auto}.pipeline-stages{grid-template-columns:repeat(9,minmax(88px,1fr));gap:6px;min-inline-size:820px;margin:0;padding:0;list-style:none;display:grid}.pipeline-stage{border-radius:var(--radius-sm);min-block-size:108px;color:var(--white);flex-direction:column;gap:2px;padding:10px 12px;display:flex}.band-1{background:var(--green-700)}.band-2{background:var(--green-800)}.band-3{background:var(--ink-900)}[data-theme=dark] .band-3{box-shadow:inset 0 0 0 1px var(--border)}@media (prefers-color-scheme:dark){:root:not([data-theme]) .band-3{box-shadow:inset 0 0 0 1px var(--border)}}.pipeline-stage.is-overdue{background:var(--surface);color:var(--danger);box-shadow:inset 0 0 0 2px var(--danger)}.pipeline-step{opacity:.8;font-size:12px;font-weight:600}.pipeline-name{font-size:13px;font-weight:600;line-height:18px}.pipeline-count{font-variant-numeric:tabular-nums;margin-block-start:auto;font-size:26px;font-weight:700;line-height:32px}.pipeline-overdue{font-size:12px;font-weight:600}.visits{margin-block-end:var(--space-6)}.visits-scroll{overflow-x:auto}.visits-table{border-collapse:collapse;inline-size:100%;min-inline-size:560px;font-size:14px}.visits-table th{padding:var(--space-2) var(--space-3);border-block-end:1px solid var(--border);color:var(--text-muted);text-align:start;font-size:12px;font-weight:600}.visits-table td{padding:var(--space-3);border-block-end:1px solid var(--border);vertical-align:top}.visits-table tr:last-child td{border-block-end:0}.visits-time{font-variant-numeric:tabular-nums;white-space:nowrap;font-weight:600}.visits-project{font-weight:600;display:block}.visit-chip{border-radius:var(--radius-sm);white-space:nowrap;padding:2px 10px;font-size:12px;font-weight:600;display:inline-block}.visit-done{background:var(--green-700);color:var(--white)}.visit-on_site{background:var(--green-300);color:var(--ink-900)}.visit-pending{background:var(--surface);color:var(--warning);box-shadow:inset 0 0 0 1px var(--warning)}.visit-late{background:var(--danger);color:var(--on-primary)}.dash-widgets{align-items:flex-start;gap:var(--space-6);flex-wrap:wrap;display:flex}.dash-main{flex:999 560px;min-inline-size:0}.dash-side{flex:280px;min-inline-size:0}@media (width>=900px){.dash-widgets-split{grid-template-columns:minmax(0,1fr) minmax(280px,340px);align-items:stretch;display:grid}.dash-widgets-split .dash-main>:last-child{margin-block-end:0}.dash-widgets-split .dash-side{contain:size;gap:var(--space-6);flex-direction:column;min-block-size:320px;display:flex}.dash-widgets-split .dash-side>.side-tabs{flex:none;margin-block-end:calc(var(--space-3) - var(--space-6))}.dash-widgets-split .dash-side>.dash-card{flex-direction:column;flex:1 1 0;min-block-size:0;margin:0;display:flex}.dash-widgets-split .side-scroll{overscroll-behavior:contain;flex:auto;min-block-size:0;overflow-y:auto}}@media (width<=899px){.side-scroll{max-block-size:360px;overflow-y:auto}}.team-load{margin-block-end:var(--space-6)}.team-load-list,.activity-list{margin:0;padding:0;list-style:none}.team-load-row{align-items:center;gap:var(--space-3);padding-block:var(--space-2);grid-template-columns:minmax(120px,180px) 1fr auto;display:grid}.team-load-name{text-overflow:ellipsis;white-space:nowrap;font-weight:600;overflow:hidden}.team-load-track{background:var(--field);border-radius:var(--radius-full);block-size:10px;overflow:hidden}.team-load-bar{background:var(--primary);border-radius:var(--radius-full);block-size:100%;display:block}.team-load-bar.is-behind{background:var(--warning)}.team-load-count{gap:var(--space-2);font-variant-numeric:tabular-nums;white-space:nowrap;align-items:center;font-size:13px;display:flex}.team-load-behind{color:var(--warning);font-size:12px;font-weight:600}.activity-item{padding-block:var(--space-3);border-block-end:1px solid var(--border);flex-direction:column;gap:2px;font-size:14px;display:flex}.activity-item:last-child{border-block-end:0}.projects{gap:var(--space-6);flex-direction:column;display:flex}.projects .card{max-inline-size:none}.projects .card+.card{margin-block-start:0}.num{font-family:var(--font-sans);direction:ltr;unicode-bidi:isolate}.text-danger{color:var(--danger)}.text-warning{color:var(--warning)}.form-ok{margin-block:var(--space-3);padding:var(--space-3);border-radius:var(--radius-sm);border:1px solid var(--primary);color:var(--primary-strong);font-size:14px}.launcher-link{align-items:center;gap:var(--space-2);color:inherit;border-radius:var(--radius-md);flex-direction:column;text-decoration:none;display:flex}.launcher-link:hover .launcher-name{text-decoration:underline}.launcher-link:focus-visible{outline:2px solid var(--primary);outline-offset:4px}.task-title:is(a){color:inherit}.erp-banner{align-items:center;gap:var(--space-4);padding:var(--space-4) var(--space-6);border-radius:var(--radius-md);background:var(--green-700);color:var(--white);flex-wrap:wrap;margin-block-end:var(--space-6);font-weight:600;display:flex}.erp-banner-text{flex-direction:column;flex:240px;gap:2px;font-size:13px;display:flex}.erp-banner-text strong{font-size:16px}.erp-banner-action{min-block-size:var(--touch-min);padding-inline:var(--space-4);border-radius:var(--radius-sm);background:var(--white);color:var(--green-800);align-items:center;font-size:14px;font-weight:700;text-decoration:none;display:inline-flex}.projects-head{justify-content:space-between;align-items:flex-end;gap:var(--space-4);flex-wrap:wrap;display:flex}.projects-title{color:var(--primary);margin:0;font-size:30px;font-weight:700;line-height:42px}.projects-subtitle,.project-sub{margin:0}.projects-actions{gap:var(--space-2);display:flex}.projects-new{align-items:center;text-decoration:none;display:inline-flex}.insights{gap:var(--space-4);grid-template-columns:repeat(auto-fit,minmax(170px,1fr));display:grid}.insight{gap:var(--space-1);padding:var(--space-4);flex-direction:column;display:flex}.insight-label{color:var(--text-muted);font-size:12px;font-weight:500}.insight-value{color:var(--primary);text-align:start;font-size:32px;font-weight:700;line-height:40px}.insight-danger{color:var(--danger)}.insight-warning{color:var(--warning)}.insight-note{color:var(--text-muted);font-size:12px}.projects-board{padding:0;overflow:hidden}.projects-toolbar{align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);border-block-end:1px solid var(--border);flex-wrap:wrap;display:flex}.view-switch{border:1px solid var(--border);border-radius:var(--radius-sm);display:inline-flex;overflow:hidden}.view-switch button{min-block-size:var(--touch-min);padding-inline:var(--space-4);background:var(--surface);color:var(--primary-strong);font:inherit;cursor:pointer;border:0;font-size:13px;font-weight:600}.view-switch .view-on{background:var(--primary);color:var(--on-primary)}.status-filters{gap:var(--space-2);flex-wrap:wrap;display:flex}.status-filter{min-block-size:var(--touch-min);padding-inline:var(--space-3);border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);color:var(--text);font:inherit;cursor:pointer;font-size:12px}.status-filter-on{background:var(--surface-muted);border-color:var(--surface-muted);font-weight:600}.status-filter-count{color:var(--text-muted);margin-inline-start:var(--space-1)}.status-filter-on .status-filter-count{color:inherit}.projects-filters{gap:var(--space-3);flex-wrap:wrap;margin-inline-start:auto;display:flex}.filter-select{align-items:center;gap:var(--space-2);color:var(--text-muted);font-size:12px;display:flex}.filter-select select,.filter-search input,.gate-fields input,.gate-fields select,.stages-editor input{border:1px solid var(--border);border-radius:var(--radius-sm);min-block-size:40px;padding-inline:var(--space-3);background:var(--field);color:var(--text);font:inherit;font-size:14px}.filter-search input{inline-size:220px;max-inline-size:100%}.view-switch button:focus-visible,.status-filter:focus-visible,.filter-select select:focus-visible,.filter-search input:focus-visible,.gate-fields input:focus-visible,.gate-fields select:focus-visible,.stages-editor input:focus-visible,.tab:focus-visible,.erp-banner-action:focus-visible,.kanban-card:focus-visible,.project-link:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.table-scroll{overflow-x:auto}.projects-table,.mini-table{border-collapse:collapse;inline-size:100%;font-size:14px}.projects-table th,.mini-table th{text-align:start;color:var(--text-muted);padding:var(--space-3) var(--space-3);border-block-end:1px solid var(--border);white-space:nowrap;font-size:12px;font-weight:600}.projects-table td,.mini-table td{padding:var(--space-3) var(--space-3);border-block-end:1px solid var(--border);vertical-align:middle}.mini-table{font-size:13px}.mini-table td,.mini-table th{padding:var(--space-2) var(--space-2)}.projects-table tr:last-child td{border-block-end:0}.row-awaiting{background:var(--field)}.project-link{color:var(--primary-strong);font-weight:600}.table-foot{padding:var(--space-3) var(--space-4);margin:0}.status-chip{white-space:nowrap;font-size:12px}.status-awaiting_kickoff{border-color:var(--danger);color:var(--danger)}.status-active,.status-delivered{background:var(--surface-muted);color:var(--text)}.status-overdue{background:var(--danger);color:var(--on-primary)}.status-on_hold,.status-closed,.status-archived{border-color:var(--border);color:var(--text-muted)}.service-chip{background:var(--field);color:var(--text);font-size:12px;text-decoration:none}.code-chip{background:var(--field);color:var(--primary-strong)}.kickoff{white-space:nowrap;align-items:center;gap:6px;font-size:13px;display:inline-flex}.kickoff-dot{border-radius:var(--radius-full);background:var(--border);vertical-align:middle;block-size:10px;inline-size:10px;margin-inline-end:4px;display:inline-block}.kickoff-red .kickoff-dot,.col-red,.col-awaiting_kickoff{background:var(--danger)}.kickoff-yellow .kickoff-dot,.col-yellow,.tour-in_progress,.tour-review{background:var(--warning)}.kickoff-green .kickoff-dot,.col-active,.tour-released{background:var(--green-700)}.col-delivered{background:var(--green-500)}.col-on_hold{background:var(--text-muted)}.kickoff-red{color:var(--danger)}.kickoff-yellow{color:var(--warning)}.progress{align-items:center;gap:var(--space-2);display:inline-flex}.progress-track{border-radius:var(--radius-sm);background:var(--surface-muted);block-size:6px;inline-size:110px;display:inline-block;overflow:hidden}.progress-fill{background:var(--primary);block-size:100%;display:block}.progress-danger .progress-fill{background:var(--danger)}.progress-text{font-size:12px}.kanban{gap:var(--space-4);padding:var(--space-4);align-items:flex-start;display:flex;overflow-x:auto}.kanban-column{gap:var(--space-2);min-inline-size:240px;padding:var(--space-3);border:1px solid var(--border);border-radius:var(--radius-md);background:var(--field);flex-direction:column;flex:240px;display:flex}.kanban-title{margin:0 0 var(--space-1);font-size:13px;font-weight:700}.kanban-card{gap:var(--space-1);padding:var(--space-3);border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);color:var(--text);flex-direction:column;font-size:13px;text-decoration:none;display:flex}.kanban-card:hover{border-color:var(--primary)}.project-code{color:var(--primary-strong);font-size:12px;font-weight:600}.kanban-name{font-size:14px;font-weight:500}.kanban-meta{justify-content:space-between;gap:var(--space-2);color:var(--text-muted);font-size:12px;display:flex}.kanban-note{font-size:12px;font-weight:600}.kanban-more{text-align:center;padding:var(--space-1)}.kanban .kanban-card+.kanban-card,.projects .kanban .card+.card{margin-block-start:0}.crumbs{color:var(--text-muted);margin:0}.crumbs a{color:var(--primary-strong)}.project-head{gap:var(--space-4);flex-direction:column;display:flex}.project-head-row{gap:var(--space-6);flex-wrap:wrap;align-items:flex-start;display:flex}.project-head-main{gap:var(--space-2);flex-direction:column;flex:320px;display:flex}.project-head-side{align-items:flex-end;gap:var(--space-3);flex-direction:column;display:flex}.project-tags{align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.project-actions{gap:var(--space-2);flex-wrap:wrap;display:flex}.kickoff-box{align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);border:1px solid var(--border);border-radius:var(--radius-md);background:var(--field);display:flex}.kickoff-box-red{border-color:var(--danger)}.kickoff-box-text{flex-direction:column;display:flex}.tabs{border-block-end:1px solid var(--border);flex-wrap:wrap;display:flex}.tab{min-block-size:var(--touch-min);padding-inline:var(--space-4);align-items:center;gap:var(--space-1);color:var(--text-muted);font:inherit;cursor:pointer;background:0 0;border:0;border-block-end:3px solid #0000;margin-block-end:-1px;font-size:14px;display:inline-flex}.tab-on{color:var(--primary-strong);border-block-end-color:var(--primary);font-weight:700}.tab-locked{color:var(--text-muted);opacity:.7;cursor:not-allowed}.section-title{border-inline-start:4px solid var(--green-500);margin:0;padding-inline-start:var(--space-3)}.gate{gap:var(--space-4);grid-template-columns:repeat(auto-fit,minmax(300px,1fr));display:grid}.gate-form{border:2px solid var(--primary);gap:var(--space-3);flex-direction:column;grid-column:1/-1;display:flex}@media (width>=900px){.gate{grid-template-columns:2fr 1fr}.gate-form{grid-column:1}.gate-path{grid-column:1/-1}}.gate-fields{gap:var(--space-3);grid-template-columns:repeat(auto-fit,minmax(220px,1fr));display:grid}.gate-fields label{gap:var(--space-1);color:var(--text-muted);flex-direction:column;font-size:12px;display:flex}.gate-wide{grid-column:1/-1}.gate-buttons{align-items:center;gap:var(--space-2);flex-wrap:wrap;grid-column:1/-1;display:flex}.path{column-gap:var(--space-8);grid-template-columns:repeat(auto-fit,minmax(260px,1fr));margin:0;padding:0;list-style:none;display:grid}.path-step{gap:var(--space-3);padding-block:var(--space-2);border-block-end:1px solid var(--border);align-items:flex-start;font-size:13px;display:flex}.path-step>span:last-child{flex-direction:column;display:flex}.path-num{border-radius:var(--radius-full);border:2px solid var(--border);block-size:26px;inline-size:26px;color:var(--text-muted);flex:none;justify-content:center;align-items:center;font-size:12px;font-weight:700;display:inline-flex}.path-done .path-num{background:var(--green-700);border-color:var(--green-700);color:var(--white)}.path-current .path-num{background:var(--danger);border-color:var(--danger);color:var(--on-primary)}.path-next{color:var(--text-muted)}.kv{margin:0}.kv-row{justify-content:space-between;gap:var(--space-3);padding-block:var(--space-2);border-block-end:1px solid var(--border);font-size:13px;display:flex}.kv-row:last-child{border-block-end:0}.kv dt{color:var(--text-muted)}.kv dd{text-align:end;flex-direction:column;align-items:flex-end;margin:0;display:flex}.insights-5{grid-template-columns:repeat(auto-fit,minmax(190px,1fr))}.stages-card{gap:var(--space-3);flex-direction:column;display:flex}.stage-track{gap:var(--space-3);grid-template-columns:repeat(auto-fit,minmax(170px,1fr));margin:0;padding:0;list-style:none;display:grid}.stage{gap:var(--space-1);padding:var(--space-3);border:1px solid var(--border);border-radius:var(--radius-md);flex-direction:column;font-size:13px;display:flex}.stage-done{border-color:var(--green-700)}.stage-num{border-radius:var(--radius-full);border:2px solid var(--border);block-size:28px;inline-size:28px;color:var(--text-muted);justify-content:center;align-items:center;font-size:12px;font-weight:700;display:inline-flex}.stage-done .stage-num{background:var(--green-700);border-color:var(--green-700);color:var(--white)}.stage-captured .stage-num{border-color:var(--green-700);color:var(--green-800)}.stage-name{font-weight:600}.stage-slider{align-items:center;gap:var(--space-2);display:flex}.stage-slider input{min-block-size:var(--touch-min);accent-color:var(--primary);flex:1}.stages-editor{gap:var(--space-2);flex-direction:column;display:flex}.stage-edit-row{gap:var(--space-2);grid-template-columns:minmax(160px,2fr) minmax(90px,1fr) minmax(90px,1fr) auto;align-items:end;display:grid}.stage-edit-row label{color:var(--text-muted);flex-direction:column;gap:2px;display:flex}.two-up,.three-up{gap:var(--space-4);grid-template-columns:repeat(auto-fit,minmax(300px,1fr));display:grid}.building-name{margin:var(--space-3) 0 var(--space-1);font-weight:600}.contact{display:block}.lock-icon{flex:none}.new-project{gap:var(--space-3);flex-direction:column;max-inline-size:760px;display:flex}@media (width<=640px){.projects-title{font-size:24px;line-height:32px}.stage-edit-row{grid-template-columns:1fr 1fr}.projects-filters{margin-inline-start:0}.kv-row,.kv dd{text-align:start;flex-direction:column;align-items:flex-start}}.kickoffs{margin-block-end:var(--space-6)}.kickoff-item{padding-block:var(--space-3);border-block-end:1px solid var(--border);flex-direction:column;gap:2px;font-size:14px;display:flex}.kickoff-item:last-child{border-block-end:0}.kickoff-code{color:var(--primary-strong);align-self:flex-start;font-weight:600}.erp-banner-link{color:inherit;text-decoration:none}.erp-banner-link:hover,.erp-banner-link:focus-visible{text-decoration:underline}.kickoff-card{gap:var(--space-3);flex-direction:column;display:flex}.kickoff-progress{align-items:flex-end;gap:var(--space-2);flex-direction:column;min-inline-size:220px;display:flex}.kickoff-progress .progress-track{inline-size:220px}.checklist-section{border:0;margin:0;padding:0}.checklist-section legend{color:var(--primary-strong);padding-block-end:var(--space-2);font-weight:700}.checklist{margin:0 0 var(--space-3);flex-direction:column;padding:0;list-style:none;display:flex}.checklist-item{gap:var(--space-2) var(--space-4);padding-block:var(--space-2);border-block-end:1px solid var(--border);grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:center;display:grid}.checklist-line{align-items:center;gap:var(--space-2);min-block-size:var(--touch-min);font-size:14px;display:flex}.checklist-line input,.inline-check input,.day-choice input,.mini-table input[type=checkbox]{block-size:20px;inline-size:20px;accent-color:var(--primary);flex:none}.checklist-add-note{justify-self:end;font-size:13px}.checklist-done .checklist-line label{color:var(--text-muted)}.required-mark{color:var(--danger);font-weight:700}.checklist-answer,.gate-fields textarea{box-sizing:border-box;border:1px solid var(--border);border-radius:var(--radius-sm);min-block-size:40px;inline-size:100%;padding:var(--space-2) var(--space-3);background:var(--field);color:var(--text);font:inherit;resize:vertical;font-size:14px}.plan-fieldset{gap:var(--space-3);border:0;grid-column:1/-1;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin:0;padding:0;display:grid}.days{gap:var(--space-2) var(--space-4);border:0;flex-wrap:wrap;margin:0;padding:0;display:flex}.days legend,.gaps legend{color:var(--text-muted);padding-block-end:var(--space-1);font-size:12px}.day-choice,.inline-check{align-items:center;gap:var(--space-2);min-block-size:var(--touch-min);color:var(--text);flex-direction:row;font-size:14px;display:inline-flex}.gate-fields label.inline-check,.gate-fields label.day-choice{color:var(--text);flex-direction:row;font-size:14px}.gaps{gap:var(--space-2);border:0;flex-direction:column;margin:0;padding:0;display:flex}.gap-row{gap:var(--space-2);grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto;align-items:center;display:grid}.gap-row input{box-sizing:border-box;inline-size:100%}.gap-row input[aria-invalid=true]{border-color:var(--danger)}.party-list{gap:var(--space-3);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.party{gap:var(--space-2);padding:var(--space-3);border:1px solid var(--border);border-radius:var(--radius-md);flex-direction:column;display:flex}.party-head{align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.party-remove{margin-inline-start:auto}.contact-list{margin:0;padding:0;list-style:none}.contact-row{align-items:center;gap:var(--space-1) var(--space-3);padding-block:var(--space-2);border-block-start:1px solid var(--border);flex-wrap:wrap;font-size:14px;display:flex}.add-party,.add-contact{border-block-start:1px dashed var(--border);padding-block-start:var(--space-3)}.add-party h3{margin:0;font-weight:700}.mini-table th[scope=row]{text-align:start;color:var(--text);font-weight:500}.mini-table input[type=date],.mini-table select{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--field);min-block-size:36px;color:var(--text);font:inherit;font-size:13px}.approve-missing{color:var(--danger);margin:0;padding-inline-start:var(--space-4)}.checklist-answer:focus-visible,.gate-fields textarea:focus-visible,.gap-row input:focus-visible,.mini-table input:focus-visible,.mini-table select:focus-visible,.checklist-line input:focus-visible,.day-choice input:focus-visible,.inline-check input:focus-visible{outline:2px solid var(--primary);outline-offset:2px}@media (width<=640px){.checklist-item,.gap-row{grid-template-columns:1fr}.kickoff-progress{align-items:flex-start}}.people{gap:var(--space-6);flex-direction:column;display:flex}.people .card{max-inline-size:none}.people .card+.card{margin-block-start:0}.people-nav{gap:var(--space-4);font-size:14px;font-weight:600;display:flex}.people-nav a{color:var(--primary-strong);padding-block:var(--space-1);border-block-end:2px solid #0000;text-decoration:none}.people-nav a[aria-current=page]{border-block-end-color:var(--primary);color:var(--text)}.people-head p{margin:var(--space-1) 0 0}.people-card h2{margin:0 0 var(--space-3)}.people-filters{gap:var(--space-3);flex-wrap:wrap;align-items:center;margin-block-end:var(--space-4);display:flex}.people-search{flex:240px}.people-search input,.people-form input:not([type=checkbox]),.people-form select{box-sizing:border-box;min-block-size:44px;inline-size:100%;padding-inline:var(--space-3);border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--field);color:var(--text);font:inherit}.people .segmented{border:1px solid var(--border);border-radius:var(--radius-sm);display:inline-flex;overflow:hidden}.people .segmented button{min-block-size:40px;padding-inline:var(--space-3);background:var(--surface);color:var(--text);font:inherit;cursor:pointer;border:0;font-size:13px}.people .segmented button[aria-pressed=true]{background:var(--primary);color:var(--on-primary);font-weight:600}.people-scroll{overflow-x:auto}.people-table{border-collapse:collapse;inline-size:100%;min-inline-size:680px;font-size:14px}.people-table th{padding:var(--space-2) var(--space-3);border-block-end:1px solid var(--border);color:var(--text-muted);text-align:start;font-size:12px;font-weight:600}.people-table td{padding:var(--space-3);border-block-end:1px solid var(--border);vertical-align:top}.people-name{color:var(--primary-strong);font-weight:600}.people-email{text-align:start}.account-chip{white-space:nowrap}.account-active{background:var(--green-700);color:var(--white)}.account-invited{background:var(--surface);color:var(--warning);box-shadow:inset 0 0 0 1px var(--warning)}.account-suspended{background:var(--surface-muted);color:var(--text)}.enrollment-chip{white-space:nowrap}.enrollment-approved{background:var(--green-700);color:var(--white)}.enrollment-submitted{background:var(--surface);color:var(--warning);box-shadow:inset 0 0 0 1px var(--warning)}.enrollment-rejected{background:var(--surface);color:var(--danger);box-shadow:inset 0 0 0 1px var(--danger)}.enrollment-none,.enrollment-draft{background:var(--surface-muted);color:var(--text)}.enrollment-photos{gap:var(--space-4);margin-block:var(--space-3);flex-wrap:wrap;display:flex}.enrollment-photos figure{gap:var(--space-2);flex-direction:column;margin:0;display:flex}.enrollment-photo{aspect-ratio:3/4;object-fit:cover;border:1px solid var(--border);border-radius:var(--radius-md);inline-size:160px;max-inline-size:100%}.enrollment-daily{gap:var(--space-3);flex-wrap:wrap;margin:0;padding:0;list-style:none;display:flex}.enrollment-daily li{gap:var(--space-1);flex-direction:column;display:flex}.face-mismatch{background:var(--surface);color:var(--danger);box-shadow:inset 0 0 0 1px var(--danger)}.face-match{background:var(--green-700);color:var(--white)}.face-no_face,.face-no_reference,.face-no_consent,.face-error{background:var(--surface-muted);color:var(--text)}.enrollment-photo-small{aspect-ratio:3/4;object-fit:cover;border-radius:var(--radius-sm);inline-size:72px}.people-form{gap:var(--space-3) var(--space-4);margin-block:var(--space-3);grid-template-columns:repeat(auto-fit,minmax(200px,1fr));align-items:end;display:grid}.people-form label{gap:var(--space-1);flex-direction:column;font-size:13px;display:flex}.people-form h3{grid-column:1/-1;margin:0}.people-buttons{gap:var(--space-3);flex-wrap:wrap;grid-column:1/-1;display:flex}.button-danger{color:var(--danger);border-color:var(--danger)}.people-person-head{gap:var(--space-3);flex-wrap:wrap;align-items:center;display:flex}.people-person-head h1{margin:0}.people-facts{gap:var(--space-3);margin:var(--space-4) 0;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));display:grid}.people-facts dt{color:var(--text-muted);font-size:12px}.people-facts dd{margin:0;font-weight:600}.people-grants{margin:0;padding:0;list-style:none}.people-grants li{gap:var(--space-2) var(--space-3);padding-block:var(--space-3);border-block-end:1px solid var(--border);flex-wrap:wrap;align-items:center;display:flex}.people-grant-role{font-weight:600}.people-grants li .button-outline{margin-inline-start:auto}.people-past{margin-block:var(--space-3)}.people-give{border-block-start:1px solid var(--border);margin-block-start:var(--space-6);padding-block-start:var(--space-4)}.people-roles{margin:0;padding:0;list-style:none}.people-roles>li{border-block-end:1px solid var(--border)}.people-role-row{gap:var(--space-1) var(--space-3);min-block-size:44px;inline-size:100%;padding-block:var(--space-3);color:inherit;font:inherit;text-align:start;cursor:pointer;background:0 0;border:0;flex-wrap:wrap;align-items:baseline;display:flex}.people-role-name{font-weight:600}.people-role-editor{padding-block-end:var(--space-4)}.people-perms{gap:var(--space-1) var(--space-4);margin:var(--space-3) 0;padding:var(--space-3);border:1px solid var(--border);border-radius:var(--radius-md);grid-template-columns:repeat(auto-fit,minmax(260px,1fr));display:grid}.people-perms legend{padding-inline:var(--space-1)}.people-check{gap:var(--space-1) var(--space-2);flex-wrap:wrap;align-items:center;min-block-size:32px;font-size:14px;display:flex;flex-direction:row!important}.people-check input{block-size:18px;inline-size:18px}.people-check code{font-size:11px}.people-disciplines{grid-column:1/-1;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));margin:0}.people-disciplines p{grid-column:1/-1;margin:0}.company-chip{white-space:nowrap}.company-active{background:var(--green-700);color:var(--white)}.company-inactive{background:var(--surface-muted);color:var(--text)}.company-candidates{gap:var(--space-1);grid-column:1/-1;margin:0;padding:0;list-style:none;display:grid}.projects-actions{flex-wrap:wrap;align-items:center}a.button-primary,a.button-secondary{justify-content:center;align-items:center;inline-size:auto;text-decoration:none;display:inline-flex}.import-card{gap:var(--space-4);max-inline-size:960px;display:grid}.import-steps{gap:var(--space-3);margin:0;padding-inline-start:var(--space-6);display:grid}.import-steps li{line-height:2.2}.import-form{align-items:center;gap:var(--space-3);flex-wrap:wrap;display:flex}.import-report{gap:var(--space-3);justify-items:start;display:grid}.import-errors,.import-codes{margin:0;padding-inline-start:var(--space-4);line-height:1.7}.import-codes{gap:var(--space-1);display:grid}.building+.building{border-block-start:1px solid var(--border);margin-block-start:var(--space-4);padding-block-start:var(--space-4)}.building-head{justify-content:space-between;align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.row-actions{align-items:center;gap:var(--space-2) var(--space-3);flex-wrap:wrap;display:flex}.icon-button{min-inline-size:var(--touch-min);min-block-size:var(--touch-min);border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);color:var(--text);font:inherit;cursor:pointer}.icon-button:disabled{opacity:.4;cursor:default}.plan-cell{align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.file-button{white-space:nowrap;align-items:center;font-size:13px;display:inline-flex}.file-button:focus-within{outline:2px solid var(--primary);outline-offset:2px}.file-button.is-busy{opacity:.6;cursor:progress}.floor-form,.building-form{align-items:flex-end;gap:var(--space-3);margin-block:var(--space-2);flex-wrap:wrap;display:flex}.floor-form label,.building-form label{gap:var(--space-1);color:var(--text-muted);font-size:13px;display:grid}.floor-form input,.building-form input,.add-floors input{min-block-size:var(--touch-min);padding-inline:var(--space-2);border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--field);color:var(--text);font:inherit}.floor-form input[type=number]{inline-size:7rem}.floor-form-actions{gap:var(--space-2);display:flex}.floor-form-actions .button-primary{inline-size:auto;padding-inline:var(--space-4)}.add-floors{gap:var(--space-1);margin-block-start:var(--space-3);font-size:13px;display:grid}.add-floors p{margin:0}.add-floors-row{gap:var(--space-2);flex-wrap:wrap;display:flex}.add-floors-row input{flex:16rem}.add-building{margin-block-start:var(--space-4)}.packages{gap:var(--space-2);margin:0 0 var(--space-3);padding:0;list-style:none;display:grid}.package-row{gap:var(--space-2);padding-block:var(--space-2);border-block-end:1px solid var(--border);grid-template-columns:minmax(120px,1fr) minmax(120px,1fr) 2fr auto;align-items:center;display:grid}.package-name{font-weight:600}.package-form{gap:var(--space-3);margin-block:var(--space-2);grid-template-columns:repeat(auto-fit,minmax(220px,1fr));align-items:end;display:grid}.package-form label{gap:var(--space-1);display:grid}.package-form input:not([type=checkbox]),.package-form select{box-sizing:border-box;min-block-size:44px;inline-size:100%}.package-floors{gap:var(--space-1) var(--space-3);padding:var(--space-2) 0 0;border:0;grid-column:1/-1;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));margin:0;display:grid}.package-floors p{grid-column:1/-1;margin:0}.package-form .floor-form-actions{grid-column:1/-1}@media (width<=640px){.package-row{grid-template-columns:1fr}}.tour-schedule{gap:var(--space-3);justify-items:start;margin-block-end:var(--space-4);display:grid}.tour-schedule p{margin:0}.tour-schedule-preview{gap:var(--space-3);inline-size:100%;display:grid}.files-head{justify-content:space-between;align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.project-log{margin:0;padding:0;list-style:none;display:grid}.project-log li{gap:var(--space-3);padding-block:var(--space-2);border-block-end:1px solid var(--border);grid-template-columns:minmax(10rem,max-content) 1fr auto;align-items:baseline;display:grid}@media (width<=640px){.project-log li{gap:var(--space-1);grid-template-columns:1fr}}.bell-button{position:relative}.bell-count{border-radius:var(--radius-full);background:var(--danger);min-inline-size:18px;color:var(--on-primary);text-align:center;padding:0 5px;font-size:11px;font-weight:700;line-height:18px;position:absolute;inset-block-start:4px;inset-inline-end:2px}.notices-head{justify-content:space-between;align-items:baseline;gap:var(--space-3);display:flex}.notices{gap:var(--space-1);max-block-size:60vh;margin:0;padding:0;list-style:none;display:grid;overflow-y:auto}.notice{inline-size:100%;min-block-size:var(--touch-min);padding:var(--space-2);border-radius:var(--radius-sm);color:var(--text);font:inherit;text-align:start;cursor:pointer;background:0 0;border:0;gap:2px;display:grid}.notice:hover{background:var(--field)}.notice:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.notice-unread{font-weight:600}.notice-new{border-radius:var(--radius-sm);background:var(--primary);color:var(--on-primary);margin-inline-end:var(--space-2);padding:0 6px;font-size:11px;font-weight:700}.dash-see-all{color:var(--primary-strong);align-self:flex-start;align-items:center;min-block-size:44px;margin-block-start:var(--space-3);font-weight:600;display:inline-flex}.tasks-filters{align-items:center;gap:var(--space-3);flex-wrap:wrap;margin-block-end:var(--space-4);display:flex}.tasks-count{margin-inline-start:auto}.tasks-group+.tasks-group{margin-block-start:var(--space-6)}.tasks-group-title{color:var(--text-muted);margin-block-end:var(--space-2)}.team-list,.team-homes{gap:var(--space-3);margin:0;padding:0;list-style:none;display:grid}.team-row{gap:var(--space-3);padding-block:var(--space-2);border-block-end:1px solid var(--border);grid-template-columns:1fr auto auto;align-items:center;display:grid}.team-row p{margin:0}.team-chip.team-active{background:var(--green-700);color:var(--white)}.team-chip.team-paused{border:1px solid var(--warning);background:var(--surface);color:var(--warning)}.team-editor{gap:var(--space-3);padding:var(--space-4);border:1px solid var(--border);border-radius:var(--radius-md);background:var(--field);display:grid}.team-editor h3{margin:var(--space-2) 0 0}.team-days{gap:var(--space-2);border:0;flex-wrap:wrap;margin:0;padding:0;display:flex}.team-days legend{margin-block-end:var(--space-2);font-weight:600}.team-day,.team-check{align-items:center;gap:var(--space-2);min-block-size:var(--touch-min);display:inline-flex}.team-pick{gap:var(--space-1);max-inline-size:420px;display:grid}@media (width<=640px){.team-row{grid-template-columns:1fr auto}}.team-hint{margin:calc(-1 * var(--space-2)) 0 0}.board-head{justify-content:space-between;align-items:flex-start;gap:var(--space-3);flex-wrap:wrap;display:flex}.board-controls{align-items:end;gap:var(--space-2);flex-wrap:wrap;display:flex}.board-country{gap:var(--space-1);margin-inline-start:auto;display:grid}.board-message{min-block-size:20px;margin:0}.board-layout{gap:var(--space-4);grid-template-columns:minmax(0,1fr) 300px;align-items:start;display:grid}.board-scroll{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);overflow-x:auto}.board-table{border-collapse:collapse;inline-size:100%;min-inline-size:920px}.board-table th,.board-table td{padding:var(--space-2);border:1px solid var(--border);text-align:start;vertical-align:top}.board-table thead th{background:var(--field);font-size:13px}.board-table tbody th{inline-size:140px;font-weight:600}.board-table td{min-inline-size:130px}.board-cell{gap:var(--space-2);min-block-size:48px;margin:0;padding:0;list-style:none;display:grid}.board-visit{padding:var(--space-2);border:1px solid var(--border);border-inline-start:3px solid var(--primary);border-radius:var(--radius-sm);background:var(--surface);gap:2px;display:grid}.board-visit[draggable=true]{cursor:grab}.board-visit p{margin:0}.board-visit-time{font-size:13px;font-weight:600}.board-visit-code{font-size:13px;font-weight:700}.board-visit-real{color:var(--primary-strong);font-size:12px;font-weight:600}.board-visit.board-done,.board-visit.board-finished,.board-visit.board-uploaded{border-inline-start-color:var(--green-300)}.board-visit.board-missed,.board-visit.board-returned{border-inline-start-color:var(--danger)}.board-tags{gap:var(--space-1);flex-wrap:wrap;align-items:center;display:flex}.board-visit>.link-button{justify-self:start}.board-move{gap:var(--space-2);margin-block-start:var(--space-2);display:grid}.board-move label{gap:2px;font-size:13px;display:grid}.board-unplaced{position:sticky;inset-block-start:var(--space-4)}@media (width<=1000px){.board-layout{grid-template-columns:1fr}.board-unplaced{position:static}}.cal-toolbar{align-items:end;gap:var(--space-3);flex-wrap:wrap;display:flex}.cal-nav{gap:var(--space-1);display:flex}.cal-arrow{min-inline-size:44px;font-size:20px;line-height:1}[dir=rtl] .cal-arrow span{display:inline-block;transform:scaleX(-1)}.cal-title{margin:var(--space-2) 0 0;font-size:22px;line-height:30px}.cal-week th.is-today,.cal-week td.is-today{background:color-mix(in srgb, var(--primary) 8%, var(--surface))}.cal-today-tag{background:var(--primary);color:var(--on-primary);border-radius:9999px;margin-inline-start:var(--space-1);padding:0 6px;font-size:11px;font-weight:600;display:inline-block}.cal-holiday{color:var(--warning);margin:2px 0 0;font-size:12px;font-weight:600;display:block}.cal-week td.is-closed,.cal-column.is-closed,.cal-month td.is-closed,.cal-month .is-friday{background:repeating-linear-gradient(135deg, var(--field), var(--field) 6px, var(--surface) 6px, var(--surface) 12px)}.cal-closed{margin:0 0 var(--space-1);color:var(--text-muted);font-size:12px;font-weight:600}.cal-load{align-items:center;gap:var(--space-1);margin:0 0 var(--space-1);color:var(--text-muted);display:flex}.cal-load-bar{background:var(--border);border-radius:9999px;flex:1;block-size:4px;overflow:hidden}.cal-load-bar span{background:var(--primary);block-size:100%;display:block}.cal-load.is-full{color:var(--danger)}.cal-load.is-full .cal-load-bar span{background:var(--danger)}.cal-banner{margin:0 0 var(--space-2);padding:var(--space-2) var(--space-3);border:1px solid var(--warning);border-radius:var(--radius-sm);color:var(--warning);font-weight:600}.cal-day{gap:var(--space-3);min-inline-size:0;display:grid}.cal-untimed{padding:var(--space-3);border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface)}.cal-untimed h2{margin:0 0 var(--space-2)}.cal-untimed .board-cell{grid-template-columns:repeat(auto-fill,minmax(200px,1fr))}.cal-grid{grid-template-rows:auto 840px;padding-block-end:var(--space-3);display:grid}.cal-grid-corner,.cal-grid-head{z-index:2;padding:var(--space-2);border-block-end:1px solid var(--border);background:var(--field);position:sticky;inset-block-start:0}.cal-grid-head{border-inline-start:1px solid var(--border);gap:2px;font-size:13px;font-weight:600;display:grid}.cal-hours{color:var(--text-muted);font-size:11px;position:relative}.cal-hours span{position:absolute;inset-inline-end:var(--space-1);transform:translateY(-50%)}.cal-hours span:first-child{transform:none}.cal-column{border-inline-start:1px solid var(--border);background-image:repeating-linear-gradient(to bottom, var(--border) 0, var(--border) 1px, transparent 1px, transparent 60px);position:relative}.cal-block{padding:2px var(--space-1);align-content:start;font-size:12px;position:absolute;inset-inline:4px;overflow:hidden}.cal-block .board-tags,.cal-block .t-small.muted{display:none}.cal-block:hover,.cal-block:focus-within,.cal-block.is-open{z-index:3;min-block-size:30px;box-shadow:var(--shadow-md);overflow:visible;block-size:auto!important}.cal-block:hover .board-tags,.cal-block:hover .t-small.muted,.cal-block.is-open .board-tags,.cal-block.is-open .t-small.muted{display:flex}.cal-now{z-index:1;border-block-start:2px solid var(--danger);position:absolute;inset-inline:0}.cal-now:before{content:"";background:var(--danger);border-radius:9999px;block-size:10px;inline-size:10px;position:absolute;inset-block-start:-6px;inset-inline-start:-5px}.cal-month{border-collapse:collapse;table-layout:fixed;inline-size:100%;min-inline-size:840px}.cal-month th,.cal-month td{border:1px solid var(--border);text-align:start;vertical-align:top}.cal-month th{padding:var(--space-2);background:var(--field);font-size:13px}.cal-month td{block-size:120px;padding:var(--space-1)}.cal-month td.is-other{color:var(--text-muted);opacity:.6}.cal-daynum{min-block-size:28px;min-inline-size:28px;color:inherit;font:inherit;cursor:pointer;background:0 0;border:0;border-radius:9999px;font-weight:600}.cal-daynum:hover{background:var(--field)}.cal-month td.is-today .cal-daynum{background:var(--primary);color:var(--on-primary)}.cal-chips{grid-template-columns:minmax(0,1fr);gap:2px;margin:2px 0 0;padding:0;list-style:none;display:grid}.cal-chip{border-inline-start:3px solid var(--primary);background:var(--field);white-space:nowrap;text-overflow:ellipsis;border-radius:2px;padding:1px 4px;font-size:12px;display:block;overflow:hidden}[dir=rtl] .cal-chip{text-align:right;direction:ltr}.cal-chip[draggable=true]{cursor:grab}.cal-chip.board-done,.cal-chip.board-finished,.cal-chip.board-uploaded{border-inline-start-color:var(--green-300)}.cal-chip.board-missed,.cal-chip.board-returned{border-inline-start-color:var(--danger)}.cal-chip-time{font-weight:600}.cal-chip-who{color:var(--text-muted)}.print-only{display:none}@media print{@page{size:landscape;margin:10mm}.app-header,.no-print{display:none!important}.print-only{display:inline}.board-layout{grid-template-columns:1fr}.board-scroll{border:0;overflow:visible}.board-table,.cal-month{min-inline-size:0}.board-visit,.cal-chip,tr{break-inside:avoid}}.settings .segmented{flex-wrap:wrap;margin-block-end:var(--space-4)}.settings .segmented button[aria-pressed=true]{background:var(--primary);color:var(--on-primary)}.settings-wide{grid-column:1/-1}.people-form textarea{box-sizing:border-box;inline-size:100%;padding:var(--space-2) var(--space-3);border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--field);color:var(--text);font:inherit}.settings-roles summary{cursor:pointer;min-block-size:32px}.custom-values{gap:var(--space-3) var(--space-4);grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin:0;display:grid}.custom-values:empty{display:none}.custom-values dd{margin:var(--space-1) 0 0;overflow-wrap:anywhere}.settings-nav{gap:var(--space-2);flex-wrap:wrap;margin-block-end:var(--space-4);display:flex}.settings-nav a{min-block-size:44px;padding-inline:var(--space-4);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--primary-strong);align-items:center;text-decoration:none;display:inline-flex}.settings-nav a[aria-current=page]{border-color:var(--primary);background:var(--primary);color:var(--on-primary)}.archive-intake{margin-block-end:var(--space-6)}.archive-figures{gap:var(--space-3) var(--space-4);margin-block:var(--space-3);grid-template-columns:repeat(auto-fit,minmax(160px,1fr));display:grid}.archive-figures dd{color:var(--primary-strong);margin:0;font-size:22px;font-weight:700}.archive-days{border-collapse:collapse;inline-size:100%;font-size:13px}.archive-days th,.archive-days td{padding:var(--space-2) var(--space-3);border-block-end:1px solid var(--border);text-align:start;font-weight:400}.archive-days thead th{color:var(--text-muted)}.archive-project-name{color:var(--text-muted);display:block}.archive-layout{gap:var(--space-6);flex-wrap:wrap;align-items:flex-start;display:flex}.archive-form{gap:var(--space-6);flex-direction:column;flex:999 560px;min-inline-size:0;display:flex}.archive-form-body{gap:var(--space-6);flex-direction:column;display:flex}.archive-removal{gap:var(--space-2);border-block-start:1px solid var(--border);flex-direction:column;padding-block-start:var(--space-3);display:flex}.archive-side{gap:var(--space-6);flex-direction:column;flex:300px;min-inline-size:0;display:flex}.archive-form .people-form{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));align-items:start}.archive-field{gap:var(--space-1);flex-direction:column;font-size:13px;display:flex}.archive-field label{flex-direction:row;align-items:flex-end;min-block-size:2.8em;line-height:1.4}.archive-amount{gap:var(--space-2);display:flex}.archive-amount select{flex:none;inline-size:auto}.archive-undecided{color:var(--warning)}.archive-rules,.archive-log{gap:var(--space-3);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.archive-log li{gap:var(--space-1);border-block-end:1px solid var(--border);flex-direction:column;padding-block-end:var(--space-3);display:flex}.archive-change{overflow-wrap:anywhere}.progress-now-head{justify-content:space-between;align-items:flex-start;gap:var(--space-3);flex-wrap:wrap;display:flex}.progress-now-pick{gap:var(--space-3);margin:var(--space-3) 0 0;border:0;padding:0;display:grid}.progress-now-pick ul,.progress-floors{gap:var(--space-2);margin:0;padding:0;list-style:none;display:grid}.progress-now-pick label{align-items:center;gap:var(--space-2);min-height:44px;display:flex}.progress-now-actions{gap:var(--space-2);flex-wrap:wrap;display:flex}.progress-visit+.progress-visit{border-block-start:1px solid var(--border);margin-block-start:var(--space-4);padding-block-start:var(--space-4)}.progress-visit-date{margin:0 0 var(--space-2);color:var(--text-muted);font-weight:600}.progress-floor{justify-content:space-between;align-items:flex-start;gap:var(--space-3);display:flex}.progress-floor p{margin:0}.progress-reason{margin-block-start:var(--space-1)}.progress-chip{border:1px solid var(--border);background:var(--surface);color:var(--text);flex:none}.progress-chip.progress-ready,.progress-chip.progress-running{border-color:var(--green-300);background:var(--green-300);color:var(--ink-900)}.progress-chip.progress-review{border-color:var(--warning);color:var(--warning)}.progress-chip.progress-released{border-color:var(--green-700);background:var(--green-700);color:var(--white)}.progress-chip.progress-failed{border-color:var(--danger);background:var(--danger);color:var(--white)}.progress-chip.progress-cancelled{color:var(--text-muted)}.test-mode-chip{border:1px solid var(--warning);background:var(--surface);min-height:32px;color:var(--warning);white-space:nowrap;align-items:center;font-weight:600;text-decoration:none;display:inline-flex}.test-jobs{gap:var(--space-3);margin:0;padding:0;list-style:none;display:grid}.test-job{justify-content:space-between;align-items:center;gap:var(--space-3);flex-wrap:wrap;display:flex}.test-job p{margin:0}.progress-floor-main{gap:var(--space-1);min-width:0;display:grid}.progress-steps-toggle{justify-self:start;margin-block-start:var(--space-1)}.progress-flagged{align-items:center;gap:var(--space-2);min-height:44px;display:flex}.progress-flags{color:var(--warning)}.progress-steps{gap:var(--space-2);margin:var(--space-2) 0 0;padding-inline-start:var(--space-5,20px);display:grid}.progress-step{gap:2px;display:grid}.progress-step-name{font-weight:600}.progress-step-none .progress-step-name{color:var(--text-muted);font-weight:400}.account-page{gap:var(--space-4);flex-direction:column;max-inline-size:760px;display:flex}.account-page .projects-title,.account-page+.card{margin:0}.account-tabs{gap:var(--space-2);border-block-end:1px solid var(--border);display:flex}.account-tab{min-block-size:44px;padding-inline:var(--space-4);color:var(--text-muted);border-block-end:2px solid #0000;align-items:center;margin-block-end:-1px;font-weight:600;text-decoration:none;display:inline-flex}.account-tab:hover,.account-tab:focus-visible{color:var(--text)}.account-tab[aria-current=page]{border-block-end-color:var(--primary);color:var(--primary-strong)}.card.account-card{max-inline-size:none;margin:0}.account-hint{font-weight:400;display:block}.menu-separator{margin-block:var(--space-2);border-block-start:1px solid var(--border)}.side-tabs{margin-block-end:var(--space-3);display:flex}.side-tabs .box-tab{flex:1 1 0}.dash-side>.side-tabs+.dash-card{margin-block-start:0}@media (width<=899px){.side-tabs+.dash-card{margin-block-start:var(--space-4)}}.manual-plan-picker{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--white);cursor:crosshair;inline-size:100%;max-inline-size:960px;padding:0;display:block;position:relative}.manual-plan-picker[hidden]{display:none}.manual-plan-picker canvas{block-size:auto;inline-size:100%;display:block}.manual-plan-mark{border:3px solid var(--white);background:var(--danger);block-size:18px;inline-size:18px;box-shadow:var(--shadow-sm);pointer-events:none;border-radius:9999px;margin:-9px 0 0 -9px;position:absolute}.manual-sending progress{inline-size:100%}.manual-tours{margin:0;padding:0;list-style:none}.manual-tour{justify-content:space-between;gap:var(--space-3);padding-block:var(--space-3);border-block-start:1px solid var(--border);flex-wrap:wrap;display:flex}.manual-tour .chip{margin-inline-start:var(--space-2)}.manual-tour p .chip{margin-inline-start:0}.manual-actions{align-items:start;gap:var(--space-2);flex-wrap:wrap;display:flex}.manual-progress progress{inline-size:100%;max-inline-size:420px}
