@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-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial}}}@layer theme{:root,:host{--font-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;-webkit-text-decoration:inherit;-webkit-text-decoration: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}.relative{position:relative}.block{display:block}.shadow{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}}:root{--bg:#eef2f5;--surface:#fff;--surface-2:#f7f9fb;--surface-3:#e8eef3;--text:#17212b;--muted:#647282;--faint:#8b99a8;--line:#d8e0e7;--line-strong:#bcc9d5;--teal:#0f766e;--teal-soft:#d9f4ee;--blue:#2563eb;--blue-soft:#dce9ff;--green:#15803d;--green-soft:#dcfce7;--amber:#b45309;--amber-soft:#fef3c7;--red:#b91c1c;--red-soft:#fee2e2;--shadow:0 18px 45px #17212b1f;--radius:8px;--font:Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif}*{box-sizing:border-box}html,body{min-height:100%}body{background:var(--bg);color:var(--text);font-family:var(--font);letter-spacing:0;margin:0}button,input,textarea,select{font:inherit}button{cursor:pointer}button:disabled,input:disabled,textarea:disabled,select:disabled{cursor:not-allowed;opacity:.62}.auth-shell,.empty-shell{background:linear-gradient(120deg, #0f766e14, transparent 38%), linear-gradient(300deg, #2563eb14, transparent 42%), var(--bg);place-items:center;min-height:100vh;padding:32px;display:grid}.auth-panel,.empty-panel{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);width:min(460px,100%);box-shadow:var(--shadow);padding:30px}.auth-brand,.sidebar-brand{align-items:center;gap:12px;display:flex}.auth-brand h1,.empty-panel h1{letter-spacing:0;margin:0;font-size:1.75rem;line-height:1.12}.auth-brand p{color:var(--muted);margin:3px 0 0;font-size:.94rem}.brand-mark{color:#fff;background:linear-gradient(135deg, var(--teal), #164e63);letter-spacing:0;border-radius:8px;place-items:center;width:42px;height:42px;font-weight:800;display:grid}.auth-form{gap:16px;margin-top:28px;display:grid}.auth-form label,.stack-form label,.side-form label,.quick-task-popover label,.new-job-form label,.compact-label{color:var(--muted);gap:7px;font-size:.78rem;font-weight:700;display:grid}.input-shell{border:1px solid var(--line);background:var(--surface-2);height:42px;color:var(--faint);border-radius:7px;align-items:center;gap:9px;padding:0 12px;display:flex}.input-shell input{width:100%;color:var(--text);background:0 0;border:0;outline:0;font-size:.94rem}.primary-button,.ghost-button,.icon-button,.sidebar-item,.demo-user,.task-bar,.segmented-control button{letter-spacing:0;border:0;border-radius:7px}.primary-button{background:var(--teal);color:#fff;justify-content:center;align-items:center;gap:8px;min-height:40px;padding:0 16px;font-size:.88rem;font-weight:800;display:inline-flex}.primary-button:hover:not(:disabled){background:#0b5f59}.ghost-button{background:var(--surface);min-height:36px;color:var(--text);border:1px solid var(--line);justify-content:center;align-items:center;gap:8px;padding:0 12px;font-size:.82rem;font-weight:800;display:inline-flex}.icon-button{width:36px;height:36px;color:var(--muted);background:var(--surface);border:1px solid var(--line);place-items:center;display:grid}.form-error,.app-alert{color:var(--red);background:var(--red-soft);border:1px solid #fecaca;border-radius:7px;padding:10px 12px;font-size:.84rem}.demo-user-list{gap:8px;margin-top:22px;display:grid}.demo-user{background:var(--surface-2);min-height:38px;color:var(--muted);border:1px solid var(--line);text-align:left;align-items:center;gap:9px;padding:0 10px;font-size:.82rem;display:flex}.demo-user.is-active{color:var(--teal);background:var(--teal-soft);border-color:#8bd3c7}.app-shell{background:var(--bg);grid-template-columns:210px minmax(0,1fr);min-height:100vh;display:grid}.sidebar{color:#fff;background:#111a22;flex-direction:column;gap:26px;min-height:100vh;padding:20px 16px;display:flex}.sidebar-brand{font-size:1rem;font-weight:850}.sidebar nav{gap:6px;display:grid}.sidebar-item{color:#b8c4cf;background:0 0;align-items:center;gap:10px;min-height:40px;padding:0 10px;font-size:.87rem;font-weight:750;display:flex}.sidebar-item:hover,.sidebar-item.is-active{color:#fff;background:#ffffff17}.sidebar-item.muted{color:#7e8d9a}.sidebar-footer{color:#9bacba;align-items:center;gap:8px;margin-top:auto;font-size:.82rem;font-weight:750;display:flex}.workspace-shell{min-width:0;padding:16px}.topbar{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);grid-template-columns:minmax(260px,360px) 1fr auto;align-items:center;gap:18px;min-height:68px;padding:10px 14px 12px;display:grid;box-shadow:0 6px 18px #17212b0f}.job-selector{gap:5px;display:grid}.job-selector label{color:var(--muted);text-transform:uppercase;font-size:.72rem;font-weight:850}.select-wrap{align-items:center;display:flex;position:relative}.select-wrap select,.compact-label select,.stack-form select,.stack-form input,.stack-form textarea,.inline-form select,.side-form input,.side-form select,.side-form textarea,.quick-task-popover input,.quick-task-popover select,.quick-task-popover textarea,.new-job-form input,.new-job-form textarea,.new-job-form select{border:1px solid var(--line);background:var(--surface);width:100%;min-height:36px;color:var(--text);border-radius:7px;outline:0;padding:8px 10px;font-size:.84rem}.select-wrap select{appearance:none;padding-right:32px;font-weight:850}.select-wrap svg{color:var(--muted);pointer-events:none;position:absolute;right:10px}.topbar-meta{color:var(--muted);flex-wrap:wrap;gap:8px;font-size:.81rem;font-weight:750;display:flex}.topbar-meta span{background:var(--surface-2);border:1px solid var(--line);border-radius:7px;padding:5px 8px}.topbar-actions{justify-content:end;align-items:center;gap:8px;display:flex}.profile-chip{border:1px solid var(--line);background:var(--surface-2);border-radius:7px;align-items:center;gap:9px;min-width:178px;padding:5px 8px;display:flex}.profile-chip strong,.member-row strong{color:var(--text);font-size:.82rem;line-height:1.18;display:block}.profile-chip span,.member-row span,.resource-row span,.contractor-row span,.area-tile span{color:var(--muted);font-size:.72rem;line-height:1.25}.avatar{color:#fff;border-radius:7px;flex:none;place-items:center;width:34px;height:34px;font-size:.75rem;font-weight:850;display:grid}.avatar.small{width:30px;height:30px;font-size:.68rem}.app-alert{align-items:center;gap:8px;margin-top:12px;display:flex}.new-job-form{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:12px;padding:12px;display:grid}.new-job-form textarea{resize:vertical;grid-column:1/-1;min-height:70px}.form-grid-four{grid-column:1/-1;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;display:grid}.new-job-form .primary-button{justify-self:end}.workspace-grid{grid-template-columns:minmax(0,1fr) 340px;gap:14px;margin-top:14px;display:grid}.work-surface,.inspector{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);min-width:0;box-shadow:0 6px 18px #17212b0d}.work-surface{overflow:hidden}.inspector{align-self:start;max-height:calc(100vh - 100px);overflow:auto}.board-toolbar{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:14px;padding:16px;display:flex}.board-toolbar h2{letter-spacing:0;margin:0;font-size:1.15rem;line-height:1.2}.board-toolbar p{color:var(--muted);margin:4px 0 0;font-size:.82rem}.toolbar-controls{flex-wrap:wrap;justify-content:end;align-items:center;gap:8px;display:flex}.search-box{min-height:34px;color:var(--muted);background:var(--surface-2);border:1px solid var(--line);border-radius:7px;align-items:center;gap:7px;padding:0 10px;font-size:.78rem;font-weight:750;display:flex}.segmented-control{border:1px solid var(--line);background:var(--surface-2);border-radius:8px;padding:3px;display:flex}.segmented-control button{min-height:28px;color:var(--muted);background:0 0;padding:0 10px;font-size:.76rem;font-weight:850}.segmented-control button.is-active{color:var(--text);background:var(--surface);box-shadow:0 1px 4px #17212b1a}.conflict-pill,.success-pill,.edit-pill,.view-pill{white-space:nowrap;border-radius:7px;align-items:center;gap:5px;min-height:30px;padding:0 9px;font-size:.75rem;font-weight:850;display:inline-flex}.conflict-pill{color:var(--red);background:var(--red-soft);border:1px solid #fecaca}.success-pill{color:var(--green);background:var(--green-soft);border:1px solid #bbf7d0}.edit-pill{color:var(--teal);background:var(--teal-soft);border:1px solid #99f6e4}.view-pill{color:var(--amber);background:var(--amber-soft);border:1px solid #fde68a}.timeline-shell{min-height:620px;position:relative;overflow:auto}.drilldown-toolbar{border-bottom:1px solid var(--line);background:var(--surface);flex-wrap:wrap;align-items:center;gap:10px;padding:12px 14px;display:flex}.day-picker{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.day-picker button{min-height:30px;color:var(--muted);background:var(--surface-2);border:1px solid var(--line);border-radius:7px;padding:0 9px;font-size:.73rem;font-weight:850}.day-picker button:hover,.day-picker button.is-active{color:var(--teal);background:var(--teal-soft);border-color:#99f6e4}.daily-context{min-height:30px;color:var(--muted);background:var(--surface-2);border:1px solid var(--line);border-radius:7px;align-items:center;gap:6px;padding:0 9px;font-size:.74rem;font-weight:850;display:inline-flex}.contractor-legend{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.contractor-legend-item{max-width:168px;min-height:30px;color:var(--text);background:var(--contractor-color);align-items:center;gap:6px;padding:0 9px;display:inline-flex}@supports (color:color-mix(in lab, red, red)){.contractor-legend-item{background:color-mix(in srgb, var(--contractor-color) 12%, white)}}.contractor-legend-item{border:1px solid var(--contractor-color)}@supports (color:color-mix(in lab, red, red)){.contractor-legend-item{border:1px solid color-mix(in srgb, var(--contractor-color) 34%, var(--line))}}.contractor-legend-item{white-space:nowrap;text-overflow:ellipsis;border-radius:7px;font-size:.7rem;font-weight:850;overflow:hidden}.contractor-legend-dot{background:var(--contractor-color);width:9px;height:9px;box-shadow:0 0 0 3px var(--contractor-color);border-radius:999px;flex:none}@supports (color:color-mix(in lab, red, red)){.contractor-legend-dot{box-shadow:0 0 0 3px color-mix(in srgb, var(--contractor-color) 16%, transparent)}}.timeline-header,.timeline-row{grid-template-columns:190px minmax(0,1fr);display:grid}.timeline-header{z-index:3;background:var(--surface);border-bottom:1px solid var(--line);position:sticky;top:0}.area-header,.area-cell{border-right:1px solid var(--line)}.area-header{color:var(--muted);background:var(--surface-2);text-transform:uppercase;padding:12px 14px;font-size:.72rem;font-weight:850}.day-strip,.hour-strip{grid-template-columns:repeat(var(--column-count), minmax(118px, 1fr));display:grid}.hour-strip{grid-template-columns:repeat(var(--column-count), minmax(74px, 1fr))}.day-cell,.hour-cell{border-right:1px solid var(--line);background:var(--surface);min-height:58px;color:var(--text);text-align:left;border-top:0;border-bottom:0;border-left:0;border-radius:0;gap:3px;padding:10px 12px;display:grid}.day-cell:hover{background:var(--surface-2)}.day-cell strong,.hour-cell strong{font-size:.82rem}.day-cell span,.hour-cell span{color:var(--muted);font-size:.72rem;font-weight:750}.timeline-row{border-bottom:1px solid var(--line);min-height:126px}.area-cell{background:var(--surface-2);align-items:center;gap:10px;padding:12px 14px;display:flex}.area-dot{background:var(--area-color);width:10px;height:10px;box-shadow:0 0 0 4px var(--area-color);border-radius:999px}@supports (color:color-mix(in lab, red, red)){.area-dot{box-shadow:0 0 0 4px color-mix(in srgb, var(--area-color) 18%, transparent)}}.area-cell strong{font-size:.86rem;line-height:1.2;display:block}.area-cell span{color:var(--muted);font-size:.74rem}.task-lane{background:repeating-linear-gradient(90deg, transparent 0, transparent calc((100% / var(--column-count)) - 1px), var(--line) calc((100% / var(--column-count)) - 1px), var(--line) calc(100% / var(--column-count))), linear-gradient(0deg, #d8e0e766, transparent 1px);min-height:126px;position:relative}.task-lane.can-quick-create{cursor:crosshair}.task-lane .task-bar.can-schedule{cursor:grab}.quick-task-popover{z-index:12;width:min(340px,100% - 24px);color:var(--text);background:var(--surface);border:1px solid var(--line-strong);border-radius:var(--radius);cursor:default;gap:10px;padding:12px;display:grid;position:absolute;box-shadow:0 18px 40px #17212b33}.quick-task-heading{border-bottom:1px solid var(--line);justify-content:space-between;align-items:start;gap:10px;padding-bottom:8px;display:flex}.quick-task-heading strong,.quick-task-heading span{display:block}.quick-task-heading strong{font-size:.9rem;line-height:1.2}.quick-task-heading span{color:var(--muted);margin-top:3px;font-size:.72rem;font-weight:800}.quick-task-popover textarea{resize:vertical;min-height:58px}.task-lane.is-daily{background:repeating-linear-gradient(90deg, #0f766e09 0, #0f766e09 calc((100% / var(--column-count)) - 1px), var(--line) calc((100% / var(--column-count)) - 1px), var(--line) calc(100% / var(--column-count))), linear-gradient(0deg, #d8e0e766, transparent 1px)}.task-bar{color:#0b2239;background:var(--blue-soft);min-width:64px;min-height:44px;box-shadow:inset 5px 0 0 var(--contractor-color,var(--muted)), 0 3px 8px #2563eb21;text-align:left;-webkit-user-select:none;user-select:none;border:1px solid #9dc0ff;flex-direction:column;justify-content:center;gap:2px;padding:6px 28px 6px 9px;display:flex;position:absolute;overflow:visible;container-type:inline-size}.task-lane.is-daily .task-bar{min-width:118px}.task-bar.can-schedule{cursor:grab;touch-action:none}.task-bar.can-schedule:active,.task-bar.is-scheduling{cursor:grabbing;z-index:4}.task-bar.is-scheduling{opacity:.86;box-shadow:inset 5px 0 0 var(--contractor-color,var(--muted)), 0 8px 18px #0f766e2e}.task-bar:hover,.task-bar:focus-visible{z-index:6}.task-bar[data-task-title]:after{content:attr(data-task-title);z-index:8;color:#fff;background:var(--text);white-space:normal;opacity:0;pointer-events:none;border-radius:6px;width:max-content;max-width:min(320px,70vw);padding:7px 9px;font-size:.68rem;font-weight:800;line-height:1.25;transition:opacity .12s,transform .12s;position:absolute;bottom:calc(100% + 7px);left:0;transform:translateY(3px);box-shadow:0 10px 24px #17212b38}.task-bar[data-task-title]:hover:after,.task-bar[data-task-title]:focus-visible:after{opacity:1;transform:translateY(0)}.task-resize-handle{z-index:2;cursor:ew-resize;width:10px;position:absolute;top:0;bottom:0}.task-resize-handle.is-left{left:0}.task-resize-handle.is-right{right:0}.task-resize-handle:after{content:"";opacity:0;background:#0f766e57;border-radius:999px;width:2px;transition:opacity .12s;position:absolute;top:9px;bottom:9px}.task-resize-handle.is-left:after{left:3px}.task-resize-handle.is-right:after{right:3px}.task-bar.can-schedule:hover .task-resize-handle:after,.task-bar.is-scheduling .task-resize-handle:after{opacity:1}.task-title,.task-meta,.task-contractor-name{text-overflow:ellipsis;display:block;overflow:hidden}.task-contractor{min-width:0;max-width:100%;color:var(--contractor-color);align-items:center;gap:4px;display:none}@supports (color:color-mix(in lab, red, red)){.task-contractor{color:color-mix(in srgb, var(--contractor-color) 72%, #0b2239)}}.task-contractor{white-space:nowrap;font-size:.58rem;font-weight:850;line-height:1}.task-contractor-dot{background:var(--contractor-color);border-radius:999px;flex:none;width:7px;height:7px}.task-contractor-name{min-width:0}.task-title{white-space:normal;overflow-wrap:normal;word-break:normal;-webkit-hyphens:none;hyphens:none;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;max-height:1.6128rem;font-size:.72rem;font-weight:850;line-height:1.12;display:-webkit-box}.task-meta{color:#37536f;white-space:nowrap;font-size:.62rem;font-weight:700;line-height:1.1}.task-bar .task-resize-handle{display:block;overflow:visible}@container (max-width:96px){.task-title{white-space:nowrap;-webkit-line-clamp:unset;line-clamp:unset;max-height:none;display:block}}@container (min-width:150px){.task-contractor{display:inline-flex}}.task-bar svg{position:absolute;top:50%;right:7px;transform:translateY(-50%)}.task-bar.is-selected{outline:2px solid var(--teal);outline-offset:1px}.task-bar.has-conflict{color:#5b1010;background:var(--red-soft);border-color:#fca5a5}.task-bar.status-ready{background:var(--teal-soft);border-color:#8bd3c7}.task-bar.status-in-progress{background:var(--amber-soft);border-color:#facc15}.task-bar.status-blocked{background:var(--red-soft);border-color:#fca5a5}.task-bar.status-complete{background:var(--green-soft);border-color:#86efac}.inspector-stack{gap:12px;padding:12px;display:grid}.inspector-section{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);padding:12px}.section-title{align-items:center;gap:8px;margin-bottom:10px;display:flex}.section-title h3,.side-form h3,.data-table h3{letter-spacing:0;margin:0;font-size:.92rem;line-height:1.2}.section-title svg{color:var(--teal)}.metric-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;display:grid}.metric{background:var(--surface-2);border:1px solid var(--line);border-radius:7px;gap:3px;padding:9px 8px;display:grid}.metric span{color:var(--muted);font-size:.67rem;font-weight:800}.metric strong{font-size:1rem}.selected-task-title{justify-content:space-between;align-items:start;gap:8px;display:flex}.selected-task-title strong{font-size:.95rem;line-height:1.3}.selected-task p,.blocker-item p,.muted-copy{color:var(--muted);margin:8px 0 0;font-size:.78rem;line-height:1.45}.detail-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;margin:10px 0;display:grid}.detail-list span{min-width:0;color:var(--muted);background:var(--surface-2);border:1px solid var(--line);border-radius:7px;align-items:center;gap:6px;padding:7px 8px;font-size:.72rem;font-weight:750;display:flex}.stack-form,.side-form{gap:10px;display:grid}.side-form-heading{justify-content:space-between;align-items:center;gap:8px;display:flex}.stack-form textarea,.side-form textarea{resize:vertical;min-height:64px}.form-grid-two{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;display:grid}.checkbox-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;display:grid}.check-row{align-items:center;color:var(--text)!important;gap:7px!important;font-size:.76rem!important;font-weight:750!important;display:flex!important}.check-row input{accent-color:var(--teal)}.member-list,.blocker-list{gap:8px;display:grid}.member-row{grid-template-columns:30px minmax(0,1fr) auto;align-items:center;gap:9px;display:grid}.member-row em,.resource-row em,.contractor-row em,.area-tile em,.area-tile b{color:var(--muted);font-size:.72rem;font-style:normal;font-weight:850}.inline-form{grid-template-columns:minmax(0,1fr) 96px 36px;gap:7px;margin-top:10px;display:grid}.blocker-item{background:var(--amber-soft);border:1px solid #f7d585;border-radius:7px;padding:10px}.blocker-item strong{font-size:.82rem;display:block}.blocker-item span{color:var(--amber);font-size:.7rem;font-weight:850}.management-layout{grid-template-columns:minmax(0,1fr) 320px;gap:14px;padding:16px;display:grid}.data-table,.area-map{gap:10px;display:grid}.data-table header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:end;padding-bottom:8px;display:flex}.data-table header span{color:var(--muted);font-size:.76rem;font-weight:800}.resource-row,.contractor-row,.area-tile{background:var(--surface-2);border:1px solid var(--line);border-radius:var(--radius);align-items:center;gap:12px;padding:12px;display:grid}.resource-row{grid-template-columns:minmax(180px,1fr) minmax(150px,240px) 92px}.contractor-row{border-left:5px solid var(--contractor-color);grid-template-columns:minmax(180px,1fr) 96px 120px minmax(180px,1fr) 84px}.contractor-row.is-editing{background:var(--contractor-color)}@supports (color:color-mix(in lab, red, red)){.contractor-row.is-editing{background:color-mix(in srgb, var(--contractor-color) 10%, var(--surface))}}.contractor-row.is-editing{border-color:var(--contractor-color)}@supports (color:color-mix(in lab, red, red)){.contractor-row.is-editing{border-color:color-mix(in srgb, var(--contractor-color) 56%, var(--line))}}.contractor-name-cell{align-items:center;gap:10px;min-width:0;display:flex}.contractor-row-swatch{background:var(--contractor-color);width:16px;height:16px;box-shadow:0 0 0 4px var(--contractor-color);border-radius:5px;flex:none}@supports (color:color-mix(in lab, red, red)){.contractor-row-swatch{box-shadow:0 0 0 4px color-mix(in srgb, var(--contractor-color) 14%, transparent)}}.contractor-row-actions{justify-content:end;gap:6px;display:flex}.contractor-action-button{width:32px;height:32px}.icon-button.is-danger,.contractor-action-button.is-danger{color:var(--red);background:var(--red-soft);border-color:#fecaca}.form-actions{justify-content:end;align-items:center;gap:8px;display:flex}.form-actions .primary-button{flex:1}.contractor-color-control{grid-template-columns:44px minmax(0,1fr);align-items:center;gap:8px;display:grid}.contractor-color-control input[type=color]{width:44px;min-height:36px;padding:3px}.contractor-color-swatches{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.contractor-color-swatch{border:1px solid var(--contractor-color);width:22px;height:22px}@supports (color:color-mix(in lab, red, red)){.contractor-color-swatch{border:1px solid color-mix(in srgb, var(--contractor-color) 64%, var(--line))}}.contractor-color-swatch{background:var(--contractor-color);border-radius:6px}.contractor-color-swatch.is-selected{outline:2px solid var(--text);outline-offset:2px}.resource-row strong,.contractor-row strong,.area-tile strong{font-size:.9rem;line-height:1.25;display:block}.capacity-meter{background:var(--surface-3);border-radius:999px;height:8px;overflow:hidden}.capacity-meter span{background:linear-gradient(90deg, var(--teal), var(--blue));border-radius:inherit;height:100%;display:block}.side-form{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface-2);align-self:start;padding:12px}.area-map{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.area-tile{grid-template-columns:14px minmax(0,1fr) auto 76px;min-height:96px;position:relative;overflow:hidden}.area-tile.is-editing{background:var(--area-color)}@supports (color:color-mix(in lab, red, red)){.area-tile.is-editing{background:color-mix(in srgb, var(--area-color) 10%, var(--surface))}}.area-tile.is-editing{border-color:var(--area-color)}@supports (color:color-mix(in lab, red, red)){.area-tile.is-editing{border-color:color-mix(in srgb, var(--area-color) 56%, var(--line))}}.area-tile:before{content:"";background:var(--area-color);width:4px;position:absolute;inset:0 auto 0 0}.area-tile b{color:var(--red)}.area-tile b.ok-text{color:var(--green)}.area-tile-meta{justify-items:end;gap:8px;display:grid}.area-tile-actions{justify-content:end;gap:6px;display:flex}.area-action-button{width:32px;height:32px}.jobs-view,.reports-layout{padding:16px}.jobs-view{gap:14px;display:grid}.jobs-view-heading,.job-card-header,.job-card-actions,.report-panel header{justify-content:space-between;align-items:center;gap:12px;display:flex}.jobs-view-heading h3,.report-panel h3{margin:0;font-size:.98rem;line-height:1.2}.jobs-view-heading span,.job-card-header span,.job-card-meta span,.report-panel header span,.report-row span,.readiness-callout span,.report-empty{color:var(--muted);font-size:.74rem;font-weight:750;line-height:1.35}.job-card-grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:12px;display:grid}.job-card{background:var(--surface-2);border:1px solid var(--line);border-radius:var(--radius);gap:12px;padding:14px;display:grid}.job-card.is-selected{background:var(--teal)}@supports (color:color-mix(in lab, red, red)){.job-card.is-selected{background:color-mix(in srgb, var(--teal) 7%, var(--surface))}}.job-card.is-selected{box-shadow:inset 4px 0 0 var(--teal);border-color:#8bd3c7}.job-card-header{align-items:start}.job-card-header strong,.report-row strong,.readiness-callout strong,.contractor-report-name strong{font-size:.9rem;line-height:1.25;display:block}.job-card p{color:var(--muted);margin:0;font-size:.78rem;line-height:1.45}.job-status,.readiness-badge{min-height:28px;color:var(--green);background:var(--green-soft);white-space:nowrap;border:1px solid #bbf7d0;border-radius:7px;align-items:center;padding:0 9px;font-size:.72rem;font-style:normal;font-weight:850;display:inline-flex}.job-status.is-risk,.readiness-badge.is-risk{color:var(--red);background:var(--red-soft);border-color:#fecaca}.job-card-meta{flex-wrap:wrap;align-items:center;gap:7px;display:flex}.job-card-meta span{background:var(--surface);border:1px solid var(--line);border-radius:7px;align-items:center;gap:5px;min-height:28px;padding:0 8px;display:inline-flex}.job-stat-grid,.report-metrics{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;display:grid}.job-card .metric,.report-metrics .metric{background:var(--surface)}.mini-meter{background:var(--surface-3);border-radius:999px;height:8px;overflow:hidden}.mini-meter span{background:linear-gradient(90deg, var(--teal), var(--blue));border-radius:inherit;height:100%;display:block}.job-card-actions{flex-wrap:wrap;justify-content:end}.reports-layout{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.report-panel{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);align-content:start;gap:12px;min-width:0;padding:14px;display:grid}.report-panel.is-wide{grid-column:1/-1}.report-panel header{align-items:start}.readiness-callout{color:var(--green);background:var(--green-soft);border-radius:var(--radius);border:1px solid #bbf7d0;align-items:start;gap:10px;padding:12px;display:flex}.readiness-callout.is-risk{color:var(--red);background:var(--red-soft);border-color:#fecaca}.readiness-callout span{margin-top:3px;display:block}.report-list{gap:8px;display:grid}.report-row{background:var(--surface-2);border:1px solid var(--line);border-radius:7px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;min-width:0;padding:10px;display:grid}.report-row.has-swatch{grid-template-columns:16px minmax(0,1fr) auto}.report-row.has-swatch.has-meter{grid-template-columns:16px minmax(0,1fr) minmax(110px,220px) auto}.report-row em{white-space:nowrap;justify-self:end;font-size:.72rem;font-style:normal;font-weight:850}.report-row .mini-meter{width:100%}.report-swatch{border-radius:4px;width:13px;height:13px}.report-swatch.is-area{background:var(--area-color);box-shadow:0 0 0 4px var(--area-color)}@supports (color:color-mix(in lab, red, red)){.report-swatch.is-area{box-shadow:0 0 0 4px color-mix(in srgb, var(--area-color) 16%, transparent)}}.report-swatch.is-contractor{background:var(--contractor-color);box-shadow:0 0 0 4px var(--contractor-color)}@supports (color:color-mix(in lab, red, red)){.report-swatch.is-contractor{box-shadow:0 0 0 4px color-mix(in srgb, var(--contractor-color) 16%, transparent)}}.contractor-report-name{min-width:0}.bad-text{color:var(--red)!important}.ok-text{color:var(--green)!important}.empty-panel{justify-items:start;gap:18px;display:grid}@media (max-width:1220px){.app-shell{grid-template-columns:72px minmax(0,1fr)}.sidebar{padding:18px 10px}.sidebar-brand span:not(.brand-mark),.sidebar-item{font-size:0}.sidebar-item{justify-content:center}.sidebar-footer span{display:none}.workspace-grid{grid-template-columns:minmax(0,1fr)}.inspector{max-height:none}.topbar{grid-template-columns:minmax(240px,1fr)}.topbar-actions{flex-wrap:wrap;justify-content:start}.management-layout,.reports-layout{grid-template-columns:minmax(0,1fr)}}@media (max-width:760px){.app-shell{display:block}.sidebar{flex-direction:row;align-items:center;gap:8px;height:64px;min-height:64px;padding:8px 10px;overflow-x:auto}.sidebar nav{gap:4px;display:flex}.sidebar-footer{display:none}.workspace-shell{padding:10px}.board-toolbar,.topbar{align-items:stretch}.board-toolbar{flex-direction:column}.toolbar-controls{justify-content:start}.new-job-form,.form-grid-four,.form-grid-two,.metric-grid,.job-stat-grid,.report-metrics,.detail-list,.checkbox-list,.resource-row,.contractor-row,.area-tile,.report-row,.report-row.has-swatch,.report-row.has-swatch.has-meter{grid-template-columns:1fr}.jobs-view-heading,.job-card-header,.report-panel header{flex-direction:column;align-items:stretch}.timeline-header,.timeline-row{grid-template-columns:168px minmax(620px,1fr)}.timeline-shell[data-mode=day] .timeline-header,.timeline-shell[data-mode=day] .timeline-row{grid-template-columns:168px minmax(760px,1fr)}.auth-panel,.empty-panel{padding:22px}}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}
