/* Independent US visual identity. Business logic and KSA styles remain separate. */
:root { --bg:#f3f4f5; --surface:#fff; --surface-muted:#edeff2; --line:#dce0e5; --line-strong:#b4bcc9; --text:#202b3c; --muted:#747a84; --blue:#243a5c; --blue-soft:#e9ecf1; --green:#627694; --orange:#b68a4b; --purple:#737d8b; font-family: -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; }
body {font-size:14px; background:var(--bg)}
.app-shell {min-width:0; margin-left:232px; padding:32px 36px 48px; max-width:2000px}
.us-sidebar {position:fixed;inset:0 auto 0 0;width:232px;background:#121f33;color:#c6ccd6;display:flex;flex-direction:column;padding:34px 18px 24px;z-index:40}
.us-brand {display:flex;align-items:center;gap:12px;color:#fff;text-decoration:none;padding:6px 8px 42px}
.us-monogram {font-weight:800;font-size:25px;letter-spacing:-2px;color:#e8ecf2}.us-monogram span{color:#85a1cc}
.us-brand strong{font-size:18px;letter-spacing:-.5px}.us-brand small{display:block;font-size:9px;letter-spacing:2px;color:#9aa5b6;margin-top:8px}
.us-nav-label {font-size:10px;letter-spacing:2px;color:#838fa0;padding:8px 14px 16px}
.us-sidebar .view-switch {display:flex;flex-direction:column;flex-basis:auto;width:100%;background:none;border:0;padding:0;box-shadow:none;gap:7px}
.us-sidebar .view-switch button,.us-sidebar .view-switch a {display:flex;align-items:center;gap:15px;padding:15px 16px;min-height:48px;text-align:left;color:#bcc4d0;font-size:13px;font-weight:600;border-radius:9px;text-decoration:none;background:none;border:0}
.us-sidebar .view-switch button span{font-size:19px;width:21px;font-weight:400}
.us-sidebar .view-switch .active{background:#2c394c;color:#b8ceef;box-shadow:none}
.us-sidebar .view-switch button:hover,.us-sidebar .view-switch a:hover{background:#243247;color:white}
.us-sidebar-footer {margin-top:auto;border-top:1px solid #354152;padding-top:24px;display:flex;align-items:center;gap:12px;font-size:12px}
.us-sidebar-footer small{display:block;color:#8894a7;font-size:10px;line-height:1.6;margin-top:5px}
.us-entity-badge{display:grid;place-items:center;background:#d9dfe7;color:#23334c;width:36px;height:36px;border-radius:50%;font-weight:750;flex-shrink:0}
.hero{background:none;border:0;border-radius:0;min-height:82px;padding:0 0 26px;align-items:center;gap:0}
.hero>.brand-mark{display:none}.us-eyebrow{font-size:10px;letter-spacing:2px;font-weight:700;color:#7c8491;display:block;margin-bottom:10px}
h1{font-size:29px;letter-spacing:-1.2px;line-height:1.2}.hero p{margin-top:8px;font-weight:400;font-size:12px}
.hero-actions{flex-wrap:wrap;justify-content:flex-end;padding-left:20px;max-width:360px}.user-label{font-weight:500;white-space:normal;font-size:11px}
button{background:white;border-color:var(--line);border-radius:7px;font-weight:600;padding:9px 13px}button:hover{background:#e5e9ee}button.primary-action,#refreshButton{background:#243753;color:white;border-color:#243753}button.primary-action:hover,#refreshButton:hover{background:#17273f}
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #95a3b9;outline-offset:3px}
.toolbar{padding:14px 16px;background:#e7ebf0;border:1px solid #d2dae5;border-radius:9px;margin:0 0 28px;gap:10px}.search-box{border-radius:6px;width:290px;flex:1;min-width:160px;background:#fff}.toolbar select{font-size:12px;border-color:#d7dbe2;max-width:180px}.sync-status{font-size:11px;font-weight:500}
.dashboard-view{gap:24px}.dashboard-hero{background:none;padding:0;border:0;box-shadow:none;display:block}.dashboard-hero>div:first-child{margin-bottom:22px}.dashboard-hero>div:first-child>span{font-size:10px;letter-spacing:2px;font-weight:700}.dashboard-hero h2{font-size:24px;letter-spacing:-.7px;margin-top:8px}.dashboard-hero p{font-size:12px;font-weight:400}
.dashboard-hero-metrics{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.dashboard-metric{padding:24px;border:1px solid var(--line);border-radius:12px;min-height:145px;min-width:0}.dashboard-metric span{text-transform:none;font-weight:500;font-size:12px}.dashboard-metric strong,.dashboard-metric.blue strong,.dashboard-metric.orange strong,.dashboard-metric.green strong,.dashboard-metric.purple strong{color:var(--text);font-size:34px;margin:20px 0 12px;letter-spacing:-1px}.dashboard-metric small{font-size:11px;color:var(--muted)}
.dashboard-metric:first-child{background:#21334d;border-color:#21334d;grid-column:span 2}.dashboard-metric:first-child span{color:#ccd2dc}.dashboard-metric:first-child strong{color:#fff}.dashboard-metric:first-child small{color:#a8c0e5}
.dashboard-distribution{gap:18px}.dashboard-panel,.table-panel,.reports-panel{border:1px solid var(--line);box-shadow:none;border-radius:12px;overflow:hidden}.dashboard-card-header h2,.panel-header h2{font-size:16px;letter-spacing:-.4px}.dashboard-card-header p,.panel-header p{font-weight:400;line-height:1.6;font-size:12px}.dashboard-donut-card{padding:22px}.dashboard-donut{width:110px;height:110px}.dashboard-donut-layout{gap:14px;flex-wrap:wrap}.dashboard-total{font-size:11px;color:var(--muted)}
.dashboard-grid{grid-template-columns:minmax(0,1fr);gap:24px}.dashboard-grid>.dashboard-panel{min-height:200px}.panel-header{padding:20px 24px;background:white;border-bottom:1px solid var(--line);flex-wrap:wrap;gap:12px}.dashboard-table-scroll{min-height:180px}.dashboard-focus-list{padding:18px 24px}.dashboard-focus-item{background:#f4f6f8;border-color:var(--line)}
.data-table th{background:#f5f6f8;color:#747b85;border-color:var(--line);font-size:10px;letter-spacing:.4px}.data-table td{border-color:#e7e9ed}.table-scroll{max-width:100%;}.workspace-grid,.equipment-view,.reports-view{min-width:0}.project-panel-actions{flex-wrap:wrap}.task-action-bar{flex-wrap:wrap;background:white;padding:14px;border-radius:10px;border:1px solid var(--line)}.task-subpage-tabs button.active{background:#243753;color:white}.task-shell .project-toolbar{padding:24px 0}.login-screen{background:#eef0f3}.login-panel{border-color:var(--line);border-radius:16px;box-shadow:0 20px 70px #121f3318}.login-panel button{background:#243753;color:white}.brand-mark{background:#243753}
@media(min-width:1500px){.dashboard-hero-metrics{grid-template-columns:repeat(5,minmax(0,1fr))}.dashboard-metric:first-child{grid-column:auto}}
@media(max-width:1100px){.app-shell{margin-left:200px;padding:24px}.us-sidebar{width:200px;padding:28px 12px}.hero{flex-wrap:wrap;gap:18px}.hero-actions{margin-left:0;padding-left:0;max-width:none}.dashboard-distribution{grid-template-columns:1fr}.dashboard-donut-layout{display:flex;align-items:center;gap:32px}.dashboard-legend{flex:1}}
@media(max-width:700px){.us-sidebar{position:relative;width:100%;padding:18px;gap:6px}.us-brand{padding:0 0 10px}.us-nav-label,.us-sidebar-footer{display:none}.us-sidebar .view-switch{flex-direction:row;flex-wrap:wrap;gap:5px}.us-sidebar .view-switch button,.us-sidebar .view-switch a{padding:9px 11px;min-height:38px;font-size:12px;gap:7px}.us-sidebar .view-switch button span{font-size:16px;width:auto}.app-shell{margin:0;padding:0 0 24px}.app-shell>section{margin-left:16px;margin-right:16px}.hero{padding:24px 0 18px}.dashboard-hero-metrics{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.dashboard-metric{padding:18px;min-height:135px}.dashboard-metric strong{font-size:29px}.toolbar select{max-width:135px}.task-workspace-page{padding-top:16px}}
@media print{.us-sidebar,.hero-actions,.toolbar{display:none!important}.app-shell{margin:0;padding:0}}
.panel-header{height:auto;min-height:76px;flex-shrink:0}.dashboard-panel .dashboard-table-scroll{margin:0 12px 12px}.dashboard-empty{font-weight:400}
.equipment-actions{display:flex;gap:7px;flex-wrap:wrap;flex-basis:100%}.equipment-actions button{font-size:12px}.equipment-tree-cell{display:flex;align-items:center;gap:4px}.equipment-tree-cell button{white-space:nowrap;background:none;border:0;padding:5px;color:#243753}.equipment-dialog{width:min(900px,calc(100vw - 32px));max-height:90vh;overflow:auto;border:1px solid var(--line);border-radius:14px;padding:28px;color:var(--text);box-shadow:0 24px 100px #101a2844}.equipment-dialog::backdrop{background:#101a2866}.equipment-dialog h2{font-size:22px;margin-bottom:12px}.equipment-dialog p{margin:12px 0;color:var(--muted);line-height:1.6}.equipment-form-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin:22px 0}.equipment-dialog label{display:flex;flex-direction:column;gap:7px;font-size:12px;font-weight:650}.equipment-dialog input,.equipment-dialog select{width:100%;min-height:38px}.equipment-dialog input[type=file]{margin:12px 0}.equipment-dialog textarea{width:100%;margin:14px 0}.equipment-dialog fieldset{display:flex;flex-wrap:wrap;gap:16px;border:1px solid var(--line);padding:16px;border-radius:8px}.equipment-dialog legend{font-size:12px}.equipment-form-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:24px}.equipment-dialog .equipment-error{color:#a42929}.equipment-panel .selected-row td{background:#e9edf4}.equipment-panel td{white-space:nowrap}.equipment-panel input[type=checkbox]{min-height:16px;width:16px}@media(max-width:700px){.equipment-form-grid{grid-template-columns:1fr}.equipment-dialog{padding:18px}}
#equipmentTable{min-width:2900px;width:max-content;table-layout:auto}#equipmentTable th,#equipmentTable td{min-width:120px;max-width:300px;padding:10px 12px}#equipmentTable th:first-child,#equipmentTable td:first-child{min-width:42px;width:42px}#equipmentTable th:nth-child(2),#equipmentTable td:nth-child(2){min-width:190px}.equipment-panel .table-scroll{overflow:auto}

.equipment-inline-row td{background:#eff2f6;padding:6px}.equipment-inline-row input,.equipment-inline-row select,.equipment-inline-row textarea{width:100%;min-width:125px;min-height:36px;border:1px solid #b7c0cd;border-radius:5px;padding:7px;font:inherit;background:white;color:var(--text)}.equipment-inline-row textarea[readonly]{background:#e7e9ed;color:#606874}.equipment-inline-details td{background:#f3f5f7;padding:14px}.equipment-inline-details form{position:sticky;left:16px;max-width:min(820px,85vw);white-space:normal;display:flex;flex-wrap:wrap;gap:14px;align-items:center}.equipment-inline-details fieldset{display:flex;gap:12px;border:1px solid var(--line);border-radius:6px}.equipment-inline-details label{display:flex;gap:8px;align-items:center}.equipment-inline-details .equipment-error{color:#a42929}.equipment-inline-details .equipment-form-actions{margin:0}.equipment-inline-details p{flex-basis:100%}

.equipment-quick-row td{background:#eaeef3;padding:8px}.equipment-quick-row input{width:100%;min-width:180px;padding:9px;border:1px solid #c4ccd8;border-radius:5px;font:inherit}.equipment-quick-row [role=status]{white-space:normal;color:#606874}.equipment-quick-row[data-parent-id]:not([data-parent-id=""]) input{margin-left:18px;width:calc(100% - 18px)}

.equipment-import-preview{max-height:50vh;overflow:auto}.equipment-import-preview table{width:100%;font-size:12px}.equipment-import-preview td,.equipment-import-preview th{padding:8px;text-align:left;border-bottom:1px solid var(--line)}.equipment-import-preview input[type=checkbox]{width:18px;min-height:18px}.equipment-inline-details fieldset{flex-wrap:wrap;padding:12px}.equipment-inline-details fieldset label{flex-wrap:wrap}.equipment-inline-details input[type=checkbox]{width:18px}

/* Keep hierarchy controls legible without shrinking inside long task titles. */
.task-disclosure{display:inline-flex;align-items:center;justify-content:center;flex:0 0 24px;width:24px;height:28px;min-height:28px;padding:0;color:#415168;border-radius:5px}
.task-disclosure svg{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.task-disclosure[aria-expanded="true"] svg{transform:rotate(90deg)}
.task-disclosure:not(:disabled):hover{background:#dbe1ea;color:#12223b}

.task-spreadsheet-cell:not(.cell-editing) input:not([type=checkbox]):not([type=date]){pointer-events:none}.task-spreadsheet-cell.cell-selected{background:#e1e7ef!important}.task-spreadsheet-cell.cell-active{outline:2px solid #284674;outline-offset:-2px}.task-cell-menu{position:fixed;z-index:10000;background:white;border:1px solid #c6cdd8;border-radius:8px;padding:5px;box-shadow:0 8px 28px #16253c2a;min-width:170px}.task-cell-menu button{display:block;width:100%;text-align:left;border:0;padding:9px 12px}.task-cell-menu button:hover{background:#e8ecf2}

/* The cell outline supplies focus feedback without a second ring around dropdowns. */
.task-spreadsheet-cell select:focus{outline:none!important;box-shadow:none!important}

.project-inline-name{width:100%;min-width:0;border:1px solid transparent;background:transparent;color:var(--text);font:inherit;font-weight:700;padding:5px;border-radius:4px}.project-inline-name:hover{border-color:var(--line)}.project-inline-name:focus{background:white;border-color:var(--blue);outline:1px solid var(--blue);outline-offset:0}.project-title-block{min-width:0;flex:1}.project-quick-row td{background:var(--blue-soft);padding:10px}.project-quick-row input{width:300px;max-width:55vw;padding:9px;border:1px solid var(--line-strong);border-radius:5px}.project-quick-row button{margin-left:8px}.project-quick-row [role=status]{margin-left:12px;color:#a42929}

.us-sidebar-bottom{margin-top:auto}.us-sidebar-footer{margin-top:16px}.us-settings-link{display:flex;align-items:center;gap:12px;padding:13px 16px;color:#bcc9da;text-decoration:none;border-radius:8px;font-weight:600}.us-settings-link:hover,.us-settings-link.active{background:#2c3f59;color:white}.us-settings-page{max-width:960px}.us-settings-page[hidden],.toolbar[hidden]{display:none!important}.us-settings-card{padding:24px;margin-top:20px;background:white;border:1px solid var(--line);border-radius:12px}.us-settings-card h3{margin:0 0 12px}.us-settings-card p{color:var(--muted);margin:12px 0;line-height:1.5}.us-settings-card label{display:block;margin:20px 0 8px}.us-settings-card select{min-width:220px;padding:9px;margin-bottom:20px}.us-settings-card dt{font-weight:600;margin-top:16px}.us-settings-card dd{margin:8px 0;overflow-wrap:anywhere}.us-settings-card [role=status]{margin-left:12px}.us-compact-tables .data-table td{padding-top:4px;padding-bottom:4px}.us-compact-tables .data-table th{padding-top:6px;padding-bottom:6px}@media(max-width:700px){.us-sidebar-bottom{margin-top:0}.us-settings-link{padding:9px 11px}}

.equipment-tree-cell .equipment-disclosure{padding:0;color:#415168}.equipment-tree-cell .equipment-disclosure:disabled{visibility:hidden}

/* Clear visual separation between column headings and editable rows. */
.data-table thead th{background:#243b5a;color:#fff;border-color:#405572;font-weight:700}
.data-table thead th button,.data-table thead th select{color:inherit}
#projectsTable thead th:nth-child(1){background:#243b5a;color:#fff;border-color:#405572;box-shadow:1px 0 0 #405572}

.task-column-menu{min-width:210px;max-height:70vh;overflow:auto}.task-column-menu-heading{padding:10px 12px 6px;border-top:1px solid var(--line);color:var(--muted);font-size:12px}.task-column-menu button{padding:7px 12px}

#workspaceTasksTable .task-gantt-cell{padding:0;overflow:hidden}.task-gantt-scale{height:56px;position:relative}.task-gantt-month{position:absolute;top:0;height:27px;padding:6px;border-right:1px solid #70839c;overflow:hidden;white-space:nowrap}.task-gantt-day{position:absolute;top:28px;height:28px;font-size:9px;text-align:center;border-right:1px solid #70839c;white-space:normal}.task-gantt-track{height:40px;position:relative;background:repeating-linear-gradient(to right,transparent 0,transparent calc(var(--gantt-day) - 1px),#dce3ec calc(var(--gantt-day) - 1px),#dce3ec var(--gantt-day))}.task-gantt-weekend{position:absolute;top:0;bottom:0;background:#233b5b0c}.task-gantt-bar{position:absolute;top:12px;height:16px;background:#b9cce6;border:1px solid #41658f;border-radius:3px;overflow:hidden}.task-gantt-bar>span{display:block;height:100%;background:#294f80}

/* Give the timeline its own planning area, even for a one-day/empty project. */
#workspaceTasksTable.has-gantt{table-layout:fixed;min-width:100%}
#workspaceTasksTable.has-gantt .task-gantt-cell{background:#fff;color:#26374c;vertical-align:top}
#workspaceTasksTable.has-gantt thead .task-gantt-cell{background:#e7edf6;border-color:#c3cfdf}
.task-gantt-scale{height:76px;text-transform:none;letter-spacing:0}
.task-gantt-day{top:0;height:32px;padding:2px 0;line-height:13px;border-color:#c3cfdf;white-space:normal}
.task-gantt-week{position:absolute;top:32px;height:21px;border-top:1px solid #c3cfdf;border-right:1px solid #c3cfdf;text-align:center;padding-top:3px;font-size:10px;font-weight:400;overflow:hidden;white-space:nowrap}
.task-gantt-month{top:53px;height:23px;padding:4px 8px;border-top:1px solid #c3cfdf;border-color:#c3cfdf;font-size:11px}
.has-gantt .task-gantt-track{height:46px}.has-gantt .task-gantt-bar{top:15px}

/* Match native task, summary and milestone symbols. */
.task-gantt-bar{border:0;border-radius:5px;background:rgba(0,122,255,.24);min-width:10px}
.task-gantt-bar>span{background:#007aff}
.task-gantt-bar.gantt-not-started{background:rgba(0,122,255,.58)}
.task-gantt-bar.gantt-summary{height:12px;min-width:18px;border-radius:0;background:#202020;clip-path:polygon(0 0,100% 0,100% 100%,calc(100% - 6px) 5px,6px 5px,0 100%)}
.task-gantt-bar.gantt-summary-nested{height:9px;clip-path:polygon(0 0,100% 0,100% 100%,calc(100% - 5px) 3px,5px 3px,0 100%)}
.task-gantt-bar.gantt-summary>span,.task-gantt-bar.gantt-milestone>span{display:none}
.task-gantt-bar.gantt-milestone{width:12px!important;min-width:12px;height:12px;background:#007aff;border:1px solid white;border-radius:0;transform:translateX(-50%) rotate(45deg)}

/* Compact Mac-style Gantt timescale, independent of table text formatting. */
#workspaceTasksTable .task-gantt-scale{height:70px;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;letter-spacing:0}
#workspaceTasksTable .task-gantt-day{top:0;height:30px;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:1px 0;font-size:10px;font-weight:500;line-height:12px;white-space:nowrap}
#workspaceTasksTable .task-gantt-day span{display:block;font:inherit;line-height:12px}
#workspaceTasksTable .task-gantt-week{top:30px;height:19px;padding:2px 0;font-size:10px;line-height:14px;font-weight:400;color:#657080}
#workspaceTasksTable .task-gantt-month{top:49px;height:21px;padding:3px 4px;font-size:11px;line-height:14px;font-weight:600;text-align:center}

.full-task-scroll{position:relative}.gantt-dependency-overlay{position:absolute;left:0;top:0;pointer-events:none;z-index:3;overflow:hidden}

/* Keep date-scale overflow inside the timeline, away from Start/Finish labels. */
.task-timeline-strip{grid-template-columns:92px minmax(0,1fr) 92px}
.task-timeline-strip .timeline-grid{min-width:0;overflow-x:auto;overflow-y:hidden}
.task-timeline-strip .timeline-month-row,.task-timeline-strip .timeline-week-row,.task-timeline-strip .timeline-day-row{min-width:calc(var(--timeline-days,30)*28px)}
.task-timeline-strip .timeline-edge-label{position:relative;background:#fff;z-index:1;padding:8px 4px;white-space:nowrap;line-height:1.5}

/* An open serial picker must sit above every neighboring item's summary. */
.pod-serial-menu{z-index:1}
.pod-serial-menu[open]{z-index:100}
.pod-serial-menu[open] .pod-serial-options{background:#fff;min-width:260px;max-width:min(380px,70vw);padding:8px;box-shadow:0 10px 30px rgba(15,23,42,.22)}
.pod-serial-options label{min-height:38px;padding:9px 10px;line-height:1.4}
.pod-serial-options label span{overflow-wrap:anywhere}
.pod-serial-options input[type=checkbox]{flex:0 0 16px;width:16px;height:16px;margin:0}
