:root{--color-primary:#8b2e2e;--color-primary-hover:#6f2323;--color-primary-light:#c44545;--color-primary-soft:#fbeaea;--color-bg:#faf6ef;--color-surface:#fffbf4;--color-surface-alt:#f5eee0;--color-surface-hover:#f1e8d6;--color-text:#2b1f15;--color-text-soft:#6b5742;--color-text-muted:#8b7961;--color-border:#d9c9a9;--color-border-soft:#e8dcc4;--color-border-strong:#b8a37e;--color-sidebar:#3a2a1e;--color-sidebar-hover:#ffe4b51a;--color-sidebar-accent:#c18738;--color-sidebar-text:#f5eee0;--color-sidebar-muted:#f5eee099;--color-success:#5f7a3b;--color-success-hover:#4a6030;--color-success-soft:#eef2e4;--color-warning:#c87f2f;--color-warning-hover:#a86820;--color-warning-soft:#fbf1df;--color-danger:#a03530;--color-danger-hover:#80231f;--color-danger-soft:#fbe8e3;--color-info:#5a6e7f;--color-info-soft:#e8edf1;--shadow-sm:0 1px 2px #3a2a1e0f;--shadow-md:0 4px 12px #3a2a1e14;--shadow-lg:0 12px 28px #3a2a1e1f;--shadow-xl:0 20px 50px #3a2a1e29;--radius-sm:6px;--radius-md:10px;--radius-lg:14px;--radius-xl:18px;--font-serif:"Fraunces",Georgia,"Times New Roman",serif;--font-sans:-apple-system,BlinkMacSystemFont,"Segoe UI","Roboto","Oxygen","Ubuntu","Cantarell","Fira Sans","Droid Sans","Helvetica Neue",sans-serif}:root[data-theme=dark]{--color-primary:#c98c72;--color-primary-hover:#d8a18a;--color-primary-light:#e7b9a4;--color-primary-soft:#c98c722e;--color-bg:#17120e;--color-surface:#221a14;--color-surface-alt:#2b211a;--color-surface-hover:#342821;--color-text:#f4e8d8;--color-text-soft:#d5c0aa;--color-text-muted:#a99684;--color-border:#4f4032;--color-border-soft:#3b2f25;--color-border-strong:#6a5441;--color-sidebar:#100c09;--color-sidebar-hover:#c98c721f;--color-sidebar-accent:#d4a36f;--color-sidebar-text:#f4e8d8;--color-sidebar-muted:#f4e8d8ad;--color-success:#8aa06a;--color-success-hover:#a0b67b;--color-success-soft:#8aa06a29;--color-warning:#d79d59;--color-warning-hover:#e5b171;--color-warning-soft:#d79d5929;--color-danger:#d07b73;--color-danger-hover:#e6948d;--color-danger-soft:#d07b7329;--color-info:#93a9ba;--color-info-soft:#93a9ba29;--shadow-sm:0 1px 2px #0000003d;--shadow-md:0 4px 12px #00000047;--shadow-lg:0 12px 28px #00000057;--shadow-xl:0 20px 50px #0000006b}*{box-sizing:border-box;margin:0;padding:0}#root,body,html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#faf6ef;background:var(--color-bg);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;font-family:var(--font-sans);max-width:100vw;overflow-x:hidden;position:relative;width:100%}#root,body,h1,h2,h3,html{color:#2b1f15;color:var(--color-text)}h1,h2,h3{font-family:Fraunces,Georgia,Times New Roman,serif;font-family:var(--font-serif);font-weight:600;letter-spacing:-.01em}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}.container{margin:0 auto;max-width:1200px;padding:20px}@media (max-width:768px){.container{padding:10px}}.app-layout{background:var(--color-bg);display:flex;min-height:100vh;min-height:100dvh;width:100%}.sidebar{background:var(--color-sidebar);background-image:linear-gradient(180deg,#3a2a1e00,#0000002e),repeating-linear-gradient(90deg,#0000,#0000 58px,#00000014 0,#00000014 60px);box-shadow:2px 0 18px #3a2a1e2e;color:var(--color-sidebar-text);contain:layout paint;display:flex;flex-direction:column;height:100vh;left:0;overflow:hidden;position:fixed;top:0;transition:width .18s ease-out;z-index:1000}.sidebar.open{width:240px}.sidebar.collapsed{width:70px}.sidebar-header{align-items:center;border-bottom:1px solid #f5eee01f;display:flex;justify-content:space-between;min-height:60px;padding:1rem}.sidebar-title{color:var(--color-sidebar-text);font-family:var(--font-serif);font-size:1.5rem;font-weight:700;letter-spacing:-.01em;margin:0;overflow:hidden;white-space:nowrap}.sidebar.collapsed .sidebar-title{display:none}.sidebar.collapsed .sidebar-header,.sidebar.collapsed .sidebar-item{justify-content:center;padding-left:0;padding-right:0}.sidebar.collapsed .sidebar-label{display:none}.sidebar-toggle{align-items:center;background:none;border:none;border-radius:6px;color:var(--color-sidebar-text);cursor:pointer;display:inline-flex;flex-shrink:0;font-size:2rem;font-weight:700;justify-content:center;letter-spacing:0;line-height:1;min-height:2.2rem;min-width:2.2rem;padding:.25rem .6rem;transition:background .2s}.sidebar-toggle:hover{background:var(--color-sidebar-hover)}.sidebar-nav{flex:1 1;overflow-y:auto;padding:1rem 0}.sidebar-item{align-items:center;background:none;border:none;color:var(--color-sidebar-text);cursor:pointer;display:flex;font-size:1rem;gap:1rem;padding:.75rem 1rem;position:relative;text-align:left;text-decoration:none;transition:background-color .15s ease-out;width:100%}.sidebar-item:hover{background:var(--color-sidebar-hover)}.sidebar-item.active{background:#c187382e;border-left:3px solid var(--color-sidebar-accent)}.sidebar-icon{align-items:center;display:inline-flex;flex-shrink:0;height:32px;justify-content:center;width:32px}.sidebar-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sidebar-badge{background:var(--color-primary);border-radius:10px;color:#fff;font-size:.7rem;font-weight:700;margin-left:auto;min-width:18px;padding:.15rem .4rem;text-align:center}.sidebar-badge-dot{animation:pulse 2s ease-in-out infinite;background:var(--color-primary);border-radius:50%;height:8px;position:absolute;right:12px;top:8px;width:8px}.sidebar-footer{border-top:1px solid #f5eee01f;padding:.5rem 0}.sidebar-item.logout{color:#e8b8b5}.sidebar-item.logout:hover{background:#a0353040}.sidebar-overlay{display:none}.main-content{background:var(--color-bg);contain:layout paint;display:flex;flex:1 1;flex-direction:column;min-height:100vh;min-height:100dvh;overflow-y:auto;padding:20px;transition:margin-left .18s ease-out,width .18s ease-out}.main-content,.main-content>*{box-sizing:border-box;width:100%}.main-content>*{flex:1 1;min-height:0}.main-content.sidebar-open{margin-left:240px;width:calc(100% - 240px)}.main-content:not(.sidebar-open):not(.has-bottom-tabs){margin-left:70px;width:calc(100% - 70px)}.main-content.rabbit-route,.main-content.rabbit-route>*{background:var(--color-bg);border:none;box-shadow:none;outline:none}.mobile-header{display:none}@media (max-width:768px){.mobile-header{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:linear-gradient(180deg,#faf6effa,#f5eee0f0);border-bottom:1px solid var(--color-border-soft);display:flex;flex-direction:column;gap:.15rem;margin:-10px -10px 12px;padding:calc(.85rem + env(safe-area-inset-top, 0)) .9rem .85rem;position:-webkit-sticky;position:sticky;top:0;z-index:25}.mobile-brand{color:var(--color-primary);font-size:.75rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.mobile-title{color:var(--color-text);font-family:var(--font-serif);font-size:1.3rem;font-weight:700;letter-spacing:-.01em;margin:0}.main-content{height:auto;margin-left:0!important;min-height:100vh;min-height:100dvh;overflow-y:auto;padding:0 10px 75px;width:100%!important}.main-content.has-bottom-tabs{padding-bottom:calc(88px + env(safe-area-inset-bottom, 0))}.sidebar{display:none}}.btn{align-items:center;border:none;border-radius:var(--radius-md);cursor:pointer;display:inline-flex;font-weight:600;gap:.4rem;justify-content:center;padding:.55rem 1.15rem;transition:all .15s ease}.btn,.btn-back{font-size:.9rem}.btn-back{background:none;color:var(--color-primary);margin-bottom:.5rem;padding:.25rem 0;transition:color .15s ease}.btn-back:hover{color:var(--color-primary-hover)}.btn:active{transform:scale(.97)}.btn-primary{background:var(--color-primary);box-shadow:0 1px 3px #8b2e2e4d;color:#fff}.btn-primary:hover{background:var(--color-primary-hover);box-shadow:0 2px 6px #8b2e2e59}.btn-success{background:var(--color-success);box-shadow:0 1px 3px #5f7a3b4d;color:#fff}.btn-success:hover{background:var(--color-success-hover)}.btn-danger{background:var(--color-danger);box-shadow:0 1px 3px #a035304d;color:#fff}.btn-danger:hover{background:var(--color-danger-hover)}.btn-danger-outline{background:#0000;border:1.5px solid #e8bdb9;color:var(--color-danger)}.btn-danger-outline:hover{background:var(--color-danger-soft);border-color:var(--color-danger)}.btn-secondary{background:var(--color-surface);border:1.5px solid var(--color-border);box-shadow:0 1px 2px #3a2a1e0a;color:var(--color-text-soft)}.btn-secondary:hover{background:var(--color-surface-alt);border-color:var(--color-border-strong)}.btn-warning{background:var(--color-warning);box-shadow:0 1px 3px #c87f2f4d;color:#fff}.btn-warning:hover{background:var(--color-warning-hover)}.btn-sm{border-radius:8px;font-size:.82rem;padding:.4rem .85rem}.btn-link{background:none;border:none;color:var(--color-primary);cursor:pointer;font-size:.9rem;padding:4px 8px;text-decoration:underline}.btn-link:hover{color:var(--color-primary-hover)}.btn-link-danger{color:var(--color-text-muted)}.btn-link-danger:hover{color:var(--color-danger)}.btn-icon{background:none;border:none;border-radius:6px;cursor:pointer;font-size:18px;line-height:1;padding:6px;transition:all .2s}.btn-icon:hover{background:var(--color-surface-alt)}.btn-icon-danger:hover{background:var(--color-danger-soft)}.btn-icon-create:hover{background:var(--color-success-soft)}.form-group{margin-bottom:1rem}.form-group label{display:block;font-size:.875rem;margin-bottom:.5rem}.form-group input,.form-group select,.form-group textarea{box-sizing:border-box;font-size:.95rem;width:100%}.form-group textarea{min-height:100px}.form-group small{display:block;font-size:.8rem;margin-top:.35rem}.card{background:var(--color-surface);border:1px solid var(--color-border-soft);border-radius:10px;box-shadow:var(--shadow-sm);box-sizing:border-box;margin-bottom:1rem;padding:1.5rem;width:100%}@media (max-width:768px){.card{padding:1rem}}.table{background:var(--color-surface);border-collapse:collapse;border-radius:10px;overflow:hidden;width:100%}.table td,.table th{border-bottom:1px solid var(--color-border-soft);color:var(--color-text);padding:1rem;text-align:left}.table th{background:var(--color-surface-alt);color:var(--color-text-soft);font-weight:600}.table tr:hover{background:var(--color-surface-hover)}@media (max-width:768px){.table{font-size:.9rem}.table td,.table th{padding:.5rem}}.modal-overlay{align-items:center;animation:modalFadeIn .15s ease;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#2b1f158c;bottom:0;box-sizing:border-box;display:flex;justify-content:center;left:0;padding:20px;position:fixed;right:0;top:0;z-index:1000}@keyframes modalFadeIn{0%{opacity:0}to{opacity:1}}@keyframes modalSlideIn{0%{opacity:0;transform:translateY(12px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.modal{animation:modalSlideIn .2s ease;background:var(--color-surface);border-radius:16px;box-shadow:var(--shadow-xl),0 0 0 1px var(--color-border-soft);box-sizing:border-box;max-height:90vh;max-width:500px;width:100%}.modal,.modal>form{display:flex;flex-direction:column;overflow:hidden}.modal>form{flex:1 1;min-height:0}@media (max-width:768px){.modal-overlay{align-items:flex-end;padding:10px}.modal{border-radius:16px 16px 0 0;max-height:85vh;max-width:100%}.modal-body,.modal-footer,.modal-header{padding-left:1.25rem;padding-right:1.25rem}}.modal-header{align-items:center;border-bottom:1px solid var(--color-border-soft);display:flex;flex-shrink:0;justify-content:space-between;padding:1.25rem 1.5rem}.modal-header h2{color:var(--color-text);font-family:var(--font-serif);font-size:1.25rem;font-weight:700;margin:0}.modal-close{align-items:center;background:none;border:none;border-radius:8px;color:var(--color-text-muted);cursor:pointer;display:flex;font-size:1.35rem;height:32px;justify-content:center;line-height:1;padding:4px;transition:all .15s ease;width:32px}.modal-close:hover{background:var(--color-surface-alt);color:var(--color-text)}.modal-body{flex:1 1;overflow-y:auto;padding:1.5rem}.modal-body p{color:var(--color-text-soft);font-size:.95rem;line-height:1.5;margin:0 0 .5rem}.modal-footer{align-items:center;background:var(--color-surface-alt);border-radius:0 0 16px 16px;border-top:1px solid var(--color-border-soft);display:flex;flex-shrink:0;gap:.75rem;justify-content:flex-end;padding:1rem 1.5rem}.modal-footer-left{display:flex;gap:.5rem;margin-right:auto}.modal .form-group{margin-bottom:1.25rem}.modal .form-group label{color:var(--color-text-soft);display:block;font-size:.875rem;font-weight:600;margin-bottom:.4rem}.modal .form-group input[type=number],.modal .form-group input[type=text],.modal .form-group select{background:var(--color-bg);border:1.5px solid var(--color-border);border-radius:10px;box-sizing:border-box;color:var(--color-text);font-size:.925rem;padding:.6rem .75rem;transition:all .15s ease;width:100%}.modal .form-group input:focus,.modal .form-group select:focus{background:var(--color-surface);border-color:var(--color-primary);box-shadow:0 0 0 3px #8b2e2e1f;outline:none}.modal .form-group input.input-error{background:var(--color-danger-soft);border-color:var(--color-danger)}.modal .form-group .error-text{color:var(--color-danger);display:block;font-size:.8rem;margin-top:.3rem}.toggle-row{background:var(--color-bg);border:1.5px solid var(--color-border);border-radius:10px;cursor:pointer;padding:.6rem .75rem;transition:all .15s ease;-webkit-user-select:none;user-select:none}.toggle-row:hover{border-color:var(--color-border-strong)}.toggle-row-label{color:var(--color-text-soft);font-size:.875rem;font-weight:600}.toggle-switch{background:var(--color-border);border-radius:12px;height:24px;width:44px}.toggle-switch.active{background:var(--color-primary)}.toggle-knob{box-shadow:0 1px 3px #3a2a1e33;height:20px;width:20px}.toggle-switch.active .toggle-knob{transform:translateX(20px)}.edit-cage-rabbit-list{display:flex;flex-direction:column;gap:.5rem;margin-bottom:.75rem}.edit-rabbit-card{align-items:center;background:var(--color-bg);border:1px solid var(--color-border-soft);border-radius:10px;display:flex;justify-content:space-between;padding:.6rem .75rem;transition:all .15s ease}.edit-rabbit-card:hover{background:var(--color-surface-alt);border-color:var(--color-border)}.edit-rabbit-info{display:flex;flex-direction:column;gap:.15rem}.edit-rabbit-info .cage-rabbit-name,.edit-rabbit-name{background:none;border:none;color:var(--color-primary);cursor:pointer;font-size:.9rem;font-weight:600;padding:0;text-align:left}.edit-rabbit-info .cage-rabbit-name:hover,.edit-rabbit-name:hover{color:var(--color-primary-hover);text-decoration:underline}.edit-rabbit-meta{color:var(--color-text-muted);display:flex;font-size:.78rem;gap:.5rem}.edit-rabbit-remove{align-items:center;background:none;border:none;border-radius:6px;color:var(--color-border-strong);cursor:pointer;display:flex;font-size:1.3rem;height:28px;justify-content:center;line-height:1;padding:0 4px;transition:all .15s ease;width:28px}.edit-rabbit-remove:hover{background:var(--color-danger-soft);color:var(--color-danger)}.edit-rabbit-empty{background:var(--color-bg);border:1.5px dashed var(--color-border);border-radius:10px;color:var(--color-text-muted);font-size:.85rem;font-style:italic;padding:.75rem;text-align:center}@keyframes pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.9;transform:scale(1.1)}}.bottom-tab-bar{display:none}@media (max-width:768px){.bottom-tab-bar{background:#3a2a1ef5;border-top:1px solid #c1873838;bottom:0;box-shadow:0 -6px 24px #3a2a1e38;justify-content:space-around;left:0;padding:.45rem 0 calc(.45rem + env(safe-area-inset-bottom, 0));position:fixed;right:0;z-index:1001}.bottom-tab-bar,.tab-item{align-items:center;display:flex;touch-action:manipulation}.tab-item{-webkit-tap-highlight-color:rgba(193,135,56,.3);background:none;border:none;color:#f5eee099;cursor:pointer;flex:1 1;flex-direction:column;font-family:inherit;justify-content:center;max-width:84px;padding:.25rem;position:relative;text-decoration:none;transition:color .2s}.tab-item.active,.tab-item:hover{color:var(--color-sidebar-accent)}.tab-item:focus{outline:none}.tab-icon{align-items:center;background:#f5eee01a;border-radius:999px;color:inherit;display:inline-flex;justify-content:center;line-height:1;min-height:32px;min-width:32px;padding:.2rem .35rem;position:relative}.tab-label{font-size:.63rem;font-weight:600;margin-top:.22rem}.tab-badge{background:var(--color-primary);border-radius:6px;color:#fff;font-size:.55rem;font-weight:700;min-width:12px;padding:.1rem .25rem;pointer-events:none;position:absolute;right:-4px;text-align:center;top:-4px}.more-menu-overlay{align-items:flex-end;background:#2b1f158c;bottom:0;display:flex;justify-content:center;left:0;padding-bottom:60px;position:fixed;right:0;top:0;z-index:1002}.more-menu{animation:slideUp .2s ease-out;background:var(--color-surface);border-radius:18px 18px 0 0;box-shadow:var(--shadow-xl);max-width:400px;padding:.85rem .85rem calc(.75rem + env(safe-area-inset-bottom, 0));width:100%}@keyframes slideUp{0%{opacity:0;transform:translateY(100%)}to{opacity:1;transform:translateY(0)}}.more-menu-item{align-items:center;background:none;border:none;border-radius:8px;color:var(--color-text);cursor:pointer;display:flex;font-size:.95rem;gap:.75rem;padding:.75rem;text-align:left;text-decoration:none;transition:background .2s;width:100%}.more-menu-item:active,.more-menu-item:hover{background:var(--color-surface-alt)}.more-menu-item.active{background:var(--color-primary-soft);color:var(--color-primary)}.more-menu-item.logout{border-top:1px solid var(--color-border-soft);color:var(--color-danger);margin-top:.5rem;padding-top:.75rem}.more-menu-icon{align-items:center;background:var(--color-surface-alt);border-radius:999px;color:var(--color-text);display:inline-flex;height:34px;justify-content:center;width:34px}.more-menu-label{flex:1 1;font-weight:500}.more-menu-badge{background:var(--color-primary);border-radius:8px;color:#fff;font-size:.7rem;font-weight:700;min-width:18px;padding:.15rem .4rem;text-align:center}.tab-badge-dot{animation:pulse 2s ease-in-out infinite;background:var(--color-primary);border-radius:50%;height:8px;pointer-events:none;position:absolute;right:-2px;top:-2px;width:8px}}.ui-card{background:var(--color-surface);border:1px solid var(--color-border-soft);border-radius:var(--radius-xl);box-shadow:var(--shadow-md)}.ui-message{border-radius:12px;font-size:.95rem;line-height:1.45;margin-bottom:1rem;padding:.875rem 1rem}.ui-message-error{background:var(--color-danger-soft);border:1px solid #e8bdb9;color:var(--color-danger-hover)}.ui-message-success{background:var(--color-success-soft);border:1px solid #cfdbb3;color:var(--color-success-hover)}.ui-message-info{background:var(--color-info-soft);border:1px solid #c5cfd7;color:var(--color-info)}.ui-page-header{align-items:flex-start;display:flex;gap:1rem;justify-content:space-between;margin-bottom:1.5rem}.ui-page-title{color:var(--color-text);font-family:var(--font-serif);font-size:2.1rem;font-weight:700;letter-spacing:-.015em;line-height:1.1;margin-bottom:.35rem}.ui-page-subtitle{color:var(--color-text-soft);max-width:720px}.ui-page-actions{align-items:center;display:flex;gap:.75rem}.ui-empty-state,.ui-loading-state,.ui-section-card{background:var(--color-surface);border:1px solid var(--color-border-soft);border-radius:16px;box-shadow:var(--shadow-sm)}.ui-empty-state,.ui-loading-state{padding:2rem 1.5rem;text-align:center}.ui-empty-icon{align-items:center;color:var(--color-primary);display:inline-flex;justify-content:center;margin-bottom:.75rem}.ui-icon{display:inline-block;flex-shrink:0;vertical-align:middle}.ui-empty-title{color:var(--color-text);font-family:var(--font-serif);font-size:1.25rem;font-weight:600;margin-bottom:.45rem}.ui-empty-message,.ui-loading-label{color:var(--color-text-soft)}.ui-empty-action{margin-top:1rem}.ui-loading-spinner{animation:uiSpin .8s linear infinite;border:3px solid var(--color-border-soft);border-radius:50%;border-top-color:var(--color-primary);height:36px;margin:0 auto .85rem;width:36px}.ui-modal-overlay{align-items:center;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#2b1f158c;display:flex;inset:0;justify-content:center;padding:20px;position:fixed;z-index:1200}.ui-modal{background:var(--color-surface);border:1px solid var(--color-border-soft);border-radius:18px;box-shadow:var(--shadow-xl);overflow:hidden;width:100%}.ui-modal-header{align-items:center;display:flex;gap:1rem;justify-content:space-between;padding:1.15rem 1.35rem 0}.ui-modal-title{color:var(--color-text);font-family:var(--font-serif);font-size:1.35rem;font-weight:700;margin:0}.ui-modal-close{background:#0000;border:0;color:var(--color-text-muted);cursor:pointer;font-size:1.5rem;line-height:1;padding:.1rem .25rem}.ui-modal-close:hover{color:var(--color-text)}.ui-modal-body{padding:1.2rem 1.35rem}.ui-modal-footer{display:flex;gap:.75rem;justify-content:flex-end;padding:0 1.35rem 1.35rem}.ui-confirm-message{color:var(--color-text-soft);line-height:1.55;margin:0}@keyframes uiSpin{to{transform:rotate(1turn)}}.auth-shell{align-items:center;background:radial-gradient(circle at top left,#8b2e2e1f,#0000 32%),radial-gradient(circle at bottom right,#c1873824,#0000 30%),linear-gradient(180deg,#faf6ef,#f1e8d6);display:flex;justify-content:center;min-height:100vh;padding:24px}.auth-card{max-width:460px;padding:2rem;width:100%}.auth-title{font-size:2.25rem;font-weight:700;letter-spacing:-.015em;line-height:1.1;margin-bottom:.35rem}.auth-subtitle,.auth-title{color:var(--color-text);font-family:var(--font-serif)}.auth-subtitle{font-size:1.25rem;font-weight:600;margin-bottom:.4rem}.auth-copy{color:var(--color-text-soft);margin-bottom:1.25rem}@media (max-width:768px){.ui-page-header{flex-direction:column;margin-bottom:1rem}.ui-page-title{font-size:1.75rem}.auth-shell{align-items:flex-start;padding:14px}.auth-card{border-radius:16px;margin-top:24px;padding:1.4rem}.auth-title{font-size:1.85rem}.ui-modal-overlay{align-items:flex-end;padding:14px}.ui-modal{border-radius:16px 16px 0 0}.ui-modal-body,.ui-modal-footer,.ui-modal-header{padding-left:1rem;padding-right:1rem}.ui-modal-footer{flex-direction:column-reverse}}.home-container{box-sizing:border-box;height:100%;padding:20px;width:100%}.home-hero{background:linear-gradient(135deg,#fffbf4b3,#f1e8d6e6),repeating-linear-gradient(90deg,#0000,#0000 120px,#8b2e2e08 0,#8b2e2e08 122px);border:1px solid var(--color-border);border-radius:16px;box-shadow:var(--shadow-sm);gap:20px;margin-bottom:24px;min-height:140px;padding:28px 32px}.home-hero,.home-hero-logo{align-items:center;display:flex}.home-hero-logo{background:var(--color-surface);border:2px solid var(--color-border);border-radius:50%;box-shadow:0 2px 8px #3a2a1e1f;flex-shrink:0;height:84px;justify-content:center;overflow:hidden;width:84px}.home-hero-logo img{height:100%;object-fit:cover;width:100%}.home-hero-logo-placeholder{background:var(--color-surface);color:var(--color-primary)}.home-hero-text{flex:1 1;min-width:0}.home-hero-greeting{color:var(--color-text-soft);font-size:.9rem;font-weight:500;letter-spacing:.02em;margin:0 0 4px}.home-hero-title{color:var(--color-text);font-family:var(--font-serif);font-size:2rem;font-weight:700;letter-spacing:-.02em;line-height:1.15;margin:0}.home-stats-strip{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(4,1fr);margin-bottom:28px}.home-stat-card{align-items:flex-start;background:var(--color-surface);border:1px solid var(--color-border-soft);border-radius:12px;box-shadow:var(--shadow-sm);color:inherit;display:flex;gap:12px;padding:18px 20px;text-decoration:none;transition:transform .2s,box-shadow .2s}.home-stat-card:hover{border-color:var(--color-border);box-shadow:var(--shadow-md);transform:translateY(-2px)}.home-stat-card-alert{background:var(--color-danger-soft);border-color:#e8bdb9}.home-stat-card-alert .home-stat-sub{color:var(--color-danger-hover);font-weight:600}.home-stat-icon{align-items:center;background:var(--color-primary-soft);border-radius:8px;color:var(--color-primary);display:inline-flex;flex-shrink:0;height:36px;justify-content:center;width:36px}.home-stat-card-alert .home-stat-icon{background:#f5d5d1;color:var(--color-danger-hover)}.home-stat-body{flex:1 1;min-width:0}.home-stat-value{color:var(--color-text);font-family:var(--font-serif);font-size:1.9rem;font-weight:700;letter-spacing:-.02em;line-height:1.1}.home-stat-label{color:var(--color-text-soft);font-size:.75rem;font-weight:600;letter-spacing:.5px;margin-top:4px;text-transform:uppercase}.home-stat-sub{color:var(--color-text-muted);font-size:.75rem;margin-top:2px}@keyframes home-skeleton-pulse{0%,to{opacity:.55}50%{opacity:.85}}.home-queue-skeleton,.home-stat-skeleton{pointer-events:none}.home-skeleton-block{border-radius:8px;min-height:32px;min-width:32px}.home-skeleton-block,.home-skeleton-line{animation:home-skeleton-pulse 1.4s ease-in-out infinite;background:var(--color-surface-alt)}.home-skeleton-line{border-radius:4px;display:block;height:10px;margin:6px 0;width:70%}.home-skeleton-line-lg{height:16px;width:60%}.home-skeleton-line-sm{height:8px;width:45%}.home-queue-section{background:var(--color-surface);border:1px solid var(--color-border-soft);border-radius:16px;box-shadow:var(--shadow-sm);padding:24px 28px}.home-queue-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:16px}.home-queue-header h2{color:var(--color-text);font-family:var(--font-serif);font-size:1.4rem;font-weight:700;letter-spacing:-.01em;margin:0}.home-queue-viewall{color:var(--color-primary);font-size:.85rem;font-weight:600;text-decoration:none}.home-queue-viewall:hover{text-decoration:underline}.home-queue-list{display:flex;flex-direction:column;gap:8px;list-style:none;margin:0;padding:0}.home-queue-item{align-items:center;background:var(--color-bg);border-left:4px solid var(--color-border);border-radius:10px;color:inherit;display:flex;gap:14px;padding:14px 16px;text-decoration:none;transition:background .15s,transform .15s}.home-queue-item:hover{background:var(--color-surface-alt);transform:translateX(2px)}.home-queue-urgent{background:var(--color-danger-soft);border-left-color:var(--color-danger)}.home-queue-urgent:hover{background:#f5d5d1}.home-queue-warning{background:var(--color-warning-soft);border-left-color:var(--color-warning)}.home-queue-warning:hover{background:#f5e4c7}.home-queue-info{background:var(--color-info-soft);border-left-color:var(--color-info)}.home-queue-info:hover{background:#d9e0e6}.home-queue-icon{align-items:center;background:var(--color-surface);border:1px solid var(--color-border-soft);border-radius:8px;color:var(--color-text-soft);display:inline-flex;flex-shrink:0;height:36px;justify-content:center;width:36px}.home-queue-urgent .home-queue-icon{border-color:#e8bdb9;color:var(--color-danger)}.home-queue-warning .home-queue-icon{border-color:#e8d1aa;color:var(--color-warning)}.home-queue-info .home-queue-icon{border-color:#c5cfd7;color:var(--color-info)}.home-queue-body{display:flex;flex:1 1;flex-direction:column;gap:2px;min-width:0}.home-queue-title{color:var(--color-text);font-size:.95rem;font-weight:600}.home-queue-detail,.home-queue-title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.home-queue-detail{color:var(--color-text-soft);font-size:.8rem}.home-queue-chevron{color:var(--color-text-muted);flex-shrink:0;font-size:1.1rem}.home-queue-more{background:var(--color-bg);border:1px dashed var(--color-border);border-radius:10px;color:var(--color-primary);display:block;font-size:.9rem;font-weight:600;padding:12px 16px;text-align:center;text-decoration:none;transition:background .15s}.home-queue-more:hover{background:var(--color-surface-alt)}.home-queue-empty{padding:32px 20px;text-align:center}.home-queue-empty-icon{align-items:center;background:var(--color-success-soft);border-radius:50%;color:var(--color-success);display:inline-flex;height:72px;justify-content:center;margin-bottom:12px;width:72px}.home-queue-empty h3{color:var(--color-text);font-family:var(--font-serif);font-size:1.15rem;font-weight:600;margin:0 0 4px}.home-queue-empty p{color:var(--color-text-soft);font-size:.9rem;margin:0}@media (max-width:900px){.home-stats-strip{grid-template-columns:repeat(2,1fr)}}@media (max-width:768px){.home-container{padding:14px}.home-hero{gap:14px;margin-bottom:18px;padding:20px}.home-hero-logo{height:60px;width:60px}.home-hero-title{font-size:1.5rem}.home-hero-greeting{font-size:.8rem}.home-stats-strip{gap:10px;margin-bottom:20px}.home-stat-card{gap:10px;padding:14px}.home-stat-value{font-size:1.45rem}.home-stat-icon{height:32px;width:32px}.home-queue-section{padding:18px 16px}.home-queue-header h2{font-size:1.2rem}.home-queue-item{gap:10px;padding:12px}.home-queue-icon{height:32px;width:32px}.home-queue-title{font-size:.9rem}}@media (max-width:480px){.home-stats-strip{grid-template-columns:1fr}}.barn-layout-container{display:flex;flex-direction:column;height:calc(100vh - 120px);height:calc(100dvh - 120px);width:100%}.barn-header{background:var(--color-surface);border-radius:8px;box-shadow:0 2px 4px #0000001a;display:flex;flex-direction:column;gap:1rem;margin-bottom:1rem;padding:1rem}.header-top{flex-wrap:wrap;gap:1rem;justify-content:space-between}.header-buttons,.header-top{align-items:center;display:flex}.header-buttons{gap:.75rem}.barn-header h2{margin:0}.pen-palette{align-items:center;display:flex;flex-wrap:wrap;gap:1rem}.pen-palette p{font-weight:500;margin:0}.new-pen-btn{background:#8b2e2e;border:none;border-radius:4px;color:#fff;cursor:grab;font-size:.9rem;padding:10px 20px;transition:all .3s}.new-pen-btn:hover{background:#6f2323}.new-pen-btn.dragging{cursor:grabbing;opacity:.5}.barn-canvas{background:var(--color-surface);background-image:linear-gradient(#00000008 1px,#0000 0),linear-gradient(90deg,#00000008 1px,#0000 0);background-size:20px 20px;border-radius:8px;box-shadow:0 2px 4px #0000001a;cursor:grab;flex:1 1;min-height:600px;overflow:hidden;position:relative}.barn-canvas.drag-over{background-color:#e8f4f8}.barn-canvas-inner{height:100%;position:relative;transform-origin:center center;width:100%;will-change:transform}.pen{align-items:center;border:2px solid #3a2a1e;border-radius:4px;cursor:move;display:flex;flex-direction:column;justify-content:center;padding:8px;position:absolute;transition:box-shadow .2s ease;-webkit-user-select:none;user-select:none;will-change:transform}.pen:hover{box-shadow:0 4px 8px #0003}.pen.dragging{cursor:grabbing}.pen.locked{cursor:pointer;opacity:.95}.pen.locked:hover{box-shadow:0 2px 6px #00000026}.pen.hanging,.pen.pen,.pen.stack{background:linear-gradient(135deg,#c18738,#8b5a2b);color:#fff}.pen-label{align-items:center;display:flex;flex-direction:column;font-size:.9rem;font-weight:700;margin-bottom:4px;text-align:center}.pen-cage-number{background:#8080804d;border-radius:3px;font-size:.7rem;font-weight:600;margin-bottom:2px;padding:1px 4px}.pen-rabbit{font-size:.8rem;opacity:.9;text-align:center}.pen-delete{align-items:center;background:#e74c3ce6;border:none;border-radius:50%;color:#fff;cursor:pointer;display:none;font-size:16px;height:20px;justify-content:center;line-height:1;position:absolute;right:2px;top:2px;width:20px}.pen:hover .pen-delete{display:flex}.pen-delete:hover{background:#80231f}.snap-guide{background:#ff4757;pointer-events:none;position:absolute;z-index:1000}.snap-guide-horizontal{box-shadow:0 0 4px #ff4757;height:1px;left:-5000px;right:-5000px}.snap-guide-vertical{bottom:-5000px;box-shadow:0 0 4px #ff4757;top:-5000px;width:1px}.pen.drag-preview{align-items:center;border:2px solid #ffffff80;border-radius:8px;color:#fff;display:flex;flex-direction:column;justify-content:center}.breeding-indicator{animation:heartbeat 1.5s ease-in-out infinite;cursor:help;filter:drop-shadow(0 1px 2px rgba(0,0,0,.3));font-size:1.2rem;left:2px;line-height:1;position:absolute;top:2px;z-index:10}@keyframes heartbeat{0%,to{transform:scale(1)}50%{transform:scale(1.1)}}@media (max-width:768px){.barn-layout-container{height:calc(100vh - 100px)}.pen-palette{align-items:flex-start;flex-direction:column}.new-pen-btn{width:100%}.barn-canvas{min-height:400px;touch-action:none}.pen{min-height:60px;min-width:80px}.pen-label{font-size:.8rem}.pen-rabbit{font-size:.7rem}.pen-delete{display:flex}.desktop-only{display:none!important}}.barn-layout-container .modal{max-width:600px}.dropdown-list{margin-top:0;max-height:200px;z-index:2000}.barn-canvas.placing-mode{border:3px dashed #5f7a3b;cursor:crosshair}.barn-canvas.moving-mode{border:3px dashed #8b2e2e;cursor:crosshair}.placing-indicator{animation:pulse-indicator 2s ease-in-out infinite;background:#27ae60e6;border-radius:8px;color:#fff;font-size:1.1rem;font-weight:600;left:50%;padding:1rem 2rem;pointer-events:none;position:absolute;text-align:center;top:50%;transform:translate(-50%,-50%);z-index:50}.placing-indicator.moving{background:#3498dbe6}.unplaced-hint-badge{background:#fff3e0;border:1px solid #ffcc80;border-radius:6px;color:#e65100;font-size:.8rem;font-weight:600;padding:.35rem .75rem}.unplaced-cages-tray{background:#fff8e1;border:2px dashed #f9a825;border-radius:12px;margin:.75rem 0;padding:1rem 1.25rem}.unplaced-cages-tray h3{color:#e65100;font-size:.95rem;margin:0 0 .25rem}.unplaced-hint{color:#bf360c;font-size:.8rem;margin:0 0 .75rem}.unplaced-cages-stack{display:flex;flex-direction:column;gap:0;min-height:60px;position:relative}.unplaced-cage-card{align-items:center;background:var(--color-surface);border:2px solid var(--color-border-soft);border-radius:8px;box-shadow:0 2px 6px #0000001a;cursor:pointer;display:flex;gap:.5rem;margin-bottom:-20px;padding:.6rem 1rem;position:relative;transition:all .15s ease}.unplaced-cage-card:last-child{margin-bottom:0}.unplaced-cage-card:hover{background:#f0f7ff;border-color:#8b2e2e;box-shadow:0 4px 12px #00000026;transform:translateY(-2px);z-index:10}.unplaced-cage-number{color:#3a2a1e;font-size:1rem;font-weight:700;min-width:30px}.unplaced-cage-info{color:var(--color-text-soft);font-size:.85rem}.mobile-pen-controls{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#fffffffa;border-radius:18px 18px 0 0;border-top:1px solid #e2e8f0f2;bottom:0;box-shadow:0 -10px 28px #0f172a29;left:0;padding:1rem 1rem calc(1rem + env(safe-area-inset-bottom, 0));position:fixed;right:0;z-index:1000}.mobile-controls-header{align-items:center;border-bottom:1px solid var(--color-border-soft);display:flex;justify-content:space-between;margin-bottom:1rem;padding-bottom:.75rem}.mobile-controls-header span{color:#3a2a1e;font-size:1rem;font-weight:600;line-height:1.35;max-width:calc(100% - 56px)}.mobile-controls-header .close-btn{background:#f1f5f9;border:1px solid #dbe2ea;border-radius:999px;color:#475569;cursor:pointer;font-size:.9rem;font-weight:700;height:36px;padding:0;width:36px}.mobile-controls-buttons{grid-gap:.75rem;display:grid;gap:.75rem;grid-template-columns:repeat(3,minmax(0,1fr));margin-bottom:1rem}.mobile-controls-buttons .btn{font-size:.88rem;min-height:46px;padding:.8rem .65rem}.mobile-resize-controls{align-items:stretch;border-top:1px solid var(--color-border-soft);display:flex;flex-direction:column;gap:.75rem;padding-top:.75rem}.mobile-resize-controls span{color:var(--color-text-soft);font-size:.9rem;font-weight:500}.resize-buttons{grid-gap:.6rem;display:grid;gap:.6rem;grid-template-columns:repeat(2,minmax(0,1fr));width:100%}.resize-buttons button{background:#f8fafc;border:1px solid #dbe2ea;border-radius:10px;cursor:pointer;font-size:.82rem;font-weight:600;min-height:44px;padding:.7rem .5rem;transition:all .2s}.resize-buttons button:active{background:var(--color-border-soft);transform:scale(.95)}.mobile-moving-toolbar{align-items:center;background:#3498dbf7;bottom:0;box-shadow:0 -10px 28px #0f172a2e;color:#fff;display:flex;gap:.75rem;justify-content:space-between;left:0;padding:1rem 1rem calc(1rem + env(safe-area-inset-bottom, 0));position:fixed;right:0;z-index:1000}.mobile-moving-toolbar span{font-size:.95rem;font-weight:600}.mobile-moving-toolbar .btn{background:var(--color-surface);color:#8b2e2e;min-height:44px}.resize-mode-toolbar{align-items:center;background:var(--color-primary);box-shadow:0 2px 8px #0003;color:#fff;display:flex;justify-content:space-between;left:0;padding:1rem;position:fixed;right:0;top:0;z-index:1000}.resize-mode-toolbar span{font-size:1rem;font-weight:600}.resize-mode-toolbar .btn{background:var(--color-surface);color:var(--color-primary);font-weight:600}.pen.resizing{border:3px dashed var(--color-primary);box-shadow:0 0 10px #8b2e2e59}.resize-handle{background:var(--color-primary);z-index:10}.resize-handle.resize-n{top:-4px}.resize-handle.resize-n,.resize-handle.resize-s{border-radius:4px;cursor:ns-resize;height:8px;left:12px;right:12px}.resize-handle.resize-s{bottom:-4px}.resize-handle.resize-e{right:-4px}.resize-handle.resize-e,.resize-handle.resize-w{border-radius:4px;bottom:12px;cursor:ew-resize;top:12px;width:8px}.resize-handle.resize-w{left:-4px}.resize-handle.resize-ne{border-radius:50%;cursor:nesw-resize;height:14px;right:-6px;top:-6px;width:14px}.resize-handle.resize-nw{left:-6px;top:-6px}.resize-handle.resize-nw,.resize-handle.resize-se{border-radius:50%;cursor:nwse-resize;height:14px;width:14px}.resize-handle.resize-se{bottom:-6px;right:-6px}.resize-handle.resize-sw{border-radius:50%;bottom:-6px;cursor:nesw-resize;height:14px;left:-6px;width:14px}.resize-handle:hover{background:var(--color-primary-hover)}@media (max-width:768px){.pen-palette{flex-direction:row;gap:.75rem}.pen-palette .btn{flex:1 1}.barn-layout-container{padding-bottom:80px}.mobile-moving-toolbar,.mobile-pen-controls,.resize-mode-toolbar{border-radius:18px;bottom:calc(72px + env(safe-area-inset-bottom, 0));left:8px;right:8px}.resize-mode-toolbar{gap:.75rem;padding:.9rem 1rem;top:auto}.mobile-controls-buttons{grid-template-columns:1fr}.mobile-moving-toolbar,.resize-mode-toolbar{align-items:stretch;flex-direction:column}.mobile-moving-toolbar .btn,.resize-mode-toolbar .btn{width:100%}.resize-handle.resize-ne,.resize-handle.resize-nw,.resize-handle.resize-se,.resize-handle.resize-sw{height:20px;width:20px}.resize-handle.resize-n,.resize-handle.resize-s{height:12px}.resize-handle.resize-e,.resize-handle.resize-w{width:12px}}.pen-rabbit-count{align-items:center;background:#ffffff4d;border-radius:50%;display:inline-flex;font-size:.65rem;font-weight:700;height:18px;justify-content:center;margin-left:4px;width:18px}.pen-growout-badge{background:#e67e22;border-radius:3px;color:#fff;font-size:.55rem;font-weight:700;letter-spacing:.5px;margin-right:4px;padding:1px 4px;text-transform:uppercase}.growout-hint{color:#7f8c8d;font-size:.85rem;font-style:italic;margin:.5rem 0 0}.growout-litter-picker{margin-top:.5rem}.growout-litter-picker label{color:var(--color-text-soft);display:block;font-size:.9rem;margin-bottom:.4rem}.growout-current-litter{background:var(--color-surface-alt)}.growout-current-litter,.growout-selected-rabbit{border-radius:6px;justify-content:space-between;padding:.5rem .75rem}.growout-selected-rabbit{background:#e8f4f8;margin-bottom:.5rem}.growout-litter-list{gap:.4rem;margin-top:.5rem;max-height:200px;overflow-y:auto}.growout-litter-option{align-items:center;background:var(--color-surface-alt);border:2px solid #0000;border-radius:6px;display:flex!important;padding:.5rem .75rem;transition:border-color .15s}.growout-litter-option:hover{background:#eef2f5}.growout-litter-option.selected{background:#fef5ec;border-color:#e67e22}.growout-litter-option input[type=radio]{margin:0;width:auto!important}.growout-litter-details{gap:.1rem}.growout-litter-parents{color:#3a2a1e}.growout-litter-meta{color:#7f8c8d}.pen-rabbit-list{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:8px}.pen-rabbit-tag{align-items:center;background:#f0f4f8;border:1px solid #d0d7de;border-radius:16px;display:flex;font-size:13px;gap:4px;padding:4px 8px 4px 10px}.pen-rabbit-tag-color{color:var(--color-text-soft);font-size:12px}.pen-rabbit-tag-remove{background:none;border:none;color:var(--color-text-muted);cursor:pointer;font-size:16px;line-height:1;margin-left:2px;padding:0 2px}.pen-rabbit-tag-remove:hover{color:#d32f2f}.transfer-overlay{align-items:center;background:#00000080;bottom:0;display:flex;justify-content:center;left:0;padding:20px;position:fixed;right:0;top:0;z-index:1000}.transfer-dialog{background:var(--color-surface);border-radius:12px;box-shadow:0 4px 20px #00000026;max-height:85vh;max-width:560px;overflow-y:auto;width:100%}.transfer-header{align-items:center;border-bottom:1px solid var(--color-border-soft);display:flex;justify-content:space-between;padding:20px 24px}.transfer-header h2{color:var(--color-text);font-size:18px;margin:0}.transfer-close{background:none;border:none;color:var(--color-text-muted);cursor:pointer;font-size:24px;line-height:1;padding:0}.transfer-close:hover{color:var(--color-text)}.transfer-error{background:#fff5f5;border-bottom:1px solid #ffcdd2;color:#e53935;font-size:14px;padding:10px 24px}.transfer-step{padding:20px 24px}.transfer-step h3{color:var(--color-text);font-size:16px;margin:0 0 4px}.transfer-hint{color:var(--color-text-muted);font-size:13px;margin:0 0 16px}.transfer-search{border:1px solid var(--color-border);border-radius:8px;box-sizing:border-box;font-size:14px;padding:10px 12px;width:100%}.transfer-search:focus{border-color:#5f7a3b;outline:none}.transfer-searching{color:var(--color-text-muted);font-size:13px;padding:8px 0}.transfer-results{margin-top:8px;max-height:200px;overflow-y:auto}.transfer-user-row{align-items:center;border-radius:8px;cursor:pointer;display:flex;gap:10px;padding:10px 12px;transition:background .15s}.transfer-user-row:hover{background:var(--color-surface-alt)}.transfer-user-row.selected{background:#e8f5e9;border:1px solid #5f7a3b}.transfer-user-row strong{color:var(--color-text);font-size:14px}.transfer-no-results,.transfer-rabbitry{color:var(--color-text-muted);font-size:13px}.transfer-no-results{padding:12px 0;text-align:center}.transfer-always-included{background:#f1f8e9;border-radius:8px;color:#558b2f;font-size:13px;margin-bottom:16px;padding:10px 14px}.transfer-section{border-bottom:1px solid #f0f0f0;margin-bottom:16px;padding-bottom:16px}.transfer-section:last-of-type{border-bottom:none}.transfer-section h4{color:var(--color-text);font-size:14px;font-weight:600;margin:0 0 10px}.transfer-section-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:8px}.transfer-section-header h4{margin:0}.transfer-field-actions{display:flex;gap:12px}.transfer-fields{display:flex;flex-direction:column;gap:2px}.transfer-field-option{align-items:center;border-radius:6px;cursor:pointer;display:flex;font-size:14px;gap:10px;padding:6px 10px}.transfer-field-option:hover{background:var(--color-surface-alt)}.transfer-field-option input[type=checkbox]{accent-color:#5f7a3b;flex-shrink:0;width:auto}.transfer-field-label{color:var(--color-text);font-weight:500;min-width:120px}.transfer-field-value{color:var(--color-text-muted);font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.transfer-data-toggles{display:flex;flex-direction:column;gap:10px}.transfer-toggle-row{align-items:center;border:1px solid var(--color-border-soft);border-radius:8px;display:flex;gap:14px;padding:10px 12px}.transfer-toggle-switch{background:#ccc;border-radius:13px;cursor:pointer;flex-shrink:0;height:26px;min-width:48px;position:relative;transition:background .2s ease;width:48px}.transfer-toggle-switch.on{background:#5f7a3b}.transfer-toggle-knob{background:var(--color-surface);border-radius:50%;box-shadow:0 1px 3px #0003;height:22px;left:2px;position:absolute;top:2px;transition:transform .2s ease;width:22px}.transfer-toggle-switch.on .transfer-toggle-knob{transform:translateX(22px)}.transfer-toggle-info{display:flex;flex:1 1;flex-direction:column;gap:2px;min-width:0}.transfer-toggle-info strong{color:var(--color-text);font-size:14px}.transfer-toggle-info span{color:var(--color-text-muted);font-size:12px;line-height:1.3}.transfer-pedigree-depth{align-items:center;background:var(--color-surface-alt);border-radius:6px;display:flex;gap:10px;margin-top:10px;padding:8px 12px}.transfer-pedigree-depth label{color:var(--color-text-soft);font-size:13px;font-weight:500;white-space:nowrap}.transfer-pedigree-depth select{background:var(--color-surface);border:1px solid var(--color-border);border-radius:4px;font-size:13px;padding:4px 8px}.transfer-message-section{margin-top:12px}.transfer-message-section label{color:var(--color-text-soft);display:block;font-size:14px;font-weight:500;margin-bottom:6px}.transfer-message-section textarea{border:1px solid var(--color-border);border-radius:8px;box-sizing:border-box;font-family:inherit;font-size:14px;padding:10px 12px;resize:vertical;width:100%}.transfer-message-section textarea:focus{border-color:#5f7a3b;outline:none}.transfer-summary{background:var(--color-surface-alt);border-radius:8px;margin-bottom:16px;padding:16px}.transfer-summary-row{display:flex;font-size:14px;gap:8px;padding:6px 0}.transfer-summary-row:not(:last-child){border-bottom:1px solid var(--color-border-soft)}.transfer-summary-label{color:var(--color-text-soft);flex-shrink:0;font-weight:600;min-width:80px}.transfer-warning{background:#fff8e1;border-radius:8px;color:#f57f17;font-size:13px;line-height:1.4;margin-bottom:16px;padding:12px 14px}.transfer-actions{border-top:1px solid var(--color-border-soft);display:flex;gap:10px;justify-content:flex-end;margin-top:20px;padding-top:16px}.transfer-dialog .btn.btn-secondary{background:var(--color-surface-alt);border:1px solid var(--color-border);border-radius:6px;color:var(--color-text-soft);cursor:pointer;font-size:14px;padding:8px 20px}.transfer-dialog .btn.btn-secondary:hover{background:#eee}.rabbit-detail-container{background:var(--color-bg);border:none;border-radius:0;box-shadow:none;display:flex;flex-direction:column;height:100%;min-height:0;outline:none;position:relative;width:100%}.detail-header{align-items:center;display:flex;gap:20px;margin-bottom:24px;padding-bottom:16px}.btn-back{white-space:nowrap}.btn-back:hover{opacity:1}.header-info{flex:1 1;text-align:center}.header-info h2{align-items:center;color:var(--color-text);display:inline-flex;font-size:24px;gap:8px;margin:0}.header-spacer{flex-shrink:0;min-width:140px}.header-spacer,.pedigree-header-actions{align-items:center;display:flex;justify-content:flex-end}.pedigree-header-actions{gap:10px}.pedigree-header-actions .control-btn{border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:14px;font-weight:500;padding:8px 16px;transition:all .2s;white-space:nowrap}.pedigree-header-actions .settings-btn{background:#8b2e2e}.pedigree-header-actions .settings-btn:hover{background:#6f2323}.pedigree-header-actions .pdf-btn{background:#5f7a3b}.pedigree-header-actions .pdf-btn:hover:not(:disabled){background:#4a6030}.pedigree-header-actions .pdf-btn:disabled{cursor:not-allowed;opacity:.6}.compact-toggle{align-items:center;cursor:pointer;display:flex;gap:8px;-webkit-user-select:none;user-select:none}.compact-toggle input{display:none}.toggle-slider{background:#ccc;border-radius:11px;height:22px;position:relative;transition:background .2s;width:40px}.toggle-slider:before{background:var(--color-surface);border-radius:50%;box-shadow:0 1px 3px #0003;content:"";height:18px;left:2px;position:absolute;top:2px;transition:transform .2s;width:18px}.compact-toggle input:checked+.toggle-slider{background:var(--color-primary)}.compact-toggle input:checked+.toggle-slider:before{transform:translateX(18px)}.toggle-label{color:var(--color-text-soft);font-size:13px;font-weight:500;min-width:60px}@media (max-width:768px){.pedigree-header-actions{gap:6px}.pedigree-header-actions .control-btn{font-size:12px;padding:6px 10px}.toggle-label{display:none}.toggle-slider{height:20px;width:36px}.toggle-slider:before{height:16px;width:16px}.compact-toggle input:checked+.toggle-slider:before{transform:translateX(16px)}}.gender-indicator{font-size:16px;font-weight:500}.gender-indicator.male{color:#2196f3}.gender-indicator.female{color:#e91e63}.detail-header .edit-btn{font-weight:600;padding:10px 24px}.detail-tabs{background:var(--color-bg);border-radius:12px;display:flex;margin-bottom:20px;padding:4px}.tab-btn{background:none;border:none;border-radius:8px;color:var(--color-text-soft);cursor:pointer;flex:1 1;font-size:14px;font-weight:500;padding:12px 16px;transition:all .2s}.tab-btn:hover{background:var(--color-surface-alt);color:var(--color-text)}.tab-btn.active{background:linear-gradient(135deg,var(--color-primary) 0,var(--color-primary-hover) 100%);color:#fff}.detail-body{background:var(--color-bg);border-radius:12px;min-height:300px;padding:24px}.detail-body,.tab-content{display:flex;flex:1 1;flex-direction:column;min-height:0}.tab-content{animation:fadeIn .2s ease}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.details-tab{display:flex;flex:1 1;flex-direction:column;min-height:0;overflow-y:auto}.detail-section{margin-bottom:24px}.detail-section:last-child{margin-bottom:0}.detail-section.danger-zone{background:var(--color-surface);border:1.5px solid #fecaca;border-radius:10px;margin-top:2rem;padding:1rem 1.25rem}.detail-section.danger-zone h3{border-bottom-color:#fecaca;color:#dc2626}.delete-confirm-inline p{color:#475569;font-size:.9rem;line-height:1.5;margin:0 0 .75rem}.delete-confirm-actions{display:flex;gap:.5rem}.detail-section h3{color:var(--color-text);font-size:16px;margin:0 0 12px;padding-bottom:8px}.section-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:12px;padding-bottom:8px}.section-header h3{border-bottom:none;margin:0;padding-bottom:0}.section-header .edit-btn{font-size:13px;padding:6px 16px}.section-header-actions{align-items:center;display:flex;gap:8px}.section-header .transfer-btn{background:var(--color-surface);border:1.5px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text-soft);cursor:pointer;font-size:13px;padding:.45rem .9rem;transition:all .15s ease}.section-header .transfer-btn:hover{background:var(--color-bg);border-color:var(--color-border-strong)}.detail-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(2,1fr)}.detail-item{display:flex;flex-direction:column;gap:4px}.detail-label{color:var(--color-text-muted);font-size:12px;letter-spacing:.5px;text-transform:uppercase}.detail-value{color:var(--color-text);font-size:15px}.detail-value.status-badge{border-radius:12px;display:inline-block;font-size:13px;font-weight:600;padding:4px 10px;text-transform:capitalize;width:-webkit-fit-content;width:fit-content}.detail-value.status-badge.alive{background:#d4edda;color:#155724}.detail-value.status-badge.sold{background:#fff3cd;color:#856404}.detail-value.status-badge.dead{background:#e2e3e5;color:#383d41}.detail-value.status-badge.butchered{background:#f8d7da;color:#721c24}.detail-value.status-badge.retired{background:#e8eaf6;color:#283593}.detail-value.status-badge.missing{background:#fff3e0;color:#e65100}.breeding-alert{background:#fce4ec;border-left:4px solid #e91e63;border-radius:8px;padding:16px}.breeding-alert h3{border-bottom:none;color:#c2185b;margin-bottom:8px}.breeding-info{color:#880e4f;font-weight:500;margin:0}.accolades-display{display:flex;flex-wrap:wrap;gap:8px}.accolade-badge{background:linear-gradient(135deg,gold,#ffb300);border-radius:16px;color:#5d4000;font-size:13px;font-weight:500;padding:6px 12px}.notes-text{color:var(--color-text-soft);line-height:1.6;margin:0;white-space:pre-wrap}.litters-tab{display:flex;flex:1 1;flex-direction:column;min-height:0}.litters-list{flex:1 1;overflow-y:auto}.litter-card{background:var(--color-surface);border-left:4px solid #8b2e2e;border-radius:8px}.litter-header{margin-bottom:12px}.litter-date{color:var(--color-text);font-weight:600}.litter-status{border-radius:12px;font-size:12px;font-weight:600;padding:4px 10px;text-transform:capitalize}.litter-status.status-bred{background:#e3f2fd;color:#1565c0}.litter-status.status-kindled{background:#e8f5e9;color:#2e7d32}.litter-status.status-weaned{background:#fff3e0;color:#e65100}.litter-status.status-failed{background:#ffebee;color:#c62828}.litter-pairing{align-items:center;display:flex;font-size:15px;gap:8px;margin-bottom:8px}.pairing-symbol{color:#e91e63;font-weight:700}.litter-info{color:var(--color-text-soft);font-size:14px;margin-bottom:4px}.litter-notes{color:var(--color-text-muted)}.pedigree-tab{height:calc(100vh - 152px);max-height:calc(100vh - 152px)}.embedded-pedigree,.pedigree-tab{display:flex;flex-direction:column;min-height:0;overflow:hidden}.embedded-pedigree{height:calc(100% + 48px);margin:-24px;padding:0}.embedded-pedigree .pedigree-container{height:100%}.embedded-pedigree .pedigree-controls,.embedded-pedigree .pedigree-header{flex-shrink:0;margin:0 24px 12px}.embedded-pedigree .tree-container{border-radius:0 0 12px 12px;flex:1 1;margin:0;max-height:100%;min-height:400px}@media (max-width:768px){.embedded-pedigree .tree-container{min-height:300px}.embedded-pedigree .pedigree-controls,.embedded-pedigree .pedigree-header{margin:0 16px 8px;padding:8px}}.mini-pedigree{overflow-x:auto;padding:10px}.pedigree-row{gap:20px}.pedigree-node{background:var(--color-surface);border:2px solid var(--color-border);border-radius:8px;min-width:120px;padding:10px 14px;text-align:center}.pedigree-node.unknown{background:var(--color-bg);border-style:dashed;color:var(--color-text-muted)}.node-name{margin-bottom:4px}.node-info{align-items:center;display:flex;font-size:12px;gap:8px;justify-content:center}.node-gender{font-size:14px}.node-color{color:var(--color-text-soft)}.pedigree-parents{gap:12px}.pedigree-parent{gap:10px}.pedigree-tab .parent-label{color:var(--color-text-muted);font-size:11px;min-width:35px;text-transform:uppercase}.kits-tab{display:flex;flex:1 1;flex-direction:column;min-height:0}.kits-list{flex:1 1;gap:10px;overflow-y:auto}.kit-card{align-items:center;background:var(--color-surface-alt);border-left:4px solid #9c27b0;border-radius:8px;display:flex;justify-content:space-between;padding:14px}.kit-card-clickable{cursor:pointer;transition:background .15s,box-shadow .15s}.kit-card-clickable:hover{background:#f0e6f6;box-shadow:0 2px 6px #9c27b026}.kit-header{align-items:center;display:flex;gap:10px}.kit-name{color:var(--color-text);font-weight:600}.kit-gender{border-radius:10px;font-size:12px;padding:3px 8px}.kit-gender.male{background:#e3f2fd;color:#1565c0}.kit-gender.female{background:#fce4ec;color:#c2185b}.kit-details{align-items:center;color:var(--color-text-soft);display:flex;font-size:13px;gap:12px}.kit-status{font-size:11px;padding:3px 8px}.empty-tab{align-items:center;color:var(--color-text-muted);display:flex;flex:1 1;flex-direction:column;justify-content:center;padding:40px 20px;text-align:center}.empty-tab p{margin:0}.empty-tab .empty-hint{color:#aaa;font-size:13px;margin-top:8px}.loading{padding:40px 20px}.breeding-tab{display:flex;flex:1 1;flex-direction:column;min-height:0}.breeding-tab .section-header{flex-shrink:0;margin-bottom:16px}.breeding-cards{display:flex;flex:1 1;flex-direction:column;gap:12px;overflow-y:auto}.breeding-card{background:var(--color-surface-alt);border-left:4px solid var(--color-primary);border-radius:10px;padding:16px}.breeding-card-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:12px}.breeding-pairing{color:var(--color-text);font-weight:600}.partner-role{color:var(--color-text-soft);font-weight:500}.days-badge{background:#e3f2fd;border-radius:12px;color:#1565c0;font-size:12px;font-weight:600;padding:4px 10px}.days-badge.soon{background:#fff3e0;color:#e65100}.days-badge.overdue{background:#ffebee;color:#c62828}.breeding-card-body{margin-bottom:12px}.breeding-info-row{display:flex;font-size:14px;gap:8px;margin-bottom:4px}.breeding-label{color:var(--color-text-soft);min-width:40px}.breeding-notes{border-top:1px dashed #ddd}.breeding-card-actions{border-top:1px solid var(--color-border-soft);display:flex;gap:8px;padding-top:12px}.breeding-rows{display:flex;flex:1 1;flex-direction:column;gap:12px;overflow-y:auto}.breeding-row{align-items:flex-end;background:var(--color-surface);border-left:4px solid var(--color-primary);border-radius:10px;display:flex;flex-wrap:wrap;gap:12px;padding:14px 16px}.breeding-row.breeding-form-row{background:var(--color-surface);border-left:2px solid var(--color-primary);border:2px solid var(--color-primary);border-left-width:4px}.breeding-row.new-row{margin-bottom:16px}.breeding-row-field{display:flex;flex-direction:column;gap:4px;min-width:100px}.breeding-row-field label{color:var(--color-text-muted);font-size:11px;font-weight:600;text-transform:uppercase}.breeding-row-field .field-value{align-items:center;color:var(--color-text);display:flex;font-size:14px;gap:6px;min-height:36px}.breeding-row-field .notes-value{color:var(--color-text-soft);font-style:italic}.breeding-row-field input[type=date],.breeding-row-field input[type=text],.breeding-row-field select{background:var(--color-surface);border:1.5px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text);font-size:14px;min-width:120px;padding:.6rem .75rem}.breeding-row-field select:disabled{background:var(--color-bg);color:var(--color-text-muted)}.breeding-row-field.notes-field{flex:1 1;min-width:150px}.breeding-row-field.notes-field input{width:100%}.breeding-row-field.kindled-field{min-width:80px}.breeding-row-field.kindled-field .badge{align-items:center;display:flex;min-height:36px}.kindled-buttons{display:flex;gap:4px}.kindled-btn{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-sm);color:var(--color-text-soft);cursor:pointer;font-size:13px;padding:6px 12px;transition:all .2s}.kindled-btn.active{background:var(--color-primary-soft);border-color:var(--color-primary);color:var(--color-primary)}.kindled-btn.kindled-yes.active{background:var(--color-success-soft);border-color:var(--color-success);color:var(--color-success)}.kindled-btn:hover:not(:disabled){background:var(--color-bg);border-color:var(--color-border-strong)}.kindled-btn:disabled{cursor:not-allowed;opacity:.6}.breeding-row-actions{align-items:center;display:flex;gap:8px;margin-left:auto}.badge{border-radius:12px;font-size:12px;font-weight:600;padding:4px 10px}.badge-yes{background:#e8f5e9;color:#2e7d32}.badge-no{background:var(--color-surface-alt);color:var(--color-text-soft)}.breeding-row .days-badge{font-size:11px;margin-left:4px;padding:2px 6px}@media (max-width:768px){.breeding-row{align-items:stretch;flex-direction:column}.breeding-row-field{width:100%}.breeding-row-actions{border-top:1px solid var(--color-border-soft);justify-content:flex-end;margin-left:0;margin-top:12px;padding-top:12px}}.breeding-modal{max-width:520px;width:95%}.breeding-modal-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:1fr 1fr;margin-bottom:16px}.breeding-modal .form-group{margin-bottom:12px}.breeding-modal .form-group label{color:var(--color-text-soft);display:block;font-size:13px;font-weight:600;margin-bottom:4px}.breeding-modal .form-group input,.breeding-modal .form-group select,.breeding-modal .form-group textarea{background:var(--color-surface);border:1.5px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text);font-size:14px;padding:.65rem .8rem;width:100%}.breeding-modal .form-group textarea{resize:vertical}.outcome-buttons{display:flex;flex-wrap:wrap;gap:6px}.outcome-btn{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text-soft);cursor:pointer;flex:1 1;font-size:13px;min-width:90px;padding:7px 14px;text-align:center;transition:all .2s}.outcome-btn:hover{background:var(--color-bg);border-color:var(--color-border-strong)}.outcome-btn.active.pending{background:var(--color-primary-soft);border-color:var(--color-primary);color:var(--color-primary)}.outcome-btn.active.kindled{background:var(--color-success-soft);border-color:var(--color-success);color:var(--color-success)}.outcome-btn.active.missed{background:#e67e221f;border-color:var(--color-warning);color:var(--color-warning)}.outcome-btn.active.unsuccessful{background:var(--color-danger-soft);border-color:var(--color-danger);color:var(--color-danger)}.badge-outcome-pending{background:#e3f2fd;color:#1565c0}.badge-outcome-kindled{background:#e8f5e9;color:#2e7d32}.badge-outcome-missed{background:#fff3e0;color:#e65100}.badge-outcome-unsuccessful{background:#fce4ec;color:#c62828}@media (max-width:768px){.breeding-modal-grid{grid-template-columns:1fr}.outcome-buttons{flex-wrap:wrap}.outcome-btn{flex:none;min-width:calc(50% - 3px)}}.litters-tab .section-header{margin-bottom:16px}.litters-list{display:flex;flex-direction:column;gap:12px}.litter-card{background:var(--color-surface-alt);border-left:4px solid #9c27b0;border-radius:10px;padding:16px;position:relative}.litter-card.expanded{border-left-color:#7b1fa2}.litter-clickable{cursor:pointer}.litter-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:8px}.litter-title{align-items:baseline;display:flex;flex-wrap:wrap;gap:12px}.litter-title .litter-date{color:var(--color-text);font-size:15px;font-weight:600}.litter-title .litter-label{color:#7b1fa2;font-size:15px;font-weight:600}.litter-title .litter-pairing{color:var(--color-text-soft);font-size:15px}.litter-summary{align-items:center;display:flex;gap:12px}.litter-summary .expand-icon{color:var(--color-text-muted);font-size:12px}.litter-status-badges{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:8px}.status-badge{align-items:center;display:inline-flex;font-size:12px;padding:4px 10px}.status-badge-alive{background:#e8f5e9;color:#2e7d32}.status-badge-dead{background:#ffebee;color:#c62828}.status-badge-culled{background:#fff3e0;color:#e65100}.status-badge-butchered{background:#efebe9;color:#5d4037}.status-badge-sold{background:#e3f2fd;color:#1565c0}.status-badge-kept{background:#f3e5f5;color:#7b1fa2}.litter-filters{display:flex;gap:10px;margin-bottom:12px}.litter-search{flex:1 1}.litter-search,.litter-status-filter{border:1px solid var(--color-border);border-radius:6px;font-size:14px;padding:8px 12px}.litter-status-filter{background:var(--color-surface)}.litter-weight-display{font-weight:500;margin-top:6px}.litter-notes,.litter-weight-display{color:var(--color-text-soft);font-size:13px}.litter-notes{border-top:1px dashed #ddd;font-style:italic;margin-top:8px;padding-top:8px}.litter-actions{display:flex;gap:4px;position:absolute;right:12px;top:12px}.litter-form-card{background:var(--color-surface);border:2px solid #9c27b0;border-radius:10px;margin-bottom:16px;padding:16px}.litter-form-card.new-litter{border-left:4px solid #9c27b0}.litter-form-header h4{color:#7b1fa2;margin:0 0 12px}.litter-form-body{display:flex;flex-direction:column;gap:12px}.litter-form-row{grid-gap:12px;align-items:end;display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));margin-bottom:12px}.litter-form-row .form-field{display:flex;flex-direction:column;gap:4px;min-width:0}.litter-form-row .form-field.flex-grow{grid-column:span 2;min-width:0}.litter-form-row .form-field label{color:var(--color-text-muted);font-size:11px;font-weight:600;text-transform:uppercase}.litter-form-row .form-field input,.litter-form-row .form-field select{border:1px solid var(--color-border);border-radius:6px;box-sizing:border-box;font-size:14px;padding:8px 10px;width:100%}.litter-form-row .form-field .kit-weight-input{display:flex;gap:6px}.litter-form-row .form-field .kit-weight-input input{flex:1 1;min-width:0}.litter-form-row .form-field .kit-weight-input select{flex:0 0 auto;width:auto}.litter-form-actions{display:flex;gap:8px;margin-top:8px}.litter-kits-section{border-top:1px solid var(--color-border-soft);margin-top:16px;padding-top:16px}.kits-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:12px}.kits-header h4{color:var(--color-text);font-size:14px;margin:0}.kits-header-actions{display:flex;gap:8px}.kits-header-actions .btn-danger{background-color:#d32f2f;border:none;border-radius:4px;color:#fff;cursor:pointer}.kits-header-actions .btn-danger:hover{background-color:#b71c1c}.kits-header-actions .btn-warning{background-color:#f57c00;border:none;border-radius:4px;color:#fff;cursor:pointer}.kits-header-actions .btn-warning:hover{background-color:#e65100}.kits-list{display:flex;flex-direction:column;gap:8px}.kit-row{align-items:center;background:var(--color-surface);border:1px solid var(--color-border-soft);border-radius:6px;display:flex;justify-content:space-between;padding:10px 12px}.kit-row.kit-edit-row{border-color:#9c27b0;flex-direction:column;gap:10px;padding:12px}.kit-edit-grid{grid-gap:10px;display:grid;gap:10px;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));width:100%}.kit-field-wide{grid-column:span 2}.kit-field-full{grid-column:1/-1}.kit-weight-input{display:flex;gap:4px}.kit-weight-input input{flex:1 1;min-width:0}.kit-weight-input select{flex-shrink:0;width:70px}.kit-info{align-items:center;display:flex;flex-wrap:wrap;gap:12px}.kit-color,.kit-ear,.kit-gender,.kit-name,.kit-weight{color:var(--color-text);font-size:14px;font-weight:500}.kit-status{font-size:12px;font-weight:600;text-transform:capitalize}.kit-foster{color:#7b1fa2}.kit-foster,.kit-reason{font-size:12px;font-style:italic}.kit-reason{color:var(--color-text-muted)}.kit-notes{color:var(--color-text-soft);font-size:12px;font-style:italic}.kit-actions,.kit-field{display:flex;gap:4px}.kit-field{flex-direction:column;min-width:80px}.kit-field.flex-grow{flex:1 1;min-width:120px}.kit-field label{color:var(--color-text-muted);font-size:10px;font-weight:600;text-transform:uppercase}.kit-field input,.kit-field select{border:1px solid var(--color-border);border-radius:4px;box-sizing:border-box;font-size:13px;height:34px;padding:6px 8px}.no-kits{color:var(--color-text-muted);font-size:13px;font-style:italic;padding:16px;text-align:center}.health-tab{display:flex;flex:1 1;flex-direction:column;min-height:0;padding:0}.health-stats-row{grid-gap:12px;display:grid;flex-shrink:0;gap:12px;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));margin-bottom:16px}.health-stat-card{background:var(--color-surface);border-left:4px solid #d0d4db;border-radius:10px;display:flex;flex-direction:column;gap:4px;padding:14px 16px}.health-stat-card.stat-warn{background:#fff8ea;border-left-color:#f39c12}.health-stat-card.stat-danger{background:#fdecea;border-left-color:#a03530}.health-stat-card.stat-info{background:var(--color-info-soft);border-left-color:var(--color-info)}.health-stat-value{color:#222;font-size:1.5rem;font-weight:700;line-height:1.1}.health-stat-label{color:var(--color-text-soft);font-size:.75rem;font-weight:600;letter-spacing:.3px;text-transform:uppercase}.health-toolbar{align-items:center;display:flex;flex-shrink:0;flex-wrap:wrap;gap:12px;justify-content:space-between;margin-bottom:16px}.health-filter-chips{display:flex;flex-wrap:wrap;gap:6px}.health-chip{background:var(--color-surface);border:1px solid #0000;border-radius:999px;color:var(--color-text-soft);cursor:pointer;font-size:13px;font-weight:500;padding:6px 14px;transition:all .15s ease}.health-chip:hover{background:var(--color-bg)}.health-chip.active{background:var(--color-primary);color:#fff}.health-toolbar-actions{display:flex;flex-wrap:wrap;gap:8px}.add-record-menu{position:relative}.actions-dropdown-wrapper{display:inline-block;position:relative}.actions-dropdown-backdrop{bottom:0;left:0;position:fixed;right:0;top:0;z-index:100}.actions-dropdown{background:var(--color-surface);border:1px solid var(--color-border-soft);border-radius:10px;box-shadow:0 8px 24px #0000001f;display:flex;flex-direction:column;min-width:200px;padding:6px;position:absolute;right:0;top:calc(100% + 6px);z-index:101}.actions-dropdown-option{align-items:center;background:none;border:none;border-radius:8px;color:var(--color-text);cursor:pointer;display:flex;font-size:14px;gap:10px;padding:10px 12px;text-align:left;width:100%}.actions-dropdown-option:hover{background:var(--color-bg)}.add-record-backdrop{bottom:0;left:0;position:fixed;right:0;top:0;z-index:100}.add-record-dropdown{background:var(--color-surface);border:1px solid var(--color-border-soft);border-radius:10px;box-shadow:0 8px 24px #0000001f;display:flex;flex-direction:column;gap:2px;min-width:220px;padding:6px;position:absolute;right:0;top:calc(100% + 6px);z-index:101}.add-record-option{align-items:center;background:none;border:none;border-radius:8px;cursor:pointer;display:flex;gap:12px;padding:10px 12px;text-align:left;transition:background .12s ease}.add-record-option:hover{background:var(--color-bg)}.add-record-icon{flex-shrink:0;font-size:1.3rem;text-align:center;width:28px}.add-record-label{color:#222;font-size:14px;font-weight:600}.add-record-hint{color:#777;font-size:12px;margin-top:1px}.health-section-heading{color:#777;font-size:14px;font-weight:600;letter-spacing:.5px;margin:16px 0 8px;text-transform:uppercase}.health-sub-tabs{border-bottom:2px solid var(--color-border-soft);display:flex;flex-shrink:0;gap:0;margin-bottom:20px}.health-sub-tab{background:none;border:none;border-bottom:3px solid #0000;color:var(--color-text-soft);cursor:pointer;flex:1 1;font-size:15px;font-weight:500;margin-bottom:-2px;padding:12px 20px;transition:all .2s ease}.health-sub-tab:hover{background-color:var(--color-surface-alt);color:var(--color-text)}.health-sub-tab.active{border-bottom-color:var(--color-primary);color:var(--color-primary);font-weight:600}.ailments-section,.treatments-section,.vaccinations-section{display:flex;flex-direction:column;min-height:0;padding:0}.health-form-card{background:var(--color-surface);border:2px solid var(--color-primary);border-radius:10px;margin-bottom:16px;padding:16px}.health-form-card h4{color:var(--color-primary);margin:0 0 12px}.health-form-body{display:flex;flex-direction:column;gap:12px}.health-form-row{display:flex;flex-wrap:wrap;gap:12px}.health-form-row .form-field{display:flex;flex-direction:column;gap:4px;min-width:140px}.health-form-row .form-field.flex-grow{flex:1 1;min-width:200px}.health-form-row .form-field label{color:var(--color-text-muted);font-size:11px;font-weight:600;text-transform:uppercase}.health-form-row .form-field input,.health-form-row .form-field select{border:1px solid var(--color-border);border-radius:6px;font-size:14px;padding:8px 10px}.health-form-actions{display:flex;gap:8px;justify-content:flex-end;margin-top:8px}.health-records-list{display:flex;flex-direction:column;gap:12px}.health-record-card{background:var(--color-surface);border-left:4px solid var(--color-primary);border-radius:10px;padding:16px}.health-record-card.vaccination-card{border-left-color:#5f7a3b}.health-record-card.editing{background:var(--color-surface);border-left:2px solid var(--color-primary);border:2px solid var(--color-primary);border-left-width:4px}.health-record-header{align-items:flex-start;display:flex;justify-content:space-between;margin-bottom:10px}.health-record-title{align-items:center;display:flex;flex-wrap:wrap;gap:10px}.health-record-name{color:var(--color-text);font-size:16px;font-weight:600}.health-record-actions{display:flex;gap:4px}.health-record-body{font-size:14px}.health-record-dates{color:var(--color-text-soft);display:flex;flex-wrap:wrap;gap:16px;margin-bottom:8px}.health-record-field{color:#444;margin-bottom:4px}.health-record-field .field-label{color:var(--color-text-soft);font-weight:500}.health-record-notes{border-top:1px dashed #ddd;color:var(--color-text-soft);font-size:13px;font-style:italic;margin-top:8px;padding-top:8px}.outcome-badge{border-radius:12px;font-size:11px;font-weight:600;padding:3px 10px;text-transform:capitalize}.outcome-badge.outcome-ongoing{background:#fff3e0;color:#e65100}.outcome-badge.outcome-recovered{background:#e8f5e9;color:#2e7d32}.outcome-badge.outcome-chronic{background:#fce4ec;color:#c2185b}.outcome-badge.outcome-deceased{background:#efebe9;color:#5d4037}.due-badge{background:#e3f2fd;border-radius:12px;color:#1565c0;font-size:11px;font-weight:600;padding:3px 10px}.due-badge.overdue{background:#ffebee;color:#c62828}.status-badge{font-size:11px;padding:3px 10px}.status-badge.status-active{background:#fff3e0;color:#e65100}.status-badge.status-resolved{background:#e8f5e9;color:#2e7d32}.status-badge.status-chronic{background:#fce4ec;color:#c2185b}.ailment-card{cursor:default}.ailment-card .health-record-header{cursor:pointer}.ailment-card .health-record-header:hover{background:var(--color-primary-soft);border-radius:6px;margin:-4px;padding:4px}.expand-icon{color:var(--color-primary);margin-right:4px}.treatment-count{background:var(--color-bg);border-radius:10px;color:var(--color-text-muted);font-size:11px;padding:2px 8px}.treatments-section{background:var(--color-primary-soft);border-left:3px solid var(--color-primary);border-radius:8px;margin-top:12px;padding:16px}.treatments-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:12px}.treatments-header h4{color:var(--color-text-soft);font-size:14px;margin:0}.treatment-form-card{background:var(--color-surface);border:1px solid var(--color-primary);border-radius:8px;margin-bottom:12px;padding:12px}.dosage-input{display:flex;gap:4px}.dosage-input input{flex:1 1;min-width:60px}.dosage-input select{width:70px}.treatments-list{display:flex;flex-direction:column;gap:8px}.treatment-card{background:var(--color-surface);border:1px solid var(--color-border-soft);border-radius:8px;padding:12px}.treatment-card.editing{border-color:var(--color-primary)}.treatment-header{align-items:flex-start;display:flex;justify-content:space-between;margin-bottom:8px}.treatment-title{align-items:center;display:flex;flex-wrap:wrap;gap:8px}.treatment-name{color:var(--color-text);font-size:14px;font-weight:600}.treatment-dosage{background:var(--color-bg);border-radius:4px;color:var(--color-text-soft);font-size:12px;padding:2px 6px}.treatment-actions{display:flex;gap:2px}.btn-icon-small{font-size:12px;padding:4px 6px!important}.method-badge{border-radius:10px;font-size:10px;font-weight:600;padding:2px 8px;text-transform:uppercase}.method-badge.method-oral{background:#e3f2fd;color:#1565c0}.method-badge.method-injection{background:#fce4ec;color:#c2185b}.method-badge.method-topical{background:#e8f5e9;color:#2e7d32}.method-badge.method-other{background:var(--color-bg);color:var(--color-text-soft)}.treatment-body{font-size:13px}.treatment-dates{color:var(--color-text-soft);display:flex;flex-wrap:wrap;gap:12px;margin-bottom:6px}.treatment-notes{color:var(--color-text-soft);font-size:12px;font-style:italic;margin-top:6px}.withdrawal-info{margin-top:6px}.withdrawal-badge{background:var(--color-bg);border-radius:6px;color:var(--color-text-soft);display:inline-block;font-size:11px;font-weight:500;padding:4px 10px}.withdrawal-badge.active{background:#fff3e0;border:1px solid #ffcc80;color:#e65100}.empty-treatments{color:var(--color-text-muted);font-size:13px;font-style:italic;padding:12px;text-align:center}.health-form-row .form-field textarea{border:1px solid var(--color-border);border-radius:6px;font-family:inherit;font-size:14px;padding:8px 10px;resize:vertical}@media (max-width:768px){.detail-header{align-items:stretch;flex-wrap:wrap;gap:12px;margin-bottom:16px;padding-bottom:12px}.btn-back{justify-content:center;order:1;width:100%}.header-info{order:2;text-align:center;width:100%}.header-info h2{flex-wrap:wrap;font-size:1.25rem;justify-content:center}.detail-header .edit-btn{margin-left:0;order:3;width:100%}.detail-tabs{flex-wrap:nowrap;gap:0;margin:0 -4px 16px;overflow-x:auto;overflow-y:hidden;padding:4px;position:-webkit-sticky;position:sticky;scrollbar-width:none;top:0;z-index:20}.detail-tabs::-webkit-scrollbar{display:none}.tab-btn{flex:0 0 auto;font-size:13px;min-width:108px;padding:11px 14px;white-space:nowrap}.detail-body{border-radius:14px;padding:14px}.detail-grid{gap:12px;grid-template-columns:1fr}.kit-card{align-items:flex-start;flex-direction:column;gap:8px}.kit-details,.litter-pairing{flex-wrap:wrap}.section-header{align-items:stretch;flex-direction:column;gap:10px}.section-header-actions{flex-wrap:wrap;width:100%}.section-header .edit-btn,.section-header .transfer-btn,.section-header-actions .btn,.section-header-actions button{justify-content:center;width:100%}.delete-confirm-actions{flex-direction:column}.delete-confirm-actions .btn{width:100%}.sub-tab-bar,.sub-tabs-container{gap:8px;overflow-x:auto;scrollbar-width:none}.sub-tab-bar::-webkit-scrollbar,.sub-tabs-container::-webkit-scrollbar{display:none}.sub-tab-bar button,.sub-tabs-container button{flex-shrink:0;white-space:nowrap}.detail-section,.form-section{margin-bottom:16px}.form-section{border-radius:14px;padding:14px}.form-grid{gap:12px;grid-template-columns:1fr}.form-group input,.form-group select,.form-group textarea,.health-form-row .form-field input,.health-form-row .form-field select,.health-form-row .form-field textarea{font-size:16px}.birth-date-input{align-items:stretch;flex-direction:column}.na-checkbox{justify-content:flex-start}}.add-form-body{padding:24px}.rabbit-add-form{width:100%}.form-section{background:var(--color-surface);border:1px solid var(--color-border-soft);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);margin-bottom:20px;padding:20px}.form-section h3{border-bottom:1px solid var(--color-border-soft);color:var(--color-text);font-size:16px;margin:0 0 16px;padding-bottom:8px}.form-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(2,1fr)}.form-group{display:flex;flex-direction:column;gap:6px}.form-group.full-width{grid-column:1/-1}.form-group label{color:var(--color-text-soft);font-size:14px;font-weight:600}.form-group input,.form-group select,.form-group textarea{background:var(--color-surface);border:1.5px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text);font-size:14px;padding:.65rem .8rem;transition:border-color .15s ease,box-shadow .15s ease,background .15s ease}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px #8b2e2e1f;outline:none}.form-group textarea{min-height:80px;resize:vertical}.form-group small{color:var(--color-text-muted);font-size:12px}.birth-date-input{align-items:center;display:flex;gap:10px}.birth-date-input input{flex:1 1}.na-checkbox{align-items:center;cursor:pointer;display:inline-flex;font-size:14px;font-weight:400;gap:6px;margin-bottom:0;white-space:nowrap}.na-checkbox input[type=checkbox]{padding:0;width:auto}.form-section .accolades-list{margin-bottom:12px;max-height:200px;overflow-y:auto}.form-section .accolade-item{align-items:center;background:var(--color-bg);border:1px solid var(--color-border-soft);border-radius:var(--radius-md);display:flex;justify-content:space-between;margin-bottom:8px;padding:8px 12px}.form-section .accolade-item span{flex:1 1;margin-right:8px}.form-section .btn-delete-accolade{align-items:center;background:#dc3545;border:none;border-radius:50%;color:#fff;cursor:pointer;display:flex;font-size:16px;height:24px;justify-content:center;line-height:1;transition:background-color .2s;width:24px}.form-section .btn-delete-accolade:hover{background:#c82333}.form-section .accolade-add{display:flex;gap:8px}.form-section .accolade-add input{border:1.5px solid var(--color-border);border-radius:var(--radius-md);flex:1 1;font-size:14px;padding:.65rem .8rem}.form-section .accolade-add button{font-size:18px;font-weight:700;padding:10px 16px}.form-actions{border-top:1px solid var(--color-border-soft);display:flex;gap:12px;justify-content:flex-end;margin-top:10px;padding-top:20px}.form-actions .btn{font-size:15px;font-weight:600;padding:12px 24px}@media (max-width:768px){.form-grid{grid-template-columns:1fr}.add-form-body,.form-section{padding:16px}.form-actions{flex-direction:column}.form-actions .btn{width:100%}}.inline-edit-form{width:100%}.inline-input{background:var(--color-surface);border:1.5px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text);font-size:14px;padding:.65rem .8rem;transition:border-color .2s,box-shadow .2s;width:100%}.inline-input:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px #8b2e2e1f;outline:none}.inline-input::placeholder{color:var(--color-text-muted)}.inline-textarea{background:var(--color-surface);border:1.5px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text);font-family:inherit;font-size:14px;min-height:80px;padding:.65rem .8rem;resize:vertical;transition:border-color .2s,box-shadow .2s;width:100%}.inline-textarea:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px #8b2e2e1f;outline:none}.inline-select .inline-select__control{background:var(--color-surface);border:1.5px solid var(--color-border);border-radius:var(--radius-md);box-shadow:none;min-height:38px}.inline-select .inline-select__control:hover{border-color:var(--color-border-strong)}.inline-select .inline-select__control--is-focused{border-color:var(--color-primary);box-shadow:0 0 0 3px #8b2e2e1f}.inline-select .inline-select__menu{z-index:9999}.input-with-suffix{align-items:center;display:flex;gap:8px}.input-with-suffix .inline-input{flex:1 1}.input-suffix{color:var(--color-text-soft);font-size:14px;white-space:nowrap}.birth-date-inline{align-items:center;display:flex;gap:12px}.birth-date-inline .inline-input{flex:1 1}.na-checkbox-inline{align-items:center;color:var(--color-text-soft);cursor:pointer;display:flex;font-size:13px;gap:4px;white-space:nowrap}.na-checkbox-inline input[type=checkbox]{margin:0}.accolades-edit-list{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:12px}.accolade-edit-item{align-items:center;display:flex;gap:6px}.accolade-edit-item .accolade-badge{margin:0}.btn-remove-accolade{align-items:center;background:#dc3545;border:none;border-radius:50%;color:#fff;cursor:pointer;display:flex;font-size:14px;height:20px;justify-content:center;line-height:1;padding:0;transition:background-color .2s;width:20px}.btn-remove-accolade:hover{background:#c82333}.accolade-add-inline{display:flex;gap:8px}.accolade-add-inline .inline-input{flex:1 1}.inline-edit-actions{border-top:1px solid var(--color-border-soft);display:flex;gap:12px;justify-content:flex-end;margin-top:20px;padding-top:20px}.inline-edit-actions .btn{font-size:14px;font-weight:600;padding:10px 24px}@media (max-width:768px){.inline-edit-actions{flex-direction:column}.inline-edit-actions .btn{width:100%}.birth-date-inline{align-items:stretch;flex-direction:column;gap:8px}.na-checkbox-inline{justify-content:flex-start}}.show-record-row{align-items:flex-start;display:flex;flex-wrap:wrap;gap:24px}.show-record-field{flex:0 0 auto;min-width:200px}.show-record-field.show-record-legs{flex:1 1;min-width:250px}.legs-inline-container{display:flex;flex-direction:column;gap:8px}.legs-badges{display:flex;flex-wrap:wrap;gap:8px}.leg-badge-item{align-items:center;display:flex;gap:4px}.leg-add-inline{display:flex;gap:8px;max-width:300px}.show-record-item{background:var(--color-bg);border-radius:8px;display:flex;flex-direction:column;gap:4px;padding:12px}.show-record-item.show-record-legs{flex:1 1;min-width:200px}.legs-display{display:flex;flex-wrap:wrap;gap:6px}.show-record-label{color:var(--color-text-soft);font-size:12px;font-weight:600;letter-spacing:.5px;text-transform:uppercase}.show-record-value{color:var(--color-text);font-size:16px;font-weight:500}.sub-section-header{border-bottom:1px solid var(--color-border-soft);color:var(--color-text-soft);font-size:14px;font-weight:600;margin:16px 0 12px;padding-bottom:8px}@media (max-width:768px){.show-record-row{flex-direction:column;gap:16px}.show-record-field,.show-record-field.show-record-legs,.show-record-item,.show-record-item.show-record-legs{max-width:100%;min-width:100%}.leg-add-inline{max-width:100%}}.color-picker-overlay{align-items:center;background:#00000080;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}.color-picker-modal{background:var(--color-surface);border-radius:12px;box-shadow:0 4px 20px #0003;max-width:400px;overflow:hidden;width:90%}.color-picker-modal.warning-modal{max-width:360px}.color-picker-header{align-items:center;background:var(--color-bg);border-bottom:1px solid var(--color-border-soft);display:flex;justify-content:space-between;padding:16px 20px}.color-picker-header.warning{background:#fff3cd;border-bottom-color:#ffc107}.color-picker-header h3{color:var(--color-text);font-size:16px;font-weight:600;margin:0}.color-picker-header.warning h3{color:#856404}.color-picker-header .close-btn{background:none;border:none;color:var(--color-text-soft);cursor:pointer;font-size:24px;line-height:1;padding:0}.color-picker-header .close-btn:hover{color:var(--color-text)}.color-picker-body{padding:20px}.existing-colors{margin-bottom:16px}.existing-colors label{color:var(--color-text-soft);display:block;font-size:13px;margin-bottom:8px}.color-swatches{display:flex;flex-wrap:wrap;gap:8px}.color-swatch{border:2px solid #ccc;border-radius:6px;height:32px;width:32px}.color-swatch.editing{border-color:var(--color-primary);box-shadow:0 0 0 2px #8b2e2e33}.color-picker-input{margin-bottom:12px}.color-picker-input label{color:var(--color-text-soft);display:block;font-size:13px;margin-bottom:8px}.color-input-row{align-items:center;display:flex;gap:12px}.color-input-row input[type=color]{border:1px solid #ccc;border-radius:6px;cursor:pointer;height:40px;padding:0;width:50px}.color-preview{border:1px solid #ccc;border-radius:6px;height:40px;width:50px}.color-hex{color:var(--color-text-soft);font-family:monospace;font-size:14px}.color-picker-hint{color:var(--color-text-muted);font-size:12px;margin:0}.warning-text{color:#856404;line-height:1.5;margin:0}.color-picker-footer{background:var(--color-bg);border-top:1px solid var(--color-border-soft);display:flex;gap:10px;padding:16px 20px}.color-picker-footer .btn{flex:1 1;font-size:14px;font-weight:500;padding:10px 16px}.color-picker-footer .btn-warning{background:#ffc107;border-color:#ffc107;color:#212529}.color-picker-footer .btn-warning:hover{background:#e0a800;border-color:#d39e00}.documents-list{display:flex;flex-direction:column;gap:10px;margin-bottom:16px}.document-item{align-items:center;border-radius:8px;display:flex;gap:12px;padding:10px 14px;transition:all .2s ease}.document-item,.document-item:hover{background:var(--color-bg)}.document-item-staged{background:#fff8e1;border:1px dashed #ffa726}.document-item-staged:hover{background:#ffecb3}.document-name{color:var(--color-primary);cursor:pointer;flex:1 1;font-size:14px;font-weight:500;transition:color .2s ease}.document-item-staged .document-name{color:#f57c00;cursor:default}.document-name:hover{color:var(--color-primary-hover)}.document-item-staged .document-name:hover{color:#f57c00}.document-size{background:var(--color-bg);border-radius:10px;color:var(--color-text-muted);font-size:11px;font-weight:500;padding:3px 8px}.document-size-staged{background:#ffa726;color:#fff}.btn-delete-document{background:linear-gradient(135deg,#dc3545,#c82333);border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:16px;font-weight:700;line-height:1;padding:4px 10px;transition:all .2s ease}.btn-delete-document:hover{background:linear-gradient(135deg,#c82333,#bd2130);transform:scale(1.1)}.btn-upload{background:linear-gradient(135deg,var(--color-primary) 0,var(--color-primary-hover) 100%);border:none;border-radius:8px;box-shadow:0 2px 4px #8b2e2e29;color:#fff;cursor:pointer;font-size:14px;font-weight:600;padding:10px 20px;transition:all .2s ease}.btn-upload:hover:not(:disabled){box-shadow:0 4px 8px #8b2e2e3d;opacity:.9;transform:translateY(-1px)}.btn-upload:disabled{cursor:not-allowed;opacity:.6;transform:none}.upload-progress{margin-bottom:12px}.upload-progress-bar{background:var(--color-border-soft);border-radius:8px;box-shadow:inset 0 1px 3px #0000001a;height:28px;overflow:hidden}.upload-progress-fill{align-items:center;background:linear-gradient(135deg,var(--color-primary) 0,var(--color-primary-hover) 100%);box-shadow:inset 0 1px 0 #ffffff4d;color:#fff;display:flex;font-size:12px;font-weight:600;height:100%;justify-content:center;transition:width .3s ease}@media (max-width:768px){.document-item{flex-wrap:wrap}.btn-upload{width:100%}}.pedigree-import-actions{display:flex;gap:16px;justify-content:center;padding:12px 0 4px}.pedigree-import-overlay{align-items:center;background:#00000080;bottom:0;display:flex;justify-content:center;left:0;padding:20px;position:fixed;right:0;top:0;z-index:1000}.pedigree-import-modal{background:var(--color-surface);border-radius:12px;box-shadow:0 8px 32px #0003;max-height:85vh;max-width:600px;overflow-y:auto;width:100%}.import-modal-header{align-items:center;border-bottom:1px solid var(--color-border-soft);display:flex;justify-content:space-between;padding:16px 20px}.import-modal-header h3{color:var(--color-text);font-size:18px;margin:0}.import-modal-header .close-btn{background:none;border:none;color:var(--color-text-muted);cursor:pointer;font-size:24px;line-height:1;padding:0 4px}.import-section{border-bottom:1px solid #f0f0f0;padding:16px 20px}.import-section h4{color:var(--color-text-soft);font-size:14px;margin:0 0 8px}.import-hint{color:var(--color-text-muted);font-size:13px;margin:0 0 12px}.template-download{align-items:center;display:flex;flex-wrap:wrap;gap:10px}.template-download label{color:var(--color-text-soft);font-size:13px;font-weight:500}.template-download select{border:1px solid var(--color-border);border-radius:6px;flex:1 1;font-size:13px;min-width:160px;padding:6px 10px}.import-section input[type=file]{font-size:13px;width:100%}.import-summary{display:flex;font-size:13px;font-weight:500;gap:12px;margin-bottom:10px}.summary-ok{color:#2e7d32}.summary-warning{color:#e65100}.summary-error{color:#c62828}.import-preview-table{border:1px solid var(--color-border-soft);border-radius:8px;font-size:12px;max-height:300px;overflow:hidden;overflow-y:auto}.preview-header{background:var(--color-surface-alt);border-bottom:1px solid var(--color-border-soft);color:var(--color-text-soft);font-weight:600;padding:8px 12px;position:-webkit-sticky;position:sticky;top:0;z-index:1}.preview-header,.preview-row{grid-gap:6px;display:grid;gap:6px;grid-template-columns:28px 100px 1fr 1fr 1fr}.preview-row{align-items:start;border-bottom:1px solid #f0f0f0;color:var(--color-text);padding:6px 12px}.preview-row:last-child{border-bottom:none}.preview-row.preview-ok{background:var(--color-surface)}.preview-row.preview-warning{background:#fff8e1}.preview-row.preview-error{background:#fff5f5}.preview-status-icon{font-size:14px;line-height:1.2;text-align:center}.preview-ok .preview-status-icon{color:#2e7d32}.preview-warning .preview-status-icon{color:#e65100}.preview-error .preview-status-icon{color:#c62828}.pos-label{color:var(--color-text-muted);display:block;font-size:10px}.missing{color:#ccc;font-style:italic}.preview-row-issues{display:flex;flex-direction:column;gap:2px;grid-column:1/-1;padding:4px 0 2px 34px}.issue-error{color:#c62828}.issue-error,.issue-warning{font-size:11px;line-height:1.3}.issue-warning{color:#e65100}.import-error{background:#ffeaea;border-radius:6px;color:#c62828;font-size:13px;margin:12px 20px;padding:10px 14px}.import-modal-actions{display:flex;gap:10px;justify-content:flex-end;padding:16px 20px}.import-modal-actions .btn-secondary{background:var(--color-surface-alt);border:1px solid var(--color-border);border-radius:8px;color:var(--color-text-soft);cursor:pointer;font-size:14px;padding:8px 20px}.import-modal-actions .btn-secondary:hover{background:#eee}@media (max-width:768px){.pedigree-import-modal{max-height:90vh;max-width:100%}.template-download{align-items:stretch;flex-direction:column}.preview-header,.preview-row{font-size:11px;grid-template-columns:24px 70px 1fr 1fr}.preview-header span:nth-child(5),.preview-row>span:nth-child(5){display:none}.preview-row-issues{padding-left:28px}}.pedigree-container{display:flex;flex-direction:column;height:calc(100vh - 120px);overflow-x:hidden;width:100%}.pedigree-header{margin-bottom:1.5rem}.pedigree-header h2{margin:0 0 1rem}.rabbit-selector{align-items:center;background:var(--color-surface);border-radius:8px;box-shadow:0 2px 4px #0000001a;display:flex;flex-wrap:wrap;gap:1rem;padding:1rem}.rabbit-selector label{font-weight:500;margin:0}.search-dropdown{flex:1 1;min-width:200px}.dropdown-list{max-height:300px}.loading{background:var(--color-surface);border-radius:8px;color:var(--color-text-soft);padding:3rem}.pedigree-header{align-items:center;background:var(--color-surface-alt);border-radius:8px;display:flex;flex-shrink:0;justify-content:space-between;margin-bottom:.75rem;padding:.75rem 1rem}.pedigree-header-left,.pedigree-header-right{align-items:center;display:flex;gap:.75rem}.settings-btn{background:#8b2e2e}.settings-btn:hover{background:#6f2323}.pedigree-settings-overlay{align-items:center;background:#00000080;bottom:0;display:flex;justify-content:center;left:0;padding:20px;position:fixed;right:0;top:0;z-index:1000}.pedigree-settings-modal{background:var(--color-surface);border-radius:12px;box-shadow:0 4px 20px #0003;display:flex;flex-direction:column;max-height:80vh;max-width:450px;overflow:hidden;width:100%}.settings-modal-header{align-items:center;border-bottom:1px solid var(--color-border-soft);display:flex;flex-shrink:0;justify-content:space-between;padding:1rem 1.25rem}.settings-modal-header h3{color:var(--color-text);font-size:1.1rem;margin:0}.settings-close-btn{background:none;border:none;color:var(--color-text-soft);cursor:pointer;font-size:1.5rem;line-height:1;padding:0;transition:color .2s}.settings-close-btn:hover{color:var(--color-text)}.settings-modal-tabs{border-bottom:2px solid var(--color-border-soft);display:flex;flex-shrink:0}.settings-tab{background:none;border:none;border-bottom:3px solid #0000;color:var(--color-text-soft);cursor:pointer;flex:1 1;font-size:.95rem;font-weight:500;margin-bottom:-2px;padding:.75rem 1rem;transition:all .2s}.settings-tab:hover{background:var(--color-surface-alt);color:var(--color-text)}.settings-tab.active{border-bottom-color:#8b2e2e;color:#8b2e2e}.settings-modal-body{flex:1 1;overflow-y:auto;padding:1rem 1.25rem}.settings-section{margin-bottom:1.25rem}.settings-section:last-child{margin-bottom:0}.settings-section h4{color:var(--color-text-soft);font-size:.9rem;font-weight:600;letter-spacing:.5px;margin:0 0 .75rem;text-transform:uppercase}.settings-option{align-items:flex-start;border-radius:6px;cursor:pointer;display:flex;gap:.75rem;padding:.5rem;transition:background .2s}.settings-option:hover{background:var(--color-surface-alt)}.settings-option input[type=checkbox]{cursor:pointer;height:18px;margin-top:2px;width:18px}.settings-option span{color:var(--color-text);font-size:.95rem;font-weight:500}.settings-option small{color:var(--color-text-muted);display:block;font-size:.8rem;margin-top:2px}.generation-limit-input{align-items:center;display:flex;gap:.75rem;margin-top:.75rem;padding-left:1.75rem}.generation-limit-input label{color:var(--color-text-soft);font-size:.9rem}.generation-limit-input input{border:1px solid var(--color-border);border-radius:4px;font-size:.95rem;padding:.4rem .5rem;text-align:center;width:60px}.generation-limit-input input:focus{border-color:#8b2e2e;outline:none}.settings-checkboxes{grid-gap:.25rem 1rem;display:grid;gap:.25rem 1rem;grid-template-columns:repeat(2,1fr)}.settings-checkbox{align-items:center;border-radius:6px;cursor:pointer;display:flex;gap:.5rem;padding:.4rem .5rem;transition:background .2s}.settings-checkbox:hover{background:var(--color-surface-alt)}.settings-checkbox input[type=checkbox]{cursor:pointer;height:18px;width:18px}.settings-checkbox span{color:var(--color-text);font-size:.95rem}.pedigree-controls{align-items:center;background:var(--color-surface);border-radius:8px;box-shadow:0 2px 4px #0000001a;display:flex;flex-shrink:0;flex-wrap:wrap;gap:1.5rem;margin-bottom:1rem;padding:1rem}.control-btn{background:#3a2a1e;border:none;border-radius:4px;box-shadow:0 2px 4px #0003;color:#fff;cursor:pointer;font-size:1rem;font-weight:700;padding:.5rem 1rem;transition:all .2s}.control-btn:hover{background:#34495e;box-shadow:0 4px 8px #0000004d}.control-btn:active{transform:scale(.95)}.control-btn:disabled{background:#95a5a6;cursor:not-allowed;opacity:.7}.control-btn:disabled:hover{background:#95a5a6;box-shadow:0 2px 4px #0003}.pdf-btn{background:#5f7a3b}.pdf-btn:hover:not(:disabled){background:#2ecc71}.compact-btn{background:#8e44ad}.compact-btn:hover{background:#9b59b6}.compact-btn.active{background:#9b59b6;box-shadow:inset 0 2px 4px #0000004d}.control-option{align-items:center;cursor:pointer;display:flex;font-weight:500;gap:.5rem;-webkit-user-select:none;user-select:none}.control-option input[type=checkbox]{cursor:pointer;height:18px;width:18px}.control-option span{white-space:nowrap}.generation-input{border:1px solid var(--color-border);border-radius:4px;font-size:.9rem;margin-left:.5rem;padding:.25rem .5rem;text-align:center;width:60px}.field-selector-container{position:relative}.field-selector-toggle{background:#5f7a3b;border:none;border-radius:4px;box-shadow:0 2px 4px #0003;color:#fff;cursor:pointer;font-size:1rem;font-weight:500;padding:.5rem 1rem;transition:all .2s}.field-selector-toggle:hover{background:#4a6030;box-shadow:0 4px 8px #0000004d}.field-selector-toggle:active{transform:scale(.95)}.field-selector-dropdown{background:var(--color-surface);border:1px solid var(--color-border);border-radius:4px;box-shadow:0 4px 8px #00000026;left:0;margin-top:.5rem;max-height:300px;min-width:200px;overflow-y:auto;padding:.5rem;position:absolute;top:100%;z-index:1000}.field-option{align-items:center;border-radius:4px;cursor:pointer;display:flex;gap:.5rem;padding:.5rem;transition:background-color .2s;-webkit-user-select:none;user-select:none}.field-option:hover{background-color:#f0f0f0}.field-option input[type=checkbox]{cursor:pointer;height:16px;width:16px}.field-option span{font-size:.9rem;white-space:nowrap}.tree-container{background:var(--color-surface);border-radius:8px;box-shadow:0 2px 4px #0000001a;cursor:grab;flex:1 1;min-height:0;overflow:hidden;padding:0;position:relative;user-select:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none}.tree-container:active{cursor:grabbing}.tree-scroll{left:0;padding:2rem;pointer-events:none;position:absolute;top:0;will-change:transform}.tree-scroll>*{pointer-events:auto}.canvas-controls{bottom:20px;display:flex;flex-direction:column;gap:8px;position:absolute;right:20px;z-index:100}.canvas-control-btn{align-items:center;background:var(--color-surface);border:2px solid #3a2a1e;border-radius:4px;box-shadow:0 2px 4px #0003;color:#3a2a1e;cursor:pointer;display:flex;font-size:1.5rem;font-weight:700;height:40px;justify-content:center;transition:all .2s;width:40px}.canvas-control-btn:hover{background:var(--color-surface-hover);box-shadow:0 4px 8px #0000004d}.canvas-control-btn:active{transform:scale(.95)}.zoom-indicator{font-weight:700;text-align:center}.print-option,.zoom-indicator{background:var(--color-surface);border:2px solid #3a2a1e;border-radius:4px;box-shadow:0 2px 4px #0003;color:#3a2a1e;font-size:.85rem;padding:8px;-webkit-user-select:none;user-select:none}.print-option{align-items:center;cursor:pointer;display:flex;gap:8px;transition:all .2s}.print-option:hover{background:var(--color-surface-hover)}.print-option input[type=checkbox]{cursor:pointer;height:16px;width:16px}.print-option span{font-weight:700;white-space:nowrap}.pedigree-row{align-items:center;display:flex;flex-direction:row;position:relative}.pedigree-cell{align-items:flex-start;padding:.15rem}.pedigree-cell,.pedigree-parents{display:flex;flex-direction:column}.pedigree-parents{gap:.4rem;margin-left:.75rem;padding-bottom:0;padding-top:0;position:relative}.pedigree-parent{align-items:center;display:flex;flex-direction:row;gap:0;padding-left:.3rem;position:relative}.rabbit-node{background:var(--color-surface-alt);border:2px solid #333;border-radius:6px;box-shadow:0 1px 4px #0000001f;color:var(--color-text);max-width:300px;min-width:150px;padding:.4rem .5rem;position:relative;transition:transform .2s,box-shadow .2s;width:-webkit-fit-content;width:fit-content;z-index:1}.rabbit-node:hover{box-shadow:0 4px 12px #0003;transform:scale(1.02)}.rabbit-node.clickable{cursor:pointer}.rabbit-node.unknown{background:#95a5a6;color:#fff;font-style:italic;max-width:150px;min-width:100px;text-align:center;width:100px}.rabbit-node.compact{max-width:none;min-width:auto;padding:.4rem .6rem;width:-webkit-fit-content;width:fit-content}.rabbit-node.compact .node-header{gap:.4rem;margin-bottom:0;white-space:nowrap}.rabbit-node.compact .node-header strong{font-size:.85rem}.rabbit-node.compact .gender-badge{flex-shrink:0;font-size:1rem}.color-square{border:1px solid #333;border-radius:4px;bottom:8px;box-shadow:0 1px 3px #0003;height:24px;position:absolute;right:8px;width:24px}.collapse-btn{align-items:center;background:var(--color-surface);border:2px solid #333;border-radius:50%;color:var(--color-text);cursor:pointer;display:flex;font-size:14px;font-weight:700;height:22px;justify-content:center;line-height:1;padding:0;position:absolute;right:-8px;top:-8px;transition:all .2s;width:22px;z-index:10}.collapse-btn:hover{background:#8b2e2e;border-color:#8b2e2e;color:#fff;transform:scale(1.1)}.collapse-btn.collapsed{background:#5f7a3b;border-color:#5f7a3b;color:#fff}.collapse-btn.collapsed:hover{background:#2ecc71;border-color:#2ecc71}.node-header{align-items:center;display:flex;font-size:.95rem;justify-content:space-between;margin-bottom:.25rem;overflow:hidden;white-space:nowrap}.node-header strong{min-width:0;overflow:hidden;text-overflow:ellipsis}.gender-badge{font-size:1rem;padding:.1rem}.gender-badge.female{color:#dc3545}.gender-badge.male{color:#007bff}.node-details{font-size:.8rem;opacity:.95}.node-details.has-color-box{padding-bottom:1.5rem}.node-details div{margin:.1rem 0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.node-accolades{border-top:1px solid #0000001a;margin-bottom:.5rem;margin-top:.5rem;padding-top:.5rem}.accolade-badge{font-size:.75rem;font-style:italic;margin:.15rem 0;opacity:.9}.node-generation-label{color:var(--color-text-soft);font-size:.7rem;font-weight:600;letter-spacing:1px;margin-bottom:6px;text-align:center;text-transform:uppercase;width:100%}.rabbit-node-card{background:var(--color-surface);border:1px solid var(--color-border-soft);border-left:4px solid #bbdefb;border-radius:8px;box-shadow:0 2px 8px #00000014;max-width:360px;min-width:240px;overflow:hidden;position:relative;transition:transform .2s,box-shadow .2s;width:-webkit-fit-content;width:fit-content}.rabbit-node-card:hover{box-shadow:0 4px 16px #0000001f;transform:translateY(-2px)}.rabbit-node-card.clickable{cursor:pointer}.rabbit-node-card.unknown{background:var(--color-surface-alt);border-left-color:#ccc;min-width:180px}.rabbit-node-card.unknown .node-card-header{padding:12px}.rabbit-node-card.unknown .node-name{color:var(--color-text-muted);font-style:italic}.rabbit-node-card.compact{max-width:220px;min-width:160px}.rabbit-node-card.compact .node-card-body{display:none}.rabbit-node-card.compact .node-photo-placeholder{height:32px;width:32px}.rabbit-node-card.compact .node-name{font-size:.85rem}.node-card-header{align-items:center;background:var(--color-surface-alt);border-bottom:1px solid var(--color-border-soft);display:flex;gap:10px;padding:12px}.node-qr-code{flex-shrink:0;height:36px;margin-left:auto;width:36px}.rabbit-node-card.compact .node-qr-code{height:28px;width:28px}.node-photo-placeholder{align-items:center;background:var(--color-surface);border:2px solid #2196f3;border-radius:50%;display:flex;flex-shrink:0;height:44px;justify-content:center;width:44px}.node-photo-placeholder.unknown{background:#eee;border-color:#ccc}.node-photo-placeholder .photo-icon{font-size:1.4rem}.node-title-area{display:flex;flex:1 1;flex-direction:column;gap:2px;min-width:0}.node-gender{font-size:1rem;font-weight:600}.node-gender.female{color:#e91e63}.node-gender.male{color:#2196f3}.node-name{color:var(--color-text);font-size:.95rem;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.node-actions{position:absolute;right:6px;top:6px;z-index:2}.node-collapse-btn{align-items:center;background:#ffffffe6;border:none;border-radius:50%;box-shadow:0 1px 3px #00000026;color:var(--color-text-soft);cursor:pointer;display:flex;font-size:.65rem;height:24px;justify-content:center;transition:all .2s;width:24px}.node-collapse-btn:hover{background:var(--color-surface);box-shadow:0 2px 6px #0003;color:var(--color-text)}.node-card-body{padding:12px;position:relative}.node-fields-grid{grid-gap:10px 16px;display:grid;gap:10px 16px;grid-template-columns:repeat(3,minmax(0,1fr))}.field-item{display:flex;flex-direction:column;gap:2px}.field-item-wide{grid-column:span 2}.field-label{color:#00bcd4;font-size:.65rem;font-weight:600;letter-spacing:.5px;text-transform:uppercase}.field-value{color:var(--color-text);font-size:.8rem;font-weight:500;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.node-color-indicator{bottom:0;height:4px;left:0;position:absolute;right:0}@media (max-width:768px){.rabbit-node-card{max-width:280px;min-width:200px}.rabbit-node-card.compact{max-width:180px;min-width:140px}.node-card-header{gap:8px;padding:10px}.node-photo-placeholder{height:36px;width:36px}.node-photo-placeholder .photo-icon{font-size:1.1rem}.node-name{font-size:.85rem}.node-card-body{padding:10px}.node-fields-grid{gap:8px 12px}.field-label{font-size:.6rem}.field-value{font-size:.75rem}.node-generation-label{font-size:.6rem}}@media (max-width:480px){.rabbit-node-card{max-width:220px;min-width:160px}.rabbit-node-card.compact{max-width:160px;min-width:120px}.node-card-header{gap:6px;padding:8px}.node-photo-placeholder{height:30px;width:30px}.node-photo-placeholder .photo-icon{font-size:.9rem}.node-name{font-size:.75rem}.node-gender{font-size:.85rem}.node-card-body{padding:8px}.node-fields-grid{gap:6px 10px;grid-template-columns:repeat(2,1fr)}.field-label{font-size:.55rem}.field-value{font-size:.7rem}.node-generation-label{font-size:.55rem}}.status-indicator{background:#ffffff4d;border-radius:10px;display:inline-block;font-size:.8rem;margin-top:.5rem;padding:.2rem .6rem;text-transform:capitalize}.parent-label{border:2px solid #333;border-radius:15px;box-shadow:0 2px 4px #00000026;color:#000;font-size:.7rem;font-weight:700;letter-spacing:.5px;padding:.35rem .75rem;position:relative;text-transform:uppercase;white-space:nowrap;z-index:2}.empty-state,.parent-label{background:var(--color-surface)}.empty-state{border-radius:8px;color:var(--color-text-soft);padding:3rem}.rabbit-info-modal{align-items:center;background:#00000080;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:2000}.rabbit-info-content{background:var(--color-surface);border-radius:12px;box-shadow:0 8px 32px #0003;max-width:500px;padding:2rem;position:relative;width:90%}.close-btn{align-items:center;background:none;border:none;color:var(--color-text-soft);cursor:pointer;display:flex;font-size:2rem;height:2rem;justify-content:center;line-height:1;padding:0;position:absolute;right:1rem;top:1rem;width:2rem}.close-btn:hover{color:#000}.rabbit-info-content h3{color:var(--color-text);font-size:1.5rem;margin:0 0 1.5rem}.info-details p{color:var(--color-text-soft);font-size:1rem;margin:.75rem 0}.info-details strong{color:var(--color-text)}.navigation-actions{border-top:1px solid var(--color-border-soft);display:flex;flex-direction:column;gap:10px;margin-top:1.5rem;padding-top:1rem}.navigation-actions .btn{border:none;border-radius:8px;cursor:pointer;font-size:14px;font-weight:600;padding:12px 20px;transition:all .2s ease;width:100%}.navigation-actions .btn-primary{background:linear-gradient(135deg,var(--color-primary) 0,var(--color-primary-hover) 100%);color:#fff}.navigation-actions .btn-primary:hover{box-shadow:0 4px 12px #8b2e2e47;transform:translateY(-1px)}.navigation-actions .btn-secondary{background:var(--color-surface-alt);color:var(--color-text-soft)}.navigation-actions .btn-secondary:hover{background:#e8e8e8;color:var(--color-text)}.not-in-list-notice{color:var(--color-text-muted);font-style:italic;margin:0;padding:8px 0;text-align:center}@media (max-width:768px){.pedigree-container{height:calc(100vh - 130px);max-width:100vw;overflow:hidden;padding-bottom:70px;position:relative;width:100%}.pedigree-header{margin-bottom:.75rem}.pedigree-header h2{font-size:1.25rem;margin-bottom:.5rem}.rabbit-selector{padding:.75rem}.pedigree-controls{align-items:center;flex-direction:row;flex-wrap:wrap;gap:.5rem;margin-bottom:.5rem;padding:.75rem}.control-btn{flex:0 0 auto;font-size:.9rem;padding:.4rem .75rem}.control-option{flex:1 1 auto;justify-content:flex-start;min-width:0}.control-option,.control-option span{font-size:.85rem}.generation-input{font-size:16px;padding:.2rem .4rem;width:50px}.tree-container{-webkit-overflow-scrolling:touch;flex:1 1;min-height:0;padding:0;touch-action:none}.field-selector-container{flex:0 0 auto}.field-selector-toggle{font-size:.85rem;padding:.4rem .75rem}.field-selector-dropdown{left:0;min-width:180px;right:auto}.rabbit-node{font-size:.8rem;max-width:180px;min-width:120px;padding:.35rem .45rem;width:-webkit-fit-content;width:fit-content}.rabbit-node.unknown{max-width:120px;min-width:80px;width:80px}.node-header{font-size:.85rem}.node-details{font-size:.7rem}.parent-label{font-size:.55rem;padding:.2rem .4rem}.pedigree-parents{gap:.3rem;margin-left:.5rem}.pedigree-parents:before{left:-1rem;width:1rem}.pedigree-parent:before{left:0;right:0}.rabbit-selector{align-items:stretch;flex-direction:column}.desktop-only{display:none!important}.canvas-controls{bottom:20px;left:20px;right:auto}.canvas-control-btn{font-size:1.75rem;height:44px;width:44px}}@media (max-width:480px){.rabbit-node{max-width:140px;min-width:100px;padding:.3rem .4rem;width:-webkit-fit-content;width:fit-content}.rabbit-node.unknown{max-width:100px;min-width:70px;width:70px}.parent-label{font-size:.5rem;padding:.15rem .35rem}.node-header{font-size:.8rem}.node-details{font-size:.65rem}.pedigree-parents{gap:.2rem;margin-left:.4rem}.pedigree-parent{gap:0;padding-left:.2rem}}@media print{@page{size:landscape;margin:0}body,html{background:#fff!important;height:auto!important;margin:0!important;min-height:0!important;overflow:hidden!important;padding:0!important;width:100%!important}*{print-color-adjust:exact!important;-webkit-print-color-adjust:exact!important}.app-header,.app-sidebar,.canvas-control-btn,.canvas-controls,.main-nav,.navbar,.pedigree-controls,.pedigree-header,.sidebar,.zoom-indicator,header,nav{display:none!important}#root,.App,.pedigree-container{background:#fff!important;height:auto!important;margin:0!important;min-height:0!important;padding:0!important;width:100%!important}.pedigree-container{display:block!important;max-height:none!important}.rabbit-node{transition:none!important}.rabbit-node,.rabbit-node:hover{box-shadow:0 1px 3px #0000004d!important}.rabbit-node:hover{transform:none!important}.tree-container{background:#0000!important;border:none!important;border-radius:0!important;box-shadow:none!important;height:auto!important;min-height:100%!important;outline:none!important;overflow:visible!important;position:static!important;width:100%!important}.tree-container,.tree-scroll{margin:0!important;max-width:100%!important;padding:0!important}.tree-scroll{transform-origin:top left!important;width:-webkit-fit-content!important;width:fit-content!important}.pedigree-row,.tree-container,.tree-scroll{page-break-after:avoid!important;page-break-before:avoid!important;page-break-inside:avoid!important}}.save-image-modal{align-items:center;background:#000c;bottom:0;display:flex;justify-content:center;left:0;padding:20px;position:fixed;right:0;top:0;z-index:3000}.save-image-content{background:var(--color-surface);border-radius:12px;box-shadow:0 8px 32px #0000004d;display:flex;flex-direction:column;max-height:90vh;max-width:95%;overflow:hidden;width:100%}.save-image-header{align-items:center;border-bottom:1px solid var(--color-border-soft);display:flex;flex-shrink:0;justify-content:space-between;padding:1rem 1.5rem}.save-image-header h3{color:var(--color-text);font-size:1.2rem;margin:0}.save-modal-close-btn{-webkit-tap-highlight-color:transparent;align-items:center;background:var(--color-surface-hover);border:none;border-radius:50%;color:var(--color-text);cursor:pointer;display:flex;flex-shrink:0;font-size:1.5rem;height:44px;justify-content:center;padding:0;touch-action:manipulation;width:44px}.save-modal-close-btn:active,.save-modal-close-btn:hover{background:var(--color-border-soft);color:#000}.save-image-body{flex:1 1;overflow-y:auto;padding:1rem;text-align:center}.save-image-body img{border-radius:8px;box-shadow:0 2px 10px #00000026;height:auto;max-width:100%}.save-instructions{background:var(--color-surface-alt);border-radius:8px;color:var(--color-text-soft);font-size:.95rem;line-height:1.5;margin-top:1rem;padding:1rem}.save-image-footer{border-top:1px solid var(--color-border-soft);display:flex;flex-shrink:0;gap:.75rem;justify-content:flex-end;padding:1rem 1.5rem}.save-image-footer .btn{-webkit-tap-highlight-color:transparent;font-size:1rem;min-height:48px;padding:.75rem 1.5rem;touch-action:manipulation}.save-image-footer .btn:disabled{cursor:not-allowed;opacity:.6}.pedigree-loading-overlay{align-items:center;background:#ffffffd9;bottom:0;display:flex;flex-direction:column;gap:1rem;justify-content:center;left:0;position:absolute;right:0;top:0;z-index:500}.pedigree-loading-overlay p{color:#3a2a1e;font-size:1.1rem;font-weight:500;margin:0}.pedigree-loading-spinner{animation:pedigree-spin 1s linear infinite;border:4px solid var(--color-border-soft);border-radius:50%;border-top:4px solid #8b2e2e;height:50px;width:50px}@keyframes pedigree-spin{to{transform:rotate(1turn)}}.theme-selector{display:flex;flex-direction:column;gap:8px}.theme-option{cursor:pointer;display:block}.theme-option input{display:none}.theme-preview-box{background:var(--color-surface-alt);border:2px solid var(--color-border-soft);border-radius:8px;display:flex;flex-direction:column;padding:12px 16px;transition:all .2s}.theme-option:hover .theme-preview-box{background:var(--color-primary-soft);border-color:var(--color-primary)}.theme-option.selected .theme-preview-box{background:linear-gradient(135deg,var(--color-primary-soft) 0,#f4ddd8 100%);border-color:var(--color-primary);box-shadow:0 2px 8px #8b2e2e29}.theme-name{color:var(--color-text);font-size:14px;font-weight:600}.theme-desc{color:var(--color-text-soft);font-size:12px;margin-top:2px}.tree-container.theme-classic .rabbit-node-card{background:var(--color-surface);border:1px solid var(--color-border-soft);border-left:4px solid #bbdefb;border-radius:8px;box-shadow:0 2px 8px #00000014}.tree-container.theme-classic .node-card-header{background:var(--color-surface-alt);border-bottom:1px solid var(--color-border-soft)}.tree-container.theme-classic .node-photo-placeholder{background:var(--color-surface)}.tree-container.theme-minimal .rabbit-node-card{background:var(--color-surface);border:1px solid var(--color-border);border-left:3px solid #888;border-radius:4px;box-shadow:none}.tree-container.theme-minimal .rabbit-node-card:hover{box-shadow:0 2px 6px #0000001a}.tree-container.theme-minimal .node-card-header{background:#0000;border-bottom:1px solid var(--color-border-soft)}.tree-container.theme-minimal .node-photo-placeholder{background:var(--color-surface-alt);border-width:1px}.tree-container.theme-minimal .node-photo-placeholder .photo-icon{opacity:.7}.tree-container.theme-minimal .node-card-body{background:#0000}.tree-container.theme-minimal .field-label{color:var(--color-text-muted)}.tree-container.theme-elegant .rabbit-node-card{background:linear-gradient(145deg,#fff,#f8f9fa);border:none;border-radius:12px;box-shadow:0 4px 20px #00000014,0 1px 3px #0000000d}.tree-container.theme-elegant .rabbit-node-card:hover{box-shadow:0 8px 30px #0000001f,0 2px 6px #00000014;transform:translateY(-3px)}.tree-container.theme-elegant .node-card-header{background:linear-gradient(135deg,#8b2e2e0d,#c187380f);border-bottom:1px solid #8b2e2e1f;border-radius:12px 12px 0 0}.tree-container.theme-elegant .node-photo-placeholder{background:var(--color-surface);box-shadow:0 2px 8px #0000001a}.tree-container.theme-elegant .node-name{font-weight:600;letter-spacing:.3px}.tree-container.theme-elegant .field-label{color:var(--color-primary);font-weight:600}.tree-container.theme-rustic .rabbit-node-card{background:linear-gradient(145deg,#fefdfb,#f9f5f0);border:2px solid #d4c4a8;border-radius:6px;box-shadow:0 3px 10px #8b775526}.tree-container.theme-rustic .rabbit-node-card:hover{border-color:#b8a88a;box-shadow:0 5px 15px #8b775533}.tree-container.theme-rustic .node-card-header{background:linear-gradient(135deg,#f5efe6,#ebe4d8);border-bottom:1px solid #d4c4a8}.tree-container.theme-rustic .node-photo-placeholder{background:#faf7f2;border-color:#b8a88a}.tree-container.theme-rustic .node-name{color:#5d4e37}.tree-container.theme-rustic .node-gender.male{color:#6b8e6b}.tree-container.theme-rustic .node-gender.female{color:#c27a7a}.tree-container.theme-rustic .field-label{color:#8b7355}.tree-container.theme-rustic .field-value{color:#5d4e37}.tree-container.theme-rustic .node-card-body{background:#0000}.tree-container.theme-playful .rabbit-node-card{border:2px solid #0000;border-radius:16px;overflow:hidden;position:relative}.tree-container.theme-playful .rabbit-node-card.gender-female{background:linear-gradient(145deg,#fff0f3,#ffe4ec);box-shadow:0 4px 15px #e91e6326,0 2px 6px #ec407a1a}.tree-container.theme-playful .rabbit-node-card.gender-female:before{background:linear-gradient(135deg,#f48fb1,#f8bbd0 50%,#fce4ec);border-radius:14px;content:"";inset:0;-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;mask-composite:exclude;padding:2px;pointer-events:none;position:absolute}.tree-container.theme-playful .rabbit-node-card.gender-female .node-card-header{background:linear-gradient(135deg,#f48fb126,#f8bbd01a);border-bottom:1px dashed #f48fb1}.tree-container.theme-playful .rabbit-node-card.gender-female .node-photo-placeholder{background:linear-gradient(135deg,#fff0f3,#fce4ec);border:2px dashed #f48fb1}.tree-container.theme-playful .rabbit-node-card.gender-male{background:linear-gradient(145deg,#e3f2fd,#bbdefb);box-shadow:0 4px 15px #2196f326,0 2px 6px #42a5f51a}.tree-container.theme-playful .rabbit-node-card.gender-male:before{background:linear-gradient(135deg,#64b5f6,#90caf9 50%,#bbdefb);border-radius:14px;content:"";inset:0;-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;mask-composite:exclude;padding:2px;pointer-events:none;position:absolute}.tree-container.theme-playful .rabbit-node-card.gender-male .node-card-header{background:linear-gradient(135deg,#64b5f626,#90caf91a);border-bottom:1px dashed #64b5f6}.tree-container.theme-playful .rabbit-node-card.gender-male .node-photo-placeholder{background:linear-gradient(135deg,#e3f2fd,#bbdefb);border:2px dashed #64b5f6}.tree-container.theme-playful .rabbit-node-card:hover{transform:translateY(-3px) scale(1.02)}.tree-container.theme-playful .rabbit-node-card.gender-female:hover{box-shadow:0 8px 25px #e91e6333,0 4px 10px #ec407a26}.tree-container.theme-playful .rabbit-node-card.gender-male:hover{box-shadow:0 8px 25px #2196f333,0 4px 10px #42a5f526}.tree-container.theme-playful .node-photo-placeholder .photo-icon{font-size:1.6rem}.tree-container.theme-playful .node-name{color:#37474f;font-weight:700}.tree-container.theme-playful .node-gender.male{color:#1976d2}.tree-container.theme-playful .node-gender.female{color:#c2185b}.tree-container.theme-playful .rabbit-node-card.gender-female .field-label{color:#c2185b;font-weight:600}.tree-container.theme-playful .rabbit-node-card.gender-male .field-label{color:#1976d2;font-weight:600}.tree-container.theme-playful .field-value{color:#37474f}.tree-container.theme-playful .rabbit-node-card.gender-female .node-collapse-btn{background:linear-gradient(135deg,#f48fb1,#f8bbd0);border:none;color:#fff}.tree-container.theme-playful .rabbit-node-card.gender-female .node-collapse-btn:hover{background:linear-gradient(135deg,#ec407a,#f48fb1)}.tree-container.theme-playful .rabbit-node-card.gender-male .node-collapse-btn{background:linear-gradient(135deg,#64b5f6,#90caf9);border:none;color:#fff}.tree-container.theme-playful .rabbit-node-card.gender-male .node-collapse-btn:hover{background:linear-gradient(135deg,#42a5f5,#64b5f6)}.tree-container.theme-natural .rabbit-node-card{border:1px solid var(--color-border-soft);border-radius:10px;transition:all .2s ease}.tree-container.theme-natural .rabbit-node-card:hover{transform:translateY(-2px)}.tree-container.theme-natural .node-card-header{background:#ffffffb3;border-bottom:1px solid #00000014}.tree-container.theme-natural .node-photo-placeholder{background:var(--color-surface)}.tree-container.theme-natural .node-name{color:#3a2a1e;font-weight:600}.tree-container.theme-natural .field-label{color:#546e7a;font-weight:600}.tree-container.theme-natural .field-value{color:#37474f}.tree-container.theme-minimal svg path{stroke:#999}.tree-container.theme-elegant svg path{stroke:var(--color-primary);stroke-width:2.5}.tree-container.theme-rustic svg path{stroke:#b8a88a;stroke-width:2.5}.tree-container.theme-playful svg path{stroke:#e1bee7;stroke-width:3}.tree-container.theme-natural svg path{stroke:#78909c;stroke-width:2}[data-theme=dark] .embedded-pedigree,[data-theme=dark] .embedded-pedigree .tree-container,[data-theme=dark] .pedigree-container,[data-theme=dark] .pedigree-tab{background:#f7f3ea;color:#2b1f15}[data-theme=dark] .dropdown-list,[data-theme=dark] .loading,[data-theme=dark] .pedigree-controls,[data-theme=dark] .pedigree-header,[data-theme=dark] .pedigree-settings-modal,[data-theme=dark] .rabbit-selector{background:#fffaf2;border-color:#e8dcc4;color:#2b1f15}[data-theme=dark] .dropdown-item,[data-theme=dark] .field-value,[data-theme=dark] .generation-limit-input label,[data-theme=dark] .node-name,[data-theme=dark] .pedigree-container .control-option span,[data-theme=dark] .pedigree-header h2,[data-theme=dark] .rabbit-selector label,[data-theme=dark] .settings-checkbox span,[data-theme=dark] .settings-modal-header h3,[data-theme=dark] .settings-option span,[data-theme=dark] .settings-section h4{color:#2b1f15}[data-theme=dark] .dropdown-item.no-results,[data-theme=dark] .field-label,[data-theme=dark] .node-generation-label,[data-theme=dark] .pedigree-container .clear-search-btn,[data-theme=dark] .pedigree-container .loading,[data-theme=dark] .pedigree-container .settings-close-btn,[data-theme=dark] .settings-option small{color:#6b5742}[data-theme=dark] .generation-input,[data-theme=dark] .generation-limit-input input,[data-theme=dark] .search-dropdown input{background:#fffaf2;border-color:#d9c9a9;color:#2b1f15}[data-theme=dark] .dropdown-item:hover,[data-theme=dark] .settings-checkbox:hover,[data-theme=dark] .settings-option:hover,[data-theme=dark] .settings-tab:hover{background:#f5eee0}[data-theme=dark] .rabbit-node-card,[data-theme=dark] .tree-container.theme-classic .rabbit-node-card,[data-theme=dark] .tree-container.theme-elegant .rabbit-node-card,[data-theme=dark] .tree-container.theme-minimal .rabbit-node-card,[data-theme=dark] .tree-container.theme-natural .rabbit-node-card,[data-theme=dark] .tree-container.theme-playful .rabbit-node-card,[data-theme=dark] .tree-container.theme-rustic .rabbit-node-card{background:#fffdf8;border-color:#d9c9a9;box-shadow:0 2px 8px #3a2a1e24}[data-theme=dark] .node-card-header,[data-theme=dark] .tree-container.theme-classic .node-card-header,[data-theme=dark] .tree-container.theme-elegant .node-card-header,[data-theme=dark] .tree-container.theme-minimal .node-card-header,[data-theme=dark] .tree-container.theme-natural .node-card-header,[data-theme=dark] .tree-container.theme-rustic .node-card-header{background:#f5eee0;border-bottom-color:#e8dcc4}[data-theme=dark] .node-photo-placeholder.unknown,[data-theme=dark] .rabbit-node-card.unknown{background:#efe6d7}[data-theme=dark] .node-photo-placeholder{background:#fffaf2}[data-theme=dark] .node-collapse-btn{background:#fffaf2f2;color:#6b5742}[data-theme=dark] .node-collapse-btn:hover{background:#fffdf8;color:#2b1f15}.rabbit-list-container{background:var(--color-bg);border:none;border-radius:0;box-shadow:none;min-height:100%;outline:none;padding:0;width:100%}.rabbit-page-header{align-items:flex-end;gap:1.25rem;justify-content:space-between;margin-bottom:1.5rem}.rabbit-page-heading h1{color:var(--color-text);font-family:var(--font-serif);font-size:2rem;letter-spacing:-.01em;margin:0 0 .25rem}.rabbit-page-sub{color:var(--color-text-muted);font-size:.95rem;margin:0}.rabbit-add-btn{align-items:center;display:inline-flex;gap:.5rem;white-space:nowrap}.rabbit-subtabs{border-bottom:2px solid var(--color-border);display:flex;gap:.25rem;margin-bottom:1.25rem;overflow-x:auto;scrollbar-width:none}.rabbit-subtabs::-webkit-scrollbar{display:none}.rabbit-subtab{background:#0000;border:none;border-bottom:3px solid #0000;color:var(--color-text-muted);cursor:pointer;font-size:.95rem;font-weight:500;margin-bottom:-2px;padding:.75rem 1.25rem;transition:color .2s,border-color .2s;white-space:nowrap}.rabbit-subtab.active,.rabbit-subtab:hover{color:var(--color-primary)}.rabbit-subtab.active{border-bottom-color:var(--color-primary);font-weight:600}.rabbit-toolbar{flex-wrap:wrap;gap:.75rem;margin-bottom:1rem}.rabbit-search,.rabbit-toolbar{align-items:center;display:flex}.rabbit-search{flex:1 1;min-width:220px;position:relative}.rabbit-search-input{background:var(--color-surface-alt);border:1px solid var(--color-border);border-radius:10px;color:var(--color-text);font-size:.95rem;padding:.65rem 2.25rem .65rem .9rem;transition:border-color .2s,box-shadow .2s;width:100%}.rabbit-search-input:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px #8b2e2e1f;outline:none}.rabbit-search-clear{align-items:center;background:none;border:none;color:var(--color-text-muted);cursor:pointer;display:flex;font-size:1.2rem;height:1.5rem;justify-content:center;padding:0;position:absolute;right:.6rem;top:50%;transform:translateY(-50%);width:1.5rem}.rabbit-search-clear:hover{color:var(--color-text)}.rabbit-filter-toggle,.rabbit-select-toggle{align-items:center;background:var(--color-surface-alt);border:1px solid var(--color-border);border-radius:10px;color:var(--color-text);cursor:pointer;display:inline-flex;font-size:.9rem;font-weight:500;gap:.4rem;padding:.6rem 1rem;transition:all .2s;white-space:nowrap}.rabbit-filter-toggle:hover,.rabbit-select-toggle:hover{border-color:var(--color-primary);color:var(--color-primary)}.rabbit-filter-toggle.active,.rabbit-select-toggle.active{background:var(--color-primary);border-color:var(--color-primary);color:#fff}.rabbit-filter-count{align-items:center;background:#c18738;background:var(--color-accent,#c18738);border-radius:999px;color:#fff;display:inline-flex;font-size:.75rem;font-weight:700;height:1.4rem;justify-content:center;min-width:1.4rem;padding:0 .4rem}.rabbit-filter-toggle.active .rabbit-filter-count{background:var(--color-surface);color:var(--color-primary)}.rabbit-filters{align-items:flex-end;background:var(--color-surface-alt);border:1px solid var(--color-border);border-radius:12px;box-shadow:0 1px 3px #3a2a1e0f;box-shadow:var(--shadow-sm,0 1px 3px #3a2a1e0f);display:flex;flex-wrap:wrap;gap:.9rem;margin-bottom:1rem;padding:1rem}.rabbit-filter-group{display:flex;flex-direction:column;gap:.3rem;min-width:140px}.rabbit-filter-group label{color:var(--color-text-muted);font-size:.8rem;font-weight:600;letter-spacing:.03em;text-transform:uppercase}.rabbit-filter-group select{background:var(--color-surface);border:1px solid var(--color-border);border-radius:8px;color:var(--color-text);font-size:.9rem;min-width:140px;padding:.55rem .7rem}.rabbit-filter-group select:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px #8b2e2e1a;outline:none}.rabbit-filter-clear{background:#0000;border:1px solid var(--color-border);border-radius:8px;color:var(--color-text-muted);cursor:pointer;font-size:.85rem;padding:.55rem 1rem;transition:all .2s}.rabbit-filter-clear:hover{background:#f8d7da;background:var(--color-danger-soft,#f8d7da);border-color:#b02a37;border-color:var(--color-danger,#b02a37);color:#b02a37;color:var(--color-danger,#b02a37)}.rabbit-action-bar{align-items:center;background:#2b1f15;background:var(--color-text,#2b1f15);border-radius:12px;box-shadow:0 4px 12px #3a2a1e2e;box-shadow:var(--shadow-md,0 4px 12px #3a2a1e2e);color:#fff;display:flex;flex-wrap:wrap;gap:.75rem;justify-content:space-between;margin-bottom:1rem;padding:.9rem 1.1rem;position:-webkit-sticky;position:sticky;top:0;z-index:20}.rabbit-action-summary{font-size:.95rem;font-weight:600}.rabbit-action-controls{align-items:center;display:flex;flex-wrap:wrap;gap:.5rem}.rabbit-action-select{background:#ffffff1a;border:1px solid #ffffff40;border-radius:8px;color:#fff;cursor:pointer;font-size:.9rem;padding:.55rem .9rem}.rabbit-action-select:focus{border-color:#c18738;border-color:var(--color-accent,#c18738);outline:none}.rabbit-action-select optgroup,.rabbit-action-select option{background:var(--color-surface);color:var(--color-text);font-weight:500}.rabbit-action-select optgroup{font-style:normal;font-weight:700}.rabbit-action-clear{background:#0000;border:1px solid #ffffff59;border-radius:8px;color:#fff;cursor:pointer;font-size:.9rem;padding:.55rem .9rem;transition:background .2s}.rabbit-action-clear:hover{background:#ffffff1f}.rabbit-load-more{color:var(--color-text-muted);font-size:.9rem;font-style:italic;padding:2rem 1rem;text-align:center}.rabbit-list-loading{align-items:center;display:flex;justify-content:center;min-height:200px;padding:3rem 1rem}.rabbit-empty-state{background:var(--color-surface-alt);border:1px dashed var(--color-border);border-radius:14px;color:var(--color-text-muted);padding:3.5rem 1.5rem;text-align:center}.rabbit-empty-icon{color:var(--color-border);display:flex;justify-content:center;margin-bottom:1rem}.rabbit-empty-state h3{color:var(--color-text);font-family:var(--font-serif);font-size:1.35rem;margin:0 0 .5rem}.rabbit-empty-state p{font-size:.95rem;margin:0 0 1.25rem}.rabbit-grid{grid-gap:1.25rem;display:grid;gap:1.25rem;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));padding:0}.rabbit-card{border-left-style:solid;border:1px solid var(--color-border);border-left-width:4px;border-radius:14px;box-shadow:0 1px 3px #3a2a1e0f;box-shadow:var(--shadow-sm,0 1px 3px #3a2a1e0f);cursor:pointer;padding:1.25rem 1.25rem 1rem;position:relative;transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease,background-color .2s ease}.rabbit-card,.rabbit-card.rabbit-status-alive,.rabbit-card.rabbit-status-butchered,.rabbit-card.rabbit-status-dead,.rabbit-card.rabbit-status-for_sale,.rabbit-card.rabbit-status-missing,.rabbit-card.rabbit-status-retired,.rabbit-card.rabbit-status-sold{background-color:initial;color:var(--color-text)}.rabbit-card:hover{background-color:#f1e8d6;background-color:var(--color-surface-hover,#f1e8d6);box-shadow:0 6px 16px #3a2a1e1f;box-shadow:var(--shadow-md,0 6px 16px #3a2a1e1f);transform:translateY(-2px)}.rabbit-card.selected{background-color:#fbeaea;background-color:var(--color-primary-soft,#fbeaea);border-color:var(--color-primary);box-shadow:0 0 0 2px var(--color-primary),0 6px 16px #3a2a1e1f;box-shadow:0 0 0 2px var(--color-primary),var(--shadow-md,0 6px 16px #3a2a1e1f)}.rabbit-card.rabbit-status-butchered,.rabbit-card.rabbit-status-dead{opacity:.75}.rabbit-select{align-items:center;background:var(--color-surface);border:2px solid var(--color-border);border-radius:6px;cursor:pointer;display:flex;height:1.5rem;justify-content:center;left:.85rem;padding:0;position:absolute;top:.85rem;transition:all .15s ease;width:1.5rem;z-index:2}.rabbit-select:hover{background:#f5e9e9;background:var(--color-primary-soft,#f5e9e9);border-color:var(--color-primary)}.rabbit-select.checked{background:var(--color-primary);border-color:var(--color-primary);color:#fff}.rabbit-card-header{align-items:flex-start;display:flex;gap:.75rem;justify-content:space-between;margin-bottom:.85rem;min-height:1.75rem;padding-left:0;transition:padding-left .2s ease}.rabbit-card.selectable .rabbit-card-header{padding-left:2rem}.rabbit-card-header h3{color:var(--color-text);font-family:var(--font-serif);font-size:1.2rem;line-height:1.2;margin:0;word-break:break-word}.rabbit-card-badges{display:flex;flex-wrap:wrap;gap:.35rem;justify-content:flex-end}.rabbit-badge{border-radius:999px;font-size:.72rem;font-weight:600;letter-spacing:.02em;padding:.2rem .65rem;text-transform:capitalize;white-space:nowrap}.rabbit-badge.stud{background:#d1ecf1;background:var(--color-info-soft,#d1ecf1);color:#0c5460;color:var(--color-info,#0c5460)}.rabbit-badge.status.status-alive{background:#d4e6c4;background:var(--color-success-soft,#d4e6c4);color:#4a5f2c;color:var(--color-success,#4a5f2c)}.rabbit-badge.status.status-sold{background:#f6e5d0;background:var(--color-warning-soft,#f6e5d0);color:#8a5a20;color:var(--color-warning,#8a5a20)}.rabbit-badge.status.status-butchered,.rabbit-badge.status.status-dead{background:#e2e3e5;color:#3d3028}.rabbit-badge.status.status-for_sale{background:#d1ecf1;background:var(--color-info-soft,#d1ecf1);color:#0c5460;color:var(--color-info,#0c5460)}.rabbit-details{display:flex;flex-direction:column;gap:.4rem}.rabbit-detail-row{align-items:baseline;border-bottom:1px dotted var(--color-border);display:flex;font-size:.9rem;gap:.75rem;justify-content:space-between;padding:.2rem 0}.rabbit-detail-row:last-of-type{border-bottom:none}.rabbit-detail-label{color:var(--color-text-muted);font-size:.82rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase}.rabbit-detail-value{color:var(--color-text);font-weight:500;text-align:right;word-break:break-word}.rabbit-breeding-chip{align-items:center;background:#f6e5d0;background:var(--color-warning-soft,#f6e5d0);border-radius:8px;color:#8a5a20;color:var(--color-warning,#8a5a20);display:inline-flex;font-size:.85rem;font-weight:600;gap:.4rem;margin-top:.75rem;padding:.45rem .75rem}@media (max-width:768px){.rabbit-list-container{background:#0000}.rabbit-page-header{align-items:stretch;gap:.85rem}.rabbit-page-heading h1{font-size:1.6rem}.rabbit-add-btn{justify-content:center;width:100%}.rabbit-toolbar{align-items:stretch;flex-direction:column;gap:.6rem}.rabbit-filter-toggle,.rabbit-search,.rabbit-select-toggle{justify-content:center;width:100%}.rabbit-search-input{font-size:16px;min-height:44px}.rabbit-filter-toggle,.rabbit-select-toggle{min-height:44px}.rabbit-filters{align-items:stretch;flex-direction:column;gap:.6rem}.rabbit-filter-group{min-width:0}.rabbit-filter-group select{font-size:16px;min-height:44px}.rabbit-filter-clear{min-height:44px;width:100%}.rabbit-action-bar{position:-webkit-sticky;position:sticky;top:0}.rabbit-action-bar,.rabbit-action-controls{align-items:stretch;flex-direction:column}.rabbit-action-clear,.rabbit-action-select{font-size:16px;min-height:44px}.rabbit-grid{gap:.9rem;grid-template-columns:1fr}.rabbit-card{padding:1rem}.rabbit-subtab{font-size:.9rem;padding:.7rem .95rem}}.lists-container{box-sizing:border-box;height:100%;padding:20px;width:100%}.lists-tabs{border-bottom:1px solid var(--color-border-soft);display:flex;gap:0;margin-bottom:20px}.tab-button{background:none;border-bottom:3px solid #0000;color:var(--color-text-muted);font-size:16px;font-weight:500;margin-bottom:-2px;padding:12px 20px}.tab-button:hover{background-color:var(--color-surface-alt)}.tab-button.active{border-bottom-color:var(--color-primary);font-weight:600}.lists-header{align-items:center;border-bottom:1px solid var(--color-border-soft);display:flex;justify-content:space-between;margin-bottom:24px;padding-bottom:16px}.lists-header h2{color:var(--color-text);margin:0}.list-detail-header{align-items:center;border-bottom:1px solid var(--color-border-soft);display:flex;gap:15px;justify-content:space-between;margin-bottom:24px;padding-bottom:16px}.list-detail-header h2{color:var(--color-text);flex:1 1;margin:0;text-align:center}.lists-content{display:flex;flex-direction:column;gap:15px}.list-section{background:var(--color-surface);border:1px solid var(--color-border-soft);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);overflow:hidden}.list-header{align-items:center;background-color:#f5eee0b3;cursor:pointer;display:flex;justify-content:space-between;padding:15px 20px;transition:background-color .2s}.list-header:hover{background-color:var(--color-surface-alt)}.list-header.active{background-color:#8b2e2e14}.list-name{color:var(--color-text);font-size:18px;font-weight:500}.list-body{border-top:1px solid var(--color-border-soft);padding:20px}.btn-add-rabbit{margin-bottom:15px;width:100%}.rabbits-list{display:flex;flex-direction:column;gap:8px}.rabbit-item{align-items:center;background-color:var(--color-bg);border:1px solid var(--color-border-soft);border-radius:6px;cursor:pointer;display:flex;justify-content:space-between;padding:12px 15px;transition:all .2s}.rabbit-item:hover{background-color:var(--color-surface-alt);border-color:var(--color-border)}.rabbit-name{font-size:16px}.btn-remove{background:none;border:none;color:#f44336;cursor:pointer;font-size:20px;opacity:.7;padding:4px 8px;transition:opacity .2s}.btn-remove:hover{opacity:1}.empty-message{color:var(--color-text-muted);font-style:italic;padding:20px;text-align:center}.empty-state{font-size:16px;padding:40px}.modal-confirm{max-width:400px}.warning-text{color:var(--color-danger);font-size:14px;margin-top:10px}.rabbit-selection-list{display:flex;flex-direction:column;gap:8px;max-height:400px;overflow-y:auto}.rabbit-selection-item{background-color:var(--color-bg);border:1px solid var(--color-border-soft);border-radius:6px;color:var(--color-text);cursor:pointer;font-size:16px;padding:12px 15px;transition:all .2s}.rabbit-selection-item:hover{background-color:var(--color-surface-alt);border-color:var(--color-border)}.read-only-field{align-items:center;background-color:var(--color-surface-alt);border:1px solid var(--color-border-soft);border-radius:var(--radius-sm);color:var(--color-text);display:flex;font-size:14px;min-height:38px;padding:10px 12px}.read-only-notes{align-items:flex-start;line-height:1.5;min-height:80px;white-space:pre-wrap}.status-badge{border-radius:12px;padding:4px 12px}.status-alive{background-color:#5f7a3b;color:#fff}.status-sold{background-color:#2196f3;color:#fff}.status-dead{background-color:#757575;color:#fff}.status-butchered{background-color:#c62828;color:#fff}.status-retired{background-color:#3f51b5;color:#fff}.status-missing{background-color:#ff9800;color:#fff}.search-dropdown{position:relative}.search-dropdown input{border:1px solid var(--color-border);border-radius:4px;font-size:1rem;padding:.5rem 2rem .5rem .5rem;width:100%}.clear-search-btn{align-items:center;background:none;border:none;color:var(--color-text-soft);cursor:pointer;display:flex;font-size:1.5rem;height:1.5rem;justify-content:center;padding:0;position:absolute;right:.5rem;top:50%;transform:translateY(-50%);width:1.5rem;z-index:2}.clear-search-btn:hover{color:#000}.dropdown-list{background:var(--color-surface);border:1px solid var(--color-border);border-radius:0 0 4px 4px;border-top:none;box-shadow:0 4px 6px #0000001a;left:0;max-height:400px;overflow-y:auto;position:absolute;right:0;top:100%;z-index:1000}.modal.add-rabbit-modal{display:flex;flex-direction:column;height:600px;overflow:hidden;width:500px}.modal.add-rabbit-modal .modal-header{flex-shrink:0}.modal.add-rabbit-modal .modal-body{overflow:hidden}.modal.add-rabbit-modal .dropdown-list{border:1px solid var(--color-border);border-radius:4px;left:auto;margin-top:8px;max-height:400px;overflow-y:auto;position:relative;right:auto;top:auto}.dropdown-item{cursor:pointer;padding:.75rem 1rem;transition:background-color .2s}.dropdown-item:hover{background-color:#f0f0f0}.dropdown-item.no-results{color:var(--color-text-muted);cursor:default}.dropdown-item.no-results:hover{background-color:var(--color-surface)}.breeding-date-section .list-header{align-items:center;display:flex;justify-content:space-between}.breeding-count{font-size:14px;font-weight:400;margin-left:10px}.breeding-count,.expand-icon{color:var(--color-text-muted)}.expand-icon{font-size:12px}.breeding-list-body{border-top:1px solid var(--color-border-soft);display:flex;flex-direction:column;gap:10px;padding:15px 20px}.breeding-item{background-color:#f9f9f9;border:1px solid var(--color-border-soft);border-radius:6px;padding:12px 15px}.breeding-pair{align-items:center;display:flex;font-size:15px;gap:10px}.breeding-doe{color:#e91e63;font-weight:500}.breeding-buck{color:#2196f3;font-weight:500}.breeding-separator{color:var(--color-text-muted);font-weight:700}.breeding-checkboxes{border-top:1px dashed #e0e0e0;display:flex;gap:20px;margin-top:10px;padding-top:10px;position:relative;z-index:10}.breeding-checkbox{align-items:center;color:var(--color-text);cursor:pointer;display:flex;font-size:13px;gap:6px;position:relative;z-index:11}.breeding-checkbox input[type=checkbox]{cursor:pointer;height:16px;width:16px}.breeding-checkbox.disabled{cursor:default;opacity:.6}.breeding-checkbox.disabled input[type=checkbox]{cursor:default}.breeding-checkbox.disabled span{color:var(--color-text-muted)}.breeding-notes{border-top:1px dashed #e0e0e0;color:var(--color-text-soft);font-size:13px;font-style:italic;margin-top:8px;padding-top:8px}@media (max-width:768px){.lists-container{padding:10px}.lists-tabs{flex-direction:row}.tab-button{font-size:14px;padding:10px 15px}.lists-header{align-items:stretch;flex-direction:column;gap:10px}.lists-header h2{text-align:center}.list-detail-header{flex-wrap:wrap;gap:10px}.list-detail-header h2{flex:1 1 100%;margin-top:5px;order:2;text-align:left}.btn-back{flex:0 0 auto;order:1}.list-detail-header .btn-primary{flex:1 1 auto;order:1}.rabbit-detail-grid{grid-template-columns:1fr}.breeding-pair{flex-wrap:wrap;justify-content:center}}.schedule-page{box-sizing:border-box;height:100%;min-height:100dvh;padding:20px;width:100%}.schedule-page-header{align-items:center;border-bottom:1px solid var(--color-border-soft);display:flex;gap:12px;justify-content:space-between;margin-bottom:22px;padding-bottom:14px}.schedule-page-header h1{color:var(--color-text);font-size:28px;margin:0}.schedule-page-header .btn{align-self:center;flex:0 0 auto;white-space:nowrap;width:auto}.schedule-tabs{background:#f5eee0d9;border:1px solid var(--color-border-soft);border-radius:var(--radius-lg);display:flex;gap:8px;margin-bottom:24px;overflow-x:auto;padding:6px;scrollbar-width:thin}.tab-button{align-items:center;background:#0000;border:none;border-radius:8px;color:var(--color-text-soft);cursor:pointer;display:flex;flex:1 1;font-size:14px;font-weight:600;gap:8px;justify-content:center;min-width:0;padding:12px 16px;transition:all .2s ease}.tab-button:hover{background:#ffffff80;color:var(--color-text)}.tab-button.active{background:var(--color-surface);box-shadow:var(--shadow-sm);color:var(--color-primary)}.tab-icon{align-items:center;background:var(--color-primary-soft);border-radius:999px;color:inherit;display:inline-flex;flex-shrink:0;justify-content:center;line-height:1;min-height:36px;min-width:36px;padding:4px}.tab-icon .ui-icon{height:16px;pointer-events:none;width:16px}.tab-badge{background:#a03530;border-radius:10px;color:#fff;font-size:12px;min-width:20px;padding:2px 8px;text-align:center}.tab-button.active .tab-icon{background:#8b2e2e24}[data-theme=dark] .schedule-tabs{background:var(--color-surface);border-color:var(--color-border)}[data-theme=dark] .tab-button{color:var(--color-text)}[data-theme=dark] .tab-button:hover{background:var(--color-surface-hover);color:var(--color-text)}[data-theme=dark] .tab-button .tab-icon{background:var(--color-surface-alt)}[data-theme=dark] .tab-button.active{background:var(--color-primary-soft);color:var(--color-primary-light)}[data-theme=dark] .tab-button.active .tab-icon{background:#c98c722e}.tab-content{min-height:400px}.loading-state{color:var(--color-text-soft);font-size:16px;padding:60px 20px;text-align:center}.calendar-view{background:var(--color-surface);border:1px solid var(--color-border-soft);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);padding:24px}.calendar-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:24px}.calendar-title{align-items:center;display:flex;gap:12px}.calendar-title h2{color:var(--color-text);font-size:22px;margin:0}.calendar-nav-btn{background:var(--color-surface-alt);border:none;border-radius:50%;color:var(--color-text-soft);cursor:pointer;font-size:18px;height:40px;transition:all .2s ease;width:40px}.calendar-nav-btn:hover{background:var(--color-primary);color:#fff}.calendar-grid{grid-gap:4px;display:grid;gap:4px;grid-template-columns:repeat(7,1fr)}.calendar-day-header{color:var(--color-text-soft);font-size:13px;font-weight:600;padding:12px 8px;text-align:center;text-transform:uppercase}.calendar-day{background:var(--color-surface-alt);border-radius:8px;min-height:80px;padding:8px;position:relative;transition:all .2s ease}.calendar-day.empty{background:#0000}.calendar-day:not(.empty):hover{background:var(--color-surface-hover)}.calendar-day.today{background:var(--color-primary-soft);border:2px solid var(--color-primary)}.calendar-day.has-events{background:#fff8e6}.calendar-day.today.has-events{background:linear-gradient(135deg,#e8f0fe,#fff8e6)}[data-theme=dark] .calendar-day.has-events{background:color-mix(in srgb,var(--color-warning-soft) 65%,var(--color-surface-alt) 35%)}[data-theme=dark] .calendar-day.today.has-events{background:color-mix(in srgb,var(--color-primary-soft) 55%,var(--color-warning-soft) 45%)}.day-number{color:var(--color-text);display:block;font-weight:600;margin-bottom:4px}.calendar-day.today .day-number{color:var(--color-primary)}.day-events{display:flex;flex-direction:column;gap:2px}.event-dot{background:linear-gradient(135deg,var(--color-primary) 0,var(--color-primary-hover) 100%);border-radius:4px;cursor:pointer;padding:2px 6px;transition:transform .2s ease}.event-dot:hover{transform:scale(1.02)}.event-label{color:#fff;font-size:11px;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.event-more{color:var(--color-text-soft);font-size:11px;font-style:italic;padding:2px 4px}.calendar-legend{border-top:1px solid var(--color-border-soft);display:flex;gap:20px;margin-top:20px;padding-top:16px}.legend-item{align-items:center;color:var(--color-text-soft);display:flex;font-size:13px;gap:8px}.legend-dot{border-radius:3px;height:12px;width:12px}.legend-dot.due{background:linear-gradient(135deg,var(--color-primary) 0,var(--color-primary-hover) 100%)}.event-dot.task,.legend-dot.task{background:linear-gradient(135deg,#5f7a3b,#1e8449)}.event-dot.nestbox,.legend-dot.nestbox{background:linear-gradient(135deg,#f39c12,#d68910)}.event-dot.custom,.legend-dot.custom{background:linear-gradient(135deg,var(--color-info) 0,var(--color-primary) 100%)}.event-dot.treatment,.legend-dot.treatment{background:linear-gradient(135deg,#a03530,#80231f)}.event-dot.vaccination,.legend-dot.vaccination{background:linear-gradient(135deg,#8b2e2e,#6f2323)}.calendar-day.clickable{cursor:pointer}.calendar-day.clickable:hover{box-shadow:0 2px 8px #00000026;transform:scale(1.02)}.calendar-detail-header{align-items:center;border-bottom:2px solid #f0f0f0;display:flex;gap:20px;margin-bottom:24px;padding-bottom:16px}.calendar-detail-header h2{color:var(--color-text);font-size:20px;margin:0}.btn-back{background:var(--color-surface-alt);border:none;border-radius:8px;color:var(--color-text-soft);cursor:pointer;font-size:14px;font-weight:600;padding:10px 16px;transition:all .2s ease}.btn-back:hover{background:#e8e8e8;color:var(--color-text)}.calendar-detail-content{min-height:200px}.no-events{color:var(--color-text-soft);padding:60px 20px;text-align:center}.events-list{display:flex;flex-direction:column;gap:12px}.event-card{align-items:center;background:var(--color-surface);border:1px solid var(--color-border-soft);border-radius:12px;display:flex;gap:16px;padding:16px;transition:all .2s ease}.event-card.clickable{cursor:pointer}.event-card.clickable:hover{border-color:#ddd;box-shadow:0 2px 8px #0000001a;transform:translateX(4px)}.event-type-badge{border-radius:6px;color:#fff;font-size:12px;font-weight:600;padding:6px 12px;white-space:nowrap}.event-type-badge.breeding{background:linear-gradient(135deg,var(--color-primary) 0,var(--color-primary-hover) 100%)}.event-type-badge.nestbox{background:linear-gradient(135deg,#f39c12,#d68910)}.event-type-badge.task{background:linear-gradient(135deg,#5f7a3b,#1e8449)}.event-type-badge.custom{background:linear-gradient(135deg,var(--color-info) 0,var(--color-primary) 100%)}.event-type-badge.treatment{background:linear-gradient(135deg,#a03530,#80231f)}.event-type-badge.vaccination{background:linear-gradient(135deg,#8b2e2e,#6f2323)}.event-card-content{flex:1 1;min-width:0}.event-card-content h3{color:var(--color-text);font-size:16px;margin:0 0 4px}.event-card-content p{color:var(--color-text-soft);font-size:14px;margin:0}.event-arrow{color:var(--color-text-muted);flex-shrink:0;font-size:20px}.event-card.clickable:hover .event-arrow{color:var(--color-primary)}.schedule-view{background:var(--color-surface);border-radius:12px;box-shadow:0 2px 8px #00000014;padding:24px}.schedule-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:20px}.schedule-header h2{color:var(--color-text);font-size:20px;margin:0}.schedule-info{display:flex;justify-content:center;padding:40px 20px}.info-card{max-width:400px;text-align:center}.info-icon{font-size:48px;margin-bottom:16px}.info-card h3{color:var(--color-text);font-size:20px;margin:0 0 12px}.info-card p{color:var(--color-text-soft);font-size:14px;line-height:1.6;margin:0 0 20px}.notifications-view{display:flex;flex-direction:column;gap:16px}.notifications-summary{align-items:center;color:var(--color-text-soft);display:flex;font-size:14px;justify-content:space-between;margin-bottom:4px}.clear-all-btn{background:none;border:none;color:var(--color-primary);cursor:pointer;font-size:14px;font-weight:600;padding:4px 0;transition:color .2s ease}.clear-all-btn:hover{color:var(--color-primary-hover);text-decoration:underline}.notifications-list{display:flex;flex-direction:column;gap:12px}.notification-card{align-items:flex-start;background:var(--color-surface);border-left:4px solid #ddd;border-radius:12px;box-shadow:0 2px 8px #00000014;display:flex;gap:16px;padding:16px;transition:all .2s ease}.notification-card:hover{box-shadow:0 4px 12px #0000001f}.notification-card.error{background:#fef5f5;border-left-color:#a03530}.notification-card.warning{background:#fffbf0;border-left-color:#f39c12}.notification-card.success{background:#f0fdf4;border-left-color:#5f7a3b}.notification-card.info{background:#f0f8ff;border-left-color:#8b2e2e}.schedule-toggle{display:inline-block;flex-shrink:0;height:24px;position:relative;width:44px}.schedule-toggle input{height:0;opacity:0;position:absolute;width:0}.schedule-toggle-slider{background-color:#ccc;border-radius:24px;bottom:0;cursor:pointer;left:0;position:absolute;right:0;top:0;transition:.2s}.schedule-toggle-slider:before{background-color:var(--color-surface);border-radius:50%;bottom:3px;box-shadow:0 1px 3px #00000026;content:"";height:18px;left:3px;position:absolute;transition:.2s;width:18px}.schedule-toggle input:checked+.schedule-toggle-slider{background:linear-gradient(135deg,var(--color-primary) 0,var(--color-primary-hover) 100%)}.schedule-toggle input:checked+.schedule-toggle-slider:before{transform:translateX(20px)}.toggle-row{align-items:center;display:flex;justify-content:space-between}.notification-checkbox{align-items:center;display:flex;flex-shrink:0;padding-top:2px}.notification-checkbox input[type=checkbox]{accent-color:var(--color-primary);cursor:pointer;height:20px;width:20px}.notification-icon{flex-shrink:0;font-size:28px}.notification-content{flex:1 1;min-width:0}.notification-header{margin-bottom:4px}.notification-type-badge{background:#00000014;border-radius:4px;color:var(--color-text-soft);display:inline-block;font-size:12px;font-weight:600;padding:2px 8px;text-transform:uppercase}.notification-message{color:var(--color-text);font-size:15px;font-weight:600;margin:0 0 4px}.notification-subtext{color:var(--color-text-soft);font-size:13px;margin:0}.notification-actions{align-items:flex-end;display:flex;flex-direction:column;flex-shrink:0;gap:8px}.notification-action{background:linear-gradient(135deg,var(--color-primary) 0,var(--color-primary-hover) 100%);border-radius:6px;color:#fff;font-size:13px;font-weight:500;padding:6px 14px;text-decoration:none;transition:all .2s ease}.notification-action:hover{box-shadow:0 2px 8px #8b2e2e47;transform:translateY(-1px)}.notification-dismiss{align-items:center;background:#0000000d;border:none;border-radius:50%;color:var(--color-text-muted);cursor:pointer;display:flex;font-size:20px;height:28px;justify-content:center;transition:all .2s ease;width:28px}.notification-dismiss:hover{background:#a03530;color:#fff}.no-notifications{background:var(--color-surface);border-radius:12px;box-shadow:0 2px 8px #00000014;padding:60px 20px;text-align:center}.no-notifications-icon{font-size:48px;margin-bottom:16px}.no-notifications p{color:var(--color-text-soft);font-size:16px;margin:0}.tasks-view{background:var(--color-surface);border-radius:12px;box-shadow:0 2px 8px #00000014;padding:24px}.tasks-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:20px}.tasks-header h2{color:var(--color-text);font-size:20px;margin:0}.tasks-filter-tabs{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:20px}.filter-tab{align-items:center;background:var(--color-surface-alt);border:none;border-radius:20px;color:var(--color-text-soft);cursor:pointer;display:flex;font-size:13px;font-weight:500;gap:6px;padding:8px 16px;transition:all .2s ease}.filter-tab:hover{background:#e8e8e8}.filter-tab.active{background:linear-gradient(135deg,var(--color-primary) 0,var(--color-primary-hover) 100%);color:#fff}.filter-count{background:#fff3;border-radius:10px;font-size:11px;padding:2px 6px}.filter-tab:not(.active) .filter-count{background:#0000001a}.add-task-form{background:var(--color-surface-alt);border:2px dashed #ddd;border-radius:12px;margin-bottom:20px;padding:20px}.add-task-form h3{color:var(--color-text);font-size:16px;margin:0 0 16px}.add-task-form .form-group{margin-bottom:16px}.add-task-form .form-group label{color:var(--color-text-soft);display:block;font-size:14px;font-weight:600;margin-bottom:6px}.add-task-form .form-group input[type=date],.add-task-form .form-group input[type=text],.add-task-form .form-group textarea{border:1px solid var(--color-border);border-radius:8px;box-sizing:border-box;font-size:14px;padding:10px 12px;width:100%}.add-task-form .form-group input:focus,.add-task-form .form-group textarea:focus{border-color:var(--color-primary);outline:none}.add-task-form .checkbox-group label{align-items:center;cursor:pointer;display:flex;font-weight:400;gap:8px}.add-task-form .checkbox-group input[type=checkbox]{accent-color:var(--color-primary);height:18px;width:18px}.add-task-form .form-actions{display:flex;gap:12px;justify-content:flex-end;margin-top:20px}.tasks-list{display:flex;flex-direction:column;gap:12px}.task-card{align-items:flex-start;background:var(--color-surface);border:1px solid var(--color-border-soft);border-radius:12px;display:flex;gap:16px;padding:16px;transition:all .2s ease}.task-card:hover{border-color:#ddd;box-shadow:0 2px 8px #0000000d}.task-card.overdue{background:#fef5f5;border-left:4px solid #a03530}.task-card.today{background:#fffbf0;border-left:4px solid #f39c12}.task-card.upcoming{background:#f0fdf4;border-left:4px solid #5f7a3b}.task-card.completed{background:var(--color-surface-alt);border-left:4px solid #95a5a6;opacity:.7}.task-checkbox{flex-shrink:0;padding-top:2px}.task-checkbox input[type=checkbox]{accent-color:var(--color-primary);cursor:pointer;height:20px;width:20px}.task-content{flex:1 1;min-width:0}.task-content h4{color:var(--color-text);font-size:15px;margin:0 0 4px}.task-content h4.completed{color:var(--color-text-muted);text-decoration:line-through}.task-description{color:var(--color-text-soft);font-size:13px;line-height:1.4;margin:0 0 8px}.task-meta{align-items:center;display:flex;flex-wrap:wrap;gap:12px}.task-date{background:var(--color-surface-hover);border-radius:4px;color:var(--color-text-soft);font-size:12px;font-weight:500;padding:3px 8px}.task-date.overdue{background:#fce4ec;color:#c62828}.task-date.today{background:#fff3e0;color:#e65100}.task-date.upcoming{background:#e8f5e9;color:#2e7d32}.task-date.completed{background:var(--color-surface-alt);color:var(--color-text-muted)}.task-notify{background:#e3f2fd;border-radius:4px;color:#1565c0;font-size:11px;padding:2px 6px}.task-actions{display:flex;flex-shrink:0;gap:8px}.task-action-btn{border:none;border-radius:6px;cursor:pointer;font-size:12px;font-weight:500;padding:6px 12px;transition:all .2s ease}.task-action-btn.edit{background:var(--color-surface-hover);color:var(--color-text-soft)}.task-action-btn.edit:hover{background:var(--color-border-soft);color:var(--color-text)}.task-action-btn.delete{background:#e74c3c1a;color:#a03530}.task-action-btn.delete:hover{background:#a03530;color:#fff}.no-tasks{background:var(--color-surface-alt);border-radius:12px;padding:60px 20px;text-align:center}.no-tasks-icon{font-size:48px;margin-bottom:16px}.no-tasks p{color:var(--color-text-soft);font-size:15px;margin:0}.tasks-header-buttons{align-items:center;display:flex;gap:8px}.section-header-divider{align-items:center;color:var(--color-text-muted);display:flex;font-size:13px;font-weight:600;gap:12px;letter-spacing:.5px;margin:24px 0 12px;text-transform:uppercase}.section-header-divider:after,.section-header-divider:before{background:var(--color-border-soft);content:"";flex:1 1;height:1px}.section-empty{background:var(--color-surface-alt);border-radius:8px;color:var(--color-text-muted);font-size:14px;margin-bottom:4px;padding:16px 12px;text-align:center}.schedule-mode-toggle{background:var(--color-surface-hover);border-radius:8px;display:flex;margin-bottom:16px;padding:3px}.mode-btn{background:#0000;border:none;border-radius:6px;color:var(--color-text-muted);cursor:pointer;flex:1 1;font-size:13px;font-weight:600;padding:8px 12px;transition:all .2s ease}.mode-btn.active{background:var(--color-surface);box-shadow:0 1px 3px #0000001a;color:var(--color-text)}.mode-btn:hover:not(.active){color:var(--color-text-soft)}.task-card.recurring{border-left:3px solid var(--color-primary)}.recurring-badge{background:linear-gradient(135deg,var(--color-primary) 0,var(--color-primary-hover) 100%);border-radius:10px;color:#fff!important;font-size:11px!important;font-weight:600;padding:2px 8px;white-space:nowrap}.template-editor{background:var(--color-surface-alt);border:2px dashed #ddd;border-radius:12px;margin-bottom:20px;padding:20px}.template-editor h3{color:var(--color-text);font-size:16px;margin:0 0 16px}.template-editor .form-group{margin-bottom:16px}.template-editor .form-group label{color:var(--color-text-soft);display:block;font-size:14px;font-weight:600;margin-bottom:6px}.template-editor .form-group input[type=text],.template-editor .form-group select{border:1px solid var(--color-border);border-radius:8px;box-sizing:border-box;font-size:14px;padding:10px 12px;width:100%}.template-editor .form-group input:focus,.template-editor .form-group select:focus{border-color:var(--color-primary);outline:none}.template-steps{margin-bottom:20px}.steps-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:12px}.steps-header h4{color:var(--color-text);font-size:15px;margin:0}.template-step{align-items:flex-start;background:var(--color-surface);border:1px solid var(--color-border-soft);border-radius:8px;display:flex;gap:12px;margin-bottom:8px;padding:12px}.step-number{align-items:center;background:linear-gradient(135deg,var(--color-primary) 0,var(--color-primary-hover) 100%);border-radius:50%;color:#fff;display:flex;flex-shrink:0;font-size:13px;font-weight:700;height:28px;justify-content:center;margin-top:4px;width:28px}.step-fields{flex:1 1;min-width:0}.step-row{align-items:center;display:flex;gap:10px;margin-bottom:8px}.step-title-input{border:1px solid var(--color-border);border-radius:6px;flex:1 1;font-size:14px;padding:8px 10px}.step-title-input:focus{border-color:var(--color-primary);outline:none}.step-day-offset{align-items:center;display:flex;flex-shrink:0;gap:6px}.step-day-offset label{color:var(--color-text-soft);font-size:13px;font-weight:600}.step-day-offset input{border:1px solid var(--color-border);border-radius:6px;font-size:14px;padding:8px 6px;text-align:center;width:60px}.step-day-offset input:focus{border-color:var(--color-primary);outline:none}.step-notify-toggle{align-items:center;color:var(--color-text-soft);cursor:pointer;display:flex;font-size:13px;gap:4px;white-space:nowrap}.step-notify-toggle input[type=checkbox]{accent-color:var(--color-primary);height:16px;width:16px}.step-description-input{border:1px solid #e8e8e8;border-radius:6px;box-sizing:border-box;color:var(--color-text-soft);font-size:13px;padding:6px 10px;width:100%}.step-description-input:focus{border-color:var(--color-primary);outline:none}.step-remove{align-items:center;background:#e74c3c1a;border:none;border-radius:50%;color:#a03530;cursor:pointer;display:flex;flex-shrink:0;font-size:18px;height:26px;justify-content:center;margin-top:4px;transition:all .2s ease;width:26px}.step-remove:hover{background:#a03530;color:#fff}.template-card{background:var(--color-surface);border:1px solid var(--color-border-soft);border-radius:12px;padding:16px;transition:all .2s ease}.template-card.inactive{opacity:.55}.template-card:hover{border-color:#ddd;box-shadow:0 2px 8px #0000000d}.template-card-header{align-items:flex-start;display:flex;gap:12px;justify-content:space-between;margin-bottom:12px}.template-card-info h4{color:var(--color-text);font-size:16px;margin:0 0 6px}.template-card-meta{align-items:center;display:flex;flex-wrap:wrap;gap:8px}.trigger-badge{border-radius:12px;font-size:12px;font-weight:600;padding:3px 10px}.trigger-badge.trigger-breeding{background:var(--color-primary-soft);color:#1a73e8}.trigger-badge.trigger-litter{background:#fff3e0;color:#e65100}.trigger-badge.trigger-kindling{background:#fce4ec;color:#c62828}.trigger-badge.trigger-weaning{background:#e0f2f1;color:#00695c}.trigger-badge.trigger-ailment{background:#fbe9e7;color:#bf360c}.trigger-badge.trigger-treatment{background:#e8eaf6;color:#283593}.trigger-badge.trigger-vaccination{background:#e1f5fe;color:#0277bd}.trigger-badge.trigger-sale{background:#e8f5e9;color:#2e7d32}.trigger-badge.trigger-butcher{background:#efebe9;color:#4e342e}.trigger-badge.trigger-new_rabbit{background:#f1f8e9;color:#558b2f}.trigger-badge.trigger-manual{background:#f3e5f5;color:#7b1fa2}.step-count{font-size:12px}.inactive-badge,.step-count{color:var(--color-text-muted)}.inactive-badge{background:var(--color-surface-alt);border-radius:10px;font-size:11px;padding:2px 8px}.template-card-actions{display:flex;flex-shrink:0;gap:8px}.template-steps-preview{display:flex;flex-wrap:wrap;gap:6px}.step-preview{align-items:center;background:var(--color-surface-alt);border-radius:6px;display:flex;font-size:12px;gap:6px;padding:4px 10px}.step-preview-day{color:var(--color-primary);font-weight:700}.step-preview-title{color:var(--color-text-soft)}.settings-inline .settings-section{background:var(--color-surface-alt);border-radius:12px;margin-bottom:16px;padding:20px}.settings-inline .save-section{display:flex;justify-content:center;padding:16px 0}.settings-inline .btn-save{font-size:15px;padding:12px 36px}.calendar-sync-message{border-radius:8px;font-size:13px;font-weight:500;margin-bottom:12px;padding:10px 14px}.calendar-sync-message.success{background:#f0fdf4;border:1px solid #bbf7d0;color:#166534}.calendar-sync-message.error{background:#fef2f2;border:1px solid #fecaca;color:#991b1b}.calendar-sync-buttons{display:flex;flex-direction:column;gap:10px;margin:16px 0 0}.calendar-provider-card{align-items:center;background:var(--color-surface-alt);border:1px solid var(--color-border-soft);border-radius:10px;display:flex;justify-content:space-between;padding:14px 16px}.calendar-provider-card.disabled{opacity:.55;pointer-events:none}.calendar-provider-info{align-items:center;display:flex;gap:12px}.calendar-provider-info strong{color:var(--color-text);display:block;font-size:14px}.calendar-provider-sub{color:var(--color-text-muted);display:block;font-size:12px;margin-top:1px}.calendar-connected-label{background:#dcfce7;border-radius:10px;color:#166534;display:inline-block;font-size:11px;font-weight:600;margin-left:6px;padding:1px 8px}.calendar-provider-icon{align-items:center;border-radius:8px;color:#fff;display:flex;flex-shrink:0;font-size:16px;font-weight:700;height:36px;justify-content:center;width:36px}.calendar-provider-icon.google{background:#4285f4}.calendar-provider-icon.outlook{background:#0078d4}.calendar-provider-icon.apple{background:#333}.calendar-provider-icon.copy{background:#999;font-size:11px}.calendar-provider-actions{align-items:center;display:flex;gap:8px}.calendar-sync-btn{align-items:center;border:none;border-radius:8px;color:#fff;cursor:pointer;display:inline-flex;font-family:inherit;font-size:13px;font-weight:600;padding:8px 16px;text-decoration:none;transition:all .2s ease}.calendar-sync-btn:hover{box-shadow:0 2px 8px #00000026;opacity:.9}.calendar-sync-btn.google{background:#4285f4}.calendar-sync-btn.apple{background:#333}.calendar-sync-btn.outlook{background:#0078d4}.calendar-sync-btn.copy{background:var(--color-surface-hover);border:1px solid var(--color-border);color:var(--color-text)}.calendar-sync-btn.copy:hover{background:#e5e5e5}@media (max-width:768px){.schedule-page{padding:16px 14px calc(96px + env(safe-area-inset-bottom))}.schedule-page-header{align-items:stretch;flex-direction:column;gap:12px;text-align:left}.schedule-tabs{flex-wrap:nowrap;justify-content:flex-start;margin:0 -2px 20px;padding:6px}.tab-button{flex:0 0 auto;font-size:13px;min-width:132px;padding:10px 14px}.tab-icon{min-height:38px;min-width:38px}.calendar-view{overflow-x:auto;padding:16px}.calendar-header{align-items:stretch;flex-direction:column;gap:12px}.calendar-title{justify-content:space-between}.calendar-title h2{font-size:18px}.calendar-grid{min-width:560px}.calendar-day{min-height:60px;padding:4px}.calendar-day-header{font-size:11px;padding:8px 4px}.day-number{font-size:13px}.event-label{font-size:10px}.notification-card{flex-wrap:wrap;gap:12px}.notification-actions{flex-direction:row;flex-wrap:wrap;justify-content:flex-start;width:100%}.schedule-header{flex-direction:column;gap:12px;text-align:center}.tasks-header{align-items:stretch;flex-direction:column;gap:12px;text-align:left}.tasks-header-buttons{flex-wrap:wrap;justify-content:stretch}.tasks-header-buttons .btn{flex:1 1 180px}.tasks-filter-tabs{flex-wrap:nowrap;justify-content:flex-start;overflow-x:auto;padding-bottom:4px}.task-card{flex-wrap:wrap}.task-actions{justify-content:flex-end;margin-top:8px;width:100%}.add-task-form .form-actions{flex-direction:column}.add-task-form .form-actions .btn{width:100%}.step-row{flex-wrap:wrap}.step-title-input{width:100%}.template-card-header{flex-direction:column;gap:12px}.template-card-actions{flex-wrap:wrap;justify-content:stretch;width:100%}.template-card-actions .btn{flex:1 1 140px}.template-steps-preview{flex-direction:column}.settings-inline .section-header{flex-direction:column;gap:12px}.settings-inline .section-header .btn{width:100%}.calendar-provider-card{align-items:stretch;flex-direction:column;gap:12px}.calendar-provider-actions{justify-content:stretch;width:100%}.calendar-provider-actions .calendar-sync-btn{flex:1 1 auto;justify-content:center}}@media (max-width:480px){.schedule-page{padding-left:12px;padding-right:12px}.tab-button{min-width:118px;padding:10px 8px}.tab-label{font-size:12px}.calendar-day{min-height:50px}.event-dot{padding:1px 4px}.calendar-legend{flex-direction:column;gap:8px}.modal{margin:12px;width:min(100%,calc(100vw - 24px))}.modal-body,.modal-footer,.modal-header{padding-left:16px;padding-right:16px}.modal-footer{flex-direction:column}.modal-footer .btn{width:100%}}.profile-container{background:var(--color-bg);box-sizing:border-box;padding:20px;width:100%}.profile-sections{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}.profile-section-card{background:var(--color-surface);border:1px solid var(--color-border-soft);border-radius:14px;box-shadow:var(--shadow-sm);color:inherit;display:flex;flex-direction:column;gap:8px;padding:24px;text-decoration:none;transition:transform .18s ease-out,box-shadow .18s ease-out,border-color .18s ease-out}.profile-section-card:hover{border-color:var(--color-primary);box-shadow:var(--shadow-md);transform:translateY(-2px)}.profile-section-card h2{color:var(--color-text);font-family:var(--font-serif);font-size:1.35rem;font-weight:600;letter-spacing:-.01em;margin:0}.profile-section-card p{color:var(--color-text-soft);font-size:.95rem;line-height:1.5;margin:0}@media (max-width:768px){.profile-container{padding:12px}.profile-sections{gap:12px;grid-template-columns:1fr}.profile-section-card{padding:18px 20px}}.account-settings-container{box-sizing:border-box;height:100%;overflow-x:hidden;padding:20px;width:100%}.page-header{padding:0 0 16px}.settings-form{background:var(--color-surface);border:1px solid var(--color-border-soft);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);box-sizing:border-box;margin-bottom:24px;max-width:100%;padding:30px;width:100%}.settings-form h2{border-bottom:1px solid var(--color-border-soft);color:var(--color-text);margin-top:0;padding-bottom:10px}.settings-form .form-group,.settings-form h2{margin-bottom:20px}.settings-form .form-row{grid-gap:20px;display:grid;gap:20px;grid-template-columns:1fr 1fr;margin-bottom:20px}.settings-form label{color:var(--color-text-soft);display:block;font-weight:600;margin-bottom:6px}.settings-form input,.settings-form textarea{background:var(--color-surface-alt);border:1px solid var(--color-border);border-radius:var(--radius-sm);box-sizing:border-box;color:var(--color-text);font-size:14px;max-width:100%;padding:10px;width:100%}.settings-form input:focus,.settings-form textarea:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px #8b2e2e1f;outline:none}.settings-form input.disabled-input{background-color:var(--color-surface-alt);color:var(--color-text-muted);cursor:not-allowed}.settings-form textarea{font-family:inherit;resize:vertical}.settings-form small{color:var(--color-text-muted);display:block;font-size:12px;margin-top:4px}.password-form{background:var(--color-surface-alt);border:1px solid var(--color-border)}.password-form h2{color:var(--color-warning-hover)}.appearance-form{background:var(--color-surface-alt)}.appearance-description{color:var(--color-text-soft);line-height:1.5;margin:0 0 20px}.theme-options{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(2,minmax(0,1fr))}.theme-option-card{align-items:flex-start;background:var(--color-surface);border:1px solid var(--color-border-soft);border-radius:var(--radius-lg);color:var(--color-text);cursor:pointer;display:flex;flex-direction:column;gap:12px;padding:18px;text-align:left;transition:border-color .18s ease,transform .18s ease,box-shadow .18s ease,background .18s ease;width:100%}.theme-option-card:hover{background:var(--color-surface-alt);border-color:var(--color-border-strong);transform:translateY(-1px)}.theme-option-card.active{background:var(--color-primary-soft);border-color:var(--color-primary);box-shadow:0 0 0 3px #8b2e2e1f}.theme-option-label{font-size:1rem;font-weight:700}.theme-option-copy{color:var(--color-text-soft);font-size:.94rem;line-height:1.45}.theme-option-preview{border:1px solid var(--color-border-soft);border-radius:12px;display:block;height:72px;overflow:hidden;position:relative;width:100%}.theme-option-preview:after,.theme-option-preview:before{border-radius:10px;content:"";position:absolute}.theme-option-preview:before{height:18px;left:12px;top:12px;width:calc(100% - 24px)}.theme-option-preview:after{height:20px;left:12px;top:38px;width:58%}.theme-option-preview-light{background:#faf6ef}.theme-option-preview-light:before{background:#f5eee0}.theme-option-preview-light:after{background:#8b2e2e}.theme-option-preview-dark{background:#17120e;border-color:#3b2f25}.theme-option-preview-dark:before{background:#2b211a}.theme-option-preview-dark:after{background:#c98c72}.error-message,.success-message{padding:12px 14px}.success-message{border-left:4px solid var(--color-success)}@media (max-width:768px){.account-settings-container{padding:15px}.settings-form{padding:20px}.settings-form .form-row,.theme-options{grid-template-columns:1fr}.settings-form .form-group{max-width:100%;width:100%}.settings-form input,.settings-form textarea{font-size:16px}.account-settings-container .page-header .btn,.account-settings-container .settings-form .btn{box-sizing:border-box;max-width:100%;width:100%}}.rabbitry-container{box-sizing:border-box;height:100%;overflow-x:hidden;padding:20px;width:100%}.page-header{border-bottom:1px solid var(--color-border-soft);margin-bottom:16px;padding-bottom:16px}.page-header h1{font-size:1.85rem}.rabbitry-subtitle{color:var(--color-text-soft);font-size:16px;margin-bottom:24px}.rabbitry-form{background:var(--color-surface);border:1px solid var(--color-border-soft);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);box-sizing:border-box;max-width:100%;padding:32px;width:100%}.rabbitry-form .form-group{margin-bottom:24px}.rabbitry-form label{color:var(--color-text-soft);display:block;font-size:14px;font-weight:600;margin-bottom:8px}.rabbitry-form input,.rabbitry-form textarea{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-sm);box-sizing:border-box;color:var(--color-text);font-size:14px;max-width:100%;padding:10px 12px;transition:border-color .2s ease;width:100%}.rabbitry-form input:focus,.rabbitry-form textarea:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px #8b2e2e1f;outline:none}.rabbitry-form input:disabled,.rabbitry-form textarea:disabled{background-color:var(--color-surface-alt);cursor:not-allowed}.rabbitry-form textarea{font-family:inherit;resize:vertical}.rabbitry-form small{color:var(--color-text-muted);display:block;font-size:12px;margin-top:6px}.error-message{border:1px solid #e8bdb9;border-radius:var(--radius-sm);color:var(--color-danger-hover)}.error-message,.success-message{word-wrap:break-word;box-sizing:border-box;margin-bottom:20px;max-width:100%;padding:12px 16px;width:100%}.success-message{background:var(--color-success-soft);border:1px solid #d2dcc1;border-radius:var(--radius-sm);color:var(--color-success-hover)}.breed-select{background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-sm);box-sizing:border-box;cursor:pointer;font-size:14px;max-width:100%;padding:10px 12px;transition:border-color .2s ease;width:100%}.breed-select:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px #8b2e2e1f;outline:none}.breed-select:disabled{background-color:var(--color-surface-alt);cursor:not-allowed}.btn-toggle-other{background:var(--color-info-soft);border:none;border-radius:6px;color:var(--color-info);cursor:pointer;display:inline-block;font-size:13px;font-weight:500;margin-top:8px;padding:8px 16px;transition:background-color .2s ease}.btn-toggle-other:hover:not(:disabled){background:#d9e3ea}.btn-toggle-other:disabled{background-color:var(--color-surface-alt);cursor:not-allowed}.selected-breeds{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.breed-label{background-color:var(--color-success);border-radius:16px;display:inline-flex;font-size:13px;font-weight:500;gap:6px;padding:6px 10px}.breed-label,.remove-breed{align-items:center;color:#fff}.remove-breed{background:none;border:none;border-radius:50%;cursor:pointer;display:flex;font-size:18px;height:18px;justify-content:center;line-height:1;margin:0;padding:0;transition:background-color .2s ease;width:18px}.remove-breed:hover{background-color:#fff3}.remove-breed:disabled{cursor:not-allowed;opacity:.6}.other-breed-input{margin-top:12px}.other-breed-input label{color:var(--color-text);display:block;font-size:14px;font-weight:600;margin-bottom:8px}.other-breed-controls{align-items:stretch;display:flex;gap:8px}.other-breed-controls input{flex:1 1;margin:0}.logo-section{margin-bottom:24px}.logo-section small{color:var(--color-text-soft);display:block;font-size:12px;margin-bottom:12px;margin-top:4px}.logo-upload-area{display:flex;flex-direction:column;gap:12px}.logo-preview-container{align-items:center;display:flex;gap:20px}.logo-preview{background:var(--color-surface-alt);border:2px solid var(--color-border-soft);border-radius:8px;height:120px;object-fit:contain;padding:8px;width:120px}.logo-actions{display:flex;flex-direction:column;gap:8px}.logo-change-btn{display:inline-block}.logo-dropzone{align-items:center;background:var(--color-surface-alt);border:2px dashed #ccc;border-radius:12px;cursor:pointer;display:flex;justify-content:center;padding:32px;transition:all .2s ease}.logo-dropzone:hover{background:#f0faf0;border-color:#5f7a3b}.dropzone-content{align-items:center;color:var(--color-text-soft);display:flex;flex-direction:column;gap:8px}.dropzone-icon{align-items:center;border:2px solid #ccc;border-radius:50%;color:var(--color-text-muted);display:flex;font-size:2rem;font-weight:300;height:48px;justify-content:center;width:48px}.dropzone-hint{color:var(--color-text-muted);font-size:12px}.logo-save-btn{align-self:flex-start}@media (max-width:768px){.rabbitry-container{padding:15px}.rabbitry-form{padding:20px}.rabbitry-form .form-group{max-width:100%;width:100%}.rabbitry-form input,.rabbitry-form textarea{font-size:16px}.rabbitry-container .page-header .btn,.rabbitry-container .rabbitry-form .btn{box-sizing:border-box;max-width:100%;width:100%}.breed-select{font-size:16px}.selected-breeds{gap:6px}.breed-label{font-size:12px;padding:5px 8px}.other-breed-controls{flex-direction:column}.other-breed-controls .btn{width:100%}}.subscription-container{box-sizing:border-box;height:100%;padding:20px;width:100%}.page-header{align-items:center;border-bottom:2px solid var(--color-border-soft);display:flex;gap:20px;margin-bottom:30px;padding-bottom:15px}.page-header h1{flex:1 1;text-align:center}.header-spacer{width:140px}.subscription-card{background-color:var(--color-surface);border-radius:8px;box-shadow:0 2px 4px #0000001a;margin-bottom:30px;padding:30px}.subscription-card h2{border-bottom:2px solid #f0f0f0;color:var(--color-text);margin-bottom:20px;margin-top:0;padding-bottom:10px}.plan-info{display:flex;flex-direction:column;gap:15px;margin-bottom:30px}.plan-expiry,.plan-status,.plan-tier{align-items:center;display:flex;gap:15px}.plan-expiry label,.plan-status label,.plan-tier label{color:var(--color-text-soft);font-weight:600;min-width:80px}.tier-badge{border-radius:20px;display:inline-block;font-size:14px;font-weight:700;letter-spacing:.5px;padding:6px 16px}.tier-free{background-color:var(--color-border-soft);color:var(--color-text-soft)}.tier-basic{background-color:#bbdefb;color:#1565c0}.tier-premium{background-color:#ffd54f;color:#f57f17}.status-badge{display:inline-block;font-weight:600;padding:6px 16px}.status-active{background-color:#c8e6c9;color:#2e7d32}.status-cancelled{background-color:#ffecb3;color:#f57f17}.status-expired{background-color:#ffcdd2;color:#c62828}.upgrade-notice{background:linear-gradient(135deg,var(--color-primary) 0,var(--color-primary-hover) 100%);border-radius:8px;color:#fff;margin-top:20px;padding:25px}.upgrade-notice h3{font-size:20px;margin-bottom:10px;margin-top:0}.upgrade-notice p{margin:0;opacity:.95}.manage-subscription{background-color:var(--color-surface-alt);border-radius:6px;margin-top:20px;padding:20px}.manage-subscription h3{margin-bottom:10px;margin-top:0}.manage-subscription p{color:var(--color-text-soft);margin:0}.features-card{background:linear-gradient(180deg,#fff 0,#f9f9f9)}.features-grid{grid-gap:30px;display:grid;gap:30px;grid-template-columns:1fr 1fr;margin-top:20px}.feature-column{background-color:var(--color-surface);border:2px solid var(--color-border-soft);border-radius:8px;padding:20px}.feature-column.highlighted{border-color:#ffd54f;box-shadow:0 4px 12px #ffd54f4d;position:relative}.feature-column h3{color:var(--color-text);font-size:20px;margin-bottom:15px;margin-top:0}.coming-soon{background-color:#ff9800;border-radius:12px;color:#fff;display:inline-block;font-size:11px;font-weight:700;letter-spacing:.5px;margin-bottom:10px;padding:4px 12px;text-transform:uppercase}.feature-column ul{list-style:none;margin:0;padding:0}.feature-column li{border-bottom:1px solid #f0f0f0;color:var(--color-text-soft);padding:10px 0 10px 20px;position:relative}.feature-column li:last-child{border-bottom:none}.feature-column li:before{background:#5f7a3b;border-radius:999px;content:"";height:8px;left:0;position:absolute;top:16px;width:8px}.loading{font-size:16px;padding:40px}@media (max-width:768px){.features-grid{grid-template-columns:1fr}}.statistics-container{box-sizing:border-box;height:100%;padding:20px;width:100%}.page-header{margin-bottom:24px}.page-header h1{color:#3a2a1e;font-size:1.8rem;margin:0}.stats-summary{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));margin-bottom:32px}.summary-card{align-items:flex-start;box-shadow:0 2px 8px #00000014;gap:16px;padding:20px;transition:transform .2s,box-shadow .2s}.summary-card:hover{box-shadow:0 4px 16px #0000001f;transform:translateY(-2px)}.summary-icon{align-items:center;color:#2563eb;display:inline-flex;flex-shrink:0;justify-content:center}.summary-content{flex:1 1;min-width:0}.summary-content h3{color:var(--color-text-soft);font-size:.85rem;font-weight:500;letter-spacing:.5px;margin:0 0 4px;text-transform:uppercase}.summary-value{color:#3a2a1e;font-size:2rem;font-weight:700;line-height:1.2;margin:0}.summary-detail{color:var(--color-text-muted);font-size:.85rem;margin:4px 0 0}.summary-value.negative{color:#c62828}.month-compare-row{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));margin-bottom:24px}.month-compare-card{background:var(--color-surface);border-radius:10px;box-shadow:0 2px 6px #0000000f;padding:14px 16px}.month-compare-label{color:var(--color-text-soft);font-size:.75rem;font-weight:500;letter-spacing:.5px;margin-bottom:6px;text-transform:uppercase}.month-compare-value{align-items:baseline;color:#3a2a1e;display:flex;font-size:1.4rem;font-weight:700;gap:10px}.month-compare-delta{border-radius:10px;font-size:.75rem;font-weight:600;padding:2px 8px}.month-compare-delta.up{background:#e8f5e9;color:#2e7d32}.month-compare-delta.down{background:#ffebee;color:#c62828}.month-compare-sub{color:var(--color-text-muted);font-size:.75rem;margin-top:4px}.financial-row{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));margin-bottom:32px}.financial-card{background:var(--color-surface);border-left:4px solid #ccc;border-radius:12px;box-shadow:0 2px 8px #00000014;padding:20px}.financial-card.income{border-left-color:#5f7a3b}.financial-card.expense{border-left-color:#ef5350}.financial-label{color:var(--color-text-soft);font-size:.8rem;font-weight:500;letter-spacing:.5px;margin-bottom:8px;text-transform:uppercase}.financial-value{color:#3a2a1e;font-size:1.8rem;font-weight:700;line-height:1.2}.financial-card.expense .financial-value{color:#c62828}.financial-card.income .financial-value{color:#2e7d32}.financial-sub{color:var(--color-text-muted);font-size:.8rem;margin-top:4px}.lifetime-row{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));margin-bottom:32px}.lifetime-card{background:var(--color-surface);border-radius:12px;box-shadow:0 2px 8px #00000014;padding:18px 20px;text-align:center}.lifetime-label{color:var(--color-text-soft);font-size:.75rem;font-weight:500;letter-spacing:.5px;margin-bottom:8px;text-transform:uppercase}.lifetime-value{color:#3a2a1e;font-size:2rem;font-weight:700;line-height:1.2}.lifetime-sub{color:var(--color-text-muted);font-size:.75rem;margin-top:4px}.charts-grid{grid-gap:24px;display:grid;gap:24px;grid-template-columns:repeat(2,1fr);margin-bottom:32px}.chart-card{background:var(--color-surface);border-radius:12px;box-shadow:0 2px 8px #00000014;padding:24px}.chart-card.full-width{grid-column:1/-1}.chart-card h3{color:#3a2a1e;font-size:1.1rem;font-weight:600;margin:0 0 20px}.producers-section{grid-gap:24px;display:grid;gap:24px;grid-template-columns:repeat(auto-fit,minmax(350px,1fr));margin-bottom:32px}.producer-card{background:var(--color-surface);border-radius:12px;box-shadow:0 2px 8px #00000014;padding:24px}.producer-card h3{color:#3a2a1e;font-size:1.1rem;font-weight:600;margin:0 0 16px}.producer-list{display:flex;flex-direction:column;gap:12px}.producer-item{align-items:center;background:var(--color-surface-alt);border-radius:8px;cursor:pointer;display:flex;gap:12px;padding:12px;transition:background .2s}.producer-item:hover{background:#e9ecef}.producer-rank{color:var(--color-text-muted);font-size:1rem;font-weight:700;min-width:32px}.producer-info{display:flex;flex:1 1;flex-direction:column;gap:2px;min-width:0}.producer-name{color:#3a2a1e;font-size:.95rem;font-weight:600}.producer-stats{color:var(--color-text-soft);font-size:.8rem}.producer-bar{background:var(--color-border-soft);border-radius:4px;height:8px;overflow:hidden;width:60px}.producer-bar-fill{background:linear-gradient(90deg,#e91e63,#ff4081);border-radius:4px;height:100%;transition:width .3s ease}.producer-bar.buck .producer-bar-fill{background:linear-gradient(90deg,#2196f3,#64b5f6)}.chart-empty{align-items:center;background:var(--color-surface-alt);border-radius:8px;color:var(--color-text-muted);display:flex;font-size:.95rem;height:250px;justify-content:center;margin-top:10px;text-align:center}.empty-state{font-size:1.1rem}.loading{font-size:1rem;padding:60px 20px}.recharts-tooltip-wrapper{outline:none}.recharts-default-tooltip{background:#fff!important;border:1px solid #e0e0e0!important;border-radius:8px!important;box-shadow:0 4px 12px #00000026!important;padding:12px!important}@media (max-width:1024px){.charts-grid{grid-template-columns:1fr}.chart-card.full-width{grid-column:1}}@media (max-width:768px){.statistics-container{padding:12px}.page-header h1{font-size:1.4rem}.stats-summary{gap:12px;grid-template-columns:repeat(2,1fr)}.summary-card{align-items:center;flex-direction:column;gap:8px;padding:14px;text-align:center}.summary-icon{font-size:1.6rem}.summary-value{font-size:1.5rem}.summary-content h3,.summary-detail{font-size:.75rem}.charts-grid{gap:16px}.chart-card{padding:16px}.chart-card h3{font-size:1rem;margin-bottom:12px}.producers-section{gap:16px;grid-template-columns:1fr}.producer-card{padding:16px}.producer-item{padding:10px}.producer-bar{width:40px}.month-compare-row{gap:10px;grid-template-columns:repeat(2,1fr)}.month-compare-value{font-size:1.2rem}.financial-value{font-size:1.4rem}.lifetime-row{grid-template-columns:repeat(2,1fr)}.lifetime-value{font-size:1.5rem}}@media (max-width:480px){.month-compare-row,.stats-summary{grid-template-columns:1fr}.lifetime-row{grid-template-columns:repeat(2,1fr)}}.prefs-content{width:100%}.section-description{color:var(--color-text-muted);font-size:13px;margin:-10px 0 16px}.save-row{display:flex;justify-content:flex-end;margin-bottom:30px}.contact-prefs-page .settings-form .radio-option input[type=radio]{accent-color:#5f7a3b;border:none!important;flex-shrink:0;margin:0!important;max-width:none!important;padding:0!important;width:auto!important}.contact-prefs-page .settings-form label.radio-option,.contact-prefs-page .settings-form label.toggle-option{align-items:center;color:inherit;display:flex;font-weight:400;margin-bottom:0}.radio-group{display:flex;flex-direction:column;gap:10px}.radio-option{align-items:flex-start;border:2px solid var(--color-border-soft);border-radius:8px;cursor:pointer;display:flex;gap:12px;padding:14px 16px;transition:all .2s ease}.radio-option:hover{background-color:#fafafa;border-color:#a5d6a7}.radio-option.selected{background-color:#f1f8e9;border-color:#5f7a3b}.radio-content{display:flex;flex:1 1;flex-direction:column;gap:2px}.radio-content strong{color:var(--color-text);font-size:14px}.radio-content span{color:var(--color-text-muted);font-size:13px;line-height:1.4}.toggle-group{display:flex;flex-direction:column;gap:12px}.toggle-option{align-items:center;border:1px solid var(--color-border-soft);border-radius:8px;cursor:pointer;display:flex;gap:14px;padding:14px 16px}.toggle-content{display:flex;flex:1 1;flex-direction:column;gap:2px;min-width:0}.toggle-content strong{color:var(--color-text);font-size:14px}.toggle-content span{color:var(--color-text-muted);font-size:13px;line-height:1.4}.toggle-switch{background:#ccc;border-radius:13px;cursor:pointer;flex-shrink:0;height:26px;min-width:48px;position:relative;transition:background .2s ease;width:48px}.toggle-switch.on{background:#5f7a3b}.toggle-knob{background:var(--color-surface);border-radius:50%;box-shadow:0 1px 3px #0003;height:22px;left:2px;position:absolute;top:2px;transition:transform .2s ease;width:22px}.toggle-switch.on .toggle-knob{transform:translateX(22px)}.no-blocked{color:var(--color-text-muted);font-size:14px;font-style:italic}.blocked-list{display:flex;flex-direction:column;gap:8px}.blocked-user-row{align-items:center;background:var(--color-surface-alt);border:1px solid var(--color-border-soft);border-radius:8px;display:flex;justify-content:space-between;padding:12px 16px}.blocked-user-info{display:flex;flex-direction:column;gap:2px}.blocked-user-info strong{color:var(--color-text);font-size:14px}.blocked-rabbitry{color:var(--color-text-muted);font-size:12px}.unblock-btn{background:none;border:1px solid #e53935;border-radius:6px;color:#e53935;cursor:pointer;font-size:13px;padding:6px 14px;transition:all .2s ease}.unblock-btn:hover{background:#e53935;color:#fff}@media (max-width:768px){.prefs-content{max-width:100%}}.listings-toolbar{align-items:center;border-bottom:1px solid var(--color-border-soft);display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between;margin-bottom:20px;padding-bottom:16px}.listings-filter-chips{display:flex;flex-wrap:wrap;gap:8px}.listings-chip{background:var(--color-surface);border:1px solid var(--color-border);border-radius:16px;color:var(--color-text-soft);cursor:pointer;font-size:13px;padding:6px 14px;transition:all .15s ease}.listings-chip:hover{background:var(--color-surface-alt);border-color:var(--color-primary-soft)}.listings-chip.active{background:var(--color-primary);border-color:var(--color-primary);color:#fff}.listings-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}.listing-card{background:var(--color-surface);border:1px solid var(--color-border-soft);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);display:flex;flex-direction:column;overflow:hidden;transition:box-shadow .15s ease}.listing-card:hover{box-shadow:var(--shadow-md)}.listing-card.listing-status-cancelled{opacity:.7}.listing-card.listing-status-sold{opacity:.85}.listing-photo{aspect-ratio:4/3;background:var(--color-surface-alt);overflow:hidden;position:relative;width:100%}.listing-photo img{height:100%;object-fit:cover;width:100%}.listing-photo-placeholder{align-items:center;color:var(--color-text-muted);display:flex;height:100%;justify-content:center;width:100%}.listing-status-badge{border-radius:12px;color:#fff;font-size:11px;font-weight:600;letter-spacing:.5px;padding:3px 10px;position:absolute;right:8px;text-transform:uppercase;top:8px}.status-active{background:var(--color-success)}.status-sold{background:var(--color-text-soft)}.status-cancelled{background:var(--color-text-muted)}.status-flagged{background:var(--color-danger)}.listing-body{flex:1 1;padding:12px 14px}.listing-body h3{color:var(--color-text);font-size:16px;margin:0 0 4px}.listing-rabbit-name{color:var(--color-text-soft);font-size:13px;margin:0 0 6px}.listing-price{color:var(--color-success);font-size:17px;font-weight:600;margin:0 0 6px}.listing-meta{align-items:center;color:var(--color-text-soft);display:inline-flex;font-size:12px;gap:6px;margin:0 0 6px}.listing-stats{color:var(--color-text-muted);display:flex;font-size:12px;gap:12px;margin-top:8px}.listing-reports,.listing-stats span{align-items:center;display:inline-flex;gap:4px}.listing-reports{color:var(--color-danger)}.listing-actions{background:var(--color-surface-alt);border-top:1px solid var(--color-border-soft);display:flex;gap:6px;padding:10px 14px}.listing-actions .btn{flex:1 1}.currency-input{align-items:center;display:flex;position:relative}.currency-input .currency-prefix{color:var(--color-text-soft);font-size:15px;font-weight:600;left:12px;pointer-events:none;position:absolute}.currency-input input{padding-left:26px!important;width:100%}.listing-photo-preview{align-items:flex-start;display:flex;flex-direction:column;gap:6px;margin-bottom:10px}.listing-photo-preview img{border:1px solid var(--color-border-soft);border-radius:var(--radius-md);max-height:150px;max-width:200px}@media (max-width:600px){.listings-grid{grid-template-columns:1fr}.listings-toolbar{align-items:stretch;flex-direction:column}}.admin-badge{align-items:center;background:var(--color-primary);border-radius:999px;box-shadow:0 1px 2px #3a2a1e26;color:#fff;display:inline-flex;font-size:.7rem;font-weight:700;gap:4px;letter-spacing:.02em;line-height:1;padding:2px 8px;vertical-align:middle;white-space:nowrap}.admin-badge .ui-icon{flex-shrink:0}.admin-badge-label{font-size:.7rem}.admin-badge-icon-only{border-radius:50%;height:18px;justify-content:center;padding:2px;width:18px}.marketplace-container{box-sizing:border-box;padding:20px}.marketplace-header{border-bottom:1px solid var(--color-border-soft);margin-bottom:20px;padding-bottom:16px}.marketplace-header-row{align-items:flex-start;display:flex;gap:16px;justify-content:space-between}.marketplace-header h1{align-items:center;color:var(--color-text);display:flex;gap:10px;margin:0 0 6px}.marketplace-heading-icon{color:var(--color-primary)}.marketplace-header p{color:var(--color-text-soft);font-size:14px;margin:0}.marketplace-filters{grid-gap:8px;background:var(--color-surface);border:1px solid var(--color-border-soft);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);display:grid;gap:8px;grid-template-columns:2fr 1fr 1fr 1fr 1fr auto auto;margin-bottom:24px;padding:14px}.marketplace-filters input,.marketplace-filters select{background:var(--color-surface);border:1.5px solid var(--color-border);border-radius:var(--radius-md);box-sizing:border-box;color:var(--color-text);font-size:.95rem;min-height:42px;padding:.65rem .8rem;transition:border-color .15s ease,box-shadow .15s ease,background .15s ease}.marketplace-filters input:focus,.marketplace-filters select:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px #8b2e2e1f;outline:none}.marketplace-search{grid-column:span 1}.marketplace-grid{grid-gap:18px;display:grid;gap:18px;grid-template-columns:repeat(auto-fill,minmax(260px,1fr))}.marketplace-card{background:var(--color-surface);border:1px solid var(--color-border-soft);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);color:inherit;display:flex;flex-direction:column;overflow:hidden;text-decoration:none;transition:all .15s ease}.marketplace-card:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.marketplace-card-photo{aspect-ratio:4/3;background:var(--color-surface-alt);overflow:hidden}.marketplace-card-photo img{height:100%;object-fit:cover;width:100%}.marketplace-photo-placeholder{align-items:center;color:var(--color-text-muted);display:flex;height:100%;justify-content:center;width:100%}.marketplace-card-body{padding:12px 14px}.marketplace-card-body h3{color:var(--color-text);font-size:16px;margin:0 0 6px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.marketplace-card-price{color:var(--color-success);font-size:18px;font-weight:700;margin:0 0 8px}.marketplace-card-meta{color:var(--color-text-soft);display:flex;flex-wrap:wrap;font-size:12px;gap:10px;margin-bottom:6px}.listing-detail-contact p,.listing-detail-meta div,.listing-detail-views,.marketplace-card-meta span{align-items:center;display:inline-flex;gap:6px}.marketplace-card-rabbitry{color:var(--color-text-muted);font-size:12px;font-style:italic;margin:6px 0 0}.marketplace-empty{background:var(--color-surface);border:1px solid var(--color-border-soft);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);padding:40px 20px;text-align:center}.marketplace-empty p{color:var(--color-text-soft);margin:0 0 16px}.listing-detail{grid-gap:24px;background:var(--color-surface);border:1px solid var(--color-border-soft);border-radius:var(--radius-xl);box-shadow:var(--shadow-md);display:grid;gap:24px;grid-template-columns:minmax(280px,1fr) 1.2fr;overflow:hidden}.listing-detail-photo{aspect-ratio:1;background:var(--color-surface-alt);overflow:hidden}.listing-detail-photo img{height:100%;object-fit:cover;width:100%}.listing-detail-body{padding:24px}.listing-detail-body h1{color:var(--color-text);margin:0 0 8px}.listing-detail-price{color:var(--color-success);font-size:28px;font-weight:700;margin:0 0 20px}.listing-detail-meta{background:var(--color-surface-alt);border:1px solid var(--color-border-soft);border-radius:var(--radius-md);color:var(--color-text);display:flex;flex-direction:column;font-size:14px;gap:6px;margin-bottom:20px;padding:12px}.listing-detail-description{margin-bottom:20px}.listing-detail-contact h3,.listing-detail-description h3{color:var(--color-text-soft);font-size:15px;letter-spacing:.5px;margin:0 0 8px;text-transform:uppercase}.listing-detail-description p{color:var(--color-text);margin:0;white-space:pre-wrap}.listing-detail-contact{background:var(--color-success-soft);border:1px solid #5f7a3b2e;border-radius:var(--radius-md);margin-bottom:20px;padding:12px}.listing-detail-contact p{margin:4px 0}.listing-detail-actions{display:flex;gap:10px;margin-bottom:12px}.listing-detail-views{color:var(--color-text-muted);font-size:12px;margin:0}@media (max-width:768px){.marketplace-filters{grid-template-columns:1fr 1fr}.listing-detail{grid-template-columns:1fr}}@media (max-width:500px){.marketplace-filters,.marketplace-grid{grid-template-columns:1fr}}.messages-container{box-sizing:border-box;padding:20px;width:100%}.messages-header{align-items:center;border-bottom:1px solid var(--color-border-soft);display:flex;justify-content:space-between;margin-bottom:24px;padding-bottom:14px}.messages-header h1{color:var(--color-text);margin:0}.new-message-btn{background:var(--color-primary);border:none;border-radius:var(--radius-md);box-shadow:var(--shadow-sm);color:#fff;cursor:pointer;font-size:14px;font-weight:600;padding:10px 20px;transition:all .2s ease}.new-message-btn:hover{background:var(--color-primary-hover);box-shadow:var(--shadow-md)}.messages-error{background:var(--color-danger-soft);border-left:4px solid var(--color-danger);border-radius:var(--radius-sm);color:var(--color-danger-hover);font-size:14px;margin-bottom:16px;padding:12px 16px}.empty-inbox{background:var(--color-surface);border:1px solid var(--color-border-soft);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);color:var(--color-text-muted);padding:60px 20px;text-align:center}.empty-icon{color:var(--color-primary)}.empty-inbox h2{color:var(--color-text);margin-bottom:8px}.empty-inbox p{font-size:14px}.conversation-list{background:var(--color-surface);border:1px solid var(--color-border-soft);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);display:flex;flex-direction:column;overflow:hidden}.conversation-item{align-items:center;border-bottom:1px solid var(--color-border-soft);cursor:pointer;display:flex;gap:14px;padding:16px 18px;transition:background-color .15s}.conversation-item:last-child{border-bottom:none}.conversation-item:hover{background-color:var(--color-surface-alt)}.conversation-item.unread{background-color:var(--color-success-soft)}.conversation-item.unread:hover{background-color:#e3ead5}.convo-avatar{align-items:center;background:var(--color-primary);border-radius:50%;color:#fff;display:flex;flex-shrink:0;font-size:18px;font-weight:600;height:44px;justify-content:center;width:44px}.convo-content{display:flex;flex:1 1;flex-direction:column;gap:2px;min-width:0}.convo-top-row{align-items:center;display:flex;justify-content:space-between}.convo-name{color:var(--color-text);font-size:14px;font-weight:600}.convo-rabbitry{font-size:13px;font-weight:400}.convo-rabbitry,.convo-time{color:var(--color-text-muted)}.convo-time{flex-shrink:0;font-size:12px}.convo-subject{color:var(--color-text-soft);font-size:13px;font-weight:500}.convo-rabbit{color:var(--color-primary);font-size:12px;font-style:italic}.convo-preview{font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.convo-preview,.you-prefix{color:var(--color-text-muted)}.preview-transfer-icon{color:var(--color-primary);font-weight:500}.convo-badge{background:var(--color-primary);border-radius:12px;color:#fff;flex-shrink:0;font-size:12px;font-weight:600;min-width:20px;padding:2px 8px;text-align:center}.new-message-modal form{padding:20px 24px 24px}.form-field,.selected-recipient,.user-search-field{margin-bottom:16px}.form-field label,.selected-recipient label,.user-search-field label{color:var(--color-text-soft);display:block;font-size:13px;font-weight:600;margin-bottom:6px}.form-field input,.form-field textarea,.user-search-field input{background:var(--color-surface);border:1.5px solid var(--color-border);border-radius:var(--radius-md);box-sizing:border-box;color:var(--color-text);font-size:.95rem;padding:.65rem .8rem;transition:border-color .15s ease,box-shadow .15s ease,background .15s ease;width:100%}.form-field input:focus,.form-field textarea:focus,.user-search-field input:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px #8b2e2e1f;outline:none}.form-field textarea{font-family:inherit;min-height:80px;resize:vertical}.search-hint{color:var(--color-text-muted);font-size:12px;padding:6px 0}.search-dropdown{background:var(--color-surface);border:1px solid var(--color-border-soft);border-radius:var(--radius-md);box-shadow:var(--shadow-md);margin-top:4px;max-height:200px;overflow-y:auto}.search-result-item{border-bottom:1px solid var(--color-border-soft);cursor:pointer;display:flex;flex-direction:column;gap:2px;padding:.8rem .9rem}.search-result-item:last-child{border-bottom:none}.search-result-item:hover{background-color:var(--color-surface-alt)}.search-result-item strong{color:var(--color-text);font-size:14px}.search-rabbitry{color:var(--color-text-muted);font-size:12px}.selected-recipient .recipient-chip{align-items:center;background:var(--color-success-soft);border:1px solid #5f7a3b2e;border-radius:20px;color:var(--color-success);display:inline-flex;font-size:14px;gap:6px;padding:6px 12px}.chip-remove{color:var(--color-text-soft);font-size:16px;margin-left:4px}.chip-remove:hover,.modal-error{color:var(--color-danger)}.modal-error{background-color:var(--color-danger-soft);border-left:4px solid var(--color-danger);border-radius:var(--radius-md);font-size:13px;margin-bottom:12px;padding:10px 14px}.modal-actions{display:flex;gap:10px;justify-content:flex-end;margin-top:8px}@media (max-width:768px){.messages-container{padding:16px}.messages-header h1{font-size:22px}.conversation-item{gap:12px;padding:14px}.convo-avatar{font-size:16px;height:38px;width:38px}.new-message-modal{margin:10px;max-height:95vh}}.conversation-container{box-sizing:border-box;display:flex;flex-direction:column;height:calc(100vh - 80px);width:100%}.conv-header{align-items:center;background:var(--color-surface);border-bottom:1px solid #e8e8e8;display:flex;flex-shrink:0;gap:12px;padding:14px 20px}.conv-back{background:none;border:none;color:#5f7a3b;cursor:pointer;font-size:22px;padding:4px 8px}.conv-back:hover{color:#388e3c}.conv-header-info{flex:1 1;min-width:0}.conv-header-name{color:var(--color-text);font-size:16px;font-weight:600}.conv-block-btn,.conv-header-rabbitry{color:var(--color-text-muted);font-size:12px}.conv-block-btn{background:none;border:1px solid var(--color-border-soft);border-radius:6px;cursor:pointer;padding:6px 14px;transition:all .2s}.conv-block-btn:hover{border-color:#e53935;color:#e53935}.conv-subject-bar{background:var(--color-surface-alt);border-bottom:1px solid var(--color-border-soft);color:var(--color-text-soft);flex-shrink:0;font-size:13px;font-weight:500;padding:10px 20px}.conv-rabbit-link,.conv-rabbit-tag{color:#5f7a3b;font-style:italic}.conv-error-banner{background-color:#ffeaea;color:#c62828;flex-shrink:0;font-size:13px;padding:10px 20px}.conv-error-state{color:var(--color-text-muted);padding:60px 20px;text-align:center}.conv-error-state button{background-color:#5f7a3b;border:none;border-radius:8px;color:#fff;cursor:pointer;margin-top:16px;padding:10px 24px}.conv-messages{background:var(--color-surface-alt);display:flex;flex:1 1;flex-direction:column;gap:6px;overflow-y:auto;padding:20px}.date-separator{align-items:center;display:flex;justify-content:center;margin:16px 0 10px}.date-separator span{background:var(--color-border-soft);border-radius:12px;color:#777;font-size:11px;font-weight:500;padding:4px 14px}.message-bubble{word-wrap:break-word;border-radius:16px;font-size:14px;line-height:1.4;max-width:75%;padding:10px 14px}.message-bubble.sent{align-self:flex-end;background:#5f7a3b;border-bottom-right-radius:4px;color:#fff}.message-bubble.received{align-self:flex-start;background:var(--color-surface);border-bottom-left-radius:4px;box-shadow:0 1px 2px #0000000f;color:var(--color-text)}.bubble-content{white-space:pre-wrap}.bubble-time{font-size:10px;margin-top:4px;opacity:.7;text-align:right}.message-bubble.received .bubble-time{color:var(--color-text-muted)}.conv-input-bar{background:var(--color-surface);border-top:1px solid #e8e8e8;display:flex;flex-shrink:0;gap:10px;padding:14px 20px}.conv-input-bar input{border:1px solid var(--color-border);border-radius:24px;flex:1 1;font-size:14px;outline:none;padding:12px 16px;transition:border-color .2s}.conv-input-bar input:focus{border-color:#5f7a3b}.conv-input-bar button{background-color:#5f7a3b;border:none;border-radius:24px;color:#fff;cursor:pointer;font-size:14px;font-weight:500;padding:12px 24px;transition:background-color .2s}.conv-input-bar button:hover:not(:disabled){background-color:#388e3c}.conv-input-bar button:disabled{cursor:not-allowed;opacity:.5}.system-message{align-self:center;background:#e8e8e8;border-radius:16px;color:var(--color-text-soft);font-size:12px;font-style:italic;margin:8px 0;max-width:80%;padding:6px 16px;text-align:center}.transfer-msg-card{background:var(--color-surface);border:1px solid var(--color-border-soft);border-radius:12px;box-shadow:0 1px 3px #00000014;margin:4px 0;max-width:85%;overflow:hidden}.transfer-msg-card.sent{align-self:flex-end}.transfer-msg-card.received{align-self:flex-start}.transfer-card-header{align-items:center;background:var(--color-surface-alt);border-bottom:1px solid var(--color-border-soft);display:flex;gap:8px;padding:10px 14px}.transfer-card-title{color:var(--color-text-soft);flex:1 1;font-size:13px;font-weight:600}.transfer-card-status{border-radius:10px;font-size:11px;font-weight:600;padding:2px 8px;text-transform:uppercase}.transfer-card-status.pending{background:#fff8e1;color:#f57f17}.transfer-card-status.completed{background:#e8f5e9;color:#2e7d32}.transfer-card-status.rejected{background:#fbe9e7;color:#d84315}.transfer-card-status.cancelled{background:var(--color-surface-alt);color:#757575}.transfer-card-body{padding:12px 14px}.transfer-card-rabbit-name{color:var(--color-text);font-size:16px;font-weight:600;margin-bottom:4px}.transfer-card-details{color:var(--color-text-muted);display:flex;flex-wrap:wrap;font-size:12px;gap:6px}.transfer-card-details span:after{content:" \00B7";margin-left:6px}.transfer-card-details span:last-child:after{content:""}.transfer-card-actions{background:var(--color-surface-alt);border-top:1px solid var(--color-border-soft);display:flex;gap:8px;padding:10px 14px}.transfer-card-actions .btn{flex:1 1}.transfer-msg-card .bubble-time{color:var(--color-text-muted);font-size:10px;padding:0 14px 8px;text-align:right}@media (max-width:768px){.conversation-container{height:calc(100vh - 120px)}.conv-header{padding:12px 14px}.conv-messages{padding:14px}.conv-input-bar{padding:10px 14px}.message-bubble{max-width:85%}}.transfer-accept-content{width:100%}.transfer-info-grid{display:flex;flex-direction:column;gap:2px}.transfer-info-row{border-bottom:1px solid #f0f0f0;display:flex;font-size:14px;gap:12px;padding:10px 0}.transfer-info-row:last-child{border-bottom:none}.transfer-info-label{color:var(--color-text-soft);font-weight:600;min-width:90px}.transfer-status-badge{border-radius:12px;display:inline-block;font-size:12px;font-weight:600;padding:3px 10px;text-transform:uppercase}.transfer-status-badge.pending{background:#fff8e1;color:#f57f17}.transfer-status-badge.completed{background:#e8f5e9;color:#2e7d32}.transfer-status-badge.rejected{background:#fbe9e7;color:#d84315}.transfer-status-badge.cancelled{background:var(--color-surface-alt);color:#757575}.pedigree-preview{font-family:monospace;font-size:13px;line-height:1.8}.pedigree-preview-name{color:var(--color-text);font-weight:600}.pedigree-preview-breed{color:var(--color-text-muted);font-weight:400}.pedigree-preview-gender.male{color:#1976d2}.pedigree-preview-gender.female{color:#e91e63}.transfer-accept-actions{display:flex;gap:12px;justify-content:center;padding:20px 0 30px}.transfer-accept-actions .btn.btn-danger{background:#e53935;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:14px;font-weight:500;padding:10px 24px}.transfer-accept-actions .btn.btn-danger:hover{background:#c62828}.transfer-accept-actions .btn.btn-danger:disabled{cursor:not-allowed;opacity:.6}.confirm-overlay{align-items:center;background:#00000080;bottom:0;display:flex;justify-content:center;left:0;padding:20px;position:fixed;right:0;top:0;z-index:1000}.confirm-modal{background:var(--color-surface);border-radius:12px;box-shadow:0 4px 20px #00000026;max-width:400px;padding:24px;width:100%}.confirm-modal h3{color:var(--color-text);font-size:18px;margin:0 0 12px}.confirm-modal p{color:var(--color-text-soft);font-size:14px;line-height:1.5;margin:0 0 20px}.confirm-modal-actions{display:flex;gap:10px;justify-content:flex-end}@media (max-width:768px){.transfer-accept-content{max-width:100%}}.ledger-page{box-sizing:border-box;padding:20px 20px 100px;width:100%}.ledger-page-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:16px}.ledger-page-header h1{color:var(--color-text);font-size:24px;font-weight:700;margin:0}.ledger-tabs{background:var(--color-surface-alt);border-radius:12px;display:flex;gap:4px;margin-bottom:16px;padding:4px}.ledger-tab-button{align-items:center;background:#0000;border:none;border-radius:10px;color:var(--color-text-soft);cursor:pointer;display:flex;flex:1 1;font-size:14px;font-weight:500;gap:6px;justify-content:center;padding:10px 12px;transition:all .2s}.ledger-tab-button:hover{background:#ffffff80;color:var(--color-text)}.ledger-tab-button.active{background:var(--color-surface);box-shadow:0 1px 3px #0000001a;color:var(--color-text);font-weight:600}.ledger-tab-icon{align-items:center;display:inline-flex;justify-content:center}.ledger-tab-content{min-height:200px}.ledger-date-presets{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:16px}.date-preset-btn{background:var(--color-surface);border:1px solid var(--color-border);border-radius:20px;color:var(--color-text-soft);cursor:pointer;font-size:13px;padding:6px 14px;transition:all .2s}.date-preset-btn:hover{border-color:var(--color-primary);color:var(--color-primary)}.date-preset-btn.active{background:var(--color-primary);border-color:var(--color-primary);color:#fff}.custom-date-range{align-items:center;display:flex;gap:8px}.date-range-input{border:1px solid var(--color-border);border-radius:8px;font-size:13px;padding:6px 10px;width:auto}.date-range-separator{align-items:center;color:var(--color-text-muted);display:flex;font-size:13px;line-height:1}.summary-cards{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(3,1fr);margin-bottom:24px}.summary-card{background:var(--color-surface);border:1px solid var(--color-border-soft);border-radius:12px;display:flex;flex-direction:column;gap:4px;padding:16px}.summary-card-label{color:var(--color-text-muted);font-size:12px;font-weight:600;letter-spacing:.5px;text-transform:uppercase}.summary-card-amount{font-size:20px;font-weight:700}.summary-card.income .summary-card-amount{color:#2e7d32}.summary-card.expense .summary-card-amount{color:#c62828}.summary-card.profit .summary-card-amount{color:#2e7d32}.summary-card.loss .summary-card-amount{color:#c62828}.category-breakdown{background:var(--color-surface);border:1px solid var(--color-border-soft);border-radius:12px;margin-bottom:16px;padding:16px}.category-breakdown h3{color:var(--color-text);font-size:15px;font-weight:600;margin:0 0 12px}.category-row{align-items:center;display:flex;gap:12px;padding:6px 0}.category-info{flex-shrink:0;width:140px}.category-name{color:var(--color-text);display:block;font-size:13px;font-weight:500}.category-count{color:var(--color-text-muted);font-size:11px}.category-bar-container{background:var(--color-surface-alt);border-radius:4px;flex:1 1;height:8px;overflow:hidden}.category-bar{border-radius:4px;height:100%;min-width:4px;transition:width .3s}.category-bar.income{background:#5f7a3b}.category-bar.expense{background:#ef5350}.category-total{color:var(--color-text);font-size:13px;font-weight:600;text-align:right;width:80px}.monthly-breakdown{background:var(--color-surface);border:1px solid var(--color-border-soft);border-radius:12px;margin-bottom:16px;padding:16px}.monthly-breakdown h3{color:var(--color-text);font-size:15px;font-weight:600;margin:0 0 12px}.monthly-header{border-bottom:2px solid #eee;color:var(--color-text-muted);font-size:12px;font-weight:600;text-transform:uppercase}.monthly-header,.monthly-row{grid-gap:8px;display:grid;gap:8px;grid-template-columns:1fr 1fr 1fr 1fr;padding:8px 0}.monthly-row{border-bottom:1px solid #f5f5f5;font-size:13px}.monthly-label{color:var(--color-text);font-weight:500}.monthly-income{color:#2e7d32}.monthly-expense{color:#c62828}.monthly-net.positive{color:#2e7d32;font-weight:600}.monthly-net.negative{color:#c62828;font-weight:600}.transaction-section{margin-bottom:24px}.transaction-section-header-bar{margin-bottom:12px}.transaction-section-header,.transaction-section-header-bar{align-items:center;display:flex;justify-content:space-between}.transaction-section-header{border-radius:10px;margin-bottom:10px;padding:10px 14px}.transaction-section-header.income{background:#e8f5e9}.transaction-section-header.expense{background:#ffebee}.transaction-section-title{align-items:center;display:flex;gap:12px}.transaction-section-title h3{color:var(--color-text);margin:0}.transaction-section-title h3,.transaction-section-total{font-size:16px;font-weight:700}.transaction-section-total.income{color:#2e7d32}.transaction-section-total.expense{color:#c62828}.ledger-empty-sm{color:var(--color-text-muted);font-size:13px;padding:16px;text-align:center}.ledger-empty-sm p{margin:0}.ledger-filters{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:16px}.ledger-filters select,.ledger-search-input{background:var(--color-surface);border:1px solid var(--color-border);border-radius:8px;color:var(--color-text);font-size:13px;padding:8px 12px}.ledger-search-input{flex:1 1;min-width:120px}.transaction-list{display:flex;flex-direction:column;gap:8px}.transaction-row{align-items:center;background:var(--color-surface);border:1px solid var(--color-border-soft);border-radius:10px;display:flex;padding:12px 14px;transition:box-shadow .2s}.transaction-row:hover{box-shadow:0 2px 8px #0000000f}.transaction-main{gap:12px;justify-content:space-between}.transaction-left,.transaction-main{align-items:center;display:flex;flex:1 1}.transaction-left{gap:10px;min-width:0}.transaction-type-badge{align-items:center;border-radius:50%;display:flex;flex-shrink:0;font-size:14px;font-weight:700;height:28px;justify-content:center;width:28px}.transaction-type-badge.income{background:#e8f5e9;color:#2e7d32}.transaction-type-badge.expense{background:#ffebee;color:#c62828}.transaction-details{display:flex;flex-direction:column;gap:2px;min-width:0}.transaction-category{color:var(--color-text);font-size:14px;font-weight:600}.transaction-desc{color:var(--color-text-muted);font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.transaction-meta{display:flex;flex-wrap:wrap;gap:8px}.transaction-auto,.transaction-contact,.transaction-rabbit{background:var(--color-surface-alt);border-radius:4px;color:var(--color-text-soft);font-size:11px;padding:1px 6px}.transaction-auto{background:#e3f2fd;color:#1565c0}.transaction-reversal{background:#fff3e0;border-radius:4px;color:#e65100;font-size:11px;padding:1px 6px}.transaction-row.voided{opacity:.55}.transaction-reversal-row{margin-left:24px}.transaction-reversal-row .transaction-row{background:#fffaf5;border-left:3px solid #e65100}.transaction-row.is-reversal .transaction-type-badge{background:#fff3e0;color:#e65100}.transaction-amount.reversal{color:#e65100}.transaction-rabbit.kit{background:#f3e5f5;color:#7b1fa2}.transaction-weight{background:#fff3e0;border-radius:4px;color:#e65100;font-size:11px;padding:1px 6px}.selected-chips{display:flex;flex-direction:column;gap:6px;margin-top:8px}.selected-chip{align-items:center;background:var(--color-surface-alt);border-radius:6px;box-sizing:border-box;display:flex;font-size:13px;gap:8px;padding:6px 10px;width:100%}.selected-chip.kit{background:#f3e5f5}.chip-name{color:var(--color-text);flex:1 1;font-weight:500;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chip-price{background:var(--color-surface);border:1px solid var(--color-border);border-radius:4px;flex-grow:0;flex-shrink:0;font-size:12px;padding:2px 6px;text-align:right}.chip-price,.ledger-page .form-group .chip-price{max-width:120px;min-width:80px;width:auto}.chip-remove{background:none;border:none;color:#aaa;cursor:pointer;flex-shrink:0;font-size:15px;line-height:1;padding:0}.chip-remove:hover{color:#c62828}.pricing-toggle-row{margin-bottom:14px}.pricing-toggle-row .toggle-label{align-items:center;color:var(--color-text-soft);cursor:pointer;display:flex;font-size:13px;font-weight:600;justify-content:space-between;margin-bottom:0}.toggle-track{background:#ccc;border-radius:10px;cursor:pointer;flex-shrink:0;height:20px;position:relative;transition:background .2s;width:36px}.toggle-track.active{background:var(--color-primary)}.toggle-track .toggle-knob{background:var(--color-surface);border-radius:50%;box-shadow:0 1px 2px #0003;height:16px;left:2px;position:absolute;top:2px;transition:transform .2s;width:16px}.toggle-track.active .toggle-knob{transform:translateX(16px)}.ledger-modal .modal-body{-webkit-overflow-scrolling:touch;overflow-y:auto}.transaction-right{align-items:flex-end;display:flex;flex-direction:column;flex-shrink:0;gap:2px}.transaction-amount{font-size:15px;font-weight:700}.transaction-amount.income{color:#2e7d32}.transaction-amount.expense{color:#c62828}.transaction-date{color:var(--color-text-muted);font-size:11px}.transaction-actions{display:flex;flex-shrink:0;gap:4px;margin-left:8px}.transaction-actions .btn-icon{align-items:center;background:var(--color-surface-alt);color:var(--color-text-soft);display:flex;font-size:15px;height:30px;justify-content:center;padding:0;width:30px}.transaction-actions .btn-icon:hover{background:#eee;color:var(--color-text)}.transaction-actions .btn-icon.delete:hover{background:#ffebee;color:#c62828}.transaction-actions .btn-icon.void{font-size:16px}.transaction-actions .btn-icon.void:hover{background:#fff3e0;color:#e65100}.load-more-btn{display:block;margin:12px auto 0}.contacts-list{display:flex;flex-direction:column;gap:8px}.contact-card{align-items:center;background:var(--color-surface);border:1px solid var(--color-border-soft);border-radius:10px;display:flex;justify-content:space-between;padding:12px 14px}.contact-info{flex:1 1;min-width:0}.contact-header{align-items:center;display:flex;gap:8px;margin-bottom:4px}.contact-header strong{color:var(--color-text);font-size:14px}.contact-type-badge{border-radius:10px;font-size:11px;font-weight:500;padding:2px 8px;text-transform:capitalize}.contact-type-badge.customer{background:#e8f5e9;color:#2e7d32}.contact-type-badge.vendor{background:#fff3e0;color:#e65100}.contact-type-badge.both{background:#e3f2fd;color:#1565c0}.contact-details{color:var(--color-text-muted);display:flex;font-size:12px;gap:16px}.contact-actions{display:flex;flex-shrink:0;gap:4px}.ledger-type-toggle{border:1px solid var(--color-border);border-radius:8px;display:flex;gap:0;margin-bottom:16px;overflow:hidden}.type-btn{background:var(--color-surface-alt);border:none;color:var(--color-text-soft);cursor:pointer;flex:1 1;font-size:14px;font-weight:500;padding:10px;transition:all .2s}.type-btn.active.income{background:#2e7d32;color:#fff}.type-btn.active.expense{background:#c62828;color:#fff}.ledger-empty{color:var(--color-text-muted);font-size:14px;padding:40px 20px;text-align:center}.ledger-page .form-group{margin-bottom:14px}.ledger-page .form-group label{color:var(--color-text-soft);display:block;font-size:13px;font-weight:600;margin-bottom:4px}.ledger-page .form-group input,.ledger-page .form-group select,.ledger-page .form-group textarea{border:1px solid var(--color-border);border-radius:8px;box-sizing:border-box;font-size:14px;padding:8px 12px;width:100%}.ledger-page .form-group textarea{resize:vertical}@media (max-width:600px){.ledger-page{padding:12px}.summary-cards{gap:8px;grid-template-columns:1fr}.summary-card-amount{font-size:18px}.ledger-tab-label{font-size:12px}.ledger-tab-icon{font-size:14px}.ledger-filters{flex-direction:column}.category-row{flex-wrap:wrap}.category-info{width:100%}.category-total{width:auto}.monthly-header,.monthly-row{font-size:11px;gap:4px}.transaction-main{align-items:flex-start;flex-direction:column}.transaction-right{align-items:flex-start;flex-direction:row;gap:8px}}.cage-history-container{box-sizing:border-box;height:100%;padding:1.5rem;width:100%}.cage-history-header{border-bottom:1px solid var(--color-border-soft);margin-bottom:1.5rem;padding-bottom:1rem}.cage-history-header h2{color:var(--color-text);margin:0 0 .75rem}.cage-tabs{border-bottom:1px solid var(--color-border-soft);display:flex;gap:0}.cage-tab{background:none;border:none;border-bottom:3px solid #0000;color:var(--color-text-muted);cursor:pointer;font-size:.95rem;font-weight:600;margin-bottom:-1px;padding:.6rem 1.25rem;transition:all .15s ease}.cage-tab:hover{color:var(--color-text-soft)}.cage-tab.active{border-bottom-color:var(--color-primary);color:var(--color-primary)}.cage-tab-actions{align-items:center;display:flex;justify-content:flex-end;margin-bottom:1rem}.cage-tab-actions .btn{align-self:center;flex:0 0 auto;white-space:nowrap;width:auto}.add-cage-form{display:flex;flex-direction:column;gap:1rem}.add-cage-form label{color:var(--color-text);display:flex;flex-direction:column;font-size:.9rem;font-weight:600;gap:.25rem}.add-cage-form input[type=text]{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text);font-size:.95rem;padding:8px 12px}.add-cage-toggle{align-items:center;flex-direction:row!important;gap:.5rem!important}.add-cage-toggle input[type=checkbox]{width:auto}.cage-cards-grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}.cage-manage-card{background:var(--color-surface);border:1px solid var(--color-border-soft);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);padding:1rem 1.25rem}.cage-manage-card.growout{border-left:3px solid var(--color-warning)}.cage-growout-badge{background:var(--color-warning);border-radius:3px;color:#fff;display:inline-block;font-size:.65rem;font-weight:600;margin-left:.4rem;padding:.1rem .4rem;text-transform:uppercase;vertical-align:middle}.growout-litter-info{border-bottom:1px solid var(--color-border-soft);display:flex;flex-direction:column;gap:.2rem;margin-bottom:.5rem;padding-bottom:.5rem}.growout-parents{color:var(--color-text);font-size:.9rem;font-weight:600}.growout-birthdate{color:var(--color-text-muted);font-size:.8rem}.litter-expand-toggle{background:none;border:none;color:var(--color-primary);cursor:pointer;font-size:.85rem;font-weight:600;padding:4px 0;text-align:left}.litter-expand-toggle:hover{color:var(--color-primary-hover)}.cage-manage-header{align-items:center;border-bottom:1px solid var(--color-border-soft);display:flex;justify-content:space-between;margin-bottom:.75rem;padding-bottom:.5rem}.cage-manage-number{color:var(--color-text);font-size:1.1rem;font-weight:700}.cage-header-right{align-items:center;display:flex;gap:.5rem}.cage-manage-count{color:var(--color-text-muted);font-size:.8rem}.cage-edit-btn{align-items:center;background:none;border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text-soft);cursor:pointer;display:inline-flex;height:32px;justify-content:center;padding:0;transition:all .15s ease;width:32px}.cage-edit-btn:hover{background:var(--color-primary-soft);border-color:var(--color-primary);color:var(--color-primary)}.cage-manage-rabbits{display:flex;flex-direction:column;gap:.5rem;margin-bottom:.75rem;min-height:32px}.cage-empty-label{color:var(--color-text-muted);font-size:.9rem;font-style:italic;padding:4px 0}.cage-rabbit-row{align-items:center;display:flex;gap:.5rem;padding:4px 0}.cage-rabbit-name{background:none;border:none;color:var(--color-primary);cursor:pointer;font-size:.95rem;font-weight:600;padding:0}.cage-rabbit-name:hover{color:var(--color-primary-hover);text-decoration:underline}.cage-rabbit-info{color:var(--color-text-muted);display:flex;flex:1 1;font-size:.8rem;gap:.5rem}.cage-rabbit-gender.male{color:var(--color-primary)}.cage-rabbit-gender.female{color:#d1467a}.cage-rabbit-remove{background:none;border:none;color:var(--color-text-muted);cursor:pointer;font-size:1.2rem;line-height:1;padding:0 4px}.cage-rabbit-remove:hover{color:var(--color-danger)}.cage-manage-actions{border-top:1px solid var(--color-border-soft);padding-top:.5rem}.cage-add-rabbit{align-items:flex-start;display:flex;gap:.5rem;position:relative}.cage-add-rabbit input{background:var(--color-surface-alt);border:1.5px solid var(--color-border);border-radius:var(--radius-lg);flex:1 1;font-size:.9rem;padding:.6rem .75rem;transition:all .15s ease}.cage-add-rabbit input:focus{background:var(--color-surface);border-color:var(--color-primary);box-shadow:0 0 0 3px #8b2e2e1f;outline:none}.empty-state{color:var(--color-text-muted);padding:3rem 1rem}.empty-state p{margin:.25rem 0}.empty-hint{color:var(--color-text-muted);font-size:.9rem}.cage-add-rabbit .dropdown-list{background:var(--color-surface);border:1.5px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:0 8px 24px #0000001f;margin-top:4px;max-height:200px;overflow-y:auto;position:fixed;z-index:9999}.cage-add-rabbit .dropdown-item{cursor:pointer;font-size:.9rem;padding:.55rem .75rem;transition:background .1s ease}.cage-add-rabbit .dropdown-item:first-child{border-radius:9px 9px 0 0}.cage-add-rabbit .dropdown-item:last-child{border-radius:0 0 9px 9px}.cage-add-rabbit .dropdown-item:hover{background:var(--color-primary-soft)}.cage-add-rabbit .dropdown-item.no-results{color:var(--color-text-muted);cursor:default}.error-message{background:var(--color-danger-soft);border-left:4px solid var(--color-danger);border-radius:var(--radius-md);color:var(--color-danger);margin-bottom:1rem}.cage-history-content{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:300px 1fr}@media (max-width:768px){.cage-history-content{grid-template-columns:1fr}}.cage-selector{background:var(--color-surface);border:1px solid var(--color-border-soft);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);padding:1.25rem}.cage-selector h3{color:var(--color-text);font-size:1.1rem;margin:0 0 1rem}.no-cages{color:var(--color-text-muted);font-size:.9rem}.cage-list{display:flex;flex-wrap:wrap;gap:.5rem}.cage-button{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text);cursor:pointer;font-size:.95rem;font-weight:600;padding:.5rem 1rem;transition:all .2s ease}.cage-button:hover{background:var(--color-surface-alt);border-color:var(--color-primary)}.cage-button.active{background:var(--color-primary);border-color:var(--color-primary);color:#fff}.history-panel{background:var(--color-surface);border:1px solid var(--color-border-soft);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);padding:1.25rem}.history-panel-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:1rem}.history-panel-header h3{color:var(--color-text);font-size:1.1rem;margin:0}.history-panel h3{color:var(--color-text);font-size:1.1rem;margin:0 0 1rem}.loading,.no-history{color:var(--color-text-muted)}.loading{padding:2rem;text-align:center}.history-list{display:flex;flex-direction:column;gap:1rem}.history-entry{background:var(--color-surface-alt);border-left:4px solid var(--color-border);border-radius:var(--radius-md);padding:1rem;position:relative}.history-entry.current{background:var(--color-success-soft);border-left-color:var(--color-success)}.history-delete-btn{background:none;border:1px solid var(--color-border);border-radius:var(--radius-sm);color:var(--color-text-muted);cursor:pointer;font-size:.8rem;margin-top:.5rem;padding:2px 10px;transition:all .15s ease}.history-delete-btn:hover{background:var(--color-danger-soft);border-color:var(--color-danger);color:var(--color-danger)}.history-entry-header{align-items:center;display:flex;gap:.75rem;margin-bottom:.75rem}.rabbit-link{background:none;border:none;color:var(--color-primary);cursor:pointer;font-size:1.1rem;font-weight:600;padding:0}.rabbit-link:hover{color:var(--color-primary-hover);text-decoration:underline}.current-badge{background:var(--color-success);border-radius:4px;color:#fff;font-size:.75rem;font-weight:600;padding:.25rem .5rem;text-transform:uppercase}.history-entry-details{display:flex;flex-direction:column;gap:.5rem}.date-range{align-items:center;display:flex;flex-wrap:wrap;font-size:.9rem;gap:.5rem}.date-label{color:var(--color-text-muted)}.date-value{color:var(--color-text);font-weight:500;margin-right:.5rem}.duration{font-style:italic}.duration,.rabbit-color{color:var(--color-text-muted);font-size:.85rem}.rabbit-color{align-items:center;display:flex;gap:.5rem;margin-top:.5rem}.color-swatch{border:1px solid #0000001a;border-radius:4px;height:16px;width:16px}.current-occupants-summary{background:var(--color-primary-soft);border:1px solid #8b2e2e2e;border-radius:var(--radius-md);margin-bottom:1rem;padding:.75rem 1rem}.current-occupants-summary h4{color:var(--color-text);font-size:.9rem;margin:0 0 .5rem}.current-occupants-list{display:flex;flex-direction:column;gap:.25rem}.current-occupants-list .rabbit-link{text-align:left}.history-entry.litter-entry,.history-entry.litter-entry.current{border-left-color:var(--color-warning)}.history-entry.litter-entry.current{background:#e67e221f}.litter-link{color:var(--color-warning);font-size:.95rem;font-weight:600}.archived-badge{background:var(--color-text-muted);border-radius:4px;color:#fff;display:inline-block;font-size:.7rem;font-weight:600;margin-left:.5rem;padding:.15rem .5rem;text-transform:uppercase;vertical-align:middle}.archived-cages-label{color:var(--color-text-muted);font-size:.9rem;font-weight:600;margin:1rem 0 .5rem}.cage-button.archived{border-style:dashed;color:var(--color-text-muted)}.cage-button.archived:hover{background:var(--color-surface-alt);border-color:var(--color-text-muted)}.cage-button.archived.active{background:var(--color-text-muted);border-color:var(--color-text-muted);border-style:solid;color:#fff}.modal-footer-split{justify-content:space-between!important}.modal-footer-actions{display:flex;gap:.75rem}.growout-hint-text{color:var(--color-text-muted);font-size:.85rem;margin:.5rem 0 0}.growout-litter-picker{display:flex;flex-direction:column;gap:.5rem}.growout-current-litter{background:var(--color-primary-soft);border:1px solid #8b2e2e2e;border-radius:var(--radius-lg);padding:.6rem .75rem}.growout-current-litter,.growout-selected-rabbit{align-items:center;display:flex;font-size:.9rem;font-weight:600;gap:.75rem}.growout-litter-list{display:flex;flex-direction:column;gap:.35rem}.growout-litter-option{align-items:flex-start;border:1.5px solid var(--color-border);border-radius:var(--radius-lg);cursor:pointer;display:flex;gap:.5rem;padding:.6rem .75rem;transition:all .15s ease}.growout-litter-option.selected{background:var(--color-primary-soft);border-color:var(--color-primary)}.growout-litter-option:hover{background:var(--color-surface-alt);border-color:var(--color-primary-soft)}.growout-litter-details{display:flex;flex-direction:column;gap:.15rem}.growout-litter-parents{font-size:.9rem;font-weight:600}.growout-litter-meta{color:var(--color-text-soft);font-size:.8rem}.cage-modal-actions{border-bottom:1px solid var(--color-border-soft);display:flex;gap:.5rem;padding:0 1.5rem .75rem}.cage-action-btn{background:var(--color-surface);border:1.5px solid var(--color-border);border-radius:var(--radius-lg);cursor:pointer;flex:1 1;font-size:.85rem;font-weight:600;padding:.5rem;transition:all .15s ease}.cage-action-btn.sell{border-color:#e67e2247;color:var(--color-warning)}.cage-action-btn.sell:hover{background:#e67e221a;border-color:var(--color-warning)}.cage-action-btn.butcher{border-color:#c12f2f38;color:var(--color-danger)}.cage-action-btn.butcher:hover{background:var(--color-danger-soft);border-color:var(--color-danger)}.action-select-list{display:flex;flex-direction:column;gap:.5rem;margin-top:.75rem}.action-select-card{align-items:center;background:var(--color-surface-alt);border:1.5px solid var(--color-border);border-radius:var(--radius-lg);cursor:pointer;display:flex;gap:.75rem;padding:.6rem .75rem;transition:all .15s ease;-webkit-user-select:none;user-select:none}.action-select-card:hover{background:var(--color-surface);border-color:var(--color-border-soft)}.action-select-card.selected{background:var(--color-primary-soft);border-color:var(--color-primary)}.action-select-check{align-items:center;border:2px solid var(--color-border);border-radius:var(--radius-md);color:#fff;display:flex;flex-shrink:0;font-size:.85rem;font-weight:700;height:24px;justify-content:center;transition:all .15s ease;width:24px}.action-select-check .ui-icon{height:14px;pointer-events:none;width:14px}.action-select-card.selected .action-select-check{background:var(--color-primary);border-color:var(--color-primary)}.action-select-info{display:flex;flex-direction:column;gap:.1rem}.action-select-name{color:var(--color-text);font-size:.9rem;font-weight:600}@media (max-width:768px){.cage-history-container{padding:1rem}.cage-cards-grid{grid-template-columns:1fr}.cage-selector,.history-panel{padding:1rem}.cage-button{padding:.75rem 1rem}.history-entry{padding:.875rem}}.cage-cards-container{box-sizing:border-box;display:flex;flex-direction:column;height:100%;overflow:auto;padding:20px;width:100%}.cage-cards-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:24px}.cage-cards-header h1{color:var(--color-text);font-size:28px;margin:0}.empty-state{display:flex;flex-direction:column;padding:60px 20px;text-align:center}.empty-icon,.empty-state{align-items:center;justify-content:center}.empty-icon{color:#64748b;display:inline-flex;margin-bottom:16px}.empty-state h2{color:var(--color-text);margin:0 0 8px}.empty-state p{color:var(--color-text-soft);margin:0 0 24px}.templates-list{display:flex;flex-direction:column;gap:12px}.template-row{align-items:center;background:var(--color-surface);border-radius:8px;box-shadow:0 1px 4px #0000001a;display:flex;gap:16px;padding:12px 16px;transition:box-shadow .2s}.template-row:hover{box-shadow:0 2px 8px #00000026}.template-row.default{border-left:4px solid #5f7a3b}.template-row-preview{align-items:center;background:var(--color-surface-alt);border-radius:4px;display:flex;flex-shrink:0;height:50px;justify-content:center;padding:4px;width:60px}.template-row-preview .mini-card{border-radius:2px;max-height:100%;max-width:100%}.template-row-info{flex:1 1;min-width:0}.template-row-name{align-items:center;display:flex;gap:8px;margin-bottom:4px}.template-name{color:var(--color-text);font-size:16px;font-weight:600}.default-badge{background:#5f7a3b;color:#fff}.default-badge,.type-badge{border-radius:12px;font-size:11px;font-weight:500;padding:2px 8px}.type-badge.type-rabbit{background:#e3f2fd;color:#1565c0}.type-badge.type-litter{background:#fff3e0;color:#e65100}.type-badge.type-kit{background:#f3e5f5;color:#7b1fa2}.template-type-select{border:1px solid var(--color-border);border-radius:4px;font-size:13px;padding:4px 8px}.template-row-meta{color:var(--color-text-soft);font-size:13px}.meta-separator{color:var(--color-text-muted);margin:0 6px}.template-row-actions{display:flex;flex-shrink:0;gap:8px}.designer-view{display:flex;flex-direction:column;overflow:hidden;padding:0}.designer-header{align-items:center;background:var(--color-surface);border-bottom:1px solid var(--color-border-soft);display:flex;flex-shrink:0;justify-content:space-between;padding:16px 20px}.designer-title{align-items:center;display:flex;gap:16px}.template-name-input{background:#0000;border:none;border-bottom:2px solid #0000;font-size:20px;font-weight:600;min-width:200px;padding:4px 8px}.template-name-input:focus{border-bottom-color:#8b2e2e;outline:none}.designer-controls{align-items:center;display:flex;flex-wrap:wrap;gap:12px}.save-error{color:#a03530;font-size:13px;margin-left:8px}.designer-controls select{border:1px solid var(--color-border);border-radius:6px;font-size:14px;padding:8px 12px}.custom-size-inputs{align-items:center;display:flex;gap:6px}.custom-size-inputs input{border:1px solid var(--color-border);border-radius:6px;padding:8px;text-align:center;width:60px}.custom-size-inputs span{color:var(--color-text-soft)}.designer-body{display:flex;flex:1 1;overflow:hidden}.palette-panel{background:var(--color-surface);border-right:1px solid var(--color-border-soft);flex-shrink:0;overflow-y:auto;padding:16px;width:200px}.palette-panel h3{color:#3a2a1e;font-size:16px;margin:0 0 16px}.palette-section{margin-bottom:20px}.palette-section h4{color:var(--color-text-soft);font-size:12px;letter-spacing:.5px;margin:0 0 8px;text-transform:uppercase}.palette-item{align-items:center;background:var(--color-surface-alt);border-radius:6px;cursor:grab;display:flex;gap:8px;margin-bottom:6px;padding:8px 10px;transition:background .2s,transform .2s;-webkit-user-select:none;user-select:none}.palette-item:hover{background:#e8e8e8}.palette-item:active{cursor:grabbing}.palette-item.dragging{opacity:.5;transform:scale(.95)}.palette-icon{align-items:center;color:#475569;display:inline-flex;flex-shrink:0;height:18px;justify-content:center;width:18px}.palette-icon .ui-icon{height:18px;pointer-events:none;width:18px}.palette-label{color:var(--color-text);font-size:13px}.canvas-panel{background:#e9ecef;display:flex;flex:1 1;flex-direction:column;overflow:hidden}.canvas-toolbar{background:var(--color-surface);border-bottom:1px solid #ddd;display:flex;gap:20px;padding:12px 20px}.toolbar-group{align-items:center;display:flex;gap:8px}.toolbar-group label{color:var(--color-text-soft);font-size:13px}.toolbar-group input[type=color]{border:1px solid var(--color-border);border-radius:4px;cursor:pointer;height:32px;width:32px}.toolbar-group select{border:1px solid var(--color-border);border-radius:4px;font-size:13px;padding:6px 10px}.canvas-container{flex:1 1;flex-direction:column;overflow:auto;padding:20px}.canvas-container,.canvas-wrapper{align-items:center;display:flex;justify-content:center}.canvas-wrapper{flex:1 1}.card-canvas{border-radius:4px;box-shadow:0 4px 20px #0003;position:relative;transition:box-shadow .2s}.card-canvas.drop-hover{box-shadow:0 4px 20px #3498db66}.canvas-size-label{color:var(--color-text-soft);font-size:12px;margin-top:12px}.card-element{border:1px solid #0000;cursor:move;position:absolute;transition:border-color .2s}.card-element:hover{border-color:#3498db80}.card-element.selected{border-color:#8b2e2e;z-index:10}.card-element.dragging{opacity:.3}.drag-preview-layer{height:100%;left:0;pointer-events:none;position:fixed;top:0;width:100%;z-index:1000}.drag-preview-element{background:#3498db1a;border:2px dashed #8b2e2e;border-radius:4px;box-shadow:0 4px 12px #3498db4d;position:absolute}.drag-preview-element.palette-preview{align-items:center;background:#3498db26;display:flex;justify-content:center}.drag-preview-label{color:#8b2e2e;font-size:12px;font-weight:500;white-space:nowrap}.drop-position-indicator{animation:pulse-indicator 1s ease-in-out infinite;background:#2ecc7140;border:2px solid #2ecc71;pointer-events:none;position:absolute;z-index:5}@keyframes pulse-indicator{0%,to{opacity:1}50%{opacity:.5}}.placeholder-content{align-items:center;background:var(--color-surface-hover);border:1px dashed #999;border-radius:4px;color:var(--color-text-soft);display:flex;font-size:12px;height:100%;justify-content:center;width:100%}.color-box-preview{border-radius:2px;height:100%;width:100%}.resize-handle{background:#8b2e2e;border:2px solid #fff;border-radius:2px;height:10px;position:absolute;width:10px;z-index:20}.resize-handle.nw{cursor:nw-resize;left:-5px;top:-5px}.resize-handle.ne{cursor:ne-resize;right:-5px;top:-5px}.resize-handle.sw{bottom:-5px;cursor:sw-resize;left:-5px}.resize-handle.se{bottom:-5px;cursor:se-resize;right:-5px}.resize-handle.n{cursor:n-resize;top:-5px}.resize-handle.n,.resize-handle.s{left:50%;transform:translateX(-50%)}.resize-handle.s{bottom:-5px;cursor:s-resize}.resize-handle.e{cursor:e-resize;right:-5px}.resize-handle.e,.resize-handle.w{top:50%;transform:translateY(-50%)}.resize-handle.w{cursor:w-resize;left:-5px}.properties-panel{background:var(--color-surface);border-left:1px solid #ddd;flex-shrink:0;overflow-y:auto;padding:16px;width:250px}.properties-panel.empty{align-items:center;color:var(--color-text-soft);display:flex;justify-content:center;text-align:center}.properties-panel h3{border-bottom:1px solid var(--color-border-soft);color:#3a2a1e;font-size:16px;margin:0 0 16px;padding-bottom:12px}.property-group{margin-bottom:16px}.property-group>label{color:var(--color-text-soft);display:block;font-size:12px;letter-spacing:.5px;margin-bottom:6px;text-transform:uppercase}.property-group input[type=number],.property-group input[type=text],.property-group select{border:1px solid var(--color-border);border-radius:6px;box-sizing:border-box;font-size:14px;padding:8px 10px;width:100%}.property-group input[type=color]{border:1px solid var(--color-border);border-radius:4px;cursor:pointer;height:32px;width:40px}.property-row{align-items:center;display:flex;gap:8px}.property-row span{color:var(--color-text-soft)}.checkbox-label{align-items:center;color:var(--color-text);cursor:pointer;display:flex;font-size:13px;gap:6px}.checkbox-label input[type=checkbox]{height:16px;width:16px}.delete-element-btn{margin-top:20px;width:100%}.print-modal-compact{display:flex;flex-direction:column;max-height:85vh;max-width:650px;width:95%}.print-modal-compact .modal-body{display:flex;flex:1 1;flex-direction:column;gap:16px;overflow:hidden}.print-filters{flex-shrink:0}.filter-header{align-items:center;display:flex;gap:12px;margin-bottom:12px}.filter-add-wrapper{position:relative}.btn-add-filter{background:#5f7a3b;border:none;color:#fff}.btn-add-filter:hover{background:#4a6030}.filter-menu{background:var(--color-surface);border:1px solid var(--color-border);border-radius:8px;box-shadow:0 4px 12px #00000026;left:0;margin-top:4px;max-height:300px;min-width:180px;overflow-y:auto;position:absolute;top:100%;z-index:100}.filter-menu-item{background:none;border:none;color:var(--color-text);cursor:pointer;display:block;font-size:14px;padding:10px 14px;text-align:left;transition:background .2s;width:100%}.filter-menu-item:hover{background:var(--color-surface-alt)}.filter-menu-item:first-child{border-radius:8px 8px 0 0}.filter-menu-item:last-child{border-radius:0 0 8px 8px}.active-filters{display:flex;flex-direction:column;gap:8px;margin-bottom:12px}.filter-chip{align-items:center;background:#f0f4f8;border:1px solid #e0e4e8;border-radius:6px;display:flex;gap:8px;padding:8px 12px}.filter-chip-label{color:var(--color-text-soft);font-size:13px;font-weight:500;white-space:nowrap}.filter-input{border:1px solid var(--color-border);border-radius:4px;flex:1 1;font-size:13px;min-width:100px;padding:6px 10px}.filter-input:focus{border-color:#8b2e2e;outline:none}.range-inputs{align-items:center;display:flex;flex:1 1;gap:8px}.range-inputs .filter-input{flex:1 1;min-width:80px}.range-separator{color:var(--color-text-soft);font-size:12px}.filter-chip-remove{background:none;border:none;color:var(--color-text-muted);cursor:pointer;font-size:18px;line-height:1;padding:0 4px}.filter-chip-remove:hover{color:#a03530}.filter-actions{align-items:center;background:var(--color-surface-alt);border-radius:6px;display:flex;justify-content:space-between;padding:10px 14px}.filter-count{color:var(--color-text-soft);font-size:13px}.filter-buttons{display:flex;gap:8px}.rabbit-list-container{background:var(--color-surface);border:1px solid var(--color-border-soft);border-radius:8px;flex:1 1;overflow:hidden}.rabbit-list{max-height:350px;overflow-y:auto;padding:4px}.no-results{color:var(--color-text-soft);font-size:14px;padding:40px 20px;text-align:center}.rabbit-checkbox{align-items:center;border:1px solid #0000;border-radius:6px;cursor:pointer;display:flex;gap:10px;padding:10px 12px;transition:background .2s}.rabbit-checkbox:hover{background:var(--color-surface-alt)}.rabbit-checkbox.selected{background:#e8f5e9;border-color:#5f7a3b}.rabbit-checkbox input{flex-shrink:0;height:18px;width:18px}.rabbit-name{color:var(--color-text);flex:1 1;font-weight:500;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rabbit-breed{color:var(--color-text-muted);flex-shrink:0;font-size:12px}.rabbit-gender{background:var(--color-surface-hover);color:var(--color-text-soft);padding:2px 6px}.cage-badge,.rabbit-gender{border-radius:4px;flex-shrink:0;font-size:11px}.cage-badge{background:#e3f2fd;color:#1976d2;font-weight:500;padding:2px 8px}.print-notice{background:#fff3cd;border-radius:6px;color:#856404;flex-shrink:0;font-size:13px;padding:10px 14px;text-align:center}@media (max-width:1024px){.designer-body{flex-direction:column}.palette-panel{border-bottom:1px solid #ddd;border-right:none;display:flex;gap:8px;max-height:150px;overflow-x:auto;padding:12px;width:100%}.palette-panel h3{display:none}.palette-section{display:flex;gap:8px;margin-bottom:0}.palette-section h4{display:none}.palette-item{margin-bottom:0;white-space:nowrap}.properties-panel{border-left:none;border-top:1px solid #ddd;max-height:200px;width:100%}}@media (max-width:768px){.cage-cards-header,.designer-header{align-items:flex-start;flex-direction:column;gap:12px}.designer-controls{flex-wrap:wrap;width:100%}.template-row{flex-wrap:wrap;gap:12px}.template-row-preview{height:40px;width:50px}.template-row-info{flex-basis:calc(100% - 80px);flex-grow:1;flex-shrink:1}.template-row-actions{flex-wrap:wrap;justify-content:flex-start;width:100%}.filter-chip{flex-wrap:wrap}.range-inputs{width:100%}.filter-actions{align-items:stretch;flex-direction:column;gap:8px}.filter-buttons{justify-content:stretch}.filter-buttons .btn{flex:1 1}.rabbit-list{max-height:250px}}.rabbit-page{background:var(--color-bg);border:none;border-radius:0;box-shadow:none;outline:none;padding:20px}.loading-container{align-items:center;color:var(--color-text-soft);display:flex;flex-direction:column;justify-content:center;min-height:300px}.loading-spinner{animation:spin 1s linear infinite;border:4px solid var(--color-border-soft);border-radius:50%;border-top:4px solid #4a90a4;height:40px;margin-bottom:16px;width:40px}@keyframes spin{to{transform:rotate(1turn)}}.error-container{flex-direction:column;min-height:300px;padding:40px;text-align:center}.error-container,.error-icon{align-items:center;display:flex;justify-content:center}.error-icon{background:#dc3545;border-radius:50%;color:#fff;font-size:36px;font-weight:700;height:60px;margin-bottom:20px;width:60px}.error-container h2{color:var(--color-text);margin-bottom:10px}.error-container p{color:var(--color-text-soft);margin-bottom:20px}.back-button{background:#4a90a4;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:16px;padding:12px 24px;transition:background .2s}.back-button:hover{background:#3d7a8c}.rabbit-page-header{align-items:center;display:flex;flex-wrap:wrap;gap:16px;margin-bottom:24px}.back-nav-button{background:none;border:1px solid var(--color-border);border-radius:6px;color:var(--color-text-soft);cursor:pointer;font-size:14px;padding:8px 16px;transition:all .2s}.back-nav-button:hover{background:var(--color-surface-alt);border-color:#ccc}.rabbit-page-header h1{color:var(--color-text);flex:1 1;margin:0}.status-badge{border-radius:20px;font-size:14px;font-weight:500;padding:6px 14px;text-transform:capitalize}.status-alive{background:#d4edda;color:#155724}.status-sold{background:#fff3cd;color:#856404}.status-deceased{background:#f8d7da;color:#721c24}.status-retired{background:#e2e3e5;color:#383d41}.rabbit-page-content{background:#0000;border-radius:0;box-shadow:none;overflow:hidden}.rabbit-photo-section{background:var(--color-surface-alt);display:flex;justify-content:center;max-height:400px;overflow:hidden;width:100%}.rabbit-photo-large{height:auto;max-height:400px;object-fit:cover;width:100%}.info-section{border-bottom:1px solid var(--color-border-soft);padding:24px}.info-section:last-of-type{border-bottom:none}.info-section h2{color:var(--color-text);font-size:18px;font-weight:600;margin:0 0 16px}.info-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fill,minmax(200px,1fr))}.info-item{display:flex;flex-direction:column;gap:4px}.info-item label{color:var(--color-text-muted);font-size:12px;letter-spacing:.5px;text-transform:uppercase}.info-item span{color:var(--color-text);font-size:15px}.gc-number{align-items:center;background:var(--color-surface-alt);border-radius:8px;display:flex;gap:12px;margin-bottom:16px;padding:12px 16px}.gc-label{color:var(--color-text-soft);font-size:14px}.gc-value{color:#4a90a4;font-size:18px;font-weight:600}.accolades-list h3{color:var(--color-text-soft);font-size:14px;margin:0 0 12px}.accolade-item{align-items:center;border-bottom:1px solid var(--color-border-soft);display:flex;gap:12px;padding:8px 0}.accolade-item:last-child{border-bottom:none}.accolade-type{color:var(--color-text);font-weight:500}.accolade-show{color:var(--color-text-soft)}.accolade-date{color:var(--color-text-muted);font-size:13px;margin-left:auto}.rabbit-notes{color:var(--color-text-soft);line-height:1.6;margin:0;white-space:pre-wrap}.rabbit-page-actions{background:var(--color-surface-alt);display:flex;flex-wrap:wrap;gap:12px;padding:24px}.action-button{background:#4a90a4;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:14px;font-weight:500;padding:12px 24px;transition:background .2s}.action-button:hover{background:#3d7a8c}.action-button.secondary{background:var(--color-surface);border:1px solid #4a90a4;color:#4a90a4}.action-button.secondary:hover{background:#f0f7fa}@media (max-width:600px){.rabbit-page{padding:12px 12px 100px}.rabbit-page-header{align-items:flex-start;flex-direction:column}.rabbit-page-header h1{font-size:24px}.info-grid{grid-template-columns:1fr 1fr}.info-section{padding:16px}.rabbit-page-actions{flex-direction:column}.action-button{text-align:center;width:100%}}.login-container{align-items:center;background:linear-gradient(135deg,var(--color-sidebar-accent) 0,var(--color-primary) 100%);display:flex;justify-content:center;min-height:100vh;padding:20px}.login-card{background:var(--color-surface);border-radius:12px;box-shadow:0 10px 40px #0003;max-height:90vh;max-width:600px;overflow-y:auto;padding:3rem;width:100%}.login-card h1{color:#3a2a1e;font-size:1.8rem;margin-bottom:.5rem;text-align:center}.login-card h2{color:var(--color-text-soft);font-size:1.3rem;font-weight:400;margin-bottom:2rem;text-align:center}.error-message{background:#f8d7da;border:1px solid #f5c6cb;border-radius:6px;color:#721c24}.error-message,.success-message{margin-bottom:1.5rem;padding:1rem}.success-message{background:#d4edda;border:1px solid #c3e6cb;border-radius:6px;color:#155724}.verification-notice{background:#fff3cd;border:1px solid #ffeeba;border-radius:6px;color:#856404;margin-bottom:1.5rem;padding:1rem}.verification-notice p{margin:0 0 1rem}.form-row{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:1fr 1fr}.form-row.three-col{grid-template-columns:2fr 1fr 1fr}.form-group-small{min-width:0}.btn-block{font-size:1.1rem;margin-top:1rem;padding:.75rem;width:100%}.toggle-mode{border-top:1px solid var(--color-border-soft);margin-top:1.5rem;padding-top:1.5rem;text-align:center}.toggle-mode p{color:var(--color-text-soft);margin:0}.link-button{background:none;border:none;color:#8b2e2e;cursor:pointer;font-size:inherit;padding:0;text-decoration:underline}.link-button:hover{color:#6f2323}.link-button:disabled{cursor:not-allowed;opacity:.6}.forgot-password-link{margin-top:1rem;text-align:center}.turnstile-container{margin:1rem 0}.turnstile-container>div{width:100%!important}.turnstile-container iframe{max-width:100%!important;width:100%!important}@media (max-width:768px){.login-card{padding:2rem}.login-card h1{font-size:1.5rem}.login-card h2{font-size:1.1rem}}.admin-container{background:var(--color-bg);box-sizing:border-box;padding:20px;width:100%}.admin-title{align-items:center;display:inline-flex;gap:10px}.admin-tabs{border-bottom:1px solid var(--color-border-soft);display:flex;flex-wrap:wrap;gap:8px;margin-bottom:20px}.admin-tab{background:#0000;border:none;border-bottom:3px solid #0000;color:var(--color-text-muted);cursor:pointer;font-size:.95rem;font-weight:600;margin-bottom:-1px;padding:10px 18px;transition:color .15s ease-out,border-color .15s ease-out}.admin-tab:hover:not(:disabled){color:var(--color-text)}.admin-tab-active{border-bottom-color:var(--color-primary);color:var(--color-primary)}.admin-tab:disabled{cursor:not-allowed;opacity:.4}.admin-panel{background:var(--color-surface);border:1px solid var(--color-border-soft);border-radius:14px;box-shadow:var(--shadow-sm);padding:24px}.admin-panel h2{color:var(--color-text);font-family:var(--font-serif);margin:0 0 8px}.admin-panel p{color:var(--color-text-soft);margin:0}
/*# sourceMappingURL=main.52a63855.css.map*/