:root{color:#263343;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#eef2f6;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;line-height:1.45}*{box-sizing:border-box}body{margin:0;overflow-x:hidden}button,input,select,textarea{font:inherit}button{cursor:pointer}#root{min-height:100svh}.auth-screen,.app-loading{align-items:center;min-height:100svh;padding:24px;display:grid}.auth-screen section{max-width:560px}.app-layout{grid-template-columns:216px minmax(0,1fr);max-width:100vw;min-height:100svh;display:grid}.sidebar{color:#fff;background:#101828;flex-direction:column;gap:28px;min-width:0;padding:20px;display:flex}.brand{align-items:center;gap:12px;display:flex}.brand>span{background:#22a06b;border-radius:8px;justify-content:center;align-items:center;width:42px;height:42px;font-weight:900;display:inline-flex}.brand strong,.brand small{display:block}.brand small{color:#b9c2d0;margin-top:2px;font-size:12px}.sidebar nav{gap:6px;display:grid}.nav-item{color:#d0d5dd;border-radius:7px;flex:none;align-items:center;gap:10px;min-height:42px;padding:0 10px;text-decoration:none;display:flex}.nav-item.active,.nav-item:hover{color:#fff;background:#1d2939}.main-shell{min-width:0;padding:22px}.topbar,.page-heading,.modal-header,.modal-toolbar,.form-actions,.filter-bar{justify-content:space-between;align-items:center;gap:16px;min-width:0;max-width:100%;display:flex}.topbar{margin-bottom:22px}.topbar>div:first-child,.page-heading>div:first-child{min-width:0}.topbar h1,.page-heading h2,.modal-header h2{color:#111827;overflow-wrap:anywhere;margin:0;font-size:28px;line-height:1.1}.page-heading h2{font-size:24px}.eyebrow{color:#0f766e;letter-spacing:0;text-transform:uppercase;margin:0 0 6px;font-size:12px;font-weight:850}.topbar-actions{align-items:center;gap:10px;display:flex}.location-switcher,.user-chip{background:#fff;border:1px solid #d7dde7;border-radius:8px;align-items:center;gap:8px;min-height:42px;padding:6px 10px;display:flex}.location-switcher span{color:#667085;font-size:12px;font-weight:800}.location-switcher select{color:#111827;border:0;outline:0;min-width:0;font-weight:750}.user-chip{color:#344054;font-size:14px;font-weight:750}.page-stack{gap:16px;min-width:0;display:grid}.board-page{gap:10px}.board-filter-label{color:#667085;margin-top:5px;font-size:13px;font-weight:750;display:block}.button{white-space:nowrap;border:0;border-radius:7px;justify-content:center;align-items:center;gap:8px;min-height:40px;padding:0 13px;font-size:14px;font-weight:800;display:inline-flex}.button:disabled{cursor:not-allowed;opacity:.6}.button-primary{color:#fff;background:#111827}.button-secondary{color:#0f766e;background:#e7f6f3}.button-ghost{color:#344054;background:0 0;min-width:40px;padding:0}.button-danger{color:#b42318;background:#fee4e2}.summary-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;display:grid}.summary-grid.compact{grid-template-columns:repeat(4,minmax(95px,1fr))}.metric,.content-panel,.table-card,.detail-card,.empty-state{background:#fff;border:1px solid #d7dde7;border-radius:8px}.metric{cursor:pointer;text-align:left;padding:14px}.metric.active{background:#e7f6f3;border-color:#0f766e;box-shadow:inset 0 0 0 1px #0f766e}.metric span,.detail-card span,.muted{color:#667085;font-size:13px}.metric strong{color:#111827;margin-top:7px;font-size:27px;line-height:1;display:block}.content-panel,.table-card{min-width:0;padding:16px}.content-panel h3,.table-card h3{color:#111827;margin:0 0 14px}.board-viewport{height:clamp(460px,100svh - 236px,900px);min-height:0;padding-bottom:12px;overflow:hidden}.kanban-grid{grid-template-columns:minmax(112px, .78fr) repeat(var(--stage-count), minmax(0, 1fr));grid-template-rows:38px repeat(var(--row-count), minmax(74px, 1fr));gap:5px;width:100%;min-width:0;height:100%;display:grid}.tech-heading,.stage-heading,.tech-cell,.board-cell{border-radius:8px}.tech-heading,.stage-heading{color:#111827;z-index:2;background:#dfe7f0;justify-content:space-between;align-items:center;min-height:0;padding:5px 6px;font-size:11px;font-weight:850;display:flex;position:sticky;top:0}.stage-heading span{-webkit-line-clamp:2;-webkit-box-orient:vertical;line-height:1.05;display:-webkit-box;overflow:hidden}.stage-heading small{background:#fff;border-radius:999px;flex:none;justify-content:center;align-items:center;min-width:20px;height:20px;font-size:11px;display:inline-flex}.tech-cell{z-index:1;background:#fff;border:1px solid #d7dde7;align-items:center;gap:7px;min-height:0;padding:8px;display:flex;position:sticky;left:0;overflow:hidden}.tech-cell strong{color:#111827;font-size:13px;line-height:1.05}.tech-cell span,.settings-list article>span:not(.badge){border-radius:999px;width:10px;height:10px;display:inline-flex}.board-cell{background:#f7f9fc;border:1px dashed #ccd5e1;align-content:start;gap:4px;min-height:0;padding:4px;display:grid;overflow:hidden}.board-cell.is-over{background:#e7f6f3;border-color:#0f766e}.cell-overflow{color:#475467;background:#eef2f6;border:1px solid #cfd8e4;border-radius:999px;justify-content:center;align-items:center;min-height:18px;padding:1px 6px;font-size:10px;font-weight:850;display:inline-flex}.ro-card{background:#fff;border:2px solid #d7dde7;border-left-width:6px;border-radius:8px;grid-template-columns:18px minmax(0,1fr);min-height:64px;display:grid;overflow:hidden;box-shadow:0 6px 12px #1018280f}.ro-card.dragging{opacity:.7}.drag-handle,.ro-card-main{color:inherit;background:0 0;border:0}.drag-handle{color:#98a2b3;border-right:1px solid #edf0f5;justify-content:center;align-items:center;padding:0;display:flex}.drag-handle svg{width:12px}.ro-card-main{text-align:left;min-width:0;padding:6px}.ro-card-top,.card-meta,.indicator-row,.report-list article,.settings-list article,.preview-list article{align-items:center;gap:8px;display:flex}.ro-card-top{justify-content:space-between}.ro-card-top strong{color:#111827;font-size:12px}.ro-card-top span{color:#667085;font-size:10px;font-weight:800}.ro-card h3{color:#111827;-webkit-line-clamp:1;-webkit-box-orient:vertical;margin:4px 0 2px;font-size:11px;line-height:1.05;display:-webkit-box;overflow:hidden}.ro-card p{color:#667085;-webkit-line-clamp:1;-webkit-box-orient:vertical;margin:0 0 4px;font-size:10px;line-height:1.05;display:-webkit-box;overflow:hidden}.card-meta,.indicator-row{flex-wrap:wrap;gap:3px}.indicator-row span{background:#fdb022;border-radius:999px;width:6px;height:6px}.indicator-row small{color:#667085;align-items:center;gap:3px;font-size:10px;display:inline-flex}.badge{background:color-mix(in srgb, var(--badge-color,#475467) 12%, #fff);border:1px solid color-mix(in srgb, var(--badge-color,#475467) 28%, #fff);color:var(--badge-color,#475467);border-radius:999px;align-items:center;gap:4px;min-height:18px;padding:1px 5px;font-size:10px;font-weight:800;display:inline-flex}.modal-backdrop{z-index:20;background:#1018287a;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.modal{background:#fff;border-radius:8px;width:min(100%,760px);max-width:760px;max-height:calc(100svh - 40px);padding:18px;overflow:auto;box-shadow:0 24px 64px #10182838}.modal-wide{width:min(100%,1080px);max-width:1080px}.modal-header{border-bottom:1px solid #edf0f5;margin-bottom:14px;padding-bottom:12px}.modal-header p{color:#667085;margin:4px 0 0}.modal-toolbar{margin-bottom:14px}.tab-list{background:#f2f4f7;border-radius:8px;gap:4px;padding:4px;display:flex}.tab-list button{color:#667085;background:0 0;border:0;border-radius:6px;min-height:34px;padding:0 10px;font-weight:800}.tab-list button.active{color:#111827;background:#fff}.detail-grid,.form-grid,.mapping-grid,.settings-grid,.report-grid,.import-layout{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;min-width:0;display:grid}.settings-grid{grid-template-columns:1fr}.detail-card{padding:13px}.detail-card strong{color:#111827;margin-top:4px;display:block}.wide,.form-actions{grid-column:1/-1}.field{gap:6px;display:grid}.field span{color:#475467;font-size:12px;font-weight:850}.field-compact{min-width:160px}input,select,textarea{color:#111827;background:#fff;border:1px solid #cfd8e4;border-radius:7px;width:100%;min-height:39px;padding:8px 10px}textarea{resize:vertical;min-height:110px}.input-with-icon{align-items:center;display:flex;position:relative}.input-with-icon svg{color:#98a2b3;position:absolute;left:10px}.input-with-icon input{padding-left:34px}.form-actions{justify-content:flex-end}.form-error{color:#b42318;margin:0}.form-message{color:#344054;margin:0;font-size:13px;font-weight:750}.notes-panel{gap:14px;display:grid}.notes-panel form{gap:10px;display:grid}.timeline,.report-list,.settings-list,.preview-list{gap:8px;display:grid}.timeline article,.report-list article,.settings-list article,.preview-list article{background:#f8fafc;border:1px solid #e4eaf2;border-radius:8px;padding:12px}.timeline article strong{color:#111827;align-items:center;gap:6px;display:flex}.timeline article p,.timeline article small{color:#667085;margin:6px 0 0}.table-card{overflow:auto}table{border-collapse:collapse;width:100%;min-width:760px}th,td{text-align:left;border-bottom:1px solid #edf0f5;padding:11px 10px}th{color:#667085;text-transform:uppercase;font-size:12px}tbody tr{cursor:pointer}tbody tr:hover{background:#f8fafc}.file-drop{color:#475467;text-align:center;background:#f8fafc;border:1px dashed #98a2b3;border-radius:8px;place-items:center;gap:8px;min-height:180px;padding:18px;display:grid}.file-drop input{display:none}.file-drop strong{color:#111827}.inline-form{grid-template-columns:repeat(3,minmax(0,1fr)) auto;gap:10px;margin-bottom:14px;display:grid}.settings-grid .inline-form{grid-template-columns:repeat(2,minmax(160px,1fr));align-items:end}.settings-grid .inline-form .button{min-height:41px}.settings-grid .settings-list article{grid-template-columns:12px minmax(0,1fr) minmax(86px,max-content) minmax(40px,max-content);justify-content:normal;min-height:49px;display:grid}.settings-row-actions{justify-self:end;gap:6px;display:flex}.settings-list article,.preview-list article,.report-list article{justify-content:space-between}.settings-list article strong{color:#263343;overflow-wrap:anywhere;text-align:center;min-width:0}.stage-settings article>strong{overflow-wrap:normal;text-align:left;white-space:nowrap}.settings-list .badge{overflow-wrap:anywhere;text-align:center;white-space:normal;justify-self:end;min-width:0;max-width:128px;line-height:1.05}.settings-grid .stage-settings article{grid-template-columns:64px minmax(0,1fr) minmax(0,auto)}.settings-grid .stage-settings article .badge{max-width:82px}.settings-grid .mapping-settings article{grid-template-columns:minmax(0,1fr) minmax(160px,max-content)}.settings-grid .mapping-settings article strong{text-align:left}.empty-state{color:#667085;text-align:center;padding:24px}.empty-state strong{color:#111827;margin-bottom:4px;display:block}@media (width<=900px){.app-layout{grid-template-columns:1fr}.sidebar{border-bottom:1px solid #1d2939;padding:12px}.sidebar nav{display:flex;overflow-x:auto}.brand small{display:none}.main-shell{padding:14px}.board-viewport{height:auto;min-height:520px;overflow:auto}.topbar,.page-heading,.modal-toolbar,.filter-bar{flex-direction:column;align-items:stretch;width:100%}.topbar-actions,.modal-actions{align-items:stretch;gap:8px;width:100%;display:grid}.summary-grid,.detail-grid,.form-grid,.mapping-grid,.settings-grid,.report-grid,.import-layout,.inline-form{grid-template-columns:1fr}.kanban-grid{grid-template-columns:132px repeat(var(--stage-count), minmax(190px, 1fr));grid-template-rows:40px repeat(var(--row-count), minmax(116px, auto))}.topbar h1{font-size:24px}.summary-grid.compact{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width>=901px) and (width<=1599px){.board-viewport{overflow:auto}.kanban-grid{grid-template-columns:132px repeat(var(--stage-count), minmax(190px, 1fr));min-width:calc(132px + (var(--stage-count) * 190px) + (var(--stage-count) * 5px))}}@media (width>=1200px){.main-shell{padding:14px}.topbar{margin-bottom:12px}.topbar h1{font-size:24px}.page-heading h2{font-size:20px}.summary-grid{gap:8px}.metric{min-height:68px;padding:10px 12px}.metric strong{font-size:24px}.board-viewport{height:clamp(500px,100svh - 260px,870px);min-height:0;padding-bottom:0}}@media (width>=1400px){.settings-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width>=1600px){.settings-grid .inline-form{grid-template-columns:repeat(3,minmax(130px,1fr)) auto}}@media (width<=430px){.modal-backdrop{padding:8px}.modal{max-height:calc(100svh - 16px);padding:14px}.button{width:100%}}
