.project-table-scroll{overflow:auto;max-width:100%;border:1px solid #d7e1ea;border-radius:7px}.project-table{border-collapse:collapse;table-layout:fixed;font-size:13px;line-height:1.35}.project-table th,.project-table td{padding:8px 7px;vertical-align:top;border-bottom:1px solid #dbe5ed;border-right:1px solid #e8eef3;text-align:left;overflow-wrap:anywhere}.project-table th{background:#e7eff6;color:#24425a;font-size:12px}.project-table .link-button{font-size:13px}.project-table td select{width:100%;min-width:0;padding:5px 3px;font-size:12px}.project-table td[data-project-column=deadline]{white-space:nowrap}.project-table td[data-project-column=starred]{text-align:center}.project-table td[data-project-column=total],.project-table td[data-project-column=paid],.project-table td[data-project-column=remaining]{text-align:right;font-variant-numeric:tabular-nums}.project-table td small{display:block;font-size:11px}.project-star{border:0;background:none;font-size:22px;color:#5b6f80;line-height:1;padding:0;cursor:pointer}.project-star[aria-pressed=true]{color:#9e6807}.project-table-controls{padding:9px 0;gap:14px}.project-table-controls label{display:flex;align-items:center;gap:8px;font-size:13px}.project-table-controls select{max-width:min(400px,65vw)}.project-columns-dialog{width:min(720px,94vw);max-height:88vh;overflow:auto;padding:24px;border:1px solid #b3c4d2;border-radius:14px}.project-columns-dialog::backdrop{background:#10243e80}.project-column-options{display:grid;gap:7px;margin:18px 0}.project-column-setting{display:grid;grid-template-columns:minmax(130px,1fr) 130px 36px 36px;align-items:center;gap:8px;padding:7px;border:1px solid #dae4ec;border-radius:6px}.project-column-setting label{font-size:13px}.project-column-setting input[type=number]{width:74px;min-width:0}.project-columns-dialog .toolbar{justify-content:flex-end}@media(max-width:500px){.project-column-setting{grid-template-columns:minmax(100px,1fr) 95px 30px 30px;gap:4px}.project-column-setting input[type=number]{width:58px}.project-columns-dialog{padding:14px}}
.project-contact-raw{margin-top:4px;font-size:12px;line-height:1.35}.project-contact-raw summary{cursor:pointer;color:#4b6376}
.order-metadata-dialog{width:min(700px,94vw);max-height:90vh;overflow:auto;padding:24px;border:1px solid #b3c4d2;border-radius:14px}.order-metadata-dialog::backdrop{background:#10243e80}.order-metadata-raw{white-space:pre-wrap;overflow-wrap:anywhere}.order-metadata-dialog input[type=checkbox]{width:18px;height:18px}
.project-table th[data-column-header]{position:relative;padding-right:30px;cursor:grab;user-select:none}
.project-table [data-column-resize]{position:absolute;inset:0 -4px 0 auto;width:9px;cursor:col-resize;touch-action:none;z-index:2}
.project-table [data-column-resize]:focus-visible{outline:2px solid #b74444;background:#d9e8f4}
.project-table .column-rename{border:0;background:transparent;color:inherit;padding:2px 4px;cursor:pointer;font:inherit;opacity:.65}
.project-table [data-column-name-input]{width:100%;min-width:0;font:inherit}
.project-table td[data-order-edit-field]:focus-visible,dd[data-order-edit-field]:focus-visible{outline:2px solid #315d80;outline-offset:-2px}
.order-metadata-dialog .form-grid .wide{grid-column:1/-1}
.order-metadata-dialog textarea{min-height:90px;resize:vertical}
.detail-grid dd>small.muted{display:block;margin-top:5px}
.financial-history th,.financial-history td{white-space:normal;min-width:100px}
.customizable-table-scroll{max-width:100%;overflow-x:auto}
.customizable-table{table-layout:fixed;border-collapse:collapse}
.customizable-table th,.customizable-table td{overflow-wrap:anywhere;white-space:normal}
.customizable-table th[data-column-header]{position:relative;padding-right:25px;cursor:grab;user-select:none}
.customizable-table [data-column-resize]{position:absolute;inset:0 -4px 0 auto;width:9px;cursor:col-resize;touch-action:none;z-index:2}
.customizable-table [data-column-resize]:focus-visible{outline:2px solid #b74444;background:#d9e8f4}
.customizable-table .column-rename{border:0;background:transparent;color:inherit;padding:2px 4px;cursor:pointer;font:inherit;opacity:.65}
.customizable-table [data-column-name-input]{width:100%;min-width:0;font:inherit}

.project-table tr.project-order-closed>td{background-image:repeating-linear-gradient(0deg,transparent 0,transparent 5px,var(--project-row-stripe,rgba(0,0,0,.08)) 5px,var(--project-row-stripe,rgba(0,0,0,.08)) 6px)}.project-table td[data-project-column=signatureDate]{white-space:nowrap}

.project-column-sort{border:0;padding:0;background:transparent;color:inherit;text-align:left;font:inherit;font-weight:inherit;cursor:pointer}.project-column-sort:focus-visible{outline:2px solid #315d80}.project-table tr.project-order-selected>td{box-shadow:inset 0 2px var(--project-row-selection,#315d80),inset 0 -2px var(--project-row-selection,#315d80)}.project-table tr.project-order-selected>td:first-child{box-shadow:inset 3px 0 var(--project-row-selection,#315d80),inset 0 2px var(--project-row-selection,#315d80),inset 0 -2px var(--project-row-selection,#315d80)}.project-table tr.project-order-selected>td:last-child{box-shadow:inset -3px 0 var(--project-row-selection,#315d80),inset 0 2px var(--project-row-selection,#315d80),inset 0 -2px var(--project-row-selection,#315d80)}.project-table td[data-project-column=invoiceIssued]{text-align:center}

.project-table td[data-order-edit-field],.project-table td[data-order-cell-action],dd[data-order-edit-field]{cursor:pointer}.project-table td[data-order-cell-action]:focus-visible{outline:2px solid #315d80;outline-offset:-2px}

.project-note-preview{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;white-space:pre-wrap;overflow-wrap:anywhere;}

.project-table tr.project-row-colored>td,.project-table tr.project-row-colored:hover>td{background-color:var(--project-row-bg);color:var(--project-row-ink)}
.project-table tr.project-row-colored td .link-button,.project-table tr.project-row-colored td a,.project-table tr.project-row-colored td small,.project-table tr.project-row-colored td .muted,.project-table tr.project-row-colored td .project-star{color:inherit}
.project-table tr.project-row-colored td select{background-color:var(--project-row-bg);color:var(--project-row-ink);border-color:currentColor}.project-table tr.project-row-colored td select option{background:#fff;color:#172b4d}
.project-table .project-closed-label{font-weight:700;display:block}.project-table .project-closed-label::before{content:'▤ ';font-weight:400}
.project-row-color-swatch{position:relative;display:inline-flex;vertical-align:middle;align-items:center;justify-content:center;width:24px;height:24px;padding:2px;border:1px solid currentColor;border-radius:4px;color:inherit;background:transparent;cursor:pointer}.row-color-chip{display:inline-block;width:14px;height:14px;border:1px solid #64748b;border-radius:2px;flex:none}.row-color-symbol{position:absolute;font-size:12px;color:#111;text-shadow:0 0 2px #fff}.project-row-color-tool{display:inline-flex;align-items:center;gap:7px}
.order-row-color-dialog{width:min(720px,94vw);max-height:90vh;overflow:auto;border:1px solid #b3c4d2;border-radius:12px;padding:22px;background:#fff;color:#18354c}.order-row-color-dialog::backdrop{background:#10243e80}.order-row-color-dialog fieldset{border:1px solid #d8e1e9;padding:12px;margin:12px 0;border-radius:7px}.order-row-color-dialog legend{font-weight:700;padding:0 5px}.row-color-palette{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:7px}.row-color-option{display:grid;gap:5px;justify-items:center;background:#fff;border:1px solid #cad7e3;color:#18354c;padding:6px 3px;border-radius:5px;font-size:11px;cursor:pointer}.row-color-option[aria-pressed=true]{outline:2px solid #245979;outline-offset:1px}.row-color-sample{width:100%;height:26px;border:1px solid #a8b7c4;border-radius:3px}.row-color-custom{display:flex;align-items:center;gap:10px;margin:14px 0}.row-color-custom input[type=color]{padding:2px;width:60px;height:36px}.row-color-preview{padding:14px;border:1px solid #8397a5;margin:12px 0;font-weight:600}.row-color-preview.is-closed{background-image:repeating-linear-gradient(0deg,transparent 0,transparent 5px,var(--project-row-stripe) 5px,var(--project-row-stripe) 6px)}.order-row-color-dialog [data-row-color-error]{color:#a32121}.order-row-color-dialog [hidden]{display:none!important}@media(max-width:560px){.row-color-palette{grid-template-columns:repeat(4,minmax(0,1fr))}}

.project-table td.project-cell-markable,.project-table td.project-cell-marked{position:relative}
.project-table td.project-cell-markable>.project-cell-content{padding-right:18px}
.project-table td.project-cell-marked::after{content:"";position:absolute;inset:3px;pointer-events:none;border:2px solid #0066ee;border-radius:3px;box-shadow:0 0 0 1px #fff,inset 0 0 0 1px #fff;z-index:1}
.project-cell-mark-tool{position:absolute;right:6px;top:6px;min-width:18px;height:21px;padding:0 2px;border:1px solid #aac2df;border-radius:3px;background:#fff;color:#075cb5;cursor:pointer;font-size:13px;line-height:18px;z-index:2;opacity:0}
.project-cell-markable:hover .project-cell-mark-tool,.project-cell-markable:focus-within .project-cell-mark-tool,.project-cell-mark-tool:focus-visible,.project-cell-marked .project-cell-mark-tool{opacity:1}
.project-table td[data-project-column=starred].project-cell-markable>.project-cell-content{padding-right:0;padding-bottom:24px}.project-table td[data-project-column=starred]>.project-cell-mark-tool{top:auto;bottom:6px}
@media(hover:none){.project-cell-mark-tool{opacity:1}}
.project-cell-mark-note{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;overflow-wrap:anywhere;white-space:normal;max-width:100%;margin:7px 0 1px;padding:4px 5px;border:0;border-radius:3px;background:#eff6ff;color:#084c91!important;font-size:11px;line-height:1.3;text-align:left;position:relative;z-index:2}
button.project-cell-mark-note{cursor:pointer;width:100%}.project-cell-mark-note:focus-visible,.project-cell-mark-tool:focus-visible{outline:2px solid #005ac7;outline-offset:2px}.project-cell-mark-caption{font-weight:700}
.order-cell-mark-dialog{width:min(520px,calc(100vw - 32px));max-height:calc(100dvh - 32px);overflow:auto;padding:22px;box-sizing:border-box;border:1px solid #b5c9e0;border-radius:10px;color:#20364c;background:#fff}.order-cell-mark-dialog::backdrop{background:rgba(20,40,60,.38)}.order-cell-mark-dialog h2{font-size:19px;margin:0 0 16px}.order-cell-mark-dialog label{display:block;font-weight:600}.order-cell-mark-dialog textarea{display:block;width:100%;box-sizing:border-box;margin-top:7px;resize:vertical;min-height:110px}.order-cell-mark-dialog p{font-size:13px;line-height:1.5}.order-cell-mark-dialog [role=alert]{color:#a32222}.order-cell-mark-dialog .form-actions{display:flex;justify-content:flex-end;gap:8px;flex-wrap:wrap}

.project-row-number{position:sticky;left:0;z-index:1;width:56px;text-align:center;background:var(--project-row-color,#edf3f8)}.project-table thead .project-row-number{z-index:3;background:#e8f0f6}.project-row-number button{width:100%;min-height:38px;border:0;background:transparent;color:inherit;font:inherit;font-weight:700;cursor:pointer}.project-row-number button:focus-visible{outline:2px solid #24568d;outline-offset:-3px}.project-order-selected .project-row-number{box-shadow:inset 4px 0 #24568d}.project-sort-help{font-size:.8rem;flex-basis:100%;color:#315777}

.project-search-match .project-cell-content{box-shadow:inset 0 0 0 2px #b87900}.project-search-snippets button{display:block;text-align:left;width:100%;border:0;border-left:3px solid #b87900;background:#fff8df;color:#263747;margin-top:5px;padding:5px;font:inherit;cursor:pointer;overflow-wrap:anywhere}.project-search-snippets mark,.search-detail mark{background:#ffe071;color:#202d3c}.search-detail p{white-space:pre-wrap;overflow-wrap:anywhere}.search-detail{padding:10px;border-bottom:1px solid #c9d7e4}

.archive-month-group th{background:#e7eef6;text-align:left;font-size:1rem;padding:14px}.archive-search-hits button{display:block;border:0;background:#fff8df;text-align:left;margin-top:4px;color:#243d56;font:inherit;cursor:pointer}

/* Year-prefixed fixed identity: selection remains keyed by internal order.id. */
.project-table .project-row-number{width:86px;min-width:86px;white-space:nowrap}
.project-table .project-row-number button{font-variant-numeric:tabular-nums}
