:root{
  --g9:#16392d; --g8:#24543f; --g7:#327052; --g6:#3f8a63;
  --g1:#eaf4ee; --page:#f4f7f5; --border:#e1e8e4; --text:#20302a;
}
*{box-sizing:border-box}
body{margin:0;background:var(--page);color:var(--text);font-family:Inter,system-ui,-apple-system,sans-serif}
a{text-decoration:none}
.app-shell{min-height:100vh;display:flex}
.sidebar{width:280px;position:fixed;inset:0 auto 0 0;background:linear-gradient(180deg,var(--g9),#102a21);color:#fff;overflow-y:auto;z-index:1040;box-shadow:8px 0 30px rgba(16,42,33,.12)}
.brand{display:block;padding:18px;background:rgba(255,255,255,.04);border-bottom:1px solid rgba(255,255,255,.08)}
.brand img{width:100%;max-height:84px;object-fit:contain;object-position:left center;border-radius:8px}
.sidebar-nav{padding:12px}
.sidebar-nav a{display:flex;align-items:center;gap:12px;color:rgba(255,255,255,.88);text-decoration:none;padding:11px 13px;border-radius:10px;margin-bottom:4px;transition:.2s;font-weight:600}
.sidebar-nav a:hover,.sidebar-nav a.active{background:rgba(255,255,255,.12);color:#fff;transform:translateX(2px)}
.sidebar-nav i{font-size:1rem}
.nav-label{font-size:.7rem;text-transform:uppercase;letter-spacing:.12em;color:rgba(255,255,255,.5);padding:18px 13px 7px;font-weight:700}
.main-area{margin-left:280px;width:calc(100% - 280px);min-height:100vh}
.auth-area{margin-left:0;width:100%}
.topbar{height:76px;display:flex;align-items:center;padding:0 28px;background:rgba(255,255,255,.96);border-bottom:1px solid var(--border);position:sticky;top:0;z-index:1030;backdrop-filter:blur(10px)}
.topbar-title{font-weight:780}
.sidebar-toggle{display:none;border:0;background:transparent;font-size:1.6rem;margin-right:12px}
.user-chip{padding:8px 12px;border-radius:999px;background:var(--g1);color:var(--g8);font-weight:600}
.page-content{padding:30px}
.page-heading{margin-bottom:24px}
.page-heading h1{font-size:1.85rem;font-weight:780;margin:3px 0 5px}
.page-heading p{color:#718079;margin:0}
.eyebrow{color:var(--g7);text-transform:uppercase;font-size:.72rem;font-weight:800;letter-spacing:.13em}
.form-card,.detail-card,.profile-card,.card{background:#fff;border:1px solid var(--border);border-radius:16px;box-shadow:0 8px 30px rgba(35,65,51,.055)}
.form-card{padding:28px;max-width:1100px}
.form-label{font-size:.86rem;font-weight:700;color:#40534a}
.form-control,.form-select{border:1px solid #d7e1dc;border-radius:10px;min-height:44px;padding:.65rem .8rem;}
.form-control:focus,.form-select:focus{border-color:#72a98a;box-shadow:0 0 0 .22rem rgba(50,112,82,.12)}
.required{color:#d34b4b;margin-left:2px}
.form-actions{display:flex;gap:10px;margin-top:28px;padding-top:22px;border-top:1px solid var(--border)}
.btn{border-radius:9px;font-weight:650}
.btn-success{background:var(--g7);border-color:var(--g7)}
.btn-success:hover{background:var(--g8);border-color:var(--g8)}
.metric-card{border:0}
.metric-card small{color:#718079;text-transform:uppercase;font-size:.72rem;font-weight:750;letter-spacing:.06em}
.metric-card h2{margin:.4rem 0 0;font-weight:800;color:var(--g8)}
.table{--bs-table-bg:transparent}
.table thead th{color:#607269;font-size:.76rem;text-transform:uppercase;letter-spacing:.05em;border-bottom-width:1px}
.table td,.table th{padding:.95rem 1rem;vertical-align:middle}
.profile-card,.detail-card{padding:26px}
.rabbit-photo{width:170px;height:170px;object-fit:cover;border-radius:50%;border:7px solid var(--g1)}
.rabbit-placeholder{width:170px;height:170px;border-radius:50%;background:var(--g1);display:grid;place-items:center;font-size:5rem;margin:auto}
.status-pill{display:inline-block;background:var(--g1);color:var(--g8);padding:6px 12px;border-radius:999px;font-weight:700}
.detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}
.detail-grid div{padding:16px;border-radius:12px;background:#f8faf9}
.detail-grid small{display:block;color:#75867e;margin-bottom:5px}
.alert{border-radius:12px}
.auth-wrapper{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:32px;background:radial-gradient(circle at top left, rgba(63,138,99,.10), transparent 28%),linear-gradient(135deg, #f6faf7 0%, #eef5f1 100%)}
.auth-shell{width:min(1050px, 100%);display:grid;grid-template-columns: 1.05fr .95fr;gap:28px;align-items:stretch}
.auth-brand-panel{background:linear-gradient(145deg, #143529 0%, #24543f 55%, #2e6c50 100%);color:#fff;border-radius:28px;padding:42px;box-shadow:0 20px 50px rgba(22,57,45,.18);position:relative;overflow:hidden;display:flex;flex-direction:column;justify-content:space-between;min-height:560px}
.auth-brand-panel::after{content:"";position:absolute;width:260px;height:260px;right:-70px;bottom:-70px;border-radius:50%;background:rgba(255,255,255,.08)}
.auth-brand-logo{width:100%;max-width:420px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.12);border-radius:20px;padding:16px;backdrop-filter: blur(8px)}
.auth-brand-logo img{width:100%;max-height:110px;object-fit:contain;object-position:left center;display:block}
.auth-kicker{font-size:.8rem;text-transform:uppercase;letter-spacing:.14em;color:rgba(255,255,255,.8);font-weight:700;margin-bottom:14px}
.auth-title{font-size:3rem;line-height:1.02;margin:0 0 14px;font-weight:800}
.auth-text{color:rgba(255,255,255,.82);font-size:1.04rem;max-width:460px}
.auth-pills{display:flex;flex-wrap:wrap;gap:10px;margin-top:22px}
.auth-pill{padding:9px 14px;border-radius:999px;background:rgba(255,255,255,.12);color:#fff;border:1px solid rgba(255,255,255,.12);font-size:.9rem;font-weight:600}
.login-card{background:#fff;border:1px solid var(--border);border-radius:28px;box-shadow:0 20px 45px rgba(22,57,45,.10);padding:38px 34px;display:flex;flex-direction:column;justify-content:center;min-height:560px}
.login-mini-brand{display:flex;align-items:center;gap:12px;margin-bottom:18px}
.login-mini-brand img{width:56px;height:56px;object-fit:contain;border-radius:14px;background:#f6faf7;padding:6px;border:1px solid #e4eee7}
.login-mini-brand h2{margin:0;font-size:1.35rem;font-weight:800;color:var(--g8)}
.login-subtitle{color:#6c7c74;margin-bottom:22px}
.login-card .form-group,.login-card p{margin-bottom:18px}
.login-card label{display:block;margin-bottom:7px;font-weight:700;color:#3f4f47}
.login-card input{width:100%;border:1px solid #d7e1dc;border-radius:12px;min-height:48px;padding:.7rem .9rem;outline:none}
.login-card input:focus{border-color:#72a98a;box-shadow:0 0 0 .22rem rgba(50,112,82,.12)}
.login-btn{width:100%;min-height:50px;border:none;border-radius:14px;background:linear-gradient(90deg, #1a4233, #2f6c4f);color:#fff;font-size:1.05rem;font-weight:800;margin-top:8px;transition:.2s}
.login-btn:hover{transform:translateY(-1px); box-shadow:0 10px 22px rgba(36,84,63,.18)}
.login-help{margin-top:18px;color:#788880;font-size:.92rem}
@media(max-width:992px){.auth-shell{grid-template-columns:1fr}.auth-brand-panel,.login-card{min-height:auto}}
@media(max-width:900px){.sidebar{transform:translateX(-100%);transition:.25s}body.sidebar-open .sidebar{transform:translateX(0)}.main-area{margin-left:0;width:100%}.sidebar-toggle{display:block}.page-content{padding:20px 14px}.topbar{padding:0 14px}.user-chip{display:none}.detail-grid{grid-template-columns:1fr}}
@media(max-width:576px){.auth-wrapper{padding:18px}.auth-brand-panel,.login-card{padding:24px}.auth-title{font-size:2.2rem}}

.cycle-strip{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:12px}
.cycle-strip>div{background:#fff;border:1px solid var(--border);border-radius:14px;padding:16px;box-shadow:0 8px 24px rgba(35,65,51,.045)}
.cycle-strip small{display:block;color:#77877f;margin-bottom:5px;font-size:.75rem;text-transform:uppercase;letter-spacing:.05em}
.cycle-strip strong{display:block;color:var(--g8)}
@media(max-width:1100px){.cycle-strip{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:650px){.cycle-strip{grid-template-columns:1fr 1fr}}
