:root{font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:#253a36;background:#f6f7f4;font-synthesis:none;font-size:14px;--green: #153e37;--muted: #7b8881;--line: #e5e9e3;--paper: #fff;--soft: #edf2ec}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{opacity:.45;cursor:not-allowed}button{transition:background .15s,color .15s,box-shadow .15s}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #75b09a;outline-offset:3px}h1,h2,h3,p{margin:0}h1{font-size:32px;font-weight:550;letter-spacing:-1.1px;line-height:1.2}h2{font-size:17px;font-weight:600;letter-spacing:-.3px}h3{font-size:16px;font-weight:600}p{line-height:1.6}input,select,textarea{border:1px solid #dce3da;border-radius:7px;background:#fff;padding:10px 12px;color:#253a36;min-width:0}input[type=checkbox]{accent-color:var(--green);width:16px;height:16px;flex-shrink:0}textarea{resize:vertical}.muted{color:var(--muted)}.small{font-size:12px}.grow{flex:1}.inline{display:flex;align-items:center;gap:8px}.wrap{flex-wrap:wrap}.button{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:1px solid #dce3da;background:#fff;padding:10px 15px;border-radius:7px;color:var(--green);font-weight:550;white-space:nowrap}.button:hover{background:#eef3ed}.button.primary{background:var(--green);border-color:var(--green);color:#fff}.button.primary:hover{background:#24574b}.button.destructive{background:#a13f35;color:#fff;border-color:#a13f35}.small-button{padding:6px 9px;font-size:12px}.text-button{border:0;background:none;display:inline-flex;gap:6px;align-items:center;color:var(--green);font-size:12px;padding:5px 0}.text-button:hover{color:#648e77}.icon-button{display:inline-flex;align-items:center;justify-content:center;border:0;background:transparent;color:#6e7f74;border-radius:6px;padding:6px}.icon-button:hover{background:#e9eee7}.danger{color:#a13f35}.push-left{margin-right:auto}.app-shell{display:flex;min-height:100vh}.sidebar{width:236px;background:#fff;border-right:1px solid var(--line);position:fixed;inset:0 auto 0 0;display:flex;flex-direction:column;padding:30px 16px 0;z-index:30}.brand{display:flex;gap:11px;align-items:center;padding:0 10px;margin-bottom:48px}.brand img{width:38px;height:38px}.brand>div{font-size:21px;letter-spacing:2px;font-weight:650;line-height:1.1}.brand span{font-weight:350;color:#758b7f}.brand small{display:block;font-size:8px;letter-spacing:2.5px;margin-top:8px;color:#85968b}.nav-label{font-size:9px;font-weight:650;letter-spacing:1.6px;color:#9ba89e;padding:0 14px;margin-bottom:15px}.nav-item{display:flex;width:100%;align-items:center;gap:12px;padding:13px 14px;color:#6b7b70;background:transparent;border:0;border-radius:7px;font-size:13px;text-align:left;margin-bottom:5px}.nav-item:hover{background:#f4f6f1}.nav-item.active{background:#eaf1e8;color:var(--green);font-weight:600}.nav-active-dot{height:5px;width:5px;border-radius:50%;background:var(--green);margin-left:auto}.sidebar-bottom{margin-top:auto;padding-top:70px}.studio-note{display:flex;align-items:center;gap:7px;font-size:11px;padding:15px 14px}.live-dot{height:6px;width:6px;background:#638873;border-radius:50%;display:inline-block;flex-shrink:0}.profile{display:flex;align-items:center;gap:10px;border-top:1px solid var(--line);margin-top:15px;padding:20px 7px}.profile strong{font-size:12px;font-weight:550}.profile small{display:block;font-size:10px;color:#87958c;margin-top:4px}.avatar{width:35px;height:35px;border-radius:50%;background:#e8e8dd;display:flex;align-items:center;justify-content:center;font-size:11px;color:var(--green);font-weight:600}.profile>svg{margin-left:auto}.main-shell{margin-left:236px;flex:1;min-width:0;display:flex;flex-direction:column}.topbar{height:70px;border-bottom:1px solid var(--line);padding:0 36px;background:#fbfcfa;display:flex;align-items:center;justify-content:space-between;gap:16px}.breadcrumb{font-size:12px;color:#8b978e}.breadcrumb span{margin:0 12px;color:#b7c0b8}.breadcrumb strong{font-weight:500;color:#46584d}.small-avatar{width:29px;height:29px;font-size:9px}.save-status{font-size:11px;color:#7d8c81}.pilot-banner{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:10px 36px;background:#eff0e6;color:#788166;font-size:10px;line-height:1.6}.pilot-banner strong{font-weight:600;color:#58674e}.pilot-banner button{display:inline-flex;align-items:center;gap:4px;white-space:nowrap;font-size:10px;border:0;background:none;color:#58674e}.main-content{padding:37px 36px 30px;max-width:1600px;width:100%;margin:0 auto}.page-title{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:27px}.eyebrow{font-size:9px;letter-spacing:1.8px;font-weight:650;color:#85927e;margin-bottom:11px}.page-title p{color:#8a968b;font-size:12px;margin-top:10px}.title-actions{display:flex;gap:8px;flex-wrap:wrap}.date-line{display:flex;align-items:center;gap:9px;font-size:11px;color:#7b887b;margin-bottom:24px;text-transform:capitalize}.date-rule{height:1px;flex:1;background:var(--line);margin:0 7px}.stats-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-bottom:28px}.stat-card{border:1px solid var(--line);border-radius:10px;background:#fff;padding:20px;text-align:left;color:inherit}.stat-card:hover{border-color:#bbcdbb}.stat-top{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:11px;color:#7f8a7c}.stat-top svg{color:#84967e}.stat-card strong{display:block;margin-top:17px;font-size:26px;font-weight:550;letter-spacing:-.8px;white-space:nowrap}.stat-foot{display:flex;align-items:center;justify-content:space-between;margin-top:15px;font-size:10px;color:#96a18f}.dashboard-grid{display:grid;grid-template-columns:1.35fr 1fr;gap:23px;margin-bottom:24px}.panel{background:#fff;border:1px solid var(--line);border-radius:10px;overflow:hidden}.panel-heading{padding:22px 23px 18px;display:flex;justify-content:space-between;align-items:center;gap:15px}.panel-heading h2{font-size:15px}.panel-heading p{font-size:10px;color:#99a18f;margin-top:6px}.project-summary-list{padding:0 23px 10px}.project-summary{display:flex;align-items:center;width:100%;gap:14px;border:0;border-bottom:1px solid #edf0e9;padding:18px 0;text-align:left;background:#fff;color:inherit}.project-summary:last-child{border:0}.project-summary:hover{background:#fafbf8}.project-monogram{height:45px;width:45px;border-radius:8px;border:1px solid #e2e6da;background:#f1f3ea;display:grid;place-items:center;font-family:Georgia,serif;font-size:25px;color:#798570;flex-shrink:0}.project-summary h3{margin:4px 0 6px}.badge{display:inline-flex;align-items:center;padding:4px 7px;border-radius:5px;background:#edf3e8;color:#6b815b;font-size:9px;letter-spacing:.3px;white-space:nowrap}.badge.warning{background:#faf1de;color:#9b7c43}.weekly-task{display:flex;gap:13px;margin:0 23px;padding:17px 0;border-top:1px solid #edf0e9}.day-number{width:29px;height:29px;background:#f4f3ec;border-radius:6px;display:grid;place-items:center;font-size:9px;color:#8d8f76;flex-shrink:0}.weekly-task p{font-size:12px;margin-bottom:8px}.project-tag{display:inline-flex;gap:5px;align-items:center;font-size:9px;color:#789084;font-weight:550;line-height:1.5}.project-tag>span{width:5px;height:5px;background:#83a08d;border-radius:50%}.project-tag.internal{color:#9b8e73}.project-tag.internal>span{background:#b5a57d}.focus-banner{position:relative;overflow:hidden;border-radius:10px;background:#e8eddf;border:1px solid #dce3d2;padding:28px 26px}.focus-banner .eyebrow{position:relative;z-index:1;color:#859176;font-size:8px}.focus-banner h2{font-family:Georgia,serif;font-weight:400;font-size:24px;margin-top:16px;position:relative;z-index:1;max-width:300px}.focus-banner p{font-size:11px;color:#89947c;max-width:300px;margin:9px 0 19px;position:relative;z-index:1}.focus-banner .button{font-size:11px;background:#f8f9f3;border-color:#dce1cf;position:relative;z-index:1}.orbit{position:absolute;width:235px;height:235px;border:1px solid #cdd7bc;border-radius:50%;right:-95px;top:18px}.orbit:before,.orbit:after{content:"";position:absolute;top:22px;right:22px;bottom:22px;left:22px;border:1px solid #cdd7bc;border-radius:50%}.orbit:after{top:45px;right:45px;bottom:45px;left:45px}.finance-summary{padding:0 23px 15px}.finance-summary>div{display:flex;justify-content:space-between;padding:14px 0;font-size:12px;color:#839079}.finance-summary strong{color:#46563d;font-weight:550}.finance-summary .total-line{border-top:1px solid var(--line);margin-top:3px}.total-line strong{font-size:17px}.footnote{color:#94a18f;font-size:10px;margin-top:19px}.app-footer{display:flex;justify-content:space-between;gap:15px;padding:20px 36px;font-size:9px;color:#a1aa99;border-top:1px solid var(--line);margin-top:auto}.app-footer>span:first-child{letter-spacing:2px;font-weight:600}.toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:0 0 20px;flex-wrap:wrap}.toolbar select{max-width:290px}.toolbar h2{font-size:16px}.tabs{display:flex;gap:5px;background:#eaf0e7;border-radius:8px;padding:4px}.tabs button{border:0;background:transparent;color:#7a8975;border-radius:5px;padding:9px 15px;font-size:12px;white-space:nowrap}.tabs button.active{background:#fff;color:var(--green);box-shadow:0 1px 4px #153e3710}.section-tabs{width:fit-content;margin:0 0 20px}.search{display:flex;align-items:center;gap:9px;background:#fff;border:1px solid var(--line);border-radius:7px;width:300px;max-width:100%;padding:0 12px;margin-bottom:22px;color:#92a089}.search input{border:0;width:100%;padding-left:0;background:transparent}.cards-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.project-card,.client-card{padding:22px}.card-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:23px}.project-card-title{border:0;text-align:left;background:transparent;padding:0;color:inherit}.project-card-title h2{font-size:24px;font-weight:500}.project-card-title p{color:#96a18f;font-size:12px;margin-top:7px}.client-name{margin-top:22px;font-size:11px;color:#7e8b75}.card-metrics{display:flex;gap:24px;border-top:1px solid var(--line);padding-top:18px;margin-top:18px}.card-metrics span{display:block;font-size:10px;color:#9aa38f}.card-metrics strong{display:block;font-size:14px;font-weight:550;margin-top:7px}.card-footer{display:flex;align-items:center;justify-content:space-between;border-top:1px solid var(--line);margin-top:20px;padding-top:12px;font-size:11px;color:#8b9883}.client-card>p{font-size:12px;margin-top:12px}.week-picker{display:flex;align-items:center;gap:12px;font-size:12px}.week-picker strong{font-weight:550}.kanban-board{display:grid;grid-template-columns:repeat(6,minmax(178px,1fr));gap:12px;overflow-x:auto;padding-bottom:12px}.kanban-column{background:#eff2ec;border:1px solid #e5e9df;border-radius:8px;min-height:420px}.kanban-column.drag-over{background:#dfe9d8;box-shadow:inset 0 0 0 2px #92aa81}.column-heading{display:flex;align-items:center;gap:8px;padding:15px 12px;border-bottom:1px solid #e0e6d9}.column-heading h2{font-size:12px}.column-heading .icon-button{margin-left:auto}.column-dot{width:6px;height:6px;background:#9aa897;border-radius:50%}.dot-1{background:#bbad84}.dot-2{background:#9aaeb4}.dot-3{background:#95ac88}.dot-4{background:#b6a0ad}.dot-5{background:#93b2a1}.count{font-size:10px;color:#9da895}.column-body{padding:10px}.task-card{background:#fff;border:1px solid #e1e6db;border-radius:7px;padding:12px;margin-bottom:9px;box-shadow:0 2px 3px #1c332104;cursor:grab}.task-card:active{cursor:grabbing}.task-card-top{display:flex;justify-content:space-between;gap:5px}.task-card p{font-size:12px;line-height:1.65;margin:13px 0 17px;overflow-wrap:anywhere}.task-card.done>p{text-decoration:line-through;color:#9aa391}.task-card-bottom{display:flex;align-items:center;justify-content:space-between;gap:3px}.task-card-bottom .check-label{font-size:8px;gap:4px;flex-wrap:nowrap}.task-card-bottom .check-label input{width:12px;height:12px}.task-card-bottom .icon-button{padding:2px}.task-card-bottom .inline{gap:3px}.add-card{display:flex;align-items:center;gap:7px;border:0;background:none;color:#8c9a82;font-size:11px;padding:9px 4px}.kanban-footer{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:15px}.kanban-footer p{font-size:11px;color:#91a087}.kanban-footer .button{font-size:11px}.gantt-scroll{overflow-x:auto}.gantt{display:grid;min-width:1100px}.gantt-head{padding:17px 8px;background:#f8faf5;border-bottom:1px solid var(--line);border-right:1px solid var(--line);font-size:10px;text-align:center;color:#7f8b75}.gantt-head small{display:block;font-size:8px;color:#a5ae9b;margin-top:7px}.gantt-label{text-align:left;padding-left:20px}.gantt-row{display:grid;grid-template-columns:subgrid;grid-column:1 / -1;min-height:76px;position:relative}.gantt-row .gantt-label{grid-row:1;grid-column:1;border:0;border-bottom:1px solid var(--line);background:#fff;color:#58664d;padding:17px 20px;text-align:left;overflow:hidden}.gantt-label strong{display:block;font-size:11px;font-weight:550}.gantt-label span{display:block;font-size:9px;color:#9aa28f;margin-top:7px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.gantt-cell{grid-row:1;border-right:1px solid #eaf0e5;border-bottom:1px solid #eaf0e5}.gantt-cell.current,.gantt-head.current{background:#eff3e6}.gantt-bar{z-index:2;align-self:center;margin:0 4px;border:1px solid #b8c9a9;border-radius:5px;padding:10px 12px;white-space:nowrap;text-overflow:ellipsis;overflow:hidden;text-align:left;font-size:10px;background:#e1ead3;color:#65814e;min-width:0}.gantt-bar.color-1{background:#e0e9e9;color:#5f8284;border-color:#b4caca}.gantt-bar.color-2{background:#eee5d9;color:#9a8057;border-color:#d7c5ac}.timer-panel{display:flex;align-items:center;gap:22px;background:#e9eedf;border:1px solid #dce5ce;padding:25px;border-radius:10px}.timer-panel.running{background:#e1ecdf}.timer-symbol{padding:15px;background:#f6f8ef;border-radius:50%;color:#7d9468}.timer-clock{font-size:35px;letter-spacing:1px;font-variant-numeric:tabular-nums;color:#456137;margin:8px 0}.timer-panel p{font-size:11px;color:#829875}.timer-controls{display:grid;grid-template-columns:1fr 1fr 1.2fr;gap:18px;margin:20px 0 30px}.table-scroll{overflow-x:auto}table{border-collapse:collapse;width:100%;text-align:left;white-space:nowrap}th{font-size:9px;letter-spacing:.6px;text-transform:uppercase;background:#f9fbf6;color:#97a08e;font-weight:550;padding:17px 22px;border-bottom:1px solid var(--line)}td{padding:18px 22px;font-size:12px;border-bottom:1px solid #edf1e7}tr:last-child td{border-bottom:0}td p{margin-top:7px}td .project-tag{margin-top:5px}td strong{font-weight:550}.empty{text-align:center;padding:40px 24px;color:#99a48f}.empty-icon{font-size:30px;margin-bottom:10px}.empty p{font-size:13px;margin-bottom:16px}.notice{padding:15px;background:#efeee3;border-radius:7px;margin-bottom:22px;color:#8c886b;font-size:12px}.back-link{margin-bottom:18px}.phase-row{display:flex;gap:12px;align-items:center;padding:15px 23px;border-top:1px solid #edf0e7;font-size:12px}.detail-list{display:grid;grid-template-columns:140px 1fr;gap:18px;padding:8px 23px 20px;font-size:12px}.detail-list dt{color:#99a18e}.detail-list dd{margin:0;white-space:pre-wrap}.project-links{display:flex;gap:8px;flex-wrap:wrap;padding:10px 23px 23px}.project-links .button{font-size:11px}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:60;background:#14261db0;display:flex;align-items:center;justify-content:center;padding:20px;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.modal{background:#fff;width:600px;max-width:100%;max-height:90vh;overflow:auto;border-radius:12px;padding:25px;box-shadow:0 12px 70px #122c2140}.modal-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:23px}.modal-heading h2{font-size:21px}.modal>p{margin:12px 0;font-size:13px}.field{display:flex;flex-direction:column;gap:8px;margin-bottom:16px;font-size:12px}.field>span{color:#6c7e61;font-weight:550}.field small{color:#99a48e;font-size:10px;line-height:1.5}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.check-label{display:flex;align-items:center;gap:8px;font-size:12px;color:#6e8062;line-height:1.5}.modal form>.check-label{margin-bottom:18px}.phase-picker{border:1px solid var(--line);border-radius:7px;padding:14px;max-height:220px;overflow:auto;margin:20px 0}.phase-picker legend{color:#6c7e61;font-size:12px;padding:0 5px}.phase-picker .check-label{margin:8px 0;font-size:11px}.modal-actions{display:flex;justify-content:flex-end;align-items:center;gap:10px;padding-top:20px;border-top:1px solid var(--line);margin-top:22px}.error-message{display:flex;justify-content:space-between;gap:15px;margin:16px 36px 0;padding:12px 16px;background:#fceee6;color:#985b45;border:1px solid #edcec0;border-radius:7px;font-size:12px}.mobile-menu,.mobile-close,.menu-overlay{display:none}.recovery{padding:50px;max-width:700px;margin:auto}.recovery p{margin:20px 0}.recovery button{margin-right:10px}@media(min-width:1550px){.kanban-column{min-height:520px}.task-card-bottom .check-label{font-size:10px}.main-content{padding-top:45px}.stats-grid{gap:22px}.dashboard-grid{gap:26px}}@media(max-width:1150px){.sidebar{width:210px;padding:25px 12px 0}.main-shell{margin-left:210px}.main-content{padding:28px 24px}.topbar,.pilot-banner{padding-left:24px;padding-right:24px}.stat-card{padding:16px}.stat-card strong{font-size:23px}.cards-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-grid{grid-template-columns:1.1fr 1fr}.project-summary{gap:9px}.project-summary .badge{display:none}.page-title h1{font-size:28px}.error-message{margin-left:24px;margin-right:24px}.timer-controls{grid-template-columns:1fr 1fr}.timer-controls .field:last-child{grid-column:1 / -1}}@media(max-width:850px){.sidebar{transform:translate(-100%);width:236px;transition:transform .2s}.sidebar.open{transform:translate(0)}.main-shell{margin-left:0}.mobile-menu,.mobile-close{display:inline-flex}.mobile-close{margin-left:auto}.menu-overlay{display:block;position:fixed;top:0;right:0;bottom:0;left:0;background:#153e3755;z-index:20}.stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.main-content{margin:0}.brand{padding:0}.dashboard-grid{grid-template-columns:1fr 1fr}.topbar{height:60px}.pilot-banner{font-size:9px}.breadcrumb{font-size:10px}.sidebar-bottom{padding-top:30px}}@media(max-width:600px){.main-content{padding:25px 16px}.topbar{padding:0 16px}.breadcrumb{display:none}.pilot-banner{padding:10px 16px;align-items:flex-start}.pilot-banner button{margin-top:1px}.page-title{align-items:flex-start;flex-direction:column;gap:18px}.page-title h1{font-size:27px}.page-title p{font-size:11px}.title-actions{width:100%}.title-actions .button{font-size:12px}.stats-grid{gap:10px;margin-bottom:18px}.stat-card{padding:15px}.stat-card strong{font-size:22px}.stat-top{font-size:10px}.stat-foot{font-size:8px}.stat-top svg{width:16px}.dashboard-grid{grid-template-columns:1fr;gap:18px;margin-bottom:18px}.cards-grid{grid-template-columns:1fr}.toolbar{gap:14px}.toolbar>select{width:100%;max-width:100%}.tabs button{padding:9px 11px;font-size:11px}.week-picker{gap:8px;font-size:11px}.week-picker .text-button{font-size:10px}.kanban-board{grid-template-columns:repeat(6,225px);gap:12px}.kanban-footer{align-items:flex-start;flex-direction:column;gap:12px}.timer-panel{padding:18px;gap:13px;flex-wrap:wrap}.timer-symbol{padding:10px}.timer-clock{font-size:30px}.timer-panel .button{width:100%}.timer-controls{grid-template-columns:1fr;gap:0}.timer-controls .field:last-child{grid-column:auto}.toolbar .inline{width:100%}.toolbar .inline select{width:100%;max-width:100%}.toolbar .inline input{flex:1;width:100px}.modal-backdrop{padding:10px}.modal{padding:20px;max-height:94vh}.form-grid{grid-template-columns:1fr;gap:0}.app-footer{padding:20px 16px;font-size:8px}.app-footer>span:nth-child(2){display:none}.date-line{font-size:9px}.error-message{margin-left:16px;margin-right:16px}.focus-banner h2{font-size:23px}.task-card-bottom .check-label{font-size:10px}}.form-error{background:#fceee6;color:#985b45;border:1px solid #edcec0;padding:12px;border-radius:7px;font-size:12px;margin-bottom:18px}.project-table-scroll{overflow-x:auto;max-width:100%}.project-table{min-width:790px;white-space:nowrap;background:transparent}.project-table th{padding:0 16px;background:transparent;border-bottom:1px solid #dce3da}.project-table td{padding:17px 16px;border-bottom:1px solid var(--line)}.project-table tr:last-child td{border-bottom:1px solid var(--line)}.project-table tbody tr:hover{background:#eff3ec}.sort-heading{display:flex;align-items:center;gap:9px;width:100%;padding:15px 0;background:none;border:0;color:#75826f;font-size:10px;font-weight:600;letter-spacing:.65px;text-align:left}.sort-heading svg{color:#99a58f;flex-shrink:0}.sort-heading.selected{color:var(--green)}.sort-heading.selected svg{color:var(--green)}.project-status{display:inline-flex;align-items:center;gap:8px;font-size:12px}.status-dot{height:7px;width:7px;border-radius:50%;background:#8b9386;flex-shrink:0}.status-active .status-dot{background:#4c8c61}.status-hold .status-dot{background:#cb8a2f}.status-finished .status-dot{background:#b74e46}.project-cell{display:flex;align-items:center;gap:20px;justify-content:space-between}.project-table-link{border:0;padding:4px 0;background:none;text-align:left;color:var(--green);font-size:12px;white-space:nowrap}.project-table-link:hover{text-decoration:underline}.project-table-link h2{display:inline;font-size:12px;font-weight:600;letter-spacing:normal}.project-code{font-weight:500}.project-row-actions{display:flex;gap:2px}.project-row-actions .icon-button{padding:6px;color:#7c8b74}.project-row-actions .danger{color:#a13f35}.project-note{display:block;max-width:320px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px;color:#75836e}@media(max-width:600px){.project-table th,.project-table td{padding-left:12px;padding-right:12px}.project-cell{gap:12px}.project-note{max-width:220px}}.projects-search-row{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:22px}.projects-search-row>.search{flex:0 1 300px;margin-bottom:0}.projects-search-row>.button{margin-left:auto}.project-table .project-actions-column{width:1%;white-space:nowrap}.project-table .project-actions-column .project-row-actions{justify-content:flex-end}@media(max-width:600px){.projects-search-row{flex-wrap:wrap}}.client-table .client-table-name{font-size:12px;font-weight:600;color:var(--green)}.tasks-toolbar-actions{display:flex;align-items:center;gap:12px}.tasks-toolbar-actions select{flex:none}.tasks-tabs{width:fit-content;margin-bottom:20px}.task-phase{font-size:10px;color:#7b887b;margin-top:8px}.task-card p{white-space:pre-wrap;overflow-wrap:anywhere}.task-card .task-actions{justify-content:flex-end;gap:3px}.task-grip{touch-action:none;cursor:grab;flex-shrink:0}.task-card.dragging{opacity:.45}.task-slot,.column-body{position:relative}.task-insertion-line{position:absolute;left:0;right:0;height:3px;background:var(--green);border-radius:2px;transform:translateY(-6px);pointer-events:none;z-index:1}.task-insertion-line:before{content:"";position:absolute;top:-2px;left:-2px;width:7px;height:7px;border-radius:50%;background:var(--green)}.task-archive{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:12px}@media(max-width:1150px){.tasks-toolbar{flex-wrap:wrap}.tasks-toolbar-actions{margin-left:auto}}@media(max-width:600px){.tasks-toolbar-actions{flex-wrap:wrap;width:100%;justify-content:flex-end}}.project-dashboard .page-title{align-items:center}.pd-status{display:inline-flex;align-items:center;gap:7px;border-radius:20px;padding:7px 12px;background:#edf3ed;font-size:10px}.pd-status>span{width:7px;height:7px;border-radius:50%}.pd-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-bottom:20px}.pd-card,.pd-panel{background:#fff;border:1px solid var(--line);border-radius:9px;padding:20px;min-width:0}.pd-card-label{display:flex;justify-content:space-between;gap:10px;font-size:11px;margin-bottom:13px}.pd-card-label svg{color:#819491;flex-shrink:0}.pd-value{display:block;font-size:23px;font-weight:600;margin-bottom:12px}.pd-note,.pd-empty{font-size:10px;color:#7b887b;line-height:1.6}.pd-empty{margin:14px 0}.pd-finance-lines{display:flex;flex-wrap:wrap;gap:6px 12px;font-size:9px;color:#7b887b;margin-top:12px}.pd-progress{height:8px;border-radius:6px;background:#e7ece6;overflow:hidden}.pd-progress>span{display:block;background:var(--green);border-radius:inherit;height:100%}.pd-middle{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-bottom:20px}.pd-bottom{display:grid;grid-template-columns:1.5fr 1.1fr .9fr;gap:16px}.pd-panel-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:16px;flex-wrap:wrap}.pd-panel-heading h2{font-size:14px}.pd-link{display:inline-flex;align-items:center;gap:5px;font-size:10px}.pd-phase-row{display:grid;grid-template-columns:24px 1fr minmax(100px,35%);align-items:center;gap:10px;border-top:1px solid var(--line);padding:12px 0;font-size:11px}.pd-number{width:23px;height:23px;border-radius:50%;background:#eef2ed;display:grid;place-items:center;font-size:10px}.pd-phase-progress{display:grid;grid-template-columns:1fr auto;align-items:center;gap:10px;font-size:10px}.pd-task-row{display:flex;justify-content:space-between;gap:15px;padding:12px 0;border-top:1px solid var(--line);font-size:11px}.pd-task-row p{white-space:pre-wrap;overflow-wrap:anywhere;margin-bottom:4px}.pd-task-row>.pd-note{min-width:65px;text-align:right}.pd-range{text-align:right;margin-bottom:10px}.pd-timeline-row{display:grid;grid-template-columns:minmax(90px,40%) 1fr;gap:8px;font-size:9px;align-items:center;min-height:38px}.pd-track{position:relative;height:28px;background:repeating-linear-gradient(to right,#f7f9f6,#f7f9f6 24.5%,#e9eee7 25%)}.pd-bar{position:absolute;top:6px;height:16px;background:#95b3a1;border-radius:4px}.pd-today{position:absolute;top:0;bottom:0;border-left:1px dashed var(--green)}.pd-time-total{display:flex;flex-direction:column;align-items:center;gap:16px;padding:18px 0;color:var(--green)}.pd-time-total strong{font-size:24px}.pd-shortcuts{display:grid;gap:10px}.pd-shortcuts .button{justify-content:space-between;font-size:11px}.pd-details{margin-top:20px;font-size:11px}.pd-details summary{cursor:pointer}@media(max-width:1150px){.pd-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.pd-bottom{grid-template-columns:1fr 1fr}.pd-bottom>:last-child{grid-column:1 / -1}}@media(max-width:850px){.pd-middle,.pd-bottom{grid-template-columns:1fr}}@media(max-width:600px){.project-dashboard .page-title{align-items:flex-start}.pd-kpis{grid-template-columns:1fr}.pd-phase-row{grid-template-columns:24px 1fr}.pd-phase-row>:last-child{grid-column:2}}.pd-phase-row .pd-empty{margin:0}
