@import"https://fonts.googleapis.com/css2?family=Sora:wght@400;600;700&display=swap";@import"https://fonts.googleapis.com/css2?family=B612:ital,wght@0,400;0,700;1,400;1,700&display=swap";@import"https://fonts.googleapis.com/css2?family=Mukta:wght@400;500;600;700&display=swap";.field{display:flex;flex-direction:column;gap:6px;margin-bottom:16px}.control{font-family:var(--font-body);font-size:1rem;min-height:var(--touch-target);padding:0 14px;border-radius:var(--radius-control);border:2px solid var(--border-muted);background:#fff;color:var(--text-primary);width:100%}.control:focus{outline:none;border-color:var(--border-primary)}.control:disabled{background:var(--background-body);color:var(--text-tertiary);cursor:not-allowed}.control-textarea{padding:12px 14px;min-height:88px;font-family:var(--font-body);resize:vertical}.field-hint{font-size:.8rem;color:var(--text-tertiary)}.field-error{font-size:.8rem;color:var(--danger)}.checkbox{display:inline-flex;align-items:center;gap:8px;font-family:var(--font-ui);font-weight:600;cursor:pointer}.checkbox input{width:20px;height:20px}.card{background:#fff;border:2px solid var(--border-primary);border-radius:var(--radius-card);box-shadow:var(--shadow-offset);padding:24px}.card-flat{box-shadow:none;padding:16px}@media (max-width: 640px){.card{padding:16px}}.btn{font-family:var(--font-ui);font-weight:600;border-radius:var(--radius-control);cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:8px;border:2px solid transparent;white-space:nowrap;transition:background-color .15s ease,color .15s ease,border-color .15s ease}.btn-large{min-height:var(--touch-target);padding:0 20px;font-size:1rem}.btn-medium{min-height:40px;padding:0 16px;font-size:.9rem}.btn-filled{background-color:var(--button-bg-active);color:var(--text-on-dark);border-color:var(--button-bg-active)}.btn-filled:hover{background-color:var(--button-bg-hover);border-color:var(--button-bg-hover)}.btn-filled:active{background-color:var(--button-bg-pressed);border-color:var(--button-bg-pressed)}.btn-outlined{background-color:transparent;color:var(--button-bg-active);border-color:var(--button-bg-active)}.btn-outlined:hover{background-color:var(--button-bg-active);color:var(--text-on-dark)}.btn-danger{background-color:transparent;color:var(--danger);border-color:var(--danger)}.btn-danger:hover{background-color:var(--danger);color:#fff}.btn:disabled{background-color:var(--button-disabled-bg)!important;color:var(--button-disabled-text)!important;border-color:var(--button-disabled-border)!important;cursor:not-allowed}.data-table-wrap{overflow-x:auto}.data-table{width:100%;border-collapse:collapse;font-family:var(--font-body)}.data-table th,.data-table td{padding:10px 12px;border-bottom:1px solid var(--border-muted);font-size:.95rem;white-space:nowrap}.data-table th{font-family:var(--font-ui);font-weight:700;color:var(--text-primary);border-bottom:2px solid var(--border-primary)}.data-table tfoot td{font-weight:700;border-top:2px solid var(--border-primary);border-bottom:none}.data-table-empty{color:var(--text-tertiary);font-style:italic}.row-actions{display:flex;gap:8px;flex-wrap:wrap}.batch-log-page{display:flex;flex-direction:column;gap:24px}.batch-form{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:16px;align-items:start;margin-top:16px}.batch-form-observations{grid-column:1 / -1}.batch-form-submit{grid-column:1 / -1;justify-self:start}.confirmation{color:var(--text-success);font-family:var(--font-ui);font-weight:600}.batch-filters{display:flex;gap:16px;flex-wrap:wrap;align-items:flex-end;margin-bottom:16px}.batch-filter-field{margin-bottom:0;min-width:160px}.edit-inline-group{display:flex;gap:6px;align-items:center}.list-editor-form{display:flex;gap:12px;align-items:flex-end;margin:16px 0;flex-wrap:wrap}.list-editor-form .field{flex:1;min-width:200px;margin-bottom:0}.settings-page{display:flex;flex-direction:column;gap:24px}.month-year-picker{display:flex;gap:16px;flex-wrap:wrap;margin-bottom:8px}.month-year-picker .field{margin-bottom:0;min-width:160px}.trend-chart{display:flex;flex-direction:column;gap:8px}.trend-chart-label{font-size:1rem}.trend-chart svg{width:100%;height:auto}.stats-page,.trend-charts{display:flex;flex-direction:column;gap:24px}@media (min-width: 900px){.trend-charts{flex-direction:row}.trend-charts>*{flex:1}}.app-shell{min-height:100%;display:flex;flex-direction:column}.app-header{background:var(--background-primary);border-bottom:2px solid var(--border-primary);padding:16px 24px;display:flex;align-items:center;gap:24px;flex-wrap:wrap}.app-nav{display:flex;gap:8px;flex:1;flex-wrap:wrap}.app-nav a{font-family:var(--font-ui);font-weight:600;text-decoration:none;color:var(--text-primary);padding:0 16px;border-radius:var(--radius-control);min-height:var(--touch-target);display:inline-flex;align-items:center}.app-nav a.active{background:var(--background-secondary);color:var(--text-on-dark)}.staff-picker{display:flex;align-items:center;gap:8px}.staff-picker label{white-space:nowrap}.staff-picker select{min-height:40px;width:auto}.app-main{flex:1;padding:24px;max-width:1100px;width:100%;margin:0 auto;display:flex;flex-direction:column;gap:24px}@media (max-width: 640px){.app-header{padding:12px;gap:12px}.app-main{padding:12px}}:root{--background-primary: #f8f4ec;--background-body: #f4f1ea;--background-secondary: #1c0b5c;--background-tertiary: #550b5c;--background-success: #057a36;--text-primary: #1c0b5c;--text-secondary: #550b5c;--text-tertiary: #635b57;--text-on-dark: #f8f4ec;--text-success: #057a36;--border-primary: #1c0b5c;--border-muted: #99908b;--button-bg-active: #1c0b5c;--button-bg-hover: #550b5c;--button-bg-pressed: #3c008a;--button-disabled-bg: #f4f1ea;--button-disabled-text: #99908b;--button-disabled-border: #99908b;--danger: #a13d2e;--danger-bg: #fbeae6;--radius-card: 16px;--radius-control: 8px;--shadow-offset: 8px 8px 0 0 var(--background-secondary);--font-heading: "Sora", sans-serif;--font-body: "B612", sans-serif;--font-ui: "Mukta", sans-serif;--touch-target: 48px}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;font-family:var(--font-body);background-color:var(--background-body);color:var(--text-primary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}h1,h2,h3{font-family:var(--font-heading);color:var(--text-primary);margin:0}h1{font-size:1.75rem;font-weight:700}h2{font-size:1.25rem;font-weight:700;letter-spacing:.5px}label{font-family:var(--font-ui);font-weight:600;font-size:.85rem;color:var(--text-primary)}a{color:var(--text-secondary)}table{border-collapse:collapse;width:100%}
