*{box-sizing:border-box}:root{--color-bg: #f5f6fa;--color-surface: #ffffff;--color-surface-alt: #f8f9fc;--color-text: #1a1a2e;--color-text-muted: #666666;--color-border: #d7d9e0;--color-border-subtle: #eef0f5;--color-primary: #0f7b6c;--color-primary-hover: #0b6357;--color-primary-contrast: #ffffff;--color-secondary-bg: #eceef5;--color-secondary-bg-hover: #dfe2ed;--color-secondary-text: #333333;--color-danger-bg: #fdecea;--color-danger-bg-hover: #fadbd8;--color-danger-text: #c0392b;--color-success-bg: #e6f7ed;--color-success-text: #1e8449;--color-warning-bg: #fdf3e3;--color-warning-text: #8a5a00;--color-neutral-badge-bg: #f2f2f2;--color-neutral-badge-text: #777777;--color-sidebar-bg: #16232b;--color-sidebar-text: #c5d1d6;--color-sidebar-active: rgba(15, 123, 108, .35);--color-sidebar-accent: #2bb39f;--shadow-card: 0 4px 16px rgba(0, 0, 0, .06);--shadow-popover: 0 10px 30px rgba(0, 0, 0, .12)}:root[data-theme=dark]{--color-bg: #121a1f;--color-surface: #1b262d;--color-surface-alt: #223039;--color-text: #e6eef0;--color-text-muted: #94a6ad;--color-border: #34464f;--color-border-subtle: #26353d;--color-primary: #2bb39f;--color-primary-hover: #36c7b1;--color-primary-contrast: #0b1a17;--color-secondary-bg: #26353d;--color-secondary-bg-hover: #304350;--color-secondary-text: #d6e1e4;--color-danger-bg: #402029;--color-danger-bg-hover: #522634;--color-danger-text: #ff8a80;--color-success-bg: #1c3527;--color-success-text: #6fcf97;--color-warning-bg: #40331a;--color-warning-text: #f0c674;--color-neutral-badge-bg: #26353d;--color-neutral-badge-text: #94a6ad;--color-sidebar-bg: #0d1418;--shadow-card: 0 4px 16px rgba(0, 0, 0, .4);--shadow-popover: 0 10px 30px rgba(0, 0, 0, .5)}html,body{height:100%;margin:0}body{font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;color:var(--color-text);background:var(--color-bg)}button{font-family:inherit;cursor:pointer}input,select{font-family:inherit}.btn{display:inline-block;padding:9px 16px;border:none;border-radius:8px;font-size:.9rem;font-weight:600;text-decoration:none;background:var(--color-primary);color:var(--color-primary-contrast)}.btn:disabled{opacity:.6;cursor:default}.btn:not(:disabled):hover{background:var(--color-primary-hover)}.btn.secondary{background:var(--color-secondary-bg);color:var(--color-secondary-text)}.btn.secondary:not(:disabled):hover{background:var(--color-secondary-bg-hover)}.btn.danger{background:var(--color-danger-bg);color:var(--color-danger-text)}.btn.danger:not(:disabled):hover{background:var(--color-danger-bg-hover)}.btn.small{padding:6px 12px;font-size:.8rem;border-radius:6px}.link-button{padding:0;border:none;background:none;color:var(--color-primary);font-size:.85rem;font-weight:600;text-decoration:none}.link-button:hover{text-decoration:underline}.form-error,.info-banner{margin:0 0 16px;padding:10px 12px;border-radius:8px;font-size:.85rem}.form-error{background:var(--color-danger-bg);color:var(--color-danger-text)}.info-banner{background:var(--color-success-bg);color:var(--color-success-text)}.warning-banner{margin:0 0 8px;padding:10px 12px;border-radius:8px;background:var(--color-warning-bg);color:var(--color-warning-text);font-size:.85rem;line-height:1.6}.warning-banner p{margin:0 0 6px}.warning-banner a{color:inherit;font-weight:600}.field-error{margin:4px 0 0;color:var(--color-danger-text);font-size:.78rem}.hint{margin:4px 0 0;color:var(--color-text-muted);font-size:.8rem}.form-field{display:flex;flex-direction:column;gap:4px;margin-top:12px}.form-field label{font-size:.85rem;font-weight:600}.form-field input,.form-field select{padding:9px 11px;border:1px solid var(--color-border);border-radius:8px;font-size:.95rem;background:var(--color-surface);color:var(--color-text)}.form-field input:focus,.form-field select:focus{outline:none;border-color:var(--color-primary)}.checkbox-field{display:flex;align-items:center;gap:8px;margin-top:8px;font-size:.9rem}.checkbox-field.permission-choice{align-items:flex-start}.checkbox-field.permission-choice input{margin-top:3px}.checkbox-field.permission-choice .hint{display:block;margin:0}.field-label{font-size:.85rem;font-weight:600}.user-email{display:block;font-size:.8rem}.form-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:20px}.auth-page{display:flex;align-items:center;justify-content:center;min-height:100vh;padding:16px}.auth-card{display:flex;flex-direction:column;width:100%;max-width:380px;padding:32px;background:var(--color-surface);border-radius:12px;box-shadow:var(--shadow-popover)}.auth-card h1{margin:0;font-size:1.5rem}.auth-card .subtitle{margin:4px 0 12px;color:var(--color-text-muted);font-size:.9rem}.auth-card .form-error,.auth-card .info-banner{margin:16px 0 0}.auth-card .btn{margin-top:24px;padding:12px;font-size:1rem}.auth-card .link-button{margin-top:12px;text-align:center}.page-header{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:24px}.page-header h1{margin:0;font-size:1.4rem}.header-actions{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.header-actions label{font-size:.85rem;font-weight:600}.header-actions select{padding:8px 10px;border:1px solid var(--color-border);border-radius:8px;background:var(--color-surface);color:var(--color-text);font:inherit;font-size:.9rem}.intro{max-width:760px;margin:-12px 0 24px;color:var(--color-text-muted);font-size:.9rem;line-height:1.5}.entity-form{max-width:460px;padding:20px;margin-bottom:24px;background:var(--color-surface);border-radius:12px;box-shadow:var(--shadow-card)}.entity-form .form-field:first-child{margin-top:0}.table-wrapper{overflow-x:auto;background:var(--color-surface);border-radius:12px;box-shadow:var(--shadow-card)}.entity-table{width:100%;border-collapse:collapse}.entity-table th,.entity-table td{padding:12px 16px;text-align:left;font-size:.9rem;border-bottom:1px solid var(--color-border-subtle)}.entity-table th{color:var(--color-text-muted);font-size:.78rem;font-weight:600;text-transform:uppercase;letter-spacing:.03em}.entity-table tr:last-child td{border-bottom:none}.entity-table .muted{color:var(--color-text-muted)}.entity-table .actions{display:flex;justify-content:flex-end;gap:8px;flex-wrap:wrap}.empty-state{padding:24px;color:var(--color-text-muted);text-align:center}.badge{display:inline-block;padding:3px 10px;border-radius:999px;font-size:.78rem;font-weight:600;white-space:nowrap}.badge.active{background:var(--color-success-bg);color:var(--color-success-text)}.badge.inactive{background:var(--color-neutral-badge-bg);color:var(--color-neutral-badge-text)}.badge.warning{background:var(--color-warning-bg);color:var(--color-warning-text)}.badge.status-DRAFT{background:var(--color-neutral-badge-bg);color:var(--color-neutral-badge-text)}.badge.status-SUBMITTED,.badge.status-APPROVED{background:var(--color-warning-bg);color:var(--color-warning-text)}.badge.status-RETURNED{background:var(--color-danger-bg);color:var(--color-danger-text)}.badge.status-PAID{background:var(--color-success-bg);color:var(--color-success-text)}.scale-form{max-width:900px}.scale-form input.rate{width:72px;padding:6px 8px;border:1px solid var(--color-border);border-radius:6px;background:var(--color-surface);color:var(--color-text);text-align:right}.scale{margin-bottom:24px}.scale .page-header{margin-bottom:10px}.scale h2{margin:0;font-size:1.05rem}.entity-table .num-col{text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums}.entity-table .group-row td{padding-top:14px;background:var(--color-surface-alt);color:var(--color-text-muted);font-size:.75rem;font-weight:700;letter-spacing:.03em;text-transform:uppercase}.entity-table input.retained{width:120px;padding:6px 8px;border:1px solid var(--color-border);border-radius:6px;background:var(--color-surface);color:var(--color-text);font:inherit;text-align:right}.page-header.section-header{margin:28px 0 8px}.page-header.section-header h2{margin:0;font-size:1.1rem}.modal-backdrop{position:fixed;inset:0;z-index:29;background:#0006}.modal{position:fixed;top:50%;left:50%;z-index:30;width:calc(100% - 32px);max-width:420px;max-height:calc(100vh - 40px);overflow-y:auto;padding:24px;transform:translate(-50%,-50%);background:var(--color-surface);border-radius:12px;box-shadow:var(--shadow-popover)}.modal h2{margin:0 0 8px;font-size:1.15rem}.modal p{margin:0 0 12px;font-size:.9rem;line-height:1.4}.secret{display:block;padding:10px 12px;border-radius:8px;background:var(--color-surface-alt);border:1px dashed var(--color-border);font-family:ui-monospace,Consolas,monospace;font-size:1.1rem;text-align:center;-webkit-user-select:all;user-select:all}
