:root{--pine-900:#13241a;--pine-800:#1b3527;--pine-700:#244936;--pine-600:#2e5c45;--pine-500:#3d7558;--pine-100:#e7efea;--pine-50:#f2f7f4;--field-600:#26734d;--field-500:#2d8659;--field-400:#429e6f;--field-100:#e6f5ed;--field-50:#f2fbf6;--bg-app:#f6f8f5;--bg-surface:#fff;--bg-surface-subtle:#fafbf9;--bg-surface-muted:#f0f3f0;--border-subtle:#e2e7e2;--border-default:#d3dbd4;--border-strong:#bac7bc;--text-primary:#15221b;--text-secondary:#48594f;--text-muted:#738479;--text-inverse:#fff;--alert-danger:#b42318;--alert-danger-bg:#fef3f2;--alert-danger-border:#fecdca;--alert-amber:#b54708;--alert-amber-bg:#fffaeb;--alert-amber-border:#fedf89;--alert-success:#0b7847;--alert-success-bg:#edfcf2;--alert-success-border:#a6f4c5;--alert-info:#026aa2;--alert-info-bg:#f0f9ff;--alert-info-border:#b9e6fe;--shadow-sm:0 1px 2px #13241a0a;--shadow-md:0 4px 12px #13241a0f;--shadow-lg:0 12px 28px #13241a1a;--shadow-modal:0 20px 48px #0f1c142e;--radius-sm:6px;--radius-md:10px;--radius-lg:14px}*,:before,:after{box-sizing:border-box}html,body{background-color:var(--bg-app);color:var(--text-primary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;margin:0;padding:0;font-family:Plus Jakarta Sans,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;line-height:1.5}body{min-width:320px;min-height:100vh}.tabular-nums,td,th,.stat-card strong,.summary-item-value,.badge,.tab-badge{font-variant-numeric:tabular-nums}:focus-visible{outline:2px solid var(--field-500);outline-offset:2px}button,input,select,textarea{font:inherit}button{cursor:pointer}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.app{background-color:var(--bg-app);min-height:100vh;color:var(--text-primary);flex-direction:column;display:flex}.navbar{background:var(--bg-surface);border-bottom:1px solid var(--border-subtle);z-index:100;justify-content:space-between;align-items:center;gap:20px;padding:16px 5%;display:flex;position:sticky;top:0;box-shadow:0 1px 3px #13241a08}.navbar-brand{align-items:center;gap:12px;display:flex}.navbar h1{letter-spacing:-.02em;color:var(--pine-900);align-items:center;gap:8px;margin:0;font-size:20px;font-weight:700;display:flex}.navbar p{color:var(--text-muted);margin:2px 0 0;font-size:13px;font-weight:500}.navbar-actions{flex-wrap:wrap;align-items:center;gap:14px;display:flex}.house-selector{flex-direction:column;gap:4px;display:flex}.house-selector label{color:var(--text-secondary);letter-spacing:.02em;font-size:11px;font-weight:700}.house-selector select{border:1px solid var(--border-default);border-radius:var(--radius-sm);background-color:var(--bg-surface);min-width:220px;color:var(--text-primary);cursor:pointer;outline:none;padding:8px 12px;font-size:13px;font-weight:600;transition:border-color .15s,box-shadow .15s}.house-selector select:hover{border-color:var(--pine-500)}.house-selector select:focus{border-color:var(--field-600);box-shadow:0 0 0 3px var(--field-100)}.user-profile{background:var(--bg-surface-subtle);border:1px solid var(--border-subtle);border-radius:9999px;align-items:center;gap:10px;padding:4px 12px 4px 6px;display:flex}.user-avatar{background:var(--pine-100);color:var(--pine-800);border-radius:50%;flex-shrink:0;place-items:center;width:28px;height:28px;font-size:14px;display:grid}.user-profile-trigger{font:inherit;text-align:left;cursor:pointer;background:0 0;border:none;border-radius:9999px;align-items:center;gap:10px;margin:0;padding:0;transition:background-color .15s,box-shadow .15s;display:flex}.user-profile-trigger:hover{background:var(--bg-surface)}.user-profile-trigger:hover .user-info strong{text-underline-offset:2px;text-decoration:underline}.user-profile-trigger:focus{outline:none}.user-profile-trigger:focus-visible{box-shadow:0 0 0 3px var(--field-100);background:var(--bg-surface);outline:none}.user-info{flex-direction:column;font-size:12px;line-height:1.25;display:flex}.user-info strong{color:var(--text-primary);font-weight:600}.user-info span{color:var(--text-muted);font-size:11px}.logout-button{color:var(--alert-danger);border-radius:var(--radius-sm);cursor:pointer;background:0 0;border:none;padding:4px 8px;font-size:12px;font-weight:600;transition:background-color .15s}.logout-button:hover{background-color:var(--alert-danger-bg)}.primary-button{border:1px solid var(--pine-700);background:var(--pine-800);color:var(--text-inverse);border-radius:var(--radius-sm);cursor:pointer;justify-content:center;align-items:center;gap:6px;padding:9px 16px;font-size:13px;font-weight:600;transition:background-color .15s,border-color .15s,transform .1s;display:inline-flex;box-shadow:0 1px 2px #13241a14}.primary-button:hover{background:var(--pine-700);border-color:var(--pine-600)}.primary-button:active{background:var(--pine-900);transform:translateY(1px)}.primary-button:disabled{opacity:.55;cursor:not-allowed;transform:none}.secondary-button{border:1px solid var(--border-default);background:var(--bg-surface);color:var(--text-secondary);border-radius:var(--radius-sm);cursor:pointer;justify-content:center;align-items:center;gap:6px;padding:9px 15px;font-size:13px;font-weight:600;transition:background-color .15s,color .15s,border-color .15s;display:inline-flex}.secondary-button:hover{background:var(--bg-surface-subtle);color:var(--text-primary);border-color:var(--border-strong)}.secondary-button:active{background:var(--bg-surface-muted)}.secondary-button:disabled{opacity:.55;cursor:not-allowed}.danger-button{border:1px solid var(--alert-danger-border);background:var(--bg-surface);color:var(--alert-danger);border-radius:var(--radius-sm);cursor:pointer;padding:9px 15px;font-size:13px;font-weight:600;transition:background-color .15s,border-color .15s}.danger-button:hover{background:var(--alert-danger-bg);border-color:var(--alert-danger)}.danger-button:disabled{opacity:.55;cursor:not-allowed}.table-button{cursor:pointer;border:1px solid #0000;border-radius:5px;padding:5px 10px;font-size:12px;font-weight:600;transition:background-color .15s,border-color .15s}.edit-button{background:var(--pine-50);color:var(--pine-700);border-color:var(--pine-100)}.edit-button:hover{background:var(--pine-100);color:var(--pine-900)}.delete-button{background:var(--alert-danger-bg);color:var(--alert-danger);border-color:var(--alert-danger-border)}.delete-button:hover{background:#fee4e2}.table-button:disabled{opacity:.55;cursor:not-allowed}.btn{border-radius:var(--radius-sm);cursor:pointer;border:1px solid #0000;justify-content:center;align-items:center;gap:6px;padding:9px 16px;font-family:inherit;font-size:13px;font-weight:600;transition:background-color .15s,border-color .15s,color .15s,transform .1s;display:inline-flex}.btn:active{transform:translateY(1px)}.btn-primary{border-color:var(--pine-700);background:var(--pine-800);color:var(--text-inverse);box-shadow:0 1px 2px #13241a14}.btn-primary:hover{background:var(--pine-700);border-color:var(--pine-600)}.btn-primary:disabled{opacity:.55;cursor:not-allowed;transform:none}.btn-secondary{border-color:var(--border-default);background:var(--bg-surface);color:var(--text-secondary)}.btn-secondary:hover{background:var(--bg-surface-subtle);color:var(--text-primary);border-color:var(--border-strong)}.btn-secondary:disabled{opacity:.55;cursor:not-allowed}.btn-danger{border-color:var(--alert-danger-border);background:var(--bg-surface);color:var(--alert-danger)}.btn-danger:hover{background:var(--alert-danger-bg);border-color:var(--alert-danger)}.btn-sm{border-radius:var(--radius-sm);padding:5px 10px;font-size:12px}.btn-icon{border:1px solid var(--border-subtle);border-radius:var(--radius-sm);background:var(--bg-surface);width:30px;height:30px;color:var(--text-secondary);padding:0}.btn-icon:hover{border-color:var(--pine-500);background:var(--pine-50);color:var(--pine-800)}.btn-icon.text-danger:hover{border-color:var(--alert-danger);background:var(--alert-danger-bg);color:var(--alert-danger)}.modal-actions{border-top:1px solid var(--border-subtle);justify-content:flex-end;gap:10px;margin-top:16px;padding-top:16px;display:flex}.alert-banner{border-radius:var(--radius-sm);margin-bottom:16px;padding:12px 16px;font-size:13px;font-weight:500}.alert-banner.alert-error{background:var(--alert-danger-bg);color:var(--alert-danger);border:1px solid var(--alert-danger-border)}.alert-banner.alert-warning{background:var(--alert-amber-bg);color:var(--alert-amber);border:1px solid var(--alert-amber-border)}.alert-banner.alert-success{background:var(--alert-success-bg);color:var(--alert-success);border:1px solid var(--alert-success-border)}.dashboard{flex:1;width:92%;max-width:1280px;margin:0 auto;padding:28px 0 60px}.welcome{background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-md);justify-content:space-between;align-items:center;gap:20px;margin-bottom:24px;padding:24px 28px;display:flex}.section-eyebrow{background:var(--pine-50);color:var(--pine-700);border:1px solid var(--pine-100);border-radius:var(--radius-sm);align-items:center;gap:6px;margin-bottom:8px;padding:2px 8px;font-size:11px;font-weight:600;display:inline-flex}.welcome h2{letter-spacing:-.02em;color:var(--pine-900);margin:0 0 6px;font-size:24px;font-weight:700}.welcome p{color:var(--text-secondary);max-width:650px;margin:0;font-size:14px}.house-actions{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.stats-grid{grid-template-columns:repeat(5,1fr);gap:18px;margin-bottom:34px;display:grid}.stat-card{background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);flex-direction:column;justify-content:space-between;min-height:142px;padding:26px 28px;transition:transform .32s cubic-bezier(.16,1,.3,1),box-shadow .32s cubic-bezier(.16,1,.3,1),border-color .22s;display:flex;position:relative}.stat-card:hover{border-color:var(--border-strong);transform:translateY(-5px);box-shadow:0 14px 28px -4px #13241a17,0 6px 12px -2px #13241a0a}.stat-label{color:var(--text-muted);letter-spacing:.01em;font-size:13.5px;font-weight:600}.stat-card strong{color:var(--text-primary);margin:8px 0 4px;font-size:34px;font-weight:700;line-height:1.15}.stat-description{color:var(--text-secondary);font-size:13px}.summary-banner{background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-md);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:20px;margin-bottom:24px;padding:16px 20px;display:flex}.summary-metrics{flex-wrap:wrap;align-items:center;gap:24px;display:flex}.summary-item{flex-direction:column;gap:2px;display:flex}.summary-item-label{color:var(--text-muted);font-size:11px;font-weight:600}.summary-item-value{color:var(--text-primary);font-size:18px;font-weight:700}.summary-item-value.warning{color:var(--alert-danger)}.summary-item-value.amber{color:var(--alert-amber)}.summary-item-value.success{color:var(--alert-success)}.tabs-nav{border-bottom:1px solid var(--border-default);scrollbar-width:thin;gap:4px;margin-bottom:20px;display:flex;overflow-x:auto}.tab-button{color:var(--text-secondary);cursor:pointer;white-space:nowrap;background:0 0;border:none;border-bottom:2px solid #0000;align-items:center;gap:8px;margin-bottom:-1px;padding:12px 16px;font-size:13px;font-weight:600;transition:color .15s,border-color .15s;display:inline-flex}.tab-button:hover{color:var(--pine-800)}.tab-button.active{color:var(--pine-900);border-bottom-color:var(--pine-800)}.tab-badge{background:var(--pine-50);color:var(--pine-700);border:1px solid var(--pine-100);border-radius:9999px;padding:1px 7px;font-size:11px;font-weight:700}.tab-button.active .tab-badge{background:var(--pine-800);color:var(--text-inverse);border-color:var(--pine-800)}.records-section{background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-md);overflow:hidden}.section-header{border-bottom:1px solid var(--border-subtle);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;padding:20px 24px;display:flex}.section-header h2{color:var(--pine-900);margin:0 0 3px;font-size:18px;font-weight:700}.section-header p{color:var(--text-secondary);margin:0;font-size:13px}.section-toolbar{background:var(--bg-surface-subtle);border-bottom:1px solid var(--border-subtle);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:10px 20px;display:flex}.filter-chips{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.filter-chip{background:var(--bg-surface);border:1px solid var(--border-default);color:var(--text-secondary);cursor:pointer;border-radius:9999px;padding:4px 11px;font-size:12px;font-weight:600;transition:all .15s}.filter-chip:hover{border-color:var(--border-strong);color:var(--text-primary)}.filter-chip.active{background:var(--pine-800);border-color:var(--pine-800);color:var(--text-inverse)}.filter-chip.chip-danger.active{background:var(--alert-danger);border-color:var(--alert-danger);color:var(--text-inverse)}.filter-chip.chip-amber.active{background:var(--alert-amber);border-color:var(--alert-amber);color:var(--text-inverse)}.filter-chip.chip-success.active{background:var(--alert-success);border-color:var(--alert-success);color:var(--text-inverse)}.search-input-wrapper{align-items:center;gap:8px;display:flex}.table-filter-input{border:1px solid var(--border-default);border-radius:var(--radius-sm);background:var(--bg-surface);color:var(--text-primary);outline:none;min-width:180px;padding:5px 10px;font-size:12px;transition:border-color .15s}.table-filter-input:focus{border-color:var(--pine-600)}.clear-filter-btn{border:1px solid var(--border-default);color:var(--text-muted);border-radius:var(--radius-sm);cursor:pointer;background:0 0;padding:4px 8px;font-size:11px;font-weight:500}.clear-filter-btn:hover{color:var(--text-primary);border-color:var(--border-strong)}.sort-toggle-btn{background:var(--bg-surface);border:1px solid var(--border-default);color:var(--text-secondary);border-radius:var(--radius-sm);cursor:pointer;padding:4px 10px;font-size:12px;font-weight:600}.sort-toggle-btn:hover{color:var(--text-primary);border-color:var(--border-strong)}.table-container{width:100%;overflow-x:auto}table{border-collapse:collapse;width:100%;font-size:13px}th{background:var(--bg-surface-subtle);color:var(--text-secondary);text-align:left;border-bottom:1px solid var(--border-subtle);white-space:nowrap;padding:12px 20px;font-size:12px;font-weight:600}td{border-bottom:1px solid var(--border-subtle);color:var(--text-primary);vertical-align:middle;padding:14px 20px}tbody tr{transition:background-color .12s}tbody tr:hover{background-color:var(--bg-surface-subtle)}tbody tr:last-child td{border-bottom:none}.empty-table{text-align:center;color:var(--text-muted);padding:48px 24px;font-size:14px}.records-footer{background:var(--bg-surface-subtle);border-top:1px solid var(--border-subtle);color:var(--text-muted);justify-content:space-between;align-items:center;gap:16px;padding:12px 20px;font-size:12px;display:flex}.record-actions{white-space:nowrap;align-items:center;gap:8px;display:flex}.badge{border-radius:var(--radius-sm);white-space:nowrap;align-items:center;gap:5px;padding:3px 8px;font-size:12px;font-weight:600;display:inline-flex}.badge-upcoming{background:var(--alert-info-bg);color:var(--alert-info);border:1px solid var(--alert-info-border)}.badge-due-soon{background:var(--alert-amber-bg);color:var(--alert-amber);border:1px solid var(--alert-amber-border)}.badge-due-today{color:#b93815;background:#fff4ed;border:1px solid #fedcd1;font-weight:700}.badge-overdue{background:var(--alert-danger-bg);color:var(--alert-danger);border:1px solid var(--alert-danger-border);font-weight:700}.badge-completed,.badge-healthy{background:var(--alert-success-bg);color:var(--alert-success);border:1px solid var(--alert-success-border)}.badge-sick{background:var(--alert-danger-bg);color:var(--alert-danger);border:1px solid var(--alert-danger-border)}.badge-weak{background:var(--alert-amber-bg);color:var(--alert-amber);border:1px solid var(--alert-amber-border)}.badge-obs{background:var(--alert-info-bg);color:var(--alert-info);border:1px solid var(--alert-info-border)}.breed-chip{background:var(--pine-50);color:var(--pine-800);border-radius:var(--radius-sm);border:1px solid var(--pine-100);align-items:center;padding:3px 8px;font-size:12px;font-weight:600;display:inline-flex}.status-toggle-btn{border-radius:var(--radius-sm);cursor:pointer;border:1px solid #0000;padding:5px 10px;font-size:12px;font-weight:600;transition:all .15s}.status-toggle-btn.complete{background:var(--alert-success-bg);color:var(--alert-success);border-color:var(--alert-success-border)}.status-toggle-btn.complete:hover{background:#d4f8e3}.status-toggle-btn.reopen{background:var(--bg-surface-subtle);color:var(--text-secondary);border-color:var(--border-default)}.status-toggle-btn.reopen:hover{background:var(--bg-surface-muted)}.form-card{background:var(--bg-surface);border:1px solid var(--border-default);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);margin-bottom:24px;padding:24px}.form-header{border-bottom:1px solid var(--border-subtle);justify-content:space-between;align-items:flex-start;margin-bottom:20px;padding-bottom:16px;display:flex}.form-header h2{color:var(--pine-900);margin:0 0 4px;font-size:18px;font-weight:700}.form-header p{color:var(--text-secondary);margin:0;font-size:13px}.close-button{color:var(--text-muted);cursor:pointer;border-radius:var(--radius-sm);background:0 0;border:none;padding:4px;font-size:24px;line-height:1;transition:color .15s,background-color .15s}.close-button:hover{color:var(--text-primary);background-color:var(--bg-surface-subtle)}.form-group{flex-direction:column;gap:6px;margin-bottom:16px;display:flex}.form-group label{color:var(--text-secondary);font-size:12px;font-weight:600}.form-group input,.form-group select,.form-group textarea{border:1px solid var(--border-default);border-radius:var(--radius-sm);background-color:var(--bg-surface);width:100%;color:var(--text-primary);outline:none;padding:9px 12px;font-size:13px;transition:border-color .15s,box-shadow .15s}.form-group input:hover,.form-group select:hover,.form-group textarea:hover{border-color:var(--border-strong)}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:var(--field-600);box-shadow:0 0 0 3px var(--field-100)}.form-row{grid-template-columns:1fr 1fr;gap:16px;display:grid}.form-row-4{grid-template-columns:repeat(4,1fr);gap:12px;display:grid}.form-actions{border-top:1px solid var(--border-subtle);justify-content:flex-end;gap:10px;margin-top:12px;padding-top:16px;display:flex}.form-error{background:var(--alert-danger-bg);color:var(--alert-danger);border:1px solid var(--alert-danger-border);border-radius:var(--radius-sm);margin-bottom:16px;padding:10px 14px;font-size:13px;font-weight:500}.error-message{background:var(--alert-danger-bg);color:var(--alert-danger);border:1px solid var(--alert-danger-border);border-radius:var(--radius-sm);margin-bottom:20px;padding:12px 16px;font-size:13px}.condition-counter-hint{background:var(--bg-surface-subtle);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);justify-content:space-between;align-items:center;margin-bottom:16px;padding:8px 12px;font-size:12px;display:flex}.counter-over{color:var(--alert-danger);font-weight:700}.counter-ok{color:var(--alert-success);font-weight:600}.label-healthy{color:var(--alert-success)}.label-sick{color:var(--alert-danger)}.label-weak{color:var(--alert-amber)}.label-obs{color:var(--alert-info)}.dialog-overlay,.auth-overlay{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);z-index:1000;background:#0f1c148c;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.confirm-dialog{background:var(--bg-surface);border-radius:var(--radius-lg);width:100%;max-width:440px;box-shadow:var(--shadow-modal);border:1px solid var(--border-subtle);padding:28px}.dialog-icon{background:var(--alert-danger-bg);width:40px;height:40px;color:var(--alert-danger);border-radius:50%;place-items:center;margin-bottom:16px;font-size:18px;font-weight:700;display:grid}.confirm-dialog h2{color:var(--pine-900);margin:0 0 8px;font-size:19px;font-weight:700}.confirm-dialog p{color:var(--text-secondary);margin:0;font-size:13.5px;line-height:1.5}.dialog-actions{justify-content:flex-end;gap:10px;margin-top:24px;display:flex}.dialog-actions button{min-width:90px}.auth-modal{background:var(--bg-surface);border-radius:var(--radius-lg);width:100%;max-width:420px;box-shadow:var(--shadow-modal);border:1px solid var(--border-subtle);padding:32px 28px}.auth-header{text-align:center;margin-bottom:24px}.auth-logo{margin-bottom:8px;font-size:36px;display:inline-block}.auth-header h2{color:var(--pine-900);margin:0 0 6px;font-size:21px;font-weight:700}.auth-header p{color:var(--text-secondary);margin:0;font-size:13px}.auth-tabs{background:var(--bg-surface-muted);border-radius:var(--radius-sm);gap:2px;margin-bottom:20px;padding:3px;display:flex}.auth-tab{color:var(--text-secondary);cursor:pointer;background:0 0;border:none;border-radius:4px;flex:1;padding:8px 12px;font-size:13px;font-weight:600;transition:background-color .15s,color .15s}.auth-tab.active{background:var(--bg-surface);color:var(--pine-900);box-shadow:var(--shadow-sm)}.auth-actions{flex-direction:column;gap:10px;margin-top:20px;display:flex}.submit-btn{width:100%;padding:11px;font-size:14px}.demo-button{background:var(--pine-50);width:100%;color:var(--pine-800);border:1px dashed var(--pine-500);border-radius:var(--radius-sm);cursor:pointer;padding:9px;font-size:12px;font-weight:600;transition:background-color .15s}.demo-button:hover{background:var(--pine-100)}.empty-state{background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-md);text-align:center;max-width:540px;margin:40px auto;padding:60px 24px}.empty-state h2{color:var(--pine-900);margin:0 0 8px;font-size:20px}.empty-state p{color:var(--text-secondary);margin:0 0 20px;font-size:14px}.empty-section-card{text-align:center;background:var(--bg-surface);border:1px dashed var(--border-default);border-radius:var(--radius-md);margin:16px 0;padding:48px 24px}.empty-section-card h3{color:var(--pine-900);margin:0 0 6px;font-size:16px}.empty-section-card p{color:var(--text-secondary);margin:0 0 16px;font-size:13px}.loading-screen{background:var(--bg-app);place-items:center;min-height:100vh;display:grid}.loading-content{text-align:center}.loading-content h2{color:var(--pine-900);margin:16px 0 6px;font-size:18px}.loading-content p{color:var(--text-muted);margin:0;font-size:13px}.loading-spinner{border:2.5px solid var(--border-default);border-top-color:var(--pine-700);border-radius:50%;width:32px;height:32px;margin:0 auto;animation:.75s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}@media (width<=1100px){.stats-grid{grid-template-columns:repeat(3,1fr)}}@media (width<=768px){.navbar{flex-direction:column;align-items:stretch;gap:14px;padding:14px 4%}.navbar-actions{justify-content:space-between;width:100%}.house-selector,.house-selector select{width:100%}.welcome{flex-direction:column;align-items:flex-start;padding:20px}.house-actions{justify-content:stretch;width:100%}.house-actions button{flex:1}.stats-grid{grid-template-columns:repeat(2,1fr);gap:10px}.form-row{grid-template-columns:1fr;gap:0}.form-row-4{grid-template-columns:1fr 1fr}.form-actions{flex-direction:column-reverse}.form-actions button{width:100%}}@media (width<=520px){.stats-grid,.form-row-4{grid-template-columns:1fr}.records-footer{flex-direction:column;align-items:flex-start;gap:6px}.dialog-actions{flex-direction:column-reverse}.dialog-actions button{width:100%}}.toast-container{z-index:1000;animation:.25s cubic-bezier(.16,1,.3,1) slideInUp;position:fixed;bottom:24px;right:24px}@keyframes slideInUp{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.toast{border-radius:var(--radius-md);background:var(--pine-900);color:var(--text-inverse);box-shadow:var(--shadow-lg);align-items:center;gap:12px;max-width:400px;padding:12px 18px;font-size:13.5px;font-weight:500;display:flex}.toast.toast-success{border-left:4px solid var(--field-400)}.toast.toast-error{border-left:4px solid var(--alert-danger)}.toast-close{color:#ffffffb3;cursor:pointer;background:0 0;border:none;border-radius:4px;margin-left:auto;padding:2px 6px;font-size:16px;line-height:1}.toast-close:hover{color:#fff;background:#ffffff1a}.fullscreen-form-page{background-color:var(--bg-app);flex-direction:column;min-height:100vh;padding:32px 5% 64px;display:flex}.depopulation-form-overlay{z-index:1000;background:var(--bg-app);position:fixed;inset:0;overflow-y:auto}.fullscreen-form-inner{width:100%;max-width:680px;margin:0 auto}.fullscreen-form-topbar{justify-content:space-between;align-items:center;margin-bottom:20px;display:flex}.form-back-link{color:var(--text-secondary);border-radius:var(--radius-sm);background:var(--bg-surface);border:1px solid var(--border-default);cursor:pointer;align-items:center;gap:8px;padding:6px 12px;font-size:13.5px;font-weight:600;text-decoration:none;transition:all .15s;display:inline-flex}.form-back-link:hover{color:var(--pine-900);border-color:var(--pine-500);background:var(--pine-50)}.fullscreen-form-card{background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);padding:32px 36px;box-shadow:0 4px 16px #13241a0d}.fullscreen-form-body{margin-top:12px}.quick-nav-grid{grid-template-columns:repeat(4,1fr);gap:16px;display:grid}.quick-nav-card{background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-md);flex-direction:column;justify-content:space-between;padding:20px;transition:transform .2s,box-shadow .2s,border-color .2s;display:flex}.quick-nav-card:hover{border-color:var(--pine-500);transform:translateY(-3px);box-shadow:0 8px 20px #13241a0f}.quick-nav-card-header{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.quick-nav-icon{border-radius:var(--radius-sm);background:var(--pine-50);width:36px;height:36px;color:var(--pine-800);place-items:center;display:grid}.quick-nav-card h4{color:var(--pine-900);margin:0 0 6px;font-size:15px;font-weight:700}.quick-nav-card p{color:var(--text-secondary);flex-grow:1;margin:0 0 16px;font-size:12.5px;line-height:1.45}.quick-nav-link{color:var(--field-600);align-items:center;gap:6px;font-size:12.5px;font-weight:600;text-decoration:none;transition:gap .15s,color .15s;display:inline-flex}.quick-nav-link:hover{color:var(--pine-900);gap:9px}.dashboard-summary-columns{grid-template-columns:repeat(3,1fr);gap:18px;display:grid}.summary-card{background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-md);padding:20px}.summary-card-header{border-bottom:1px solid var(--border-subtle);justify-content:space-between;align-items:center;margin-bottom:16px;padding-bottom:12px;display:flex}.summary-card-header h4{color:var(--pine-900);margin:0;font-size:14px;font-weight:700}.link-subtle{color:var(--text-muted);font-size:12px;font-weight:600;text-decoration:none}.link-subtle:hover{color:var(--pine-800)}.summary-metrics-grid{grid-template-columns:repeat(2,1fr);gap:10px;display:grid}.metric-pill{background:var(--bg-surface-subtle);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);flex-direction:column;gap:4px;padding:10px 12px;display:flex}.metric-name{color:var(--text-muted);font-size:11px;font-weight:600}.metric-val{color:var(--text-primary);font-size:18px;font-weight:700}.text-success{color:var(--alert-success)}.text-danger{color:var(--alert-danger)}.text-amber{color:var(--alert-amber)}.text-info{color:var(--alert-info)}.compact-records-list{flex-direction:column;gap:8px;display:flex}.compact-record-row{border-radius:var(--radius-sm);background:var(--bg-surface-subtle);border:1px solid var(--border-subtle);justify-content:space-between;align-items:center;padding:8px 10px;font-size:12px;display:flex}.compact-date{color:var(--pine-900);font-weight:600}.compact-stat{color:var(--text-secondary)}.page-header-wrapper{border-radius:var(--radius-md);margin-bottom:20px}@media (width<=1024px){.quick-nav-grid{grid-template-columns:repeat(2,1fr)}.dashboard-summary-columns{grid-template-columns:1fr}}@media (width<=640px){.quick-nav-grid{grid-template-columns:1fr}.fullscreen-form-page{padding:16px 4% 48px}.fullscreen-form-card{padding:20px 18px}}.finance-page{max-width:1200px}.modal-backdrop{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);z-index:1000;background:#0f1c148c;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.modal-content{background:var(--bg-surface);border-radius:var(--radius-lg);width:100%;max-width:520px;box-shadow:var(--shadow-modal);border:1px solid var(--border-subtle);max-height:90vh;overflow:hidden auto}.modal-header{justify-content:space-between;align-items:flex-start;gap:12px;padding:24px 24px 12px;display:flex}.modal-header h3{color:var(--pine-900);margin:0;font-size:19px;font-weight:700}.modal-subtitle{color:var(--text-muted);margin:4px 0 0;font-size:13px;font-weight:500;line-height:1.45}.modal-close{color:var(--text-muted);cursor:pointer;border-radius:var(--radius-sm);background:0 0;border:none;flex-shrink:0;place-items:center;width:32px;height:32px;padding:0;font-size:22px;line-height:1;transition:background-color .15s,color .15s;display:grid}.modal-close:hover{background:var(--bg-surface-muted);color:var(--text-primary)}.filter-btn{border:1px solid var(--border-default);border-radius:var(--radius-sm);background:var(--bg-surface);color:var(--text-secondary);cursor:pointer;white-space:nowrap;align-items:center;gap:6px;padding:6px 14px;font-size:12px;font-weight:600;transition:border-color .15s,background-color .15s,color .15s;display:inline-flex}.filter-btn:hover{border-color:var(--pine-500);color:var(--pine-700);background-color:var(--pine-50)}.filter-btn.active{border-color:var(--pine-700);background-color:var(--pine-100);color:var(--pine-900);font-weight:700}.table-action-button{border:1px solid var(--border-subtle);border-radius:var(--radius-sm);background:var(--bg-surface);width:30px;height:30px;color:var(--text-secondary);cursor:pointer;justify-content:center;align-items:center;padding:0;transition:border-color .15s,background-color .15s,color .15s;display:inline-flex}.table-action-button:hover{border-color:var(--pine-500);background:var(--pine-50);color:var(--pine-800)}.table-action-button.text-danger:hover{border-color:var(--alert-danger);background:var(--alert-danger-bg);color:var(--alert-danger)}.table-wrapper{width:100%;overflow-x:auto}.data-table{border-collapse:collapse;width:100%;font-size:13px}.data-table th{background:var(--bg-surface-subtle);color:var(--text-secondary);text-align:left;border-bottom:1px solid var(--border-subtle);white-space:nowrap;padding:12px 16px;font-size:12px;font-weight:600}.data-table td{border-bottom:1px solid var(--border-subtle);color:var(--text-primary);vertical-align:middle;padding:12px 16px}.data-table tbody tr{transition:background-color .12s}.data-table tbody tr:hover{background-color:var(--bg-surface-subtle)}.data-table tbody tr:last-child td{border-bottom:none}@media (width<=768px){.data-table td,.data-table th{padding:10px 12px}.modal-content{max-width:100%;margin:10px}}@media print{body *{visibility:hidden}#printable-receipt,#printable-receipt *{visibility:visible}#printable-receipt{width:100%;margin:0;padding:24px;position:absolute;top:0;left:0;box-shadow:none!important;border:none!important}.no-print,.modal-backdrop,header,nav,.app-header,.tabs-nav{display:none!important}}
