:root{font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;color:#1b2c42;background:#f5f7fb;font-size:14px;font-synthesis:none}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button{cursor:pointer}a{color:#245f9e;text-decoration:none}a:hover{text-decoration:underline}button:hover{text-decoration:none}.topbar{height:70px;background:#fff;border-bottom:1px solid #e3e9f0;display:flex;align-items:center;gap:42px;padding:0 max(24px,calc((100vw - 1440px)/2));position:sticky;top:0;z-index:30;box-shadow:0 2px 10px #1b35520a}.brand{display:flex;align-items:center;gap:11px;color:#153b64;font-weight:750;font-size:18px;white-space:nowrap}.brand:hover{text-decoration:none}.brand small{display:block;font-weight:400;font-size:11px;color:#8997a6;margin-top:2px}.brand-mark{display:grid;place-items:center;background:#f4c62d;color:#15395d;font-size:24px;font-weight:800;width:40px;height:40px;border-radius:11px}.topnav{display:flex;align-items:center;gap:16px;height:100%}.topnav a{height:100%;display:flex;align-items:center;color:#617388;padding:0 8px;border-bottom:3px solid transparent;font-weight:600}.topnav a.active{border-color:#e4bc2c;color:#173d67}.topnav a:hover{text-decoration:none;color:#245f9e}.account{margin-left:auto;display:flex;align-items:center;gap:10px;color:#7b8997;font-size:12px}.account select{max-width:230px}.container{max-width:1472px;margin:0 auto;padding:32px 24px 80px}.page-head{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:8px 0 24px}.page-head h1{font-size:28px;letter-spacing:-.65px;margin:5px 0 8px;font-weight:750}.page-head p{margin:0}.eyebrow{letter-spacing:1.4px;font-size:10px;font-weight:750;color:#b08d25}.muted{color:#8c9aa8;font-size:13px}.panel{background:#fff;border:1px solid #e2e8f0;border-radius:12px;overflow:hidden;box-shadow:0 4px 16px #17345608;margin-bottom:18px}.toolbar{padding:16px 18px;display:flex;align-items:center;flex-wrap:wrap;gap:10px;border-bottom:1px solid #e9edf2}.toolbar .muted{margin-left:auto}.btn{padding:10px 14px;border:1px solid #d9e1e9;background:#fff;border-radius:8px;color:#284d74;font-weight:650;white-space:nowrap}.btn:hover{background:#f2f6fa}.btn.primary{background:#eac02c;border-color:#eac02c;color:#243047}.btn.primary:hover{background:#f3cf48}.btn.danger-outline{border-color:#f0baba;color:#b34a4a}.icon-button{border:1px solid transparent;background:transparent;display:inline-grid;place-items:center;width:32px;height:32px;border-radius:7px;color:#4175a8;font-size:20px}.icon-button:hover{background:#edf4fb;border-color:#d7e4f0;text-decoration:none}input,select,textarea{border:1px solid #d8e1eb;border-radius:8px;padding:9px 11px;background:#fff;color:#29425d;outline:0}input:focus,select:focus,textarea:focus{border-color:#3c83c8;box-shadow:0 0 0 3px #488cd51e}.toolbar input[type=search]{min-width:240px;flex:1;max-width:400px}.table-scroll{overflow:auto;max-width:100%}.data{width:100%;border-collapse:separate;border-spacing:0;font-size:13px}.data th{background:#f7f9fc;text-align:left;font-size:11px;font-weight:750;color:#697f95;white-space:nowrap;border-bottom:1px solid #e2e8ee;padding:13px 14px;position:sticky;top:0;z-index:2}.data td{padding:11px 14px;vertical-align:middle;border-bottom:1px solid #ecf0f4;line-height:1.4}.data tr:hover td{background:#f8fafc}.data tr:last-child td{border-bottom:0}.data tr.is-overdue td{background:#fff7f7}.data tr.is-overdue:hover td{background:#fff0f0}.projects-table{min-width:980px}.projects-table th:first-child{min-width:320px}.projects-table td:last-child{text-align:right}.strong-link{font-weight:700;color:#21578b}.cell-sub{color:#8392a2;font-size:11px;margin-top:5px;max-width:420px}.progress{width:90px;height:7px;border-radius:10px;background:#e8eef4;overflow:hidden;display:inline-block;vertical-align:middle;margin-right:8px}.progress i{height:100%;display:block;border-radius:10px;background:#2c8bce}.breadcrumbs{display:flex;gap:12px;color:#8b9ba9;font-size:12px;margin:0 0 16px}.project-heading{align-items:flex-start}.head-actions{display:flex;align-items:center;gap:10px}.tag{display:inline-block;background:#eaf1f7;color:#446888;padding:9px 13px;border-radius:8px;font-size:12px}.summary-strip{display:grid;grid-template-columns:1.15fr 1.6fr .7fr .7fr;gap:0;background:white;border:1px solid #e3eaf1;border-radius:12px;margin-bottom:23px}.summary-strip>div{padding:20px;border-right:1px solid #e9edf2;min-width:0}.summary-strip>div:last-child{border:0}.summary-strip small{display:block;font-size:11px;color:#8c9aa9;margin-bottom:9px}.summary-strip b{font-size:13px;font-weight:700;display:block;line-height:1.5}.summary-strip .progress{margin-top:6px;width:100%;display:block}.project-tabs{display:flex;gap:22px;border-bottom:1px solid #dbe3ec;margin-bottom:19px;overflow-x:auto}.project-tabs a{padding:14px 4px;font-size:13px;white-space:nowrap;color:#698099;border-bottom:3px solid transparent;font-weight:650}.project-tabs a.selected{color:#245c93;border-color:#e3b927}.project-tabs a:hover{text-decoration:none;color:#245c93}.check{display:flex;align-items:center;gap:6px;white-space:nowrap;color:#516b82;font-size:12px}.check input{accent-color:#2c83c5}.work-table{min-width:1440px}.work-table th.sticky-name,.work-table td.sticky-name{position:sticky;left:0;z-index:3;background:#fff;min-width:350px;max-width:420px;box-shadow:2px 0 3px #102b4b0b}.work-table th.sticky-name{z-index:5;background:#f7f9fc}.work-table tr.is-overdue td.sticky-name{background:#fff7f7}.work-table .field.editable{cursor:cell}.work-table .field.editable:hover{background:#edf6ff}.tree-label{display:flex;align-items:center;gap:5px;min-height:23px;max-width:410px}.tree-toggle,.tree-gap{width:20px;min-width:20px;height:20px;display:grid;place-items:center;border:0;background:transparent;color:#7292ad}.tree-toggle:hover{background:#e8f0f7;border-radius:5px}.row-number{color:#8294a6;font-size:11px;min-width:32px}.text-link{border:0;background:transparent;color:#285b8b;text-align:left;font-weight:600;padding:0;max-width:310px}.text-link:hover{text-decoration:underline}.status{font-size:11px;font-weight:650;border-radius:6px;display:inline-block;padding:5px 8px;white-space:nowrap}.status.done{color:#21815f;background:#e9f7ef}.status.active{color:#216eaf;background:#e9f3fe}.status.review{color:#9b7418;background:#fbf3d9}.status.waiting{color:#748391;background:#eff2f6}.status.muted-badge{color:#8a7399;background:#f0eaf5}.priority{font-size:11px;white-space:nowrap}.priority-0{color:#738699}.priority-1{color:#365f89}.priority-2{color:#c08b26;font-weight:700}.priority-3{color:#c35050;font-weight:750}.overdue{color:#bd5050;font-weight:700;white-space:nowrap}.cell-input{width:150px;max-width:100%;padding:5px;font-size:12px}.table-footer{display:flex;justify-content:space-between;gap:12px;padding:14px 18px;color:#8b98a6;font-size:11px;border-top:1px solid #edf0f4}.empty{padding:36px!important;text-align:center;color:#94a1ae}.metric-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:14px;margin-bottom:18px}.metric{background:white;border:1px solid #e3eaf1;border-radius:12px;padding:22px}.metric span{display:block;color:#8295a6;font-size:12px}.metric strong{display:block;font-size:28px;margin-top:11px;color:#254c72}.panel-title{padding:17px 20px;border-bottom:1px solid #e8edf2;font-weight:700;font-size:15px}.summary-list{padding:5px 20px}.summary-item{display:flex;justify-content:space-between;gap:15px;padding:14px 0;border-bottom:1px solid #eff2f5}.summary-item:last-child{border:0}.summary-item>div{white-space:nowrap}.padded{padding:0 20px 15px}.gantt{display:flex;min-width:max-content}.gantt-labels{width:300px;position:sticky;left:0;background:white;z-index:3;border-right:1px solid #dae4ec}.gantt-heading{height:46px;background:#f8fafd;border-bottom:1px solid #dce5ee;padding:14px;color:#72859a;font-size:12px;font-weight:700}.gantt-label{width:300px;height:39px;line-height:39px;border-bottom:1px solid #edf1f5;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;font-size:12px}.gantt-timeline{width:var(--timeline-width);background:repeating-linear-gradient(to right,#fff,#fff 63px,#edf2f7 64px);position:relative}.scale-row{position:relative}.scale-row span{position:absolute;white-space:nowrap;font-weight:400}.gantt-track{height:39px;position:relative;border-bottom:1px solid #edf1f5}.gantt-bar{position:absolute;top:11px;height:17px;border-radius:4px;background:#acd1ef;overflow:hidden;min-width:4px}.gantt-bar i{display:block;height:100%;background:#3186c8}.gantt-bar.completed{background:#b3e5cd}.gantt-bar.completed i{background:#2a9b72}.history-item{display:grid;grid-template-columns:175px 190px 1fr;gap:14px;border-bottom:1px solid #edf0f4;padding:13px 18px;line-height:1.5;font-size:12px}.history-item time{color:#8495a7}.history-item b{font-weight:650}.tabs{display:flex;align-items:center;gap:4px;padding:3px;border:1px solid #e0e7ee;border-radius:8px;background:#f7f9fb}.tabs button{background:transparent;border:0;color:#72859a;padding:8px 13px;border-radius:6px;white-space:nowrap}.tabs button.selected{background:#fff;color:#1c5c97;box-shadow:0 1px 5px #17345616}.my-group{padding:12px 22px;border-bottom:1px solid #eef2f5}.my-group li{margin:9px 0}.overlay{position:fixed;inset:0;background:#10283e50;z-index:40}.overlay[hidden]{display:none}.drawer{position:fixed;right:0;top:0;height:100vh;width:min(480px,100vw);background:white;box-shadow:-10px 0 30px #0c2c4c18;z-index:50;transform:translateX(110%);transition:transform .2s ease;overflow-y:auto}.drawer.open{transform:translateX(0)}.drawer-head{padding:21px 22px;display:flex;justify-content:space-between;align-items:start;gap:16px;border-bottom:1px solid #e5ebf1}.drawer-head b{font-size:17px;line-height:1.35}.drawer-section{padding:20px 22px;border-bottom:1px solid #e9edf2}.drawer-section h3{margin:0 0 14px;font-size:15px}.drawer-section textarea{width:100%;display:block;margin:12px 0}.detail{display:flex;justify-content:space-between;gap:14px;align-items:center;padding:10px 0;border-bottom:1px solid #f2f4f6;font-size:12px}.detail span{color:#8092a3}.detail b{font-size:12px;text-align:right;max-width:65%}.comment{padding:12px 0;border-bottom:1px solid #edf1f5}.comment b{color:#244d72;font-size:12px}.comment small{margin-left:12px;color:#98a6b4}.comment p{margin:10px 0;white-space:pre-wrap}.form{display:grid;gap:14px}.form label{display:grid;gap:6px;color:#708399;font-size:12px}.form input,.form textarea,.form select{width:100%}.toast{position:fixed;bottom:24px;right:24px;padding:12px 18px;background:#1d604e;color:white;border-radius:9px;z-index:100;box-shadow:0 6px 24px #0002;opacity:0;pointer-events:none;transform:translateY(8px);transition:.2s}.toast.visible{opacity:1;transform:translateY(0)}.toast.error{background:#aa4242}@media(max-width:950px){.topbar{gap:15px;padding:0 18px}.topnav{gap:2px}.account label{display:none}.container{padding:22px 14px}.summary-strip{grid-template-columns:repeat(2,minmax(0,1fr))}.summary-strip>div:nth-child(2){border-right:0}.summary-strip>div:nth-child(-n+2){border-bottom:1px solid #e9edf2}.metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.page-head{align-items:flex-start}.head-actions{flex-wrap:wrap}.table-footer{flex-direction:column}}@media(max-width:560px){.brand{font-size:14px}.brand small{display:none}.topbar{height:60px;gap:8px}.topnav a{font-size:11px;padding:0 4px}.account select{max-width:104px;font-size:11px;padding:6px}.page-head{flex-direction:column}.page-head h1{font-size:24px}.summary-strip{grid-template-columns:1fr}.summary-strip>div{border-right:0;border-bottom:1px solid #e9edf2}.summary-strip>div:last-child{border:0}.metric-grid{gap:8px}.metric{padding:13px}.metric strong{font-size:22px}.toolbar input[type=search]{min-width:160px}.history-item{grid-template-columns:1fr;gap:4px}.project-tabs{gap:15px}}@media print{body{background:#fff}.topbar,.project-tabs,.toolbar .btn,.toolbar select,.account,.overlay,.drawer,.toast,.head-actions{display:none!important}.container{max-width:none;padding:0}.panel,.metric,.summary-strip{box-shadow:none;break-inside:avoid}.table-scroll{overflow:visible}.gantt-labels{position:static}.metric-grid{grid-template-columns:repeat(5,1fr)}}

/* Consistent inset for forms rendered directly inside the side drawer. */
#drawerBody > .form { padding: 22px 24px 28px; }
#drawerBody > .form > label { min-width: 0; }
#drawerBody > .form input, #drawerBody > .form select, #drawerBody > .form textarea { max-width: 100%; box-sizing: border-box; }
@media (max-width: 560px) { #drawerBody > .form { padding: 18px 18px 24px; } }
