.btn{display:inline-flex;align-items:center;justify-content:center;gap:.4rem;min-height:2rem;padding:.35rem .75rem;border:1px solid var(--c-border);border-radius:6px;background:var(--c-surface-2);color:var(--c-text);font:inherit;line-height:1.2;cursor:pointer;white-space:nowrap}.btn:hover:not(:disabled){background:var(--c-surface-3)}.btn:focus-visible{outline:2px solid var(--c-focus);outline-offset:1px}.btn:disabled{opacity:.55;cursor:default}.btn-primary{background:var(--c-primary);border-color:var(--c-primary);color:var(--c-on-primary)}.btn-primary:hover:not(:disabled){background:var(--c-primary-hover);border-color:var(--c-primary-hover)}.btn-danger{background:var(--c-danger);border-color:var(--c-danger);color:var(--c-on-primary)}.btn-danger:hover:not(:disabled){background:var(--c-danger-hover);border-color:var(--c-danger-hover)}.btn-outline{background:var(--c-surface)}.btn-outline:hover:not(:disabled){background:var(--c-surface-2)}.btn-flat{background:transparent;border-color:transparent}.btn-flat:hover:not(:disabled){background:var(--c-surface-2)}.btn-icon{min-height:1.75rem;padding:.25rem;aspect-ratio:1}.btn-small{min-height:1.6rem;padding:.15rem .5rem;font-size:.85rem}.text-input,textarea.text-input,select.text-input{min-height:2rem;padding:.35rem .5rem;border:1px solid var(--c-border);border-radius:6px;background:var(--c-surface-2);color:var(--c-text);font:inherit}.text-input::placeholder,textarea.text-input::placeholder,select.text-input::placeholder{color:var(--c-text-muted)}.text-input:focus-visible,.text-input:focus,textarea.text-input:focus-visible,textarea.text-input:focus,select.text-input:focus-visible,select.text-input:focus{outline:2px solid var(--c-focus);outline-offset:-1px}.text-input:read-only,textarea.text-input:read-only,select.text-input:read-only{color:var(--c-text-muted)}.text-input:disabled,textarea.text-input:disabled,select.text-input:disabled{opacity:.6}.text-input.is-invalid,textarea.text-input.is-invalid,select.text-input.is-invalid{border-color:var(--c-danger)}textarea.text-input{width:100%;resize:vertical}.field{display:flex;flex-direction:column;gap:.25rem}.field-label{font-size:.85rem;color:var(--c-text-muted)}.field-error,.validation-error{color:var(--c-danger);font-size:.8rem}.field-warning{color:var(--c-warning);font-size:.8rem}.switch{appearance:none;position:relative;flex:none;width:2.5rem;height:1.4rem;margin:0;border:1px solid var(--c-border);border-radius:999px;background:var(--c-surface-2);cursor:pointer;transition:background .12s ease-out}.switch:after{content:"";position:absolute;top:50%;left:.15rem;width:1rem;height:1rem;transform:translateY(-50%);border-radius:50%;background:var(--c-text-muted);transition:left .12s ease-out,background .12s ease-out}.switch:checked{background:var(--c-primary);border-color:var(--c-primary)}.switch:checked:after{left:calc(100% - 1.15rem);background:var(--c-on-primary)}.switch:focus-visible{outline:2px solid var(--c-focus);outline-offset:2px}.appbar{display:flex;align-items:center;gap:.35rem;padding:.35rem .75rem;background:var(--c-surface);border-bottom:1px solid var(--c-border)}.appbar-spacer{flex:1}.toolbar{display:flex;align-items:center;flex-wrap:wrap;gap:.5rem}.visually-hidden{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}.status{padding:.5rem .75rem;border:1px solid var(--c-border);border-radius:6px;background:var(--c-surface-2)}.status.error{border-color:var(--c-danger);color:var(--c-danger)}.table-scroll{overflow:auto;overscroll-behavior-y:contain}.data-table{width:100%;border-collapse:separate;border-spacing:0;font-variant-numeric:tabular-nums}.data-table th,.data-table td{padding:.4rem .6rem;text-align:left;vertical-align:top;border-bottom:1px solid var(--c-border)}.data-table thead th{position:sticky;top:0;z-index:2;background:var(--c-surface-2);font-size:.85rem;font-weight:600;color:var(--c-text-muted);white-space:nowrap;vertical-align:middle}.data-table:not(.is-grouped) tbody tr:hover>td{background:var(--c-surface-2)}.data-table.is-grouped tbody:hover>tr>td{background:var(--c-surface-2)}.th-sort{display:inline-flex;align-items:center;gap:.3rem;width:100%;padding:0;border:0;background:none;color:inherit;font:inherit;font-weight:600;cursor:pointer}.th-sort:focus-visible{outline:2px solid var(--c-focus);outline-offset:2px}.th-sort-indicator{font-size:.6rem;line-height:1;color:var(--c-primary-emphasis, var(--c-text))}.th-with-action{display:flex;align-items:center;gap:.25rem}.th-with-action .th-sort{flex:1 1 auto;width:auto;min-width:0}.th-with-action .th-action{flex:0 0 auto;margin-left:auto}.th-with-action .th-action.is-active{color:var(--c-primary-emphasis)}.table-empty td{padding:1.5rem .6rem;text-align:center;color:var(--c-text-muted);font-style:italic}.detail-row>td{padding-top:0;border-bottom:1px solid var(--c-border)}:root{--c-bg: #d8d7d6;--c-surface: #ffffff;--c-surface-2: #eef0f4;--c-surface-3: #e2e6ec;--c-border: #c9cfd8;--c-text: #1f2430;--c-text-muted: #5b6472;--c-primary: #1976d2;--c-primary-hover: #1565c0;--c-primary-emphasis: #0d47a1;--c-on-primary: #ffffff;--c-danger: #d32f2f;--c-danger-hover: #b71c1c;--c-warning: #a35c00;--c-focus: #1976d2;--c-accent: #1976d2}*,*:before,*:after{box-sizing:border-box}html,body{margin:0;padding:0;overflow-x:hidden;width:100%;max-width:100%;height:100%;min-height:100vh;background-color:var(--c-bg);color:var(--c-text);font-family:Segoe UI,Helvetica Neue,Helvetica,Arial,sans-serif;font-size:14px}*{max-width:100%}div,section,article,main,aside,header,footer,nav{max-width:100%}
