*{box-sizing:border-box}:root{--color-page: #ffffff;--color-panel: #ffffff;--color-side-soft: #fbfdff;--color-chip: #f4f8ff;--color-chip-border: #dbe6f8;--color-line: #dfe8f6;--color-line-strong: #cddaf0;--color-table-head: #fbfdff;--color-ink: #0b1220;--color-ink-soft: #1f2937;--color-muted: #858d9c;--color-muted-strong: #667085;--color-dashboard-primary: #2563d9;--color-dashboard-primary-soft: #eef5ff;--color-dashboard-primary-strong: #2b59c3;--color-danger: #c93a32;--color-danger-soft: #fff1ef;--color-positive: #17b26a;--shadow-panel: 0 16px 36px rgb(26 46 94 / 6%);--shadow-brand: 0 10px 20px rgb(27 96 219 / 16%)}body{margin:0;background:var(--color-page);color:var(--color-ink);font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,ui-sans-serif,sans-serif;font-size:13px;letter-spacing:0;line-height:1.42;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}button,input,select,textarea{font:inherit}strong,b,h1,h2,h3{font-weight:600}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.55}.app-shell{--sidebar-width: 270px;display:grid;grid-template-columns:var(--sidebar-width) minmax(0,1fr);min-height:100vh;background:var(--color-page)}.app-shell.sidebar-collapsed{--sidebar-width: 68px}.sidebar{position:sticky;top:0;display:flex;flex-direction:column;height:100vh;border-right:1px solid var(--color-line);background:var(--color-panel);color:var(--color-ink-soft);padding:24px 20px 22px}.sidebar-collapsed .sidebar{padding:22px 12px}.workspace{display:flex;align-items:center;gap:11px;width:100%;border:0;background:transparent;color:var(--color-ink);font-size:18px;font-weight:600;letter-spacing:-.01em;text-align:left}.sidebar-collapsed .workspace{justify-content:center}.workspace-mark{position:relative;display:grid;place-items:center;flex:0 0 auto;width:32px;height:32px;overflow:hidden;border:0;border-radius:10px;background:var(--color-dashboard-primary);color:transparent;box-shadow:var(--shadow-brand);font-size:0}.workspace-mark:before,.workspace-mark:after{position:absolute;top:8px;width:16px;height:16px;border:2px solid rgb(255 255 255 / 78%);border-radius:999px;content:""}.workspace-mark:before{left:8px}.workspace-mark:after{right:8px;border-color:#ffffff85}.workspace-mark+span:after{color:var(--color-dashboard-primary);content:""}.workspace-menu{display:grid;gap:8px;margin-top:14px;border:1px solid var(--color-line);border-radius:14px;background:var(--color-side-soft);padding:12px;color:var(--color-ink-soft);box-shadow:var(--shadow-panel)}.workspace-menu strong{color:var(--color-ink);font-size:15px}.workspace-menu span{color:var(--color-muted);font-size:12px;line-height:1.35}.nav-list{display:grid;gap:8px;margin-top:28px}.nav-item{position:relative;display:flex;align-items:center;gap:12px;min-height:38px;border:1px solid transparent;border-radius:18px;background:transparent;color:var(--color-ink-soft);padding:8px 12px;text-align:left;font-size:14px;font-weight:500;transition:border-color .18s ease,background-color .18s ease,color .18s ease}.nav-icon{flex:0 0 auto}.sidebar-collapsed .nav-item{place-items:center;justify-content:center;min-height:38px;padding:8px 0;text-align:center}.nav-item.active,.nav-item:hover{color:var(--color-ink)}.nav-item.active{font-weight:600}.nav-item:hover{background:#f8fafc}.nav-item.active{border-color:var(--color-dashboard-primary);background:var(--color-panel)}.nav-item.active:before{position:absolute;top:50%;left:-1px;width:4px;height:20px;border-radius:0 999px 999px 0;background:var(--color-dashboard-primary);content:"";transform:translateY(-50%)}.sidebar-footer{display:flex;gap:8px;align-items:center;margin-top:auto;border-top:1px solid var(--color-line);padding-top:14px}.sidebar-collapsed .sidebar-footer{flex-direction:column}.sidebar-footer button{display:inline-flex;align-items:center;gap:6px;border:1px solid transparent;border-radius:10px;background:transparent;color:var(--color-ink-soft);padding:7px 8px;font-weight:500}.sidebar-footer button:hover{border-color:var(--color-line);background:var(--color-side-soft);color:var(--color-ink)}.sidebar-toast{position:absolute;right:14px;bottom:62px;max-width:220px;border-radius:12px;background:#091226eb;color:#fff;padding:10px 12px;font-size:12px;font-weight:500}.activity-panel{position:absolute;left:18px;right:18px;bottom:62px;z-index:10;max-height:340px;overflow:auto;border:1px solid var(--color-line);border-radius:14px;background:var(--color-panel);color:var(--color-ink);box-shadow:0 18px 46px #0f172a29}.sidebar-collapsed .activity-panel{left:76px;width:280px}.activity-panel header{position:sticky;top:0;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--color-line);background:var(--color-panel);padding:10px 12px}.activity-panel header button{border:1px solid var(--color-line);border-radius:10px;background:var(--color-panel);color:var(--color-ink-soft);padding:5px 8px;font-size:12px;font-weight:500}.activity-panel p,.activity-item{margin:0;padding:10px 12px}.activity-item{display:grid;gap:4px;border-bottom:1px solid var(--color-line)}.activity-item span,.activity-item em{color:var(--color-muted);font-size:12px}.main{min-width:0;overflow-x:hidden;overflow-y:auto;padding:24px 32px 40px;background:var(--color-page)}.topbar{position:static;z-index:4;display:flex;justify-content:space-between;gap:12px;align-items:end;min-height:0;border-bottom:1px solid var(--color-line);background:var(--color-panel);padding:0 0 18px}.topbar>div:first-child{flex:1 1 auto;min-width:0;font-size:0}.topbar>div:first-child h1{display:block;min-width:0;margin:0;overflow:visible;color:var(--color-ink);font-size:30px;font-weight:600;letter-spacing:-.02em;line-height:1.1;text-overflow:clip;white-space:normal}.crumb,.crumb-separator{display:none}.toolbar{position:relative;flex:0 1 auto;display:flex;align-items:center;justify-content:flex-end;gap:6px;min-width:0}.toolbar button,.search-box{display:inline-flex;align-items:center;justify-content:center;gap:6px;border:1px solid transparent;border-radius:10px;background:transparent;color:var(--color-ink-soft);min-height:36px;padding:7px 8px;font-size:14px;font-weight:500}.toolbar button:hover,.search-box:focus-within{border-color:var(--color-line);background:#f8fafc;color:var(--color-ink)}.search-box input{width:88px;border:0;background:transparent;color:var(--color-ink);outline:0;font-weight:500}.search-box input::placeholder{color:var(--color-muted)}.icon-button{width:40px;justify-content:center;border:1px solid var(--color-line)!important;background:#fff!important}.add-button{border:0!important;background:#111827!important;color:#fff!important;min-height:38px!important;border-radius:10px!important;padding:8px 14px!important;font-weight:600;white-space:nowrap;box-shadow:0 10px 20px #0f172a1f}.add-button:disabled{background:#d8dfe9!important;color:var(--color-muted)!important;box-shadow:none}.secondary-button{border:1px solid var(--color-line);border-radius:10px;background:var(--color-panel);color:var(--color-ink-soft);min-height:34px;padding:7px 12px;font-weight:500}.payment-category-tabs{display:flex;gap:18px;margin-top:16px;border:1px solid var(--color-line);border-radius:14px;background:var(--color-panel);padding:11px 14px 8px}.payment-category-tab{border:0;border-bottom:2px solid transparent;border-radius:0;background:transparent;color:var(--color-muted);min-height:30px;padding:5px 0 7px;font-size:14px;font-weight:500;cursor:pointer}.payment-category-tab[aria-pressed=true]{border-color:var(--color-dashboard-primary);background:transparent;color:var(--color-ink)}.toolbar-menu{position:absolute;top:46px;right:126px;z-index:8;display:grid;min-width:190px;border:1px solid var(--color-line);border-radius:14px;background:var(--color-panel);box-shadow:0 18px 46px #0f172a1f;padding:6px}.toolbar-menu button{justify-content:flex-start;width:100%;border-radius:10px;padding:8px 10px;text-align:left}.app-alert{margin-top:12px;border:1px solid #f7c7bf;border-radius:12px;background:var(--color-danger-soft);color:#b42318;padding:10px 12px;font-size:13px;font-weight:500}.filter-bar,.sort-bar{display:flex;align-items:center;gap:10px;margin-top:12px;border:1px solid var(--color-line);border-radius:14px;background:var(--color-panel);padding:10px 12px}.filter-bar label,.sort-bar label{display:inline-flex;align-items:center;gap:6px;color:var(--color-muted);font-size:11px;font-weight:500;letter-spacing:.08em;text-transform:uppercase}.filter-bar input,.filter-bar select,.sort-bar select{width:320px;min-height:34px;border:1px solid var(--color-line);border-radius:10px;background:var(--color-panel);color:var(--color-ink);padding:7px 10px;font-size:13px;font-weight:500}.filter-bar select,.sort-bar select{width:190px}.table-wrap{min-width:1180px;padding:16px 0 0}.data-grid-wrap{min-width:0;overflow-x:auto;overflow-y:hidden;margin-top:16px;border:0;border-radius:0;background:transparent;padding:0}.data-grid{counter-reset:data-grid-row;width:max-content;min-width:100%;border-top:1px solid var(--color-line)}.data-grid-row{display:grid;grid-template-columns:var(--data-grid-template);align-items:center;width:max-content;min-width:100%;min-height:34px;border-bottom:1px solid var(--color-line);background:var(--color-panel)}.data-grid-header{position:static;min-height:30px;background:var(--color-panel);color:var(--color-muted);font-size:12px;font-weight:500;letter-spacing:0;text-transform:none}.data-grid-cell{display:flex;align-items:center;min-width:0;min-height:34px;overflow:hidden;padding:0 8px;color:var(--color-ink);text-overflow:ellipsis;white-space:nowrap}.data-grid-number-cell,.data-grid-row:not(.data-grid-header):not(.add-row):not(:has(.data-grid-cell-spanning)):before,.data-grid-row.add-row:before{display:flex;align-items:center;justify-content:flex-end;min-width:0;min-height:34px;overflow:hidden;color:var(--color-muted);font-size:12px;font-variant-numeric:tabular-nums;font-weight:500;padding:0 10px 0 8px;text-align:right;white-space:nowrap}.data-grid-row:not(.data-grid-header):not(.add-row):not(:has(.data-grid-cell-spanning)):before{counter-increment:data-grid-row;content:counter(data-grid-row)}.data-grid-row.add-row:before{content:""}.data-grid-cell-spanning{grid-column:1 / -1;display:block;overflow:hidden;padding:0;white-space:normal}.data-grid-head{min-height:30px}.data-grid-cell[data-level="1"]{padding-left:28px}.data-grid-cell[data-level="2"]{padding-left:48px}.data-grid-row:hover>.data-grid-cell,.data-grid-row:focus-within>.data-grid-cell,.data-grid-row:hover:before,.data-grid-row:focus-within:before{background:#fbfdff}.data-grid-row.active-row>.data-grid-cell,.data-grid-row.active-row:before{background:var(--color-chip)}.data-grid-row.active-row:hover>.data-grid-cell,.data-grid-row.active-row:focus-within>.data-grid-cell,.data-grid-row.active-row:hover:before,.data-grid-row.active-row:focus-within:before{background:#eef5ff}.data-grid-row .inline-input:focus,.data-grid-row .inline-editable-text:focus,.data-grid-row .inline-select:focus,.data-grid-row .inline-multi-button:focus{border-color:#aeb7c6;background-color:var(--color-panel);box-shadow:0 0 0 3px #1b60db14}.record-type-cell{color:var(--color-muted);font-size:12px;font-weight:500}.nested-table-row>.data-grid-cell{background:var(--color-panel)}.nested-table-row:hover>.data-grid-cell,.nested-table-row:focus-within>.data-grid-cell{background:#fff}.nested-table-shell{min-width:0;overflow:hidden;padding:6px 0 12px 28px}.nested-task-shell{min-width:0;overflow:hidden;padding:6px 0 10px 28px}.nested-data-grid{margin-top:0;border:0;border-radius:0;background:transparent;padding:0}.nested-data-grid .data-grid{border-top:1px solid var(--color-line)}.nested-data-grid .data-grid-header{background:var(--color-table-head)}.nested-data-grid .data-grid-row{background:var(--color-panel)}.stage-detail-row>.data-grid-cell,.payment-income-detail-row>.data-grid-cell{border-bottom:1px solid var(--color-line)}.project-row{width:100%;border:0;background:var(--color-panel);color:inherit;padding:0;text-align:left}.row-toggle{display:inline-flex;align-items:center;gap:8px;border:0;background:transparent;color:inherit;padding:0;text-align:left}.row-toggle-icon{flex:0 0 auto}.active-row{background:var(--color-chip)}.project-row:hover,.simple-row:hover,.stage-row:hover,.project-row:focus-within,.simple-row:focus-within,.stage-row:focus-within{background:#fbfdff}.active-row:hover,.active-row:focus-within{background:#eef5ff}.data-grid-row[data-drawer-row=true]{cursor:pointer}.data-grid-row[data-drawer-row=true]:focus-visible{outline:2px solid #a7bdf8;outline-offset:-2px}.data-grid-row[aria-selected=true]>.data-grid-cell,.data-grid-row[aria-selected=true]:before{background:var(--color-chip)}.data-grid-row[aria-selected=true]:hover>.data-grid-cell,.data-grid-row[aria-selected=true]:focus-within>.data-grid-cell,.data-grid-row[aria-selected=true]:hover:before,.data-grid-row[aria-selected=true]:focus-within:before{background:#eef5ff}.readonly-cell{display:block;min-width:0;overflow:hidden;color:var(--color-ink-soft);font-size:13px;line-height:1.25;text-overflow:ellipsis;white-space:nowrap}.readonly-cell-strong{font-weight:500}.readonly-link-cell{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:6px;min-width:0;width:100%}.readonly-link-cell span{min-width:0;overflow:hidden;color:var(--color-ink-soft);font-size:13px;text-overflow:ellipsis;white-space:nowrap}.readonly-link-cell a{color:var(--color-dashboard-primary);font-size:12px;font-weight:500;text-decoration:none;white-space:nowrap}.readonly-link-cell a:hover{text-decoration:underline}.name-cell{display:flex;align-items:center;gap:6px}.inline-link-field{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:4px;min-width:0}.inline-link-field a{color:var(--color-dashboard-primary);font-size:12px;font-weight:500;text-decoration:none}.inline-link-field a:hover{text-decoration:underline}.file-upload-button{position:relative;display:inline-grid;place-items:center;overflow:hidden;width:24px;height:24px;border:0;border-radius:8px;color:var(--color-muted-strong);cursor:pointer}.file-upload-button:hover{background:var(--color-dashboard-primary-soft);color:var(--color-dashboard-primary)}.file-upload-button input{position:absolute;inset:0;width:100%;height:100%;opacity:0;pointer-events:none}.partner-card-field{display:flex;align-items:center;gap:5px;min-width:0;width:100%}.partner-card-file{display:inline-flex;align-items:center;gap:5px;min-width:0;max-width:96px;height:28px;border:1px solid var(--color-line);border-radius:8px;background:var(--color-panel);color:var(--color-ink);padding:2px 5px;cursor:pointer}.partner-card-file:hover,.partner-card-file:focus-visible{border-color:var(--color-dashboard-primary);box-shadow:0 0 0 3px #1b60db1a}.partner-card-thumb{display:grid;place-items:center;flex:0 0 auto;width:20px;height:24px;border:1px solid var(--color-line);border-radius:6px;background:linear-gradient(#fff,#f6faff);color:var(--color-muted)}.partner-card-name{min-width:0;overflow:hidden;color:var(--color-ink-soft);font-size:11px;font-weight:500;text-overflow:ellipsis;white-space:nowrap}.partner-card-empty{color:var(--color-muted);font-weight:500}.partner-card-upload{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:5px;flex:0 0 auto;min-width:24px;height:24px;border-radius:8px;background:var(--color-side-soft);color:var(--color-ink);overflow:hidden;padding:0 7px;font-size:11px;font-weight:500;cursor:pointer}.partner-card-upload-icon{padding:0}.partner-card-upload:hover,.partner-card-upload:focus-within{background:var(--color-dashboard-primary-soft);color:var(--color-dashboard-primary)}.partner-card-upload input,.partner-card-form-field input{position:absolute;inset:0;width:100%;height:100%;opacity:0;pointer-events:none}.partner-card-form-field{position:relative;display:inline-block;overflow:hidden;cursor:pointer}.partner-card-form-upload{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:38px;border:1px dashed var(--color-line-strong);border-radius:10px;background:var(--color-side-soft);color:var(--color-ink-soft);padding:8px 10px;font-size:13px;font-weight:500}.partner-card-form-upload:hover{border-color:var(--color-dashboard-primary);background:var(--color-dashboard-primary-soft);color:var(--color-dashboard-primary)}.customer-detail-file-button{display:inline-flex;align-items:center;gap:6px;max-width:220px;border:0;border-radius:8px;background:var(--color-chip);color:var(--color-dashboard-primary);padding:4px 8px;font-size:12px;font-weight:500;cursor:pointer}.customer-detail-file-button span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.customer-detail-file-button:hover{background:var(--color-dashboard-primary-soft)}.stage-row{font-weight:500}.stage-payment-button{display:inline-flex;align-items:center;max-width:100%;border:0;background:transparent;color:inherit;padding:0;font:inherit;font-weight:500;text-align:left;cursor:pointer}.stage-payment-button:hover,.stage-payment-button:focus-visible{color:var(--color-dashboard-primary);text-decoration:underline}.inline-add{display:inline-flex;align-items:center;min-height:28px;margin:6px 0 0 34px;border:0;border-radius:10px;background:transparent;color:var(--color-muted-strong);padding:4px 8px;font-weight:500}.inline-add:hover{background:#fbfdff;color:var(--color-dashboard-primary)}.inline-add-small{margin-left:14px}.inline-add-in-grid{margin:0}.inline-input{width:100%;min-width:0;height:24px;border:1px solid transparent;border-radius:8px;background:transparent;color:var(--color-ink);padding:2px 6px;outline:0}.inline-input:focus{border-color:var(--color-line-strong);background:var(--color-panel)}.inline-input::placeholder{color:var(--color-muted)}.inline-textarea{min-height:24px;height:24px;max-height:64px;overflow:hidden;resize:none;line-height:1.25}.inline-textarea:focus{min-height:48px;height:auto;overflow:auto;resize:vertical}.inline-editable-text{display:inline-block;width:100%;min-width:0;min-height:24px;overflow:hidden;border:1px solid transparent;border-radius:8px;padding:2px 6px;text-overflow:ellipsis;white-space:nowrap;outline:0}.inline-editable-text:focus{border-color:var(--color-line-strong);background:var(--color-panel)}.inline-number{text-align:right}.inline-date-trigger{display:inline-flex;align-items:center;width:100%;min-height:34px;cursor:pointer}.data-grid-cell:has(.inline-date-trigger){padding:0}.data-grid-cell:has(.inline-date-trigger) .inline-date-trigger{padding:0 8px}.inline-date{width:100%;min-width:102px;cursor:pointer}.finance-data-grid .inline-date{min-width:118px}.action-cell{display:flex;justify-content:center}.delete-button{display:inline-grid;place-items:center;width:26px;height:26px;border:0;border-radius:8px;background:transparent;color:#b42318}.delete-button:hover{background:var(--color-danger-soft);color:var(--color-danger)}.simple-row .select-cell,.project-row .select-cell,.stage-row .select-cell{overflow:visible}.pill{display:inline-flex;align-items:center;min-width:0;min-height:22px;max-width:100%;overflow:hidden;border-radius:999px;padding:2px 8px;font-size:12px;font-weight:500;line-height:1;text-overflow:ellipsis;white-space:nowrap;vertical-align:middle}.pill+.pill{margin-left:5px}.inline-select{width:100%;max-width:140px;min-height:22px;border:0;border-radius:999px;padding:2px 24px 2px 8px;color:var(--color-ink-soft);font-size:12px;font-weight:500;line-height:1;outline:0}.inline-select-green{background:#d4f7d9;color:#216b35}.inline-select-blue{background:var(--color-dashboard-primary-soft);color:var(--color-dashboard-primary-strong)}.inline-select-soft{background:var(--color-chip);color:var(--color-ink-soft)}.inline-select-red{background:#ffe3e8;color:#9f2635}.inline-select-amber{background:#fff0c2;color:#7a4c00}.inline-select-purple{background:#ede7ff;color:#5730a2}.inline-select-cyan{background:#dff6ff;color:#075985}.inline-select-teal{background:#d8f7ef;color:#0f6b5b}.inline-select-orange{background:#ffe6d5;color:#9a3f00}.inline-select-slate{background:#edf2f8;color:var(--color-muted-strong)}.customer-link-button{display:inline-flex;align-items:center;justify-content:space-between;gap:6px;width:100%;max-width:165px;min-height:24px;border:1px solid transparent;border-radius:999px;background:var(--color-chip);color:var(--color-ink-soft);padding:2px 8px 2px 10px;font-size:12px;font-weight:500;line-height:1;cursor:pointer}.customer-link-button span,.linked-record-button{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.customer-link-button:hover,.customer-link-button:focus-visible{border-color:var(--color-line);background:var(--color-panel);box-shadow:0 1px 2px #191f2c14;outline:0}.linked-record-list{display:flex;align-items:center;gap:5px;min-width:0;max-width:100%;overflow:hidden}.linked-record-button{display:inline-flex;align-items:center;max-width:100%;min-height:24px;border:1px solid var(--color-chip-border);border-radius:999px;background:var(--color-panel);color:var(--color-dashboard-primary);padding:2px 8px;font-size:12px;font-weight:500;cursor:pointer}.linked-record-button:hover,.linked-record-button:focus-visible{border-color:#b8c8e4;background:#f6f8ff;outline:0}.inline-multi{position:relative;display:inline-block;width:100%;max-width:100%;overflow:visible;vertical-align:middle}.inline-multi-button{display:inline-flex;align-items:center;justify-content:space-between;gap:6px;max-width:100%;cursor:pointer;text-align:left}.inline-multi-button>span:not(.inline-multi-values){min-width:0;overflow:hidden;padding:0;text-overflow:ellipsis;white-space:nowrap}.inline-multi-button-chips{max-width:100%;background:var(--color-panel);padding:2px 6px}.inline-multi-values{display:inline-flex;align-items:center;gap:4px;min-width:0;overflow:hidden;white-space:nowrap}.inline-multi-chip{display:inline-flex;align-items:center;min-width:0;max-width:150px;border-radius:999px;padding:2px 7px;font-size:12px;font-weight:500;line-height:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.inline-multi-menu{position:fixed;z-index:1200;display:grid;gap:2px;overflow:auto;overscroll-behavior:contain;border:1px solid var(--color-line);border-radius:12px;background:var(--color-panel);box-sizing:border-box;box-shadow:0 18px 46px #0f172a24;padding:5px}.inline-multi-option{display:flex;align-items:center;gap:7px;min-height:26px;border-radius:8px;padding:4px 6px;color:var(--color-ink);font-size:13px;font-weight:500;cursor:pointer}.inline-multi-option:hover{background:#fbfdff}.inline-multi-option input{flex:0 0 auto;width:15px;height:15px;margin:0;accent-color:var(--color-dashboard-primary)}.inline-multi-option>span{min-width:0;overflow:hidden;padding:0;text-overflow:ellipsis;white-space:nowrap}.inline-multi-option-pill{display:inline-flex;align-items:center;justify-content:flex-start;flex:0 1 auto;max-width:100%;min-height:22px;border-radius:999px;padding:2px 8px;box-sizing:border-box;font-size:12px;font-weight:500;line-height:1}.pill-green{background:#d4f7d9;color:#216b35}.pill-blue{background:var(--color-dashboard-primary-soft);color:var(--color-dashboard-primary-strong)}.pill-soft{background:var(--color-chip);color:var(--color-ink-soft)}.pill-red{background:#ffe3e8;color:#9f2635}.pill-amber{background:#fff0c2;color:#7a4c00}.pill-purple{background:#ede7ff;color:#5730a2}.pill-cyan{background:#dff6ff;color:#075985}.pill-teal{background:#d8f7ef;color:#0f6b5b}.pill-orange{background:#ffe6d5;color:#9a3f00}.pill-slate{background:#edf2f8;color:var(--color-muted-strong)}.table-head{color:var(--color-muted);font-size:12px;font-weight:500;letter-spacing:0;text-transform:none}.customer-detail-grid-row{align-items:stretch}.customer-detail-grid-row:hover>.data-grid-cell,.customer-detail-grid-row:focus-within>.data-grid-cell{background:#fbfdff}.customer-detail-row{box-sizing:border-box;display:grid;gap:10px;width:min(100%,calc(100vw - var(--sidebar-width) - 32px));max-width:100%;min-width:0;overflow-x:hidden;border-bottom:1px solid var(--color-line);background:#fbfdff;padding:9px 14px 12px 30px}.customer-detail-row-loading{color:var(--color-muted);font-size:14px;font-weight:500}.customer-detail-summary{display:flex;flex-wrap:wrap;gap:8px 18px;color:var(--color-muted-strong);font-size:13px;font-weight:500}.customer-detail-summary a{color:var(--color-dashboard-primary);text-decoration:none}.customer-detail-summary a:hover{text-decoration:underline}.customer-linked-section{display:grid;gap:6px;min-width:0;overflow-x:auto}.customer-linked-title{display:flex;align-items:center;justify-content:space-between;gap:12px;color:var(--color-ink-soft)}.customer-linked-title span{color:var(--color-muted);font-size:12px;font-weight:500}.customer-linked-grid{display:grid;width:max-content;min-width:100%;border-top:1px solid var(--color-line)}.customer-linked-grid>span{min-height:32px;overflow:hidden;border-bottom:1px solid var(--color-line);padding:6px 8px;text-overflow:ellipsis;white-space:nowrap}.customer-project-grid{grid-template-columns:minmax(220px,1.4fr) 130px 150px 130px 130px}.customer-stage-grid{grid-template-columns:minmax(220px,1.3fr) minmax(180px,1fr) 130px 130px 120px 120px 120px}.customer-income-grid{grid-template-columns:minmax(220px,1.3fr) minmax(180px,1fr) minmax(160px,1fr) 120px 130px 120px}.empty-linked-row{grid-column:1 / -1;color:var(--color-muted)}.modal-backdrop{position:fixed;inset:0;z-index:20;display:grid;place-items:center;background:#0f172a47;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.modal{display:grid;grid-template-rows:auto minmax(0,1fr);width:min(720px,calc(100vw - 32px));max-height:calc(100vh - 32px);overflow:hidden;border:1px solid var(--color-line);border-radius:16px;background:var(--color-panel);box-shadow:0 24px 80px #0f172a2e}.modal header{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--color-line);padding:16px 18px}.modal header button{display:inline-grid;place-items:center;width:34px;height:34px;border:1px solid var(--color-line);border-radius:10px;background:var(--color-panel);color:var(--color-ink-soft);font-size:20px}.modal>:not(header){min-height:0;overflow:auto}.modal-form{display:grid;gap:14px;padding:18px}.modal-form label{display:grid;gap:7px;color:var(--color-muted);font-size:12px;font-weight:500}.modal-form input,.modal-form select,.modal-form textarea{width:100%;border:1px solid #d8dce5;border-radius:6px;padding:10px;color:#1f2330;font-size:14px;font-weight:500}.modal-form input,.modal-form select,.modal-form textarea{border-color:var(--color-line);border-radius:10px;background:var(--color-panel);color:var(--color-ink)}.modal-form textarea{min-height:76px;resize:vertical;line-height:1.35}.modal.stage-payments-modal{width:min(880px,calc(100vw - 32px))}.stage-payments-content{display:grid;gap:14px;padding:16px 18px 18px}.stage-payments-table{display:grid;border:1px solid var(--color-line);border-radius:12px;overflow:hidden}.stage-payment-grid{display:grid;grid-template-columns:minmax(160px,1.35fr) minmax(120px,.8fr) minmax(142px,.85fr) minmax(138px,.85fr) 40px;gap:10px;align-items:center}.stage-payment-grid-header{background:var(--color-table-head);color:var(--color-muted);padding:10px 12px;font-size:12px;font-weight:500}.stage-payment-row{border-top:1px solid var(--color-line);padding:10px 12px;background:var(--color-panel)}.stage-payment-new-row{background:#fbfdff}.stage-payments-empty{margin:0;border-top:1px solid var(--color-line);padding:16px 12px;color:var(--color-muted);font-weight:500}.stage-payment-input,.stage-payment-readonly-input{width:100%;min-width:0;height:34px;border:1px solid var(--color-line);border-radius:10px;background:var(--color-panel);color:var(--color-ink);padding:6px 9px;font-size:14px;font-weight:500}.stage-payment-readonly-input{background:var(--color-side-soft)}.stage-payments-modal .inline-select{max-width:none;min-height:34px;border-radius:17px;padding:6px 28px 6px 12px;font-size:14px}.stage-payment-actions{display:flex;gap:8px;align-items:center;justify-content:center}.stage-payment-save-button,.stage-payment-cancel-button,.stage-payment-add-button{min-height:32px;border-radius:10px;padding:6px 10px;font-weight:500;cursor:pointer}.stage-payment-save-button{border:0;background:var(--color-dashboard-primary);color:#fff}.stage-payment-cancel-button,.stage-payment-add-button{border:1px solid var(--color-line);background:var(--color-panel);color:var(--color-ink-soft)}.stage-payment-add-button{justify-self:start}@media(max-width:900px){.stage-payment-grid{grid-template-columns:1fr}.stage-payment-grid-header{display:none}.stage-payment-actions{justify-content:flex-start}}.modal.customer-picker-modal{width:min(1120px,calc(100vw - 32px))}.customer-picker{display:grid;gap:10px;width:100%;max-width:100%;padding:14px 16px 16px}.customer-picker-search{display:grid;gap:6px;color:var(--color-muted);font-size:12px;font-weight:500}.customer-picker-search input{width:100%;border:1px solid var(--color-line);border-radius:10px;padding:7px 9px;color:var(--color-ink);font-size:13px;font-weight:500}.customer-picker-statuses{display:flex;flex-wrap:wrap;gap:6px}.customer-picker-statuses button,.customer-picker-actions button{min-height:28px}.customer-picker-statuses button{border:1px solid var(--color-line);border-radius:999px;background:var(--color-panel);color:var(--color-muted-strong);padding:3px 10px;font-size:12px;font-weight:500;cursor:pointer}.customer-picker-statuses button.active{border-color:#b8c8e4;background:var(--color-chip);color:var(--color-ink-soft)}.customer-picker-list{max-height:min(430px,calc(100vh - 250px));min-height:0;border:1px solid var(--color-line);border-radius:12px;background:var(--color-panel);overflow:auto}.customer-picker-table-shell{min-width:1080px}.customer-picker-table{width:100%;border-collapse:collapse;table-layout:fixed}.customer-picker-table th,.customer-picker-table td{min-width:0;height:34px;border-bottom:1px solid var(--color-line);padding:5px 8px;overflow:hidden;text-align:left;text-overflow:ellipsis;vertical-align:middle;white-space:nowrap}.customer-picker-table th{position:sticky;top:0;z-index:1;height:30px;background:var(--color-table-head);color:var(--color-muted);font-size:10px;font-weight:500;letter-spacing:.1em;text-transform:uppercase}.customer-picker-table th:nth-child(1){width:4%}.customer-picker-table th:nth-child(2){width:16%}.customer-picker-table th:nth-child(3){width:13%}.customer-picker-table th:nth-child(4){width:10%}.customer-picker-table th:nth-child(5){width:14%}.customer-picker-table th:nth-child(6){width:13%}.customer-picker-table th:nth-child(7){width:6%}.customer-picker-table th:nth-child(8){width:6%}.customer-picker-table th:nth-child(9){width:8%}.customer-picker-table th:nth-child(10){width:10%}.customer-picker-table td{color:var(--color-ink-soft);font-size:12px;font-weight:500}.customer-picker-number{color:var(--color-muted);font-variant-numeric:tabular-nums;text-align:right}.customer-picker-table tbody tr:last-child td{border-bottom:0}.customer-picker-row{transition:background .12s ease}.customer-picker-row:hover{background:#fbfdff}.customer-picker-row.selected{background:var(--color-chip);box-shadow:inset 3px 0 0 var(--color-dashboard-primary)}.customer-picker-name strong{display:block;min-width:0;overflow:hidden;color:var(--color-ink);text-overflow:ellipsis;white-space:nowrap}.customer-picker-count{color:var(--color-muted-strong);text-align:center}.customer-picker-status-cell{overflow:hidden}.customer-picker-status-cell .pill{justify-content:center;width:100%;max-width:100%;box-sizing:border-box}.customer-picker-table .secondary-button{display:inline-flex;align-items:center;justify-content:center;gap:4px;width:100%;max-width:100%;min-width:0;min-height:24px;overflow:hidden;padding:3px 6px;border-radius:8px;box-sizing:border-box;font-size:11px;line-height:1.1;text-overflow:ellipsis;white-space:nowrap}.customer-picker-empty{margin:0;color:var(--color-muted);padding:18px;font-size:13px;font-weight:500;text-align:center}.customer-picker-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;border-top:1px solid var(--color-line);padding-top:10px}.customer-picker-actions button{min-height:28px}.customer-picker-current{min-width:0;margin-right:auto;overflow:hidden;color:var(--color-ink-soft);font-size:13px;font-weight:500;text-overflow:ellipsis;white-space:nowrap}.customer-picker-selected-button{border-color:#bbe0c1;background:#f5fbf6;color:#216b35}.linked-record-modal{display:grid;gap:14px;width:min(620px,calc(100vw - 32px));max-width:100%;padding:16px 18px 18px}.linked-record-fields{display:grid;grid-template-columns:minmax(130px,auto) minmax(0,1fr);gap:8px 14px;align-items:center}.linked-record-fields span{color:var(--color-muted);font-size:12px;font-weight:500}.linked-record-fields strong,.linked-record-services span{min-width:0;overflow:hidden;color:var(--color-ink);text-overflow:ellipsis;white-space:nowrap}.linked-record-services{display:grid;gap:8px;border-top:1px solid var(--color-line);padding-top:12px}.linked-record-services>div{display:flex;flex-wrap:wrap;gap:6px}.linked-record-services span{border:1px solid var(--color-line);border-radius:999px;padding:3px 8px;font-size:12px;font-weight:500}.file-preview-backdrop{position:fixed;inset:0;z-index:60;display:grid;grid-template-rows:48px 1fr;background:#000000d1;color:#fff}.file-preview-close{position:fixed;top:10px;left:12px;z-index:62;display:grid;place-items:center;width:28px;height:28px;border:0;border-radius:6px;background:transparent;color:#fff;cursor:pointer}.file-preview-close:hover{background:#ffffff1f}.file-preview-header{display:grid;grid-template-columns:1fr auto;align-items:center;gap:16px;min-width:0;border-bottom:1px solid rgb(255 255 255 / 10%);background:#0f1115f0;padding:0 24px 0 58px}.file-preview-header strong{min-width:0;overflow:hidden;text-align:center;text-overflow:ellipsis;white-space:nowrap}.file-preview-actions{display:inline-flex;align-items:center;gap:8px}.file-preview-actions a{display:inline-flex;align-items:center;gap:5px;min-height:28px;border-radius:6px;color:#fff;padding:0 8px;font-size:12px;font-weight:500;text-decoration:none}.file-preview-actions a:hover{background:#ffffff1f}.file-preview-shell{min-height:0;padding:10px 56px 18px}.file-preview-shell iframe{width:100%;height:100%;border:0;border-radius:2px;background:#fff}.form-error{margin:0;border:1px solid #f7c7bf;border-radius:10px;background:var(--color-danger-soft);color:#b42318;padding:10px;font-size:13px;font-weight:500}.import-summary{display:grid;gap:10px;border:1px solid var(--color-line);border-radius:10px;padding:12px;color:var(--color-muted-strong);font-size:13px}.import-summary strong{color:var(--color-ink)}.import-summary-ok{border-color:#bbe0c1;background:#f5fbf6}.import-summary-warning{border-color:#f0d28a;background:#fffaf0}.import-count-grid,.import-gap-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px 10px}.import-gap-list strong{grid-column:1 / -1}.option-value-list{display:flex;flex-wrap:wrap;gap:6px;max-height:150px;overflow:auto;border:1px solid var(--color-line);border-radius:10px;padding:8px}.option-chip{display:inline-flex;align-items:center;gap:2px;max-width:100%}.option-chip button{display:grid;place-items:center;width:22px;height:22px;border:0;border-radius:8px;background:transparent;color:var(--color-muted);font-size:16px;line-height:1}.option-chip button:hover{background:var(--color-danger-soft);color:var(--color-danger)}.record-drawer{position:fixed;top:0;right:0;bottom:0;z-index:40;display:grid;grid-template-rows:auto 1fr;width:min(520px,calc(100vw - 28px));border-left:1px solid var(--color-line);background:var(--color-panel);box-shadow:-18px 0 40px #0f172a1f}.record-drawer-header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;border-bottom:1px solid var(--color-line);padding:14px 16px}.record-drawer-header div{min-width:0}.record-drawer-header span{display:block;margin-bottom:4px;color:var(--color-muted);font-size:12px;font-weight:500}.record-drawer-header strong{display:block;min-width:0;overflow:hidden;color:var(--color-ink);font-size:22px;line-height:1.15;text-overflow:ellipsis;white-space:nowrap}.record-drawer-body{min-height:0;overflow:auto;padding:14px 16px 26px}.record-drawer-fields{display:grid;gap:10px}.record-drawer-field{display:grid;grid-template-columns:minmax(112px,.38fr) minmax(0,1fr);align-items:start;gap:10px;min-width:0}.record-drawer-field>span{color:var(--color-muted);font-size:12px;font-weight:500;line-height:1.25;padding-top:7px}.record-drawer-field input,.record-drawer-field textarea,.record-drawer-select{width:100%;min-width:0;border:1px solid var(--color-line);border-radius:10px;background:var(--color-panel);color:var(--color-ink);font:inherit;font-size:13px;outline:0;padding:6px 8px}.record-drawer-field input,.record-drawer-select{height:32px}.record-drawer-field textarea{min-height:72px;resize:vertical}.record-drawer-date-field,.record-drawer-date-field input{cursor:pointer}.record-drawer-field input:focus,.record-drawer-field textarea:focus,.record-drawer-select:focus{border-color:var(--color-dashboard-primary);box-shadow:0 0 0 4px #1b60db14}.record-drawer-field .inline-select,.record-drawer-field .customer-link-button{width:100%;min-height:32px}.record-drawer-field-readonly strong{min-width:0;overflow:hidden;border:1px solid transparent;color:var(--color-ink);font-size:13px;font-weight:500;line-height:32px;text-overflow:ellipsis;white-space:nowrap}.record-drawer-link-field{display:grid;gap:5px}.record-drawer-link-field a{justify-self:end;color:var(--color-dashboard-primary);font-size:12px;font-weight:500;text-decoration:none}.record-drawer-link-field a:hover{text-decoration:underline}.finance-page{display:grid;gap:16px;padding:0;background:var(--color-panel)}.finance-page h1{margin:0;border-bottom:1px solid var(--color-line);padding-bottom:18px;color:var(--color-ink);font-size:34px;font-weight:600;letter-spacing:-.02em;line-height:1.15}.finance-toolbar{display:flex;align-items:center;justify-content:space-between;gap:18px;border:1px solid var(--color-line);border-radius:14px;background:var(--color-panel);padding:12px 14px}.finance-tabs{flex:0 0 auto;display:flex;flex-wrap:nowrap;gap:18px}.finance-tabs button{border:0;border-bottom:2px solid transparent;background:transparent;color:var(--color-muted);padding:6px 0 8px;font-size:15px;font-weight:500}.finance-tabs button.active,.finance-tabs button[aria-pressed=true]{border-color:var(--color-dashboard-primary);color:var(--color-ink);font-weight:600}.finance-filters{display:flex;flex-wrap:nowrap;justify-content:flex-end;gap:8px}.finance-filters label{display:inline-flex;align-items:center;gap:8px;min-height:36px;border:1px solid var(--color-line);border-radius:10px;background:var(--color-panel);color:var(--color-muted);padding:0 10px;font-weight:500}.finance-filters input{width:112px;min-width:0;border:0;outline:0;background:transparent;color:var(--color-ink);font-weight:500}.finance-filters label:first-child span{display:inline-block;width:280px;min-width:0;overflow:hidden;color:var(--color-ink);text-overflow:ellipsis;white-space:nowrap}.finance-filters label:first-child input{width:280px}.finance-entry-layout{display:grid;grid-template-columns:minmax(280px,320px) minmax(0,1fr);gap:16px;align-items:start}.finance-entry-card{display:grid;gap:18px;border:1px solid var(--color-line);border-radius:16px;background:var(--color-panel);padding:20px 18px}.finance-entry-card h2{margin:0;color:var(--color-ink);font-size:18px;font-weight:600;line-height:1.2}.finance-entry-form{display:grid;gap:18px}.finance-entry-form label{display:grid;gap:7px;color:var(--color-muted);font-size:11px;font-weight:500;letter-spacing:.06em;text-transform:uppercase}.finance-entry-form input,.finance-entry-form select,.finance-entry-form textarea{width:100%;min-width:0;border:1px solid var(--color-line);border-radius:10px;background:var(--color-panel);color:var(--color-ink);padding:0 14px;font-size:14px;font-weight:500;letter-spacing:0;text-transform:none}.finance-entry-form input,.finance-entry-form select{height:40px}.finance-entry-form textarea{min-height:64px;resize:vertical;line-height:1.35;padding-top:10px}.finance-entry-form input[readonly]{background:var(--color-side-soft);color:var(--color-ink-soft)}.finance-entry-form input::placeholder{color:#a3acbb}.finance-entry-form button{justify-self:start;border:0;border-radius:10px;background:var(--color-dashboard-primary);color:#fff;min-height:40px;padding:0 18px;font-size:14px;font-weight:600}.finance-data-grid{margin-top:0;overflow:hidden;border:1px solid var(--color-line);border-radius:16px;padding:0}.finance-data-grid .data-grid{border-top:0}.finance-data-grid .data-grid-header{background:var(--color-table-head);color:var(--color-muted);font-size:10px;letter-spacing:.08em;text-transform:uppercase}.finance-data-grid .data-grid-row{min-height:48px;border-color:var(--color-line)}.finance-data-grid .data-grid-cell{min-height:48px;padding:0 10px}.finance-money{font-variant-numeric:tabular-nums;white-space:nowrap}.finance-money-positive{color:#287a4d}.finance-money-negative{color:#c43d34}.finance-status{display:inline-flex;align-items:center;justify-content:center;max-width:100%;border-radius:999px;padding:3px 10px;font-size:12px;font-weight:500;line-height:1.2;white-space:nowrap}.finance-status-paid{background:#eaf8ef;color:#287a4d}.finance-status-neutral{background:var(--color-chip);color:var(--color-ink-soft)}.finance-row-readonly{cursor:default}.finance-row-profit strong,.finance-row-profit span:last-child{color:var(--color-dashboard-primary)}.finance-row-loss strong,.finance-row-loss span:last-child{color:#c43d34}.finance-readonly{min-width:0;overflow:hidden;color:var(--color-muted);text-overflow:ellipsis;white-space:nowrap}.finance-row-action-cell{justify-content:center;padding-left:4px;padding-right:8px}.finance-row-delete{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;border:1px solid #ffd1cc;border-radius:8px;background:#fff;color:#c43d34;padding:0;font:inherit;cursor:pointer}.finance-row-delete:hover{background:#fff6f4;border-color:#f4aaa2}.finance-actions{gap:6px}.finance-actions button{border:1px solid var(--color-line);border-radius:10px;background:var(--color-panel);color:var(--color-ink-soft);min-height:30px;padding:5px 8px;font-weight:500}.finance-actions button:hover{border-color:#b8c8e4}.finance-segmented{justify-self:end;display:inline-flex;gap:4px;border:1px solid var(--color-line);border-radius:10px;background:var(--color-side-soft);padding:4px}.finance-segmented button{border:0;border-radius:8px;background:transparent;color:var(--color-muted);min-height:32px;padding:6px 12px;font-weight:500}.finance-segmented button.active{background:var(--color-panel);color:var(--color-ink-soft);box-shadow:0 1px 5px #0f172a1f}.finance-report-table{--finance-report-min-width: 946px;--finance-report-template: minmax(210px, 1.35fr) repeat(8, minmax(86px, .72fr));display:grid;overflow-x:auto;border:1px solid var(--color-line);border-radius:16px;background:var(--color-panel)}.finance-report-row{display:grid;grid-template-columns:var(--finance-report-template);width:100%;min-width:max(var(--finance-report-min-width),100%);border-bottom:1px solid var(--color-line)}.finance-report-row:last-child{border-bottom:0}.finance-report-row>*{display:flex;align-items:center;justify-content:flex-end;min-width:0;min-height:42px;overflow:hidden;border-left:1px solid var(--color-line);padding:0 10px;color:var(--color-ink-soft);font-variant-numeric:tabular-nums;text-align:right;text-overflow:ellipsis;white-space:nowrap}.finance-report-row>:first-child{justify-content:flex-start;border-left:0;font-weight:600;text-align:left}.finance-report-head{background:var(--color-table-head);color:var(--color-muted)}.finance-report-head>*{min-height:36px;color:var(--color-muted);font-size:10px;letter-spacing:.08em;text-transform:uppercase}.finance-row-income>*{background:#eaf8ef}.finance-row-expense>*{background:#fff0ed}.finance-row-profit>*,.finance-row-loss>*{background:#f8fafc;font-weight:600}.finance-report-indent{padding-left:24px;font-weight:500!important}.finance-settings-grid{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(360px,.8fr);gap:16px}.finance-settings-panel{overflow:hidden;border:1px solid var(--color-line);border-radius:16px;background:var(--color-panel)}.finance-settings-panel header{display:flex;align-items:center;justify-content:space-between;gap:12px;border-bottom:1px solid var(--color-line);padding:14px 16px}.finance-settings-panel h2{margin:0;color:var(--color-ink);font-size:18px}.finance-settings-panel header button{border:1px solid var(--color-line);border-radius:10px;background:var(--color-panel);color:var(--color-ink-soft);min-height:34px;padding:7px 12px;font-weight:500}.finance-settings-panel header button:hover{border-color:var(--color-line-strong);color:var(--color-ink)}.finance-settings-add,.finance-setting-row{display:grid;grid-template-columns:minmax(180px,1fr) 150px 150px 120px;gap:8px;align-items:center;border-bottom:1px solid var(--color-line);padding:10px 14px}.finance-settings-panel:last-child .finance-settings-add,.finance-settings-panel:last-child .finance-setting-row{grid-template-columns:minmax(180px,1fr) 120px}.finance-setting-row:last-child{border-bottom:0}.finance-settings-add input,.finance-settings-add select,.finance-setting-row input,.finance-setting-row select{min-width:0;border:1px solid var(--color-line);border-radius:10px;background:var(--color-panel);color:var(--color-ink-soft);min-height:36px;padding:7px 10px;font-weight:500}.finance-settings-add button,.finance-setting-row button{border:1px solid var(--color-line);border-radius:10px;background:var(--color-panel);color:var(--color-ink-soft);min-height:36px;padding:7px 10px;font-weight:500}.finance-settings-add button{border-color:var(--color-dashboard-primary);background:var(--color-dashboard-primary);color:#fff}.finance-setting-row button:hover{border-color:#ffc4bb;color:#d62d2d}.auth-screen{display:grid;min-height:100vh;place-items:center;background:var(--color-bg);color:var(--color-ink);padding:24px}.auth-card{display:grid;gap:16px;width:min(420px,100%);border:1px solid var(--color-line);border-radius:8px;background:var(--color-panel);padding:28px;box-shadow:var(--shadow-soft)}.auth-card h1{margin:0;font-size:36px}.auth-card label{display:grid;gap:8px;color:var(--color-ink-soft);font-size:14px;font-weight:700}.auth-card input{min-height:44px;border:1px solid var(--color-line);border-radius:8px;color:var(--color-ink);font-size:16px;padding:10px 12px}.access-page{display:grid;gap:20px;padding:18px 0 0}.access-create-form{display:grid;gap:12px}.access-create-form h2{margin:0;color:var(--color-ink);font-size:18px;font-weight:600}.access-create-row{display:grid;grid-template-columns:minmax(180px,1fr) minmax(220px,1fr) 220px auto;gap:10px;align-items:center}.access-create-row input,.access-create-row select{min-width:0;min-height:38px;border:1px solid var(--color-line);border-radius:10px;background:var(--color-panel);color:var(--color-ink);font-size:14px;font-weight:500;padding:7px 10px}.access-create-button{display:inline-flex;align-items:center;justify-content:center;min-height:38px;border:0;border-radius:10px;background:var(--color-dashboard-primary);color:#fff;padding:8px 18px;font-size:14px;font-weight:600;box-shadow:var(--shadow-brand);white-space:nowrap}.access-create-button:hover,.access-save-button:hover{background:var(--color-dashboard-primary-strong)}.access-password-notice{border:1px solid #bfdbfe;border-radius:8px;background:#eff6ff;color:#1d4ed8;font-weight:700;padding:12px 14px}.access-data-grid{margin-top:0}.access-data-grid .data-grid{min-width:1105px}.access-user-row{min-height:44px}.access-user-row .select-cell{overflow:visible}.access-user-cell{display:grid;gap:1px;align-content:center;padding-top:4px;padding-bottom:4px}.access-name-input{height:22px;padding:1px 6px;font-weight:600}.access-user-cell span{min-width:0;overflow:hidden;color:var(--color-muted);font-size:12px;font-weight:500;padding:0 6px;text-overflow:ellipsis;white-space:nowrap}.access-inline-button{min-height:26px;border:1px solid var(--color-line);border-radius:8px;background:var(--color-panel);color:var(--color-ink-soft);padding:3px 9px;font-size:12px;font-weight:500}.access-inline-button:hover{border-color:var(--color-line-strong);background:#f8fafc;color:var(--color-ink)}.access-save-cell{justify-content:flex-start}.access-save-button{min-height:26px;border:0;border-radius:8px;background:var(--color-dashboard-primary);color:#fff;padding:4px 10px;font-size:12px;font-weight:600}@media(max-width:900px){.app-shell{--sidebar-width: 0px;grid-template-columns:1fr}.sidebar{position:static;height:auto}.topbar{align-items:flex-start;flex-direction:column;padding:16px}.toolbar{flex-wrap:wrap}.finance-page{padding:18px 14px 30px}.finance-toolbar,.finance-filters{align-items:stretch;flex-direction:column}.finance-tabs{flex-wrap:wrap}.finance-filters label,.finance-filters input,.finance-filters label:first-child input,.finance-filters label:first-child span{width:100%}.finance-settings-grid,.finance-entry-layout{grid-template-columns:1fr}.finance-settings-add,.finance-setting-row,.finance-settings-panel:last-child .finance-settings-add,.finance-settings-panel:last-child .finance-setting-row{grid-template-columns:1fr}.access-create-row{grid-template-columns:1fr}}
