:root{--bg:#f5f7fb;--card:#fff;--border:#e6eaf2;--line:#eef1f6;--text:#0f172a;--text-2:#334155;--muted:#64748b;--primary:#2563eb;--primary-soft:#eaf1ff;--green:#16a34a;--green-soft:#e3f6e9;--orange:#f97316;--orange-soft:#fff0e3;--red:#e11d48;--red-soft:#ffe8ec;--blue-soft:#e5efff;--gray-soft:#eef0f3;--track:#e5e7eb;--sidebar-w:200px;--header-h:64px;--shadow:0 1px 2px #0f172a0a, 0 2px 8px #0f172a0a}html[data-density=compact] .table-wrap tbody td{height:auto!important;padding-top:5px!important;padding-bottom:5px!important}.organization-logo{object-fit:contain;object-position:left center;width:100%;max-width:100%;max-height:64px;margin-right:0;display:block}.logo:has(.organization-logo){height:auto;min-height:46px;padding:6px 12px}.logo:has(.organization-logo) .logo-text{width:100%}*{box-sizing:border-box}html{scroll-behavior:smooth}body{color:var(--text);background:var(--bg);-webkit-font-smoothing:antialiased;margin:0;font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;font-size:13px}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;cursor:pointer;background:0 0;border:0}.ico{fill:none;stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;flex:none;width:22px;height:22px}.ico.sm{stroke-width:2.2px;width:16px;height:16px}.ico.filled{fill:currentColor;stroke-width:2.2px}.sidebar{width:var(--sidebar-w);border-right:1px solid var(--border);z-index:40;background:#fff;padding:12px 0;transition:transform .25s;position:fixed;inset:0 auto 0 0}.logo{align-items:center;gap:6px;height:46px;padding:0 12px;display:flex}.logo-mark{flex:none;width:30px;height:30px}.logo-text{letter-spacing:-.6px;color:#111827;white-space:nowrap;font-size:17px;font-weight:800;line-height:1}.logo-text span{font-weight:600}.logo-text .logo-wmc,.logo-text .logo-wmc span{font-weight:800}.logo-w{color:#f97316}.logo-mc{color:#2563eb}.logo-sub{letter-spacing:1.2px;color:#111827;white-space:nowrap;margin-top:6px;margin-left:-48px;font-size:8px;font-weight:600}.nav{flex-direction:column;gap:2px;margin-top:12px;padding:0 10px 0 0;display:flex}.nav a{color:#1f2937;border-radius:0 10px 10px 0;align-items:center;gap:12px;height:38px;padding:0 0 0 22px;font-size:13px;display:flex;position:relative}.nav a:hover{background:#f4f7fd}.nav a.active{background:var(--primary-soft);color:var(--primary);font-weight:500}.nav a.active:before{content:"";background:var(--primary);border-radius:0 3px 3px 0;width:4px;position:absolute;top:0;bottom:0;left:0}.nav-roomy a{height:40px}.scrim{display:none}.main{margin-left:var(--sidebar-w);min-width:0}.topbar{height:var(--header-h);border-bottom:1px solid var(--border);z-index:30;background:#fff;align-items:center;gap:16px;padding:0 22px;display:flex;position:sticky;top:0}.topbar .menu-btn{display:none}.search{border:1px solid var(--border);width:440px;max-width:100%;height:40px;color:var(--muted);background:#f3f5f9;border-radius:8px;align-items:center;gap:12px;padding:0 14px;display:flex}.search:focus-within{background:#fff;border-color:#93b4f6;box-shadow:0 0 0 3px #2563eb1a}.search .ico{width:20px;height:20px}.search input{min-width:0;font:inherit;color:var(--text);background:0 0;border:0;outline:0;flex:1;font-size:13px}.top-right{align-items:center;gap:16px;margin-left:auto;display:flex}.icon-btn{color:#1f2937;border-radius:10px;place-items:center;width:40px;height:40px;display:grid;position:relative}.icon-btn:hover{background:#f3f5f9}.badge{color:#fff;background:#ef4444;border:2px solid #fff;border-radius:9px;place-items:center;min-width:17px;height:17px;padding:0 4px;font-size:10.5px;font-weight:700;display:grid;position:absolute;top:2px;right:3px}.badge[hidden]{display:none}.user{align-items:center;gap:8px;font-size:13px;font-weight:500;display:flex}.pop-wrap{position:relative}.popover{border:1px solid var(--border);z-index:50;background:#fff;border-radius:12px;width:320px;padding:8px;position:absolute;top:48px;right:0;box-shadow:0 12px 32px #0f172a1f}.popover h4{color:var(--muted);text-transform:uppercase;letter-spacing:.5px;margin:6px 8px 8px;font-size:13px;font-weight:600}.notif{border-radius:8px;gap:10px;padding:10px 8px;font-size:13px;line-height:1.4;display:flex}.notif:hover{background:#f6f8fb}.notif b{font-weight:600}.notif .dot{background:var(--orange);border-radius:50%;flex:none;width:8px;height:8px;margin-top:6px}.notif small{color:var(--muted);display:block}.avatar{color:#fff;border-radius:50%;flex:none;place-items:center;width:24px;height:24px;font-size:10px;font-weight:600;display:inline-grid}.avatar.lg{width:32px;height:32px;font-size:13px}.content{padding:8px 18px 24px 14px}.page-head{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:10px;padding:0 2px;display:flex}h1{letter-spacing:-.5px;margin:6px 0 2px;font-size:24px;font-weight:700}.subtitle{color:#475569;margin:0;font-size:13px}.head-right{align-items:center;gap:14px;padding-top:8px;display:flex}.today{color:#374151;white-space:nowrap;font-size:13px}.month-picker{border:1px solid var(--border);width:166px;height:34px;box-shadow:var(--shadow);background:#fff;border-radius:8px;align-items:center;gap:10px;padding:0 14px;display:flex;position:relative}.month-picker .ico{width:19px;height:19px}.month-picker select{appearance:none;font:inherit;cursor:pointer;color:var(--text);background:0 0;border:0;outline:0;flex:1;font-size:13px}.month-picker .chev{pointer-events:none;position:absolute;right:14px}.kpis{grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:12px;display:grid}.kpi{background:var(--card);border:1px solid var(--border);box-shadow:var(--shadow);border-radius:10px;align-items:center;gap:12px;min-height:100px;padding:18px 16px;display:flex;position:relative;overflow:hidden}.kpi-icon{border-radius:50%;flex:none;place-items:center;width:44px;height:44px;display:grid}.kpi-icon span{border-radius:50%;place-items:center;width:34px;height:34px;display:grid}.kpi-icon .ico{width:20px;height:20px}.kpi-value{font-size:22px;font-weight:700;line-height:1.1}.kpi-label{color:#475569;margin-top:2px;font-size:13px}.kpi-trend{align-items:center;gap:4px;margin-top:4px;font-size:12px;font-weight:600;display:flex}.kpi-trend .ico{stroke-width:2.6px;width:14px;height:14px}.spark{width:84px;height:28px;position:absolute;bottom:10px;right:14px}.card{background:var(--card);border:1px solid var(--border);box-shadow:var(--shadow);border-radius:10px;scroll-margin-top:80px}.card-head{justify-content:space-between;align-items:center;padding:10px 12px 6px;display:flex}h2{margin:0;font-size:16px;font-weight:700}h2.lg{font-size:16px}.view-all{color:var(--primary);align-items:center;gap:6px;font-size:13.5px;font-weight:500;display:inline-flex}.view-all:hover{text-decoration:underline}.table-wrap{overflow-x:auto}.tbl{border-collapse:collapse;width:100%;font-size:12.5px}.tbl th{text-align:left;color:#1f2937;white-space:nowrap;border-bottom:1px solid var(--line);padding:8px 10px;font-weight:600}.tbl td{white-space:nowrap;height:29.5px;color:var(--text-2);padding:0 10px}.tbl tbody tr{transition:background .12s}.tbl tbody tr:hover{background:#f8faff}.tbl tbody tr+tr td{border-top:1px solid #f3f5f8}.tbl .num{text-align:center;width:28px}.tbl .muted{color:var(--muted)}.projects-tbl th:first-child,.projects-tbl td:first-child{padding-left:14px}.projects-tbl th:last-child,.projects-tbl td:last-child{white-space:normal;overflow-wrap:anywhere;min-width:110px}.projects-tbl .milestone-cell{white-space:nowrap;text-overflow:ellipsis;max-width:170px;display:block;overflow:hidden}.projects-tbl td:nth-child(3){white-space:normal;min-width:150px}.projects-tbl td:nth-child(3) .proj-ico{flex-shrink:0}.eng{color:#1f2937;align-items:center;gap:10px;display:flex}.proj{color:#111827;align-items:center;gap:12px;font-weight:500;display:flex}a.proj:hover{color:var(--primary);text-decoration:underline}.proj-ico{color:#fff;border-radius:6px;flex:none;place-items:center;width:24px;height:24px;display:grid}.proj-ico .ico{stroke-width:2px;width:15px;height:15px}.progress{align-items:center;gap:12px;display:flex}.bar{background:var(--track);border-radius:3px;width:96px;height:11px;overflow:hidden}.bar>i{background:var(--primary);border-radius:3px;height:100%;transition:width .4s;display:block}.pct{text-align:right;color:#1f2937;width:32px}.pill{text-align:center;border-radius:6px;min-width:84px;padding:3px 10px;font-size:12px;font-weight:500;display:inline-block}.pill.on-track,.pill.completed{background:var(--green-soft);color:#15803d}.pill.at-risk{background:var(--orange-soft);color:#ea580c}.pill.in-progress{background:var(--blue-soft);color:var(--primary)}.pill.not-started{background:var(--gray-soft);color:#475569}.kebab{color:#475569;border-radius:6px;place-items:center;width:26px;height:26px;display:grid}.kebab:hover{background:#eef1f6}.kebab .ico{fill:currentColor;stroke-width:2px;width:18px;height:18px}.empty td{text-align:center;color:var(--muted);height:60px}.bottom{grid-template-columns:1fr;gap:10px;margin-top:12px;display:grid}.bottom>*,.kpis>*{min-width:0}.tasks-tbl th,.tasks-tbl td{padding-left:8px;padding-right:8px}.tasks-tbl td{height:33px}.tasks-tbl th:first-child,.tasks-tbl td:first-child{padding-left:14px}.chk-col{width:34px}.dot-head{background:#cbd5e1;border:2px solid #e2e8f0;border-radius:50%;width:11px;height:11px;display:inline-block}.check{color:#fff;border:2px solid #94a3b8;border-radius:50%;place-items:center;width:22px;height:22px;transition:all .15s;display:grid}.check:hover{border-color:var(--green)}.check.done{background:#22c55e;border-color:#22c55e}.check .ico{stroke-width:3.2px;opacity:0;width:13px;height:13px}.check.done .ico{opacity:1}.task-name{color:#111827}tr.is-done .task-name{color:var(--muted);text-decoration:line-through}.btn{height:34px;color:var(--text);white-space:nowrap;background:#fff;border:1px solid #d5dbe5;border-radius:6px;justify-content:center;align-items:center;gap:10px;padding:0 14px;font-size:13px;font-weight:500;transition:background .12s,border-color .12s;display:inline-flex}.btn:hover{background:#f6f8fb}.btn .ico{width:18px;height:18px}.btn.primary{background:var(--primary);border-color:var(--primary);color:#fff}.btn.primary:hover{background:#1d4fd8}.btn.sm{gap:8px;height:32px;padding:0 12px;font-size:12.5px}.select{align-items:center;display:inline-flex;position:relative}.select select{appearance:none;min-width:126px;height:36px;font:inherit;color:var(--text);cursor:pointer;background:#fff;border:1px solid #d5dbe5;border-radius:6px;padding:0 36px 0 12px;font-size:13px}.select select:focus{border-color:#93b4f6;outline:0;box-shadow:0 0 0 3px #2563eb1a}.select .ico{pointer-events:none;color:#374151;position:absolute;right:11px}.select.lg{display:flex}.select.lg select{width:100%;height:34px;font-size:13px}.menu{z-index:60;border:1px solid var(--border);background:#fff;border-radius:10px;min-width:180px;padding:6px;font-size:13px;position:fixed;box-shadow:0 12px 32px #0f172a24}.menu .menu-title{color:var(--muted);text-transform:uppercase;letter-spacing:.4px;padding:6px 10px 4px;font-size:11.5px;font-weight:600}.menu button{text-align:left;border-radius:6px;align-items:center;gap:8px;width:100%;padding:7px 10px;display:flex}.menu button:hover{background:#f3f6fb}.menu button .sw{border-radius:50%;width:9px;height:9px}.menu hr{border:0;border-top:1px solid var(--line);margin:4px 0}.toast{color:#fff;z-index:70;background:#0f172a;border-radius:8px;padding:10px 16px;font-size:13.5px;position:fixed;bottom:24px;left:50%;transform:translate(-50%);box-shadow:0 8px 24px #0003}@media (max-width:1100px){.kpis{grid-template-columns:repeat(2,1fr)}.bottom{grid-template-columns:1fr}}@media (max-width:900px){.sidebar{box-shadow:none;transform:translate(-100%)}body.nav-open .sidebar{transform:none;box-shadow:0 0 40px #00000026}body.nav-open .scrim{z-index:35;background:#0f172a4d;display:block;position:fixed;inset:0}.main{margin-left:0}.topbar .menu-btn{display:grid}.topbar{gap:10px;padding:0 16px}.search{flex:1;width:auto}.user .avatar.lg{width:34px;height:34px;font-size:13px}.user-name,.user .ico{display:none}.top-right{gap:8px}.page-head{flex-direction:column;padding:0 2px}.head-right{flex-wrap:wrap;gap:16px;padding-top:0}.content{padding:8px 16px 24px}h1{font-size:22px}}@media (max-width:560px){.kpis{grid-template-columns:1fr}.spark{width:100px}.popover{width:min(320px,100vw - 32px);right:-60px}}.crumbs{align-items:center;gap:8px;margin:4px 2px 8px;font-size:13px;font-weight:500;display:flex}.crumbs a{color:var(--primary)}.crumbs a:hover{text-decoration:underline}.crumbs .ico{color:#1f2937}.pd-head{align-items:flex-start;gap:14px;padding:12px 14px;display:flex;position:relative}.pd-info h1,.pd-info .subtitle{padding-right:250px}.pd-icon{color:#fff;border-radius:12px;flex:none;place-items:center;width:48px;height:48px;margin-top:2px;display:grid}.pd-icon .ico{stroke-width:1.8px;width:28px;height:28px}.pd-info{flex:1;min-width:0}.pd-info h1{letter-spacing:-.3px;margin:4px 0;font-size:20px}.pd-info .subtitle{font-size:13px}.pd-meta{color:#374151;flex-wrap:wrap;align-items:center;gap:10px 20px;margin-top:10px;font-size:13px;display:flex}.pd-meta>span{align-items:center;gap:12px;display:inline-flex}.pd-meta .ico{width:20px;height:20px}.pill.with-ico{border-radius:999px;align-items:center;gap:7px;min-width:0;padding:4px 18px 4px 12px;font-size:13px;display:inline-flex}.pill.with-ico i{background:currentColor;border-radius:50%;place-items:center;width:15px;height:15px;display:grid}.pill.with-ico i .ico{color:#fff;stroke-width:3.4px;width:10px;height:10px}.pd-progress{margin-left:0;gap:12px!important}.pd-progress b{color:var(--text);font-size:17px}.bar.lg{border-radius:6px;width:192px;height:12px}.bar.lg>i,.bar.wide>i{border-radius:6px}.pd-actions{align-items:center;gap:8px;display:flex;position:absolute;top:12px;right:14px}.tabs{gap:8px;margin:8px 2px 10px;display:flex;overflow-x:auto}.tabs button{color:#374151;white-space:nowrap;border-bottom:3px solid #0000;padding:8px 12px;font-size:13px}.tabs button:hover{color:var(--primary)}.tabs button.active{color:var(--primary);border-bottom-color:var(--primary);font-weight:500}.pd-grid{grid-template-columns:minmax(0,1fr) 340px;align-items:start;gap:12px;display:grid}.pd-left{flex-direction:column;gap:12px;min-width:0;display:flex}.pd-pair{grid-template-columns:1.55fr 1fr;gap:12px;display:grid}.pd-pair>*{min-width:0}.pd .card-head{padding:12px 12px 8px}.pt-head{flex-wrap:wrap;gap:12px}.pt-tools{flex-wrap:wrap;gap:10px;display:flex}.pt-tbl{font-size:12.5px}.pt-tbl th{padding-top:10px}.pt-tbl td{color:#1f2937;height:36px}.pt-tbl th:first-child,.pt-tbl td:first-child{padding-left:16px}.pt-tbl .num{text-align:left;width:40px}.pt-tbl .act{text-align:right;padding-right:16px}.pt-tbl tbody tr[data-row]{cursor:pointer}.pt-tbl tbody tr.selected{background:#edf3ff}.pt-tbl tbody tr.selected .t-name{color:var(--primary)}.t-name{color:#111827;font-size:13px;font-weight:500}.t-sub{color:var(--muted);margin-top:1px;font-size:13px}.pct.l{text-align:left;width:40px;font-weight:500}.bar.wide{border-radius:6px;width:126px;height:11px}.feed{margin:0;padding:4px 16px 14px;list-style:none}.feed li{grid-template-columns:14px 36px 130px 1fr;align-items:start;gap:0 10px;padding:8px 0;display:grid;position:relative}.feed li:not(:last-child):before{content:"";background:#e5e7eb;width:2px;position:absolute;top:30px;bottom:-10px;left:6px}.feed li.fresh:has(+li.fresh):before{background:#22c55e}.feed-dot{z-index:1;background:#fff;border:2px solid #94a3b8;border-radius:50%;width:14px;height:14px;margin-top:10px;position:relative}.feed li.fresh .feed-dot{border-color:#22c55e}.avatar.md{width:34px;height:34px;font-size:12.5px}.feed-who b{font-size:12.5px;font-weight:500;display:block}.feed-who small,.feed-text small{color:var(--muted);margin-top:2px;font-size:11.5px;display:block}.feed-text{color:#111827;font-size:12px;line-height:1.45}.feed-text small{font-size:12px}.feed-files{align-items:center;gap:4px;color:var(--primary)!important;display:flex!important}.feed-files .ico{width:13px;height:13px}.ms{margin:0;padding:2px 16px 14px;list-style:none}.ms li{color:#111827;align-items:center;gap:12px;min-height:27px;padding:3px 0;font-size:12.5px;line-height:1.35;display:flex}.ms-name{flex:1}.ms-date{color:#374151}.ms-dot{color:#fff;border:2px solid #94a3b8;border-radius:50%;flex:none;place-items:center;width:17px;height:17px;display:grid}.ms li.done .ms-dot{background:#22c55e;border-color:#22c55e}.ms li.current .ms-dot{background:var(--primary);border-color:var(--primary)}.ms-dot .ico{stroke-width:3.6px;width:10px;height:10px}.ov{color:#374151;padding:0 16px 16px;font-size:14px}.ov p{margin:0 0 14px}.ov-stats{grid-template-columns:repeat(4,1fr);gap:12px;margin:0 0 14px;display:grid}.ov-stats div{background:#f6f8fb;border-radius:8px;padding:12px}.ov-stats dt{color:var(--muted);font-size:12px}.ov-stats dd{color:var(--text);margin:4px 0 0;font-size:14px;font-weight:600}.empty-note{color:var(--muted);margin:0;padding:4px 16px 20px}.team{margin:0;padding:0 16px 10px;list-style:none}.team li{align-items:center;gap:12px;padding:10px 0;display:flex}.team li+li{border-top:1px solid var(--line)}.team b{font-weight:500;display:block}.team small{color:var(--muted);font-size:12.5px}.panel{top:calc(var(--header-h) + 12px);padding:14px;position:sticky}.panel h2{margin-bottom:10px}.field-label{color:#1f2937;margin-bottom:6px;font-size:13px;display:block}.field-label.sm{color:var(--muted);margin-bottom:2px;font-size:12px}.field-label.big{margin-bottom:0;font-size:16px}.panel-task{color:#111827;font-size:15px;font-weight:500}.panel .t-sub{font-size:12px}.panel-row{grid-template-columns:1fr 1fr;gap:12px;margin-top:12px;display:grid}.panel-row .fld{margin-top:0}.fld{margin-top:12px;display:block}.fld textarea{resize:vertical;width:100%;font:inherit;color:var(--text);background:#fff;border:1px solid #d5dbe5;border-radius:6px;padding:8px;font-size:13px;line-height:1.6;display:block}.fld textarea:focus{border-color:#93b4f6;outline:0;box-shadow:0 0 0 3px #2563eb1a}.fld textarea.invalid{border-color:var(--red);box-shadow:0 0 0 3px #e11d481a}.req{color:var(--red);font-style:normal}.count{text-align:right;color:var(--muted);margin-top:6px;font-size:11.5px;display:block}.range-wrap{padding-top:22px;position:relative}.range-wrap output{font-size:13px;position:absolute;top:0;right:0}input[type=range]{--val:0%;appearance:none;cursor:pointer;background:linear-gradient(var(--primary), var(--primary)) 0 / var(--val) 100% no-repeat, var(--track);border-radius:5px;width:100%;height:9px;margin:0}input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;border:4px solid var(--primary);background:#fff;border-radius:50%;width:18px;height:18px;box-shadow:0 1px 3px #0003}input[type=range]::-moz-range-thumb{border:4px solid var(--primary);background:#fff;border-radius:50%;width:12px;height:12px}input[type=range]:focus-visible{outline-offset:4px;outline:2px solid #93b4f6}.drop{color:#111827;cursor:pointer;border:1.5px dashed #cbd5e1;border-radius:8px;justify-content:center;align-items:center;gap:16px;padding:14px 10px;font-size:13px;transition:background .12s,border-color .12s;display:flex}.drop:hover,.drop:focus-visible,.drop.over{border-color:var(--primary);background:#f3f7ff;outline:0}.drop>.ico{color:#374151;width:20px;height:20px}.drop .link{color:var(--primary)}.drop small{color:var(--muted);margin-top:4px;font-size:12px;display:block}.file-list{margin:8px 0 0;padding:0;list-style:none}.file-list.padded{margin:0;padding:0 16px 16px}.file{background:#f4f6fa;border-radius:8px;align-items:center;gap:12px;padding:10px 12px;display:flex}.file+.file{margin-top:8px}.file-ico{background:var(--primary);color:#fff;border-radius:5px;flex:none;place-items:center;width:28px;height:30px;display:grid}.file-ico .ico{width:16px;height:16px}.file-meta{flex:1;min-width:0}.file-name{text-overflow:ellipsis;white-space:nowrap;font-size:12.5px;overflow:hidden}.file small{color:var(--muted);font-size:12px}.icon-btn.sm{width:30px;height:30px}.icon-btn.sm .ico{width:16px;height:16px}.panel-actions{grid-template-columns:1fr 1fr;gap:10px;margin-top:16px;display:grid}.panel-actions .btn{height:34px;font-size:13px}@media (max-width:1450px){.pd-progress{margin-left:0}}@media (max-width:1100px){.pd-grid{grid-template-columns:1fr}.panel{scroll-margin-top:80px;position:static}}@media (max-width:900px){.pd-head{flex-wrap:wrap}.pd-actions{width:100%;position:static}.pd-info h1,.pd-info .subtitle{padding-right:0}.pd-pair{grid-template-columns:1fr}.ov-stats{grid-template-columns:1fr 1fr}}@media (max-width:560px){.pd-icon{width:48px;height:48px}.pd-icon .ico{width:28px;height:28px}.pd-meta{gap:10px 20px}.bar.lg{width:140px}.panel-row{grid-template-columns:1fr}.feed li{grid-template-columns:14px 36px 1fr}.feed-text{grid-column:3;margin-top:4px}}.create-content{max-width:1600px;margin:auto;padding:20px 24px 28px}.create-content h1{margin:4px 0 6px;font-size:28px}.create-content .subtitle{line-height:1.5}.steps{max-width:820px;margin:22px auto;display:flex}.step{text-align:center;color:#475569;flex:1;font-size:12px;position:relative}.step:before{content:"";background:#dbe3ef;height:2px;position:absolute;top:16px;left:-50%;right:50%}.step:first-child:before{display:none}.step span{z-index:1;background:#fff;border:1px solid #d5dfef;border-radius:50%;place-items:center;width:34px;height:34px;margin:0 auto 7px;font-size:14px;display:grid;position:relative}.step.active{color:var(--text);font-weight:600}.step.active span,.step.complete span{color:#fff;background:#087bff;border-color:#087bff}.create-grid{grid-template-columns:minmax(0,1.9fr) minmax(260px,1fr);align-items:start;gap:16px;display:grid}.create-form,.create-help{box-shadow:none;padding:18px}.create-form h2{margin-bottom:6px;font-size:19px}.step-description{color:var(--muted);margin:0 0 18px;line-height:1.5}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 22px;display:grid}.form-field{flex-direction:column;gap:5px;min-width:0;font-weight:500;display:flex}.form-field.full{grid-column:1/-1}.form-field em{color:var(--red);font-style:normal}.form-field input,.form-field select,.form-field textarea{width:100%;min-width:0;color:var(--text);font:inherit;background:#fff;border:1px solid #d9e2ef;border-radius:6px;padding:9px 10px;font-weight:400}.form-field textarea{resize:vertical;min-height:74px;line-height:1.5}.form-field :is(input,select,textarea):focus{outline-offset:1px;outline:2px solid #a4caff}.form-field input::placeholder,.form-field textarea::placeholder{color:#8290ab}.form-field small{color:var(--muted);align-self:flex-end;font-size:11px;font-weight:400}.create-actions{justify-content:flex-end;gap:10px;margin-top:20px;display:flex}.create-actions .primary{background:#087bff;min-width:160px;height:38px}.help-box{color:#526185;background:#f2f7fd;border-radius:7px;gap:12px;padding:16px;line-height:1.6;display:flex}.help-box h2{color:var(--text);margin:0 0 4px;font-size:15px}.help-box p{margin:0}.help-icon{color:#fff;text-align:center;background:#087bff;border-radius:50%;flex:none;width:20px;height:20px}.tips{background:#eef8ff;margin-top:16px}.tips ul{margin:8px 0 0;padding-left:17px}.tips li{margin:3px 0}.categories{border-top:1px solid var(--border);margin-top:18px;padding:12px 5px 14px}.categories h3{font-size:13px}.categories ul{margin:0;padding:0;list-style:none}.categories li{color:#526185;align-items:center;gap:12px;margin-top:12px;display:flex}.category-dot{border-radius:50%;flex:none;width:14px;height:14px}.team-options{grid-template-columns:1fr 1fr;gap:10px;display:grid}.team-option{border:1px solid var(--border);border-radius:7px;align-items:center;gap:10px;padding:12px;display:flex}.task-entry{grid-template-columns:1fr 140px 30px;align-items:end;gap:8px;margin-bottom:10px;display:grid}.task-entry .icon-btn{width:30px;height:36px}.review-list{grid-template-columns:110px 1fr;gap:12px;margin:20px 0;display:grid}.review-list dt{color:var(--muted)}.review-list dd{overflow-wrap:anywhere;white-space:pre-wrap;margin:0}.form-error{color:var(--red)}[hidden]{display:none!important}@media (max-width:1100px){.create-grid{grid-template-columns:1fr}.create-help{grid-template-columns:1fr 1fr;gap:14px;display:grid}.tips{margin:0}.categories{grid-column:1/-1}.categories ul{flex-wrap:wrap;gap:16px;display:flex}}@media (max-width:560px){.create-content{padding:16px}.create-content h1{font-size:24px}.form-grid,.team-options,.create-help{grid-template-columns:1fr}.create-form,.create-help{padding:14px}.task-entry{grid-template-columns:1fr 30px}.task-entry .form-field:first-child{grid-column:1/-1}.step{font-size:10px}}.tl-new{height:44px;padding:0 20px;font-size:15px;box-shadow:0 2px 6px #2563eb40}.tl-new .ico{width:20px;height:20px}.tl-kpis{grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:16px;display:grid}.tl-kpi{text-align:left;background:var(--card);border:1px solid var(--border);min-height:96px;box-shadow:var(--shadow);border-radius:10px;align-items:center;gap:24px;padding:14px 20px;transition:border-color .12s,box-shadow .12s;display:flex}.tl-kpi:hover{border-color:#c9d6ee}.tl-kpi.active[data-health]:not([data-health=""]){border-color:var(--primary);box-shadow:0 0 0 3px #2563eb1f}.tl-kpi-icon{border-radius:50%;flex:none;place-items:center;width:64px;height:64px;display:grid}.tl-kpi-icon>span{border-radius:50%;place-items:center;width:38px;height:38px;display:grid}.tl-kpi-icon .ico{stroke-width:2.4px;width:22px;height:22px}.tl-kpi-icon .ico.big{stroke-width:2px;width:34px;height:34px}.tl-kpi-label{color:#374151;font-size:14.5px;display:block}.tl-kpi-value{color:var(--text);margin-top:4px;font-size:28px;font-weight:700;line-height:1.2;display:block}.tl-card{overflow:hidden}.tl-toolbar{flex-wrap:wrap;align-items:center;gap:12px;padding:14px;display:flex}.tl-toolbar .select select{min-width:176px;height:40px;font-size:14px}.tl-range{border:1px solid #d5dbe5;border-radius:6px;height:40px;margin-left:52px;display:inline-flex;overflow:hidden}.tl-range-label{align-items:center;gap:12px;padding:0 18px;font-size:14.5px;display:inline-flex}.tl-range-label .ico{width:19px;height:19px}.tl-step{border-left:1px solid #d5dbe5;place-items:center;width:42px;display:grid}.tl-range-label:hover,.tl-step:hover{background:#f6f8fb}.tl-views{border:1px solid #d5dbe5;border-radius:6px;height:40px;margin-left:auto;display:inline-flex;overflow:hidden}.tl-views button{color:#374151;padding:0 22px;font-size:14.5px}.tl-views button+button{border-left:1px solid #d5dbe5}.tl-views button:hover{background:#f6f8fb}.tl-views button.active{color:var(--primary);box-shadow:inset 0 0 0 1px var(--primary);background:#e3edff;font-weight:500}.tl-filter{height:40px;padding:0 16px;font-size:14.5px}.tl-count[hidden]{display:none}.tl-count{background:var(--primary);color:#fff;border-radius:9px;place-items:center;min-width:18px;height:18px;padding:0 5px;font-size:11px;display:inline-grid}.tl-filter-pop{width:270px;top:46px}.tl-checks{flex-direction:column;padding:0 4px 6px;display:flex}.tl-checks label{cursor:pointer;border-radius:6px;align-items:center;gap:8px;padding:5px 4px;font-size:13px;display:flex}.tl-checks label:hover{background:#f6f8fb}.tl-pop-actions{border-top:1px solid var(--line);flex-wrap:wrap;align-items:center;gap:8px;padding:8px 8px 4px;display:flex}.link-btn{color:var(--primary);font-size:13px}.link-btn:hover{text-decoration:underline}.tl-scroll{border-top:1px solid var(--border);overflow-x:auto}.tl{--left:660px;min-width:1160px;font-size:13px}.tl-row{z-index:1;display:flex;position:relative}.tl-left{width:var(--left);z-index:4;border-right:1px solid var(--border);background:#fff;flex:none;grid-template-columns:minmax(0,1fr) 96px 96px 122px;align-items:center;gap:8px;padding:0 16px 0 20px;display:grid;position:sticky;left:0}.tl-track{flex:1;min-width:0;position:relative}.tl-head{color:#111827;height:58px;font-weight:600}.tl-head .tl-left,.tl-head .tl-track{border-bottom:1px solid var(--border)}.tl-col-label{place-items:center;font-size:14px;display:grid;position:absolute;top:0;bottom:0}.tl-lines{pointer-events:none;position:absolute;inset:0}.tl-line{background:var(--border);width:1px;position:absolute;top:0;bottom:0}.tl-body{padding-bottom:60px;position:relative}.tl-overlay{top:0;bottom:0;left:var(--left);pointer-events:none;z-index:0;position:absolute;right:0}.tl-overlay-top{z-index:3}.tl-today{border-left:1.5px dashed var(--primary);position:absolute;top:0;bottom:42px}.tl-today span{background:var(--primary);color:#fff;border-radius:4px;padding:5px 10px;font-size:13px;font-weight:500;position:absolute;bottom:-36px;left:0;transform:translate(-50%);box-shadow:0 2px 6px #2563eb4d}.tl-project{height:35px}.tl-project.alt .tl-track{background:#0f172a07}.tl-project.alt .tl-left{background:#f8f9fb}.tl-sub{height:26px}.tl-task{align-items:center;gap:10px;min-width:0;display:flex}.tl-toggle{color:#111827;border-radius:5px;flex:none;place-items:center;width:22px;height:22px;display:grid}.tl-toggle:hover{background:#eef1f6}.tl-toggle .ico{transition:transform .15s}.tl-toggle.open .ico{transform:rotate(90deg)}.tl-dot{border-radius:50%;flex:none;width:13px;height:13px}.tl-name{color:#111827;text-overflow:ellipsis;white-space:nowrap;font-size:14px;font-weight:500;overflow:hidden}.tl-name:hover{color:var(--primary);text-decoration:underline}.tl-flag{border-radius:4px;flex:none;padding:1px 6px;font-size:10.5px;font-weight:600}.tl-flag.at-risk{background:var(--orange-soft);color:#c2410c}.tl-flag.delayed{background:var(--red-soft);color:#be123c}.tl-subname{color:#374151;text-overflow:ellipsis;white-space:nowrap;padding-left:55px;overflow:hidden}.tl-date{color:#374151;white-space:nowrap}.tl-date.muted{color:var(--muted);font-size:12px}.tl-prog{align-items:center;gap:10px;display:flex}.tl-prog b{color:#111827;width:40px;font-weight:600}.tl-sub .tl-prog b{font-weight:500}.tl-prog .bar{border-radius:4px;width:66px;height:8px}.tl-prog .bar>i{border-radius:4px}.tl-bar-link{display:contents}.tl-bar{cursor:pointer;background:color-mix(in srgb, var(--c) 28%, #fff);border-radius:4px;height:18px;transition:filter .12s;position:absolute;top:50%;overflow:hidden;transform:translateY(-50%)}.tl-bar>i{background:var(--c);position:absolute;inset:0 auto 0 0}.tl-bar:hover{filter:brightness(.95);box-shadow:0 0 0 2px color-mix(in srgb, var(--c) 35%, transparent)}.tl-bar.sub{cursor:default;height:15px}.tl-bar.clip-l{border-top-left-radius:0;border-bottom-left-radius:0}.tl-bar.clip-r{border-top-right-radius:0;border-bottom-right-radius:0}.tl-empty{z-index:5;text-align:center;color:var(--muted);background:#fff;padding:48px 16px;position:relative}@media (max-width:1320px){.tl-kpis{grid-template-columns:repeat(2,1fr)}.tl-range{margin-left:0}}@media (max-width:900px){.tl-views{margin-left:0}.tl{--left:360px;min-width:860px}.tl-left{grid-template-columns:minmax(0,1fr) 110px;padding-left:12px}.tl-left>:nth-child(2),.tl-left>:nth-child(3){display:none}.tl-subname{padding-left:36px}}@media (max-width:560px){.tl-kpis{grid-template-columns:1fr 1fr;gap:10px}.tl-kpi{gap:12px;min-height:0;padding:12px}.tl-kpi-icon{width:46px;height:46px}.tl-toolbar .select,.tl-toolbar .select select{width:100%}.tl{--left:250px;min-width:700px}.tl-left{grid-template-columns:minmax(0,1fr) 46px}.tl-prog .bar{display:none}}.api-connection-banner{color:#375f98;background:#eff6ff;border-color:#d7e7ff;align-items:center;gap:16px;font-size:12px}.api-connection-banner button{color:#1460ff;white-space:nowrap;font-size:12px}.api-save-indicator{z-index:100;color:#3265b3;background:#fff;border:1px solid #d8e6fa;border-radius:8px;padding:8px 13px;font-size:12px;position:fixed;bottom:18px;right:20px;box-shadow:0 3px 12px #24467515}.table-pagination{border-top:1px solid var(--border);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:14px 16px;display:flex}.pagination-summary{color:var(--muted);font-size:12px}.pagination-buttons{flex-wrap:wrap;gap:5px;display:flex}.pagination-buttons button{border:1px solid var(--border);background:#fff;border-radius:6px;min-width:32px;height:32px;padding:0 10px;font-size:12px}.pagination-buttons button:hover:not(:disabled){background:var(--primary-soft);color:var(--primary)}.pagination-buttons button.active{background:var(--primary);border-color:var(--primary);color:#fff}.pagination-buttons button:disabled{opacity:.4;cursor:default}.page-transition-content{min-height:calc(100dvh - var(--header-h));position:relative}.page-loader{min-height:calc(100dvh - var(--header-h));background:var(--bg);position:relative;overflow:hidden}.page-loader-overlay{top:var(--header-h);bottom:0;right:0;left:var(--sidebar-w);z-index:25;min-height:0;animation:.15s ease-out page-loader-fade;position:fixed}.page-loader-spinner{pointer-events:none;place-items:center;display:grid;position:absolute;inset:0}.page-loader-ring{width:72px;height:72px;box-shadow:var(--shadow);background:#ffffffd9;border-radius:50%;padding:10px;animation:1s linear infinite page-loader-spin}@keyframes page-loader-spin{to{transform:rotate(360deg)}}@keyframes page-loader-fade{0%{opacity:0}}.skeleton-page{gap:16px;padding:8px 18px 24px 14px;display:grid}.skeleton-head{gap:10px;padding:14px 0 4px;display:grid}.skeleton-kpis{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;display:grid}.skeleton-card{background:var(--card);border:1px solid var(--border);box-shadow:var(--shadow);border-radius:12px;align-items:center;gap:14px;padding:18px;display:flex}.skeleton-card>div{flex:1;gap:8px;display:grid}.skeleton-panel{align-items:stretch;gap:0;display:grid}.skeleton-row{border-top:1px solid var(--line);grid-template-columns:32px 2fr 1fr .6fr;align-items:center;gap:16px;padding:14px 0;display:grid}.skeleton{background:linear-gradient(90deg, var(--gray-soft) 25%, #f8fafc 50%, var(--gray-soft) 75%);background-size:200% 100%;border-radius:6px;animation:1.2s ease-in-out infinite skeleton-shimmer;display:block}.sk-title{width:260px;max-width:70%;height:26px}.sk-subtitle{width:420px;max-width:90%;height:14px}.sk-icon{border-radius:10px;flex:none;width:44px;height:44px}.sk-value{width:48px;height:22px}.sk-label{width:70%;height:12px}.sk-panel-title{width:180px;height:18px;margin-bottom:14px}.sk-avatar{border-radius:50%;width:32px;height:32px}.sk-cell{width:80%;height:12px}.sk-cell.wide{width:90%}.sk-cell.short{width:60%}@keyframes skeleton-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}@media (max-width:900px){.page-loader-overlay{left:0}.skeleton-page{padding:8px 16px 24px}.skeleton-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (prefers-reduced-motion:reduce){.page-loader-ring,.skeleton,.page-loader-overlay{animation:none}}.app-frame.nav-open .sidebar{transform:none;box-shadow:0 0 40px #0f172a26}.app-frame.nav-open .scrim{z-index:35;background:#0f172a4d;border-radius:0;width:100%;height:100%;display:block;position:fixed;inset:0}.sr-only{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}a:focus-visible,button:focus-visible,select:focus-visible,input:focus-visible{outline-offset:3px;outline:2px solid #60a5fa}button:disabled{opacity:.6;cursor:wait}.storage-error{z-index:100;color:#9f1239;background:#fff1f2;border-bottom:1px solid #fecdd3;justify-content:space-between;padding:10px 24px;display:flex;position:sticky;top:0}.review-item{display:contents}.pill.delayed{color:#be123c;background:#ffe8ec}.schedule-wrap{padding:4px 12px 16px}.schedule{grid-template-columns:240px minmax(480px,1fr);min-width:740px;font-size:12px;display:grid}.schedule.compact{grid-template-columns:165px minmax(300px,1fr);min-width:480px}.schedule-group{display:contents}.schedule-name{border-bottom:1px solid var(--line);text-overflow:ellipsis;white-space:nowrap;min-width:0;padding:10px 8px;overflow:hidden}.schedule-name a:hover{color:var(--primary)}.schedule-name small{color:var(--muted);margin-top:4px;font-size:13px;display:block}.schedule-heading{font-weight:600}.schedule-months{border-bottom:1px solid var(--line);text-align:center;align-items:center;display:grid}.schedule-months span{border-left:1px solid var(--line);padding:9px 0}.schedule-track{border-bottom:1px solid var(--line);background-image:linear-gradient(to right, var(--line) 1px, transparent 1px);background-size:calc(100% / var(--columns)) 100%;min-height:42px;position:relative}.schedule.compact .schedule-track{min-height:32px}.schedule.compact .schedule-name{padding:8px 4px}.schedule-bar{color:#fff;border-radius:4px;align-items:center;height:20px;font-size:10px;display:flex;position:absolute;top:10px;overflow:hidden}.schedule-bar i{background:#0000002e;position:absolute;inset:0 auto 0 0}.schedule-bar span{padding-left:6px;position:relative}.schedule.compact .schedule-bar{height:14px;top:9px}.schedule-milestone{background:#2563eb;width:10px;height:10px;position:absolute;top:15px;transform:rotate(45deg)}.schedule-task{color:var(--muted);padding-left:20px}.schedule-today{pointer-events:none;border-left:1px dashed #2563eb;position:absolute;inset:0 auto 0 0}.timeline-controls{border-bottom:1px solid var(--line);flex-wrap:wrap;align-items:center;gap:10px;padding:14px;display:flex}.timeline-controls select,.project-status select{font:inherit;color:inherit;background:#fff;border:1px solid #d5dbe5;border-radius:6px;padding:8px 10px}.period-controls{gap:4px;margin-left:auto;display:flex}.timeline-legend{color:var(--muted);flex-wrap:wrap;align-items:center;gap:14px;padding:16px 0;font-size:12px;display:flex}.task-filters{gap:10px;padding:4px 12px 12px;display:flex}.task-select{text-align:left;flex-direction:column;padding:5px 0;display:flex}.add-task-form{grid-template-columns:minmax(0,1fr) 150px auto;align-items:end;gap:10px;padding:0 12px 16px;display:grid}.updates-list{margin:0;padding:0 14px 14px;list-style:none}.updates-list li{border-bottom:1px solid var(--line);align-items:flex-start;gap:12px;padding:12px 0;display:flex}.updates-list p{white-space:pre-wrap;margin:6px 0}.updates-list small{color:var(--muted)}.milestone-list{padding:0 14px 14px;list-style:none}.milestone-list li{border-bottom:1px solid var(--line);flex-wrap:wrap;align-items:center;gap:12px;padding:12px 0;display:flex}.milestone-list b{flex:1}.team-grid{grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:14px;display:grid}.team-summary{color:var(--muted);align-items:center;gap:12px;padding:10px 14px;display:flex}.assignment-list{padding:0 14px 12px 30px;line-height:1.8}.report-table td{height:40px}.calendar-agenda{padding:0 16px 16px;list-style:none}.calendar-agenda li{border-bottom:1px solid var(--line);gap:24px;padding:12px 0;display:flex}.calendar-agenda time{width:110px;color:var(--muted);flex:none}.settings-section{gap:14px;padding:16px;display:flex}.settings-section p{color:var(--muted);margin:4px 0 12px}.settings-data{display:block}.settings-actions{flex-wrap:wrap;gap:10px;margin:12px 0;display:flex}.settings-actions label{cursor:pointer}.content>.card+.card{margin-top:14px}@media (max-width:560px){.add-task-form{grid-template-columns:1fr}.calendar-agenda li{flex-direction:column;gap:4px}.period-controls{margin-left:0}.pd-head{gap:10px}}.user-menu-wrap{position:relative}button.user{cursor:pointer;font:inherit;color:var(--text);background:0 0;border:0;border-radius:10px;padding:4px 6px;font-size:13px;font-weight:500}button.user:hover,button.user[aria-expanded=true]{background:#f1f5fb}.user-chevron{transition:transform .15s}.user-chevron.open{transform:rotate(180deg)}.user-menu{z-index:80;border:1px solid var(--border);background:#fff;border-radius:12px;flex-direction:column;width:270px;padding:6px;display:flex;position:absolute;top:calc(100% + 8px);right:0;box-shadow:0 14px 36px #0f172a24}.user-menu-head{border-bottom:1px solid var(--line);align-items:center;gap:10px;min-width:0;margin-bottom:4px;padding:10px 10px 12px;display:flex}.user-menu-head>div{flex-direction:column;min-width:0;display:flex}.user-menu-head b{color:var(--text);font-size:14px}.user-menu-head small{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.user-menu-item{width:100%;font:inherit;color:var(--text);text-align:left;cursor:pointer;background:0 0;border:0;border-radius:8px;align-items:center;gap:10px;padding:9px 10px;font-size:13.5px;text-decoration:none;display:flex}.user-menu-item svg,.user-menu-theme svg{flex-shrink:0;width:17px;height:17px}.user-menu-item:hover,.user-menu-item:focus-visible{background:#f3f6fb;outline:none}.user-menu-item.danger{color:var(--red);border-top:1px solid var(--line);border-radius:0 0 8px 8px;margin-top:4px;padding-top:11px}.user-menu-item.danger:hover{background:var(--red-soft)}.user-menu-theme{padding:8px 10px 10px}.user-menu-theme>span{color:var(--muted);margin-bottom:7px;font-size:11.5px;font-weight:600;display:block}.user-menu-theme>div{background:#f1f4f9;border-radius:9px;grid-template-columns:repeat(3,1fr);gap:4px;padding:3px;display:grid}.user-menu-theme button{font:inherit;color:var(--text-2);cursor:pointer;background:0 0;border:0;border-radius:7px;justify-content:center;align-items:center;gap:5px;padding:7px 4px;font-size:12px;display:flex}.user-menu-theme button.active{color:var(--primary);background:#fff;font-weight:600;box-shadow:0 1px 3px #0f172a1f}@media (max-width:600px){.user-menu{width:min(270px,100vw - 24px)}}html[data-theme=dark]{filter:invert(.92)hue-rotate(180deg)}html[data-theme=dark] :is(img,video,canvas,picture,.avatar,.proj-ico,.logo-wmc,.diagrams-head-icon,.badge){filter:invert()hue-rotate(180deg)}html[data-theme=dark] :is(.avatar,.proj-ico) img{filter:none}.topbar .search input,.topbar .search input:focus,.topbar .search input:focus-visible{box-shadow:none;background:0 0;border:0;outline:none}.search-wrap{width:440px;min-width:0;max-width:100%;position:relative}.search-wrap .search{width:100%}@media (max-width:900px){.search-wrap{flex:1;width:auto}}.search-results{z-index:60;border:1px solid var(--border);background:#fff;border-radius:12px;min-width:min(420px,100vw - 24px);max-height:min(70vh,520px);padding:6px;position:absolute;top:calc(100% + 6px);left:0;right:0;overflow-y:auto;box-shadow:0 16px 40px #0f172a29}.search-group+.search-group{border-top:1px solid var(--line);margin-top:4px;padding-top:4px}.search-group-title{letter-spacing:.5px;text-transform:uppercase;color:var(--muted);padding:8px 10px 4px;font-size:11px;font-weight:700}.search-results button{width:100%;font:inherit;text-align:left;cursor:pointer;color:var(--text);background:0 0;border:0;border-radius:8px;align-items:center;gap:11px;padding:8px 10px;display:flex}.search-results button.active{background:var(--primary-soft)}.search-result-icon{color:#fff;border-radius:8px;flex-shrink:0;place-items:center;width:30px;height:30px;display:grid}.search-result-icon.task{color:var(--primary);background:#eef3fb}.search-result-icon .ico{width:16px;height:16px}.search-results .avatar{flex-shrink:0;width:30px;height:30px}.search-result-text{flex-direction:column;min-width:0;display:flex}.search-result-text b{text-overflow:ellipsis;white-space:nowrap;font-size:13.5px;font-weight:600;overflow:hidden}.search-result-text small{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.search-empty{color:var(--muted);margin:0;padding:14px 12px;font-size:13px}.search-hint{color:var(--muted);border-top:1px solid var(--line);margin-top:4px;padding:8px 10px 4px;font-size:11px}.notif-group-title{letter-spacing:.4px;text-transform:uppercase;color:var(--muted);padding:8px 12px 2px;font-size:11px;font-weight:700}.dot.reminder-targetMissed,.dot.reminder-taskOverdue{background:var(--red)}.dot.reminder-taskDue{background:var(--orange)}.dot.reminder-targetSoon{background:var(--primary)}.dot.reminder-stale{background:#94a3b8}
.mobile-drawer-heading{align-items:center;min-width:0;display:flex}.mobile-drawer-heading>.logo{flex:1;min-width:0}.mobile-drawer-close,.mobile-drawer-footer{display:none}@media (max-width:900px){.app-frame{width:100%;min-width:0}.app-frame>.main{min-width:0;max-width:100%;padding-left:env(safe-area-inset-left);padding-right:env(safe-area-inset-right);margin-left:0}.page-transition-content{min-width:0;max-width:100%;padding-bottom:env(safe-area-inset-bottom)}.app-frame .sidebar{overscroll-behavior:contain;z-index:50;width:min(290px,100vw - 48px);height:100dvh;padding-top:max(12px,env(safe-area-inset-top));flex-direction:column;padding-bottom:0;display:flex;overflow-y:auto}.mobile-drawer-heading{flex-shrink:0;padding-right:10px}.mobile-drawer-close{flex-shrink:0;width:44px;height:44px;display:grid}.app-frame .sidebar .nav{flex:1;padding-bottom:16px;overflow-y:auto}.app-frame .sidebar .nav a{gap:14px;height:46px;font-size:14px}.mobile-drawer-footer{padding:15px 16px max(16px,env(safe-area-inset-bottom));border-top:1px solid var(--border);color:var(--muted);flex-direction:column;flex-shrink:0;gap:10px;font-size:12px;display:flex}.mobile-drawer-footer .btn{justify-content:center;width:100%;min-height:44px}.app-frame.nav-open .scrim{z-index:45;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}body .topbar{max-width:100%;height:var(--header-h);gap:8px;min-width:0;padding-left:10px;padding-right:10px}.topbar .menu-btn{flex:0 0 44px;width:44px;height:44px;display:grid}.topbar .search{flex:1;gap:8px;min-width:0;height:42px;padding:0 10px}.topbar .top-right{flex-shrink:0;gap:4px}.topbar .user{justify-content:center;min-width:44px;min-height:44px}.topbar .bell{width:44px;height:44px}.topbar .user-name,.topbar .user>.ico{display:none}.table-wrap,.cal-grid-scroll{overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch;min-width:0;max-width:100%;overflow-x:auto}.schedule-wrap{overscroll-behavior-x:contain;max-width:100%;overflow-x:auto}body .storage-error{flex-wrap:wrap;align-items:center;gap:10px;padding:10px 12px;font-size:12px}.storage-error>span{overflow-wrap:anywhere;min-width:0}.storage-error button{min-height:40px}.toast{width:max-content;max-width:calc(100vw - 24px);bottom:max(18px,env(safe-area-inset-bottom));overflow-wrap:anywhere;font-size:12px;line-height:1.5}.api-save-indicator{right:12px;bottom:max(14px,env(safe-area-inset-bottom))}.page-loader-overlay{left:0}}@media (max-width:700px){:root{--header-h:calc(64px + env(safe-area-inset-top,0px))}body .topbar{padding-top:env(safe-area-inset-top)}body .header-signout{display:none}.topbar .search input{font-size:16px}.topbar .search .ico{width:18px;height:18px}.topbar .user .avatar.lg{width:30px;height:30px;font-size:11px}body input:not([type=checkbox]):not([type=radio]):not([type=range]):not([inputmode=numeric]),body select,body textarea{font-size:16px!important}body .btn,body .settings-button,body .select select,body .form-field input,body .form-field select,body .wizard-control{min-height:44px}.icon-btn,.pagination-buttons button{min-width:40px;min-height:40px}body .content,body .projects-page,body .tasks-page,body .reports-page,body .team-page,body .cal-page,body .documents-page,body .settings-page,body .project-wizard{min-width:0;max-width:100%;padding:16px 12px 24px}body .card{min-width:0;max-width:100%}.page-head,.projects-page-heading,.tasks-page-heading,.reports-heading,.team-page-heading,.documents-heading{flex-wrap:wrap;gap:12px}.page-head>div,.projects-page-title,.tasks-page-title,.team-page-title,.reports-title{min-width:0}h1,h2,h3{overflow-wrap:anywhere}body h1{font-size:23px}.card-head{flex-wrap:wrap;gap:10px}.card-head h2{font-size:14px}.card-head .view-all{align-items:center;min-height:40px;display:inline-flex}body .kpis,body .skeleton-kpis{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.kpi{gap:10px;min-height:95px;padding:14px 11px}.kpi-label{font-size:11px}.kpi-icon{width:36px;height:36px}.kpi .spark{display:none}.bottom{min-width:0}.head-right{gap:10px;width:100%}.today{font-size:12px}body .table-pagination,body .projects-table-footer,body .tasks-table-footer,body .team-table-footer,body .documents-table-footer{flex-wrap:wrap;gap:10px;padding:13px 12px;font-size:11px}.pagination-buttons{flex-wrap:wrap;max-width:100%}.pagination-summary{line-height:1.5}.menu,.projects-action-menu,.tasks-action-menu,.team-action-menu,.documents-action-menu{max-width:calc(100vw - 24px);max-height:calc(100dvh - 32px);overflow-y:auto}.menu button,.projects-action-menu button,.tasks-action-menu button,.team-action-menu button,.documents-action-menu button{min-height:44px}dialog,body .tasks-dialog,body .team-dialog,body .cal-dialog,body .edit-project-dialog{overscroll-behavior:contain;box-sizing:border-box;width:calc(100vw - 24px);max-width:calc(100vw - 24px);max-height:calc(100dvh - 32px);padding:18px;overflow-y:auto}dialog .form-grid{grid-template-columns:minmax(0,1fr)}dialog header{gap:12px;min-width:0}dialog footer{flex-wrap:wrap;gap:10px}dialog footer .btn{flex:1;justify-content:center;min-width:0}.form-grid,.panel-row,.form-field{min-width:0}.form-field input,.form-field select,.form-field textarea{max-width:100%}.form-grid .full{grid-column:1/-1}.form-error{overflow-wrap:anywhere}input[type=checkbox],input[type=radio]{min-width:18px;min-height:18px;accent-color:var(--primary)}input[type=range]{min-height:12px}.settings-navigation{scroll-padding-inline:10px}.settings-navigation button{min-height:44px}.settings-logo-editor,.settings-panel,.settings-card{min-width:0}.settings-field input,.settings-field select{min-height:44px}.settings-footer{padding-bottom:env(safe-area-inset-bottom)}.documents-heading>.btn{min-height:44px}.documents-project-summary{min-width:0}.documents-project-info>div{gap:10px;min-width:0}.documents-project-info>div>span{overflow-wrap:anywhere;min-width:0}.documents-toolbar>*{min-width:0;max-width:100%}.documents-search{flex-basis:100%}.documents-toolbar select,.documents-tabs button,.documents-upload-panel input,.documents-upload-panel select{min-height:44px}.documents-upload-panel form>footer{flex-wrap:wrap}.wizard-title-block{width:100%}.project-wizard .steps{width:100%;max-width:100%}.project-wizard .step{min-width:0;font-size:10px}.project-wizard .step span{width:32px;height:32px}.project-wizard .create-grid,.project-wizard .wizard-sidebar{grid-template-columns:minmax(0,1fr)}.project-wizard .create-actions .btn{flex:1;min-width:0}.wizard-control input,.wizard-control select,.wizard-control textarea{width:100%;min-width:0}.wizard-control input[type=date]{min-width:0}.project-wizard .review-list{overflow-wrap:anywhere}.pd-meta{gap:10px 14px;min-width:0}.pd-meta>span{overflow-wrap:anywhere;min-width:0}.pd-tabs{scrollbar-width:thin;flex-wrap:nowrap;max-width:100%;overflow-x:auto}.pd-tabs a,.pd-tabs button{white-space:nowrap;min-height:44px}.pd-actions{flex-wrap:wrap;gap:9px}.pd-actions .btn{flex:1;justify-content:center;min-width:0}.project-task-details{min-width:0;max-width:100%;position:static}.project-task-toolbar{flex-wrap:wrap}.project-task-toolbar>*{min-width:0;max-width:100%}.project-task-details input,.project-task-details select,.project-task-details textarea{max-width:100%}.project-detail-file>span{overflow-wrap:anywhere;min-width:0}.team-grid{grid-template-columns:minmax(0,1fr)}.ov-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.updates-list p,.file-meta b{overflow-wrap:anywhere}.tl-toolbar,.timeline-controls{flex-wrap:wrap;gap:10px;min-width:0}.tl-toolbar .select,.tl-kpis{min-width:0}.tl-kpi{gap:9px;min-width:0;padding:12px}.tl-kpi-icon{width:36px;height:36px}.tl-kpi-icon>span{width:30px;height:30px}.tl-kpi-icon .ico.big{width:25px;height:25px}.period-controls{flex-wrap:wrap}.login-entry input,.twofactor-entry input:not([inputmode=numeric]){min-height:44px}.login-entry .login-input{min-height:48px}.login-submit,.twofactor-submit{min-height:46px}.twofactor-entry .security-code-inputs input,.security-code-inputs input{min-height:42px}.twofactor-assistance button{min-height:44px}.twofactor-remember-row{flex-wrap:wrap}.enrollment-heading{min-width:0}.enrollment-actions>*{min-height:44px}.enrollment-manual-key input{max-width:100%}}@media (prefers-reduced-motion:reduce){.sidebar{transition:none}html{scroll-behavior:auto}}@media (max-width:600px){body select{min-height:44px}body table.responsive-records{border-collapse:separate;display:block;width:100%!important;min-width:0!important}body table.responsive-records thead{scrollbar-width:thin;border-bottom:1px solid #e7edf6;max-width:100%;display:block;overflow-x:auto}body table.responsive-records thead tr{background:#f9fbfe;gap:6px;width:max-content;min-width:100%;padding:6px 10px;display:flex}body table.responsive-records thead th{min-height:40px;font-size:11px;display:none;border:0!important;width:auto!important;padding:0!important}:is(body table.responsive-records thead th:has(button),body table.responsive-records thead th:has(input)){flex-shrink:0;align-items:center;gap:8px;display:flex}body table.responsive-records thead th:has(input):after{content:"Select all";color:#6b7e9d;padding-right:8px;font-size:11px}body table.responsive-records thead button{white-space:nowrap;background:#fff;border:1px solid #e4ebf6;border-radius:6px;min-height:40px;padding:7px 10px;font-size:11px}body table.responsive-records thead:not(:has(button,input)){clip:rect(0,0,0,0);white-space:nowrap;height:1px;position:absolute;overflow:hidden;width:1px!important}body table.responsive-records tbody{grid-template-columns:minmax(0,1fr);gap:11px;padding:12px;display:grid}body table.responsive-records tbody tr{background:#fff;border:1px solid #e1e9f5;border-radius:10px;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px 14px;min-width:0;padding:12px 13px;display:grid;position:relative;box-shadow:0 2px 5px #12345b03}body table.responsive-records tbody td{overflow-wrap:anywhere;flex-direction:column;justify-content:flex-start;gap:5px;max-width:100%;min-height:0;line-height:1.5;white-space:normal!important;border:0!important;align-items:flex-start!important;width:auto!important;min-width:0!important;height:auto!important;padding:5px 0!important;font-size:12px!important;display:flex!important}body table.responsive-records tbody td:before{content:attr(data-label);color:#8293ad;font-size:10px;font-weight:400;line-height:1.3;display:block}body table.responsive-records tbody td.mobile-record-title{order:-1;grid-column:1/-1;min-height:38px;margin-bottom:2px;font-weight:600;border-bottom:1px solid #f0f3f9!important;padding:2px 0 10px!important;font-size:13px!important;display:block!important}body table.responsive-records tbody td.mobile-record-title:before,body table.responsive-records tbody td.mobile-record-leading:before,body table.responsive-records tbody td.mobile-record-actions:before{display:none}body table.responsive-records tbody td.mobile-record-index{display:none!important}body table.responsive-records tbody td.mobile-record-leading{z-index:1;max-width:27px;position:absolute;top:11px;left:11px}body table.responsive-records tbody td.mobile-record-leading:has(button){max-width:44px;top:5px;left:4px}body table.responsive-records tbody tr.mobile-has-leading td.mobile-record-title{padding-left:31px!important}body table.responsive-records tbody tr.mobile-has-leading:has(td.mobile-record-leading button) td.mobile-record-title{padding-left:39px!important}body table.responsive-records tbody tr.mobile-has-actions td.mobile-record-title{padding-right:35px!important}body table.responsive-records tbody td.mobile-record-actions{z-index:1;position:absolute;top:4px;right:5px;padding:0!important}body table.responsive-records tbody td.mobile-record-actions button{place-items:center;width:40px;min-height:40px;display:grid}body table.responsive-records tbody td.mobile-record-wide{grid-column:1/-1}body table.responsive-records .proj,body table.responsive-records .eng,body table.responsive-records .team-name{white-space:normal;overflow-wrap:anywhere;align-items:flex-start;min-width:0;max-width:100%}body table.responsive-records .proj{gap:8px;line-height:1.6}.responsive-records .proj-ico{flex-shrink:0;margin-top:1px}body table.responsive-records .progress{flex-wrap:wrap;gap:7px;max-width:100%}.responsive-records .progress .bar{width:75px;max-width:100%}.responsive-records .progress .pct{font-size:11px}body table.responsive-records input[type=checkbox]{width:21px;height:21px;margin:0}body table.responsive-records .check{transform-origin:0 0;min-width:40px;min-height:40px;transform:scale(.8)}body table.responsive-records .documents-file-name{font:inherit;align-items:flex-start;min-width:0;max-width:100%;line-height:1.5}body table.responsive-records .documents-file-name>span:last-child,body table.responsive-records .documents-description{white-space:normal;text-overflow:clip;overflow-wrap:anywhere;max-width:100%;overflow:visible}body table.responsive-records .documents-uploader{white-space:normal;align-items:flex-start}.projects-board{overscroll-behavior-x:contain;scroll-snap-type:x proximity;max-width:100%;overflow-x:auto}.projects-board>section,.projects-board>.projects-column{scroll-snap-align:start}body .cal-grid:not(.cal-week){width:100%;min-width:0}.cal-grid:not(.cal-week) .cal-weekdays div{padding:10px 0;font-size:10px}body .cal-grid:not(.cal-week) .cal-day{min-height:76px;padding:5px 3px}.cal-grid:not(.cal-week) .cal-day-number{width:28px;min-width:0;height:28px;min-height:0;margin:0 auto;font-size:11px}.cal-grid:not(.cal-week) .cal-day-events{flex-flow:wrap;justify-content:center;gap:3px;margin-top:3px;display:flex}.cal-grid:not(.cal-week) .cal-event{background:0 0;border:0;flex:none;place-items:center;width:13px;height:18px;min-height:18px;padding:0;display:grid}.cal-grid:not(.cal-week) .cal-event>span:last-child{display:none}.cal-grid:not(.cal-week) .cal-event .cal-dot{flex:none;width:7px;height:7px}.cal-grid:not(.cal-week) .cal-more{width:auto;min-height:18px;padding:0 2px;font-size:9px;line-height:1.5}body .cal-period{flex-wrap:wrap;gap:6px;max-width:100%}.cal-month-picker{max-width:100%}.cal-day-number[aria-pressed=true]{outline-offset:-2px;outline:2px solid #a9cfff}body .cal-selected-events{grid-template-columns:minmax(0,1fr)}.cal-sidebar .cal-detail-card{min-width:0}.cal-detail-card p,.cal-detail-card b{overflow-wrap:anywhere}body .project-task-details{position:static!important;top:auto!important}.project-tasks-grid,.project-detail-fields>label{min-width:0}}
