*,:before,:after{box-sizing:border-box;margin:0;padding:0}:root{--bg:#f4f5f7;--surface:#fff;--border:#dde1e7;--text:#1a1d23;--text-muted:#6b7280;--accent:#2563eb;--accent-hover:#1d4ed8;--danger:#dc2626;--danger-hover:#b91c1c;--success:#16a34a;--radius:6px;--shadow:0 1px 3px #00000014}body{background:var(--bg);color:var(--text);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:14px;line-height:1.5}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}button{cursor:pointer;border-radius:var(--radius);border:none;padding:7px 14px;font-family:inherit;font-size:14px;transition:background .15s}.btn-primary{background:var(--accent);color:#fff}.btn-primary:hover{background:var(--accent-hover)}.btn-secondary{background:var(--surface);color:var(--text);border:1px solid var(--border)}.btn-secondary:hover{background:var(--bg)}.btn-danger{background:var(--danger);color:#fff}.btn-danger:hover{background:var(--danger-hover)}.btn-sm{padding:4px 10px;font-size:13px}input,select,textarea{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);width:100%;color:var(--text);outline:none;padding:7px 10px;font-family:inherit;font-size:14px;transition:border-color .15s}input:focus,select:focus,textarea:focus{border-color:var(--accent)}label{margin-bottom:5px;font-size:13px;font-weight:500;display:block}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);padding:20px}.page-header{justify-content:space-between;align-items:center;margin-bottom:20px;display:flex}.page-header h1{font-size:20px;font-weight:600}.form-row{margin-bottom:14px}.form-row-inline{align-items:flex-end;gap:12px;margin-bottom:14px;display:flex}.error-msg{color:var(--danger);margin-top:6px;font-size:13px}.badge{border-radius:12px;padding:2px 8px;font-size:12px;font-weight:500;display:inline-block}.badge-new{color:#1d4ed8;background:#dbeafe}.badge-in_progress{color:#92400e;background:#fef3c7}.badge-complete{color:#166534;background:#dcfce7}.badge-cancelled{color:#991b1b;background:#fee2e2}table{border-collapse:collapse;width:100%}th{text-align:left;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;border-bottom:1px solid var(--border);padding:8px 12px;font-size:12px;font-weight:600}td{border-bottom:1px solid var(--border);vertical-align:middle;padding:10px 12px}tr:last-child td{border-bottom:none}tr:hover td{background:var(--bg)}.empty-state{text-align:center;color:var(--text-muted);padding:48px 20px}.tag{background:var(--bg);border:1px solid var(--border);border-radius:4px;margin-right:4px;padding:1px 7px;font-size:12px;display:inline-block}.layout{min-height:100vh;display:flex}.sidebar{color:#c9d1d9;background:#1e2330;flex-direction:column;width:200px;min-width:200px;height:100vh;display:flex;position:fixed;top:0;left:0;overflow-y:auto}.sidebar-header{border-bottom:1px solid #2d3548;padding:18px 16px 14px}.sidebar-title{color:#fff;letter-spacing:.01em;font-size:15px;font-weight:700}.sidebar-nav{flex:1;padding:10px 0}.nav-link{color:#9ca3af;padding:9px 16px;font-size:14px;text-decoration:none;transition:background .1s,color .1s;display:block}.nav-link:hover{color:#fff;background:#2d3548;text-decoration:none}.nav-link.active{color:#fff;background:#2563eb}.sidebar-footer{border-top:1px solid #2d3548;flex-direction:column;gap:4px;padding:14px 16px;display:flex}.sidebar-user{color:#fff;font-size:13px;font-weight:500}.sidebar-role{color:#6b7280;text-transform:capitalize;margin-bottom:8px;font-size:11px}.main-content{box-sizing:border-box;flex:1;height:100vh;margin-left:200px;padding:28px;overflow-y:auto}.login-page{background:var(--bg);justify-content:center;align-items:center;min-height:100vh;display:flex}.login-card{width:340px;padding:32px}.login-title{margin-bottom:2px;font-size:22px;font-weight:700}.login-sub{color:var(--text-muted);margin-bottom:24px;font-size:13px}@layer rdg{@layer Defaults,CheckboxInput,CheckboxIcon,CheckboxLabel,Cell,HeaderCell,SummaryCell,EditCell,Row,HeaderRow,SummaryRow,GroupedRow,Root;}@layer rdg.MeasuringCell{.rdg-7-0-0-beta-60-fa71d63e{contain:strict;visibility:hidden;grid-row:1}}@layer rdg.Cell{.rdg-7-0-0-beta-60-85c48527{border-inline-end:var(--rdg-border-width) solid var(--rdg-border-color);border-block-end:var(--rdg-border-width) solid var(--rdg-border-color);background-color:inherit;white-space:nowrap;text-overflow:ellipsis;outline:none;align-content:center;padding-block:0;padding-inline:8px;position:relative;overflow:clip}.rdg-7-0-0-beta-60-85c48527[aria-selected=true]{outline:var(--rdg-selection-width) solid var(--rdg-selection-color);outline-offset:calc(var(--rdg-selection-width) * -1)}}@layer rdg.Cell{.rdg-7-0-0-beta-60-203d9925{z-index:1;position:sticky}}@layer rdg.DragHandle{.rdg-7-0-0-beta-60-bfba19bc{--rdg-drag-handle-size:8px;z-index:0;cursor:move;inline-size:var(--rdg-drag-handle-size);block-size:var(--rdg-drag-handle-size);background-color:var(--rdg-selection-color);place-self:end}.rdg-7-0-0-beta-60-bfba19bc:hover{--rdg-drag-handle-size:16px;border:2px solid var(--rdg-selection-color);background-color:var(--rdg-background-color)}}@layer rdg.DragHandle{.rdg-7-0-0-beta-60-7abddb3e{z-index:1;position:sticky}}@layer rdg.CheckboxInput{.rdg-7-0-0-beta-60-3b807ead{block-size:20px;inline-size:20px;margin:auto;display:block}.rdg-7-0-0-beta-60-3b807ead:focus-visible{outline:2px solid var(--rdg-checkbox-focus-color);outline-offset:-3px}.rdg-7-0-0-beta-60-3b807ead:enabled{cursor:pointer}}@layer rdg.GroupCellContent{.rdg-7-0-0-beta-60-07919382{outline:none}}@layer rdg.GroupCellCaret{.rdg-7-0-0-beta-60-02a50147{stroke:currentColor;stroke-width:1.5px;fill:#0000;vertical-align:middle;margin-inline-start:4px}.rdg-7-0-0-beta-60-02a50147>path{transition:d .1s}}@layer rdg.SortableHeaderCell{.rdg-7-0-0-beta-60-56a248e4{display:flex}}@layer rdg.SortableHeaderCellName{.rdg-7-0-0-beta-60-7fad8c83{text-overflow:ellipsis;flex-grow:1;overflow:clip}}@layer rdg.Cell{.rdg-7-0-0-beta-60-35ccb4c8{background-color:#ccf}}@layer rdg.EditCell{.rdg-7-0-0-beta-60-46f9ea88{padding:0}}@layer rdg.HeaderRow{.rdg-7-0-0-beta-60-0dbd5994{background-color:var(--rdg-header-background-color);font-weight:700;display:contents}.rdg-7-0-0-beta-60-0dbd5994>.rdg-7-0-0-beta-60-85c48527{z-index:2;position:sticky}.rdg-7-0-0-beta-60-0dbd5994>.rdg-7-0-0-beta-60-203d9925{z-index:3}}@layer rdg.HeaderCell{.rdg-7-0-0-beta-60-2a7e240d{cursor:pointer}}@layer rdg.HeaderCell{.rdg-7-0-0-beta-60-1893dc0f{touch-action:none}}@layer rdg.HeaderCell{.rdg-7-0-0-beta-60-4e60db91{cursor:col-resize;inline-size:10px;position:absolute;inset-block:0;inset-inline-end:0}}@layer rdg.HeaderCell{.rdg-7-0-0-beta-60-f2d18717{background-color:var(--rdg-header-draggable-background-color)}}@layer rdg.HeaderCell{.rdg-7-0-0-beta-60-3d12c7ae{outline-offset:-2px;border-radius:4px;outline:2px solid #008cff;width:fit-content}}@layer rdg.Row{.rdg-7-0-0-beta-60-3c083f1b{grid-column:1/-1;grid-template:subgrid / subgrid;background-color:var(--rdg-background-color);display:grid}.rdg-7-0-0-beta-60-3c083f1b:hover{background-color:var(--rdg-row-hover-background-color)}.rdg-7-0-0-beta-60-3c083f1b:focus{outline:none}.rdg-7-0-0-beta-60-3c083f1b[tabindex="0"]:after{content:"";z-index:1;pointer-events:none;border:var(--rdg-selection-width) solid var(--rdg-selection-color);grid-column:1/-1}.rdg-7-0-0-beta-60-3c083f1b[tabindex="0"]>.rdg-cell-frozen-start:first-child:before,.rdg-7-0-0-beta-60-3c083f1b[tabindex="0"]>.rdg-cell-frozen-end:last-child:after{content:"";display:inline-block;position:absolute;inset-block:0}.rdg-7-0-0-beta-60-3c083f1b[tabindex="0"]>.rdg-cell-frozen-start:first-child:before{border-inline-start:var(--rdg-selection-width) solid var(--rdg-selection-color);inset-inline-start:0}.rdg-7-0-0-beta-60-3c083f1b[tabindex="0"]>.rdg-cell-frozen-end:last-child:after{border-inline-end:var(--rdg-selection-width) solid var(--rdg-selection-color);inset-inline-end:0}.rdg-7-0-0-beta-60-3c083f1b[aria-selected=true]{background-color:var(--rdg-row-selected-background-color)}.rdg-7-0-0-beta-60-3c083f1b[aria-selected=true]:hover{background-color:var(--rdg-row-selected-hover-background-color)}}@layer rdg.SortIcon{.rdg-7-0-0-beta-60-3d5115f3{fill:currentColor}.rdg-7-0-0-beta-60-3d5115f3>path{transition:d .1s}}@layer rdg.Defaults{.rdg-7-0-0-beta-60-ccd2e5d9 *,.rdg-7-0-0-beta-60-ccd2e5d9 :before,.rdg-7-0-0-beta-60-ccd2e5d9 :after{box-sizing:inherit}}@layer rdg.Root{.rdg-7-0-0-beta-60-ccd2e5d9{--rdg-selection-width:2px;--rdg-selection-color:#67afe9;--rdg-font-size:14px;--rdg-border-width:1px;--rdg-summary-border-width:calc(var(--rdg-border-width) * 2);--rdg-color:var(--lightningcss-light,#000)var(--lightningcss-dark,#ddd);--rdg-border-color:var(--lightningcss-light,#ddd)var(--lightningcss-dark,#444);--rdg-summary-border-color:var(--lightningcss-light,#aaa)var(--lightningcss-dark,#555);--rdg-background-color:var(--lightningcss-light,#fff)var(--lightningcss-dark,#212121);--rdg-header-background-color:var(--lightningcss-light,#f9f9f9)var(--lightningcss-dark,#1b1b1b);--rdg-header-draggable-background-color:var(--lightningcss-light,#e7e7e7)var(--lightningcss-dark,#2d2d2d);--rdg-row-hover-background-color:var(--lightningcss-light,#f5f5f5)var(--lightningcss-dark,#171717);--rdg-row-selected-background-color:var(--lightningcss-light,#dbecfa)var(--lightningcss-dark,#1a73bc);--rdg-row-selected-hover-background-color:var(--lightningcss-light,#c9e3f8)var(--lightningcss-dark,#1768ab);--rdg-checkbox-focus-color:#61b8ff}.rdg-7-0-0-beta-60-ccd2e5d9.rdg-dark{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}.rdg-7-0-0-beta-60-ccd2e5d9.rdg-light{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}.rdg-7-0-0-beta-60-ccd2e5d9{accent-color:var(--lightningcss-light,#005194)var(--lightningcss-dark,#94cfff);contain:content;content-visibility:auto;border:1px solid var(--rdg-border-color);box-sizing:border-box;background-color:var(--rdg-background-color);block-size:350px;color:var(--rdg-color);font-size:var(--rdg-font-size);font-variant-numeric:tabular-nums;display:grid;overflow:auto;container:rdg-root/scroll-state}.rdg-7-0-0-beta-60-ccd2e5d9:before{content:"";grid-area:-2/-2/-1/-1}.rdg-7-0-0-beta-60-ccd2e5d9>:nth-last-child(1 of .rdg-top-summary-row)>.rdg-7-0-0-beta-60-85c48527{border-block-end:var(--rdg-summary-border-width) solid var(--rdg-summary-border-color)}.rdg-7-0-0-beta-60-ccd2e5d9>:nth-child(1 of .rdg-bottom-summary-row)>.rdg-7-0-0-beta-60-85c48527{border-block-start:var(--rdg-summary-border-width) solid var(--rdg-summary-border-color)}}@layer rdg.Root{.rdg-7-0-0-beta-60-e9b0e1c9{-webkit-user-select:none;user-select:none}.rdg-7-0-0-beta-60-e9b0e1c9 .rdg-7-0-0-beta-60-3c083f1b{cursor:move}}.rdg-7-0-0-beta-60-2e639f12{pointer-events:none;z-index:1;opacity:1;width:10px;transition:opacity .1s;position:sticky}.rdg-7-0-0-beta-60-2e639f12:is(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)){transform:scaleX(-1)}.rdg-7-0-0-beta-60-86aef152{background-image:linear-gradient(90deg,var(--lightningcss-light,#00000026)var(--lightningcss-dark,#0006),#0000)}@container rdg-root not scroll-state(scrollable:inline-start){.rdg-7-0-0-beta-60-86aef152{opacity:0}}.rdg-7-0-0-beta-60-7689f238{background-image:linear-gradient(270deg,var(--lightningcss-light,#00000026)var(--lightningcss-dark,#0006),#0000)}@container rdg-root not scroll-state(scrollable:inline-end){.rdg-7-0-0-beta-60-7689f238{opacity:0}}.rdg-7-0-0-beta-60-487ac462{z-index:2}@layer rdg.SummaryRow{.rdg-7-0-0-beta-60-0b90c82c{z-index:2;position:sticky}}@layer rdg.GroupedRow{.rdg-7-0-0-beta-60-e74a2be3:not([aria-selected=true]){background-color:var(--rdg-header-background-color)}.rdg-7-0-0-beta-60-e74a2be3>.rdg-7-0-0-beta-60-85c48527:not(:last-child,.rdg-7-0-0-beta-60-203d9925),.rdg-7-0-0-beta-60-e74a2be3>:nth-last-child(n+2 of .rdg-cell-frozen-start),.rdg-7-0-0-beta-60-e74a2be3>:nth-last-child(n+2 of .rdg-cell-frozen-end){border-inline-end:none}}@layer rdg.TextEditor{.rdg-7-0-0-beta-60-2f8db206{appearance:none;box-sizing:border-box;vertical-align:top;block-size:100%;inline-size:100%;color:var(--rdg-color);background-color:var(--rdg-background-color);font-family:inherit;font-size:var(--rdg-font-size);border:2px solid #ccc;padding-block:0;padding-inline:6px}.rdg-7-0-0-beta-60-2f8db206:focus{border-color:var(--rdg-selection-color);outline:none}.rdg-7-0-0-beta-60-2f8db206::placeholder{color:#999;opacity:1}}
