html,body{margin:0;padding:0;width:100%;font-family:var(--font-sans, "Inter", sans-serif);color:var(--text-primary)}html{scroll-padding-top:calc(var(--navbar-height) + 12px)}body{min-height:100vh;overflow-x:clip}#root{width:100%;min-height:100vh;margin:0;padding:0}.logo,.read-the-docs{display:none!important}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-thumb{background:var(--scrollbar-thumb);border-radius:6px}::-webkit-scrollbar-thumb:hover{background:var(--scrollbar-thumb-hover)}.page-full{width:100%;padding:24px}.no-scrollbar::-webkit-scrollbar{display:none}.no-scrollbar{-ms-overflow-style:none;scrollbar-width:none}:where(input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=color]),textarea,select){font-family:var(--font-sans);font-size:var(--fs-base, 14px)}:where(input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=color]),textarea,select):not(:disabled){background-color:var(--input-bg)}:where(input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=color]):not([type=file]):not([type=hidden]):not([type=submit]):not([type=button]):not([type=reset]):not([type=image]),select){min-height:var(--control-h, 36px);padding:0 10px;border:1px solid var(--border-strong);border-radius:var(--control-radius, 8px);color:var(--text-primary)}:where(textarea){padding:8px 10px;border:1px solid var(--border-strong);border-radius:var(--control-radius, 8px);color:var(--text-primary)}:where(input,textarea,select):disabled{background-color:var(--surface-hover);color:var(--disabled-fg)}:where(input[type=checkbox],input[type=radio]){accent-color:var(--link-color);width:16px;height:16px}.form-control,.form-select{min-height:var(--control-h, 36px);border-color:var(--border-strong);border-radius:var(--control-radius, 8px);font-size:var(--fs-base, 14px);color:var(--text-primary)}.form-control-sm,.form-select-sm{min-height:var(--control-h-sm, 32px)}.form-control:disabled,.form-select:disabled,.form-control[readonly]:not(.form-control-plaintext){background-color:var(--surface-hover);color:var(--text-secondary);cursor:not-allowed}textarea.form-control{min-height:72px}.form-check-input:checked{background-color:var(--brand)!important;border-color:var(--brand)!important}:where(input,textarea,select):focus{border-color:var(--brand);box-shadow:var(--focus-ring);outline:2px solid transparent}button{transition:background-color var(--motion-fast) var(--ease-standard),color var(--motion-fast) var(--ease-standard),box-shadow var(--motion-fast) var(--ease-standard),border-color var(--motion-fast) var(--ease-standard)}.table{--bs-table-bg: var(--surface-raised);--bs-table-hover-bg: var(--surface-hover);border-color:var(--border);font-variant-numeric:tabular-nums}.table>thead{background:var(--table-head-bg)}.table>thead th{background:var(--table-head-bg);color:var(--table-head-fg);font-size:var(--fs-xs);font-weight:600;border-bottom:1px solid var(--border)}.table td,.table th{border-color:var(--border)}.form-control:focus,.form-select:focus{border-color:var(--brand);box-shadow:var(--focus-ring);outline:2px solid transparent}.btn:focus-visible{box-shadow:var(--focus-ring);outline:none}input[type=number]::-webkit-outer-spin-button,input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}input[type=number]{-moz-appearance:textfield}.text-muted,.text-secondary{color:var(--text-muted)!important}p,span,div,li,td,th,label,h1,h2,h3,h4,h5,h6,summary,details,figcaption,blockquote,small{color:inherit}.bg-dark,.bg-secondary,.bg-primary,.pdf-viewer-toolbar,nav.bg-dark,.navbar-dark{color:var(--text-inverse)}.nav-link:not(.navbar .nav-link){color:var(--text-primary)!important}.nav-link:not(.navbar .nav-link):hover,.nav-link:not(.navbar .nav-link):focus{color:var(--text-primary)!important}.nav-link.active:not(.navbar .nav-link){color:var(--text-primary)!important}.nav-tabs .nav-link,.nav-tabs .nav-link.active{color:var(--text-primary)!important}.navbar .nav-link,.navbar .nav-link i,.navbar .navbar-brand,.navbar a,.navbar span,.navbar button{color:var(--text-inverse)!important}.navbar .nav-link:hover,.navbar a:hover{color:var(--gray-300)!important}.breadcrumb-item,.breadcrumb-item.active{color:var(--text-primary)!important}.breadcrumb-item+.breadcrumb-item:before{color:var(--text-muted)!important}:where(.form-label,label){color:var(--text-primary)}.form-label{font-size:var(--fs-sm);font-weight:600;margin-bottom:6px}.text-muted{color:var(--text-muted)!important}@media(max-width:768px){.page-full{padding:16px!important}.table-responsive,table:not(.table-cards){display:block;overflow-x:auto;-webkit-overflow-scrolling:touch}.modal-dialog{margin:8px!important;max-width:calc(100vw - 16px)!important}}@media(max-width:576px){.modal-dialog{margin:4px!important;max-width:100vw!important}}@media(pointer:coarse),(max-width:1024px){.btn,.btn-sm,a.nav-link,.nav-tabs .nav-link,.dropdown-item,.page-link{min-height:var(--tap-min)}.btn,.btn-sm,.nav-tabs .nav-link,.page-link{display:inline-flex;align-items:center;justify-content:center}.dropdown-item{display:flex;align-items:center}:where(input[type=checkbox],input[type=radio]){width:20px;height:20px}.form-check{display:flex;align-items:center;gap:8px;min-height:var(--tap-min)}.form-check.form-check-inline{display:inline-flex}.form-check .form-check-input{flex:0 0 auto;margin-top:0}}:root{--brand-rgb: 194, 65, 12;--brand: rgb(var(--brand-rgb));--brand-hover: #9a3412;--brand-active: #7c2d12;--brand-soft: rgba(37, 99, 235, .1);--brand-border: rgba(37, 99, 235, .35);--brand-contrast: #FFFFFF;--brand-dark: var(--brand-hover);--brand-accent: var(--brand);--bs-primary: var(--brand);--bs-primary-rgb: var(--brand-rgb);--bs-link-color: var(--link-color);--bs-link-hover-color: var(--link-hover);--bs-body-bg: var(--surface-raised);--bs-body-color: var(--text-primary);--bs-emphasis-color: var(--text-primary);--bs-secondary-color: var(--text-secondary);--bs-tertiary-color: var(--text-tertiary);--bs-secondary-bg: var(--surface-hover);--bs-tertiary-bg: var(--surface-subtle);--bs-border-color: var(--border);--bs-border-color-translucent: var(--border);--status-draft-bg: rgba(107, 114, 128, .12);--status-draft-fg: #4B5563;--status-active-bg: rgba(22, 163, 74, .12);--status-active-fg: #15803D;--status-archived-bg: rgba(217, 119, 6, .12);--status-archived-fg: #B45309;--surface-base: #ffffff;--surface-raised: #ffffff;--gray-50: #f9fafb;--gray-100: #f3f4f6;--gray-200: #e5e7eb;--gray-300: #d1d5db;--gray-400: #9ca3af;--gray-500: #6b7280;--gray-600: #4b5563;--gray-700: #374151;--gray-800: #1f2937;--gray-900: #111827;--amber-100: #fef3c7;--amber-500: #f59e0b;--amber-800: #92400e;--green-100: #dcfce7;--green-800: #166534;--orange-300: #fdba74;--orange-800: #9a3412;--orange-900: #7c2d12;--red-100: #fee2e2;--red-200: #fecaca;--red-300: #fca5a5;--red-800: #991b1b;--slate-800: #1e293b;--slate-900: #0f172a;--teal-700: #0f766e;--violet-700: #6d28d9;--text-main: var(--text-primary);--text-muted: var(--text-secondary);--container-max: 1280px;--navbar-height: 56px;--project-tab-height: 46px;--app-chrome-height: calc(var(--navbar-height) + var(--project-tab-height));--table-thead-height: 44px;--schedule-subtab-height: 44px;--schedule-chrome-height: calc(var(--app-chrome-height) + var(--schedule-subtab-height));--r-sm: 6px;--r-md: 10px;--r-lg: 14px;--r-xl: 20px;--r-pill: 999px;--shadow-rgb: 17, 24, 39;--shadow-sm: 0 1px 3px rgba(var(--shadow-rgb), .07);--shadow-md: 0 2px 6px rgba(var(--shadow-rgb), .1);--shadow-lg: 0 6px 18px rgba(var(--shadow-rgb), .12);--scrim: rgba(var(--shadow-rgb), .45);--scrim-light: rgba(var(--shadow-rgb), .18);--sp-1: 4px;--sp-2: 8px;--sp-3: 12px;--sp-4: 16px;--sp-5: 20px;--sp-6: 24px;--sp-7: 28px;--sp-8: 32px;--sp-9: 36px;--sp-10: 40px;--z-base: 1;--z-dropdown: 100;--z-sticky: 200;--z-drawer: 1030;--z-panel: 1040;--z-modal: 1050;--z-toast: 1100;--z-top: 9999;--t-fast: .12s ease;--t-base: .18s ease;--ease-standard: cubic-bezier(.4, 0, .2, 1);--ease-emphasize: cubic-bezier(.16, 1, .3, 1);--motion-fast: .12s;--motion-md: .2s;--motion-slow: .3s;--motion-loop: .8s;--color-success: #2f7d3b;--color-success-soft: rgba(47, 125, 59, .12);--color-danger: #c42b1c;--color-danger-soft: rgba(196, 43, 28, .12);--color-warning: #b45309;--color-warning-soft: rgba(180, 83, 9, .12);--color-info: #2c5a85;--color-info-soft: rgba(44, 90, 133, .12);--amber: #F4A225;--amber-deep: #A65E08;--amber-wash: #FDF5E6;--status-active: var(--color-success);--status-pending: var(--color-warning);--status-locked: var(--color-danger);--status-draft: var(--gray-400);--text-xs: .875rem;--text-sm: .875rem;--text-base: 1rem;--text-lg: 1.125rem;--text-xl: 1.375rem;--text-2xl: 1.75rem;--text-3xl: 2.25rem;--text-4xl: 2.75rem;--font-sans: "Inter", system-ui, -apple-system, sans-serif;--font-display: "Syne", "Inter", system-ui, sans-serif;--font-mono: "IBM Plex Mono", ui-monospace, "SF Mono", Menlo, Consolas, monospace;--leading-tight: 1.25;--leading-normal: 1.5;--leading-relaxed: 1.75;--font-normal: 400;--font-medium: 500;--font-semibold: 600;--font-bold: 700}html,body{margin:0;padding:0;background:var(--page-bg);color:var(--text-main);font-family:var(--font-sans);-webkit-font-smoothing:antialiased}*{box-sizing:border-box}button{font-family:inherit}a{color:inherit;text-decoration:none}:focus-visible{outline:2px solid var(--brand);outline-offset:2px;border-radius:2px}body{font-size:var(--fs-base);line-height:var(--lh-base)}h1,h2,h3,h4{font-weight:600;margin:0 0 var(--sp-3);letter-spacing:-.01em}.container{max-width:var(--container-max);margin:0 auto;padding:0 var(--sp-4)}.page-full{padding:var(--sp-6);width:100%}.row{display:flex;flex-wrap:wrap;gap:var(--sp-4)}.col{flex:1 1 0}.col-6{flex:0 0 calc(50% - var(--sp-4))}.col-4{flex:0 0 calc(33% - var(--sp-4))}@media(max-width:768px){.col-6,.col-4{flex:100%}}.card{background:var(--surface-raised);border-radius:var(--r-lg);padding:var(--sp-5);box-shadow:var(--shadow-sm);transition:box-shadow var(--motion-md) var(--ease-standard)}.btn{--bs-btn-font-weight: 600;--bs-btn-font-size: var(--fs-base);--bs-btn-border-radius: var(--control-radius);--bs-btn-padding-y: 0;--bs-btn-padding-x: 14px;--bs-btn-focus-box-shadow: var(--focus-ring);--bs-btn-disabled-opacity: .45;display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:var(--control-h);cursor:pointer;white-space:nowrap;transition:background-color var(--motion-fast) var(--ease-standard),color var(--motion-fast) var(--ease-standard),box-shadow var(--motion-fast) var(--ease-standard),border-color var(--motion-fast) var(--ease-standard)}.btn-sm{--bs-btn-font-size: var(--fs-sm);--bs-btn-padding-x: 10px;min-height:var(--control-h-sm)}.btn-lg{min-height:44px;--bs-btn-padding-x: 20px}.btn-link{--bs-btn-font-weight: 600;--bs-btn-color: var(--link-color);--bs-btn-hover-color: var(--link-hover);--bs-btn-active-color: var(--link-hover);--bs-btn-disabled-color: var(--text-tertiary)}.btn-primary{--bs-btn-color: var(--brand-contrast);--bs-btn-bg: var(--brand);--bs-btn-border-color: var(--brand);--bs-btn-hover-color: var(--brand-contrast);--bs-btn-hover-bg: var(--brand-hover);--bs-btn-hover-border-color: var(--brand-hover);--bs-btn-active-color: var(--brand-contrast);--bs-btn-active-bg: var(--brand-active);--bs-btn-active-border-color: var(--brand-active);--bs-btn-disabled-color: var(--brand-contrast);--bs-btn-disabled-bg: var(--brand);--bs-btn-disabled-border-color: var(--brand)}.btn-outline-primary{--bs-btn-color: var(--text-primary);--bs-btn-bg: var(--surface-raised);--bs-btn-border-color: var(--border-strong);--bs-btn-hover-color: var(--text-primary);--bs-btn-hover-bg: var(--surface-hover);--bs-btn-hover-border-color: var(--border-strong);--bs-btn-active-color: var(--text-primary);--bs-btn-active-bg: var(--surface-hover);--bs-btn-active-border-color: var(--border-strong);--bs-btn-disabled-color: var(--disabled-fg);--bs-btn-disabled-border-color: var(--border)}.btn-secondary,.btn-outline-secondary,.btn-light,.btn-outline-dark{--bs-btn-color: var(--text-primary);--bs-btn-bg: var(--surface-raised);--bs-btn-border-color: var(--border-strong);--bs-btn-hover-color: var(--text-primary);--bs-btn-hover-bg: var(--surface-hover);--bs-btn-hover-border-color: var(--border-strong);--bs-btn-active-color: var(--text-primary);--bs-btn-active-bg: var(--gray-200);--bs-btn-active-border-color: var(--gray-400);--bs-btn-disabled-color: var(--text-tertiary);--bs-btn-disabled-bg: var(--surface-raised);--bs-btn-disabled-border-color: var(--border);box-shadow:var(--shadow-sm)}.btn-danger{--bs-btn-bg: var(--color-danger);--bs-btn-border-color: var(--color-danger);--bs-btn-hover-bg: var(--tone-danger-fg);--bs-btn-hover-border-color: var(--tone-danger-fg);--bs-btn-active-bg: var(--red-800);--bs-btn-active-border-color: var(--red-800);--bs-btn-disabled-bg: var(--color-danger);--bs-btn-disabled-border-color: var(--color-danger)}.btn-outline-danger{--bs-btn-color: var(--tone-danger-fg);--bs-btn-bg: var(--surface-raised);--bs-btn-border-color: var(--red-300);--bs-btn-hover-color: var(--surface-raised);--bs-btn-hover-bg: var(--color-danger);--bs-btn-hover-border-color: var(--color-danger);--bs-btn-disabled-color: var(--tone-danger-fg);--bs-btn-disabled-border-color: var(--red-200)}.text-primary{color:var(--link-color)!important}.bg-primary{background-color:var(--brand)!important}.border-primary{border-color:var(--brand)!important}.form-check-input:checked{background-color:var(--link-color);border-color:var(--link-color)}.form-control:focus,.form-select:focus{border-color:var(--brand-border);box-shadow:0 0 0 .25rem var(--brand-soft)}.alert{--bs-alert-border-radius: var(--control-radius)}.alert-success{--bs-alert-bg: var(--tone-success-bg);--bs-alert-color: var(--tone-success-fg);--bs-alert-border-color: color-mix(in srgb, var(--tone-success-fg) 25%, transparent);--bs-alert-link-color: var(--tone-success-fg)}.alert-danger{--bs-alert-bg: var(--tone-danger-bg);--bs-alert-color: var(--tone-danger-fg);--bs-alert-border-color: color-mix(in srgb, var(--tone-danger-fg) 25%, transparent);--bs-alert-link-color: var(--tone-danger-fg)}.alert-warning{--bs-alert-bg: var(--tone-warning-bg);--bs-alert-color: var(--tone-warning-fg);--bs-alert-border-color: color-mix(in srgb, var(--tone-warning-fg) 25%, transparent);--bs-alert-link-color: var(--tone-warning-fg)}.alert-info{--bs-alert-bg: var(--tone-info-bg);--bs-alert-color: var(--tone-info-fg);--bs-alert-border-color: color-mix(in srgb, var(--tone-info-fg) 25%, transparent);--bs-alert-link-color: var(--tone-info-fg)}.alert-primary{--bs-alert-bg: var(--tone-brand-bg);--bs-alert-color: var(--tone-brand-fg);--bs-alert-border-color: var(--brand-border);--bs-alert-link-color: var(--tone-brand-fg)}.alert-secondary,.alert-light,.alert-dark{--bs-alert-bg: var(--tone-neutral-bg);--bs-alert-color: var(--tone-neutral-fg);--bs-alert-border-color: var(--border);--bs-alert-link-color: var(--link-color)}.btn-outline-success{--bs-btn-color: var(--tone-success-fg);--bs-btn-border-color: var(--color-success);--bs-btn-hover-color: var(--brand-contrast);--bs-btn-hover-bg: var(--color-success);--bs-btn-hover-border-color: var(--color-success);--bs-btn-active-bg: var(--color-success);--bs-btn-active-border-color: var(--color-success)}.btn-outline-warning{--bs-btn-color: var(--tone-warning-fg);--bs-btn-border-color: var(--color-warning);--bs-btn-hover-color: var(--brand-contrast);--bs-btn-hover-bg: var(--color-warning);--bs-btn-hover-border-color: var(--color-warning);--bs-btn-active-bg: var(--color-warning);--bs-btn-active-border-color: var(--color-warning)}.btn-outline{border:1px solid var(--gray-300);background:var(--surface-raised);color:var(--text-main)}.btn-outline:hover{background:var(--gray-100)}.flex{display:flex}.flex-center{justify-content:center;align-items:center}.space-between{display:flex;justify-content:space-between}.m-1{margin:var(--sp-1)}.m-2{margin:var(--sp-2)}.m-3{margin:var(--sp-3)}.p-2{padding:var(--sp-2)}.p-3{padding:var(--sp-3)}.modal-content{border-radius:var(--r-lg)!important;padding:var(--sp-4);box-shadow:var(--shadow-lg)}.pdf-viewer-toolbar{background:var(--gray-900);padding:var(--sp-3);color:var(--text-inverse)}.login-wrapper{min-height:100vh;display:flex;justify-content:center;align-items:center;padding:var(--sp-4)}.login-card{width:100%;max-width:380px;background:var(--glass);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);padding:var(--sp-6);border-radius:var(--r-xl);box-shadow:var(--shadow-lg)}.ca-container{width:100%;max-width:var(--container-max);margin:0 auto;padding:var(--sp-6) var(--sp-4)}@media(min-width:640px){.ca-container{padding:var(--sp-8) var(--sp-5)}}@media(min-width:1024px){.ca-container{padding:var(--sp-10) var(--sp-6)}}.ca-header{display:flex;flex-direction:column;gap:var(--sp-2);margin-bottom:var(--sp-5)}@media(min-width:640px){.ca-header{flex-direction:row;align-items:flex-end;justify-content:space-between;gap:var(--sp-4)}}.ca-title{margin:0;font-size:22px;font-weight:700;letter-spacing:-.02em}@media(min-width:640px){.ca-title{font-size:28px}}.ca-subtitle{margin:0;font-size:14px;color:var(--text-muted);line-height:1.35}@media(min-width:640px){.ca-subtitle{font-size:15px}}.ca-grid{display:grid;grid-template-columns:1fr;gap:var(--sp-4)}@media(min-width:640px){.ca-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(min-width:1024px){.ca-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}.ca-card{appearance:none;-webkit-appearance:none;border:1px solid var(--gray-200);background:var(--surface-raised);border-radius:var(--r-xl);padding:var(--sp-5);box-shadow:var(--shadow-sm);cursor:pointer;width:100%;text-align:left;transition:var(--t-base);min-height:120px}.ca-card:hover{border-color:var(--gray-300);box-shadow:var(--shadow-lg)}.ca-card:focus-visible{outline:3px solid var(--brand-soft);outline-offset:2px}.ca-cardTop{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--sp-4)}.ca-cardTitleRow{display:flex;align-items:center;gap:var(--sp-2)}.ca-cardTitle{margin:0;font-size:16px;font-weight:700;color:var(--gray-900)}@media(min-width:640px){.ca-cardTitle{font-size:17px}}.ca-cardDesc{margin:var(--sp-3) 0 0 0;font-size:14px;color:var(--text-muted);line-height:1.35}@media(min-width:640px){.ca-cardDesc{font-size:14px}}.ca-chevron{font-size:22px;color:var(--gray-800);line-height:1;margin-top:-2px}.ca-badge{font-size:14px;padding:2px 10px;border-radius:999px;border:1px solid var(--gray-300);color:var(--gray-700);background:var(--gray-50);white-space:nowrap}.ca-cardDisabled{opacity:.6;cursor:not-allowed}.ca-cardDisabled:hover{transform:none;box-shadow:var(--shadow-sm);border-color:var(--gray-200)}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}@keyframes modal-fade-in{0%{opacity:0}to{opacity:1}}@keyframes modal-scale-in{0%{opacity:0;transform:scale(.96)}to{opacity:1;transform:scale(1)}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}:root{--page-max: 1600px;--font-sans: "Inter", ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--font-mono: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;--fs-xs: 14px;--fs-sm: 14px;--fs-base: 14px;--fs-md: 15px;--fs-lg: 18px;--fs-xl: 22px;--fs-2xl: 28px;--fs-3xl: 34px;--lh-tight: 1.2;--lh-base: 1.5;--text-primary: #111827;--text-secondary: #6b7280;--text-tertiary: #6b7280;--border: #e5e7eb;--border-strong: #d1d5db;--surface-page: #f7f8fa;--surface-subtle: #f9fafb;--surface-hover: #f3f4f6;--shadow-card: 0 1px 2px rgba(var(--shadow-rgb), .05), 0 2px 8px rgba(var(--shadow-rgb), .06);--shadow-pop: 0 14px 34px rgba(var(--shadow-rgb), .16), 0 2px 6px rgba(var(--shadow-rgb), .08);--accent-rgb: 37, 99, 235;--focus-ring: 0 0 0 3px rgba(var(--accent-rgb), .28);--control-h: 36px;--control-h-sm: 32px;--control-radius: 8px;--card-radius: 12px;--tap-min: 44px;--tone-neutral-bg: #f3f4f6;--tone-neutral-fg: #4b5563;--tone-info-bg: #e8f0f8;--tone-info-fg: #1f4a73;--tone-warning-bg: #fdf1dc;--tone-warning-fg: #8a4508;--tone-danger-bg: #fceae8;--tone-danger-fg: #a3221a;--tone-success-bg: #e7f4ea;--tone-success-fg: #1e6b30;--tone-violet-bg: #f4eefc;--tone-violet-fg: #5b2a9e;--tone-yellow-bg: #fef9c3;--tone-yellow-fg: #854d0e;--tone-brand-bg: #eff6ff;--tone-brand-fg: #1d4ed8;--tone-info-border: #b9cee3;--page-bg: #f7f8fa;--text-inverse: #ffffff;--link-color: #2563eb;--link-hover: #1d4ed8;--input-bg: #ffffff;--highlight: var(--brand);--disabled-fg: #9ca3af;--title-band-bg: #1f2937;--title-band-fg: #f9fafb;--title-band-muted: #d1d5db;--title-band-border: transparent;--title-band-accent: transparent;--title-band-link: var(--title-band-fg);--title-band-pad-x: 24px;--title-band-radius: 12px;--table-head-bg: #f3f4f6;--table-head-fg: #111827;--row-hover-bg: #f9fafb;--row-overdue-bg: #fcedeb;--row-overdue-edge: #c42b1c;--toast-bg: #1f2937;--toast-fg: #f9fafb;--toast-icon-success: var(--tone-success-bg);--toast-icon-danger: var(--tone-danger-bg);--toast-icon-warning: var(--tone-warning-bg);--toast-icon-info: var(--tone-info-bg);--shell-bg: #1f2937;--shell-raised: #374151;--shell-raised-hover: #4b5563;--shell-menu-bg: #1f2937;--shell-text: #f9fafb;--shell-text-muted: #d1d5db;--shell-text-faint: #9ca3af;--brand-on-dark: #93c5fd;--brand-soft-strong: rgba(var(--accent-rgb), .2);--brand-border-strong: rgba(var(--accent-rgb), .6);--on-dark-fill: rgb(255 255 255 / 8%);--on-dark-fill-hover: rgb(255 255 255 / 14%);--on-dark-border: rgb(255 255 255 / 22%);--on-dark-muted: rgb(255 255 255 / 78%);--shadow-up: 0 -6px 16px rgba(var(--shadow-rgb), .06);--shadow-overlay: 0 24px 70px rgba(var(--shadow-rgb), .32);--glass: rgb(255 255 255 / 90%);--brand-faint: rgba(var(--accent-rgb), .04);--scrollbar-thumb: var(--gray-300);--scrollbar-thumb-hover: var(--gray-400);--kpi-open-fg: #1d4f91;--kpi-open-bg: #eef4fc;--kpi-open-edge: #2f6fc0;--kpi-with-gc-fg: #8a4b06;--kpi-with-gc-bg: #fdf4e2;--kpi-with-gc-edge: #d58a12;--kpi-design-fg: #5b2a9e;--kpi-design-bg: #f4eefc;--kpi-design-edge: #7c4dcc;--kpi-overdue-fg: #a3221a;--kpi-overdue-bg: #fcecea;--kpi-overdue-edge: #c42b1c;--kpi-closed-fg: #1e6b30;--kpi-closed-bg: #eaf5ec;--kpi-closed-edge: #2f8a43;--kpi-drafts-fg: #374151;--kpi-drafts-bg: #f3f4f6;--kpi-drafts-edge: #9ca3af;color-scheme:light}.num,.tabular{font-family:var(--font-sans);font-variant-numeric:tabular-nums;letter-spacing:0}.pill{display:inline-flex;align-items:center;gap:4px;height:24px;padding:0 9px;border-radius:999px;font:600 var(--fs-xs)/1 var(--font-sans);white-space:nowrap;background:var(--tone-neutral-bg);color:var(--tone-neutral-fg)}.pill--info{background:var(--tone-info-bg);color:var(--tone-info-fg)}.pill--warning{background:var(--tone-warning-bg);color:var(--tone-warning-fg)}.pill--danger{background:var(--tone-danger-bg);color:var(--tone-danger-fg)}.pill--success{background:var(--tone-success-bg);color:var(--tone-success-fg)}.pill--violet{background:var(--tone-violet-bg);color:var(--tone-violet-fg)}.pill--yellow{background:var(--tone-yellow-bg);color:var(--tone-yellow-fg)}.pill--brand{background:var(--tone-brand-bg);color:var(--tone-brand-fg)}[data-kpi=open]{--kpi-fg: var(--kpi-open-fg);--kpi-bg: var(--kpi-open-bg);--kpi-edge: var(--kpi-open-edge)}[data-kpi=gc]{--kpi-fg: var(--kpi-with-gc-fg);--kpi-bg: var(--kpi-with-gc-bg);--kpi-edge: var(--kpi-with-gc-edge)}[data-kpi=design]{--kpi-fg: var(--kpi-design-fg);--kpi-bg: var(--kpi-design-bg);--kpi-edge: var(--kpi-design-edge)}[data-kpi=overdue]{--kpi-fg: var(--kpi-overdue-fg);--kpi-bg: var(--kpi-overdue-bg);--kpi-edge: var(--kpi-overdue-edge)}[data-kpi=closed]{--kpi-fg: var(--kpi-closed-fg);--kpi-bg: var(--kpi-closed-bg);--kpi-edge: var(--kpi-closed-edge)}[data-kpi=draft]{--kpi-fg: var(--kpi-drafts-fg);--kpi-bg: var(--kpi-drafts-bg);--kpi-edge: var(--kpi-drafts-edge)}.kpi-tile{display:grid;align-content:start;gap:4px;min-width:0;padding:14px 16px;border:1px solid var(--border);border-radius:var(--card-radius);background:var(--kpi-bg, var(--surface-raised));box-shadow:inset 0 3px 0 var(--kpi-edge, transparent),var(--shadow-card);color:var(--kpi-fg, var(--text-primary));text-align:left}.kpi-tile__value{display:block;font:700 var(--fs-2xl) / var(--lh-tight) var(--font-sans);font-variant-numeric:tabular-nums;color:var(--kpi-fg, var(--text-primary))}.kpi-tile__label{display:block;font-size:var(--fs-sm);font-weight:500;line-height:1.3;color:var(--kpi-fg, var(--text-secondary))}button.kpi-tile{appearance:none;cursor:pointer}button.kpi-tile:hover{border-color:var(--border-strong)}button.kpi-tile.is-active,button.kpi-tile[aria-pressed=true]{border-color:var(--highlight);box-shadow:inset 0 3px 0 var(--kpi-edge, transparent),0 0 0 3px var(--brand-soft)}.data-table{width:100%;border-collapse:collapse;background:var(--surface-raised)}.data-table thead th{padding:10px 12px;border-bottom:1px solid var(--border);background:var(--table-head-bg);color:var(--table-head-fg);font-size:var(--fs-xs);font-weight:600;text-align:left}.data-table td{padding:10px 12px;border-bottom:1px solid var(--border);color:var(--text-primary)}.data-table tbody tr:hover>td{background:var(--row-hover-bg)}tr.list-row--overdue>td{background:var(--row-overdue-bg)}tr.list-row--overdue>td:first-child{box-shadow:inset 3px 0 0 var(--row-overdue-edge)}@media(max-width:900px){.rfi-page__table tr.list-row--overdue{background:var(--row-overdue-bg);box-shadow:inset 3px 0 0 var(--row-overdue-edge)}.rfi-page__table tr.list-row--overdue>td,.rfi-page__table tr.list-row--overdue>td:first-child{background:transparent;box-shadow:none}}.ui-card{background:var(--surface-raised);border:1px solid var(--border);border-radius:var(--card-radius);box-shadow:var(--shadow-card)}.skeleton{display:block;border-radius:6px;min-height:12px;background:linear-gradient(90deg,var(--surface-hover) 25%,var(--border) 37%,var(--surface-hover) 63%);background-size:400% 100%;animation:skeleton-shimmer 1.4s ease infinite}@keyframes skeleton-shimmer{0%{background-position:100% 50%}to{background-position:0 50%}}@media(prefers-reduced-motion:reduce){.skeleton{animation:none}}.no-access{max-width:480px;margin:48px auto;padding:32px 24px;text-align:center;background:var(--surface-raised);border:1px solid var(--border);border-radius:var(--card-radius);box-shadow:var(--shadow-card)}.no-access__icon{width:48px;height:48px;margin:0 auto 12px;border-radius:999px;display:grid;place-items:center;background:var(--surface-hover);color:var(--text-secondary);font-size:20px}.no-access__title{font:600 var(--fs-lg)/var(--lh-tight) var(--font-sans);margin:0 0 6px;color:var(--text-primary)}.no-access__message{font-size:var(--fs-base);color:var(--text-secondary);margin:0 0 16px}@media(max-width:640px){table.table-cards,table.table-cards tbody,table.table-cards tr,table.table-cards td{display:block;width:100%}table.table-cards thead{display:none}table.table-cards tr{border:1px solid var(--border);border-radius:10px;margin-bottom:10px;padding:10px 12px;background:var(--surface-raised)}table.table-cards td{border:0!important;padding:4px 0!important;display:flex;gap:12px;justify-content:space-between;text-align:right;min-width:0}table.table-cards td:before{content:attr(data-label);flex:0 0 auto;text-align:left;font-size:var(--fs-xs);font-weight:600;color:var(--text-tertiary)}table.table-cards td[data-label=""]:before,table.table-cards td:not([data-label]):before{content:none}table.table-cards td.table-cards__title{font-weight:600;text-align:left;justify-content:flex-start}}.scroll-strip{overflow-x:auto;overscroll-behavior-inline:contain;scroll-snap-type:x proximity;scroll-padding-inline:8px;scrollbar-width:none;-webkit-overflow-scrolling:touch}.scroll-strip::-webkit-scrollbar{display:none}.scroll-strip>*{flex-shrink:0;scroll-snap-align:start}.scroll-strip[data-more-right]{-webkit-mask-image:linear-gradient(to right,var(--text-primary) calc(100% - 40px),transparent);mask-image:linear-gradient(to right,var(--text-primary) calc(100% - 40px),transparent)}.scroll-strip[data-more-left]{-webkit-mask-image:linear-gradient(to left,var(--text-primary) calc(100% - 40px),transparent);mask-image:linear-gradient(to left,var(--text-primary) calc(100% - 40px),transparent)}.scroll-strip[data-more-left][data-more-right]{-webkit-mask-image:linear-gradient(to right,transparent,var(--text-primary) 40px,var(--text-primary) calc(100% - 40px),transparent);mask-image:linear-gradient(to right,transparent,var(--text-primary) 40px,var(--text-primary) calc(100% - 40px),transparent)}small,.small,.form-text,.invalid-feedback,.valid-feedback{font-size:max(var(--fs-xs),.875em)}.badge{font-size:max(var(--fs-xs),.75em)}@media(pointer:coarse),(max-width:1024px){:root{--control-h: var(--tap-min);--control-h-sm: var(--tap-min)}.tap-target{min-width:var(--tap-min);min-height:var(--tap-min)}}:root{--surface-muted: var(--surface-hover);--field-focus-outline: var(--text-tertiary)}:is(input:not([type=checkbox],[type=radio],[type=range],[type=color],[type=file],[type=button],[type=submit],[type=reset],[type=image],[type=hidden]),select,textarea,.list-kit__date-button,.ngc-project-switcher__search,.people-picker__box,.pn-search,.cmp-picker-search,.list-tabs-bar__field,.steps-editor__days,.docs-file-search,.plans-specs__filter,.drawing-search__box,.rfi-page__search,.project-directory__search,.portfolio-search):hover:not(:disabled,[readonly]){background-color:var(--surface-muted)}:is(input:not([type=checkbox],[type=radio],[type=range],[type=color],[type=file],[type=button],[type=submit],[type=reset],[type=image],[type=hidden]),select,textarea,.list-kit__date-button):focus:not([aria-invalid=true],.is-invalid,.has-error *,.is-invalid *),:is(.ngc-project-switcher__search,.people-picker__box,.pn-search,.cmp-picker-search,.list-tabs-bar__field,.steps-editor__days,.docs-file-search,.plans-specs__filter,.drawing-search__box,.rfi-page__search,.project-directory__search,.portfolio-search):focus-within:not(.is-invalid,.has-error *,.is-invalid *,:has([aria-invalid=true])){border-color:var(--border-strong)!important;box-shadow:none!important;outline:none!important}html[data-input=keyboard] :is(input:not([type=checkbox],[type=radio],[type=range],[type=color],[type=file],[type=button],[type=submit],[type=reset],[type=image],[type=hidden]),select,textarea,.list-kit__date-button):focus:not([aria-invalid=true],.is-invalid,.has-error *,.is-invalid *):not(:is(.ngc-project-switcher__search,.people-picker__box,.pn-search,.cmp-picker-search,.list-tabs-bar__field,.steps-editor__days,.docs-file-search,.plans-specs__filter,.drawing-search__box,.rfi-page__search,.project-directory__search,.portfolio-search) *),html[data-input=keyboard] :is(.ngc-project-switcher__search,.people-picker__box,.pn-search,.cmp-picker-search,.list-tabs-bar__field,.steps-editor__days,.docs-file-search,.plans-specs__filter,.drawing-search__box,.rfi-page__search,.project-directory__search,.portfolio-search):focus-within:not(.is-invalid,.has-error *,.is-invalid *,:has([aria-invalid=true])){outline:1px solid var(--field-focus-outline)!important;outline-offset:0!important}.ngc-login{--login-ink: #172033;--login-muted: #667085;--login-border: #d9dee8;--login-panel: #f7f7f5;position:fixed;inset:0;display:grid;grid-template-columns:minmax(0,1.42fr) minmax(430px,.82fr);min-height:100dvh;overflow:hidden;isolation:isolate;background:var(--gray-900) url(/images/login-jobsite-hero.jpg) center center / cover no-repeat;color:var(--login-ink);font-family:var(--font-sans)}.ngc-login:before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,#070d184d,#070d1814 38%,#070d1894),linear-gradient(90deg,#070d18a3,#070d1842 56%,#070d186b)}.ngc-login-skip{position:fixed;top:12px;left:12px;z-index:20;padding:10px 14px;border-radius:8px;background:var(--surface-base);color:var(--login-ink);font-size:var(--text-sm);font-weight:var(--font-semibold);box-shadow:var(--shadow-md);transform:translateY(-160%);transition:transform var(--t-fast)}.ngc-login-skip:focus{transform:translateY(0)}.ngc-login-sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.ngc-login-hero{position:relative;z-index:1;min-width:0;isolation:isolate;overflow:hidden;background:transparent}.ngc-login-hero:after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(8,15,28,.18) 0%,transparent 42%,rgba(8,15,28,.3) 100%),linear-gradient(90deg,rgba(8,15,28,.3) 0%,transparent 76%)}.ngc-login-hero-shade{position:absolute;inset:0;z-index:-1;background:radial-gradient(circle at 16% 72%,rgba(249,115,22,.22),transparent 30%),linear-gradient(135deg,rgba(255,255,255,.04),transparent 36%);pointer-events:none}.ngc-login-hero-content{position:relative;z-index:1;display:flex;flex-direction:column;justify-content:space-between;height:100%;min-height:100dvh;padding:clamp(32px,4vw,64px)}.ngc-login-brand{display:block;width:100%}.ngc-login-brand-logo{display:block;width:100%;max-width:340px;height:auto}.ngc-login-brand-card{color:var(--surface-base)}.ngc-login-hero-copy{width:min(620px,88%);margin:auto 0;color:var(--surface-base)}.ngc-login-eyebrow{margin:0;color:var(--link-color);font-family:var(--font-mono);font-size:var(--fs-xs);font-weight:var(--font-semibold);letter-spacing:.12em;text-transform:uppercase}.ngc-login-hero-copy h1{margin:18px 0;color:var(--surface-base);font-family:var(--font-display);font-size:clamp(46px,5.3vw,78px);font-weight:var(--font-bold);letter-spacing:-.045em;line-height:.98;text-wrap:balance}.ngc-login-hero-copy>p:not(.ngc-login-eyebrow){width:min(540px,100%);margin:0;color:#ffffffc7;font-size:clamp(16px,1.4vw,19px);line-height:1.65}.ngc-login-hero-footnote{margin:0;color:#fffc;font-size:var(--fs-xs);font-weight:var(--font-medium);letter-spacing:.08em;text-transform:uppercase}.ngc-login-panel{position:relative;z-index:2;display:flex;align-items:center;justify-content:center;min-width:0;padding:clamp(30px,4vw,64px);overflow-y:auto;background:transparent}.ngc-login-panel:before{display:none}.ngc-login-panel-inner{display:flex;flex-direction:column;width:min(100%,470px);padding:38px 32px 34px;border:1px solid rgba(255,255,255,.26);border-radius:24px;background:linear-gradient(145deg,#1119288f,#1119284d),#0c132047;box-shadow:0 34px 90px #03081275,0 8px 24px #03081247,inset 0 1px #ffffff47;backdrop-filter:blur(20px) saturate(1.18);-webkit-backdrop-filter:blur(20px) saturate(1.18)}.ngc-login-form{display:flex;flex-direction:column;gap:24px;margin:40px 0 0}.ngc-login-field{display:flex;flex-direction:column;gap:8px}.ngc-login .ngc-login-field>label{color:#ffffffe6!important;font-size:var(--fs-base);font-weight:var(--font-semibold)}.ngc-login-control{position:relative}.ngc-login-control>i{position:absolute;top:50%;left:15px;z-index:1;color:#ffffffad;font-size:16px;transform:translateY(-50%);pointer-events:none}.ngc-login .ngc-login-control input{width:100%;height:52px;padding:0 48px 0 44px;border:1px solid rgba(255,255,255,.24);border-radius:10px;outline:none;background:#ffffff1a!important;color:var(--surface-base);font-family:var(--font-sans)!important;font-size:15px!important;box-shadow:0 1px 2px #10182808;transition:border-color var(--t-fast),box-shadow var(--t-fast),background-color var(--t-fast)}.ngc-login .ngc-login-control input::placeholder{color:#ffffffad}.ngc-login .ngc-login-control input:hover:not(:disabled){border-color:#ffffff6b}.ngc-login .ngc-login-control input:focus{border-color:var(--brand)!important;box-shadow:0 0 0 4px var(--brand-soft)!important}.ngc-login .ngc-login-control input:disabled{cursor:not-allowed;opacity:.64}.ngc-login .ngc-login-control input:-webkit-autofill,.ngc-login .ngc-login-control input:-webkit-autofill:hover,.ngc-login .ngc-login-control input:-webkit-autofill:focus{-webkit-text-fill-color:var(--surface-base);-webkit-box-shadow:0 0 0 1000px rgba(29,38,53,.96) inset;caret-color:var(--surface-base);transition:background-color 9999s ease-in-out 0s}.ngc-login-password-toggle{position:absolute;top:50%;right:8px;display:grid;width:36px;height:36px;padding:0;place-items:center;border:0;border-radius:8px;background:transparent;color:#ffffffb3;cursor:pointer;transform:translateY(-50%);transition:color var(--t-fast),background-color var(--t-fast)}.ngc-login-password-toggle:hover:not(:disabled){background:var(--brand-soft);color:var(--link-hover)}.ngc-login-password-toggle:disabled{cursor:not-allowed;opacity:.5}.ngc-login-remember{display:grid;grid-template-columns:18px minmax(0,1fr);gap:10px;align-items:center;padding:2px 0;cursor:pointer}.ngc-login-remember input{width:17px;height:17px;margin:0;border-color:var(--login-border);accent-color:var(--link-color);cursor:pointer}.ngc-login-remember>span{display:flex;flex-direction:column;gap:2px}.ngc-login-remember strong{color:#ffffffeb;font-size:var(--fs-base);font-weight:var(--font-semibold)}.ngc-login-error{display:flex;align-items:flex-start;gap:9px;padding:12px 14px;border:1px solid rgba(220,38,38,.24);border-radius:9px;background:var(--color-danger-soft);color:var(--red-800);font-size:var(--fs-base);line-height:1.45}.ngc-login-error i{margin-top:1px;color:var(--color-danger)}.ngc-login-submit{display:flex;align-items:center;justify-content:space-between;width:100%;min-height:52px;padding:0 18px;border:1px solid var(--brand-active);border-radius:10px;background:var(--brand-active);color:var(--surface-base);font-family:var(--font-sans);font-size:14px;font-weight:var(--font-bold);cursor:pointer;box-shadow:0 10px 24px #ea580c33;transition:background-color var(--t-fast),border-color var(--t-fast),box-shadow var(--t-fast),transform var(--t-fast)}.ngc-login-submit:not(:disabled):hover{border-color:var(--orange-800);background:var(--orange-800);box-shadow:0 12px 28px #c2410c3d;transform:translateY(-1px)}.ngc-login-submit--brand{border-color:#fc6603;background:#fc6603;box-shadow:0 10px 24px #fc660347}.ngc-login-submit--brand:not(:disabled):hover{border-color:#e35b00;background:#e35b00;box-shadow:0 12px 28px #e35b004d}.ngc-login-submit:focus-visible{outline:3px solid var(--orange-900);outline-offset:3px}.ngc-login-submit:not(:disabled):active{transform:translateY(0)}.ngc-login-submit:disabled{cursor:wait;opacity:.66;box-shadow:none}.ngc-login-submit i{font-size:16px}.ngc-login-forgot{margin:22px 0 0;text-align:center}.ngc-login-footer{display:flex;flex-wrap:wrap;gap:7px;margin-top:38px;color:#ffffff94;font-size:var(--fs-base)}.ngc-login .ngc-login-link{color:#ffffffdb;font-size:var(--fs-base);font-weight:var(--font-semibold);text-decoration:underline;text-underline-offset:3px}.ngc-login .ngc-login-link:hover,.ngc-login .ngc-login-link:focus-visible{color:var(--surface-base)}.ngc-login-heading{margin:30px 0 0;color:var(--surface-base);font-size:20px;font-weight:var(--font-bold)}.ngc-login-form--compact{margin-top:16px}.ngc-login-intro{margin:0;color:#ffffffb8;font-size:14px;line-height:1.5}.ngc-login-notice{display:flex;align-items:flex-start;gap:10px;margin-top:18px;padding:14px 16px;border-radius:10px;background:var(--color-success-soft);color:var(--surface-base);font-size:14px;line-height:1.5}.ngc-login-notice i{margin-top:2px;color:var(--color-success)}.ngc-login-back{margin:24px 0 0}@media(max-height:820px)and (min-width:861px){.ngc-login-panel{align-items:flex-start;padding:16px clamp(28px,3vw,48px)}.ngc-login-panel-inner{width:min(100%,440px);margin:auto 0;padding:30px 28px 26px}.ngc-login-form{gap:16px;margin-top:30px}.ngc-login-field{gap:5px}.ngc-login .ngc-login-control input{height:44px}.ngc-login-submit{min-height:46px}.ngc-login-footer{margin-top:14px}}@media(max-width:1100px){.ngc-login{grid-template-columns:minmax(0,1fr) minmax(410px,.82fr)}.ngc-login-hero-content{padding:38px}.ngc-login-hero-copy{width:100%}}@media(max-width:860px){.ngc-login{position:relative;display:block;min-height:100dvh;overflow-y:auto;background-position:54% center}.ngc-login-hero{display:none}.ngc-login-panel{min-height:100dvh;padding:28px 24px}.ngc-login-panel-inner{padding:40px 34px 36px;background:linear-gradient(145deg,#11192894,#11192857),#0c13204d}}@media(max-width:860px){.ngc-login .ngc-login-link{display:inline-flex;min-height:var(--tap-min);align-items:center;gap:6px}.ngc-login-password-toggle{width:var(--tap-min);height:var(--tap-min);right:4px}.ngc-login-remember{grid-template-columns:20px minmax(0,1fr);min-height:var(--tap-min)}.ngc-login-remember input{width:20px;height:20px}}@media(max-width:520px){.ngc-login-panel{align-items:flex-start;padding:20px 16px}.ngc-login-panel-inner{padding:32px 22px 30px;border-radius:20px}.ngc-login-footer{margin-top:30px}}@media(prefers-reduced-motion:reduce){.ngc-login *,.ngc-login *:before,.ngc-login *:after{scroll-behavior:auto!important;transition-duration:.01ms!important}}.ngc-login-offline{display:flex;align-items:flex-start;gap:14px;margin:26px 0 0;padding:18px 18px 18px 16px;border:1px solid rgba(255,255,255,.7);border-left:4px solid var(--brand);border-radius:12px;background:#fbfbf9;color:var(--login-ink);box-shadow:0 14px 34px #03081252}.ngc-login-offline-icon{flex:none;margin-top:2px;color:var(--link-color);font-size:22px}.ngc-login-offline-body{display:flex;flex-direction:column;gap:6px;min-width:0}.ngc-login-offline h3{margin:0;color:var(--login-ink);font-family:var(--font-sans);font-size:15px;font-weight:var(--font-bold)}.ngc-login-offline p{margin:0;color:#344054;font-size:14px;line-height:1.5}.ngc-login-offline-open{display:inline-flex;align-items:center;align-self:flex-start;gap:8px;min-height:44px;margin-top:8px;padding:0 18px;border:1px solid var(--brand-active);border-radius:10px;background:var(--brand-active);color:var(--surface-base);font-family:var(--font-sans);font-size:14px;font-weight:var(--font-bold);cursor:pointer;transition:background-color var(--t-fast),border-color var(--t-fast)}.ngc-login-offline-open:not(:disabled):hover{border-color:var(--orange-800);background:var(--orange-800)}.ngc-login-offline-open:focus-visible{outline:3px solid var(--orange-900);outline-offset:3px}.ngc-login-offline-open:disabled{cursor:wait;opacity:.7}@media(max-width:420px){.ngc-login-offline-open{align-self:stretch;justify-content:center}}.ngc-login .ngc-login-heading{margin:var(--sp-7) 0 0;font-family:var(--font-sans);font-size:var(--fs-xl);font-weight:700;line-height:var(--lh-tight)}.ngc-login .ngc-login-intro{margin:var(--sp-2) 0 0}.ngc-login .ngc-login-form--compact{margin-top:var(--sp-5)}.ngc-login-hint{margin:0;color:#ffffffa8;font-size:var(--fs-xs);line-height:var(--lh-base)}.ngc-login .ngc-login-control input.ngc-login-input--plain{padding-left:var(--sp-4)}.ngc-login a.ngc-login-submit,.ngc-login button.ngc-auth-action{margin-top:var(--sp-6);text-decoration:none}.ngc-login a.ngc-login-submit:hover,.ngc-login a.ngc-login-submit:focus-visible{color:var(--surface-base)}.ngc-auth-state{display:flex;flex-direction:column;align-items:flex-start}.ngc-auth-state .ngc-login-heading{margin-top:var(--sp-4)}.ngc-auth-state-icon{display:inline-grid;width:44px;height:44px;margin-top:var(--sp-7);place-items:center;border-radius:var(--card-radius);font-size:22px}.ngc-auth-state-icon--warning{background:#f59e0b29;color:var(--color-warning)}.ngc-auth-state-icon--success{background:#22c55e29;color:var(--color-success)}.ngc-auth-checking{display:flex;align-items:center;gap:var(--sp-3);margin-top:var(--sp-5);color:#ffffffc7;font-size:var(--fs-base)}.ngc-auth-spinner{width:18px;height:18px;border:2px solid rgba(255,255,255,.24);border-top-color:var(--brand);border-radius:50%;animation:ngc-auth-spin .8s linear infinite}@keyframes ngc-auth-spin{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){.ngc-auth-spinner{animation:none}}.ngc-auth-identity{margin:var(--sp-2) 0 0;color:#ffffffb8;font-size:var(--fs-base);overflow-wrap:anywhere}.ngc-auth-identity strong{color:var(--surface-base);font-weight:600}.ngc-login .ngc-login-back{color:#ffffffb8;font-size:var(--fs-sm)}.ngc-auth-info{display:flex;align-items:flex-start;gap:var(--sp-2);margin-top:var(--sp-6);padding:var(--sp-3) var(--sp-4);border:1px solid rgba(255,255,255,.2);border-radius:var(--control-radius);background:#ffffff14;color:#ffffffe6;font-size:var(--fs-sm);line-height:var(--lh-base)}.ngc-auth-info i{margin-top:1px;color:var(--link-color)}@media(max-width:860px){.ngc-login-hint,.ngc-login .ngc-login-back,.ngc-auth-info{font-size:var(--fs-base)}}.od{--od-ink: var(--text-primary);--od-ink-soft: var(--text-secondary);--od-mat: var(--page-bg);--od-mat-line: rgba(var(--shadow-rgb), .05);--od-paper: var(--surface-raised);--od-line: var(--border);--od-hover: var(--surface-hover);--od-gutter: 16px;--od-font: 15px;position:fixed;inset:0;z-index:10;overflow-y:auto;overscroll-behavior:contain;background-color:var(--od-mat);background-image:linear-gradient(var(--od-mat-line) 1px,transparent 1px),linear-gradient(90deg,var(--od-mat-line) 1px,transparent 1px);background-size:24px 24px;color:var(--od-ink);font-family:var(--font-sans);font-size:var(--od-font)}.od--center{display:grid;place-items:center}.od-spinner{width:28px;height:28px;border:3px solid var(--od-line);border-top-color:var(--od-ink);border-radius:50%;animation:od-spin .8s linear infinite}@keyframes od-spin{to{transform:rotate(360deg)}}.od-head{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:16px 24px;padding:20px var(--od-gutter) 18px;border-bottom:1.5px solid var(--od-ink);background:var(--od-paper)}.od-head__text{min-width:0}.od-head__status{display:inline-flex;align-items:center;gap:6px;margin:0 0 6px;color:var(--od-ink-soft);font-size:.87em;font-weight:600}.od-head__title{margin:0;color:var(--od-ink);font-family:var(--font-sans);font-size:clamp(1.45em,2.4vw,2.1em);font-weight:800;letter-spacing:-.015em;line-height:1.15}.od-head__who{margin:6px 0 0;font-weight:600}.od-head__who span{font-weight:400;color:var(--od-ink-soft)}.od-head__note{margin:2px 0 0;color:var(--od-ink-soft)}.od-signin{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:0 18px;border:1px solid var(--brand);border-radius:var(--control-radius);background:var(--brand);color:var(--brand-contrast);font:inherit;font-weight:700;cursor:pointer;transition:background-color var(--t-fast),border-color var(--t-fast)}.od-signin:hover{border-color:var(--brand-hover);background:var(--brand-hover)}.od-signin:focus-visible,.od-sheet:focus-visible{outline:3px solid var(--brand);outline-offset:2px}.od-body{display:flex;flex-direction:column;gap:32px;padding:24px var(--od-gutter) 48px}.od-note{margin:0;padding:16px;max-width:70ch;border:1px solid var(--od-line);border-radius:6px;background:var(--od-paper)}.od-project{display:flex;flex-direction:column;gap:16px}.od-project__name{display:flex;align-items:baseline;flex-wrap:wrap;gap:4px 12px;margin:0;color:var(--od-ink);font-family:var(--font-sans);font-size:1.25em;font-weight:800}.od-project__count{color:var(--od-ink-soft);font-size:.72em;font-weight:600}.od-set{border:1px solid var(--od-line);border-radius:4px;background:var(--od-paper);box-shadow:var(--shadow-card)}.od-set__block{display:flex;flex-wrap:wrap;align-items:stretch;justify-content:space-between;gap:12px 24px;padding:14px 16px;border-bottom:1px solid var(--od-line)}.od-set__names{min-width:0;align-self:center}.od-set__name{margin:0;color:var(--od-ink);font-family:var(--font-sans);font-size:1.12em;font-weight:800;overflow-wrap:anywhere}.od-set__file{margin:2px 0 0;color:var(--od-ink-soft);font-size:.9em;overflow-wrap:anywhere}.od-set__facts{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(64px,auto);margin:0;border:1.5px solid var(--od-ink)}.od-set__facts>div{display:flex;flex-direction:column;justify-content:center;gap:2px;padding:6px 12px}.od-set__facts>div+div{border-left:1.5px solid var(--od-ink)}.od-set__facts dt{color:var(--od-ink-soft);font-size:.72em;font-weight:600}.od-set__facts dd{margin:0;color:var(--od-ink);font-weight:800;font-variant-numeric:tabular-nums;white-space:nowrap}.od-set__empty{margin:0;padding:14px 16px;color:var(--od-ink-soft)}.od-trades{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,19em),1fr));gap:4px 24px;padding:12px 16px 16px}.od-trade{min-width:0}.od-trade__name{display:flex;align-items:baseline;justify-content:space-between;gap:8px;margin:8px 0 4px;padding-bottom:4px;border-bottom:1.5px solid var(--od-ink);color:var(--od-ink);font-family:var(--font-sans);font-size:.93em;font-weight:800}.od-trade__count{color:var(--od-ink-soft);font-weight:600;font-variant-numeric:tabular-nums}.od-trade__sheets{margin:0;padding:0;list-style:none}.od-trade__sheets li+li{border-top:1px solid var(--od-line)}.od-sheet{display:flex;align-items:center;gap:10px;min-height:44px;padding:6px;border-radius:3px;color:var(--od-ink);text-decoration:none}.od-sheet:hover{background:var(--od-hover);color:var(--od-ink)}.od-sheet__number{flex:none;min-width:4.6em;padding:3px 6px;border:1.5px solid var(--od-ink);font-weight:800;font-variant-numeric:tabular-nums;text-align:center;white-space:nowrap}.od-sheet__title{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.93em}@media(min-width:640px){.od{--od-gutter: 24px}}@media(min-width:1024px){.od{--od-gutter: 32px}}@media(min-width:1600px){.od{--od-gutter: 48px}.od-trades{grid-template-columns:repeat(auto-fill,minmax(min(100%,21em),1fr))}}@media(min-width:2200px){.od{--od-font: 18px;--od-gutter: 64px}}@media(min-width:3200px){.od{--od-font: 22px}}@media(max-width:1023.98px){.od-head__status,.od-project__count,.od-set__file,.od-set__facts dt,.od-trade__name,.od-sheet__title{font-size:max(var(--fs-base),.93em)}}@media(max-width:639.98px){.od-signin{width:100%;justify-content:center}.od-set__facts{width:100%;grid-auto-columns:1fr}}@media(pointer:coarse){.od-sheet{min-height:48px}}@media(prefers-reduced-motion:reduce){.od-spinner{animation-duration:2.4s}}.ds-btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--sp-2);height:var(--control-h);padding:0 var(--sp-4);border:1px solid transparent;border-radius:var(--control-radius);font-family:var(--font-sans);font-size:var(--fs-base);font-weight:500;line-height:1;white-space:nowrap;text-decoration:none;cursor:pointer;transition:background-color var(--motion-fast) var(--ease-standard),color var(--motion-fast) var(--ease-standard),border-color var(--motion-fast) var(--ease-standard),box-shadow var(--motion-fast) var(--ease-standard),opacity var(--motion-fast) var(--ease-standard)}.ds-btn:focus{outline:none}.ds-btn:focus-visible{outline:none;box-shadow:var(--focus-ring)}.ds-btn.ds-btn--sm{height:var(--control-h-sm);padding:0 var(--sp-3);font-size:var(--fs-sm)}.ds-btn.ds-btn--md{height:var(--control-h)}.ds-btn.ds-btn--lg{height:44px;padding:0 var(--sp-6);font-size:var(--fs-md)}.ds-btn.ds-btn--primary{background:var(--brand);border-color:var(--brand);color:var(--brand-contrast);font-weight:600}.ds-btn.ds-btn--primary:hover:not(:disabled):not([aria-disabled=true]){background:var(--brand-hover);border-color:var(--brand-hover)}.ds-btn.ds-btn--primary:active:not(:disabled){background:var(--brand-active);border-color:var(--brand-active)}.ds-btn.ds-btn--secondary{background:var(--surface-base);border-color:var(--border-strong);color:var(--text-primary)}.ds-btn.ds-btn--secondary:hover:not(:disabled):not([aria-disabled=true]){background:var(--surface-hover)}.ds-btn.ds-btn--ghost{background:transparent;border-color:transparent;color:var(--text-primary)}.ds-btn.ds-btn--ghost:hover:not(:disabled):not([aria-disabled=true]){background:var(--surface-hover)}.ds-btn.ds-btn--destructive{background:var(--color-danger);border-color:var(--color-danger);color:var(--brand-contrast);font-weight:600}.ds-btn.ds-btn--destructive:hover:not(:disabled):not([aria-disabled=true]){background:color-mix(in srgb,var(--color-danger) 88%,var(--text-primary));border-color:color-mix(in srgb,var(--color-danger) 88%,var(--text-primary))}.ds-btn.ds-btn--destructive:focus-visible{box-shadow:0 0 0 3px color-mix(in srgb,var(--color-danger) 30%,transparent)}.ds-btn.ds-btn--link{height:auto;padding:0;border:0;background:transparent;color:var(--link-color)}.ds-btn.ds-btn--link:hover:not(:disabled):not([aria-disabled=true]){text-decoration:underline}.ds-btn:disabled,.ds-btn[aria-disabled=true]{opacity:.45;cursor:not-allowed}.ds-btn__spinner{display:inline-block;animation:ds-spin .8s linear infinite}@keyframes ds-spin{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){.ds-btn__spinner{animation-duration:2s}}.ds-icon-btn{display:inline-flex;align-items:center;justify-content:center;width:var(--tap-min);height:var(--tap-min);padding:0;flex-shrink:0;border:0;border-radius:var(--control-radius);background:transparent;color:var(--text-secondary);font-size:var(--fs-md);line-height:1;cursor:pointer}.ds-icon-btn:hover{background:var(--surface-hover);color:var(--text-primary)}.ds-icon-btn:focus{outline:none}.ds-icon-btn:focus-visible{box-shadow:var(--focus-ring)}@media(pointer:coarse),(max-width:1024px){.ds-btn.ds-btn--sm,.ds-btn.ds-btn--md{height:auto;min-height:var(--tap-min)}.ds-btn.ds-btn--link{min-height:var(--tap-min)}}.ds-modal-backdrop{position:fixed;inset:0;z-index:var(--z-modal);display:flex;align-items:center;justify-content:center;padding:var(--sp-4);background:color-mix(in srgb,var(--text-primary) 55%,transparent);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);animation:modal-fade-in .18s ease-out}.ds-modal-panel{display:flex;flex-direction:column;width:100%;max-width:min(var(--ds-modal-w, 480px),100%);max-height:calc(100dvh - (2 * var(--sp-4)));overflow:hidden;background:var(--surface-base);border:1px solid var(--border);border-radius:var(--card-radius);box-shadow:var(--shadow-pop);animation:modal-scale-in .2s cubic-bezier(.16,1,.3,1)}.ds-modal-panel--full{max-width:100%;height:calc(100dvh - (2 * var(--sp-4)))}.ds-modal-header{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-3);flex-shrink:0;padding:var(--sp-3) var(--sp-3) var(--sp-3) var(--sp-6);border-bottom:1px solid var(--border);background:var(--surface-base)}.ds-modal-title{margin:0;min-width:0;font-family:var(--font-sans);font-size:var(--fs-lg);font-weight:600;line-height:1.3;color:var(--text-primary);overflow-wrap:anywhere}.ds-modal-body{flex:1 1 auto;min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:var(--sp-6);font-size:var(--fs-base);color:var(--text-primary)}.ds-modal-body--flush{padding:0}.ds-modal-footer{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:var(--sp-2);flex-shrink:0;padding:var(--sp-3) var(--sp-6);border-top:1px solid var(--border);background:var(--surface-subtle)}@media(max-width:576px){.ds-modal-backdrop{padding:0;align-items:stretch}.ds-modal-panel,.ds-modal-panel--full{max-width:100%;height:100dvh;max-height:100dvh;border:0;border-radius:0}.ds-modal-header{padding-left:var(--sp-4);padding-top:max(var(--sp-3),env(safe-area-inset-top))}.ds-modal-body{padding:var(--sp-4)}.ds-modal-body--flush{padding:0}.ds-modal-footer{padding:var(--sp-3) var(--sp-4) max(var(--sp-3),env(safe-area-inset-bottom))}.ds-modal-backdrop:has(>.ds-modal-panel--sm){padding:var(--sp-4);align-items:center}.ds-modal-panel.ds-modal-panel--sm{height:auto;max-height:calc(100dvh - (2 * var(--sp-4)));border:1px solid var(--border);border-radius:var(--card-radius)}.ds-modal-panel--sm .ds-modal-header{padding-top:var(--sp-3)}.ds-modal-panel--sm .ds-modal-footer{padding-bottom:var(--sp-3)}}.ds-confirm__message{margin:0;font-size:var(--fs-base);line-height:1.55;color:var(--text-secondary);white-space:pre-line}.ds-confirm__field{margin-top:var(--sp-4)}.ds-confirm__label{display:block;margin-bottom:var(--sp-1);font-size:var(--fs-sm);font-weight:600;color:var(--text-primary)}.ds-confirm__input{display:block;width:100%;min-height:72px;padding:var(--sp-2) var(--sp-3);border:1px solid var(--border-strong);border-radius:var(--control-radius);background:var(--surface-base);color:var(--text-primary);font:inherit;font-size:var(--fs-base);resize:vertical}.ds-confirm__input:focus{outline:none;border-color:var(--brand);box-shadow:var(--focus-ring)}.pill.pill--md{height:26px;padding:0 10px}.pill.pill--solid{color:var(--brand-contrast)}.pill.pill--solid.pill--neutral{background:var(--text-secondary)}.pill.pill--solid.pill--info{background:var(--tone-info-fg)}.pill.pill--solid.pill--warning{background:var(--tone-warning-fg)}.pill.pill--solid.pill--danger{background:var(--tone-danger-fg)}.pill.pill--solid.pill--success{background:var(--tone-success-fg)}.pill.pill--solid.pill--brand{background:var(--brand)}.pill.pill--outline{background:transparent;box-shadow:inset 0 0 0 1px currentColor}.pill.pill--none{background:transparent;color:var(--text-tertiary);box-shadow:inset 0 0 0 1px var(--border-strong)}.pill__icon{display:inline-flex;align-items:center;font-size:.9em;line-height:1}.ds-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--sp-2);width:100%;padding:var(--sp-10) var(--sp-6);text-align:center;font-family:var(--font-sans)}.ds-empty__icon{display:grid;place-items:center;width:48px;height:48px;margin-bottom:var(--sp-2);border-radius:999px;background:var(--surface-hover);color:var(--text-tertiary);font-size:22px;flex-shrink:0}.ds-empty__title{margin:0;font-size:var(--fs-md);font-weight:600;line-height:1.35;color:var(--text-primary)}.ds-empty__description{margin:0;max-width:400px;font-size:var(--fs-base);line-height:1.5;color:var(--text-secondary)}.ds-empty__action{margin-top:var(--sp-3);display:flex;flex-wrap:wrap;gap:var(--sp-2);justify-content:center}.ds-tabbar{display:flex;align-items:stretch;gap:var(--sp-5);min-width:0;overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch}.ds-tabbar::-webkit-scrollbar{display:none}.ds-tabbar--underline{border-bottom:1px solid var(--border)}.ds-tabbar--pill{gap:var(--sp-1)}.ds-tab{display:inline-flex;align-items:center;gap:var(--sp-2);flex-shrink:0;margin:0 0 -1px;padding:var(--sp-3) 0 calc(var(--sp-3) - 2px);border:0;border-bottom:2px solid transparent;background:transparent;color:var(--text-secondary);font-family:var(--font-sans);font-size:var(--fs-base);font-weight:500;white-space:nowrap;cursor:pointer;transition:color var(--motion-fast) var(--ease-standard),border-color var(--motion-fast) var(--ease-standard)}.ds-tab--sm{padding:var(--sp-2) 0 calc(var(--sp-2) - 2px);font-size:var(--fs-sm)}.ds-tab:hover:not(:disabled){color:var(--text-primary)}.ds-tab:focus{outline:none}.ds-tab:focus-visible{box-shadow:var(--focus-ring);border-radius:4px}.ds-tab[aria-selected=true]{color:var(--text-primary);font-weight:600;border-bottom-color:var(--highlight)}.ds-tab:disabled{opacity:.45;cursor:not-allowed}.ds-tabbar--pill .ds-tab{height:var(--control-h-sm);padding:0 var(--sp-3);margin-bottom:0;border-bottom:0;border-radius:999px}.ds-tabbar--pill .ds-tab:hover:not(:disabled){background:var(--surface-hover)}.ds-tabbar--pill .ds-tab[aria-selected=true]{background:var(--tone-brand-bg);color:var(--tone-brand-fg)}.ds-tab__count{display:inline-flex;align-items:center;justify-content:center;min-width:22px;height:22px;padding:0 6px;border-radius:999px;background:var(--surface-hover);color:var(--text-secondary);font-size:var(--fs-xs);font-weight:600;font-variant-numeric:tabular-nums;line-height:1}.ds-tab[aria-selected=true] .ds-tab__count{background:var(--tone-brand-bg);color:var(--tone-brand-fg)}@media(pointer:coarse),(max-width:1024px){.ds-tab{min-height:var(--tap-min);min-width:var(--tap-min)}.ds-tabbar--pill .ds-tab{height:var(--tap-min)}}.ds-kebab{width:32px;height:32px;color:var(--text-secondary)}.ds-kebab[aria-expanded=true]{background:var(--surface-hover);color:var(--text-primary)}@media(pointer:coarse),(max-width:1024px){.ds-kebab{width:var(--tap-min);height:var(--tap-min)}}.aph .ds-kebab:not([aria-expanded=true]){color:var(--title-band-fg)}.ds-menu.dropdown-menu{padding:var(--sp-1);border:1px solid var(--border);border-radius:var(--control-radius);background:var(--surface-base);box-shadow:var(--shadow-pop);z-index:calc(var(--z-modal) + 5)}.ds-menu__item.dropdown-item{display:flex;align-items:center;gap:var(--sp-2);min-height:36px;padding:0 var(--sp-3);border-radius:6px;color:var(--text-primary);font-size:var(--fs-base);cursor:pointer}.ds-menu__item.dropdown-item:hover,.ds-menu__item.dropdown-item:focus-visible{background:var(--surface-hover);color:var(--text-primary);outline:none}.ds-menu__item.dropdown-item i{font-size:var(--fs-base);color:var(--text-tertiary)}.ds-menu__item--danger.dropdown-item,.ds-menu__item--danger.dropdown-item i{color:var(--color-danger)}.ds-menu__item--danger.dropdown-item:hover{background:var(--tone-danger-bg);color:var(--color-danger)}.ds-menu__item.dropdown-item:disabled{opacity:.45;cursor:not-allowed;background:transparent}@media(pointer:coarse),(max-width:1024px){.ds-menu__item.dropdown-item{min-height:var(--tap-min)}}.permission-matrix{overflow:hidden;background:var(--surface-base);border:1px solid var(--border);border-radius:var(--card-radius)}.permission-matrix__header,.permission-matrix__row{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-3);padding:0 var(--sp-4)}.permission-matrix__header{min-height:40px;background:var(--surface-subtle);border-bottom:1px solid var(--border);font-size:var(--fs-xs);font-weight:600;color:var(--text-tertiary)}.permission-matrix__row{min-height:44px;border-bottom:1px solid var(--border);transition:background-color var(--motion-fast) var(--ease-standard)}.permission-matrix__row:last-child{border-bottom:0}.permission-matrix__row:hover{background:var(--surface-hover)}.permission-matrix__module{min-width:0;font-size:var(--fs-base);font-weight:500;color:var(--text-primary);overflow-wrap:anywhere}.permission-matrix__select.form-select{width:auto;min-width:112px;flex-shrink:0}.permission-matrix__empty{padding:var(--sp-8) var(--sp-4);text-align:center;font-size:var(--fs-base);color:var(--text-secondary)}.ds-error-page{display:flex;align-items:center;justify-content:center;min-height:100vh;min-height:100dvh;padding:var(--sp-4);background:var(--surface-page)}.ds-error-card{width:100%;max-width:440px;padding:var(--sp-8) var(--sp-6);text-align:center;font-family:var(--font-sans);background:var(--surface-base);border:1px solid var(--border);border-radius:var(--card-radius);box-shadow:var(--shadow-card)}.ds-error-card--inline{max-width:520px;margin:var(--sp-6) auto}.ds-error-card__icon{display:grid;place-items:center;width:48px;height:48px;margin:0 auto var(--sp-3);border-radius:999px;background:var(--tone-danger-bg);color:var(--tone-danger-fg);font-size:22px}.ds-error-card__title{margin:0 0 var(--sp-1);font-size:var(--fs-lg);font-weight:600;line-height:1.3;color:var(--text-primary)}.ds-error-card__message{margin:0 0 var(--sp-5);font-size:var(--fs-base);line-height:1.5;color:var(--text-secondary)}.ds-error-card__actions{display:flex;flex-wrap:wrap;gap:var(--sp-2);justify-content:center}.ds-readonly-banner{display:flex;align-items:center;gap:var(--sp-2);margin-bottom:var(--sp-3);padding:var(--sp-2) var(--sp-4);border:1px solid color-mix(in srgb,var(--tone-info-fg) 20%,transparent);border-radius:var(--control-radius);background:var(--tone-info-bg);color:var(--tone-info-fg);font-size:var(--fs-sm);line-height:1.45}.ds-readonly-banner i{flex-shrink:0;font-size:var(--fs-base)}.ds-toast-stack{position:fixed;right:var(--sp-5);display:flex;flex-direction:column;gap:var(--sp-2);width:max-content;max-width:min(400px,calc(100vw - (2 * var(--sp-4))))}.ds-toast{display:flex;align-items:flex-start;gap:var(--sp-3);min-width:0;padding:var(--sp-3) var(--sp-3) var(--sp-3) var(--sp-4);border-radius:var(--card-radius);background:var(--toast-bg);color:var(--toast-fg);box-shadow:var(--shadow-pop);font-family:var(--font-sans);animation:ds-toast-in .22s cubic-bezier(.16,1,.3,1)}.ds-toast__icon{flex-shrink:0;font-size:var(--fs-md);line-height:20px}.ds-toast--success .ds-toast__icon{color:var(--toast-icon-success)}.ds-toast--error .ds-toast__icon{color:var(--toast-icon-danger)}.ds-toast--warning .ds-toast__icon{color:var(--toast-icon-warning)}.ds-toast--info .ds-toast__icon{color:var(--toast-icon-info)}.ds-toast--success{box-shadow:inset 3px 0 0 var(--color-success),var(--shadow-pop)}.ds-toast--error{box-shadow:inset 3px 0 0 var(--color-danger),var(--shadow-pop)}.ds-toast--warning{box-shadow:inset 3px 0 0 var(--color-warning),var(--shadow-pop)}.ds-toast--info{box-shadow:inset 3px 0 0 var(--color-info),var(--shadow-pop)}.ds-toast__message{flex:1 1 auto;min-width:0;font-size:var(--fs-base);line-height:20px;overflow-wrap:anywhere}.ds-toast__close{display:inline-grid;place-items:center;flex-shrink:0;width:28px;height:28px;margin:-4px -2px -4px 0;padding:0;border:0;border-radius:6px;background:transparent;color:inherit;font-size:var(--fs-sm);opacity:.7;cursor:pointer}.ds-toast__close:hover{opacity:1;background:color-mix(in srgb,var(--brand-contrast) 12%,transparent)}.ds-toast__close:focus{outline:none}.ds-toast__close:focus-visible{opacity:1;box-shadow:0 0 0 2px var(--brand-contrast)}@media(pointer:coarse),(max-width:1024px){.ds-toast__close{width:var(--tap-min);height:var(--tap-min);margin:-12px -8px -12px 0}}@media(max-width:576px){.ds-toast-stack{left:var(--sp-4);right:var(--sp-4);width:auto;max-width:none}}@keyframes ds-toast-in{0%{transform:translateY(8px);opacity:0}to{transform:translateY(0);opacity:1}}@media(prefers-reduced-motion:reduce){.ds-toast,.ds-modal-backdrop,.ds-modal-panel{animation:none}}.record-backlinks{margin-top:var(--space-2, 8px)}.record-backlinks__title{margin:0 0 4px;font-size:var(--fs-sm);color:var(--text-muted)}.record-backlinks__list{margin:0;padding-left:1.1rem;overflow-wrap:anywhere}.table-scroll-area{min-width:0;max-width:100%}.table-scroll-area__hint{display:flex;align-items:center;gap:var(--sp-1);margin:0 0 var(--sp-2);font-size:var(--fs-xs);font-weight:500;color:var(--text-tertiary)}.table-scroll-area__frame{position:relative;min-width:0}.table-scroll-area__scroller{max-width:100%;overflow-x:auto!important;-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain}.table-scroll-area__scroller:focus{outline:none}.table-scroll-area__scroller:focus-visible{outline:none;box-shadow:var(--focus-ring)}.table-scroll-area__fade{position:absolute;top:0;right:0;bottom:0;width:32px;pointer-events:none;background:linear-gradient(to right,color-mix(in srgb,var(--text-primary) 0%,transparent),color-mix(in srgb,var(--text-primary) 9%,transparent));border-top-right-radius:inherit;border-bottom-right-radius:inherit}.table-scroll-area__fade--left{right:auto;left:0;background:linear-gradient(to left,color-mix(in srgb,var(--text-primary) 0%,transparent),color-mix(in srgb,var(--text-primary) 9%,transparent));border-radius:0;border-top-left-radius:inherit;border-bottom-left-radius:inherit}.portfolio-waiting{max-width:1760px;min-width:0;margin:0 auto 18px;border:1px solid var(--border);border-radius:var(--card-radius);background:var(--surface-raised);box-shadow:var(--shadow-card)}.portfolio-waiting header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 18px 12px;border-bottom:1px solid var(--border)}.portfolio-waiting header>div{min-width:0}.portfolio-waiting h2{margin:0;color:var(--text-primary);font-family:var(--font-sans);font-size:var(--fs-lg);font-weight:600;line-height:var(--lh-tight)}.portfolio-waiting header p{margin:2px 0 0;color:var(--text-tertiary);font-size:var(--fs-sm)}.portfolio-waiting__loading{display:grid;gap:10px;padding:14px 18px}.portfolio-waiting__loading .skeleton:last-child{width:60%}.portfolio-waiting__empty{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin:0;padding:12px 18px;color:var(--text-secondary);font-size:var(--fs-base)}.portfolio-waiting__empty>i{color:var(--tone-success-fg)}.portfolio-waiting__empty[role=alert]>i{color:var(--tone-danger-fg)}.portfolio-waiting__empty button{min-height:32px;padding:0 10px;border:1px solid var(--border-strong);border-radius:var(--control-radius);background:var(--surface-raised);color:var(--text-primary);font-size:var(--fs-sm);font-weight:600}.portfolio-waiting__empty button:hover{background:var(--surface-hover)}.portfolio-waiting__list{margin:0;padding:0;list-style:none}.portfolio-waiting__more{display:flex;width:100%;min-height:var(--tap-min);align-items:center;justify-content:center;gap:6px;padding:0 18px;border:0;border-top:1px solid var(--border);border-radius:0 0 var(--card-radius) var(--card-radius);background:var(--surface-subtle);color:var(--tone-brand-fg);font-size:var(--fs-base);font-weight:600}.portfolio-waiting__more:hover{background:var(--surface-hover)}.portfolio-waiting__more:focus-visible{outline:0;box-shadow:inset var(--focus-ring)}.portfolio-waiting__list li+li{border-top:1px solid var(--border)}.portfolio-waiting__list a{display:grid;min-height:56px;grid-template-columns:96px minmax(0,1fr) auto 16px;align-items:center;gap:12px;padding:10px 18px;color:inherit;text-decoration:none}.portfolio-waiting__list a:hover{background:var(--surface-hover)}.portfolio-waiting__list a>i{color:var(--text-tertiary)}.portfolio-waiting__label{display:grid;min-width:0;color:var(--tone-brand-fg);font-size:var(--fs-sm);font-weight:600;overflow-wrap:anywhere}.portfolio-waiting__type{color:var(--text-tertiary);font-size:var(--fs-xs);font-weight:600}.portfolio-waiting__text{display:grid;min-width:0}.portfolio-waiting__text strong,.portfolio-waiting__text small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.portfolio-waiting__text strong{color:var(--text-primary);font-size:var(--fs-base);font-weight:600}.portfolio-waiting__text small{color:var(--text-tertiary);font-size:var(--fs-xs)}.portfolio-waiting__due{color:var(--text-secondary);font-size:var(--fs-sm);font-variant-numeric:tabular-nums;white-space:nowrap}.portfolio-waiting__due.is-overdue{color:var(--tone-danger-fg);font-weight:600}.portfolio-waiting__due em{font-style:normal}.portfolio-waiting--panel{max-width:none;margin:0}.portfolio-waiting--panel .portfolio-waiting__list a{grid-template-columns:minmax(0,1fr) 16px;gap:2px 10px}.portfolio-waiting--panel .portfolio-waiting__label{display:flex;flex-wrap:wrap;gap:6px;align-items:baseline}.portfolio-waiting--panel .portfolio-waiting__label,.portfolio-waiting--panel .portfolio-waiting__text,.portfolio-waiting--panel .portfolio-waiting__due{grid-column:1}.portfolio-waiting--panel .portfolio-waiting__list a>i{grid-column:2;grid-row:1 / span 3}.portfolio-waiting--panel .portfolio-waiting__due:empty{display:none}@media(pointer:coarse),(max-width:1024px){.portfolio-waiting__empty button{min-height:var(--tap-min)}}@media(max-width:576px){.portfolio-waiting header{padding-inline:14px}.portfolio-waiting__empty,.portfolio-waiting__list a{padding-inline:14px}.portfolio-waiting__list a{grid-template-columns:minmax(0,1fr) 16px;gap:2px 10px}.portfolio-waiting__label,.portfolio-waiting__text,.portfolio-waiting__due{grid-column:1}.portfolio-waiting__list a>i{grid-column:2;grid-row:1 / span 3}.portfolio-waiting__text strong{white-space:normal}}.portfolio-page{min-height:calc(100vh - var(--navbar-height));background:transparent;color:var(--text-primary);font-family:var(--font-sans)}.portfolio-main{width:100%;min-width:0;margin:0 auto;padding:24px 0 48px}.portfolio-titlebar{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin:0 0 16px;padding:var(--sp-4) var(--title-band-pad-x);border-radius:var(--title-band-radius);background:var(--title-band-bg);box-shadow:inset 0 -3px 0 var(--title-band-accent);color:var(--title-band-fg)}.portfolio-titlebar>div{min-width:0}.portfolio-titlebar h1{margin:0;color:var(--title-band-fg);font-family:var(--font-display);font-size:var(--fs-2xl);font-weight:600;letter-spacing:-.01em;line-height:var(--lh-tight)}.portfolio-titlebar>div>span{display:block;margin-top:4px;color:var(--title-band-muted);font-size:var(--fs-base)}.portfolio-titlebar>div>span.portfolio-signed-in-as{margin:0 0 6px;color:var(--brand-on-dark);font-size:var(--fs-sm);font-weight:600}.portfolio-create{display:inline-flex;min-height:var(--control-h);flex:0 0 auto;align-items:center;justify-content:center;gap:8px;padding:0 16px;border:1px solid var(--brand);border-radius:var(--control-radius);background:var(--brand);color:var(--brand-contrast);font-size:var(--fs-base);font-weight:600}.portfolio-create:hover{border-color:var(--brand-hover);background:var(--brand-hover)}.portfolio-register{min-width:0;border:1px solid var(--border);border-radius:var(--card-radius);background:var(--surface-raised);box-shadow:var(--shadow-card)}.portfolio-register__heading{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 18px 10px}.portfolio-register__heading h2{margin:0;color:var(--text-primary);font-family:var(--font-sans);font-size:var(--fs-lg);font-weight:600}.portfolio-register__heading p{margin:2px 0 0;color:var(--text-tertiary);font-size:var(--fs-sm)}.portfolio-register__heading>button{display:grid;width:var(--control-h);height:var(--control-h);place-items:center;border:1px solid var(--border-strong);border-radius:var(--control-radius);background:var(--surface-raised);color:var(--text-secondary)}.portfolio-register__heading>button:hover:not(:disabled){background:var(--surface-hover);color:var(--text-primary)}.portfolio-register__heading>button:disabled{cursor:progress}.portfolio-register__heading .is-spinning{display:inline-block;animation:portfolio-spin .9s linear infinite}@keyframes portfolio-spin{to{transform:rotate(360deg)}}.portfolio-toolbar{display:grid;grid-template-columns:minmax(200px,320px) auto minmax(0,1fr);align-items:end;gap:12px;padding:0 18px 14px;border-bottom:1px solid var(--border)}.portfolio-search{display:grid;min-width:0;height:var(--control-h);grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:8px;margin:0;padding:0 10px;border:1px solid var(--border-strong);border-radius:var(--control-radius);background:var(--surface-raised);color:var(--text-tertiary)}.portfolio-search:focus-within{border-color:var(--brand);box-shadow:var(--focus-ring)}.portfolio-search input{min-width:0;height:calc(var(--control-h) - 2px);padding:0;border:0;outline:0;background:transparent;color:var(--text-primary);font-size:var(--fs-base)}.portfolio-search button{display:grid;width:28px;height:28px;place-items:center;border:0;border-radius:6px;background:transparent;color:var(--text-tertiary)}.portfolio-search button:hover{background:var(--surface-hover)}.portfolio-filters-toggle{display:none;align-items:center;justify-content:center;gap:6px;min-height:var(--tap-min);padding:0 12px;border:1px solid var(--border-strong);border-radius:var(--control-radius);background:var(--surface-raised);color:var(--text-primary);font-size:var(--fs-base);font-weight:500;white-space:nowrap}.portfolio-filters-toggle:hover{background:var(--surface-hover)}.portfolio-filters-toggle.is-set{border-color:var(--brand);background:var(--tone-brand-bg);color:var(--tone-brand-fg)}.portfolio-toolbar__filters{display:contents}.portfolio-state-tabs{display:flex;min-width:max-content;align-items:center;gap:2px;padding:3px;border-radius:var(--control-radius);background:var(--surface-hover)}.portfolio-state-tabs button{height:30px;padding:0 12px;border:0;border-radius:6px;background:transparent;color:var(--text-secondary);font-size:var(--fs-sm);font-weight:500}.portfolio-state-tabs button:hover{color:var(--text-primary)}.portfolio-state-tabs button.is-active{background:var(--surface-raised);color:var(--text-primary);font-weight:600;box-shadow:var(--shadow-card)}.portfolio-toolbar__right{display:flex;min-width:0;align-items:flex-end;justify-content:flex-end;gap:8px}.portfolio-toolbar__right>label{display:flex;align-items:center;gap:8px;margin:0}.portfolio-toolbar__right>label span{color:var(--text-secondary);font-size:var(--fs-sm);font-weight:500;white-space:nowrap}.portfolio-toolbar__right select{min-width:160px;height:var(--control-h);padding:0 32px 0 10px;border:1px solid var(--border-strong);border-radius:var(--control-radius);background-color:var(--surface-raised);color:var(--text-primary);font-size:var(--fs-base)}.portfolio-configure{position:relative}.portfolio-configure>button{display:inline-flex;height:var(--control-h);align-items:center;gap:7px;padding:0 12px;border:1px solid var(--border-strong);border-radius:var(--control-radius);background:var(--surface-raised);color:var(--text-primary);font-size:var(--fs-base);font-weight:500}.portfolio-configure>button:hover{background:var(--surface-hover)}.portfolio-configure__menu{position:absolute;z-index:20;top:calc(100% + 6px);right:0;width:260px;padding:6px;border:1px solid var(--border);border-radius:var(--card-radius);background:var(--surface-raised);box-shadow:var(--shadow-pop)}.portfolio-configure__menu header{display:flex;align-items:center;justify-content:space-between;padding:6px 8px 8px;border-bottom:1px solid var(--border)}.portfolio-configure__menu header strong{font-size:var(--fs-sm);font-weight:600}.portfolio-configure__menu header button{min-height:28px;padding:0 8px;border:0;border-radius:6px;background:transparent;color:var(--tone-brand-fg);font-size:var(--fs-sm);font-weight:600}.portfolio-configure__menu header button:hover{background:var(--surface-hover)}.portfolio-configure__menu>label{display:flex;min-height:34px;align-items:center;gap:8px;margin:0;padding:6px 8px;border-radius:6px;color:var(--text-primary);font-size:var(--fs-base)}.portfolio-configure__menu>label small{margin-left:auto;color:var(--text-tertiary);font-size:var(--fs-xs)}.portfolio-configure__menu>label:hover{background:var(--surface-hover)}.portfolio-configure__menu input{accent-color:var(--link-color)}.portfolio-count{display:flex;min-height:36px;align-items:center;justify-content:flex-end;gap:12px;padding:8px 18px;color:var(--text-tertiary);font-size:var(--fs-sm)}.portfolio-count span+span{padding-left:12px;border-left:1px solid var(--border)}.portfolio-table-wrap{position:relative;max-width:100%;overflow:auto}.portfolio-register .table-scroll-area__hint{margin:0;padding:0 18px 6px}.portfolio-table{width:100%;min-width:var(--portfolio-table-min, 0);table-layout:fixed;border-collapse:separate;border-spacing:0;color:var(--text-primary);font-size:var(--fs-base)}.portfolio-table th,.portfolio-table td{height:52px;padding:8px 14px;border-top:1px solid var(--border);background:var(--surface-raised);text-align:left;vertical-align:middle}.portfolio-table th{position:sticky;z-index:3;top:0;height:40px;background:var(--table-head-bg);color:var(--table-head-fg);font-size:var(--fs-xs);font-weight:600;white-space:nowrap}.portfolio-table th:first-child,.portfolio-table td:first-child{position:sticky;z-index:2;left:0}.portfolio-table th:first-child{z-index:4}.portfolio-table th button{display:inline-flex;max-width:100%;align-items:center;gap:6px;padding:0;border:0;background:transparent;color:inherit;font-size:inherit;font-weight:inherit;text-align:left}.portfolio-table th button:hover{color:var(--text-primary)}.portfolio-table th button i{color:var(--border-strong);font-size:10px}.portfolio-table th[aria-sort] button i{color:var(--text-secondary)}.portfolio-table td{overflow:hidden;color:var(--text-secondary);text-overflow:ellipsis;white-space:nowrap}.portfolio-table tbody tr:not(.portfolio-group-row):hover td{background:var(--row-hover-bg)}.portfolio-table__name>a{display:block;min-width:0;color:var(--text-primary);text-decoration:none}.portfolio-table__name>a strong,.portfolio-table__name>a small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.portfolio-table__name>a strong{color:var(--text-primary);font-size:var(--fs-base);font-weight:600}.portfolio-table__name>a:hover strong,.portfolio-table__name>a:focus-visible strong{text-decoration:underline;text-underline-offset:2px}.portfolio-table__name>a small{margin-top:2px;color:var(--text-tertiary);font-size:var(--fs-xs)}.portfolio-ellipsis{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.portfolio-date{white-space:nowrap}.portfolio-table__actions-head,.portfolio-table__actions{text-align:right}.portfolio-group-row td{position:static;height:36px;padding:6px 14px;background:var(--surface-subtle);color:var(--text-primary)}.portfolio-table .portfolio-group-row td:first-child{position:static}.portfolio-group-row span{font-size:var(--fs-sm);font-weight:600}.portfolio-group-row small{margin-left:8px;color:var(--text-tertiary);font-size:var(--fs-xs)}.portfolio-stage,.portfolio-status{max-width:100%;overflow:hidden;text-overflow:ellipsis}.portfolio-row-actions{display:inline-flex;align-items:center;justify-content:flex-end;gap:4px}.portfolio-row-actions button{display:inline-flex;min-width:var(--control-h-sm);height:var(--control-h-sm);align-items:center;justify-content:center;gap:6px;padding:0 10px;border:1px solid var(--border-strong);border-radius:var(--control-radius);background:var(--surface-raised);color:var(--text-primary);font-size:var(--fs-sm);font-weight:500}.portfolio-row-actions button:last-child{padding:0}.portfolio-row-actions button:hover:not(:disabled){background:var(--surface-hover)}.portfolio-row-actions button:disabled{cursor:not-allowed;opacity:.5}.portfolio-loading{display:grid;gap:14px;padding:18px}.portfolio-loading .skeleton{height:18px}.portfolio-loading .skeleton:nth-child(2n){width:75%}.portfolio-empty{display:grid;place-items:center;align-content:center;gap:8px;padding:40px 24px;color:var(--text-secondary);text-align:center}.portfolio-empty>i{display:grid;width:44px;height:44px;place-items:center;border-radius:999px;background:var(--surface-hover);color:var(--text-secondary);font-size:20px}.portfolio-empty h3{margin:4px 0 0;color:var(--text-primary);font-family:var(--font-sans);font-size:var(--fs-md);font-weight:600}.portfolio-empty p{max-width:440px;margin:0;font-size:var(--fs-base);line-height:var(--lh-base)}.portfolio-empty button{min-height:var(--control-h);margin-top:6px;padding:0 14px;border:1px solid var(--brand);border-radius:var(--control-radius);background:var(--brand);color:var(--brand-contrast);font-size:var(--fs-base);font-weight:600}.portfolio-empty button.is-secondary{border-color:var(--border-strong);background:var(--surface-raised);color:var(--text-primary)}.portfolio-pagination{display:flex;min-height:52px;align-items:center;justify-content:space-between;gap:16px;padding:8px 18px;border-top:1px solid var(--border);border-radius:0 0 var(--card-radius) var(--card-radius);background:var(--surface-subtle)}.portfolio-pagination>span{color:var(--text-tertiary);font-size:var(--fs-sm);font-weight:500}.portfolio-pagination>div{display:flex;gap:8px}.portfolio-pagination button{display:inline-flex;min-height:var(--control-h-sm);align-items:center;gap:6px;padding:0 12px;border:1px solid var(--border-strong);border-radius:var(--control-radius);background:var(--surface-raised);color:var(--text-primary);font-size:var(--fs-sm);font-weight:500}.portfolio-pagination button:hover:not(:disabled){background:var(--surface-hover)}.portfolio-pagination button:disabled{cursor:not-allowed;opacity:.5}.portfolio-modal{position:fixed;z-index:var(--z-modal);inset:0;display:grid;place-items:center;padding:20px}.portfolio-modal__backdrop{position:absolute;inset:0;width:100%;height:100%;border:0;background:var(--scrim);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.portfolio-editor{position:relative;display:flex;width:min(760px,100%);max-height:min(850px,calc(100vh - 40px));flex-direction:column;overflow:hidden;border-radius:var(--card-radius);background:var(--surface-raised);box-shadow:var(--shadow-pop)}.portfolio-editor>header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:18px 20px 14px;border-bottom:1px solid var(--border)}.portfolio-editor>header p{margin:0 0 2px;color:var(--text-tertiary);font-size:var(--fs-sm);font-weight:500}.portfolio-editor>header h2{margin:0;font-family:var(--font-sans);font-size:var(--fs-lg);font-weight:600}.portfolio-editor>header button{display:grid;width:var(--tap-min);height:var(--tap-min);flex:0 0 auto;place-items:center;border:0;border-radius:var(--control-radius);background:transparent;color:var(--text-secondary)}.portfolio-editor>header button:hover{background:var(--surface-hover)}.portfolio-editor__body{overflow:auto;padding:2px 20px 20px}.portfolio-form-error{display:flex;align-items:center;gap:8px;margin-top:16px;padding:10px 12px;border:1px solid var(--tone-danger-bg);border-radius:var(--control-radius);background:var(--tone-danger-bg);color:var(--tone-danger-fg);font-size:var(--fs-sm);font-weight:500}.portfolio-editor__body section{padding-top:18px}.portfolio-editor__body section+section{margin-top:18px;border-top:1px solid var(--border)}.portfolio-editor__body h3{margin:0 0 12px;color:var(--text-primary);font-family:var(--font-sans);font-size:var(--fs-md);font-weight:600}.portfolio-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.portfolio-form-grid label{display:grid;min-width:0;gap:6px;margin:0}.portfolio-form-grid label.is-wide{grid-column:1 / -1}.portfolio-form-grid label>span{color:var(--text-primary);font-size:var(--fs-sm);font-weight:600}.portfolio-form-grid label>span b{color:var(--tone-danger-fg);font-weight:600}.portfolio-form-grid input,.portfolio-form-grid select,.portfolio-form-grid textarea{width:100%;min-height:var(--control-h);padding:7px 10px;border:1px solid var(--border-strong);border-radius:var(--control-radius);background-color:var(--surface-raised);color:var(--text-primary);font-size:var(--fs-base)}.portfolio-form-grid select{padding-right:32px}.portfolio-form-grid input::placeholder,.portfolio-form-grid textarea::placeholder{color:var(--text-tertiary)}.portfolio-form-grid input:focus,.portfolio-form-grid select:focus,.portfolio-form-grid textarea:focus{border-color:var(--brand);outline:0;box-shadow:var(--focus-ring)}.portfolio-form-grid textarea{resize:vertical}.portfolio-editor>footer{display:flex;align-items:center;justify-content:flex-end;gap:8px;padding:12px 20px;border-top:1px solid var(--border);background:var(--surface-subtle)}.portfolio-editor>footer button{display:inline-flex;min-width:90px;height:var(--control-h);align-items:center;justify-content:center;gap:8px;padding:0 14px;border:1px solid var(--border-strong);border-radius:var(--control-radius);background:var(--surface-raised);color:var(--text-primary);font-size:var(--fs-base);font-weight:600}.portfolio-editor>footer button:hover:not(:disabled){background:var(--surface-hover)}.portfolio-editor>footer button.is-primary{border-color:var(--brand);background:var(--brand);color:var(--brand-contrast)}.portfolio-editor>footer button.is-primary:hover:not(:disabled){border-color:var(--brand-hover);background:var(--brand-hover)}.portfolio-editor>footer button:disabled{cursor:not-allowed;opacity:.55}@media(max-width:1180px){.portfolio-toolbar{grid-template-columns:minmax(220px,1fr) auto}.portfolio-toolbar__right{grid-column:1 / -1;justify-content:flex-start}}@media(max-width:1024px){.portfolio-main{padding-inline:0}}@media(max-width:800px){.portfolio-titlebar{align-items:stretch;flex-direction:column}.portfolio-toolbar{grid-template-columns:minmax(0,1fr)}.portfolio-state-tabs{max-width:100%;min-width:0;overflow-x:auto}.portfolio-state-tabs button{flex:1 0 auto}.portfolio-toolbar__right{grid-column:auto;flex-wrap:wrap}}@media(pointer:coarse),(max-width:1024px){.portfolio-create,.portfolio-configure>button,.portfolio-toolbar__right select,.portfolio-state-tabs button,.portfolio-configure__menu header button,.portfolio-configure__menu>label,.portfolio-pagination button,.portfolio-empty button{height:auto;min-height:var(--tap-min)}.portfolio-search{height:auto;min-height:var(--tap-min)}.portfolio-search input{height:calc(var(--tap-min) - 2px)}.portfolio-search button,.portfolio-register__heading>button,.portfolio-row-actions button{min-width:var(--tap-min);min-height:var(--tap-min)}.portfolio-register__heading>button{width:var(--tap-min);height:var(--tap-min)}}@media(max-width:767.98px){.portfolio-filters-toggle{display:inline-flex}.portfolio-toolbar__filters{display:none}.portfolio-toolbar__filters.is-open{display:grid;gap:12px}}@media(max-width:1024px){table.portfolio-table,table.portfolio-table tbody,table.portfolio-table tr,table.portfolio-table td{display:block;width:100%}table.portfolio-table thead{display:none}table.portfolio-table tr{border:1px solid var(--border);border-radius:10px;margin-bottom:10px;padding:10px 12px;background:var(--surface-raised)}table.portfolio-table td{border:0!important;padding:4px 0!important;display:flex;gap:12px;justify-content:space-between;text-align:right;min-width:0}table.portfolio-table td:before{content:attr(data-label);flex:0 0 auto;text-align:left;font-size:var(--fs-xs);font-weight:600;color:var(--text-tertiary)}table.portfolio-table td[data-label=""]:before,table.portfolio-table td:not([data-label]):before{content:none}table.portfolio-table td.table-cards__title{font-weight:600;text-align:left;justify-content:flex-start}}@media(min-width:641px)and (max-width:1024px){table.portfolio-table tbody{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}table.portfolio-table tr{margin-bottom:0}table.portfolio-table tr.portfolio-group-row{grid-column:1 / -1}}@media(max-width:1024px){.portfolio-register .table-scroll-area__hint{display:none}.portfolio-table-wrap{padding:0 12px 4px}.portfolio-table{min-width:0;table-layout:auto}.portfolio-table colgroup{display:none}.portfolio-table td,.portfolio-table td:first-child{position:static;height:auto;overflow:visible;white-space:normal}.portfolio-table tbody tr:not(.portfolio-group-row):hover td{background:transparent}.portfolio-table__name>a strong,.portfolio-table__name>a small{white-space:normal}.portfolio-table__name>a{display:block;min-height:24px}.portfolio-table td.portfolio-table__actions{justify-content:flex-end;margin-top:4px}.portfolio-table td .portfolio-ellipsis{white-space:normal}.portfolio-row-actions button{min-height:var(--tap-min);min-width:var(--tap-min)}.portfolio-table .portfolio-group-row{margin-top:6px;border:0;background:transparent;padding:6px 2px}.portfolio-table .portfolio-group-row td{background:transparent}}@media(max-width:576px){.portfolio-main{padding:16px 0 32px}.portfolio-titlebar{padding-inline:var(--sp-4)}.portfolio-titlebar h1{font-size:var(--fs-xl)}.portfolio-create{width:100%;min-height:var(--tap-min)}.portfolio-register__heading,.portfolio-toolbar,.portfolio-count,.portfolio-pagination{padding-inline:12px}.portfolio-toolbar__right{align-items:stretch;flex-direction:column}.portfolio-toolbar__right>label{display:grid;gap:4px}.portfolio-toolbar__right select{width:100%}.portfolio-configure>button{width:100%;justify-content:center}.portfolio-configure__menu{right:auto;left:0;width:min(260px,calc(100vw - 48px))}.portfolio-pagination{align-items:stretch;flex-direction:column}.portfolio-pagination>div,.portfolio-pagination button{flex:1}.portfolio-pagination button{justify-content:center;min-height:var(--tap-min)}.portfolio-form-grid{grid-template-columns:minmax(0,1fr)}.portfolio-form-grid label.is-wide{grid-column:auto}.portfolio-modal{padding:0}.portfolio-editor{width:100%;max-height:100vh;height:100%;border-radius:0}.portfolio-editor__body{flex:1}}.aph{min-width:0;padding:var(--sp-4) var(--title-band-pad-x) var(--sp-3);margin:0 0 var(--sp-5);border-bottom:1px solid var(--title-band-border);border-radius:var(--title-band-radius);background:var(--title-band-bg);box-shadow:inset 0 -3px 0 var(--title-band-accent);color:var(--title-band-fg)}@media(max-width:576px){.aph{padding-right:var(--sp-4);padding-left:var(--sp-4)}}.aph__crumbs{margin-bottom:var(--sp-2);min-width:0}.aph__row{display:flex;flex-wrap:wrap;align-items:center;gap:var(--sp-2) var(--sp-3);min-width:0}.aph__lead{display:flex;align-items:center;gap:var(--sp-3);flex:1 1 16rem;min-width:0}.aph__copy{flex:1 1 auto;min-width:0}.aph .aph__title{display:-webkit-box;margin:0;font-family:var(--font-display);font-size:var(--fs-2xl);font-weight:600;line-height:var(--lh-tight);color:var(--title-band-fg);white-space:normal;overflow:hidden;overflow-wrap:break-word;-webkit-box-orient:vertical;-webkit-line-clamp:3;max-width:100%}.aph__subtitle{margin:var(--sp-1) 0 0;font-size:var(--fs-base);color:var(--title-band-muted)}.aph__actions{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:var(--sp-2);flex:0 0 auto;max-width:100%;min-width:0}.aph__actions>*{flex-shrink:0;max-width:100%}.aph__actions>span,.aph__actions>.pill{flex:0 0 auto;width:auto;white-space:nowrap}.aph .aph__back{display:inline-flex;align-items:center;justify-content:center;gap:var(--sp-1);flex:0 0 auto;height:var(--control-h-sm);padding:0 var(--sp-3);border:1px solid var(--border-strong);border-radius:var(--control-radius);background:var(--surface-raised);color:var(--text-primary);font-family:var(--font-sans);font-size:var(--fs-sm);font-weight:500;line-height:1;white-space:nowrap;cursor:pointer;transition:background-color .15s ease,border-color .15s ease}.aph .aph__back:hover{background:var(--surface-hover)}.aph .aph__back:focus-visible{outline:none;box-shadow:var(--focus-ring)}.aph__back .bi{font-size:var(--fs-md);line-height:1}.aph--single-row .aph__lead{flex-basis:12rem}@media(pointer:coarse),(max-width:1024px){.aph .aph__back{min-height:var(--tap-min);min-width:var(--tap-min)}}@media(max-width:1023.98px){.aph .aph__actions:has(button,a,.btn){flex-basis:100%;justify-content:flex-start}}@media(max-width:767.98px){.aph .aph__title{font-size:var(--fs-xl)}.aph:not(.aph--single-row) .aph__actions{flex-basis:100%;justify-content:flex-start}}@media(max-width:575.98px){.aph{padding-top:var(--sp-4);margin-bottom:var(--sp-4)}.aph__lead{gap:var(--sp-2)}.aph .aph__back{width:var(--tap-min);height:var(--tap-min);padding:0}.aph__back-label{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.aph--single-row .aph__actions{justify-content:flex-start}}.aph-crumbs .breadcrumb{margin:0;padding:0;background:transparent;flex-wrap:wrap;overflow:hidden;font-size:var(--fs-sm)}.aph-crumbs .breadcrumb-item{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:150px}.aph-crumbs .breadcrumb-item.active{max-width:200px}.aph-crumbs .breadcrumb-link{color:var(--title-band-link);text-decoration:none}@media(pointer:coarse),(max-width:1024px){.aph-crumbs .breadcrumb-link{display:inline-flex;align-items:center;min-height:var(--tap-min)}.aph__crumbs{margin-bottom:0}}.aph-crumbs .breadcrumb-item,.aph-crumbs .breadcrumb-item.active,.aph-crumbs .breadcrumb-item+.breadcrumb-item:before{color:var(--title-band-muted)!important}.aph-crumbs .breadcrumb-link:hover{text-decoration:underline}@media(max-width:576px){.aph-crumbs .breadcrumb{font-size:var(--fs-sm)}.aph-crumbs .breadcrumb-item,.aph-crumbs .breadcrumb-item.active{max-width:160px}}@media(max-width:375px){.aph-crumbs .breadcrumb-item,.aph-crumbs .breadcrumb-item.active{max-width:120px}}.project-detail-wrapper{padding-top:var(--sp-6)}@media(max-width:768px){.project-detail-wrapper{padding-top:var(--sp-4)}}.project-detail-skeleton__header{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 0 16px;border-bottom:1px solid var(--border);margin-bottom:16px}.project-detail-skeleton__title{width:min(240px,60%);height:28px}.project-detail-skeleton__pill{width:64px;height:22px;border-radius:999px}.project-detail-skeleton__body{display:grid;gap:16px;padding-top:4px}.project-detail-skeleton__tiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px}@media(max-width:1099px){.project-detail-skeleton__tiles{grid-template-columns:repeat(2,minmax(0,1fr))}}.project-detail-skeleton__tiles .skeleton{height:88px;border-radius:var(--card-radius)}.project-detail-skeleton__panel{height:320px;border-radius:var(--card-radius)}.notification-bell{position:relative;margin-right:12px}.notification-bell__trigger{position:relative;display:grid;width:38px;height:38px;place-items:center;border:1px solid var(--on-dark-border);border-radius:var(--control-radius);background:var(--on-dark-fill);color:var(--brand-contrast);font-size:1rem}.notification-bell__trigger:hover,.notification-bell__trigger[aria-expanded=true]{background:var(--on-dark-fill-hover)}.notification-bell__trigger:focus-visible{outline:0;box-shadow:var(--focus-ring)}.notification-bell__trigger>span{position:absolute;top:-5px;right:-7px;min-width:18px;padding:1px 5px;border:2px solid var(--shell-bg);border-radius:999px;background:var(--color-danger);color:var(--brand-contrast);font-size:var(--fs-xs);font-weight:700;font-variant-numeric:tabular-nums;line-height:1.2}.notification-bell__panel{position:absolute;z-index:1200;top:calc(100% + 10px);right:0;width:min(390px,calc(100vw - 24px));overflow:hidden;border:1px solid var(--border);border-radius:var(--card-radius);background:var(--surface-base);box-shadow:var(--shadow-pop);color:var(--text-primary)}.notification-bell__panel header{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:var(--sp-3) var(--sp-4);border-bottom:1px solid var(--border)}.notification-bell__panel header h2{margin:0;color:var(--text-primary);font-family:var(--font-sans);font-size:var(--fs-md);font-weight:600}.notification-bell__panel header button,.notification-bell__footer button{display:inline-flex;min-height:var(--control-h-sm);align-items:center;gap:var(--sp-2);padding:0 var(--sp-2);border:0;border-radius:var(--control-radius);background:transparent;color:var(--link-color);font-size:var(--fs-sm);font-weight:600}.notification-bell__panel header button:hover,.notification-bell__footer button:hover{background:var(--surface-hover)}.notification-bell__panel header button:focus-visible,.notification-bell__footer button:focus-visible,.notification-bell__list>button:focus-visible{outline:0;box-shadow:var(--focus-ring)}.notification-bell__footer{display:flex;justify-content:flex-end;padding:var(--sp-2) var(--sp-3);border-top:1px solid var(--border);background:var(--surface-subtle)}.notification-bell__footer button{color:var(--text-secondary)}.notification-bell__footer button>i{color:var(--text-tertiary)}.notification-bell__list{max-height:min(520px,calc(100vh - 150px));overflow-y:auto}.notification-bell__waiting{border-bottom:1px solid var(--border);background:var(--surface-subtle)}.notification-bell__waiting h3{display:flex;align-items:baseline;justify-content:space-between;margin:0;padding:var(--sp-3) var(--sp-4) var(--sp-1);color:var(--text-primary);font-size:var(--fs-sm);font-weight:600}.notification-bell__waiting h3 span{color:var(--text-tertiary);font-size:var(--fs-xs);font-weight:500}.notification-bell__waiting>button{display:grid;width:100%;gap:2px;padding:var(--sp-2) var(--sp-4);border:0;background:transparent;color:inherit;text-align:left}.notification-bell__waiting>button:hover{background:var(--surface-hover)}.notification-bell__waiting>button:focus-visible{outline:0;box-shadow:var(--focus-ring)}.notification-bell__waiting strong{overflow:hidden;font-size:var(--fs-sm);font-weight:500;text-overflow:ellipsis;white-space:nowrap}.notification-bell__waiting>button span{color:var(--text-secondary);font-size:var(--fs-xs)}.notification-bell__waiting>button.is-overdue span{color:var(--color-danger)}.notification-bell__list>button{display:flex;width:100%;align-items:flex-start;gap:var(--sp-3);padding:var(--sp-3) var(--sp-4);border:0;border-bottom:1px solid var(--border);background:transparent;color:inherit;text-align:left}.notification-bell__list>button:last-child{border-bottom:0}.notification-bell__list>button.is-unread{background:var(--brand-faint)}.notification-bell__list>button:hover{background:var(--surface-hover)}.notification-bell__icon{display:grid;flex:0 0 36px;width:36px;height:36px;place-items:center;border-radius:var(--control-radius);background:var(--brand-soft);color:var(--link-color)}.notification-bell__copy{min-width:0;flex:1}.notification-bell__copy strong,.notification-bell__copy span,.notification-bell__copy small{display:block}.notification-bell__copy strong{color:var(--text-primary);font-size:var(--fs-base);font-weight:600}.notification-bell__copy span{overflow:hidden;margin-top:2px;color:var(--text-secondary);font-size:var(--fs-sm);text-overflow:ellipsis;white-space:nowrap}.notification-bell__copy small{margin-top:var(--sp-1);color:var(--text-tertiary);font-size:var(--fs-xs);font-variant-numeric:tabular-nums}.notification-bell__dot{flex:0 0 7px;width:7px;height:7px;margin-top:5px;border-radius:50%;background:var(--brand)}.notification-bell__empty{display:grid;padding:var(--sp-10) var(--sp-5);gap:var(--sp-2);color:var(--text-tertiary);text-align:center}.notification-bell__empty i{color:var(--link-color);font-size:1.5rem}.notification-bell__empty strong{color:var(--text-primary);font-size:var(--fs-base);font-weight:600}.notification-bell__empty span{font-size:var(--fs-sm)}.notification-bell__loading{display:grid}.notification-bell__skeleton-row{display:flex;gap:var(--sp-3);padding:var(--sp-3) var(--sp-4);border-bottom:1px solid var(--border)}.notification-bell__skeleton-icon{flex:0 0 36px;height:36px;border-radius:var(--control-radius)}.notification-bell__skeleton-copy{display:grid;min-width:0;flex:1;gap:var(--sp-2);padding-top:2px}.notification-bell__skeleton-copy>span{height:12px;border-radius:4px}.notification-bell__skeleton-copy>span:last-child{width:60%}@media(pointer:coarse){.notification-bell__trigger{width:var(--tap-min);height:var(--tap-min)}.notification-bell__panel header button,.notification-bell__footer button{min-height:var(--tap-min)}}@media(max-width:767px){.notification-bell{margin:8px 12px 8px 0}.notification-bell__panel{position:fixed;top:var(--navbar-height);right:12px}}.portfolio-search__trigger{display:flex;align-items:center;gap:7px;margin-right:8px;padding:7px 9px;border:1px solid var(--on-dark-border);border-radius:8px;background:var(--on-dark-fill);color:var(--text-inverse);font-size:.82rem}.portfolio-search__trigger kbd{padding:1px 5px;border:0;background:var(--on-dark-fill-hover);color:var(--on-dark-muted);font:inherit;font-size:.7rem}.portfolio-search__overlay{position:fixed;inset:0;z-index:2000;display:grid;align-items:start;justify-items:center;padding:min(14vh,120px) 16px 16px;background:var(--scrim);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.portfolio-search__dialog{width:min(680px,100%);overflow:hidden;border:1px solid var(--gray-200);border-radius:14px;background:var(--surface-raised);box-shadow:var(--shadow-overlay)}.portfolio-search__dialog>label{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:12px;padding:15px 16px;border-bottom:1px solid var(--gray-200);color:var(--gray-500)}.portfolio-search__dialog input{min-width:0;border:0;outline:0;color:var(--gray-900);font-size:1rem}.portfolio-search__dialog label button{padding:3px 7px;border:1px solid var(--gray-200);border-radius:5px;background:var(--gray-50);color:var(--gray-500);font-size:.72rem}.portfolio-search__results{max-height:min(52vh,460px);overflow:auto;padding:7px}.portfolio-search__results>button{display:grid;width:100%;grid-template-columns:38px 1fr auto;align-items:center;gap:11px;padding:10px;border:0;border-radius:8px;background:transparent;color:var(--gray-900);text-align:left}.portfolio-search__results>button:hover,.portfolio-search__results>button.is-active{background:var(--brand-soft)}.portfolio-search__results>button>span:first-child{display:grid;width:38px;height:38px;place-items:center;border-radius:9px;background:var(--gray-100);color:var(--link-color)}.portfolio-search__results strong,.portfolio-search__results small{display:block}.portfolio-search__results small{margin-top:3px;color:var(--gray-500)}.portfolio-search__empty{padding:34px 20px;color:var(--gray-500);text-align:center}@media(max-width:900px){.portfolio-search__trigger span,.portfolio-search__trigger kbd{display:none}}@media(pointer:coarse),(max-width:1024px){.portfolio-search__trigger{justify-content:center;min-width:var(--tap-min);min-height:var(--tap-min)}}.ngc-shell{position:sticky;z-index:1000;top:0;width:100%;background:var(--shell-bg);color:var(--text-inverse);box-shadow:0 1px 0 var(--on-dark-fill),var(--shadow-md)}.ngc-shell button,.ngc-shell a{font-family:var(--font-sans)}.ngc-shell__bar{display:flex;min-height:68px;align-items:stretch}.ngc-shell__brand{display:flex;flex:0 0 auto;align-items:center;justify-content:center;padding:10px 6px 10px 16px;background:transparent;border-radius:var(--control-radius)}.ngc-shell__brand:focus-visible{outline:0;box-shadow:var(--focus-ring)}.ngc-shell__brand picture{display:flex}.ngc-shell__brand img{display:block;width:auto;height:24px}@media(max-width:1199.98px){.ngc-shell__brand img{height:36px}}.ngc-shell__brand span{display:none}.ngc-shell__selectors{display:flex;min-width:0;flex:1;align-items:center;gap:8px;padding:8px 10px}.ngc-shell__menu-root{position:relative}.ngc-shell__selector{display:grid;min-width:250px;height:52px;grid-template-columns:1fr auto;align-items:center;gap:14px;padding:7px 12px;border:1px solid var(--on-dark-border);border-radius:6px;background:var(--shell-raised);color:var(--text-inverse);text-align:left}.ngc-shell__selector:hover,.ngc-shell__selector.is-open{border-color:var(--on-dark-border);background:var(--shell-raised-hover)}.ngc-shell__selector span,.ngc-shell__selector small,.ngc-shell__selector strong{display:block;min-width:0}.ngc-shell__selector small{overflow:hidden;color:var(--shell-text-muted);font-size:var(--fs-xs);font-weight:500;letter-spacing:.01em;line-height:1.2;text-overflow:ellipsis;white-space:nowrap}.ngc-shell__selector strong{overflow:hidden;margin-top:2px;font-size:var(--fs-base);font-weight:600;line-height:1.15;text-overflow:ellipsis;white-space:nowrap}.ngc-shell__selector>i{color:var(--shell-text-muted);font-size:.72rem;transition:transform var(--t-base)}.ngc-shell__selector.is-open>i{transform:rotate(180deg)}.ngc-shell__selector:focus-visible,.ngc-shell__favorites-trigger:focus-visible,.ngc-shell__icon-button:focus-visible,.ngc-shell__profile:focus-visible,.ngc-tools-menu button:focus-visible,.ngc-shell-popover button:focus-visible,.ngc-project-switcher button:focus-visible,.ngc-project-switcher a:focus-visible{outline:0;box-shadow:var(--focus-ring)}.ngc-shell__selector--tool{min-width:195px}.ngc-shell__tool-mobile-icon{display:none}.ngc-shell__favorites-trigger{display:flex;height:42px;align-items:center;gap:8px;padding:0 12px;border:0;border-radius:6px;background:transparent;color:var(--shell-text);font-size:var(--fs-sm);font-weight:600}.ngc-shell__favorites-root{position:relative}.ngc-shell__favorites-trigger:hover,.ngc-shell__favorites-trigger.is-open{background:var(--on-dark-fill);color:var(--text-inverse)}.ngc-shell__favorites-trigger i{color:var(--brand-on-dark)}.ngc-shell__utilities{display:flex;flex:0 0 auto;align-items:center;gap:4px;padding:8px 12px 8px 0}.ngc-shell__icon-button,.ngc-shell__profile{display:grid;width:38px;height:38px;place-items:center;border:1px solid var(--on-dark-border);border-radius:9px;background:var(--on-dark-fill);color:var(--text-inverse)}@media(pointer:coarse),(max-width:1024px){.ngc-shell__icon-button,.ngc-shell .notification-bell__trigger{width:var(--tap-min);height:var(--tap-min)}.ngc-shell__profile{min-width:var(--tap-min);height:var(--tap-min)}.ngc-shell .portfolio-search__trigger,.ngc-shell__favorites-trigger{min-height:var(--tap-min)}.ngc-shell--platform nav a{display:inline-flex;align-items:center;min-height:var(--tap-min)}}.ngc-shell .portfolio-search__trigger{font-size:var(--fs-sm)}.ngc-shell__icon-button:hover,.ngc-shell__profile:hover{background:var(--on-dark-fill-hover)}.ngc-shell__profile{display:flex;width:auto;min-width:44px;height:44px;align-items:center;justify-content:center;gap:7px;padding:0 7px;border:0;border-radius:50px;background:var(--shell-raised-hover)}.ngc-shell__profile>span:first-child{display:grid;width:31px;height:31px;place-items:center;border-radius:50%;background:var(--brand);color:var(--brand-contrast);font-size:var(--fs-xs);font-weight:700}.ngc-shell__profile>i{padding-right:2px;color:var(--shell-text-muted);font-size:.62rem}.ngc-project-switcher{position:absolute;z-index:1020;top:calc(100% + 7px);left:0;width:min(490px,calc(100vw - 24px));overflow:hidden;border:1px solid var(--border);border-radius:8px;background:var(--surface-raised);box-shadow:var(--shadow-overlay);color:var(--gray-900)}.ngc-project-switcher__search{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:10px;margin:14px;padding:0 12px;border:1px solid var(--border-strong);border-radius:var(--control-radius);background:var(--surface-base);color:var(--text-tertiary)}.ngc-project-switcher__search:focus-within{border-color:var(--brand);box-shadow:var(--focus-ring)}.ngc-project-switcher__search input,.ngc-project-switcher__search input:focus{width:100%;min-width:0;height:40px;padding:0;border:0;outline:0;box-shadow:none;background:transparent;color:var(--text-primary);font-size:var(--fs-base)}.ngc-project-switcher__body{max-height:min(520px,calc(100vh - 230px));overflow:auto;padding:0 10px 10px}.ngc-project-switcher__body>p{margin:4px 8px 6px;color:var(--text-tertiary);font-size:var(--fs-xs);font-weight:600}.ngc-project-switcher__body>button:not(.ngc-project-switcher__all){display:grid;width:100%;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:12px;min-height:52px;padding:8px 9px;border:0;border-radius:var(--control-radius);background:transparent;color:var(--text-primary);text-align:left}.ngc-project-switcher__body>button:hover{background:var(--surface-hover)}.ngc-project-switcher__body>button.is-active{background:var(--brand-soft)}.ngc-project-switcher__number{display:block;min-width:52px;max-width:96px;overflow:hidden;padding:6px 8px;border-radius:6px;background:var(--brand-soft);color:var(--link-color);font-family:var(--font-sans);font-size:var(--fs-xs);font-variant-numeric:tabular-nums;font-weight:600;text-align:center;text-overflow:ellipsis;white-space:nowrap}.ngc-project-switcher__body button strong,.ngc-project-switcher__body button small{display:block}.ngc-project-switcher__body button strong{overflow:hidden;font-size:var(--fs-base);font-weight:600;text-overflow:ellipsis;white-space:nowrap}.ngc-project-switcher__body button small{margin-top:2px;overflow:hidden;color:var(--text-tertiary);font-size:var(--fs-xs);text-overflow:ellipsis;white-space:nowrap}.ngc-project-switcher__body button>i{color:var(--link-color)}.ngc-project-switcher__empty{padding:28px 12px;color:var(--gray-500);text-align:center}.ngc-project-switcher__all{display:flex;width:100%;align-items:center;justify-content:space-between;margin-top:5px;padding:11px 12px;border:1px solid var(--gray-200);border-radius:7px;background:var(--gray-50);color:var(--link-color);font-size:var(--fs-sm);font-weight:700}.ngc-project-switcher__company{display:grid;grid-template-columns:39px 1fr auto;align-items:center;gap:10px;padding:12px 15px;border-top:1px solid var(--gray-200);background:var(--gray-50)}.ngc-project-switcher__company img{width:39px;border-radius:8px}.ngc-project-switcher__company small,.ngc-project-switcher__company strong{display:block}.ngc-project-switcher__company small{color:var(--text-tertiary);font-size:var(--fs-xs);font-weight:500}.ngc-project-switcher__company strong{overflow:hidden;margin-top:1px;font-size:var(--fs-sm);text-overflow:ellipsis;white-space:nowrap}.ngc-project-switcher__company a{display:inline-flex;min-height:var(--control-h-sm);align-items:center;padding:0 12px;border:1px solid var(--border-strong);border-radius:var(--control-radius);background:var(--surface-base);color:var(--text-primary);font-size:var(--fs-sm);font-weight:600;text-decoration:none}.ngc-project-switcher__company a:hover{background:var(--surface-hover)}.ngc-tools-menu{position:absolute;z-index:1010;top:100%;left:0;width:100%;max-height:calc(100vh - var(--navbar-height, 68px));overflow:auto;padding:20px 34px 26px;border-top:1px solid var(--on-dark-fill);background:var(--shell-menu-bg);box-shadow:var(--shadow-overlay)}.ngc-tools-menu__grid{display:grid;gap:22px 32px}.ngc-tools-menu__grid--project{grid-template-columns:repeat(3,minmax(0,1fr))}.ngc-tools-menu__grid--company{grid-template-columns:minmax(0,1fr)}.ngc-tools-menu section h2{margin:0 0 8px;padding:0 4px 10px;border-bottom:1px solid var(--on-dark-border);color:var(--text-inverse);font-family:var(--font-sans);font-size:var(--fs-sm);font-weight:600}.ngc-tools-menu__list{display:grid;gap:2px}.ngc-tools-menu__list--row,.ngc-tools-menu__columns{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));column-gap:32px}.ngc-tools-menu__columns{row-gap:16px}.ngc-tools-menu__column h3{margin:4px 0;padding:0 8px;color:var(--shell-text-faint);font-family:var(--font-sans);font-size:var(--fs-xs);font-weight:600}.ngc-tools-menu__item{position:relative;display:grid;grid-template-columns:minmax(0,1fr) 32px;align-items:center;border-radius:6px}.ngc-tools-menu__item:hover{background:var(--on-dark-fill)}.ngc-tools-menu__item.is-active{background:var(--brand-soft)}.ngc-tools-menu__item.is-active:before{position:absolute;top:6px;bottom:6px;left:0;width:3px;border-radius:2px;background:var(--brand);content:""}.ngc-tools-menu__item.is-active>button:first-child{color:var(--text-inverse)}.ngc-tools-menu__item.is-active strong{font-weight:600}.ngc-tools-menu__item>button:first-child{display:grid;min-width:0;grid-template-columns:32px minmax(0,1fr);align-items:center;gap:10px;min-height:40px;padding:4px 4px 4px 8px;border:0;border-radius:6px;background:transparent;color:var(--shell-text-muted);text-align:left}.ngc-tools-menu__item>button:first-child:hover{color:var(--text-inverse)}.ngc-tools-menu__item>button:first-child:disabled{color:var(--shell-text-faint);cursor:not-allowed}.ngc-tools-menu__item>button:first-child>i{display:grid;width:32px;height:32px;place-items:center;border-radius:8px;background:var(--brand-soft);color:var(--brand-on-dark);font-size:1rem;line-height:1}.ngc-tools-menu__item.is-active>button:first-child>i{background:var(--brand-soft-strong)}.ngc-tools-menu__item>button:first-child>span{min-width:0}.ngc-tools-menu__item strong,.ngc-tools-menu__item small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ngc-tools-menu__item strong{font-size:var(--fs-sm);font-weight:500}.ngc-tools-menu__item small{margin-top:2px;color:var(--shell-text-faint);font-size:var(--fs-xs)}.ngc-tools-menu__item>button:last-child{display:grid;width:32px;height:32px;place-items:center;border:0;border-radius:6px;background:transparent;color:var(--shell-text-faint);opacity:0}.ngc-tools-menu__item>button:last-child:hover{background:var(--on-dark-fill);color:var(--text-inverse)}.ngc-tools-menu__item:hover>button:last-child,.ngc-tools-menu__item>button:last-child:focus-visible,.ngc-tools-menu__item>button:last-child.is-favorite{opacity:1}.ngc-tools-menu__item>button:last-child.is-favorite{color:var(--brand-on-dark)}@media(hover:none){.ngc-tools-menu__item>button:last-child{opacity:.6}.ngc-tools-menu__item>button:last-child.is-favorite{opacity:1}}@media(pointer:coarse),(max-width:1024px){.ngc-tools-menu__item{grid-template-columns:minmax(0,1fr) var(--tap-min)}.ngc-tools-menu__item>button:first-child{min-height:var(--tap-min)}.ngc-tools-menu__item>button:last-child{width:var(--tap-min);height:var(--tap-min)}}.ngc-tools-menu__top{display:none}.ngc-tools-menu__close{display:grid;flex:0 0 auto;width:var(--tap-min);height:var(--tap-min);place-items:center;border:1px solid var(--on-dark-border);border-radius:var(--control-radius);background:transparent;color:var(--shell-text);font-size:1rem}.ngc-tools-menu__close:hover{background:var(--on-dark-fill);color:var(--text-inverse)}.ngc-tools-menu__quick{display:none}.ngc-tools-menu__quick>button{display:flex;min-width:0;align-items:center;justify-content:center;gap:7px;min-height:var(--tap-min);padding:8px 10px;border:1px solid var(--on-dark-border);border-radius:var(--control-radius);background:var(--on-dark-fill);color:var(--shell-text);font-size:var(--fs-sm);font-weight:600}.ngc-tools-menu__quick>button:hover{background:var(--on-dark-fill-hover);color:var(--text-inverse)}.ngc-tools-menu__quick>button>i{color:var(--brand-on-dark)}.ngc-tools-menu__company{display:flex;flex-wrap:wrap;gap:8px;margin-top:20px;padding-top:14px;border-top:1px solid var(--on-dark-border)}.ngc-tools-menu__company>button{display:inline-flex;align-items:center;gap:8px;min-height:var(--tap-min);padding:8px 14px;border:1px solid var(--on-dark-border);border-radius:8px;background:transparent;color:var(--shell-text-muted);font-size:var(--fs-sm);font-weight:600}.ngc-tools-menu__company>button:hover,.ngc-tools-menu__company>button:focus-visible{background:var(--on-dark-fill);color:var(--text-inverse)}.ngc-tools-menu__company>button.is-active{border-color:var(--brand-border-strong);background:var(--brand-soft-strong);color:var(--text-inverse)}.ngc-tools-menu__company>button>i{color:var(--brand-on-dark)}.ngc-shell-popover{position:absolute;z-index:1020;top:calc(100% + 8px);right:14px;width:min(330px,calc(100vw - 24px));padding:8px;border:1px solid var(--border);border-radius:var(--card-radius);background:var(--surface-base);box-shadow:var(--shadow-pop);color:var(--text-primary)}.ngc-shell-popover h2{margin:0;padding:6px 8px 8px;color:var(--text-primary);font-family:var(--font-sans);font-size:var(--fs-sm);font-weight:600}.ngc-shell-popover p{margin:0;padding:6px 8px 8px;color:var(--text-secondary);font-size:var(--fs-sm);line-height:1.5}.ngc-shell-popover kbd{padding:1px 6px;border:1px solid var(--border-strong);border-radius:4px;background:var(--surface-subtle);color:var(--text-primary);font-family:var(--font-sans);font-size:var(--fs-xs)}.ngc-shell-popover>button{display:grid;width:100%;grid-template-columns:28px minmax(0,1fr) auto;align-items:center;min-height:36px;padding:8px;border:0;border-radius:var(--control-radius);background:transparent;color:var(--text-primary);font-size:var(--fs-base);text-align:left}.ngc-shell-popover>button:hover{background:var(--surface-hover)}.ngc-shell-popover>button.is-active{background:var(--brand-soft);font-weight:600}.ngc-shell-popover>button>i:last-child:not(:first-child){color:var(--text-tertiary);font-size:var(--fs-xs)}@media(pointer:coarse),(max-width:1024px){.ngc-shell-popover>button{min-height:var(--tap-min)}}.ngc-shell-popover>button>i:first-child{color:var(--brand-on-dark)}.ngc-shell-popover--favorites{right:auto;left:0;width:min(300px,calc(100vw - 24px))}.ngc-shell-popover--profile>div{display:flex;align-items:center;gap:10px;margin-bottom:4px;padding:8px 8px 12px;border-bottom:1px solid var(--border)}.ngc-shell-popover--profile>div>span{display:grid;width:38px;height:38px;place-items:center;border-radius:50%;background:var(--brand);color:var(--brand-contrast);font-size:var(--fs-xs);font-weight:700}.ngc-shell-popover--profile p,.ngc-shell-popover--profile strong,.ngc-shell-popover--profile small{display:block;min-width:0;padding:0}.ngc-shell-popover--profile strong{overflow:hidden;font-size:var(--fs-base);font-weight:600;text-overflow:ellipsis;white-space:nowrap}.ngc-shell-popover--profile small{margin-top:2px;overflow:hidden;color:var(--text-tertiary);font-size:var(--fs-xs);text-overflow:ellipsis;white-space:nowrap}.ngc-shell--platform{display:flex;min-height:62px;align-items:stretch}.ngc-shell--platform nav{display:flex;flex:1;align-items:center;gap:5px;padding:0 14px}.ngc-shell--platform nav a{padding:9px 11px;border-radius:6px;color:var(--shell-text);font-size:var(--fs-sm);font-weight:600}.ngc-shell--platform nav a:hover{background:var(--on-dark-fill);color:var(--text-inverse)}.ngc-shell--platform>.ngc-shell__profile{align-self:center;margin-right:12px}.ngc-shell__profile-name{font-size:var(--fs-sm);font-weight:600}@media(max-width:1120px){.ngc-shell__selector{min-width:205px}.ngc-shell__selector--tool{min-width:170px}.ngc-shell__favorites-trigger span{display:none}.ngc-tools-menu__grid--project,.ngc-tools-menu__list--row,.ngc-tools-menu__columns{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:860px){.ngc-shell__bar{min-height:60px}.ngc-shell__brand{padding:8px 4px 8px 12px}.ngc-shell__selector small,.ngc-shell__selector--tool{display:none}.ngc-shell__selector{min-width:0;width:min(52vw,310px);height:44px}.ngc-shell__selector strong{margin:0}.ngc-shell__favorites-trigger{display:none}.ngc-tools-menu__top{display:flex;align-items:center;gap:8px;margin-bottom:16px}.ngc-tools-menu__quick{display:grid;min-width:0;flex:1;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.ngc-shell__utilities{padding-right:7px}.ngc-tools-menu{left:0;width:100%;max-height:calc(100vh - var(--navbar-height));overflow:auto;padding:18px}.ngc-shell__favorites-root{position:static}.ngc-shell-popover--favorites{right:12px;left:auto}}@media(max-width:620px){.ngc-shell__brand{padding:8px 2px 8px 8px}.ngc-shell__brand img{width:32px;height:32px}.ngc-shell__selectors{padding:7px 5px}.ngc-shell__selector{width:calc(100vw - 160px);padding:6px 9px}.ngc-shell__utilities{gap:1px}.ngc-shell .portfolio-search__trigger,.ngc-shell__icon-button{display:none}.ngc-tools-menu__grid--project,.ngc-tools-menu__list--row,.ngc-tools-menu__columns{grid-template-columns:minmax(0,1fr)}}@media(pointer:coarse),(max-width:1024px){.ngc-shell__brand{min-width:var(--tap-min)}}.ngc-shell-popover>button.ngc-shell-popover__feedback{display:none}@media(max-width:767.98px){.ngc-shell-popover>button.ngc-shell-popover__feedback{display:flex}}.not-found{display:flex;align-items:center;justify-content:center;min-height:60vh;padding:var(--sp-10) var(--sp-4)}.not-found__card{display:flex;flex-direction:column;align-items:center;width:100%;max-width:480px;min-width:0;text-align:center}.not-found__icon{display:inline-grid;width:56px;height:56px;margin-bottom:var(--sp-5);place-items:center;border-radius:var(--card-radius);background:var(--tone-brand-bg);color:var(--tone-brand-fg);font-size:26px}.not-found__code{margin:0 0 var(--sp-2);font-family:var(--font-sans);font-size:var(--fs-sm);font-weight:600;font-variant-numeric:tabular-nums;color:var(--text-tertiary)}.not-found .not-found__title{margin:0 0 var(--sp-3);font-family:var(--font-display);font-size:var(--fs-2xl);font-weight:600;line-height:var(--lh-tight);color:var(--text-primary)}.not-found__text{margin:0 0 var(--sp-6);font-size:var(--fs-base);line-height:var(--lh-base);color:var(--text-secondary)}.not-found__path{padding:1px var(--sp-1);border-radius:4px;background:var(--surface-hover);color:var(--text-primary);font-size:var(--fs-sm);overflow-wrap:anywhere}.not-found__actions{display:flex;flex-wrap:wrap;justify-content:center;gap:var(--sp-3)}.not-found .not-found__btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--sp-2);min-height:40px;padding:0 var(--sp-5);border-radius:var(--control-radius);font-size:var(--fs-base);font-weight:600;white-space:nowrap}@media(max-width:575.98px){.not-found__actions{flex-direction:column;align-items:stretch;width:100%}.not-found .not-found__btn{width:100%}}.sync-status{position:fixed;right:18px;bottom:18px;z-index:1100;display:flex;align-items:center;gap:9px;max-width:min(360px,calc(100vw - 36px));padding:10px 14px;border:1px solid var(--on-dark-border);border-radius:999px;background:var(--toast-bg);color:var(--toast-fg);box-shadow:var(--shadow-pop);font-size:.82rem;font-weight:650}.sync-status--offline{border-color:var(--orange-300);background:var(--orange-900)}.sync-status--reconnecting i{animation:ngc-sync-spin 1.2s linear infinite}.sync-status--connected{background:var(--green-800)}@keyframes ngc-sync-spin{to{transform:rotate(360deg)}}.sync-status--failed{border-color:var(--color-danger);background:var(--tone-danger-bg);color:var(--tone-danger-fg)}.sync-status--failed button{margin-left:10px;border:1px solid currentColor;border-radius:7px;padding:3px 10px;background:transparent;color:inherit;font:inherit;font-size:12px;cursor:pointer}.feedback-launch{position:fixed;right:0;top:58%;z-index:1040;display:inline-flex;align-items:center;gap:6px;padding:10px 6px;border:1px solid var(--brand-border);border-right:0;border-radius:6px 0 0 6px;background:var(--surface-raised);color:var(--text-primary);box-shadow:var(--shadow-pop);font-size:var(--fs-xs);font-weight:600;writing-mode:vertical-rl;cursor:pointer}.feedback-launch i{writing-mode:horizontal-tb}.feedback-launch:hover,.feedback-launch:focus-visible{color:var(--link-hover)}.feedback-launch:focus-visible{outline:2px solid var(--brand);outline-offset:2px}@media(pointer:coarse),(max-width:1024px){.feedback-launch{top:auto;right:auto;bottom:max(12px,env(safe-area-inset-bottom));left:max(12px,env(safe-area-inset-left));z-index:15;justify-content:center;width:var(--tap-min);height:var(--tap-min);padding:0;border:1px solid var(--border-strong);border-radius:999px;color:var(--text-secondary);font-size:var(--fs-md);writing-mode:horizontal-tb}.feedback-launch__label{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}}@media(pointer:coarse),(max-width:1024px){body:has(.sw) .feedback-launch{bottom:calc(max(12px,env(safe-area-inset-bottom)) + 64px)}}@media(max-width:767.98px){.feedback-launch{display:none}}@media print{.feedback-launch{display:none}}.feedback-capturing input,.feedback-capturing textarea,.feedback-capturing select,.feedback-capturing [contenteditable=true],.feedback-capturing [contenteditable=""]{color:transparent!important;-webkit-text-fill-color:transparent!important;text-shadow:none!important}.feedback-capturing input::placeholder,.feedback-capturing textarea::placeholder{color:transparent!important}html{-webkit-text-size-adjust:100%}body,#root,.app-shell,.app-content,.app-content>*,main{min-width:0}.app-shell{width:100%;min-height:100vh;background:var(--page-bg)}.app-content{width:100%;min-width:0}.app-content--default{padding:0 16px}.app-content--platform{padding:24px 16px}.app-content--auth{padding:0}.app-content--portfolio{padding:0 16px}.app-content.app-content--default>*,.app-content.app-content--portfolio>*,.app-content.app-content--platform>*{width:100%;max-width:var(--page-max);margin-inline:auto}img,svg,video,canvas{max-width:100%}input,select,textarea{min-width:0;max-width:100%}.table-responsive,[class$=__table-wrap],[class*=" table-wrap"],[class$=-table-wrap],[class*=" table-container"]{max-width:100%;overflow-x:auto;overscroll-behavior-inline:contain;-webkit-overflow-scrolling:touch}.app-page-header,.app-page-header-row,.app-page-header-copy,.app-page-header-actions{min-width:0}.ds-modal-backdrop{padding:var(--sp-4)}.permission-matrix__header,.permission-matrix__row{min-width:0;gap:var(--sp-3)}.company-admin-home-page,.company-admin-projects-page,.company-settings-page,.email-settings-page,.roles-permissions-page,.company-audit-page,.user-management-page,.user-detail-page,.admin-schedules-page,.platform-dashboard-page,.platform-companies-page,.platform-company-detail-page,.platform-audit-page,.photos-page,.schedule-module,.schedule-module__body,.schedule-module__content,.schedule-settings-page,.schedule-versions-page,.lookahead-view,.calendar-management-page,.calendar-management-page__grid,.task-list-legacy-modal,.permissions-drawer,.user-management-drawer{min-width:0}.roles-permissions-grid>*,.email-settings-page__grid>*{min-width:0}@media(max-width:1024px){.app-content--platform{padding:20px 16px}.app-content--default{padding-inline:16px}.roles-permissions-grid{grid-template-columns:minmax(220px,32%) minmax(0,1fr)!important;gap:16px!important}.company-admin-projects-page .status-cards{grid-template-columns:repeat(3,minmax(0,1fr))!important}.platform-dashboard-page__metrics,.platform-dashboard-page__health{grid-template-columns:repeat(2,minmax(0,1fr))!important}}@media(max-width:768px){:root{--responsive-page-gutter: 16px}.app-content--default,.app-content--platform{padding:0 var(--responsive-page-gutter) 20px}.app-page-header{margin-bottom:16px!important}.app-page-header-row,.app-page-header--single-row>div{align-items:flex-start!important}.app-page-header .badge,.app-page-header .pill,.app-page-header [class*=status-badge],.app-page-header [class*=StatusBadge]{flex:0 0 auto!important;width:auto!important;align-self:center}.app-page-header-actions{width:100%;flex-wrap:wrap}.app-page-header-actions>*{max-width:100%}.app-page-header-actions .btn,.app-page-header-actions>button,.app-page-header-actions>a{flex:1 1 auto;justify-content:center}.page-full,.container,.container-fluid{padding-inline:var(--responsive-page-gutter)!important}.card{padding:16px;border-radius:var(--r-md)}.row{--bs-gutter-x: 1rem}.ds-modal-footer>*{flex:1 1 140px;justify-content:center}.permission-matrix__header,.permission-matrix__row{padding:10px 12px!important}.permission-matrix__row>:first-child{min-width:0;overflow-wrap:anywhere}.permission-matrix__row select{width:min(150px,42vw)}.toast,[role=status][style*="position: fixed"]{max-width:calc(100vw - 24px)!important}.dropdown-menu{max-width:calc(100vw - 24px)}.company-admin-home-page,.company-admin-projects-page,.company-settings-page,.email-settings-page,.roles-permissions-page,.company-audit-page,.admin-schedules-page{padding:16px 0 24px!important}.company-admin-home-page .admin-card-grid{gap:12px!important}.company-admin-home-page .admin-card{min-height:0!important;padding:16px!important}.company-admin-projects-page .status-cards{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px!important}.company-admin-projects__filters>*{width:100%!important;max-width:none!important;min-width:0!important}.company-admin-projects__table-wrap,.company-audit-page__table-card,.user-management-page__table-wrap,.admin-schedules-page__table-wrap{max-width:100%;overflow-x:auto!important;-webkit-overflow-scrolling:touch}.company-admin-projects__table-wrap table,.company-audit-page__table-card table,.user-management-page__table-wrap table,.admin-schedules-page__table-wrap table{min-width:720px}.email-settings-page__grid,.roles-permissions-grid{grid-template-columns:1fr!important;gap:14px!important;min-height:0!important}.email-settings-page__save-inner{gap:12px;padding:10px 12px!important}.company-audit-page__filters>*{width:100%!important;min-width:0!important;margin-left:0!important}.company-audit-page__filters input,.company-audit-page__filters select,.company-audit-page__filters button{width:100%;min-width:0!important}.user-management-page__toolbar>*{width:100%;max-width:none!important;min-width:0!important}.user-management-page__pagination{align-items:stretch!important;flex-direction:column;gap:12px}.user-management-page__pagination>div{max-width:100%;overflow-x:auto}.user-detail-page__profile{align-items:flex-start!important;padding:16px!important}.accept-invite-page{min-height:100dvh;height:auto!important;flex-direction:column}.accept-invite-page__intro{display:none!important}.accept-invite-page__content{width:100%!important;min-height:100dvh;padding:20px 14px}.accept-invite-page__card-shell{width:100%!important;max-width:460px}.platform-dashboard-page__charts,.platform-companies-page__grid,.platform-dashboard-page__create-grid{grid-template-columns:1fr!important}.platform-companies-page__toolbar{align-items:stretch!important;flex-direction:column}.platform-companies-page__toolbar>form,.platform-companies-page__toolbar>div{width:100%;max-width:none!important}.platform-companies-page__list{max-width:100%;overflow-x:auto!important}.platform-companies-page__list>*{min-width:860px}.platform-company-detail-page__actions{width:100%;flex-wrap:wrap}.platform-company-detail-page__actions .btn{flex:1 1 auto}.platform-audit-page__table-wrap table{min-width:860px}.docs-main-header{align-items:stretch;flex-direction:column}.docs-main-header__actions,.docs-header__actions{width:100%;flex-wrap:wrap}.docs-file-search{width:100%;min-width:0}.docs-file-row{align-items:flex-start}.docs-file-row__actions{flex-wrap:wrap}.photos-page__filters>input,.photos-page__filters>select{flex:1 1 calc(50% - 8px);width:auto!important;max-width:none!important}.schedule-module{padding:14px!important}.schedule-module__content{padding:12px!important}.schedule-settings-page{width:100%;max-width:none!important;padding:16px!important}.schedule-versions-page__create>div{align-items:stretch!important;flex-direction:column}.lookahead-view__header{align-items:stretch!important;flex-direction:column}.lookahead-view__period{max-width:100%;overflow-x:auto;padding-bottom:4px}.calendar-management-page{padding:16px!important}.calendar-management-page__grid{grid-template-columns:1fr!important;gap:18px!important}.schedule-versions-page__snapshot-summary{grid-template-columns:1fr!important}.task-list-legacy-modal{width:calc(100% - 24px)!important;min-width:0!important;max-width:calc(100vw - 24px)!important;max-height:90dvh!important;padding:18px!important;overflow-y:auto}.permissions-drawer,.user-management-drawer{width:min(100%,420px)!important;max-width:100vw!important}}@media(max-width:860px){.ngc-shell__selector--tool{display:grid!important;width:44px!important;min-width:44px!important;height:44px;grid-template-columns:1fr;place-items:center;padding:0}.ngc-shell__selector--tool>span,.ngc-shell__selector--tool>.bi-chevron-down{display:none}.ngc-shell__selector--tool>.ngc-shell__tool-mobile-icon{display:block;color:var(--text-inverse);font-size:1rem}}@media(max-width:620px){.ngc-shell__bar{min-width:0}.ngc-shell__selectors{overflow:hidden}.ngc-shell__menu-root{min-width:0;flex:1}.ngc-shell__selector:not(.ngc-shell__selector--tool){width:100%;min-width:0}.ngc-shell__utilities{min-width:0;padding-right:5px}.notification-bell{margin:0}.notification-bell__panel{right:8px;left:8px;width:auto}.ngc-shell__profile{padding:0}.ngc-shell__profile>i{display:none}.ngc-project-switcher{position:fixed;top:var(--navbar-height);right:8px;left:8px;width:auto;max-height:calc(100dvh - var(--navbar-height) - 8px)}.ngc-project-switcher__company{grid-template-columns:34px minmax(0,1fr) auto;padding:10px 12px}.ngc-project-switcher__company img{width:34px}.ngc-tools-menu{max-height:calc(100dvh - var(--navbar-height));padding:14px 12px 20px;overflow-y:auto}.email-settings-page__save-inner{align-items:stretch!important;flex-direction:column}.email-settings-page__save-inner>div{display:grid!important;grid-template-columns:1fr 1fr}.ngc-shell--platform{min-width:0}.ngc-shell--platform nav{min-width:0;overflow-x:auto;padding:0 4px;scrollbar-width:none}.ngc-shell--platform nav::-webkit-scrollbar{display:none}.ngc-shell--platform nav a{flex:0 0 auto;white-space:nowrap}.ngc-shell--platform>.ngc-shell__profile{margin-right:5px}.ngc-shell--platform .ngc-shell__profile-name{display:none!important}.photos-page__topbar,.photos-page__album-header{align-items:stretch!important;flex-direction:column}.photos-page__topbar>div,.photos-page__topbar>button,.photos-page__album-header>button{width:100%}.photos-page__topbar>div{display:grid!important;grid-template-columns:1fr 1fr}.photos-page__album-header .ms-auto{margin-left:0!important}.schedule-module{padding:10px!important;border-radius:8px!important}.schedule-module__body .schedule-sidebar{width:48px!important}.schedule-module__content{padding:10px!important}.calendar-management-page__header{align-items:stretch!important;flex-direction:column;gap:10px}.calendar-management-page__header .btn{width:100%}}@media(max-width:480px){.app-content--default,.app-content--platform{padding-inline:16px}.app-page-header-actions{display:flex!important;flex-wrap:wrap;gap:8px}.app-page-header-actions>.btn,.app-page-header-actions>button,.app-page-header-actions>a{flex:1 1 140px}.ds-modal-footer{display:grid!important;grid-template-columns:1fr}.ds-modal-footer>*{width:100%}.permission-matrix__header{display:none!important}.permission-matrix__row{align-items:stretch!important;flex-direction:column}.permission-matrix__row select{width:100%}.company-admin-projects-page .status-cards{grid-template-columns:1fr!important}.company-admin-projects-page .status-cards>div{padding:12px 16px!important}.email-settings-page__grid>div{padding:16px!important}.email-settings-page__save-inner>div{grid-template-columns:1fr}.user-detail-page__profile{flex-direction:column}.platform-dashboard-page__metrics,.platform-dashboard-page__health{grid-template-columns:1fr!important}.accept-invite-page__content .card{padding:20px!important}.photos-page__filters>input,.photos-page__filters>select,.photos-page__filters>button{flex-basis:100%;width:100%!important}}@media(max-width:768px){input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=color]):not([type=hidden]),select,textarea{font-size:16px!important}}
