@font-face{font-family:Inter;src:url(/fonts/InterVariable.woff2) format("woff2");font-style:normal;font-weight:100 900;font-display:swap}:root{font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:var(--ink);background:var(--background);font-synthesis:none;font-size:14px;--ink: #000000;--background: #f9f9f7;--paper: #ffffff;--soft: #eeebe6;--muted: #62605c;--line: #dedbd5;--accent: #6f1e11;--accent-hover: #54170d;--accent-soft: #f2e9e6;--overlay: #000000b0;--menu-overlay: #00000055;--shadow: #00000010;--card-shadow: #00000004;--modal-shadow: #00000040;--focus: #6f1e11;--success-dot: #638873;--status-active: #4c8c61;--status-hold: #cb8a2f;--status-finished: #b74e46;--status-default: #8b9386;--danger: #a13f35;--warning-surface: #faf1de;--warning-text: #75581f;--notice-surface: #efeee3;--notice-text: #686345;--error-surface: #fceee6;--error-text: #85432d;--error-border: #edcec0;--day-default: #9aa897;--day-monday: #bbad84;--day-tuesday: #9aaeb4;--day-wednesday: #95ac88;--day-thursday: #b6a0ad;--day-friday: #93b2a1;--project-dot: #83a08d;--internal-dot: #b5a57d;--internal-text: #706044;--badge-surface: #edf3e8;--badge-text: #4c633d;--status-surface: #edf3ed;--phase-green-border: #b8c9a9;--phase-green-surface: #e1ead3;--phase-green-text: #476333;--phase-blue-surface: #e0e9e9;--phase-blue-text: #3f6567;--phase-blue-border: #b4caca;--phase-sand-surface: #eee5d9;--phase-sand-text: #715a35;--phase-sand-border: #d7c5ac;--timer-running: #e1ecdf;--timer-text: #456137;--progress-track: #e7ece6;--timeline-planned: #95b3a1;--timeline-soon: #c5b481;--timeline-past: #c58d80;--deadline-soon: #86611f;--deadline-past: #92564b;--phase-handle: #65814e33;--phase-handle-hover: #65814e88}*{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 var(--focus);outline-offset:3px}h1,h2,h3,p{margin:0}h1{font-size:32px;font-weight:650;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 var(--line);border-radius:7px;background:var(--paper);padding:10px 12px;color:var(--ink);min-width:0}input[type=checkbox]{accent-color:var(--accent);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 var(--line);background:var(--paper);padding:10px 15px;border-radius:7px;color:var(--accent);font-weight:550;white-space:nowrap}.button:hover{background:var(--soft)}.button.primary{background:var(--accent);border-color:var(--accent);color:var(--paper)}.button.primary:hover{background:var(--accent-hover)}.button.destructive{background:var(--danger);color:var(--paper);border-color:var(--danger)}.small-button{padding:6px 9px;font-size:12px}.text-button{border:0;background:none;display:inline-flex;gap:6px;align-items:center;color:var(--accent);font-size:12px;padding:5px 0}.text-button:hover{color:var(--muted)}.icon-button{display:inline-flex;align-items:center;justify-content:center;border:0;background:transparent;color:var(--muted);border-radius:6px;padding:6px}.icon-button:hover{background:var(--soft)}.danger{color:var(--danger)}.push-left{margin-right:auto}.app-shell{display:flex;min-height:100vh}.sidebar{width:236px;background:var(--paper);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:var(--muted)}.brand small{display:block;font-size:8px;letter-spacing:2.5px;margin-top:8px;color:var(--muted)}.nav-label{font-size:9px;font-weight:650;letter-spacing:1.6px;color:var(--muted);padding:0 14px;margin-bottom:15px}.nav-item{display:flex;width:100%;align-items:center;gap:12px;padding:13px 14px;color:var(--muted);background:transparent;border:0;border-radius:7px;font-size:13px;text-align:left;margin-bottom:5px}.nav-item:hover{background:var(--soft)}.nav-item.active{background:var(--accent-soft);color:var(--accent);font-weight:600}.nav-active-dot{height:5px;width:5px;border-radius:50%;background:var(--accent);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:var(--success-dot);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:var(--muted);margin-top:4px}.avatar{width:35px;height:35px;border-radius:50%;background:var(--soft);display:flex;align-items:center;justify-content:center;font-size:11px;color:var(--accent);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:var(--background);display:flex;align-items:center;justify-content:space-between;gap:16px}.breadcrumb{font-size:12px;color:var(--muted)}.breadcrumb span{margin:0 12px;color:var(--muted)}.breadcrumb strong{font-weight:500;color:var(--ink)}.small-avatar{width:29px;height:29px;font-size:9px}.save-status{font-size:11px;color:var(--muted)}.pilot-banner{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:10px 36px;background:var(--soft);color:var(--muted);font-size:10px;line-height:1.6}.pilot-banner strong{font-weight:600;color:var(--muted)}.pilot-banner button{display:inline-flex;align-items:center;gap:4px;white-space:nowrap;font-size:10px;border:0;background:none;color:var(--muted)}.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:var(--muted);margin-bottom:11px}.page-title p{color:var(--muted);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:var(--muted);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:var(--paper);padding:20px;text-align:left;color:inherit}.stat-card:hover{border-color:var(--line)}.stat-top{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:11px;color:var(--muted)}.stat-top svg{color:var(--muted)}.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:var(--muted)}.dashboard-grid{display:grid;grid-template-columns:1.35fr 1fr;gap:23px;margin-bottom:24px}.panel{background:var(--paper);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:var(--muted);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 var(--line);padding:18px 0;text-align:left;background:var(--paper);color:inherit}.project-summary:last-child{border:0}.project-summary:hover{background:var(--background)}.project-monogram{height:45px;width:45px;border-radius:8px;border:1px solid var(--line);background:var(--soft);display:grid;place-items:center;font-family:inherit;font-size:25px;color:var(--muted);flex-shrink:0}.project-summary h3{margin:4px 0 6px}.badge{display:inline-flex;align-items:center;padding:4px 7px;border-radius:5px;background:var(--badge-surface);color:var(--badge-text);font-size:9px;letter-spacing:.3px;white-space:nowrap}.badge.warning{background:var(--warning-surface);color:var(--warning-text)}.weekly-task{display:flex;gap:13px;margin:0 23px;padding:17px 0;border-top:1px solid var(--line)}.day-number{width:29px;height:29px;background:var(--soft);border-radius:6px;display:grid;place-items:center;font-size:9px;color:var(--muted);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:var(--muted);font-weight:550;line-height:1.5}.project-tag>span{width:5px;height:5px;background:var(--project-dot);border-radius:50%}.project-tag.internal{color:var(--internal-text)}.project-tag.internal>span{background:var(--internal-dot)}.focus-banner{position:relative;overflow:hidden;border-radius:10px;background:var(--soft);border:1px solid var(--line);padding:28px 26px}.focus-banner .eyebrow{position:relative;z-index:1;color:var(--muted);font-size:8px}.focus-banner h2{font-family:inherit;font-weight:400;font-size:24px;margin-top:16px;position:relative;z-index:1;max-width:300px}.focus-banner p{font-size:11px;color:var(--muted);max-width:300px;margin:9px 0 19px;position:relative;z-index:1}.focus-banner .button{font-size:11px;background:var(--soft);border-color:var(--line);position:relative;z-index:1}.orbit{position:absolute;width:235px;height:235px;border:1px solid var(--line);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 var(--line);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:var(--muted)}.finance-summary strong{color:var(--ink);font-weight:550}.finance-summary .total-line{border-top:1px solid var(--line);margin-top:3px}.total-line strong{font-size:17px}.footnote{color:var(--muted);font-size:10px;margin-top:19px}.app-footer{display:flex;justify-content:space-between;gap:15px;padding:20px 36px;font-size:9px;color:var(--muted);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:var(--soft);border-radius:8px;padding:4px}.tabs button{border:0;background:transparent;color:var(--muted);border-radius:5px;padding:9px 15px;font-size:12px;white-space:nowrap}.tabs button.active{background:var(--paper);color:var(--accent);box-shadow:0 1px 4px var(--shadow)}.section-tabs{width:fit-content;margin:0 0 20px}.search{display:flex;align-items:center;gap:9px;background:var(--paper);border:1px solid var(--line);border-radius:7px;width:300px;max-width:100%;padding:0 12px;margin-bottom:22px;color:var(--muted)}.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:var(--muted);font-size:12px;margin-top:7px}.client-name{margin-top:22px;font-size:11px;color:var(--muted)}.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:var(--muted)}.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:var(--muted)}.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:var(--soft);border:1px solid var(--line);border-radius:8px;min-height:420px}.kanban-column.drag-over{background:var(--accent-soft);box-shadow:inset 0 0 0 2px var(--accent)}.column-heading{display:flex;align-items:center;gap:8px;padding:15px 12px;border-bottom:1px solid var(--line)}.column-heading h2{font-size:12px}.column-heading .icon-button{margin-left:auto}.column-dot{width:6px;height:6px;background:var(--day-default);border-radius:50%}.dot-1{background:var(--day-monday)}.dot-2{background:var(--day-tuesday)}.dot-3{background:var(--day-wednesday)}.dot-4{background:var(--day-thursday)}.dot-5{background:var(--day-friday)}.count{font-size:10px;color:var(--muted)}.column-body{padding:10px}.task-card{background:var(--paper);border:1px solid var(--line);border-radius:7px;padding:12px;margin-bottom:9px;box-shadow:0 2px 3px var(--card-shadow);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:var(--muted)}.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:var(--muted);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:var(--muted)}.kanban-footer .button{font-size:11px}.gantt-scroll{overflow-x:auto}.gantt{display:grid;min-width:1100px}.gantt-head{padding:17px 8px;background:var(--background);border-bottom:1px solid var(--line);border-right:1px solid var(--line);font-size:10px;text-align:center;color:var(--muted)}.gantt-head small{display:block;font-size:8px;color:var(--muted);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:var(--paper);color:var(--ink);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:var(--muted);margin-top:7px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.gantt-cell{grid-row:1;border-right:1px solid var(--line);border-bottom:1px solid var(--line)}.gantt-cell.current,.gantt-head.current{background:var(--accent-soft)}.gantt-bar{z-index:2;align-self:center;margin:0 4px;border:1px solid var(--phase-green-border);border-radius:5px;padding:10px 12px;white-space:nowrap;text-overflow:ellipsis;overflow:hidden;text-align:left;font-size:10px;background:var(--phase-green-surface);color:var(--phase-green-text);min-width:0}.gantt-bar.color-1{background:var(--phase-blue-surface);color:var(--phase-blue-text);border-color:var(--phase-blue-border)}.gantt-bar.color-2{background:var(--phase-sand-surface);color:var(--phase-sand-text);border-color:var(--phase-sand-border)}.timer-panel{display:flex;align-items:center;gap:22px;background:var(--soft);border:1px solid var(--line);padding:25px;border-radius:10px}.timer-panel.running{background:var(--timer-running)}.timer-symbol{padding:15px;background:var(--soft);border-radius:50%;color:var(--muted)}.timer-clock{font-size:35px;letter-spacing:1px;font-variant-numeric:tabular-nums;color:var(--timer-text);margin:8px 0}.timer-panel p{font-size:11px;color:var(--muted)}.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:var(--background);color:var(--muted);font-weight:550;padding:17px 22px;border-bottom:1px solid var(--line)}td{padding:18px 22px;font-size:12px;border-bottom:1px solid var(--line)}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:var(--muted)}.empty-icon{font-size:30px;margin-bottom:10px}.empty p{font-size:13px;margin-bottom:16px}.notice{padding:15px;background:var(--notice-surface);border-radius:7px;margin-bottom:22px;color:var(--notice-text);font-size:12px}.back-link{margin-bottom:18px}.phase-row{display:flex;gap:12px;align-items:center;padding:15px 23px;border-top:1px solid var(--line);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:var(--muted)}.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:var(--overlay);display:flex;align-items:center;justify-content:center;padding:20px;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.modal{background:var(--paper);width:600px;max-width:100%;max-height:90vh;overflow:auto;border-radius:12px;padding:25px;box-shadow:0 12px 70px var(--modal-shadow)}.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:var(--muted);font-weight:550}.field small{color:var(--muted);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:var(--muted);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:var(--muted);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:var(--error-surface);color:var(--error-text);border:1px solid var(--error-border);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:var(--overlay);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:var(--error-surface);color:var(--error-text);border:1px solid var(--error-border);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 var(--line)}.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:var(--soft)}.sort-heading{display:flex;align-items:center;gap:9px;width:100%;padding:15px 0;background:none;border:0;color:var(--muted);font-size:10px;font-weight:600;letter-spacing:.65px;text-align:left}.sort-heading svg{color:var(--muted);flex-shrink:0}.sort-heading.selected{color:var(--accent)}.sort-heading.selected svg{color:var(--accent)}.project-status{display:inline-flex;align-items:center;gap:8px;font-size:12px}.status-dot{height:7px;width:7px;border-radius:50%;background:var(--status-default);flex-shrink:0}.status-active .status-dot{background:var(--status-active)}.status-hold .status-dot{background:var(--status-hold)}.status-finished .status-dot{background:var(--status-finished)}.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(--accent);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:var(--muted)}.project-row-actions .danger{color:var(--danger)}.project-note{display:block;max-width:320px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px;color:var(--muted)}@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(--ink)}.tasks-toolbar-actions{display:flex;align-items:center;gap:12px}.tasks-toolbar-actions select{width:239px;max-width:100%;flex:none}.tasks-tabs{width:fit-content;margin-bottom:20px}.task-phase{font-size:10px;color:var(--muted);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(--accent);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(--accent)}.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:var(--status-surface);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:var(--paper);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:var(--muted);flex-shrink:0}.pd-value{display:block;font-size:23px;font-weight:600;margin-bottom:12px}.pd-note,.pd-empty{font-size:10px;color:var(--muted);line-height:1.6}.pd-empty{margin:14px 0}.pd-finance-lines{display:flex;flex-wrap:wrap;gap:6px 12px;font-size:9px;color:var(--muted);margin-top:12px}.pd-progress{height:8px;border-radius:6px;background:var(--progress-track);overflow:hidden}.pd-progress>span{display:block;background:var(--status-active);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:var(--soft);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,var(--background) 0%,var(--background) 24.5%,var(--soft) 25%)}.pd-bar{position:absolute;top:6px;height:16px;background:var(--timeline-planned);border-radius:4px}.pd-today{position:absolute;top:0;bottom:0;border-left:1px dashed var(--accent)}.pd-time-total{display:flex;flex-direction:column;align-items:center;gap:16px;padding:18px 0;color:var(--accent)}.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}.module-controls-row{align-items:center;justify-content:space-between}.module-controls-row>.tabs{flex:none;margin-bottom:0}.projects-controls-row>.projects-search-row{margin-bottom:0;margin-left:auto;flex:0 0 auto;justify-content:flex-end}.projects-controls-row .projects-search-row>.search{flex:0 0 300px}.tasks-controls-row>.tasks-toolbar-actions{margin-left:auto}@media(max-width:600px){.projects-controls-row>.projects-search-row{flex:0 1 100%;flex-wrap:wrap}}@media(min-width:1151px){.tasks-toolbar{min-height:40px}}.md-calendar-full{margin-bottom:20px}.md-project-overview{display:grid;grid-template-columns:minmax(210px,.7fr) minmax(0,2.3fr);gap:20px;margin-bottom:20px}.md-summary{display:grid;grid-template-rows:1fr 1fr;gap:14px;min-width:0}.md-summary-item{display:flex;align-items:center;gap:12px;padding:20px;border:1px solid var(--line);border-radius:8px;background:var(--paper);font-size:12px;color:var(--accent);min-width:0}.md-summary-item strong{font-size:22px;margin-left:auto}.md-summary-item small{display:block;font-size:10px;color:var(--muted);margin-top:5px}.md-summary-item>svg{flex-shrink:0}.md-upcoming-placeholder{min-height:90px}.md-bottom>*{min-width:0}.md-bottom{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.md-muted,.md-deadline{font-size:10px;line-height:1.6;margin-top:7px;color:var(--muted)}.md-deadline.soon{color:var(--deadline-soon)}.md-deadline.past{color:var(--deadline-past)}.md-task-list{padding:0 23px 14px}.md-task{display:flex;flex-direction:column;align-items:flex-start;gap:7px;text-align:left;width:100%;background:none;border:0;border-top:1px solid var(--line);padding:15px 0}.md-task p{white-space:pre-wrap;overflow-wrap:anywhere;font-size:12px}.md-task-phase{font-size:10px;color:var(--muted)}.md-calendar-controls{padding:0 20px 15px;flex-wrap:wrap}.md-calendar-controls strong{font-size:11px}.md-calendar-notice{margin:0 20px 15px;font-size:11px;line-height:1.6;color:var(--muted)}.md-calendar-notice button{margin-left:10px}.md-calendar-week{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));margin:0 16px 16px;border:1px solid var(--line);border-radius:6px;overflow:hidden}.md-calendar-day{min-width:0;min-height:170px;padding:9px 6px;border-right:1px solid var(--line)}.md-calendar-day:last-child{border-right:0}.md-calendar-day h3{font-size:10px;line-height:1.7;font-weight:550}.md-calendar-day.is-today{background:var(--accent-soft)}.md-calendar-blank{font-size:10px;color:var(--muted);margin-top:12px}.md-calendar-event{border-top:1px solid var(--line);margin-top:12px;padding-top:8px;font-size:10px;overflow-wrap:anywhere}.md-calendar-event time{display:block;color:var(--muted);font-size:9px;margin-bottom:5px}.md-calendar-event a,.md-calendar-event strong{display:block;color:var(--accent);font-weight:550}.md-calendar-event p{margin-top:5px;color:var(--muted)}.md-calendar-updated{padding:0 20px 15px;font-size:10px;color:var(--muted)}@media(max-width:1150px){.md-project-overview{grid-template-columns:1fr}.md-summary{grid-template-columns:1fr 1fr;grid-template-rows:auto}}@media(max-width:600px){.md-bottom,.md-summary,.md-calendar-week{grid-template-columns:1fr}.md-calendar-day{min-height:60px;border-right:0;border-bottom:1px solid var(--line)}.md-calendar-day:last-child{border-bottom:0}.md-calendar .panel-heading{align-items:flex-start;flex-wrap:wrap}}.md-project-timeline{min-width:0}.md-gantt-scroll{overflow-x:auto;margin:0 20px 16px}.md-gantt-grid{min-width:620px}.md-gantt-row{display:grid;grid-template-columns:180px minmax(240px,1fr) 125px;gap:12px;align-items:center;padding:9px 0}.md-gantt-heading{font-size:9px;color:var(--muted)}.md-gantt-axis{height:20px;position:relative}.md-gantt-axis>span{position:absolute;top:0;white-space:nowrap;font-size:9px}.md-gantt-project{border-top:1px solid var(--line)}.md-gantt-label{display:flex;flex-direction:column;align-items:flex-start;gap:3px;overflow-wrap:anywhere}.md-gantt-label button{text-align:left;font-size:11px}.md-gantt-label .md-muted{margin-top:0;font-size:9px}.md-gantt-track{height:28px;position:relative;background:repeating-linear-gradient(to right,var(--background) 0%,var(--background) 24.5%,var(--soft) 25%)}.md-gantt-bar{position:absolute;top:9px;height:10px;min-width:2px;padding:0;border:0;border-radius:6px;background:var(--timeline-planned)}.md-gantt-bar.soon{background:var(--timeline-soon)}.md-gantt-bar.past{background:var(--timeline-past)}.md-gantt-today{position:absolute;top:0;bottom:0;border-left:1px dashed var(--line);pointer-events:none}.md-gantt-end{display:flex;align-items:center;gap:5px;flex-wrap:wrap}.md-gantt-end .md-deadline{margin-top:0;font-size:9px}.md-gantt-end .md-muted{font-size:9px}.md-gantt-note{font-size:9px;color:var(--muted);line-height:1.6;padding:5px 0}.schedule-toolbar{flex-wrap:wrap}.schedule-actions,.schedule-zoom{display:flex;align-items:center;gap:12px}.schedule-actions{margin-left:auto}.schedule-zoom{gap:4px}.schedule-zoom span{min-width:48px;text-align:center;font-size:12px}.schedule-grid{min-width:100%}.schedule-axis,.schedule-phase{display:flex}.schedule-axis{min-height:64px}.schedule-weeks{display:flex}.schedule-weeks .gantt-head{flex-shrink:0;overflow:visible;white-space:nowrap}.schedule-sticky{position:sticky;left:0;z-index:4;flex:0 0 260px;width:260px;background:var(--paper);box-sizing:border-box}.schedule-axis>.schedule-sticky{z-index:5;background:var(--background);text-align:left}.schedule-project{border-bottom:1px solid var(--line)}.schedule-project-heading{display:flex;min-height:42px}.schedule-project-heading strong{padding:15px 20px 8px;font-size:11px;font-weight:550}.schedule-phase{min-height:52px}.schedule-phase>button{border:0;padding:10px 20px 10px 30px;text-align:left;font-size:10px;color:var(--ink)}.schedule-track{flex:1;position:relative;background-image:linear-gradient(to right,transparent calc(100% - 1px),var(--soft) 1px)}.schedule-current{position:absolute;top:0;bottom:0;background:var(--accent-soft);pointer-events:none}.schedule-bar{position:absolute;top:8px;height:36px;margin:0;padding:0;display:flex;overflow:hidden}.schedule-bar.dragging{outline:2px solid var(--accent)}.schedule-bar-body{flex:1;min-width:0;border:0;padding:0 7px;color:inherit;background:transparent;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:inherit;cursor:grab;touch-action:none}.schedule-handle{flex:0 0 7px;padding:0;border:0;background:var(--phase-handle);cursor:ew-resize;touch-action:none}.schedule-handle:hover,.schedule-handle:focus-visible{background:var(--phase-handle-hover)}@media(max-width:700px){.schedule-actions{flex-wrap:wrap}.schedule-toolbar{gap:12px}}.brand .brand-wordmark{width:132px;height:23.1px;object-fit:contain;object-position:left;display:block}.brand .brand-product{font-size:8px;letter-spacing:2.5px;color:var(--muted);margin-top:8px}input::placeholder,textarea::placeholder{color:var(--muted);opacity:1}.time-filters{display:flex;flex-wrap:wrap;gap:12px;margin:20px 0 12px}.time-filters>label{display:flex;flex-direction:column;gap:6px;font-size:11px;color:var(--muted);flex:0 1 190px;min-width:0}.time-filters select{width:100%}.time-quick{display:flex;flex-wrap:wrap;align-items:center;gap:18px;margin-bottom:20px}.time-quick .check-label{margin:0 0 0 auto;font-size:11px}.time-day{margin-bottom:20px;overflow:hidden}.time-day h2{padding:18px 20px;font-size:14px;border-bottom:1px solid var(--line)}.time-day table{min-width:1100px}.time-report-table{min-width:1300px}.time-description{min-width:210px;max-width:360px;white-space:pre-wrap;overflow-wrap:anywhere}.time-description>span,.time-description>small,.time-task-title{display:block}.time-task-title{margin-bottom:5px}.time-row-actions{white-space:nowrap;text-align:right}.time-day-total{text-align:right;padding:14px 20px;font-size:12px;border-top:1px solid var(--line)}.time-timer-clock{font-size:30px;font-variant-numeric:tabular-nums;margin-bottom:12px}.time-summary{margin-top:20px;padding:20px}.time-summary-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:24px;margin-top:20px}.time-summary h3{font-size:13px}.time-summary dl>div{display:flex;justify-content:space-between;gap:15px;font-size:12px;padding:8px 0;border-bottom:1px solid var(--line)}.time-summary dd{margin:0;white-space:nowrap}@media(max-width:600px){.time-filters>label{flex:1 1 140px}.time-quick .check-label{margin-left:0}}.time-controls-row{display:flex;flex-wrap:wrap;gap:12px}.time-day th,.time-day td{padding-left:12px;padding-right:12px}.time-summary dt{min-width:0;overflow-wrap:anywhere}
