:root{--color-accent:#b8325a;--color-accent-hover:#a02a4e;--color-on-accent:#fff;--color-app-background:#f6f3ee;--color-surface:#fff;--color-surface-muted:#f4f1ec;--color-topbar:#fff;--color-sidebar-bg:#1c1718;--color-sidebar-item-active-bg:#3a3334;--color-sidebar-text:#f3eeee;--color-sidebar-text-muted:#8e8586;--color-text-primary:#1a1415;--color-text-secondary:#3d3637;--color-text-muted:#8a7f80;--color-text-placeholder:#b4a3a8;--color-border:#e8e1dd;--color-input-border:#e5d9dc;--color-input-border-focus:var(--color-accent);--color-divider:#ece6e2;--color-success-bg:#e8f2ec;--color-success-border:#c9dfd1;--color-success-text:#1f4d33;--color-warning-bg:#fcf6ec;--color-warning-border:#e7c9a6;--color-warning-text:#6b3f12;--color-note-bg:#f8f4ec;--color-note-border:#d9cfc0;--color-note-text:#5a4a3a;--font-sans:Geist, Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-mono:"Geist Mono", "JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;--radius-input:8px;--radius-card:10px;--radius-modal:14px;--radius-pill:999px;--radius-sidebar-item:8px;--space-base:4px;--space-page-padding:20px;--space-table-cell-x:14px;--space-field-gap-y:16px;--space-field-gap-x:12px;--space-modal-padding:24px;--space-modal-column-gap:48px;--size-topbar-height:42px;--size-sidebar-collapsed:52px;--size-sidebar-expanded:190px;--size-table-header-height:26px;--size-table-row-height:46px;--size-input-height:40px;--size-button-height:34px;--size-row-action-button:24px;--size-avatar:22px;--size-modal-width:940px;--shadow-modal:0 20px 60px #1c171840;--shadow-menu:0 8px 24px #1c171824;--shadow-card:none;--overlay-scrim:#1c171866;--focus-ring:0 0 0 3px #b8325a2e;--transition-sidebar:.18s ease-out}.btn-primary,.btn-secondary{height:var(--size-button-height);border-radius:var(--radius-pill);font:600 13px/1.2 var(--font-sans);white-space:nowrap;cursor:pointer;justify-content:center;align-items:center;gap:6px;padding:0 16px;display:inline-flex}.btn-primary{background:var(--color-accent);color:var(--color-on-accent);border:none}.btn-primary:hover:not(:disabled){background:var(--color-accent-hover)}.btn-secondary{background:var(--color-surface);color:var(--color-text-primary);border:1px solid var(--color-input-border)}.btn-secondary:hover:not(:disabled){background:var(--color-surface-muted)}.btn-primary:focus-visible,.btn-secondary:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.btn-primary:disabled,.btn-secondary:disabled{opacity:.5;cursor:not-allowed}.field{flex-direction:column;flex:1 1 0;gap:6px;min-width:0;display:flex}.field--full{flex-basis:100%}.field-label-required{color:var(--color-accent)}.input-wrap{height:var(--size-input-height);background:var(--color-surface);border:1px solid var(--color-input-border);border-radius:var(--radius-input);align-items:center;gap:8px;padding:0 12px;display:flex}.input-wrap:focus-within{border-color:var(--color-input-border-focus);box-shadow:var(--focus-ring)}.input-wrap--readonly{background:var(--color-surface-muted)}.input-wrap--error{border-color:var(--color-accent)}.input{min-width:0;color:var(--color-text-primary);font:400 14px/1.45 var(--font-sans);background:0 0;border:none;flex:auto}.input:focus{outline:none}.input::placeholder{color:var(--color-text-placeholder)}.input--mono{font:500 14px/1.45 var(--font-mono)}.input-wrap--readonly .input{color:var(--color-text-secondary)}.input-suffix{color:var(--color-text-muted);pointer-events:none;flex:none}.field-error{color:var(--color-accent);font-size:12px}.input--select{appearance:none;cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'%3E%3Cpath d='M1 1l4 4 4-4' fill='none' stroke='%238a7f80' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-position:100%;background-repeat:no-repeat;padding-right:18px}.table-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-card);box-shadow:var(--shadow-card);overflow:hidden}.table-scroll{overflow-x:auto}.table{border-collapse:collapse;table-layout:fixed;width:100%}.table th{height:var(--size-table-header-height);padding:0 var(--space-table-cell-x);text-align:left;border-bottom:1px solid var(--color-border);white-space:nowrap;font-weight:600}.table td{height:var(--size-table-row-height);padding:0 var(--space-table-cell-x);border-bottom:1px solid var(--color-border);color:var(--color-text-primary);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.table tbody tr:last-child td{border-bottom:none}.table tbody tr:hover td{background:var(--color-surface-muted)}.cell--strong{font-weight:700}.cell--numeric{font-family:var(--font-mono);text-align:right;font-weight:500}.th--numeric{text-align:right}.th--actions,.td--actions{text-align:right;width:48px;padding:0 10px 0 0;overflow:visible}.table-empty{padding:32px var(--space-table-cell-x);text-align:center;color:var(--color-text-muted)}.table-skeleton{border-radius:var(--radius-pill);background:var(--color-surface-muted);height:10px;animation:1.2s ease-in-out infinite table-skeleton-pulse;display:block}@keyframes table-skeleton-pulse{50%{opacity:.45}}.badge{border-radius:var(--radius-pill);white-space:nowrap;align-items:center;height:22px;padding:0 10px;display:inline-flex}.badge--complete{background:var(--color-success-bg);border:1px solid var(--color-success-border);color:var(--color-success-text)}.badge--incomplete{background:var(--color-warning-bg);border:1px dashed var(--color-warning-border);color:var(--color-warning-text)}.row-action{width:var(--size-row-action-button);height:var(--size-row-action-button);border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text-muted);cursor:pointer;border-radius:50%;justify-content:center;align-items:center;padding:0;display:inline-flex}.row-action:hover{background:var(--color-surface-muted)}.row-action:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.menu-anchor{display:inline-flex;position:relative}.menu{z-index:50;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-card);min-width:190px;box-shadow:var(--shadow-menu);padding:4px 0;position:absolute;top:calc(100% + 6px);right:0}.menu--above{top:auto;bottom:calc(100% + 6px)}.menu-item{width:100%;height:32px;color:var(--color-text-primary);font:400 14px/1.45 var(--font-sans);text-align:left;cursor:pointer;background:0 0;border:none;align-items:center;padding:0 12px;display:flex}.menu-item:hover{background:var(--color-surface-muted)}.menu-item--destructive{color:var(--color-accent);border-top:1px solid var(--color-border)}.inline-note{background:var(--color-note-bg);border:1px dashed var(--color-note-border);border-radius:var(--radius-input);color:var(--color-note-text);padding:10px 12px;font-size:12px}.modal-overlay{z-index:100;background:var(--overlay-scrim);justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0}.modal{width:100%;max-width:var(--size-modal-width);background:var(--color-surface);border-radius:var(--radius-modal);max-height:calc(100svh - 32px);box-shadow:var(--shadow-modal);flex-direction:column;display:flex;overflow:hidden}.modal-header{padding:var(--space-modal-padding) var(--space-modal-padding) 16px}.modal-form{flex-direction:column;flex:auto;min-height:0;display:flex}.modal-body{min-height:0;padding:0 var(--space-modal-padding) var(--space-modal-padding);flex:auto;overflow-y:auto}.modal-footer{padding:16px var(--space-modal-padding);background:var(--color-surface-muted);border-top:1px solid var(--color-border);justify-content:flex-end;align-items:center;gap:8px;display:flex}.modal-footer-error{margin-right:auto}.form-columns{align-items:stretch;display:flex}.form-column{min-width:0}.form-column--left{padding-right:calc(var(--space-modal-column-gap) / 2);flex:55 1 0}.form-column--right{padding-left:calc(var(--space-modal-column-gap) / 2);border-left:1px solid var(--color-divider);flex:45 1 0}.form-section+.form-section{margin-top:24px}.form-section-label{margin-bottom:12px;display:block}.form-rows{gap:var(--space-field-gap-y);flex-direction:column;display:flex}.form-row{gap:var(--space-field-gap-x);flex-wrap:wrap;display:flex}@media (width<=960px){.form-columns{flex-direction:column;gap:24px}.form-column--left,.form-column--right{border-left:none;flex:auto;padding:0}}.app{flex-direction:column;min-height:100svh;display:flex}.app-body{flex:auto;min-height:0;display:flex}.topbar{z-index:20;height:var(--size-topbar-height);background:var(--color-topbar);border-bottom:1px solid var(--color-border);justify-content:space-between;align-items:center;gap:12px;padding:0 12px;display:flex;position:sticky;top:0}.topbar-left,.topbar-right{align-items:center;gap:10px;display:flex}.topbar-divider{background:var(--color-divider);width:1px;height:18px}.topbar-user{color:var(--color-text-primary);font-size:12px}.logo{align-items:center;gap:8px;display:flex}.logo-mark{flex-direction:column;gap:2px;width:15px;display:flex}.logo-bar{background:var(--color-text-primary);border-radius:1px;height:2px}.logo-bar:last-child{background:var(--color-accent)}.logo-word{font:700 14px/1.2 var(--font-sans);letter-spacing:-.01em;color:var(--color-text-primary)}.logo-word span{font-weight:400}.avatar{width:var(--size-avatar);height:var(--size-avatar);background:var(--color-text-primary);color:var(--color-on-accent);font:700 9px/1 var(--font-sans);letter-spacing:.02em;cursor:pointer;border:none;border-radius:50%;justify-content:center;align-items:center;padding:0;display:inline-flex}.avatar:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.sidebar{width:var(--size-sidebar-collapsed);background:var(--color-sidebar-bg);color:var(--color-sidebar-text);transition:width var(--transition-sidebar);flex-direction:column;flex:none;gap:4px;padding:8px;display:flex}.sidebar--expanded{width:var(--size-sidebar-expanded)}.sidebar-section-label{color:var(--color-sidebar-text-muted);white-space:nowrap;padding:6px 8px 2px;overflow:hidden}.sidebar-nav{flex-direction:column;flex:auto;gap:2px;margin:0;padding:0;list-style:none;display:flex}.sidebar-item,.sidebar-toggle{border-radius:var(--radius-sidebar-item);width:100%;height:36px;color:var(--color-sidebar-text);cursor:pointer;text-align:left;background:0 0;border:none;align-items:center;gap:10px;padding:0 8px;display:flex}.sidebar-toggle{color:var(--color-sidebar-text-muted)}.sidebar-item:hover,.sidebar-toggle:hover{background:#3a333499}.sidebar-item--active{background:var(--color-sidebar-item-active-bg)}.sidebar-item:focus-visible,.sidebar-toggle:focus-visible{outline:2px solid var(--color-sidebar-text);outline-offset:-2px}.sidebar-item-icon{flex:0 0 18px;justify-content:center;align-items:center;display:inline-flex}.sidebar-item-label{white-space:nowrap;text-overflow:ellipsis;flex:auto;overflow:hidden}.sidebar-item-count{color:var(--color-sidebar-text-muted);flex:none}.sidebar:not(.sidebar--expanded) .sidebar-item,.sidebar:not(.sidebar--expanded) .sidebar-toggle{justify-content:center;padding:0}.sidebar:not(.sidebar--expanded) .sidebar-item-label,.sidebar:not(.sidebar--expanded) .sidebar-item-count{display:none}.content{min-width:0;padding:var(--space-page-padding);background:var(--color-app-background);flex:auto}.page-header{justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px;display:flex}.page-header-title{align-items:baseline;gap:8px;display:flex}*,:before,:after{box-sizing:border-box}body{font-family:var(--font-sans);color:var(--color-text-primary);background:var(--color-app-background);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizelegibility;margin:0;font-size:14px;line-height:1.45}#root{min-height:100svh}.t-page-title{font:700 22px/1.2 var(--font-sans);letter-spacing:-.01em;color:var(--color-text-primary);margin:0}.t-modal-title{font:700 20px/1.2 var(--font-sans);letter-spacing:-.01em;color:var(--color-text-primary);margin:0}.t-title-count{font:600 12px/1.2 var(--font-sans);color:var(--color-text-secondary)}.t-body{font:400 14px/1.45 var(--font-sans)}.t-body-strong{font:700 14px/1.45 var(--font-sans)}.t-input{font:400 14px/1.45 var(--font-sans)}.t-input-mono{font:500 14px/1.45 var(--font-mono)}.t-label,.t-table-header,.t-section-label{font-family:var(--font-mono);text-transform:uppercase;color:var(--color-text-muted);font-size:10px;font-weight:600}.t-label{letter-spacing:.06em}.t-table-header,.t-section-label{letter-spacing:.08em}.t-badge{font:500 12px/1.2 var(--font-sans)}.t-button,.t-nav{font:600 13px/1.2 var(--font-sans)}.auth-screen{min-height:100svh;padding:var(--space-page-padding);text-align:center;background:var(--color-app-background);flex-direction:column;justify-content:center;align-items:center;gap:16px;display:flex}.auth-screen h1{font:700 22px/1.2 var(--font-sans);letter-spacing:-.01em;margin:0}.auth-screen p{color:var(--color-text-secondary);margin:0}
