@import"https://fonts.googleapis.com/css2?family=JetBrains+Mono:wght@400;600&display=swap";:root{--bg-base: #0c0c0c;--bg-panel: #141417;--bg-card: #19191d;--bg-input: #111114;--bg-hover: #1f1f24;--terminal-bg: #0a0a0a;--border: #2a2a2e;--border-focus: #4ecdc4;--text-primary: #c8c8c8;--text-secondary: #707070;--text-tertiary: #4a4a4a;--accent: #4ecdc4;--accent-dim: #2a8a84;--accent-pink: #c678dd;--accent-green: #4aff7a;--accent-green-dim: #1a4a1a;--accent-red: #ff6b6b;--font-mono: "JetBrains Mono", "Fira Code", "SF Mono", "Consolas", "Liberation Mono", monospace}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html,body,#root{height:100%;overflow:hidden}body{font-family:var(--font-mono);font-size:12px;color:var(--text-primary);background:var(--bg-base);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--border)}::-webkit-scrollbar-thumb:hover{background:var(--text-tertiary)}a{color:var(--accent);text-decoration:none}a:hover{color:var(--text-primary)}.btn{font-family:var(--font-mono);font-size:11px;padding:3px 10px;border:1px solid var(--border);background:transparent;color:var(--text-secondary);cursor:pointer;transition:border-color .15s;display:inline-flex;align-items:center;gap:6px}.btn:hover{border-color:var(--accent-dim);color:var(--accent)}.btn:disabled{opacity:.4;cursor:not-allowed}.btn-primary{background:var(--accent-dim);color:var(--accent);border-color:var(--accent-dim)}.btn-primary:hover{background:var(--accent);color:var(--bg-base)}.btn-danger{color:var(--accent-red);border-color:transparent}.btn-danger:hover{border-color:var(--accent-red)}.btn-ghost{border-color:transparent}.btn-ghost:hover{border-color:var(--accent-dim)}.card{background:var(--bg-card);border:1px solid var(--border);padding:12px;transition:border-color .15s}.card:hover{border-color:var(--accent-dim)}.form-group{display:flex;flex-direction:column;gap:4px}.form-label{font-size:10px;text-transform:uppercase;letter-spacing:1px;color:var(--text-secondary)}.form-input,.form-select,.form-textarea{font-family:var(--font-mono);font-size:12px;padding:6px 10px;background:var(--bg-input);border:1px solid var(--border);color:var(--text-primary);outline:none;transition:border-color .15s}.form-input:focus,.form-select:focus,.form-textarea:focus{border-color:var(--accent-dim)}.form-input::placeholder,.form-textarea::placeholder{color:var(--text-tertiary)}.form-select{cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url(/icons/chevron-down-outline.svg);background-repeat:no-repeat;background-position:right 8px center;background-size:14px;padding-right:28px;filter:brightness(.4)}.form-select:focus{filter:none}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:1000}.modal{background:var(--bg-panel);border:1px solid var(--border);width:480px;max-width:90vw;max-height:90vh;display:flex;flex-direction:column}.modal-header{padding:10px 14px;font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:1px;color:var(--text-primary);border-bottom:1px solid var(--border)}.modal-body{padding:14px;overflow-y:auto;display:flex;flex-direction:column;gap:12px}.modal-footer{padding:10px 14px;display:flex;justify-content:flex-end;gap:8px;border-top:1px solid var(--border)}.type-tag{font-size:10px;text-transform:lowercase;padding:1px 6px;border:1px solid var(--border);color:var(--text-secondary);display:inline-block}.type-tag.by_factor{color:#61afef;border-color:#2a4a6a}.type-tag.equal{color:var(--accent-green);border-color:#2a5a2a}.type-tag.admin_only{color:var(--accent-pink);border-color:#5a2a5a}.type-tag.custom{color:#e5c07b;border-color:#5a4a2a}.text-accent{color:var(--accent)}.text-red{color:var(--accent-red)}.text-green{color:var(--accent-green)}.text-secondary{color:var(--text-secondary)}.text-tertiary{color:var(--text-tertiary)}.uppercase{text-transform:uppercase;letter-spacing:1px}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.icon{display:inline-block;width:16px;height:16px;filter:brightness(0) saturate(100%) invert(80%) sepia(0%) saturate(0%) hue-rotate(0deg) brightness(90%);vertical-align:middle}.icon-accent{filter:brightness(0) saturate(100%) invert(73%) sepia(30%) saturate(600%) hue-rotate(127deg) brightness(95%)}.icon-red{filter:brightness(0) saturate(100%) invert(55%) sepia(80%) saturate(600%) hue-rotate(314deg) brightness(100%)}.icon-green{filter:brightness(0) saturate(100%) invert(65%) sepia(80%) saturate(500%) hue-rotate(90deg) brightness(110%)}.icon-secondary{filter:brightness(0) saturate(100%) invert(45%) sepia(0%) saturate(0%) brightness(70%)}table{width:100%;border-collapse:collapse;font-size:11px}th{font-size:10px;text-transform:uppercase;letter-spacing:1px;color:var(--text-secondary);font-weight:400;text-align:left;padding:6px 8px;border-bottom:1px solid var(--border)}td{padding:6px 8px;border-bottom:1px solid var(--border);color:var(--text-primary)}tr:hover td{background:var(--bg-hover)}.page-header{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;border-bottom:1px solid var(--border);flex-shrink:0}.page-header h1{font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:1px}.page-content{flex:1;overflow-y:auto;padding:16px}.empty-state{display:flex;flex-direction:column;align-items:center;gap:8px;padding:40px;color:var(--text-tertiary);font-size:11px}.loading{display:flex;align-items:center;justify-content:center;padding:40px;color:var(--text-tertiary)}.card-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:8px}.card-grid.chores-grid{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:10px}.status-dot{display:inline-block;width:6px;height:6px;border:1px solid}.status-dot.positive{border-color:var(--accent);background:var(--accent-dim)}.status-dot.negative{border-color:var(--accent-red);background:#ff6b6b4d}.status-dot.neutral{border-color:var(--text-tertiary)}.amount{font-variant-numeric:tabular-nums}.amount.positive{color:var(--accent)}.amount.negative{color:var(--accent-red)}.top-bar{display:flex;align-items:center;justify-content:space-between;padding:0 10px;height:36px;background:var(--bg-panel);border-bottom:1px solid var(--border);flex-shrink:0}.top-bar-left,.top-bar-right{display:flex;align-items:center;gap:4px}.top-bar-brand{display:flex;align-items:center;gap:6px;font-size:11px;font-weight:600;letter-spacing:2px;color:var(--accent);text-decoration:none;padding:0 8px}.top-bar-brand:hover{color:var(--accent)}.top-bar-nav{display:flex;align-items:center;gap:2px}.nav-link{display:flex;align-items:center;gap:5px;padding:4px 8px;font-size:11px;color:var(--text-secondary);text-decoration:none;border:1px solid transparent;transition:border-color .15s}.nav-link:hover{color:var(--accent);border-color:var(--accent-dim)}.nav-link.active{color:var(--accent);border-color:var(--accent-dim);background:var(--bg-hover)}.nav-user-label{font-size:10px;text-transform:uppercase;letter-spacing:1px}.mobile-menu-btn{display:none}.ledger-grid{display:flex;flex-direction:column;gap:4px}.ledger-row{display:flex;justify-content:space-between;align-items:center;font-size:11px}.fixed-costs-table-wrap{overflow-x:auto}.fixed-costs-table{white-space:nowrap}.fixed-costs-cards{display:none}@media (max-width: 600px){.fixed-costs-table-wrap{display:none}.fixed-costs-cards{display:block}}@media (max-width: 700px){.mobile-menu-btn{display:flex}.top-bar-nav{display:none;position:absolute;top:36px;left:0;right:0;flex-direction:column;background:var(--bg-panel);border-bottom:1px solid var(--border);z-index:900;padding:4px}.top-bar-nav.open{display:flex}.nav-link{padding:8px 12px;min-height:36px}.nav-user-label{display:none}.btn{min-height:36px;padding:6px 12px}.page-header{flex-direction:column;gap:8px;padding:8px 12px;height:auto}.page-header h1{font-size:11px}.page-content{padding:12px}table{font-size:10px}th,td{padding:6px 4px}.card-grid{grid-template-columns:1fr}.modal{width:100%;max-width:100vw}}
