:root{--color-primary:#2d6a4f;--color-primary-hover:#1b4332;--color-secondary:#52b788;--color-accent:#f4a261;--color-error:#c0392b;--color-bg:#f8f9fa;--color-surface:#fff;--color-surface-soft:#fbfcfc;--color-surface-muted:#f5f7f8;--color-surface-accent-start:#f3faf6;--color-surface-accent-end:#fcf7ef;--color-surface-accent-active-start:#e9f7ef;--color-surface-accent-active-end:#fff4e3;--color-surface-accent-border:#8ab69e;--color-text:#212529;--color-text-muted:#6c757d;--color-border:#dee2e6;--radius:8px;--shadow:0 2px 8px #00000014;--button-hover-brightness:1.08;font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}[data-theme=dark]{--color-primary:#74c69d;--color-primary-hover:#95d5b2;--color-secondary:#52b788;--color-accent:#f4a261;--color-error:#f87171;--color-bg:#111827;--color-surface:#1f2937;--color-surface-soft:#273548;--color-surface-muted:#273548;--color-surface-accent-start:#22342e;--color-surface-accent-end:#382f25;--color-surface-accent-active-start:#294238;--color-surface-accent-active-end:#473624;--color-surface-accent-border:#5f866f;--color-text:#f3f4f6;--color-text-muted:#9ca3af;--color-border:#374151;--shadow:0 2px 14px #00000073}*,:before,:after{box-sizing:border-box;margin:0;padding:0}body{background:var(--color-bg);color:var(--color-text);min-height:100vh;line-height:1.6}.app-layout{flex-direction:column;min-height:100vh;display:flex}.app-header{background:var(--color-primary);color:#fff;box-shadow:var(--shadow);justify-content:space-between;align-items:center;padding:.75rem 2rem;display:flex;position:relative}.header-actions{align-items:center;gap:.5rem;display:flex}.theme-switch{background:var(--color-bg);border:1px solid var(--color-border);cursor:pointer;border-radius:999px;width:50px;height:28px;padding:2px;transition:background .15s;position:relative}.theme-switch:hover{filter:brightness(var(--button-hover-brightness))}.theme-switch-thumb{background:var(--color-surface);border-radius:50%;width:22px;height:22px;transition:transform .15s;display:block}.theme-switch.is-dark .theme-switch-thumb{transform:translate(22px)}.header-menu{position:relative}.header-menu-icon{color:#f8fafc;cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;width:30px;height:30px;padding:0;display:inline-flex}.menu-glyph{flex-direction:column;gap:4px;width:18px;display:inline-flex}.menu-glyph span{background:currentColor;border-radius:999px;width:18px;height:2px;display:block}.header-menu-panel{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);box-shadow:var(--shadow);color:var(--color-text);z-index:20;flex-direction:column;gap:.25rem;min-width:220px;padding:.5rem;display:flex;position:absolute;top:calc(100% + .5rem);right:0}.header-menu-panel a{color:var(--color-text);border-radius:6px;padding:.45rem .6rem;text-decoration:none}.header-menu-panel a:hover{background:var(--color-bg)}.header-menu-panel .btn{justify-content:center;margin-top:.35rem}.menu-theme-row{border-top:1px solid var(--color-border);justify-content:space-between;align-items:center;margin-top:.35rem;padding:.6rem;display:flex}.menu-theme-row span{color:var(--color-text-muted);font-size:.9rem}.user-info{color:#ffffffd9;font-size:.875rem}.header-menu-panel .user-info{color:var(--color-text-muted);padding:.3rem .6rem}.app-main{flex:1;width:100%;max-width:1200px;margin:0 auto;padding:2rem}.app-footer{color:#ffffffb3;text-align:center;background:#343a40;padding:1rem;font-size:.875rem}.btn{border-radius:var(--radius);cursor:pointer;border:none;align-items:center;gap:.375rem;padding:.5rem 1.25rem;font-size:.9rem;font-weight:500;text-decoration:none;transition:background .15s,transform .1s;display:inline-flex}.btn:active{transform:translateY(1px)}.btn-primary{background:var(--color-primary);color:#fff}.btn-primary:hover{background:var(--color-primary-hover);color:#fff}.btn-secondary{background:var(--color-border);color:var(--color-text)}.btn-secondary:hover{filter:brightness(var(--button-hover-brightness))}.btn-full{justify-content:center;width:100%}.btn:disabled{opacity:.6;cursor:not-allowed}.form-card{background:var(--color-surface);border-radius:var(--radius);box-shadow:var(--shadow);max-width:640px;padding:2rem}.form-group{margin-bottom:1.25rem}.form-row{grid-template-columns:1fr 1fr;gap:1rem;display:grid}.form-group label{margin-bottom:.375rem;font-size:.9rem;font-weight:500;display:block}.form-group input,.form-group select,.form-group textarea{border:1px solid var(--color-border);background:var(--color-surface);width:100%;min-height:2.75rem;color:var(--color-text);border-radius:4px;padding:.7rem .85rem;font-size:1rem;line-height:1.35}.form-group textarea{resize:vertical;min-height:6.5rem}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:2px solid var(--color-primary);border-color:var(--color-primary)}.field-help-text{color:var(--color-text-muted);margin-top:.4rem;font-size:.85rem}.form-actions{justify-content:flex-end;gap:.75rem;margin-top:1.5rem;display:flex}.error-message{color:var(--color-error);padding:.5rem 0;font-size:.9rem}.page-container{padding:.5rem 0 2rem}.page-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;margin-bottom:1.5rem;display:flex}.page-header h2{font-size:1.5rem}.page-subtitle{color:var(--color-text-muted);margin-top:.15rem;font-size:.9rem}.animal-form-header,.animal-form-card{width:100%;max-width:640px;margin-inline:auto}.auth-container{justify-content:center;align-items:center;min-height:70vh;display:flex}.auth-card{background:var(--color-surface);border-radius:var(--radius);box-shadow:var(--shadow);width:100%;max-width:420px;padding:2.5rem}.auth-logo{text-align:center;margin-bottom:2rem}.auth-logo h1{color:var(--color-primary);margin-bottom:.25rem;font-size:1.75rem}.auth-logo p{color:var(--color-text-muted);font-size:.9rem}.auth-form{margin-bottom:1.5rem}.auth-demo-hint{background:#f0fff4;border-radius:4px;padding:1rem;font-size:.85rem}.auth-demo-hint ul{margin-left:1.25rem}.demo-account-link{appearance:none;color:var(--color-primary);cursor:pointer;font:inherit;text-align:left;background:0 0;border:0;padding:.125rem 0}.demo-account-link:hover,.demo-account-link:focus-visible{color:var(--color-primary-hover);text-decoration:underline}.project-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);gap:1rem;margin-bottom:.75rem;padding:1.25rem;transition:box-shadow .15s;display:flex}.project-card:hover{box-shadow:var(--shadow)}.project-card-media{aspect-ratio:1;border-radius:var(--radius);color:var(--color-text-muted);background:#e9ecef;flex:0 0 5rem;justify-content:center;align-items:center;font-size:1.4rem;font-weight:700;display:flex;overflow:hidden}.project-card-media img{object-fit:cover;width:100%;height:100%}.project-card-content{flex:1;min-width:0}.project-meta{color:var(--color-text-muted);gap:1rem;margin-top:.375rem;font-size:.85rem;display:flex}.stats-grid{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:1rem;margin-bottom:1.5rem;display:grid}.stat-card{background:var(--color-surface);border-radius:var(--radius);text-align:center;box-shadow:var(--shadow);padding:1.25rem}.stat-card h3{color:var(--color-primary);font-size:1.75rem}.stat-card p{color:var(--color-text-muted);font-size:.85rem}.section-header{justify-content:space-between;align-items:center;margin-bottom:1rem;display:flex}.section-header h3{font-size:1.1rem}.quick-links{flex-wrap:wrap;gap:.75rem;display:flex}.data-table{border-collapse:collapse;background:var(--color-surface);border-radius:var(--radius);width:100%;box-shadow:var(--shadow);overflow:hidden}.data-table th{text-align:left;background:#f1f3f5;padding:.75rem 1rem;font-size:.85rem;font-weight:600}.data-table td{border-top:1px solid var(--color-border);padding:.75rem 1rem;font-size:.9rem}.documents-table td:first-child{overflow-wrap:anywhere;max-width:28rem}.documents-card-list{display:none}.document-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);box-shadow:var(--shadow);padding:1rem}.document-card-header{justify-content:space-between;align-items:flex-start;gap:.75rem;margin-bottom:1rem;display:flex}.document-card-header h3{overflow-wrap:anywhere;font-size:1rem;font-weight:600;line-height:1.35}.document-card-header .badge{flex-shrink:0;margin-left:0}.document-card-details{grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem;margin-bottom:1rem;display:grid}.document-card-details dt{color:var(--color-text-muted);text-transform:uppercase;font-size:.75rem;font-weight:600}.document-card-details dd{overflow-wrap:anywhere;font-size:.9rem}.photo-upload-panel{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);box-shadow:var(--shadow);max-width:760px;margin-bottom:1.5rem;padding:1.25rem}.photo-upload-selection{color:var(--color-text-muted);margin-top:-.25rem;font-size:.9rem}.gallery-toolbar{flex-wrap:wrap;gap:.75rem;margin-bottom:1rem;display:flex}.photo-grid{grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:1rem;display:grid}.photo-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);box-shadow:var(--shadow);overflow:hidden}.photo-thumb-button{aspect-ratio:4/3;color:var(--color-text-muted);cursor:pointer;font:inherit;background:#e9ecef;border:0;place-items:center;width:100%;display:grid}.photo-thumb-button img{object-fit:cover;width:100%;height:100%}.photo-card-body{padding:.85rem}.photo-card-body h3{overflow-wrap:anywhere;margin-bottom:.25rem;font-size:.95rem;line-height:1.35}.photo-card-body p{color:var(--color-text-muted);font-size:.8rem}.photo-lightbox{z-index:20;justify-content:center;align-items:center;padding:1rem;display:flex;position:fixed;inset:0}.photo-lightbox-backdrop{cursor:pointer;background:#000000b8;border:0;position:absolute;inset:0}.photo-lightbox-content{background:var(--color-surface);border-radius:var(--radius);width:100%;max-width:min(960px,100vw - 2rem);max-height:calc(100vh - 2rem);position:relative;overflow:hidden;box-shadow:0 16px 48px #0000004d}.photo-lightbox-content img{object-fit:contain;background:#111;width:100%;max-height:calc(100vh - 8rem);display:block}.photo-lightbox-footer{justify-content:space-between;align-items:center;gap:1rem;padding:1rem;display:flex}.photo-lightbox-footer h3{overflow-wrap:anywhere;font-size:1rem}.photo-lightbox-footer p{color:var(--color-text-muted);overflow-wrap:anywhere;font-size:.85rem}.animal-avatar{background:var(--color-surface-muted);border:1px solid var(--color-border);color:var(--color-primary);border-radius:50%;flex:none;justify-content:center;align-items:center;font-weight:900;display:inline-flex;overflow:hidden}.animal-avatar img{object-fit:cover;transform-origin:50%;width:100%;height:100%}.animal-avatar-lg{width:72px;height:72px;font-size:1.6rem}.animal-avatar-md{width:48px;height:48px;font-size:1.1rem}.animal-photo-manager{flex-direction:column;gap:1rem;display:flex}.animal-photo-manager-header{justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.animal-photo-manager-header h3{margin-bottom:.25rem;font-size:1.15rem}.animal-photo-upload-panel{max-width:none;margin-bottom:.5rem}.animal-photo-grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr))}.animal-photo-card.avatar-selected{border-color:var(--color-primary)}.photo-card-body{justify-content:space-between;align-items:flex-start;gap:.75rem;display:flex}.avatar-selected-badge{background:color-mix(in srgb, var(--color-primary) 15%, transparent);border:1px solid color-mix(in srgb, var(--color-primary) 30%, transparent);color:var(--color-primary);border-radius:999px;flex:none;padding:.2rem .55rem;font-size:.75rem;font-weight:700}.photo-card-actions{flex-wrap:wrap;gap:.5rem;padding:0 .85rem .85rem;display:flex}.animal-photo-header-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:.65rem;display:flex}.animal-photo-library-panel{min-height:18rem}.animal-photo-tools{grid-template-columns:minmax(14rem,1fr) minmax(10rem,12rem)}.animal-photos-upload-panel,.animal-photo-upload-panel{box-shadow:var(--shadow-soft);max-width:none;margin-bottom:0}.animal-photos-split{grid-template-columns:minmax(15rem,18rem) minmax(0,1fr)}.animal-photo-animal-panel{min-height:0}.animal-photo-animal-list{gap:.35rem}.animal-photo-animal-row{color:var(--color-text);cursor:pointer;font:inherit;text-align:left;background:0 0;border:1px solid #0000;border-radius:8px;width:100%}.animal-photo-animal-row:hover{background:var(--color-surface-muted);border-color:var(--color-border)}.animal-photo-animal-row.selected{background:color-mix(in srgb, var(--color-primary) 10%, var(--color-surface));border-color:color-mix(in srgb, var(--color-primary) 28%, var(--color-border))}.animal-photo-animal-row strong{font-weight:850;display:block}.animal-photo-animal-row small{color:var(--color-text-muted);margin-top:.15rem;display:block}.animal-photos-page .page-header{justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.animal-photo-empty-state{min-height:15rem}.project-detail-workspace{gap:.85rem;display:grid}.project-detail-tabs{grid-template-columns:repeat(5,minmax(0,1fr))}.project-detail-tab-panel{min-height:24rem}.project-detail-tab-content{gap:1rem;display:grid}.project-detail-empty-state{min-height:16rem}.project-detail-panel-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:.65rem;display:flex}.amount-positive{color:#2d8a4e}.amount-negative{color:#c0392b}.photo-modal-content{max-width:min(720px,100vw - 2rem)}.inline-photo-lightbox{box-shadow:none;max-width:none;max-height:none}.avatar-crop-editor{justify-items:center;gap:1.25rem;padding-top:.25rem;display:grid}.avatar-crop-preview{background:var(--color-surface-muted);border:1px solid var(--color-border);cursor:grab;touch-action:none;border-radius:50%;width:min(320px,72vw);height:min(320px,72vw);overflow:hidden}.avatar-crop-preview:active{cursor:grabbing}.avatar-crop-preview img{object-fit:cover;pointer-events:none;transform-origin:50%;-webkit-user-select:none;user-select:none;-webkit-user-drag:none;width:100%;height:100%}.avatar-crop-controls{gap:.45rem;width:100%;max-width:360px;display:grid}.avatar-crop-controls label{color:var(--color-text-muted);font-size:.85rem;font-weight:600}.badge{color:#0369a1;background:#e0f2fe;border-radius:12px;margin-left:.5rem;padding:.2rem .6rem;font-size:.75rem;font-weight:600;display:inline-block}.status.active{color:#2d6a4f;font-weight:600}.status.inactive{color:#6c757d}[data-theme=dark] .app-footer{background:#0f172a}[data-theme=dark] .auth-demo-hint{background:#0f2c24}[data-theme=dark] .project-card-media,[data-theme=dark] .photo-thumb-button,[data-theme=dark] .data-table th{background:#374151}[data-theme=dark] .data-table tr:hover td{background:#273548}[data-theme=dark] .badge{color:#e0f2fe;background:#0b3954}[data-theme=dark] .status.active{color:#95d5b2}[data-theme=dark] .status.inactive{color:#9ca3af}[data-theme=dark] .photo-lightbox-content img{background:#020617}.theme-settings-fieldset{border:1px solid var(--color-border);border-radius:var(--radius);gap:.5rem;margin-bottom:1rem;padding:1rem;display:grid}.theme-settings-fieldset legend{padding:0 .35rem;font-weight:600}.management-grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1rem;display:grid}.management-panel{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);padding:1rem}.management-panel h3{margin-top:0}.stacked-form{gap:.6rem;display:grid}.stacked-form input,.stacked-form select,.stacked-form textarea{background:var(--color-surface);border:1px solid var(--color-border);color:var(--color-text);border-radius:4px;width:100%;min-height:2.75rem;padding:.7rem .85rem;font-size:1rem;line-height:1.35}.stacked-form textarea{resize:vertical;min-height:6.5rem}.management-list{gap:.5rem;margin-top:1rem;display:grid}.management-row{border-top:1px solid var(--color-border);gap:.2rem;padding:.6rem 0;display:grid}.management-row small{color:var(--color-text-muted)}.success-message{border-radius:var(--radius);color:#256029;background:#e6f4ea;border:1px solid #b7dfbf;padding:.75rem}.profile-heading{align-items:center;gap:1rem;margin-bottom:1rem;display:flex}.profile-avatar{aspect-ratio:1;background:#edf5e8;border-radius:50%;flex:0 0 84px;justify-content:center;align-items:center;font-size:2rem;font-weight:700;display:grid;overflow:hidden}.profile-avatar img{object-fit:cover;width:100%;height:100%}.theme-option{cursor:pointer;align-items:flex-start;gap:.75rem;display:flex}.theme-option input{margin-top:.2rem}.theme-option small{color:var(--color-text-muted);margin-top:.2rem;display:block}.empty-state{text-align:center;color:var(--color-text-muted);padding:3rem 1rem}.empty-state p{margin-bottom:1rem}.report-container{background:var(--color-surface);border-radius:var(--radius);box-shadow:var(--shadow);padding:2rem}.report-data{margin-top:1.5rem}.transactions-page{flex-direction:column;gap:1rem;display:flex}.transactions-stats-grid{margin-bottom:0}.transactions-stat-card{text-align:left}.transactions-stat-card h3{color:var(--color-primary-hover);margin-top:.35rem;font-size:1.55rem}.transactions-composer{max-width:100%;overflow:hidden}.transactions-composer-header{justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1rem;display:flex}.transactions-composer-section+.transactions-composer-section{border-top:1px solid var(--color-border);margin-top:1.5rem;padding-top:1.5rem}.transactions-composer-footer{border-top:1px solid var(--color-border);margin-top:1.5rem;padding-top:1.25rem}.transactions-footer-error{margin-top:1rem}.transactions-vendor-receipt-row{align-items:start}.transactions-field-header{justify-content:space-between;align-items:center;gap:.75rem;margin-bottom:.375rem;display:flex}.transactions-field-header label{margin-bottom:0}.transactions-inline-trigger{flex-shrink:0}.transactions-inline-create{gap:.5rem;margin-top:.65rem;display:flex}.transactions-inline-create input{flex:1}.transactions-hidden-file-input{display:none}.field-hint{color:var(--color-text-muted);margin-top:.4rem;font-size:.8rem;display:block}.transactions-receipt-dropzone{background:linear-gradient(135deg, var(--color-surface-accent-start), var(--color-surface-accent-end));border:1px dashed var(--color-surface-accent-border);border-radius:var(--radius);color:var(--color-text);cursor:pointer;text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:.25rem;min-height:8rem;padding:1rem;transition:border-color .15s,background .15s,transform .15s;display:flex}.transactions-receipt-dropzone strong{font-size:.95rem}.transactions-receipt-dropzone span{color:var(--color-text-muted);font-size:.85rem}.transactions-receipt-dropzone.is-active{background:linear-gradient(135deg, var(--color-surface-accent-active-start), var(--color-surface-accent-active-end));border-color:var(--color-primary);transform:translateY(-1px)}.transactions-receipt-dropzone.is-uploading{cursor:progress;opacity:.8}.transactions-receipt-meta{grid-template-columns:minmax(10rem,12rem) 1fr;gap:.75rem;margin-top:.75rem;display:grid}.transactions-receipt-actions{gap:.5rem;margin-top:.75rem;display:flex}.transactions-receipt-status{background:var(--color-surface-muted);border:1px solid var(--color-border);border-radius:var(--radius);flex-direction:column;justify-content:center;gap:.15rem;min-height:3rem;padding:.65rem .85rem;display:flex}.transactions-receipt-status strong{text-transform:uppercase;color:var(--color-text-muted);font-size:.8rem;font-weight:600}.transactions-receipt-status span{color:var(--color-text)}.transactions-receipt-summary{background:var(--color-surface-muted);border:1px solid var(--color-border);border-radius:var(--radius);flex-direction:column;justify-content:center;gap:.15rem;min-height:3rem;padding:.65rem .85rem;display:flex}.transactions-receipt-summary strong,.transactions-template-list{overflow-wrap:anywhere}.transactions-filter-grid{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:.5rem;margin-bottom:1rem;display:grid}.transactions-filter-grid input,.transactions-filter-grid select{border:1px solid var(--color-border);border-radius:4px;width:100%;padding:.5rem .75rem}.line-item-grid{grid-template-columns:minmax(0,1.9fr) minmax(0,1.2fr) .8fr .9fr .9fr auto;gap:.5rem;margin-bottom:.5rem;display:grid}.line-item-grid-wide{grid-template-columns:minmax(0,1.7fr) minmax(0,1.1fr) minmax(0,1.2fr) .7fr .85fr .85fr auto}.line-item-grid input,.line-item-grid select{border:1px solid var(--color-border);border-radius:4px;width:100%;padding:.45rem .6rem}.transactions-line-item-card{background:var(--color-surface-soft);border:1px solid var(--color-border);border-radius:var(--radius);padding:.85rem}.transactions-line-item-card+.transactions-line-item-card{margin-top:.75rem}.line-item-primary-cell{flex-direction:column;gap:.45rem;display:flex}.transactions-line-item-create{margin-top:.25rem}.transactions-ocr-modal-backdrop{z-index:1000;background:#0f172a73;justify-content:center;align-items:center;padding:1.5rem;display:flex;position:fixed;inset:0}.transactions-ocr-modal{background:var(--color-surface);border-radius:var(--radius);border:1px solid var(--color-border);box-shadow:var(--shadow);width:min(960px,100%);max-height:90vh;padding:1.25rem;overflow:auto}.transactions-ocr-modal-header{justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1rem;display:flex}.transactions-ocr-grid{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:.75rem;display:grid}.transactions-ocr-toggle{border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-surface-soft);align-items:flex-start;gap:.6rem;padding:.75rem;display:flex}.transactions-ocr-lines,.transactions-ocr-raw{margin-top:1rem}.transactions-ocr-line-card{border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-surface-soft);padding:.75rem}.transactions-ocr-line-card+.transactions-ocr-line-card{margin-top:.75rem}.transactions-ocr-line-grid{grid-template-columns:minmax(0,2fr) repeat(3,minmax(0,1fr));gap:.5rem;margin-top:.65rem;display:grid}.transactions-ocr-line-grid input,.transactions-ocr-raw pre{width:100%}.transactions-ocr-raw pre{color:#f9fafb;border-radius:var(--radius);white-space:pre-wrap;background:#111827;padding:.85rem;overflow:auto}.transactions-line-item-hint{color:var(--color-text-muted);margin-top:.15rem;font-size:.8rem}.transactions-line-items-header{margin-bottom:.75rem}.transactions-line-item-labels{color:var(--color-text-muted);letter-spacing:.02em;text-transform:uppercase;grid-template-columns:minmax(0,1.9fr) minmax(0,1.2fr) .8fr .9fr .9fr auto;margin-bottom:.5rem;padding:0 .25rem;font-size:.78rem;font-weight:600;display:grid}.transactions-totals{grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem;display:grid}.transactions-totals div{background:var(--color-surface-muted);border-radius:var(--radius);flex-direction:column;gap:.15rem;padding:.85rem 1rem;display:flex}.transactions-totals span{color:var(--color-text-muted);text-transform:uppercase;font-size:.8rem}.transactions-totals strong{color:var(--color-primary-hover);font-size:1.05rem}.quick-add-row{gap:.5rem;display:flex}.quick-add-row input{flex:1}.transactions-card-list{display:none}@media (width<=720px){.app-header{padding:.75rem 1rem}.header-brand h1{font-size:1.2rem!important}.header-actions{gap:.4rem}.header-menu-panel{right:-.25rem}.app-main{padding:1rem}.page-container{padding-top:0}.page-header{flex-direction:column;align-items:stretch;gap:.75rem}.page-header .btn{justify-content:center;width:100%}.form-card{max-width:none;padding:1rem}.form-row{grid-template-columns:1fr;gap:0}.form-actions{flex-direction:column-reverse;margin-top:1rem}.form-actions .btn{justify-content:center;width:100%}.photo-upload-panel{max-width:none;padding:1rem}.gallery-toolbar .btn{justify-content:center;width:100%}.photo-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.photo-card-body h3{font-size:.9rem}.photo-lightbox{padding:.75rem}.photo-lightbox-content{max-width:calc(100vw - 1.5rem)}.photo-lightbox-footer{flex-direction:column;align-items:stretch}.photo-lightbox-footer .btn{justify-content:center;width:100%}.documents-table{display:none}.documents-card-list{gap:.75rem;display:grid}.transactions-ledger-table{display:none}.transactions-card-list{gap:.75rem;margin-top:.75rem;display:grid}.transactions-composer{padding:1rem}.transactions-composer-header,.transactions-field-header,.transactions-line-items-header{flex-direction:column;align-items:stretch}.transactions-inline-create{flex-direction:column}.transactions-receipt-meta,.transactions-totals{grid-template-columns:1fr}.transactions-receipt-actions,.transactions-ocr-modal-header,.transactions-ocr-line-grid{flex-direction:column;grid-template-columns:1fr}.transactions-line-item-labels{display:none}.line-item-grid{grid-template-columns:1fr}.line-item-grid .btn{justify-content:center;width:100%}.quick-add-row{flex-direction:column}}@media (width<=420px){.photo-grid{gap:.75rem}.project-card{flex-direction:column;padding:1rem}.project-card-media{flex-basis:auto;width:100%}.document-card-header{flex-direction:column}.document-card-details{grid-template-columns:1fr}}.animal-detail-page .page-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.animal-detail-identity{align-items:center;gap:1rem;display:flex}.animal-detail-avatar{color:var(--color-primary);flex:none;justify-content:center;align-items:center;width:72px;height:72px;font-size:1.6rem;font-weight:700;display:flex}.animal-detail-header h2{margin:.25rem 0}.animal-detail-header .btn-sm{margin-bottom:.5rem}.animal-detail-actions{align-items:center;gap:.75rem;display:flex}.animal-detail-tabs{grid-template-columns:repeat(6,minmax(0,1fr));margin-bottom:1rem}.animal-detail-tabs .management-tab{min-width:0}.journal-dropdown,.journal-quick-add{position:relative}.journal-dropdown-menu{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);box-shadow:var(--shadow);z-index:100;min-width:180px;padding:.25rem 0;list-style:none;position:absolute;top:calc(100% + 4px);right:0}.journal-dropdown-menu li button{text-align:left;cursor:pointer;width:100%;color:var(--color-text);background:0 0;border:none;padding:.6rem 1rem;font-size:.95rem;display:block}.journal-dropdown-menu li button:hover{background:var(--color-surface-muted)}.journal-tabs{border-bottom:2px solid var(--color-border);gap:.25rem;margin-bottom:1.5rem;display:flex;overflow-x:auto}.journal-tab-btn{cursor:pointer;color:var(--color-text-muted);white-space:nowrap;background:0 0;border:none;border-bottom:3px solid #0000;margin-bottom:-2px;padding:.6rem 1.1rem;font-size:.9rem;transition:color .15s}.journal-tab-btn:hover{color:var(--color-text)}.journal-tab-btn.active{color:var(--color-primary);border-bottom-color:var(--color-primary);font-weight:600}.journal-section{flex-direction:column;gap:1rem;display:flex}.journal-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);box-shadow:var(--shadow);padding:1rem 1.25rem}.journal-card-header{justify-content:space-between;align-items:center;margin-bottom:.5rem;display:flex}.journal-date{color:var(--color-text-muted);font-size:.85rem;font-weight:500}.journal-card-actions{gap:.5rem;display:flex}.journal-body{color:var(--color-text);white-space:pre-wrap;line-height:1.5}.table-scroll-wrapper{-webkit-overflow-scrolling:touch;overflow-x:auto}.journal-table{border-collapse:collapse;width:100%;min-width:360px;font-size:.9rem}.journal-table th{background:var(--color-surface-muted);text-align:left;border-bottom:1px solid var(--color-border);padding:.5rem .75rem;font-weight:600}.journal-table td{border-bottom:1px solid var(--color-border);vertical-align:top;padding:.5rem .75rem}.journal-table tr:last-child td{border-bottom:none}.feed-items-table{margin-top:.5rem}.tab-error{background:var(--color-danger-bg,#fef2f2);color:var(--color-danger,#b91c1c);border-radius:6px;align-items:center;gap:1rem;margin-bottom:.75rem;padding:.75rem 1rem;display:flex}.tab-error p{flex:1;margin:0}.vet-provider{color:var(--color-text-muted);margin-bottom:.35rem;font-style:italic}.show-name{margin:.25rem 0;font-size:1rem}.show-location,.show-judge{color:var(--color-text-muted);font-size:.88rem}.show-my-entry{background:var(--color-surface-muted);border-radius:6px;margin-top:.75rem;padding:.75rem;font-size:.9rem}.show-my-entry p{margin:.2rem 0}.judge-notes{color:var(--color-text-muted);margin-top:.35rem;font-style:italic}.show-type-badge{text-transform:uppercase;border-radius:999px;padding:.15rem .55rem;font-size:.75rem;font-weight:600;display:inline-block}.show-type-major{color:#1e40af;background:#dbeafe}.show-type-open{color:#166534;background:#dcfce7}.show-type-jackpot{color:#92400e;background:#fef3c7}[data-theme=dark] .show-type-major{color:#93c5fd;background:#1e3a5f}[data-theme=dark] .show-type-open{color:#86efac;background:#14532d}[data-theme=dark] .show-type-jackpot{color:#fde68a;background:#78350f}.champion-badge{font-size:.8rem;font-weight:600}.modal-overlay{z-index:500;background:#00000073;justify-content:center;align-items:center;padding:1rem;display:flex;position:fixed;inset:0}.modal-content{background:var(--color-surface);border-radius:var(--radius);width:100%;max-width:600px;max-height:90vh;overflow-y:auto;box-shadow:0 8px 32px #00000040}.modal-header{border-bottom:1px solid var(--color-border);justify-content:space-between;align-items:center;padding:1rem 1.5rem;display:flex}.modal-header h3{margin:0}.modal-close{cursor:pointer;color:var(--color-text-muted);background:0 0;border:none;font-size:1.2rem;line-height:1}.modal-close:hover{color:var(--color-error)}.modal-form{flex-direction:column;gap:1rem;padding:1.25rem 1.5rem;display:flex}.feed-line-items{flex-direction:column;gap:.5rem;display:flex}.feed-items-label{margin:0;font-size:.875rem;font-weight:500}.feed-line-item-row{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.feed-line-item-row input[type=text]{flex:2;min-width:100px}.feed-line-item-row input[type=number]{flex:1;min-width:60px}.feed-line-item-row select{flex:1;min-width:90px}.show-mode-toggle .radio-group{gap:1.5rem;margin-top:.4rem;display:flex}.show-mode-toggle .radio-group label{cursor:pointer;align-items:center;gap:.35rem;font-weight:400;display:flex}.form-fieldset{border:1px solid var(--color-border);border-radius:var(--radius);flex-direction:column;gap:.75rem;padding:1rem;display:flex}.form-fieldset legend{padding:0 .5rem;font-size:.95rem;font-weight:600}.btn-sm{padding:.3rem .65rem;font-size:.82rem}.btn-danger{background:var(--color-error);color:#fff;border-radius:var(--radius);cursor:pointer;border:none}.btn-danger:hover{filter:brightness(.9)}.link-btn{cursor:pointer;color:var(--color-primary);font-size:inherit;background:0 0;border:none;text-decoration:underline}.link-btn:hover{color:var(--color-primary-hover)}.empty-state{text-align:center;padding:2rem}.shows-filters{margin-bottom:1.5rem;padding:1rem}.shows-table{margin-bottom:1rem}.shows-row:hover td{background:var(--color-surface-muted)}.show-detail-panel{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);box-shadow:var(--shadow);padding:1.25rem}.show-detail-header{justify-content:space-between;align-items:center;margin-bottom:.75rem;display:flex}.show-detail-meta{color:var(--color-text-muted);flex-wrap:wrap;align-items:center;gap:.75rem;margin-bottom:.75rem;font-size:.9rem;display:flex}.show-notes{color:var(--color-text-muted);margin-bottom:.75rem;font-style:italic}.form-group-action{justify-content:flex-end;align-self:flex-end}@media (width<=640px){.journal-tabs{gap:0}.journal-tab-btn{padding:.5rem .75rem;font-size:.82rem}.feed-line-item-row{flex-direction:column}.modal-content{max-height:95vh}.animal-detail-actions{flex-direction:column}}:root{--color-primary:#1f5a43;--color-primary-hover:#123d2c;--color-secondary:#6f9d7d;--color-accent:#c9822d;--color-error:#b54232;--color-bg:#f5f7f2;--color-surface:#fff;--color-surface-soft:#fbfcf8;--color-surface-muted:#eef3ea;--color-surface-accent-start:#edf5ec;--color-surface-accent-end:#fff8ec;--color-surface-accent-active-start:#e3f0e6;--color-surface-accent-active-end:#fff1d8;--color-surface-accent-border:#7fa58d;--color-text:#18231d;--color-text-muted:#637064;--color-border:#d7ded1;--color-border-strong:#b8c5b3;--radius:8px;--shadow:0 14px 36px #1c302414;--shadow-soft:0 1px 0 #ffffffbf inset, 0 10px 28px #1f5a4314;--font-display:"Bahnschrift", "Aptos Display", "Segoe UI", sans-serif;--font-body:"Aptos", "Segoe UI", sans-serif;--workspace-max:1440px}[data-theme=dark]{--color-primary:#76c49a;--color-primary-hover:#a2dbb8;--color-secondary:#72a47f;--color-accent:#e5a451;--color-error:#fb887d;--color-bg:#101711;--color-surface:#19231d;--color-surface-soft:#1f2d25;--color-surface-muted:#26362d;--color-surface-accent-start:#20342a;--color-surface-accent-end:#3a3324;--color-surface-accent-active-start:#284435;--color-surface-accent-active-end:#4a3b22;--color-surface-accent-border:#5d8d6d;--color-text:#f4f7f0;--color-text-muted:#a9b7a8;--color-border:#334236;--color-border-strong:#4e6352;--shadow:0 18px 44px #00000057;--shadow-soft:0 1px 0 #ffffff0a inset, 0 18px 40px #00000038}html{background:var(--color-bg)}body{background:linear-gradient(135deg, #1f5a430d, transparent 32rem), radial-gradient(circle at top right, #c9822d1a, transparent 24rem), var(--color-bg);font-family:var(--font-body);letter-spacing:0}h1,h2,h3,.brand-lockup,.page-header h2{font-family:var(--font-display);letter-spacing:0}.app-layout{background:0 0}.auth-layout .app-main{max-width:var(--workspace-max)}.app-shell{grid-template-columns:17rem minmax(0,1fr);min-height:100vh;display:grid}.app-sidebar{color:#f5fbf4;background:linear-gradient(#ffffff12,#0000 22rem),#163d2e;border-right:1px solid #ffffff1a;flex-direction:column;gap:1.15rem;height:100vh;padding:1.1rem;display:flex;position:sticky;top:0}.brand-lockup{color:inherit;align-items:center;gap:.7rem;min-height:2.75rem;font-size:1.05rem;font-weight:800;line-height:1;text-decoration:none;display:inline-flex}.brand-mark{color:#1f5a43;font-family:var(--font-display);background:#f0f7df;border:1px solid #ffffff73;border-radius:8px;justify-content:center;align-items:center;width:2.35rem;height:2.35rem;font-size:1.05rem;font-weight:900;display:inline-grid}.app-nav{flex-direction:column;flex:1;gap:1rem;min-height:0;display:flex}.app-nav-section{gap:.25rem;display:grid}.app-nav-secondary{border-top:1px solid #ffffff21;padding-top:1rem}.app-nav-link{color:#f5fbf4c7;border-radius:8px;align-items:center;gap:.65rem;min-height:2.45rem;padding:.58rem .65rem;font-size:.94rem;font-weight:650;text-decoration:none;transition:background .16s,color .16s,transform .16s;display:flex}.app-nav-link:hover,.app-nav-link.active{color:#fff;background:#ffffff21;transform:translate(2px)}.app-nav-link.active{box-shadow:inset 3px 0 #e5a451}.app-nav-icon{background:#ffffff1a;border-radius:7px;flex:0 0 1.75rem;justify-content:center;align-items:center;height:1.75rem;font-weight:800;display:inline-grid}.sidebar-tenant{background:#ffffff14;border:1px solid #ffffff1f;border-radius:8px;gap:.2rem;padding:.85rem;display:grid}.sidebar-tenant span,.sidebar-user small,.topbar-user small{color:#f5fbf4ad;font-size:.78rem}.sidebar-tenant strong{font-size:.96rem}.sidebar-user,.topbar-user{align-items:center;gap:.7rem;min-width:0;display:flex}.sidebar-user span:last-child,.topbar-user span:last-child{min-width:0;line-height:1.2;display:grid}.sidebar-user strong,.topbar-user strong,.sidebar-user small,.topbar-user small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.user-avatar{color:#1f5a43;background:#f0f7df;border-radius:999px;flex:0 0 2.35rem;justify-content:center;align-items:center;height:2.35rem;font-weight:900;display:inline-grid}.sidebar-signout{color:#f5fbf4d1;cursor:pointer;font:inherit;background:0 0;border:1px solid #ffffff29;border-radius:8px;align-items:center;gap:.45rem;min-height:2.5rem;padding:.6rem .75rem;font-weight:700;display:flex}.sidebar-signout:hover{color:#fff;background:#ffffff1a}.app-workspace{flex-direction:column;min-width:0;display:flex}.app-topbar{border-bottom:1px solid var(--color-border);z-index:12;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#f5f7f2eb;align-items:center;gap:1rem;min-height:4.35rem;padding:.75rem 1.5rem;display:flex;position:sticky;top:0}[data-theme=dark] .app-topbar{background:#101711e0}.topbar-title{font-family:var(--font-display);font-weight:800;display:none}.topbar-search{background:var(--color-surface);border:1px solid var(--color-border);box-shadow:var(--shadow-soft);color:var(--color-text-muted);border-radius:8px;flex:1;align-items:center;gap:.55rem;max-width:38rem;min-height:2.75rem;padding:0 .8rem;display:flex}.topbar-search input{color:var(--color-text);font:inherit;background:0 0;border:0;outline:0;width:100%;min-width:0;height:2.5rem}.topbar-actions{align-items:center;gap:.65rem;margin-left:auto;display:flex}.topbar-icon-button{background:var(--color-surface);border:1px solid var(--color-border);color:var(--color-text);cursor:pointer;font:inherit;border-radius:8px;width:2.5rem;height:2.5rem;font-weight:900}.topbar-user{color:var(--color-text);min-width:10rem;text-decoration:none}.topbar-user small{color:var(--color-text-muted)}.mobile-menu{display:none;position:relative}.mobile-menu-panel{box-shadow:var(--shadow);z-index:30;background:#163d2e;border:1px solid #ffffff1f;border-radius:8px;gap:.25rem;min-width:16rem;padding:.5rem;display:grid;position:absolute;top:calc(100% + .6rem);left:0}.header-menu-icon{background:var(--color-surface);border:1px solid var(--color-border);color:var(--color-text);border-radius:8px;width:2.5rem;height:2.5rem}[data-theme=dark] .header-menu-icon{color:var(--color-text)}.app-main{max-width:var(--workspace-max);padding:1.4rem 1.5rem 2.5rem}.app-footer{display:none}.public-header{box-shadow:none;background:#163d2e}.page-container{padding:.2rem 0 2rem;animation:.28s both page-enter}@keyframes page-enter{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.page-header{border-bottom:1px solid var(--color-border);align-items:flex-end;margin-bottom:1.25rem;padding-bottom:1rem}.page-header h2{color:var(--color-text);font-size:clamp(1.6rem,1.2rem + 1vw,2.25rem);line-height:1.05}.page-header p,.page-subtitle{color:var(--color-text-muted);font-size:.96rem}.btn{font-family:var(--font-body);border:1px solid #0000;border-radius:8px;min-height:2.55rem;padding:.62rem 1rem;font-size:.94rem;font-weight:750}.btn-primary{background:var(--color-primary);color:#fff;box-shadow:0 8px 18px #1f5a432e}[data-theme=dark] .btn-primary{color:#0f1a12}.btn-secondary{background:var(--color-surface-muted);border-color:var(--color-border);color:var(--color-text)}.btn-sm{min-height:2.15rem;padding:.4rem .75rem;font-size:.84rem}.form-card,.report-container,.photo-upload-panel,.management-panel,.show-detail-panel,.journal-card,.transactions-composer,.data-table,.stat-card,.document-card,.photo-card,.auth-card{background:var(--color-surface);border:1px solid var(--color-border);box-shadow:var(--shadow-soft);border-radius:8px}.form-card,.auth-card,.report-container{padding:1.35rem}.form-group label,.stacked-form label,.transactions-field-header label,.feed-items-label{color:var(--color-text);letter-spacing:.01em;font-size:.82rem;font-weight:800}.form-group input,.form-group select,.form-group textarea,.stacked-form input,.stacked-form select,.stacked-form textarea,.transactions-filter-grid input,.transactions-filter-grid select,.line-item-grid input,.line-item-grid select,.feed-line-item-row input,.feed-line-item-row select,.modal-form input,.modal-form select,.modal-form textarea{background:var(--color-surface-soft);border:1px solid var(--color-border-strong);color:var(--color-text);font-family:var(--font-body);border-radius:8px;min-height:2.75rem;padding:.72rem .85rem;font-size:1rem;line-height:1.35}.form-group textarea,.stacked-form textarea,.modal-form textarea{min-height:7rem}.form-group input:focus,.form-group select:focus,.form-group textarea:focus,.stacked-form input:focus,.stacked-form select:focus,.stacked-form textarea:focus,.transactions-filter-grid input:focus,.transactions-filter-grid select:focus,.line-item-grid input:focus,.line-item-grid select:focus,.modal-form input:focus,.modal-form select:focus,.modal-form textarea:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px color-mix(in srgb, var(--color-primary) 18%, transparent);outline:0}.stats-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.stat-card{text-align:left;padding:1rem;position:relative;overflow:hidden}.stat-card:after{background:var(--color-accent);content:"";opacity:.75;width:4px;height:100%;position:absolute;top:0;right:0}.stat-card h3{color:var(--color-primary-hover);font-family:var(--font-display);font-size:2rem;line-height:1}[data-theme=dark] .stat-card h3{color:var(--color-primary)}.stat-card p{margin-top:.55rem;font-size:.82rem;font-weight:750}.section{margin-top:1.35rem}.section-header{border-bottom:1px solid var(--color-border);padding-bottom:.75rem}.section-header h3,.management-panel h3,.show-detail-header h3,.modal-header h3{font-family:var(--font-display);font-size:1.08rem}.project-card{box-shadow:var(--shadow-soft);align-items:center;min-height:5.25rem;margin-bottom:.65rem}.project-card:hover{border-color:var(--color-border-strong);transform:translateY(-1px)}.project-card-link{color:inherit;text-decoration:none}.project-card-main{flex:1;min-width:0}.project-card-content strong,.project-card>div:first-child strong,.management-row span,.document-card-header h3,.photo-card-body h3{font-weight:800}.project-meta,.show-detail-meta,.journal-date{color:var(--color-text-muted)}.badge{color:#315c2c;background:#e7f1dc;border:1px solid #ccdfbd;border-radius:999px;padding:.22rem .58rem;font-weight:800}[data-theme=dark] .badge{color:#cbe8c7;background:#254131;border-color:#486a51}.data-table{border-collapse:separate;border-spacing:0}.data-table th{background:var(--color-surface-muted);color:var(--color-text-muted);letter-spacing:.05em;text-transform:uppercase;font-size:.76rem}.data-table td{font-size:.92rem}.data-table tr:hover td{background:var(--color-surface-soft)}.management-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.management-panel{min-height:15rem;padding:1rem}.management-panel-wide{grid-column:1/-1}.management-panel-header{border-bottom:1px solid var(--color-border);justify-content:space-between;align-items:flex-end;gap:1rem;margin-bottom:.75rem;padding-bottom:.85rem;display:flex}.management-panel-header p{color:var(--color-text-muted);margin-top:.15rem;font-size:.86rem}.management-list{gap:0}.management-row{min-height:3.9rem;padding:.75rem 0}.roster-panel{min-height:0}.roster-tools{grid-template-columns:minmax(14rem,22rem) minmax(9rem,12rem);align-items:flex-end;gap:.65rem;display:grid}.roster-tools label{gap:.3rem;display:grid}.roster-tools label span{color:var(--color-text-muted);letter-spacing:.04em;text-transform:uppercase;font-size:.76rem;font-weight:850}.roster-tools input,.roster-tools select{background:var(--color-surface-soft);border:1px solid var(--color-border-strong);color:var(--color-text);font:inherit;border-radius:8px;min-height:2.55rem;padding:.62rem .75rem}.roster-table-wrap{border:1px solid var(--color-border);border-radius:8px;max-height:27rem;overflow:auto}.roster-table{border-collapse:separate;border-spacing:0;width:100%;min-width:760px}.roster-table th{background:var(--color-surface-muted);border-bottom:1px solid var(--color-border);color:var(--color-text-muted);letter-spacing:.05em;text-align:left;text-transform:uppercase;z-index:1;padding:.7rem .85rem;font-size:.74rem;font-weight:900;position:sticky;top:0}.roster-table td{border-bottom:1px solid var(--color-border);color:var(--color-text-muted);vertical-align:middle;padding:.72rem .85rem;font-size:.9rem}.roster-table tbody tr:hover td{background:var(--color-surface-soft)}.roster-table td:first-child{color:var(--color-text)}.roster-chip-list{flex-wrap:wrap;gap:.3rem;display:flex}.roster-chip-list span,.roster-status{border-radius:999px;padding:.34rem .52rem;font-size:.74rem;font-weight:850;line-height:1;display:inline-flex}.roster-chip-list span{color:#315c2c;background:#e7f1dc}.roster-status.active{color:#1f5a43;background:#dff0df}.roster-status.inactive{background:var(--color-surface-muted);color:var(--color-text-muted)}.roster-empty{text-align:center}.profile-heading{border-bottom:1px solid var(--color-border);align-items:flex-start;margin-bottom:1rem;padding-bottom:1rem}.profile-avatar{color:#315c2c;background:#e7f1dc;border:1px solid #ccdfbd}.success-message,.error-message{border-radius:8px;margin-bottom:.85rem;padding:.75rem .9rem}.error-message{background:color-mix(in srgb, var(--color-error) 10%, transparent);border:1px solid color-mix(in srgb, var(--color-error) 28%, transparent)}.auth-container{min-height:calc(100vh - 8rem)}.auth-card{max-width:28rem}.auth-logo h1{color:var(--color-primary-hover);font-family:var(--font-display)}[data-theme=dark] .auth-logo h1{color:var(--color-primary)}.auth-demo-hint{background:var(--color-surface-muted);border:1px solid var(--color-border);border-radius:8px}.transactions-page{gap:1.25rem}.transactions-receipt-dropzone{border-radius:8px}.modal-overlay,.transactions-ocr-modal-backdrop{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.modal-content,.transactions-ocr-modal{border-radius:8px}@media (width<=1100px){.app-shell{grid-template-columns:1fr}.app-sidebar{display:none}.mobile-menu,.topbar-title{display:block}.topbar-search{max-width:none}.stats-grid,.management-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=720px){.app-topbar{flex-wrap:wrap;align-items:stretch;gap:.75rem;padding:.75rem}.topbar-title{flex:1;align-self:center}.topbar-search{flex-basis:100%;order:4}.topbar-user{min-width:0}.topbar-user span:last-child,.topbar-icon-button{display:none}.app-main{padding:1rem}.page-header{align-items:flex-start}.page-header h2{text-align:left;width:100%}.stats-grid,.management-grid,.transactions-totals{grid-template-columns:1fr}.management-panel-header{flex-direction:column;align-items:stretch}.roster-tools{grid-template-columns:1fr}.project-card{align-items:stretch}}.management-workspace{gap:1rem;display:grid}.management-add-button span{place-items:center;font-size:1.05rem;font-weight:950;line-height:1;display:inline-grid}.management-tabs{background:linear-gradient(180deg, color-mix(in srgb, var(--color-surface) 92%, transparent), var(--color-surface-soft));border:1px solid var(--color-border);box-shadow:var(--shadow-soft);border-radius:8px;grid-template-columns:repeat(5,minmax(0,1fr));align-items:stretch;gap:.35rem;padding:.35rem;display:grid}.management-tab{color:var(--color-text-muted);cursor:pointer;font:inherit;background:0 0;border:1px solid #0000;border-radius:7px;justify-content:space-between;align-items:center;min-height:3rem;padding:.65rem .78rem;font-weight:850;display:flex}.management-tab:hover{background:var(--color-surface-muted);color:var(--color-text)}.management-tab.active{background:var(--color-primary);color:#fff;box-shadow:0 8px 18px #1f5a4329}[data-theme=dark] .management-tab.active{color:#0f1a12}.management-tab span{background:color-mix(in srgb, currentColor 14%, transparent);border:1px solid color-mix(in srgb, currentColor 20%, transparent);text-align:center;border-radius:999px;min-width:1.8rem;padding:.16rem .48rem;font-size:.76rem}.management-create-panel{background:linear-gradient(135deg, var(--color-surface-accent-start), var(--color-surface-accent-end));border:1px solid var(--color-surface-accent-border);box-shadow:var(--shadow-soft);border-radius:8px;padding:1rem}.management-inline-form{grid-template-columns:repeat(4,minmax(0,1fr)) auto;align-items:end}.management-inline-form label{align-self:end}.management-inline-form textarea{grid-column:span 2;min-height:2.75rem}.management-split{grid-template-columns:minmax(0,1fr) minmax(21rem,25rem);gap:1rem;display:grid}.management-panel{min-width:0}.management-panel-header.compact{align-items:flex-start;margin-top:1rem}.roster-panel{min-width:0}.roster-table-wrap{max-height:min(32rem,100vh - 19rem)}.roster-table tbody tr{transition:background .14s}.roster-table tbody tr.selected td{background:color-mix(in srgb, var(--color-primary) 9%, var(--color-surface))}.roster-table tbody tr[onclick]{cursor:pointer}.roster-table td strong{color:var(--color-text);font-weight:850;display:block}.roster-table td small{color:var(--color-text-muted);overflow-wrap:anywhere;max-width:25rem;margin-top:.15rem;font-size:.8rem;display:block}.user-profile-panel{align-self:start;position:sticky;top:5.5rem}.profile-heading.compact .profile-avatar{flex-basis:3.5rem;height:3.5rem;font-size:1.35rem}.profile-heading.compact h3{margin-bottom:.1rem}.profile-heading.compact p{color:var(--color-text-muted);overflow-wrap:anywhere}.profile-detail-list{border:1px solid var(--color-border);border-radius:8px;grid-template-columns:5.5rem minmax(0,1fr);gap:.55rem .85rem;padding:.85rem;display:grid}.profile-detail-list span{color:var(--color-text-muted);letter-spacing:.04em;text-transform:uppercase;font-size:.76rem;font-weight:850}.profile-detail-list strong{overflow-wrap:anywhere;font-weight:800}.profile-empty-state{color:var(--color-text-muted);text-align:center;place-content:center;align-items:center;gap:.65rem;min-height:18rem;display:grid}.profile-empty-state h3{color:var(--color-text)}.profile-empty-state p{max-width:18rem}.profile-empty-icon{background:var(--color-surface-muted);border:1px solid var(--color-border);color:var(--color-primary-hover);border-radius:999px;justify-self:center;align-items:center;width:3.5rem;height:3.5rem;font-weight:900;display:inline-grid}.skeleton-table-row td{height:3.25rem}.skeleton-bar{background:linear-gradient(90deg, var(--color-surface-muted), color-mix(in srgb, var(--color-surface-muted) 62%, var(--color-surface)), var(--color-surface-muted));background-size:220% 100%;border-radius:999px;width:min(100%,8rem);height:.8rem;animation:1.2s ease-in-out infinite skeleton-pulse;display:block}.skeleton-bar.short{width:2.5rem}.skeleton-bar.medium{width:7rem}.skeleton-bar.wide{width:11rem}.skeleton-avatar{background:var(--color-surface-muted);border-color:var(--color-border);animation:1.2s ease-in-out infinite skeleton-pulse}.profile-skeleton-lines{gap:.55rem;padding-top:.25rem;display:grid}@keyframes skeleton-pulse{0%{background-position:120% 0}to{background-position:-120% 0}}.relationship-manager{margin-top:1rem}.relationship-form{background:var(--color-surface-soft);border:1px solid var(--color-border);border-radius:8px;margin-top:.85rem;padding:.85rem}.relationship-list{margin-top:.85rem}.relationship-summary-note{background:var(--color-surface-muted);border:1px solid var(--color-border);color:var(--color-text-muted);border-radius:8px;margin-bottom:.65rem;padding:.65rem .75rem;font-size:.86rem}.relationship-row{grid-template-columns:minmax(0,1fr) auto}.relationship-row small{grid-column:1/2}.row-action-button,.row-link-button{background:var(--color-surface-muted);border:1px solid var(--color-border);color:var(--color-text);cursor:pointer;font:inherit;border-radius:7px;justify-content:center;align-items:center;min-height:2.15rem;padding:.35rem .7rem;font-size:.82rem;font-weight:800;text-decoration:none;display:inline-flex}.row-action-button:hover,.row-link-button:hover{background:var(--color-surface);border-color:var(--color-border-strong)}.row-action-menu{justify-content:flex-end;display:inline-flex;position:relative}.row-gear-button{background:var(--color-surface-soft);border:1px solid var(--color-border);color:var(--color-text);cursor:pointer;font:inherit;border-radius:8px;justify-content:center;align-items:center;width:2.25rem;height:2.25rem;font-weight:900;display:inline-grid}.row-gear-button:hover,.row-gear-button[aria-expanded=true]{background:var(--color-surface-muted);border-color:var(--color-border-strong)}.row-action-flyout{background:var(--color-surface);border:1px solid var(--color-border);box-shadow:var(--shadow);z-index:5;border-radius:8px;min-width:10rem;padding:.35rem;display:grid;position:absolute;top:calc(100% + .35rem);right:0}.row-action-flyout button{color:var(--color-text);cursor:pointer;font:inherit;text-align:left;background:0 0;border:0;border-radius:6px;min-height:2.35rem;padding:.45rem .65rem;font-size:.9rem;font-weight:750}.row-action-flyout button:hover{background:var(--color-surface-muted)}.row-action-flyout button:disabled{color:var(--color-text-muted);cursor:not-allowed;opacity:.6}.empty-inline{color:var(--color-text-muted);padding:.75rem 0;font-size:.9rem}@media (width<=1100px){.management-split,.animal-photos-split{grid-template-columns:1fr}.user-profile-panel{position:static}.management-inline-form{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=720px){.animal-detail-tabs{grid-template-columns:1fr}.animal-photos-page .page-header,.animal-photo-manager-header{flex-direction:column;align-items:stretch}.animal-photo-header-actions{justify-content:stretch}.animal-photo-header-actions .btn,.animal-photos-page .page-header .btn{width:100%}.project-detail-tabs,.animal-photo-tools,.management-tabs{grid-template-columns:1fr}.management-tab{min-height:2.65rem}.management-inline-form{grid-template-columns:1fr}.management-inline-form textarea{grid-column:auto}.profile-detail-list{grid-template-columns:1fr}}
