@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-border-style:solid;--tw-outline-style:solid}}}@layer theme{:root,:host{--font-sans:"Instrument Sans", ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.visible{visibility:visible}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.fixed{position:fixed}.block{display:block}.table{display:table}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.resize{resize:both}.flex-wrap{flex-wrap:wrap}.border{border-style:var(--tw-border-style);border-width:1px}.outline{outline-style:var(--tw-outline-style);outline-width:1px}}.calendar-settings-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;display:grid}.calendar-team-panel{grid-column:1/-1}.calendar-range{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.calendar-day-list{gap:8px;display:grid}.calendar-day{background:#fbfffd;border:1px solid #d7eee3;border-radius:12px;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:12px;padding:12px 14px;display:grid}.calendar-day div{gap:3px;display:grid}.calendar-day small,.field-help{color:var(--ink-muted)}.capacity-chip{color:#08734f;white-space:nowrap;background:#e8f8f0;border-radius:999px;padding:5px 9px;font-size:.78rem;font-weight:700}@media(max-width:850px){.calendar-settings-grid{grid-template-columns:1fr}.calendar-team-panel{grid-column:auto}.calendar-range{grid-template-columns:1fr}}:root{color:#15231f;font-synthesis:none;text-rendering:optimizelegibility;background:#f3f6f2}:root[data-theme=dark]{color-scheme:dark;color:#e7f5ee;background:#0d1714}@media(prefers-color-scheme:dark){:root[data-theme=system]{color-scheme:dark;color:#e7f5ee;background:#0d1714}}:root[data-theme=dark] body,:root[data-theme=dark] .main-content,:root[data-theme=dark] .auth-page{color:#e7f5ee;background:#0d1714}:root[data-theme=dark] .sidebar,:root[data-theme=dark] .panel,:root[data-theme=dark] .auth-card,:root[data-theme=dark] .tenant-card,:root[data-theme=dark] input,:root[data-theme=dark] select,:root[data-theme=dark] textarea{color:#e7f5ee;background:#14231e;border-color:#2b4a3f}:root[data-theme=dark] .nav-link:hover,:root[data-theme=dark] .nav-link.router-link-active{color:#8ee0bd;background:#1b382e}.profile-avatar{object-fit:cover;border:1px solid #b7d9c9;border-radius:20px;width:72px;height:72px}@media(prefers-color-scheme:dark){:root[data-theme=system] body,:root[data-theme=system] .main-content,:root[data-theme=system] .auth-page{color:#e7f5ee;background:#0d1714}:root[data-theme=system] .sidebar,:root[data-theme=system] .panel,:root[data-theme=system] .auth-card,:root[data-theme=system] .tenant-card,:root[data-theme=system] input,:root[data-theme=system] select,:root[data-theme=system] textarea{color:#e7f5ee;background:#14231e;border-color:#2b4a3f}}*{box-sizing:border-box}body{background:radial-gradient(circle at 85% 10%,#ddeee4b3,#0000 32rem),#f3f6f2;min-width:320px;min-height:100vh;margin:0}button,a,input,select{font:inherit}button{cursor:pointer}button:disabled{cursor:wait;opacity:.62}a{color:inherit}.app-shell{grid-template-columns:248px minmax(0,1fr);min-height:100vh;display:grid}.sidebar{-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#fafcf9e6;border-right:1px solid #dce5df;flex-direction:column;height:100vh;padding:24px 18px;display:flex;position:sticky;top:0}.brand{letter-spacing:-.02em;align-items:center;gap:10px;padding:0 8px 24px;font-weight:750;display:flex}.brand-mark{color:#f7fff9;background:#176b50;border-radius:11px;place-items:center;width:32px;height:32px;display:grid}.nav-list{gap:5px;display:grid}.nav-link{color:#53615c;border-radius:12px;align-items:center;gap:11px;padding:10px 12px;text-decoration:none;display:flex}.nav-link:hover,.nav-link:focus-visible{color:#163f31;background:#edf4ef;outline:none}.nav-link.router-link-active{color:#0e513b;background:#dfeee5;font-weight:650}.nav-icon{text-align:center;width:20px}.tenant-card{background:#fff;border:1px solid #dbe6de;border-radius:14px;gap:3px;margin-top:auto;padding:14px;display:grid}.tenant-card .eyebrow{margin-bottom:0}.text-button{color:#287157;background:0 0;border:0;width:fit-content;padding:0;font-size:.86rem;font-weight:700}.text-button:hover,.text-button:focus-visible{color:#0d4b35;text-decoration:underline}.settings-link{border-top:1px solid #e4ebe7;margin-top:auto;margin-bottom:12px}.tenant-card{margin-top:0}.main-content{min-width:0}.notification-center{z-index:80;position:fixed;top:18px;right:24px}.notification-trigger{color:#087a50;cursor:pointer;background:#fff;border:1px solid #cde9dd;border-radius:14px;place-items:center;width:42px;height:42px;display:grid;position:relative;box-shadow:0 8px 28px #136f4c24}.notification-trigger b{color:#fff;background:#0a9f68;border-radius:999px;min-width:20px;padding:3px 5px;font-size:11px;position:absolute;top:-7px;right:-7px}.notification-panel{background:#fff;border:1px solid #d8eee5;border-radius:20px;width:min(390px,100vw - 32px);margin-top:10px;overflow:hidden;box-shadow:0 24px 70px #0d5a3e33}.notification-panel header{border-bottom:1px solid #e4f2ec;justify-content:space-between;align-items:center;padding:18px;display:flex}.notification-panel h2,.notification-panel p{margin:0}.notification-list{max-height:min(65vh,520px);padding:8px;overflow:auto}.notification-item{color:#173e31;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:13px;gap:5px;width:100%;padding:13px 14px;display:grid}.notification-item.unread{background:#eaf8f2}.notification-item small{color:#486459}.page{width:min(1180px,100%);margin:0 auto;padding:56px clamp(24px,5vw,72px)}.page-header{justify-content:space-between;align-items:flex-start;gap:24px;display:flex}.eyebrow{color:#486459;letter-spacing:.1em;text-transform:uppercase;margin:0 0 8px;font-size:.75rem;font-weight:750}h1,h2,p{margin-top:0}h1{letter-spacing:-.055em;max-width:780px;margin-bottom:16px;font-size:clamp(2.25rem,5vw,4.8rem);line-height:.98}h2{letter-spacing:-.025em;margin-bottom:10px;font-size:1.4rem}.lede{color:#66736f;max-width:680px;font-size:1.08rem;line-height:1.65}.status-badge{color:#176044;background:#e7f5ec;border:1px solid #b9d9c5;border-radius:999px;flex:none;padding:8px 12px;font-size:.82rem;font-weight:700}.metric-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-top:54px;display:grid}.metric-card,.next-card{background:#ffffffd9;border:1px solid #dce5df;border-radius:18px;box-shadow:0 18px 50px #2446380f}.metric-card{min-height:180px;padding:18px;display:grid}.metric-number{color:#9aaba3;font-variant-numeric:tabular-nums}.metric-card strong{align-self:end;line-height:1.35}.metric-state{color:#2d795d;font-size:.8rem}.next-card{margin-top:18px;padding:26px}.placeholder{align-content:center;min-height:70vh;display:grid}.auth-page{place-items:center;min-height:100vh;padding:24px;display:grid}.auth-card{background:#ffffffeb;border:1px solid #d7e3da;border-radius:24px;gap:18px;width:min(440px,100%);padding:34px;display:grid;box-shadow:0 28px 80px #2446381f}.auth-card h1{margin-bottom:0;font-size:clamp(2rem,8vw,3.4rem)}.brand-tagline{color:#527065;letter-spacing:.01em;margin:-8px 0 2px;font-size:.94rem;font-weight:650}.auth-card .brand-mark{width:44px;height:44px}.auth-card small{color:#78867f}.auth-actions{justify-content:space-between;gap:12px;display:flex}.auth-provider{text-align:center;text-decoration:none;display:block}.form-success{color:var(--success-700,#047857);margin:0;font-size:.875rem}.field{color:#45544e;gap:7px;font-size:.88rem;font-weight:650;display:grid}.field input,.field select,.edit-form input,.edit-form select{color:#15231f;background:#fff;border:1px solid #cbd9d0;border-radius:10px;outline:none;width:100%;padding:11px 12px}.field input:focus,.field select:focus,.edit-form input:focus,.edit-form select:focus{border-color:#2f8061;box-shadow:0 0 0 3px #2f80611f}.primary-button,.small-button,.danger-button{border:0;border-radius:10px;font-weight:750}.primary-button{color:#fff;background:#176b50;padding:12px 16px}.primary-button:hover,.primary-button:focus-visible{background:#0e573f}.small-button{color:#fff;background:#176b50;padding:8px 11px}.danger-button{color:#a53e3e;background:0 0;padding:0;font-size:.84rem}.form-error{color:#a53e3e;margin:0;font-size:.88rem}.compact-header h1{font-size:clamp(2.5rem,6vw,4.4rem)}.department-layout{grid-template-columns:minmax(260px,.72fr) minmax(420px,1.28fr);align-items:start;gap:18px;margin-top:42px;display:grid}.panel{background:#ffffffe0;border:1px solid #dce5df;border-radius:18px;box-shadow:0 18px 50px #2446380f}.department-form{gap:18px;padding:24px;display:grid}.department-list{padding:24px}.list-heading,.department-row,.row-actions{justify-content:space-between;align-items:center;gap:16px;display:flex}.department-row{border-top:1px solid #e5ebe7;min-height:72px;padding:14px 0}.department-row>div:first-child{gap:3px;display:grid}.department-parent{color:#53675e;font-size:.84rem}.edit-form{grid-template-columns:minmax(120px,1fr) minmax(150px,.8fr) auto;align-items:start;gap:10px;width:100%;display:grid}.edit-form .form-error{grid-column:1/-1}.empty-state{color:#53675e;text-align:center;border-top:1px solid #e5ebe7;padding:44px 16px}.catalog-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-top:42px;display:grid}.section-tabs{border-bottom:1px solid #dce5df;gap:6px;margin-top:28px;padding-bottom:12px;display:flex}.section-tab{color:#62716a;border-radius:9px;padding:8px 13px;text-decoration:none}.section-tab.router-link-exact-active{color:#0b5d40;background:#e1f3e9;font-weight:750}.people-layout{grid-template-columns:minmax(280px,.7fr) minmax(560px,1.5fr);align-items:start;gap:18px;margin-top:24px;display:grid}.person-form{gap:17px;padding:24px;display:grid}.person-form select[multiple]{min-height:90px}.people-table-panel{min-width:0;padding:24px}.people-toolbar{justify-content:space-between;align-items:center;gap:20px;display:flex}.search-field input{background:#fff;border:1px solid #cbd9d0;border-radius:10px;width:min(280px,100%);padding:10px 12px}.people-table-wrap{margin-top:18px;overflow-x:auto}.people-table{border-collapse:collapse;text-align:left;width:100%}.people-table th,.people-table td{vertical-align:middle;border-bottom:1px solid #e4ebe7;padding:14px 10px}.people-table th{color:#53675e;letter-spacing:.06em;text-transform:uppercase;font-size:.75rem}.people-table td:first-child{gap:3px;display:grid}.people-table small{color:#53675e}.sr-only{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;padding:0;position:absolute;overflow:hidden}.catalog-panel,.catalog-form,.catalog-items{gap:18px;display:grid}.catalog-panel{padding:24px}.catalog-form{background:#f8fbf9;border:1px solid #e0e9e3;border-radius:14px;padding:18px}.rate-fields{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.catalog-item,.catalog-item>div{align-items:center;gap:10px;display:flex}.catalog-item{border-top:1px solid #e5ebe7;justify-content:space-between;min-height:58px;padding-top:14px}.catalog-item>div{flex-wrap:wrap}.catalog-item small{color:#53675e;width:100%}.tag-dot{border-radius:999px;width:11px;height:11px}.color-input{min-height:43px;padding:4px!important}.inline-create{grid-template-columns:1fr auto;gap:8px;display:grid}.inline-create input{border:1px solid #cbd9d0;border-radius:10px;min-width:0;padding:10px 12px}.check-field{color:#45544e;align-items:center;gap:9px;font-size:.9rem;font-weight:650;display:flex}.check-field input{accent-color:#0f7a52;width:17px;height:17px}.project-color{border-radius:3px;width:9px;height:9px;margin-right:8px;display:inline-block}.table-actions{white-space:nowrap;flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:14px;display:flex}.small-link,.back-link{color:#087a55;font-size:.86rem;font-weight:750;text-decoration:none}.small-link:hover,.back-link:hover{color:#045c40;text-decoration:underline}.project-detail-page{width:min(1380px,100%)}.back-link{margin-bottom:20px;display:inline-block}.project-hero{background:linear-gradient(135deg,#fff,#f1fbf5);border-color:#cfe8da;grid-template-columns:12px minmax(0,1fr) auto;align-items:center;gap:24px;padding:30px;display:grid;position:relative;overflow:hidden;box-shadow:0 24px 70px #057a5217}.project-hero-mark{border-radius:999px;align-self:stretch;min-height:112px}.project-hero h1{margin-bottom:14px;font-size:clamp(2.2rem,5vw,4rem)}.project-meta{flex-wrap:wrap;gap:8px;display:flex}.project-meta span,.section-heading>span{color:#066b4a;background:#ecfbf3;border:1px solid #bfe7d2;border-radius:999px;padding:6px 10px;font-size:.78rem;font-weight:700}.project-summary{background:#fffc;border:1px solid #cce8d8;border-radius:16px;grid-template-columns:auto auto;align-items:baseline;gap:2px 10px;padding:18px 20px;display:grid}.project-summary strong{color:#066b4a;text-align:right;font-size:1.4rem}.project-summary small,.phase-card small,.structure-row small{color:#53675e}.structure-section{margin-top:32px}.section-heading{justify-content:space-between;align-items:center;gap:16px;display:flex}.section-heading h2,.section-heading .eyebrow{margin-bottom:0}.quick-add{background:#f7fcf9;border:1px solid #d5ecdf;border-radius:16px;gap:10px;margin-top:16px;padding:16px;display:grid}.phase-add{grid-template-columns:minmax(220px,1fr) repeat(2,minmax(150px,.42fr)) auto;align-items:end}.phase-strip{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px;margin-top:12px;display:grid}.phase-card,.structure-row{align-items:center;display:grid}.phase-card{background:#fff;border:1px solid #d7eade;border-radius:14px;grid-template-columns:7px minmax(0,1fr) auto;gap:12px;min-height:74px;padding:13px}.phase-accent{border-radius:999px;align-self:stretch}.phase-card>div,.structure-row>div{gap:3px;min-width:0;display:grid}.phase-card small,.structure-row small{text-overflow:ellipsis;white-space:nowrap;font-size:.8rem;overflow:hidden}.structure-grid{grid-template-columns:repeat(3,minmax(0,1fr));align-items:start;gap:16px;margin-top:28px;display:grid}.structure-panel{border-color:#d5e9dd;gap:16px;min-width:0;padding:22px;display:grid}.stack-add{background:#f7fcf9;border:1px solid #d9eee2;border-radius:14px;gap:10px;padding:14px;display:grid}.stack-add .inline-create{align-items:end}.stack-add .small-button{background:#07845b;min-height:42px}.structure-list{display:grid}.structure-row{border-top:1px solid #e1eee6;grid-template-columns:auto minmax(0,1fr) auto;gap:11px;min-height:62px}.avatar-chip{color:#fff;background:#0b8f63;border-radius:11px;place-items:center;width:34px;height:34px;font-size:.82rem;font-weight:800;display:grid}.task-check{background:#edfbf4;border:2px solid #58b693;border-radius:6px;width:18px;height:18px}.milestone-diamond{background:#dff8eb;border:2px solid #0c8c61;width:15px;height:15px;margin:3px;transform:rotate(45deg)}.icon-danger{color:#8f3a3a;background:0 0;border:0;border-radius:8px;place-items:center;width:28px;height:28px;padding:0;font-size:1.15rem;display:grid}.icon-danger:hover,.icon-danger:focus-visible{color:#742525;background:#fff0f0;outline:none}.soft-empty{color:#53675e;text-align:center;grid-column:1/-1;margin:0;padding:20px 8px;font-size:.88rem}.standalone-state{background:#fff;border:1px solid #d5e9dd;border-radius:16px;margin-top:24px}.templates-panel{border-color:#d4e9dc;margin-top:18px;padding:24px}.template-grid{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:10px;margin-top:16px;display:grid}.template-card{background:#f8fdf9;border:1px solid #d9ece1;border-radius:14px;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;padding:14px;display:grid}.template-card>div{gap:3px;display:grid}.template-card small{color:#53675e;font-size:.8rem}.schedule-page{width:min(1540px,100%)}.schedule-heading{align-items:flex-end}.schedule-filters{background:#fbfefc;border-color:#d5eadc;align-items:end;gap:12px;margin-top:22px;padding:14px 16px;display:flex}.schedule-filters .field{min-width:180px}.schedule-filters .field:first-child{flex:1;min-width:240px}.filter-check{min-width:185px;padding-bottom:10px}.saved-view-controls{align-items:end;gap:6px;margin-left:auto;display:flex}.saved-view-controls .field{min-width:190px}.save-view-form{border-top:1px solid #e1efe6;align-items:end;gap:8px;width:100%;padding-top:12px;display:flex}.save-view-form .field{flex:1}.save-view-form .check-field{padding-bottom:10px}.filter-error{width:100%;margin:0}.bulk-allocation-bar{background:#f3fbf6;border-color:#bfe4ce;align-items:end;gap:10px;margin-top:14px;padding:12px 16px;display:flex}.bulk-allocation-bar>strong{color:#126747;align-self:center;margin-right:auto}.bulk-allocation-bar .field{min-width:170px}.allocation-select{flex:0 0 24px;place-items:center;display:grid}.allocation-select input{accent-color:#078052;width:16px;height:16px}.timeoff-create{background:#f8fdf9;grid-template-columns:repeat(5,minmax(130px,1fr));align-items:end;gap:11px;margin-top:14px;padding:16px;display:grid}.timeoff-create>div:first-child{grid-column:span 2}.timeoff-create h2,.timeoff-create .eyebrow{margin-bottom:0}.timeoff-create .form-error{grid-column:1/-1}.timeoff-bar{color:#124c38;background-image:repeating-linear-gradient(135deg,#ffffff6b 0 7px,#ffffff1a 7px 14px)}.timeoff-requested{opacity:.72;outline-offset:-2px;outline:2px dashed #56a77e}.status-create{background:#fbfefc;grid-template-columns:repeat(6,minmax(120px,1fr));align-items:end;gap:11px;margin-top:12px;padding:14px 16px;display:grid}.status-create>div:first-child{grid-column:span 2}.status-create h2,.status-create .eyebrow{margin-bottom:0}.status-create .form-error{grid-column:1/-1}.schedule-status-bar{color:#fff;min-height:38px;box-shadow:inset 0 0 0 1px #0000000f}.timeoff-balance-grid{grid-template-columns:repeat(3,minmax(180px,1fr));gap:10px;margin:16px 0;display:grid}.timeoff-balance-card{background:#f8fdf9;border:1px solid #d4eadc;border-radius:13px;grid-template-columns:1fr auto auto;align-items:center;gap:16px;padding:14px;display:grid}.timeoff-balance-card>div,.timeoff-balance-card>span{gap:2px;display:grid}.timeoff-balance-card small{color:#53675e;font-size:.75rem}.timeoff-balance-card b{color:#087653;font-size:1.1rem}.project-plan-page{width:min(1540px,100%)}.profit-summary{grid-template-columns:repeat(4,minmax(150px,1fr));gap:12px;margin-top:24px;display:grid}.profit-summary article{background:#f8fdf9;border:1px solid #d2e9da;border-radius:15px;gap:4px;padding:16px 18px;display:grid}.profit-summary small{color:#53675e}.profit-summary strong{color:#087653;font-size:1.45rem}.project-plan-board{margin-top:16px;padding:0;overflow-x:auto}.project-plan-grid{min-width:1268px;display:grid;position:relative}.project-plan-head{background:#f8fcf9;border-bottom:1px solid #d8e8de;align-items:stretch;min-height:48px}.project-plan-head>strong{color:#5e7168;text-transform:uppercase;padding:15px;font-size:.76rem}.project-plan-head>span{color:#53675e;border-left:1px solid #eef5f0;padding:15px 3px;font-size:.68rem}.project-plan-head>.week-start{border-left-color:#cfe1d5}.project-plan-row{border-bottom:1px solid #e1eee6;padding:10px 0}.project-plan-name{grid-column:1;grid-template-columns:7px 1fr auto;align-items:center;gap:10px;padding:8px 14px;display:grid}.project-plan-name i{border-radius:8px;width:7px;height:34px}.project-plan-name div{gap:2px;display:grid}.project-plan-name small{color:#53675e}.project-plan-name b{color:#087653;font-size:.8rem}.project-plan-bar,.phase-plan-bar{z-index:1;color:#fff;white-space:nowrap;border-radius:8px;align-self:center;margin:7px 2px;padding:7px 10px;font-size:.75rem;font-weight:750;overflow:hidden}.phase-plan-row>span{color:#53675e;grid-column:1;padding:7px 28px;font-size:.78rem}.phase-plan-bar{opacity:.76;margin-block:5px;padding-block:5px}.project-financial-strip{color:#53675e;background:#eff8f2;border-radius:9px;gap:18px;margin:5px 14px 0 274px;padding:8px 12px;font-size:.75rem;display:flex}.project-financial-strip b{color:#126747}.milestone-plan-row>span{color:#49695c;grid-column:1;padding:6px 28px;font-size:.76rem}.milestone-plan-bar{z-index:2;color:#fff;text-align:center;border-radius:10px;align-self:center;margin:3px 2px;padding:3px 8px}.project-person-row{color:#52675d;border-left:2px solid #b9ddc8;justify-content:space-between;gap:12px;margin:3px 14px 3px 274px;padding:6px 12px;font-size:.75rem;display:flex}.project-person-row b{color:#136849}.project-comparison-strip{color:#53675e;background:#f5faf7;border-radius:9px;flex-wrap:wrap;gap:16px;margin:6px 14px 0 274px;padding:9px 12px;font-size:.74rem;display:flex}.project-comparison-strip b{color:#0d6e4d}.project-plan-actions{gap:8px;margin:8px 14px 0 274px;display:flex}.project-plan-actions button{color:#126647;background:#fff;border:1px solid #b9d9c5;border-radius:8px;padding:6px 9px;font-weight:700}.expense-panel{margin-top:22px}.expense-form{grid-template-columns:repeat(5,minmax(130px,1fr));align-items:end;gap:10px;display:grid}.expense-form .check-field{padding-bottom:10px}.expense-list{gap:8px;margin-top:16px;display:grid}.expense-row{background:#fbfefc;border:1px solid #dcece2;border-radius:12px;grid-template-columns:1fr 140px 180px 32px;align-items:center;gap:12px;padding:12px 14px;display:grid}.expense-row>div{gap:2px;display:grid}.expense-row small{color:#53675e}.estimates-panel{margin-top:16px}.estimate-form{grid-template-columns:minmax(240px,1fr) auto auto;align-items:end;gap:12px;display:grid}.estimate-form .check-field{padding-bottom:10px}.estimate-list{grid-template-columns:repeat(3,minmax(220px,1fr));gap:10px;margin-top:16px;display:grid}.estimate-card{background:#fbfefc;border:1px solid #dcece2;border-radius:13px;grid-template-columns:1fr auto auto;align-items:center;gap:10px;padding:14px;display:grid}.estimate-card.baseline{background:#f0faf4;border-color:#77c69d}.estimate-card>div{gap:3px;display:grid}.estimate-card small{color:#53675e}.reports-page{width:min(1380px,100%)}.report-period{background:#fbfefc;border:1px solid #d5e9dc;border-radius:14px;gap:10px;padding:10px;display:flex}.report-kpis{grid-template-columns:repeat(4,minmax(170px,1fr));gap:12px;margin-top:24px;display:grid}.report-kpis article{background:#f8fdf9;border:1px solid #d4e9dc;border-radius:15px;gap:5px;padding:18px;display:grid}.report-kpis small,.report-kpis span{color:#53675e}.report-kpis strong{color:#087653;font-size:1.45rem}.capacity-chart,.report-projects{margin-top:16px}.capacity-chart-scroll{gap:4px;min-height:230px;padding:12px 4px 0;display:flex;overflow-x:auto}.capacity-chart-day{text-align:center;flex:1;grid-template-rows:190px 20px;gap:6px;min-width:30px;display:grid}.chart-bars{border-bottom:1px solid #d9e9df;justify-content:center;align-items:end;gap:3px;display:flex}.chart-bars i{border-radius:5px 5px 1px 1px;width:10px;min-height:1px}.capacity-bar{background:#7bc9a0}.schedule-bar{background:#087653}.schedule-bar.overtime{background:#e15d4f}.capacity-chart-day small{color:#75857d;font-size:.65rem}.chart-legend{color:#53675e;gap:18px;margin-top:10px;font-size:.78rem;display:flex}.chart-legend span{align-items:center;gap:6px;display:flex}.chart-legend i{border-radius:3px;width:10px;height:10px}.capacity-swatch{background:#7bc9a0}.schedule-swatch{background:#087653}.overtime-swatch{background:#e15d4f}.dashboard-page{width:min(1320px,100%)}.dashboard-kpis{grid-template-columns:repeat(4,minmax(190px,1fr));gap:12px;margin-top:26px;display:grid}.dashboard-kpis article{background:#f9fdfb;border:1px solid #d4e9dc;border-radius:16px;align-items:flex-start;gap:14px;padding:18px;display:flex}.dashboard-kpis article.warning{background:#fff8f6;border-color:#efc4bd}.metric-icon{color:#fff;background:#078052;border-radius:10px;flex:0 0 34px;place-items:center;width:34px;height:34px;font-weight:850;display:grid}.dashboard-kpis div{gap:3px;display:grid}.dashboard-kpis small,.dashboard-kpis p{color:#53675e;margin:0}.dashboard-kpis strong{color:#145f45;font-size:1.4rem}.dashboard-capacity-chart{margin-top:16px}.dashboard-chart-legend{color:#657a70;gap:14px;font-size:.76rem;display:flex}.dashboard-chart-legend span:before{content:"";background:#b9dfca;border-radius:3px;width:9px;height:9px;margin-right:5px;display:inline-block}.dashboard-chart-legend span+span:before{background:#07945f}.dashboard-bars{border-bottom:1px solid #dce9e1;grid-template-columns:repeat(28,minmax(8px,1fr));align-items:end;gap:5px;height:190px;padding-top:18px;display:grid}.dashboard-day-bars{justify-content:center;align-items:end;gap:2px;height:160px;display:flex;position:relative}.dashboard-day-bars i{background:#b9dfca;border-radius:4px 4px 1px 1px;width:min(9px,42%);min-height:2px;display:block}.dashboard-day-bars i.scheduled{background:#07945f}.dashboard-day-bars i.scheduled.overtime{background:#df5d52}.dashboard-day-bars small{color:#78877f;font-size:.58rem;position:absolute;bottom:-19px}.dashboard-columns{grid-template-columns:1.5fr .8fr;gap:16px;margin-top:16px;display:grid}.dashboard-portfolio article{border-bottom:1px solid #e3eee7;grid-template-columns:1fr auto minmax(120px,.6fr);align-items:center;gap:14px;padding:12px 0;display:grid}.dashboard-portfolio article>div{gap:2px;display:grid}.dashboard-portfolio small{color:#6d7d75}.dashboard-portfolio progress{accent-color:#078052;width:100%}.dashboard-actions{align-self:start}.dashboard-actions>a{color:#165e46;background:#fbfefc;border:1px solid #dcece2;border-radius:12px;gap:3px;margin-top:8px;padding:13px;text-decoration:none;display:grid}.dashboard-actions>a span{color:#53675e;font-size:.78rem}.api-key-panel{grid-column:1/-1}.api-key-panel .catalog-form{grid-template-columns:minmax(180px,.8fr) minmax(260px,1.5fr) 160px auto;align-items:end}.api-key-panel select[multiple]{min-height:120px}.api-token-once{background:#effaf4;border:1px solid #79c69f;border-radius:13px;grid-template-columns:1fr auto;gap:7px 14px;margin:14px 0;padding:14px;display:grid}.api-token-once code{overflow-wrap:anywhere;color:#075d40;background:#fff;border-radius:8px;grid-column:1/-1;padding:10px}.api-token-once small{color:#61766b}.api-token-once button{grid-area:1/2}.api-key-item small{overflow-wrap:anywhere;max-width:760px}@media(max-width:1100px){.report-kpis,.dashboard-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-columns{grid-template-columns:1fr}.expense-form,.estimate-list{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:680px){.report-period{flex-direction:column}.report-kpis,.dashboard-kpis,.profit-summary,.expense-form,.estimate-form{grid-template-columns:1fr}.expense-row{grid-template-columns:1fr auto}.estimate-list{grid-template-columns:1fr}.dashboard-portfolio article{grid-template-columns:1fr auto}.dashboard-portfolio progress{grid-column:1/-1}}.week-controls{background:#fff;border:1px solid #cfe6d8;border-radius:13px;gap:6px;padding:5px;display:flex}.week-button{color:#087653;background:#effaf4;border:0;border-radius:9px;min-width:38px;height:38px;padding:0 11px;font-weight:750}.today-button{background:#fff;min-width:90px}.schedule-create{background:linear-gradient(120deg,#fff,#f4fcf7);border-color:#cfe8da;grid-template-columns:repeat(6,minmax(120px,1fr));align-items:end;gap:11px;margin-top:28px;padding:18px;display:grid}.multi-person-select{min-height:88px}.allocation-edit{grid-template-columns:minmax(180px,1.3fr) repeat(3,minmax(160px,1fr));align-items:end;gap:14px;margin-top:14px;display:grid}.allocation-edit .copy-fields{grid-column:span 2;grid-template-columns:repeat(2,minmax(140px,1fr));gap:8px;display:grid}.allocation-edit .edit-actions{grid-column:2/-1;gap:8px;display:flex}.allocation-edit .form-error{grid-column:1/-1}.schedule-create>div:first-child{grid-column:span 2}.schedule-create h2,.schedule-create .eyebrow{margin-bottom:0}.schedule-check{max-width:150px;padding-bottom:9px;font-size:.78rem}.schedule-form-error{grid-column:1/-1}.schedule-board{border-color:#cfe4d7;margin-top:18px;overflow-x:auto}.schedule-canvas-board{border-color:#cfe4d7;margin-top:18px;padding:0;overflow:hidden}.timeline-viewport{overscroll-behavior:contain;scrollbar-gutter:stable;outline:none;height:min(68vh,720px);min-height:420px;position:relative;overflow:auto}.timeline-viewport:focus-visible{box-shadow:inset 0 0 0 3px #14a06747}.timeline-content{pointer-events:none}.timeline-canvas,.timeline-aria{position:absolute;top:0;left:0}.timeline-canvas{z-index:1;cursor:grab;touch-action:none}.timeline-canvas:active{cursor:grabbing}.timeline-aria{z-index:2;pointer-events:none;width:100%;height:100%}.timeline-aria button{opacity:0;pointer-events:none;border:0;height:26px;padding:0;position:absolute;overflow:hidden}.timeline-aria button:focus-visible{opacity:1;color:#073e2b;background:#e9f8ef;border:2px solid #08764f;outline:3px solid #fff}.timeline-mode{background:#f5faf7;border:1px solid #cde3d5;border-radius:10px;align-self:end;padding:3px;display:inline-flex}.timeline-mode button{color:#587067;background:0 0;border:0;border-radius:7px;padding:8px 11px}.timeline-mode button.active{color:#0c6545;background:#fff;box-shadow:0 1px 4px #124a341f}.schedule-actions{align-items:center;gap:9px;margin-top:12px;display:flex}.schedule-actions small{color:#667a71;margin-left:auto}.schedule-pagination{color:#5e746b;justify-content:center;align-items:center;gap:14px;margin-top:12px;font-size:.8rem;display:flex}.schedule-pagination button{color:#176747;background:#fff;border:1px solid #cce1d4;border-radius:8px;padding:7px 11px}.allocation-context-menu{z-index:30;background:#fff;border:1px solid #c9dfd2;border-radius:12px;min-width:190px;padding:8px;display:grid;position:fixed;box-shadow:0 14px 40px #14433033}.allocation-context-menu strong{color:#174f3a;padding:7px 9px}.allocation-context-menu button{color:#315e4d;text-align:left;background:0 0;border:0;border-radius:7px;padding:8px 9px}.allocation-context-menu button:hover,.allocation-context-menu button:focus-visible{background:#edf8f1}.allocation-context-menu button.danger-text{color:#a33b3b}.report-tabs{background:#f4faf6;border:1px solid #cfe3d6;border-radius:11px;gap:4px;margin:18px 0 0;padding:4px;display:inline-flex}.report-tabs button{color:#587067;background:0 0;border:0;border-radius:8px;padding:8px 18px}.report-tabs button[aria-selected=true]{color:#116544;background:#fff;box-shadow:0 1px 5px #1154391f}.report-share-result{color:#175c40;background:#f0faf4;border:1px solid #cce3d5;border-radius:11px;grid-template-columns:auto minmax(280px,1fr);align-items:center;gap:12px;margin-top:12px;padding:12px 16px;display:grid}.schedule-grid-row{min-width:980px;display:grid}.schedule-grid-header{z-index:3;background:#f8fcf9;border-bottom:1px solid #d8e8de;position:sticky;top:0}.schedule-person-head,.schedule-day-head{min-height:64px;padding:14px}.schedule-person-head{color:#5e7168;letter-spacing:.08em;text-transform:uppercase;font-size:.76rem;font-weight:800}.schedule-day-head{color:#215e49;text-align:center;text-transform:capitalize;border-left:1px solid #e1eee6;gap:2px;display:grid}.schedule-day-head span{color:#53675e;font-size:.78rem}.schedule-day-head.weekend,.schedule-day-cell.weekend{background:#f5f8f6}.schedule-person-group{border-bottom:1px solid #dce9e1;padding-bottom:10px}.schedule-person-cell{background:#fff;align-items:center;gap:10px;min-height:78px;padding:14px;display:flex}.schedule-person-cell>div{gap:2px;min-width:0;display:grid}.schedule-person-cell small,.schedule-day-cell>small{color:#728179;font-size:.74rem}.schedule-day-cell{text-align:center;border-left:1px solid #e3ede7;align-content:center;gap:5px;min-height:78px;padding:10px;display:grid;position:relative}.schedule-day-cell strong{color:#174e3a;font-size:.9rem}.schedule-day-cell strong small{color:#708078;font-weight:500}.schedule-day-cell.overtime:after{content:"";background:#dc4d4d;border-radius:99px;width:7px;height:7px;position:absolute;top:8px;right:8px}.utilization-track{background:#e2eee7;border-radius:99px;width:100%;height:5px;overflow:hidden}.utilization-track i{border-radius:inherit;background:#15a66f;height:100%;display:block}.allocation-lane{min-height:42px;padding:3px 0}.allocation-bar{color:#073e2b;border:1px solid #005a372e;border-radius:9px;justify-content:space-between;align-items:center;gap:10px;min-width:0;min-height:36px;margin:0 4px;padding:6px 9px;display:flex;overflow:hidden;box-shadow:inset 0 0 0 999px #ffffffb8}.allocation-bar>div{align-items:baseline;gap:8px;min-width:0;display:flex;overflow:hidden}.allocation-bar strong,.allocation-bar span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.allocation-bar span{font-size:.74rem}.allocation-bar button{color:#7c3333;background:#ffffffb3;border:0;border-radius:6px;flex:none;width:22px;height:22px;padding:0}.allocation-bar.status-tentative{border-style:dashed;box-shadow:inset 0 0 0 999px #ffffffd6}.allocation-bar.status-completed{opacity:.68}.allocation-bar.forced{border-color:#da6b4f}.schedule-row-empty{color:#86928c;margin:0 0 4px 220px;padding:7px 14px;font-size:.76rem}.terms-panel{border-color:#cfe8da;margin-top:18px;padding:24px}.terms-layout{grid-template-columns:minmax(320px,.8fr) minmax(420px,1.2fr);align-items:start;gap:18px;margin-top:16px;display:grid}.rate-version-form{grid-template-columns:repeat(2,minmax(0,1fr));margin-top:0}.rate-version-form .primary-button,.rate-version-form .form-error{grid-column:1/-1}.rate-history-list{gap:8px;display:grid}.rate-history-item{background:#f8fdf9;border:1px solid #d8ebe0;border-radius:13px;grid-template-columns:minmax(170px,1fr) auto auto;align-items:center;gap:14px;padding:13px 15px;display:grid}.rate-history-item>div{gap:2px;display:grid}.rate-history-item small{color:#53675e}.rate-history-item>span{color:#086546;background:#e7f8ef;border-radius:8px;padding:5px 8px;font-size:.8rem;font-weight:700}.schedule-terms{border-top:1px solid #d8ebe0;gap:14px;margin-top:24px;padding-top:22px;display:grid}.schedule-version-form{grid-template-columns:minmax(160px,1.4fr) repeat(7,minmax(66px,.7fr));align-items:end;gap:10px;display:grid}.schedule-version-form .primary-button{grid-column:1/-1}.compact-day input{text-align:center;padding-inline:8px}.schedule-history-list{gap:8px;display:grid}.schedule-history-item{background:#f8fdf9;border:1px solid #d8ebe0;border-radius:13px;grid-template-columns:minmax(180px,1.4fr) repeat(7,minmax(54px,.7fr));align-items:center;gap:10px;padding:12px 14px;display:grid}.schedule-history-item>div,.schedule-history-item>span{gap:2px;display:grid}.schedule-history-item>span{color:var(--ink);text-align:center;font-weight:700}.schedule-history-item small{color:var(--ink-muted);font-size:.72rem;font-weight:600}@media(max-width:900px){.app-shell{grid-template-columns:84px minmax(0,1fr)}.brand span:last-child,.nav-link span:last-child,.tenant-card{display:none}.brand,.nav-link{justify-content:center}.metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.department-layout,.catalog-grid,.people-layout,.structure-grid{grid-template-columns:1fr}.phase-add{grid-template-columns:1fr 1fr}.phase-add .field:first-child{grid-column:1/-1}.schedule-create,.timeoff-create,.status-create{grid-template-columns:repeat(2,minmax(0,1fr))}.schedule-filters{flex-wrap:wrap}.schedule-create>div:first-child,.schedule-form-error{grid-column:1/-1}.terms-layout{grid-template-columns:1fr}.schedule-version-form{grid-template-columns:repeat(4,minmax(0,1fr))}.schedule-date{grid-column:1/-1}.schedule-history-item{grid-template-columns:repeat(4,minmax(0,1fr))}.schedule-history-item>div{grid-column:1/-1}}@media(max-width:620px){.app-shell{display:block}.sidebar{border-bottom:1px solid #dce5df;border-right:0;width:100%;height:auto;padding:12px;position:static}.brand{display:none}.nav-list{display:flex;overflow-x:auto}.nav-link{flex:0 0 44px}.page{padding:36px 20px}.page-header{display:block}.status-badge{margin-top:8px;display:inline-block}.metric-grid{grid-template-columns:1fr}.page-header,.department-row,.list-heading{flex-direction:column;align-items:stretch}.edit-form{grid-template-columns:1fr}.people-toolbar{flex-direction:column;align-items:stretch}.project-hero{grid-template-columns:8px minmax(0,1fr);padding:22px}.project-summary{grid-column:1/-1}.phase-add{grid-template-columns:1fr}.phase-add .field:first-child{grid-column:auto}.table-actions{flex-direction:column;align-items:flex-start}.schedule-heading{align-items:flex-start}.schedule-filters{flex-direction:column;align-items:stretch}.schedule-filters .field,.schedule-filters .field:first-child{min-width:0}.week-controls{margin-top:14px}.schedule-create,.timeoff-create{grid-template-columns:1fr}.timeoff-create>div:first-child{grid-column:auto}.status-create{grid-template-columns:1fr}.status-create>div:first-child,.schedule-create>div:first-child,.schedule-form-error{grid-column:auto}.rate-version-form,.rate-history-item{grid-template-columns:1fr}}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}
