:root{--blue: #1D3557;--teal: #2EC4B6;--light: #A9DEF9;--white: #FFFFFF;--dark: #2E2E2E;--line: #E6EAF0;--muted: #667085;color:var(--dark);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}body{margin:0;background:#f6f8fb}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.58}.splash{min-height:100vh;display:grid;place-items:center;color:var(--blue);font-weight:800;font-size:32px}.shell{min-height:100vh;display:grid;grid-template-columns:284px 1fr;transition:grid-template-columns .18s ease}.shell.sidebar-collapsed{grid-template-columns:78px 1fr}.sidebar{background:var(--blue);color:var(--white);padding:20px 16px;display:flex;flex-direction:column;gap:22px;overflow:hidden}.brand{border:0;background:transparent;color:inherit;display:flex;align-items:center;gap:12px;font-weight:800;font-size:20px;padding:4px}.brand.large{color:var(--blue);justify-content:center;font-size:24px}.brand-mark{width:36px;height:36px;border-radius:8px;display:grid;place-items:center;background:var(--teal);color:var(--white);font-weight:900}.brand-text{white-space:nowrap}.nav-item{width:100%;border:0;border-radius:8px;color:#eaf2f7;background:transparent;display:flex;align-items:center;gap:10px;padding:10px 12px;text-align:left}.nav-item.active,.nav-item:hover{background:#ffffff1f;color:var(--white)}.sidebar-collapsed .sidebar{padding-inline:12px;align-items:center}.sidebar-collapsed .brand{justify-content:center;width:100%;padding:4px 0}.sidebar-collapsed .brand-text,.sidebar-collapsed .nav-item span{display:none}.sidebar-collapsed nav{width:100%;display:grid;gap:4px}.sidebar-collapsed .nav-item{justify-content:center;padding:11px 0}.main{min-width:0;display:flex;flex-direction:column}.topbar{height:68px;display:flex;align-items:center;gap:14px;padding:0 28px;background:var(--white);border-bottom:1px solid var(--line)}.icon-button,.toolbar button,.action-row button,td button{border:1px solid var(--line);background:var(--white);border-radius:8px;padding:8px 10px;display:inline-flex;align-items:center;gap:8px}.search-button{flex:1;max-width:520px;border:1px solid var(--line);background:#f9fafb;border-radius:8px;padding:11px 14px;display:flex;align-items:center;gap:10px;color:var(--muted)}.workspace{padding:28px;display:flex;flex-direction:column;gap:22px}.page-heading{display:flex;align-items:center;justify-content:space-between;gap:18px}h1,h2,p{margin:0}h1{font-size:30px;color:var(--blue)}h2{font-size:18px;color:var(--blue);margin-bottom:14px}p{color:var(--muted);margin-top:6px}.primary,.sso-button,.upload-button{border:0;background:var(--blue);color:var(--white);border-radius:8px;padding:11px 14px;display:inline-flex;align-items:center;gap:8px;text-decoration:none;font-weight:700}.toolbar button.primary{border-color:var(--blue);background:var(--blue);color:var(--white)}.sso-button,.upload-button{justify-content:center}.upload-button input{display:none}.metric-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.metric,.panel,.table-panel,.gantt-panel,.login-panel,.settings-grid{background:var(--white);border:1px solid var(--line);border-radius:8px;padding:18px;box-shadow:0 1px 2px #1018280a}.metric{min-height:116px;display:flex;flex-direction:column;justify-content:space-between}.metric span{color:var(--muted)}.metric strong{font-size:34px;color:var(--blue)}.metric.teal strong{color:var(--teal)}.metric.light strong{color:#4a90b8}.metric.dark strong{color:var(--dark)}.dashboard-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:16px}.table-panel{overflow:auto}.table-panel.compact{max-height:480px}table{width:100%;border-collapse:collapse;min-width:760px}th,td{border-bottom:1px solid var(--line);padding:12px;text-align:left;vertical-align:middle}th{color:var(--blue);font-size:13px;text-transform:uppercase;background:#f9fafb}td input,td select,label input,label select,label textarea,.toolbar select,.command input{width:100%;border:1px solid var(--line);border-radius:8px;padding:10px;background:var(--white)}.badge{display:inline-flex;align-items:center;border-radius:999px;background:#edf7f6;color:#0d6b63;padding:4px 9px;font-size:12px;font-weight:700}.workflow-concept{background:#eef4ff;color:#1d3557}.workflow-ready{background:#fff4e5;color:#8a4b08}.workflow-approved{background:#ecfdf3;color:#067647}.workflow-rejected{background:#fef3f2;color:#b42318}.rejection-reason{display:block;max-width:220px;margin-top:6px;color:#b42318;line-height:1.35}.row-actions{display:flex;align-items:center;gap:6px;min-width:172px}.row-actions button{width:36px;height:36px;padding:0;justify-content:center}.row-actions .danger-icon{color:#b42318}.users-table strong{color:var(--blue)}.user-email{display:block;margin-top:4px;color:var(--muted)}.user-role-list{display:flex;flex-wrap:wrap;gap:6px;min-width:190px}.user-status-active{background:#ecfdf3;color:#067647}.user-status-blocked{background:#fef3f2;color:#b42318}.user-status-invited{background:#fff4e5;color:#8a4b08}.role-fieldset{margin:0;border:1px solid var(--line);border-radius:8px;padding:14px}.role-fieldset legend{padding:0 6px;color:var(--blue);font-weight:700}.role-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.field-error{display:block;margin-top:10px;color:#b42318}.action-row{display:flex;gap:8px;flex-wrap:wrap;min-width:520px}.compact-actions{min-width:180px}.toolbar{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.toolbar select{min-width:260px;width:auto}.gantt-panel{overflow:auto}.gantt-scale,.gantt-row{display:grid;align-items:center;gap:6px;min-height:44px}.gantt-scale{color:var(--muted);font-size:13px;border-bottom:1px solid var(--line);padding-bottom:8px}.gantt-row{border-bottom:1px solid var(--line)}.gantt-bar{height:30px;border:0;border-radius:8px;color:var(--white);padding:0 10px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.profile{margin-left:auto;position:relative}.profile-button{border:1px solid var(--line);background:var(--white);border-radius:999px;padding:4px 8px 4px 4px;display:flex;align-items:center;gap:6px}.profile-button span,.profile-button img{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:var(--light);color:var(--blue);font-weight:800}.menu{position:absolute;right:0;top:48px;background:var(--white);border:1px solid var(--line);border-radius:8px;box-shadow:0 16px 40px #1d355729;width:260px;padding:8px;z-index:20}.menu button{width:100%;border:0;background:transparent;text-align:left;padding:10px;border-radius:8px;display:flex;gap:8px;align-items:center}.menu button:hover{background:#f6f8fb}.login-page{min-height:100vh;display:grid;place-items:center;background:linear-gradient(135deg,#f6f8fb,#eaf8f7);padding:20px}.login-panel{width:min(440px,100%);display:flex;flex-direction:column;gap:16px}.login-panel h1{text-align:center}.login-panel label,.settings-grid label{display:flex;flex-direction:column;gap:8px;color:var(--blue);font-weight:700}.error{color:#b42318;background:#fef3f2;padding:10px;border-radius:8px}.settings-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.notice{background:#ecfdf3;color:#067647;border:1px solid #ABEFC6;border-radius:8px;padding:12px}.warning-notice{background:#fffaeb;color:#93370d;border-color:#fedf89}.toast{position:fixed;right:24px;bottom:24px;background:var(--blue);color:var(--white);border-radius:8px;padding:12px 14px;display:flex;gap:12px;align-items:center;box-shadow:0 16px 40px #1d355733;z-index:30}.toast button{border:0;background:transparent;color:var(--white);font-size:18px}.modal-backdrop{position:fixed;inset:0;background:#1d355761;display:grid;place-items:start center;padding:7vh 18px 24px;z-index:40;overflow:auto}.command{width:min(680px,calc(100vw - 32px));background:var(--white);border-radius:8px;padding:14px;display:grid;grid-template-columns:auto 1fr;gap:10px;box-shadow:0 22px 70px #1d355740}.command div{grid-column:1 / -1;display:grid;gap:6px}.command button{border:0;background:transparent;border-radius:8px;display:flex;gap:8px;align-items:center;padding:10px;text-align:left}.command button:hover{background:#f6f8fb}.mini-list,.timeline{display:grid;gap:10px}.mini-list span,.timeline span{padding:12px;background:#f6f8fb;border-radius:8px;color:var(--blue)}.modal-panel{width:min(720px,calc(100vw - 36px));max-height:86vh;overflow:hidden;background:var(--white);border:1px solid var(--line);border-radius:8px;box-shadow:0 22px 70px #1d355740;display:flex;flex-direction:column}.modal-panel.wide{width:min(1180px,calc(100vw - 36px))}.modal-header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 18px;border-bottom:1px solid var(--line)}.modal-header h2{margin:0}.modal-body{padding:18px;overflow:auto;display:grid;gap:16px}.tabbar{display:flex;gap:8px;flex-wrap:wrap;border-bottom:1px solid var(--line);padding-bottom:10px}.tabbar button{border:1px solid var(--line);background:var(--white);border-radius:8px;padding:9px 11px}.tabbar button.active{background:var(--blue);border-color:var(--blue);color:var(--white)}.detail-grid,.summary-strip{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.summary-strip{background:#f9fafb;border:1px solid var(--line);border-radius:8px;padding:12px}.field-view{display:grid;gap:4px;min-width:0}.field-view span{color:var(--muted);font-size:12px;text-transform:uppercase}.field-view strong{color:var(--blue);word-break:break-word}.stack{display:grid;gap:12px}.section-toolbar{display:flex;justify-content:space-between;align-items:center;gap:12px}.inline-panel{box-shadow:none;padding:0;border-radius:8px}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.form-grid label{display:flex;flex-direction:column;gap:7px;color:var(--blue);font-weight:700}.form-field{display:grid;align-content:start;gap:6px;min-width:0}.field-help{color:var(--muted);font-size:13px;font-weight:400}.form-grid .full{grid-column:1 / -1}.check-row{flex-direction:row!important;align-items:center}.check-row input{width:auto}.modal-actions{display:flex;justify-content:flex-end;gap:10px;flex-wrap:wrap}.modal-actions button{border:1px solid var(--line);background:var(--white);border-radius:8px;padding:10px 12px;display:inline-flex;align-items:center;gap:8px}.modal-actions .primary{border:0;background:var(--blue);color:var(--white)}.modal-actions .danger-button{border-color:#b42318;background:#b42318;color:var(--white)}.danger-notice{background:#fef3f2;border-color:#fda29b;color:#b42318}.workflow-comment{display:grid;gap:7px;color:var(--blue);font-weight:700}.workflow-comment textarea{width:100%;border:1px solid var(--line);border-radius:8px;padding:10px;resize:vertical}.workflow-comment small{color:var(--muted);font-weight:400;text-align:right}.workflow-summary{grid-template-columns:repeat(4,minmax(0,1fr))}.warning-list{display:grid;gap:8px}.warning-list div{border:1px solid #FEDF89;background:#fffaeb;color:#93370d;border-radius:8px;padding:10px;display:grid;gap:3px}.planning-workbench{display:grid;gap:16px}.planning-hero{display:flex;justify-content:space-between;align-items:center;gap:16px;border:1px solid var(--line);border-radius:8px;padding:18px;background:linear-gradient(135deg,#fff,#f1fbfa)}.planning-hero h2{font-size:24px;margin-bottom:4px}.planning-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.planning-metrics .metric{min-height:96px}.planning-metrics .metric strong{font-size:26px}.planning-board,.planning-source,.diagram-surface{border:1px solid var(--line);border-radius:8px;background:var(--white);padding:16px;display:grid;gap:12px;overflow:hidden}.template-picker{display:grid;grid-template-columns:repeat(auto-fit,minmax(174px,1fr));gap:10px}.template-picker button{min-height:96px;border:1px solid var(--line);background:var(--white);border-radius:8px;padding:13px;text-align:left;display:grid;align-content:start;gap:6px;color:var(--blue);box-shadow:0 1px 2px #1018280a}.template-picker button span{color:var(--muted);font-size:13px;line-height:1.35}.template-picker button.active{border-color:var(--teal);box-shadow:0 0 0 3px #2ec4b629;background:#f2fcfb}.diagram-gantt{display:grid;overflow:auto;border:1px solid var(--line);border-radius:8px;background:#f9fafb}.diagram-head{position:sticky;top:0;z-index:1;background:#16304f;color:var(--white);font-size:12px;font-weight:800;text-transform:uppercase;padding:12px;border-right:1px solid rgba(255,255,255,.14)}.diagram-label{min-height:58px;padding:11px 12px;background:var(--white);border-top:1px solid var(--line);border-right:1px solid var(--line);display:grid;align-content:center;gap:4px;color:var(--blue)}.diagram-label span,.diagram-label.muted{color:var(--muted);font-size:13px}.diagram-cell{min-height:58px;border-top:1px solid var(--line);border-right:1px solid var(--line);background:var(--white);display:grid;place-items:center;padding:8px}.diagram-cell.active span{width:100%;min-height:28px;border-radius:8px;color:var(--white);display:grid;place-items:center;font-size:12px;font-weight:800;box-shadow:inset 0 -1px #00000024}.roadmap{display:grid;gap:12px}.roadmap-step{display:grid;grid-template-columns:44px 1fr;gap:14px;align-items:start;border:1px solid var(--line);border-radius:8px;padding:14px;background:#fff}.roadmap-index{width:36px;height:36px;border-radius:8px;display:grid;place-items:center;background:var(--teal);color:var(--white);font-weight:900}.roadmap-step h3,.kanban-card strong,.raci-grid h3{margin:0;color:var(--blue);font-size:15px}.progress-track{height:9px;background:#e6eaf0;border-radius:999px;overflow:hidden;margin-top:10px}.progress-track span{display:block;height:100%;background:linear-gradient(90deg,var(--teal),#4A90B8);border-radius:inherit}.kanban-board{display:grid;grid-template-columns:repeat(5,minmax(180px,1fr));gap:12px;overflow:auto}.kanban-column{min-height:220px;border:1px solid var(--line);border-radius:8px;background:#f9fafb;padding:10px;display:grid;align-content:start;gap:10px}.kanban-column header{display:flex;justify-content:space-between;align-items:center;color:var(--blue)}.kanban-column header span{min-width:28px;height:24px;border-radius:999px;background:var(--white);border:1px solid var(--line);display:grid;place-items:center;font-weight:800;font-size:12px}.kanban-card{border:1px solid var(--line);border-radius:8px;background:var(--white);padding:12px;display:grid;gap:5px;box-shadow:0 1px 2px #1018280a}.kanban-card span,.kanban-card small{color:var(--muted)}.raci-grid{display:grid;grid-template-columns:repeat(2,minmax(240px,1fr));gap:12px}.raci-grid article{border:1px solid var(--line);border-radius:8px;background:#fff;padding:14px;display:grid;gap:12px}.raci-grid dl{margin:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.raci-grid dl div{border:1px solid var(--line);border-radius:8px;padding:10px;background:#f9fafb;min-width:0}.raci-grid dt{color:var(--teal);font-weight:900}.raci-grid dd{margin:4px 0 0;color:var(--blue);font-size:13px;overflow-wrap:anywhere}.wbs-tree{display:grid;gap:14px}.wbs-phase{border:1px solid var(--line);border-radius:8px;background:#fff;overflow:hidden}.wbs-phase header{display:grid;grid-template-columns:44px 1fr;gap:12px;align-items:center;padding:14px;background:#f2fcfb;border-bottom:1px solid var(--line)}.wbs-phase header span,.critical-index{width:34px;height:34px;border-radius:8px;display:grid;place-items:center;background:var(--blue);color:var(--white);font-weight:900}.wbs-phase h3,.critical-card h3{margin:0;color:var(--blue);font-size:16px}.wbs-items{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:12px;padding:14px}.wbs-item{border:1px solid var(--line);border-radius:8px;background:#f9fafb;padding:12px;display:grid;gap:10px;align-content:start}.wbs-item h4{margin:0;color:var(--blue);font-size:14px}.wbs-task{display:grid;grid-template-columns:42px 1fr;gap:4px 10px;padding:10px;background:#fff;border:1px solid var(--line);border-radius:8px}.wbs-task span{grid-row:span 2;color:var(--teal);font-weight:900}.wbs-task strong{color:var(--blue)}.wbs-task small{color:var(--muted)}.critical-path{display:grid;gap:10px}.critical-card{display:grid;grid-template-columns:46px 1fr;gap:12px;align-items:start;border:1px solid var(--line);border-radius:8px;padding:14px;background:#fff}.critical-card.active{border-color:#d645455c;background:#fff7f7}.critical-card.active .critical-index{background:#d64545}.critical-meta{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}.critical-meta span{border:1px solid var(--line);background:#f9fafb;border-radius:999px;padding:5px 9px;color:var(--blue);font-size:12px;font-weight:800}.calendar-diagram{display:grid;overflow:auto;border:1px solid var(--line);border-radius:8px;background:#f9fafb}.calendar-head{position:sticky;top:0;z-index:1;background:#16304f;color:var(--white);font-size:12px;font-weight:800;text-transform:uppercase;padding:12px;border-right:1px solid rgba(255,255,255,.14)}.calendar-person{min-height:82px;padding:12px;background:#fff;border-top:1px solid var(--line);border-right:1px solid var(--line);color:var(--blue);font-weight:800;display:grid;align-content:center}.calendar-cell{min-height:82px;padding:10px;background:#fff;border-top:1px solid var(--line);border-right:1px solid var(--line);display:grid;align-content:start;gap:6px}.calendar-cell strong{color:var(--blue)}.calendar-cell span{border-left:3px solid var(--teal);padding-left:7px;color:var(--muted);font-size:12px;line-height:1.3}.sync-post{background:#edf7f6;color:#0d6b63}.sync-put{background:#eef4ff;color:#1d3557}.sync-blocked{background:#fef3f2;color:#b42318}.empty-planning{border:1px dashed #B7C4D4;border-radius:8px;padding:28px;background:#f9fafb;text-align:center}.mini-gantt{display:grid;overflow:auto;border:1px solid var(--line);border-radius:8px;background:#f9fafb}.mini-gantt-head{position:sticky;top:0;z-index:1;background:var(--blue);color:var(--white);font-size:12px;font-weight:800;text-transform:uppercase;padding:11px 12px;border-right:1px solid rgba(255,255,255,.16)}.mini-gantt-label{min-height:54px;padding:10px 12px;background:var(--white);border-top:1px solid var(--line);border-right:1px solid var(--line);display:grid;align-content:center;gap:3px;color:var(--blue)}.mini-gantt-label span{color:var(--muted);font-size:12px}.mini-gantt-cell{min-height:54px;border-top:1px solid var(--line);border-right:1px solid var(--line);background:var(--white);display:grid;place-items:center;padding:8px}.mini-gantt-cell.active span{width:100%;min-height:26px;border-radius:8px;color:var(--white);display:grid;place-items:center;font-size:12px;font-weight:800;box-shadow:inset 0 -1px #0000001f}.pivot-bar{width:92px;height:8px;background:#e6eaf0;border-radius:999px;overflow:hidden;margin-bottom:4px}.pivot-bar span{display:block;height:100%;background:var(--teal);border-radius:inherit}@media(max-width:1100px){.shell{grid-template-columns:1fr}.shell.sidebar-collapsed{grid-template-columns:78px minmax(0,1fr)}.sidebar{position:static}.sidebar-collapsed .sidebar{position:sticky;top:0;height:100vh;padding-inline:12px;align-items:center}.sidebar-collapsed .brand{justify-content:center;width:100%;padding:4px 0}.sidebar-collapsed .brand-text,.sidebar-collapsed .nav-item span{display:none}.sidebar-collapsed nav{width:100%;display:grid;gap:4px}.sidebar-collapsed .nav-item{justify-content:center;padding:11px 0}.metric-grid,.dashboard-grid,.settings-grid,.detail-grid,.summary-strip,.form-grid,.planning-metrics,.template-picker,.kanban-board,.raci-grid,.role-grid{grid-template-columns:1fr}.planning-hero{align-items:stretch;flex-direction:column}}
