html,body{width:100%;height:100%}input::-ms-clear{display:none}input::-ms-reveal{display:none}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%;-ms-overflow-style:scrollbar;-webkit-tap-highlight-color:#0000;font-family:sans-serif;line-height:1.15}body{margin:0}[tabindex="-1"]:focus{outline:none}hr{box-sizing:content-box;height:0;overflow:visible}h1,h2,h3,h4,h5,h6{margin-top:0;margin-bottom:.5em;font-weight:500}p{margin-top:0;margin-bottom:1em}abbr[title],abbr[data-original-title]{cursor:help;border-bottom:0;-webkit-text-decoration:underline dotted;text-decoration:underline dotted}address{font-style:normal;line-height:inherit;margin-bottom:1em}input[type=text],input[type=password],input[type=number],textarea{-webkit-appearance:none}ol,ul,dl{margin-top:0;margin-bottom:1em}ol ol,ul ul,ol ul,ul ol{margin-bottom:0}dt{font-weight:500}dd{margin-bottom:.5em;margin-left:0}blockquote{margin:0 0 1em}dfn{font-style:italic}b,strong{font-weight:bolder}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}pre,code,kbd,samp{font-family:SFMono-Regular,Consolas,Liberation Mono,Menlo,Courier,monospace;font-size:1em}pre{margin-top:0;margin-bottom:1em;overflow:auto}figure{margin:0 0 1em}img{vertical-align:middle;border-style:none}a,area,button,[role=button],input:not([type=range]),label,select,summary,textarea{touch-action:manipulation}table{border-collapse:collapse}caption{text-align:left;caption-side:bottom;padding-top:.75em;padding-bottom:.3em}input,button,select,optgroup,textarea{color:inherit;font-size:inherit;font-family:inherit;line-height:inherit;margin:0}button,input{overflow:visible}button,select{text-transform:none}button,html [type=button],[type=reset],[type=submit]{-webkit-appearance:button}button::-moz-focus-inner{border-style:none;padding:0}[type=button]::-moz-focus-inner{border-style:none;padding:0}[type=reset]::-moz-focus-inner{border-style:none;padding:0}[type=submit]::-moz-focus-inner{border-style:none;padding:0}input[type=radio],input[type=checkbox]{box-sizing:border-box;padding:0}input[type=date],input[type=time],input[type=datetime-local],input[type=month]{-webkit-appearance:listbox}textarea{resize:vertical;overflow:auto}fieldset{border:0;min-width:0;margin:0;padding:0}legend{width:100%;max-width:100%;color:inherit;font-size:1.5em;line-height:inherit;white-space:normal;margin-bottom:.5em;padding:0;display:block}progress{vertical-align:baseline}[type=number]::-webkit-inner-spin-button{height:auto}[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{outline-offset:-2px;-webkit-appearance:none}[type=search]::-webkit-search-cancel-button{-webkit-appearance:none}[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{font:inherit;-webkit-appearance:button}output{display:inline-block}summary{display:list-item}template{display:none}[hidden]{display:none!important}*{box-sizing:border-box}:root{--page:#f4f4f4;--surface:#fff;--subtle:#f7f7f7;--elevated:#fff;--line:#dedede;--ink:#242424;--muted:#666;--accent:#333;--selected:#eaeaea;--focus:#eee;--primary-ink:#fff}:root[data-theme=dark]{--page:#171717;--surface:#202020;--subtle:#282828;--elevated:#2b2b2b;--line:#3b3b3b;--ink:#f2f2f2;--muted:#bdbdbd;--accent:#e8e8e8;--selected:#373737;--focus:#333;--primary-ink:#171717}body{background:var(--page);color:var(--ink);margin:0;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}button,input,textarea{font:inherit}button{-webkit-tap-highlight-color:transparent}.app-shell{min-height:100dvh;display:flex}.workspace{flex:1;width:0;min-width:0}.workspace-header{z-index:20;background:var(--surface);border-bottom:1px solid var(--line);align-items:center;gap:18px;min-height:76px;padding:12px 28px;display:flex;position:sticky;top:0}.nav-toggle{flex-shrink:0}.breadcrumb{flex-direction:column;gap:4px;min-width:0;margin-right:auto;display:flex}.breadcrumb small{color:var(--muted);font-size:11px}.breadcrumb strong{color:var(--ink);text-overflow:ellipsis;white-space:nowrap;font-size:14px;font-weight:600;overflow:hidden}.header-actions{flex-shrink:0}.user-name{color:var(--muted);padding-inline:6px;font-size:12px}main{width:100%;max-width:1920px;margin-inline:auto;padding:28px}h1{letter-spacing:-.6px;overflow-wrap:anywhere;margin:0;font-size:26px;font-weight:650;line-height:1.3}.sidebar{background:var(--surface);border-right:1px solid var(--line);flex-direction:column;flex-shrink:0;width:248px;height:100dvh;padding:24px 16px;display:flex;position:sticky;top:0}.sidebar[hidden]{display:none}.brand{align-items:center;gap:10px;margin:0 4px 30px;font-size:14px;font-weight:650;display:flex}.brand-icon{background:var(--accent);color:var(--primary-ink);border-radius:8px;flex-shrink:0;place-items:center;width:34px;height:36px;font-size:19px;display:grid}.workspace-tabs{flex-direction:column;gap:6px;margin-bottom:30px;display:flex}.workspace-tabs button{text-align:left;min-height:44px;color:var(--muted);font:inherit;cursor:pointer;background:0 0;border:0;border-radius:7px;align-items:center;gap:10px;padding:11px 12px;font-size:12px;display:flex}.workspace-tabs button.selected{background:var(--selected);color:var(--ink);font-weight:600}.workspace-tabs button:hover{background:var(--subtle);color:var(--ink)}.sidebar-heading{letter-spacing:1.2px;color:var(--muted);justify-content:space-between;margin:0 10px 12px;font-size:10px;font-weight:600;display:flex}.new-project{min-height:40px;margin-bottom:20px}.project-navigation{scrollbar-width:thin;scrollbar-color:var(--line) transparent;flex:1;min-height:0;overflow-y:auto}.project-group{margin-bottom:20px}.project-item{text-align:left;width:100%;min-height:44px;color:var(--ink);cursor:pointer;background:0 0;border:0;border-radius:6px;align-items:center;gap:9px;padding:10px 8px;font-size:12px;font-weight:600;display:flex}.project-item>span:nth-child(2){overflow-wrap:anywhere;flex:1}.project-item:hover{background:var(--subtle)}.project-item>small{text-align:center;background:var(--subtle);min-width:22px;color:var(--muted);border-radius:5px;margin-left:auto;padding:3px 5px;font-size:11px;font-weight:400}.sidebar-reports{border-left:1px solid var(--line);margin:4px 0 0 14px;padding:0 0 0 10px;list-style:none}.sidebar-report{width:100%;color:var(--muted);text-align:left;cursor:pointer;font:inherit;background:0 0;border:0;border-radius:6px;align-items:flex-start;gap:8px;min-height:44px;margin:4px 0;padding:11px 10px;font-size:12px;display:flex}.sidebar-report>.anticon{flex-shrink:0;margin-top:3px}.sidebar-report-label{flex-direction:column;gap:5px;min-width:0;display:flex}.sidebar-report-label>span{overflow-wrap:anywhere;line-height:1.5}.sidebar-report small{color:var(--muted);font-size:11px}.sidebar-report:hover{background:var(--subtle);color:var(--ink)}.sidebar-report.selected{background:var(--selected);color:var(--ink);box-shadow:inset 2px 0 var(--accent);font-weight:500}.sidebar-create-report{width:100%;min-height:44px;color:var(--muted);cursor:pointer;text-align:left;font:inherit;background:0 0;border:0;border-radius:6px;align-items:center;gap:8px;margin:4px 0;padding:10px;font-size:12px;display:flex}.sidebar-create-report:hover{background:var(--subtle);color:var(--ink)}:is(.workspace-tabs button,.project-item,.sidebar-report,.sidebar-create-report):focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.drawer-sidebar{border:0;width:100%;height:100%;padding:20px 16px;position:static}.drawer-sidebar .brand{display:none}.drawer-sidebar .workspace-tabs{margin-bottom:24px}.drawer-sidebar .project-navigation{flex:none;overflow:visible}.project-heading{justify-content:space-between;align-items:center;gap:20px;margin-bottom:24px;display:flex}.report-card{background:var(--surface);border:1px solid var(--line);border-radius:12px;overflow:hidden}.report-heading{justify-content:space-between;align-items:flex-start;gap:24px;padding:26px 28px;display:flex}.report-title{flex:1;min-width:0}.report-title>.ant-input{letter-spacing:-.5px;color:var(--ink);resize:none;max-width:900px;padding:0 0 14px;font-size:24px;font-weight:600;line-height:1.35;display:block}.report-title>.ant-space{flex-wrap:wrap}.report-actions{flex-shrink:0;align-items:center;gap:8px;padding-top:2px;display:flex}.save-status{color:var(--muted);white-space:nowrap;font-size:12px}.save-status>.anticon{margin-right:3px}.report-summary{border-block:1px solid var(--line);color:var(--muted);background:var(--subtle);flex-wrap:wrap;align-items:center;gap:12px 24px;padding:16px 28px;font-size:12px;display:flex}.status-filter{min-width:230px;max-width:100%;margin-left:auto}.sections{padding:24px 28px}.section-block{border-radius:8px;margin-bottom:20px}.section-block>.ant-collapse{background:var(--subtle);border-color:var(--line)}.ant-collapse-header{align-items:center!important}.ant-collapse-header-text{min-width:0}.ant-collapse-header-text>.ant-input{color:var(--ink);padding:2px 4px;font-size:14px;font-weight:600}.section-progress{width:126px;color:var(--muted);align-items:center;gap:10px;font-size:12px;display:flex}.section-progress>span{white-space:nowrap;font-variant-numeric:tabular-nums}.section-progress .ant-progress{min-width:50px;margin:0}.ant-table-cell{vertical-align:top;border-color:var(--line)!important;padding:14px!important}.ant-table-thead>tr>th{font-size:12px;font-weight:600;background:var(--subtle)!important;color:var(--muted)!important}.ant-table-thead .ant-input{color:var(--muted);padding:2px 0;font-size:12px;font-weight:600}.ant-table-tbody>tr>td:not(:last-child){border-right:1px solid var(--line)}.ant-table-tbody>tr:hover>td{background:var(--subtle)!important}.sections .ant-table,.sections .ant-table-container,.sections .ant-table-content,.sections .ant-table-thead>tr>th:first-child,.sections .ant-table-thead>tr>th:last-child{border-radius:0!important}.sections .ant-table-tbody>tr:last-child>td{border-bottom:0!important}.sections .ant-table-cell:first-child,.sections .ant-table-cell:last-child{padding-inline:4px!important}.cell{align-items:flex-start;gap:8px;min-width:0;display:flex}.cell>.ant-checkbox-wrapper{padding-top:7px}.cell-editor{flex-direction:column;gap:10px;min-width:0;display:flex}.item-view{border-radius:5px;min-height:36px;padding:4px 0;position:relative}.item-view:hover,.item-view:focus-within{background:var(--subtle)}.item-text{white-space:pre-wrap;overflow-wrap:anywhere;-webkit-user-select:text;user-select:text;flex:1;min-width:0;font-size:14px;line-height:1.65}.item-text a{color:var(--ink);text-underline-offset:3px;word-break:break-word;text-decoration:underline}.item-text a:hover{color:var(--accent)}.item-text a .anticon{color:var(--muted);font-size:12px}.item-placeholder{color:var(--muted);font-style:italic}.item-actions-trigger{opacity:0;background:var(--surface);position:absolute;top:0;right:-6px}.item-with-link{padding-right:28px}.item-with-link .item-actions-trigger,.item-view:hover .item-actions-trigger,.item-view:focus-within .item-actions-trigger{opacity:1}.item-edit{flex-direction:column;gap:20px;min-width:0;display:flex}.item-editor-context{color:var(--muted);overflow-wrap:anywhere;font-size:13px}.item-editor-field{flex-direction:column;gap:8px;font-weight:500;display:flex}.item-editor-optional{color:var(--muted);margin-left:6px;font-size:13px;font-weight:400}.item-editor-footer{justify-content:flex-end;gap:10px;padding-top:8px;display:flex}.item-editor-modal .ant-modal-body{max-height:calc(100dvh - 220px);overflow-y:auto}.item-editor-modal .ant-input{font-size:16px}.item-editor-modal .ant-btn{min-height:44px}.item-edit textarea{font-size:14px;line-height:1.65}.item-error{color:var(--ant-color-error,#ff7875);font-size:12px;line-height:1.4}.item-toolbar{max-width:calc(100vw - 48px)}.cell-add{color:var(--muted);align-self:flex-start;padding:0 4px;font-size:12px}.cell-add:hover{color:var(--ink)!important}.row-completed>td:first-child{box-shadow:inset 2px 0 var(--accent)}.table-footer{border-top:1px solid var(--line);background:var(--surface);border-radius:0 0 8px 8px;justify-content:space-between;align-items:center;padding:8px 12px;display:flex}.table-footer .ant-btn{color:var(--muted);font-size:13px}.add-section{height:44px;color:var(--muted);border-color:var(--line);background:0 0}.status-field{align-items:center;gap:7px;min-width:0;display:flex}.status-field .status-select{flex:1;width:100%;min-width:0;font-size:12px}.status-tag{text-overflow:ellipsis;vertical-align:middle;border-radius:5px;max-width:100%;margin:0;padding:0 8px;font-size:12px;line-height:24px;overflow:hidden}.status-color-button{border:2px solid var(--surface);outline:1px solid var(--line);cursor:pointer;border-radius:50%;flex:0 0 24px;width:24px;height:24px;padding:0}.status-color-button:focus-visible{outline:2px solid var(--accent)}.row-actions-menu{flex-direction:column;gap:8px;width:220px;display:flex}.row-color-control{justify-content:space-between;align-items:center;gap:16px;padding:4px;font-size:13px;display:flex}:is(.sections,.finance-table) .ant-table-tbody>tr.row-tinted>td{background:linear-gradient(var(--row-tint),var(--row-tint)),var(--surface)!important}:is(.sections,.finance-table) .ant-table-tbody>tr.row-tinted:hover>td{background:linear-gradient(var(--row-tint-hover),var(--row-tint-hover)),var(--surface)!important}.status-option{justify-content:space-between;align-items:center;gap:12px;min-height:32px;display:flex}.status-option-color{flex-shrink:0;align-items:center;padding:5px;display:flex}.drag-handle{width:40px;height:36px;color:var(--muted);cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none;background:0 0;border:0;border-radius:5px;flex-shrink:0;justify-content:center;align-items:center;padding:0;display:inline-flex}.drag-handle:hover,.drag-handle:focus-visible{background:var(--selected);color:var(--accent)}.drag-handle:focus-visible{outline:2px solid var(--accent)}.drag-handle.dragging{cursor:grabbing;background:var(--selected)}.drag-handle:disabled{opacity:.3;cursor:default}.drop-target{outline:2px solid var(--accent);outline-offset:-2px}.nested-cell{border-left:2px solid var(--line);padding-left:10px}.empty-card{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:64px 20px}.modal-project{color:var(--muted);overflow-wrap:anywhere;align-items:center;gap:8px;margin:4px 0 24px;font-size:13px;display:flex}.finance-page .project-heading{flex-wrap:wrap}.finance-report-picker{color:var(--muted);align-items:center;gap:14px;margin-bottom:20px;font-size:13px;display:flex}.finance-report-picker .ant-select{width:460px;max-width:calc(100% - 55px)}.finance-summary{border-block:1px solid var(--line);flex-wrap:wrap;gap:40px;padding:22px 28px;display:flex}.finance-summary>div{flex-direction:column;gap:8px;display:flex}.finance-summary span{color:var(--muted);font-size:12px}.finance-summary strong{font-variant-numeric:tabular-nums;font-size:23px;font-weight:600}.finance-summary>div:first-child{margin-right:auto}.finance-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;padding:20px 24px;display:flex}.finance-table .ant-table-cell{vertical-align:middle;padding:8px 14px!important}.finance-table .finance-group>td{background:var(--subtle)!important}.finance-name{vertical-align:middle;width:calc(100% - 40px);display:inline-block}.finance-entry .finance-name{width:calc(100% - 72px)}.finance-name input{padding:2px 0}.finance-group .finance-name input{font-weight:600}.finance-name small{color:var(--muted);overflow-wrap:anywhere;font-size:11px;line-height:16px;display:block}.finance-money{font-variant-numeric:tabular-nums;overflow-wrap:anywhere}.finance-table .ant-input-number-input{text-align:right;font-variant-numeric:tabular-nums}.finance-table .ant-progress-text{min-width:54px;font-size:13px;font-weight:600}.finance-footnote{color:var(--muted);padding:16px 24px;font-size:12px}.finance-name-line{align-items:center;gap:8px;min-width:0;display:flex}.finance-name-line input{min-width:0}.finance-star,.finance-fire{flex-shrink:0;font-size:15px}.finance-star{color:#f5b800}.finance-fire{color:#38bdf8}.finance-amount{justify-content:flex-end;align-items:center;gap:8px;display:flex}.finance-amount .ant-btn{color:var(--muted);flex-shrink:0}.finance-entry .finance-money{color:#197f77;font-size:15px}.finance-group .finance-money{color:#7056bb;font-size:15px}:root[data-theme=dark] .finance-entry .finance-money,:root[data-theme=dark] .finance-group .finance-money{color:var(--ink)}.auth-page{background:var(--page);place-items:center;min-height:100dvh;padding:24px;display:grid}.auth-loading{width:180px;height:64px}.auth-card{background:var(--surface);border-color:var(--line);width:100%;max-width:420px}.auth-card .ant-card-body{padding:32px}.auth-card h1{margin:0 0 24px;font-size:26px}.auth-card .ant-form-item{margin-bottom:20px}.auth-card .ant-btn-primary{height:44px}.auth-brand{align-items:center;gap:10px;margin-bottom:32px;font-weight:650;display:flex}.auth-warning{margin-bottom:20px}.auth-card .ant-alert+.ant-alert{margin-top:-8px}.conflict-card{max-width:560px}.conflict-card p{color:var(--muted);margin-bottom:22px;line-height:1.6}.save-error{margin-bottom:22px}@media (width<=1180px){.workspace{width:100%}.workspace-header{padding-inline:24px}main{padding:24px}.report-heading{gap:20px;padding:24px}.report-title>.ant-input{font-size:23px}.report-summary{padding:14px 24px}.sections{padding:20px}}@media (any-pointer:coarse),(width<=1180px){.ant-btn{min-height:44px}.item-text,.item-edit textarea{font-size:16px!important}.ant-form .ant-input,.ant-picker-input>input,.ant-select,.ant-input-number-input{font-size:16px}.drawer-sidebar :is(.workspace-tabs button,.project-item,.sidebar-report,.sidebar-create-report){font-size:14px}.ant-btn-icon-only{min-width:44px}.ant-select,.ant-picker,.ant-input-number{min-height:44px}.ant-dropdown-menu-item{min-height:44px!important}.drag-handle{width:44px;height:44px}.ant-checkbox-wrapper{align-items:center;min-height:44px}.ant-checkbox-inner{width:20px;height:20px}.cell>.ant-checkbox-wrapper{align-items:center;padding-top:0}.item-view{min-height:44px}.item-with-link{padding-right:40px}.cell-add{white-space:normal;height:auto}.section-progress{width:100px}.ant-drawer-close{min-width:44px;min-height:44px}}@media (width<=760px){.workspace-header{gap:12px;min-height:68px;padding:10px 16px}.breadcrumb small,.user-name{display:none}.header-actions .ant-btn{padding-inline:10px}main{padding:16px}.report-heading{flex-wrap:wrap;gap:16px;padding:20px}.report-title{flex-basis:100%}.report-title>.ant-input{font-size:22px}.report-actions{flex-wrap:wrap;padding-top:0}.report-summary{gap:12px 18px;padding:14px 20px}.status-filter{width:100%;margin-left:0}.sections{padding:16px 12px}.section-progress{width:auto}.section-progress .ant-progress{display:none}.project-heading{flex-wrap:wrap;align-items:flex-start;gap:16px}.finance-summary{gap:24px;padding:20px}.finance-toolbar{padding:16px 12px}.finance-toolbar .ant-segmented{max-width:100%;font-size:11px}.finance-toolbar .ant-segmented-item-label{padding-inline:8px}.finance-footnote{padding:14px 16px}.auth-card .ant-card-body{padding:24px}}@media (width<=480px){.breadcrumb{display:none}.nav-toggle{margin-right:auto}.workspace-header{gap:8px}.header-actions{gap:6px!important}main{padding:12px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}.column-heading{align-items:center;gap:4px;min-width:0;display:flex}.column-heading .drag-handle{flex:0 0 32px;width:32px}.column-heading .ant-input{min-width:0;padding-inline:4px}@media (any-pointer:coarse),(width<=1180px){.column-heading .drag-handle{flex-basis:44px;width:44px}}.item-editor-footer .ant-btn-icon-only{width:44px;height:44px}@media (any-pointer:coarse),(width<=1180px){.item-toolbar .ant-btn-icon-only{width:44px;height:44px}}.section-title{align-items:center;gap:8px;min-width:0;display:flex}.section-title-text{overflow-wrap:anywhere;min-width:0;font-weight:600}.section-title-edit{flex-shrink:0}@media (any-pointer:coarse),(width<=1180px){.section-title-edit.ant-btn-icon-only{width:44px;height:44px}}
