:root{--text:#574f47;--text-h:#1f1a15;--bg:#faf7f2;--card-bg:#fff;--border:#e8e1d6;--accent:#0d9488;--accent-2:#d97706;--accent-contrast:#fff;--danger:#dc2626;--danger-bg:#fef2f2;--shadow:0 20px 45px -15px #1f1a1533;--sans:"Plus Jakarta Sans", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--heading:"Space Grotesk", var(--sans);font:16px/1.5 var(--sans);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;color:var(--text);background:var(--bg);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial;--text:#c7bfb4;--text-h:#f7f3ed;--bg:#16140f;--card-bg:#201d17;--border:#322d24;--accent:#2dd4bf;--accent-2:#fbbf24;--danger:#f87171;--danger-bg:#f871711f;--shadow:0 20px 45px -15px #0009}}*{box-sizing:border-box}#root{flex-direction:column;min-height:100svh;display:flex}body{margin:0}h1{font-family:var(--heading);letter-spacing:-.02em;color:var(--text-h);margin:0;font-size:1.9rem;font-weight:600}p{margin:0}.auth-page{background:radial-gradient(circle at 15% 20%, #0d948829, transparent 45%), radial-gradient(circle at 85% 80%, #d9770629, transparent 45%), var(--bg);justify-content:center;align-items:center;width:100%;min-height:100svh;padding:2rem 1.5rem;display:flex;position:relative}.auth-card{flex-direction:column;gap:1.75rem;width:100%;max-width:400px;display:flex}.auth-brand{font-family:var(--heading);letter-spacing:-.01em;color:var(--text-h);justify-content:center;align-items:center;gap:.75rem;font-size:1.35rem;font-weight:600;display:flex}.auth-form{background:var(--card-bg);border:1px solid var(--border);box-shadow:var(--shadow);border-radius:18px;flex-direction:column;gap:1.1rem;padding:2.25rem;display:flex}.auth-heading{flex-direction:column;gap:.35rem;margin-bottom:.25rem;display:flex}.auth-heading p{color:var(--text);font-size:.9rem}.auth-row{grid-template-columns:1fr 1fr;gap:.75rem;min-width:0;display:grid}.auth-form label{color:var(--text-h);flex-direction:column;gap:.4rem;min-width:0;font-size:.85rem;font-weight:500;display:flex}.auth-form input{border:1px solid var(--border);background:var(--bg);width:100%;min-width:0;color:var(--text-h);border-radius:10px;padding:.65rem .85rem;font-family:inherit;font-size:.95rem;transition:border-color .15s,box-shadow .15s}.auth-form input:focus{border-color:var(--accent);outline:none;box-shadow:0 0 0 3px #0d94882e}.auth-form input::placeholder{color:color-mix(in srgb, var(--text) 55%, transparent)}.auth-form button{background:linear-gradient(135deg, var(--accent), var(--accent-2));color:var(--accent-contrast);cursor:pointer;border:none;border-radius:10px;margin-top:.4rem;padding:.75rem;font-family:inherit;font-size:.95rem;font-weight:600;transition:transform .1s,box-shadow .15s,opacity .15s;box-shadow:0 8px 20px -8px #0d948880}.auth-form button:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 12px 24px -8px #0d948899}.auth-form button:active:not(:disabled){transform:translateY(0)}.auth-form button:disabled{opacity:.6;cursor:default;box-shadow:none}.auth-switch{text-align:center;color:var(--text);font-size:.85rem}.auth-switch a{color:var(--accent);font-weight:600;text-decoration:none}.auth-switch a:hover{text-decoration:underline}.error{background:var(--danger-bg);color:var(--danger);text-align:center;border-radius:8px;padding:.6rem .8rem;font-size:.85rem}.loading{min-height:100svh;color:var(--text);justify-content:center;align-items:center;display:flex}.app-shell{background:var(--bg);flex-direction:column;min-height:100svh;display:flex}.topbar{border-bottom:1px solid var(--border);background:var(--card-bg);justify-content:space-between;align-items:center;padding:.5rem 1.25rem;text-decoration:none;display:flex}.topbar-right{align-items:center;gap:1rem;display:flex}.topbar-user{color:var(--text);font-size:.85rem}.ghost-button{border:1px solid var(--border);color:var(--text-h);cursor:pointer;background:0 0;border-radius:8px;padding:.5rem 1.1rem;font-family:inherit;font-size:.9rem;font-weight:500;transition:background .15s,border-color .15s}.ghost-button:hover{background:var(--bg);border-color:var(--accent)}.app-main{box-sizing:border-box;flex:1;width:100%;max-width:1080px;margin:0 auto;padding:2.5rem}.page{flex-direction:column;gap:1.75rem;display:flex}.back-link{color:var(--text);align-self:flex-start;font-size:.85rem;text-decoration:none}.back-link:hover{color:var(--accent)}.page-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.page-header h1{margin-bottom:.3rem}.page-subtitle{color:var(--text);font-size:.95rem}.primary-button{background:linear-gradient(135deg, var(--accent), var(--accent-2));color:var(--accent-contrast);cursor:pointer;white-space:nowrap;border:none;border-radius:10px;padding:.65rem 1.25rem;font-family:inherit;font-size:.9rem;font-weight:600;transition:transform .1s,box-shadow .15s;box-shadow:0 8px 20px -8px #0d948880}.primary-button:hover{transform:translateY(-1px);box-shadow:0 12px 24px -8px #0d948899}.section{flex-direction:column;gap:1rem;display:flex}.section h2{color:var(--text-h);font-size:1.15rem}.section-hint{color:var(--text);margin-top:-.5rem;font-size:.85rem}.section-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;display:flex}.section-header input[type=month]{border:1px solid var(--border);background:var(--card-bg);color:var(--text-h);border-radius:8px;padding:.5rem .75rem;font-family:inherit}.section-header-actions{flex-wrap:wrap;align-items:center;gap:.75rem;display:flex}.inline-form{background:var(--card-bg);border:1px solid var(--border);border-radius:14px;flex-wrap:wrap;align-items:flex-start;gap:1rem;padding:1.25rem;display:flex}.inline-form button{margin-top:1.55rem}.inline-form label{color:var(--text-h);flex-direction:column;gap:.35rem;font-size:.85rem;font-weight:500;display:flex}.inline-form input,.inline-form select{border:1px solid var(--border);background:var(--bg);color:var(--text-h);border-radius:8px;padding:.55rem .75rem;font-family:inherit;font-size:.9rem}.inline-form input:focus,.inline-form select:focus{border-color:var(--accent);outline:none;box-shadow:0 0 0 3px #0d94882e}.field-hint{color:var(--text);max-width:180px;font-size:.75rem;font-weight:400}.inline-form button{background:linear-gradient(135deg, var(--accent), var(--accent-2));color:var(--accent-contrast);cursor:pointer;border:none;border-radius:8px;height:fit-content;padding:.6rem 1.2rem;font-family:inherit;font-size:.9rem;font-weight:600}.inline-form button:disabled{opacity:.6;cursor:default}.card-grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:1rem;display:grid}.entity-card{background:var(--card-bg);border:1px solid var(--border);border-radius:14px;flex-direction:column;gap:.6rem;padding:1.25rem;transition:border-color .15s;display:flex}.entity-card:hover{border-color:var(--accent)}.entity-card-link{color:inherit;flex-direction:column;gap:.35rem;text-decoration:none;display:flex}.card-actions{border-top:1px solid var(--border);gap:.75rem;padding-top:.5rem;display:flex}.inline-edit-form{flex-direction:column;gap:.5rem;display:flex}.inline-edit-form input[type=text],.inline-edit-form input[type=number],.inline-edit-form input:not([type]),.inline-edit-form select{border:1px solid var(--border);background:var(--bg);color:var(--text-h);border-radius:6px;padding:.45rem .6rem;font-family:inherit;font-size:.85rem}.checkbox-label{color:var(--text);align-items:center;gap:.4rem;font-size:.85rem;display:flex}.checkbox-label input{width:auto}.checkbox-fieldset{border:1px solid var(--border);border-radius:8px;flex-direction:column;gap:.5rem;min-width:180px;padding:.6rem .85rem;display:flex}.checkbox-fieldset legend{color:var(--text-h);padding:0 .25rem;font-size:.75rem;font-weight:500}.entity-card h2,.entity-card h3{color:var(--text-h);margin:0;font-size:1rem}.entity-card-title{align-items:center;gap:.5rem;display:flex}.entity-card-inactive .entity-card-link{opacity:.55}.status-badge{text-transform:uppercase;letter-spacing:.04em;background:var(--danger-bg);color:var(--danger);white-space:nowrap;border-radius:999px;padding:.15rem .5rem;font-size:.65rem;font-weight:700}.entity-meta{color:var(--accent);font-size:.8rem;font-weight:600}.muted{color:var(--text);font-size:.85rem}.empty-state{text-align:center;color:var(--text);background:var(--card-bg);border:1px dashed var(--border);border-radius:14px;padding:1.5rem;font-size:.9rem}.loading-inline{color:var(--text);font-size:.9rem}.table-scroll{overflow-x:auto}.data-table{border-collapse:collapse;background:var(--card-bg);border:1px solid var(--border);border-radius:14px;width:100%;font-size:.9rem;overflow:hidden}.data-table th,.data-table td{text-align:left;white-space:nowrap;vertical-align:middle;padding:.7rem 1rem}.data-table thead{background:var(--bg)}.data-table th{text-transform:uppercase;letter-spacing:.04em;color:var(--text);font-size:.75rem}.data-table tbody tr{border-top:1px solid var(--border)}.data-table tbody tr.row-inactive td:not(.row-actions){opacity:.55}.data-table td input{border:1px solid var(--border);background:var(--bg);width:100%;color:var(--text-h);border-radius:6px;padding:0 .5rem;font-family:inherit;font-size:.85rem;line-height:1.4}.fees-table{table-layout:fixed}.fees-table td{text-overflow:ellipsis;overflow:hidden}.fees-table th:first-child,.fees-table td:first-child{width:34%}.fees-table th:nth-child(2),.fees-table td:nth-child(2){width:18%}.fees-table th:nth-child(3),.fees-table td:nth-child(3){width:16%}.fees-table th:nth-child(4),.fees-table td:nth-child(4){width:32%}.row-actions-group{align-items:center;gap:.75rem;display:flex}.link-button{color:var(--accent);cursor:pointer;background:0 0;border:none;padding:0;font-family:inherit;font-size:.85rem;font-weight:600}.link-button.danger{color:var(--danger)}.summary-total{text-align:right;color:var(--text-h);font-size:1rem}.language-switcher{align-items:center;gap:.35rem;font-size:.8rem;display:flex}.language-option{font-family:inherit;font-size:inherit;color:var(--text);cursor:pointer;background:0 0;border:none;border-radius:4px;padding:.15rem .3rem}.language-option.active{color:var(--accent);font-weight:700}.language-divider{color:var(--border)}.auth-page .language-switcher{position:absolute;top:1.5rem;right:1.5rem}@media (width<=480px){.auth-row{grid-template-columns:1fr}.app-main{padding:1.5rem}.inline-form{flex-direction:column;align-items:stretch}}
