:root{--emerald: #0d6e4f;--emerald-light: #15a572;--emerald-dark: #084d38;--emerald-muted: #e6f4ef;--gold: #c9922a;--gold-light: #e8b84b;--gold-muted: #fdf3e0;--ink: #1a1a2e;--ink-soft: #3d4460;--ink-muted: #6b7094;--border: #e4e7f0;--card: #ffffff}.tk-svg{width:1em;height:1em;display:inline-block;flex-shrink:0;fill:currentColor;vertical-align:-.125em}.ico-ok{color:var(--emerald-light)}.ico-warn{color:var(--gold)}.ico-bad{color:#dc2626}.ico-muted{color:var(--ink-muted)}.x-flex{display:flex}.x-grid{display:grid}.x-iflex{display:inline-flex}.x-block{display:block}.x-iblock{display:inline-block}.x-inline{display:inline}:root{--surface: #f7f8fc;--sidebar-w: 260px;--shadow-card: 0 2px 12px rgba(13, 110, 79, .07), 0 1px 3px rgba(0, 0, 0, .04);--shadow-hover: 0 8px 28px rgba(13, 110, 79, .13), 0 2px 8px rgba(0, 0, 0, .06)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}body{font-family:Plus Jakarta Sans,sans-serif;background:var(--surface);color:var(--ink);min-height:100vh;overflow-x:hidden}.sidebar{position:fixed;top:0;left:0;width:var(--sidebar-w);height:100vh;background:var(--emerald-dark);display:flex;flex-direction:column;z-index:100;transition:transform .3s cubic-bezier(.4,0,.2,1);overflow:hidden}.sidebar:before{content:"";position:absolute;top:-60px;right:-60px;width:200px;height:200px;border-radius:50%;background:#c9922a14;pointer-events:none}.sidebar:after{content:"";position:absolute;bottom:-80px;left:-40px;width:240px;height:240px;border-radius:50%;background:#c9922a0f;pointer-events:none}.sidebar-header{padding:28px 24px 20px;border-bottom:1px solid rgba(255,255,255,.08);flex-shrink:0;position:relative;z-index:1}.logo-mark{display:flex;align-items:center;gap:12px;margin-bottom:16px}.logo-icon{width:40px;height:40px;background:linear-gradient(135deg,var(--gold),var(--gold-light));border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:20px;box-shadow:0 4px 12px #c9922a66;flex-shrink:0}.logo-text{min-width:0;flex:1}.logo-text .app-name{font-family:Amiri,serif;font-size:16px;color:#fff;font-weight:700;line-height:1;letter-spacing:.3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.logo-text .app-sub{font-size:8px;color:#ffffff73;letter-spacing:1.2px;text-transform:uppercase;margin-top:3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.masjid-badge{background:#ffffff12;border:1px solid rgba(255,255,255,.1);border-radius:8px;padding:10px 12px;display:flex;align-items:center;gap:10px}.masjid-avatar{width:32px;height:32px;color:#fff;background:linear-gradient(135deg,var(--emerald-light),var(--emerald));border-radius:8px;display:flex;align-items:center;justify-content:center;font-size:14px;flex-shrink:0}.masjid-info .name{font-size:12px;font-weight:600;color:#fff}.masjid-info .periode{font-size:10px;color:#ffffff73;margin-top:1px}.sidebar-nav{flex:1;overflow-y:auto;padding:16px 0;position:relative;z-index:1}.sidebar-nav::-webkit-scrollbar{width:0}.nav-section-label{font-size:9px;font-weight:700;letter-spacing:1.8px;text-transform:uppercase;color:#ffffff4d;padding:16px 24px 6px}.nav-item{display:flex;align-items:center;gap:10px;padding:10px 24px;margin:1px 10px;border-radius:10px;color:#fff9;font-size:13.5px;font-weight:500;cursor:pointer;transition:all .2s;text-decoration:none;position:relative}.nav-item:hover{background:#ffffff12;color:#fff}.nav-item.active{background:linear-gradient(135deg,#c9922a40,#c9922a1f);color:var(--gold-light);border:1px solid rgba(201,146,42,.2)}.nav-item.active .nav-icon{color:var(--gold-light)}.nav-icon{font-size:16px;width:20px;text-align:center;flex-shrink:0}.nav-badge{margin-left:auto;background:var(--gold);color:#fff;font-size:10px;font-weight:700;padding:2px 6px;border-radius:20px;min-width:20px;text-align:center}.sidebar-footer{padding:16px;border-top:1px solid rgba(255,255,255,.08);position:relative;z-index:1}.user-row{display:flex;align-items:center;gap:10px;padding:10px 8px;border-radius:10px;cursor:pointer;transition:background .2s}.user-row:hover{background:#ffffff12}.user-ava{width:34px;height:34px;background:linear-gradient(135deg,var(--gold),var(--gold-light));border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:700;color:#fff;flex-shrink:0}.user-info .uname{font-size:12.5px;font-weight:600;color:#fff}.user-info .urole{font-size:10px;color:#fff6;text-transform:uppercase;letter-spacing:.8px}.logout-btn{margin-left:auto;color:#ffffff4d;font-size:15px;cursor:pointer;padding:4px;transition:color .2s}.logout-btn:hover{color:#ff7b7b}.main-wrap{margin-left:var(--sidebar-w);min-height:100vh;display:flex;flex-direction:column}.topbar{background:var(--card);border-bottom:1px solid var(--border);padding:0 28px;height:64px;display:flex;align-items:center;gap:16px;position:sticky;top:0;z-index:50}.page-title-area{flex:1}.page-title{font-size:17px;font-weight:700;color:var(--ink);line-height:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}@media(max-width:480px){.page-title{font-size:15px;max-width:120px}}.breadcrumb{font-size:11.5px;color:var(--ink-muted);margin-top:3px}.breadcrumb span{color:var(--emerald);font-weight:600}.topbar-actions{display:flex;align-items:center;gap:10px}.periode-pill{display:flex;align-items:center;gap:6px;background:var(--emerald-muted);border:1px solid rgba(13,110,79,.15);border-radius:20px;padding:5px 12px;font-size:12px;font-weight:600;color:var(--emerald);cursor:pointer}.periode-dot{width:7px;height:7px;background:var(--emerald-light);border-radius:50%;animation:pulse 2s infinite}@keyframes pulse{0%,to{box-shadow:0 0 #15a57266}50%{box-shadow:0 0 0 5px #15a57200}}.notif-btn{width:38px;height:38px;border-radius:10px;border:1px solid var(--border);background:var(--card);display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:16px;color:var(--ink-muted);position:relative;transition:all .2s}.notif-btn:hover{background:var(--emerald-muted);color:var(--emerald);border-color:#0d6e4f33}.notif-dot{position:absolute;top:6px;right:6px;width:8px;height:8px;background:#f04438;border-radius:50%;border:2px solid #fff}.content{flex:1;padding:28px}.stat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:24px}.stat-card{background:var(--card);border:1px solid var(--border);border-radius:16px;padding:20px;box-shadow:var(--shadow-card);transition:all .25s;position:relative;overflow:hidden}.stat-card:before{content:"";position:absolute;top:0;right:0;width:80px;height:80px;border-radius:0 16px 0 80px;opacity:.07}.stat-card.green:before{background:var(--emerald)}.stat-card.gold:before{background:var(--gold)}.stat-card.blue:before{background:#3b82f6}.stat-card.red:before{background:#ef4444}.stat-card:hover{box-shadow:var(--shadow-hover);transform:translateY(-2px)}.stat-icon{position:absolute;top:16px;right:16px;width:40px;height:40px;border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:18px;z-index:1}.stat-card.green .stat-icon{background:var(--emerald-muted)}.stat-card.gold .stat-icon{background:var(--gold-muted)}.stat-card.blue .stat-icon{background:#eff6ff}.stat-card.red .stat-icon{background:#fef2f2}.stat-value{font-size:28px;font-weight:700;line-height:1;color:var(--ink);margin-bottom:4px;padding-right:48px}.stat-label{font-size:12px;color:var(--ink-muted);font-weight:500;padding-right:48px}.stat-trend{display:flex;align-items:center;gap:4px;margin-top:10px;font-size:11.5px;font-weight:600}.trend-up{color:var(--emerald-light)}.trend-label{color:var(--ink-muted);font-weight:400}.section-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px;flex-wrap:wrap;gap:8px}.section-title{font-size:15px;font-weight:700;color:var(--ink)}.section-sub{font-size:12px;color:var(--ink-muted);font-weight:400;margin-top:2px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:8px 16px;border-radius:10px;font-size:13px;font-weight:600;cursor:pointer;border:none;transition:all .2s;text-decoration:none;font-family:inherit}.btn-primary{background:var(--emerald);color:#fff}.btn-primary:hover{background:var(--emerald-light);box-shadow:0 4px 12px #0d6e4f4d}.btn-outline{background:transparent;border:1px solid var(--border);color:var(--ink-soft)}.btn-outline:hover{background:var(--surface)}.btn-gold{background:var(--gold);color:#fff}.btn-gold:hover{background:var(--gold-light)}.btn-red{background:#ef4444;color:#fff;border-color:transparent}.btn-red:hover{background:#dc2626}.btn-success{background:#16a34a;color:#fff;border-color:transparent}.btn-success:hover{background:#15803d;box-shadow:0 4px 12px #16a34a4d}.btn-sm{padding:6px 12px;font-size:12px}.btn-loading{position:relative;pointer-events:none;opacity:.8;color:transparent!important}.btn-loading:after{content:"";position:absolute;width:16px;height:16px;top:50%;left:50%;margin:-8px 0 0 -8px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:btn-spin .6s linear infinite}.btn-outline.btn-loading:after{border:2px solid rgba(13,110,79,.1);border-top-color:var(--emerald)}@keyframes btn-spin{to{transform:rotate(360deg)}}.two-col{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:24px}.three-col{display:grid;grid-template-columns:1.5fr 1fr;gap:16px;margin-bottom:24px}.card{background:var(--card);border:1px solid var(--border);border-radius:16px;box-shadow:var(--shadow-card);overflow:hidden}.card-header{padding:18px 20px;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between}.card-title{font-size:14px;font-weight:700;color:var(--ink)}.card-body{padding:0}table{width:100%;border-collapse:collapse}thead th{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.8px;color:var(--ink-muted);padding:12px 16px;text-align:left;background:var(--surface);border-bottom:1px solid var(--border)}tbody tr{border-bottom:1px solid var(--border);transition:background .15s}tbody tr:last-child{border-bottom:none}tbody tr:hover{background:var(--surface)}tbody td{padding:13px 16px;font-size:13px;color:var(--ink-soft);vertical-align:middle}.td-bold{font-weight:600;color:var(--ink)}.table-responsive{width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.mobile-only{display:none!important}@media(max-width:768px){.desktop-only{display:none!important}.mobile-only{display:block!important}}.badge{display:inline-flex;align-items:center;gap:4px;padding:3px 10px;border-radius:20px;font-size:11px;font-weight:600}.badge-green{background:var(--emerald-muted);color:var(--emerald)}.badge-gold{background:var(--gold-muted);color:var(--gold)}.badge-red{background:#fef2f2;color:#dc2626}.badge-gray{background:#f3f4f6;color:#6b7280}.badge-blue{background:#eff6ff;color:#2563eb}.badge-dot{width:5px;height:5px;border-radius:50%;background:currentColor}.hewan-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;padding:16px}.hewan-card{border:1px solid var(--border);border-radius:12px;padding:14px;transition:all .2s;cursor:pointer}.hewan-card:hover{border-color:var(--emerald);box-shadow:var(--shadow-hover)}.hewan-card.sapi{border-top:3px solid var(--emerald)}.hewan-card.kambing{border-top:3px solid var(--gold)}.hewan-top{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:10px}.hewan-code{font-size:13px;font-weight:700;color:var(--ink)}.hewan-type{font-size:11px;color:var(--ink-muted);margin-top:2px}.slot-bar{background:var(--border);border-radius:20px;height:6px;overflow:hidden;margin:8px 0}.slot-fill{height:100%;border-radius:20px;transition:width .5s ease}.slot-fill.green{background:linear-gradient(90deg,var(--emerald),var(--emerald-light))}.slot-fill.gold{background:linear-gradient(90deg,var(--gold),var(--gold-light))}.slot-fill.red{background:linear-gradient(90deg,#ef4444,#f87171)}.slot-info{display:flex;justify-content:space-between;font-size:11px;color:var(--ink-muted)}.timeline{padding:16px 20px}.tl-item{display:flex;gap:14px;position:relative;padding-bottom:20px}.tl-item:last-child{padding-bottom:0}.tl-item:not(:last-child):before{content:"";position:absolute;left:15px;top:32px;bottom:0;width:2px;background:var(--border)}.tl-dot{width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:14px;flex-shrink:0;position:relative;z-index:1}.tl-dot.done{background:var(--emerald-muted);border:2px solid var(--emerald)}.tl-dot.active{background:var(--gold-muted);border:2px solid var(--gold);animation:tlpulse 2s infinite}.tl-dot.pending{background:#f3f4f6;border:2px solid var(--border)}@keyframes tlpulse{0%,to{box-shadow:0 0 #c9922a4d}50%{box-shadow:0 0 0 6px #c9922a00}}.tl-content .tl-title{font-size:13px;font-weight:600;color:var(--ink)}.tl-content .tl-time{font-size:11px;color:var(--ink-muted);margin-top:2px}.tl-content .tl-status{margin-top:4px}.search-bar{display:flex;align-items:center;gap:8px;background:var(--surface);border:1px solid var(--border);border-radius:10px;padding:8px 12px;font-size:13px;color:var(--ink-muted);cursor:text;transition:all .2s;min-width:200px}.search-bar:focus-within{border-color:var(--emerald);background:#fff}.search-bar input{border:none;background:none;outline:none;font-size:13px;font-family:inherit;color:var(--ink);flex:1}.quick-actions{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:24px}.qa-btn{background:var(--card);border:1px solid var(--border);border-radius:14px;padding:16px;display:flex;flex-direction:column;align-items:center;gap:8px;cursor:pointer;transition:all .2s;text-align:center}.qa-btn:hover{border-color:var(--emerald);box-shadow:var(--shadow-hover);transform:translateY(-2px)}.qa-icon{width:44px;height:44px;border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:20px}.qa-label{font-size:12px;font-weight:600;color:var(--ink-soft);line-height:1.3}.dist-progress{padding:16px 20px;display:flex;flex-direction:column;gap:14px}.dp-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px}.dp-label{font-size:12.5px;font-weight:600;color:var(--ink)}.dp-count{font-size:12px;color:var(--ink-muted)}.dp-bar{background:var(--border);border-radius:20px;height:8px;overflow:hidden}.dp-fill{height:100%;border-radius:20px;transition:width .6s ease}.tabs{display:flex;gap:2px;background:var(--surface);border-radius:10px;padding:4px;margin-bottom:20px;overflow-x:auto;white-space:nowrap;-webkit-overflow-scrolling:touch}.tabs::-webkit-scrollbar{display:none}.tab{flex:1;min-width:fit-content;padding:8px 12px;border-radius:8px;font-size:12.5px;font-weight:600;color:var(--ink-muted);cursor:pointer;text-align:center;transition:background .2s,color .2s,box-shadow .2s;touch-action:manipulation}button.tab{border:0;background:transparent;font-family:inherit}.tab:focus-visible{outline:2px solid var(--emerald);outline-offset:-2px}.tab.active{background:var(--card);color:var(--emerald);box-shadow:0 1px 4px #00000014}.sidebar-overlay{display:none;position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;z-index:99}.menu-toggle{display:none;width:38px;height:38px;border-radius:10px;border:1px solid var(--border);background:var(--card);align-items:center;justify-content:center;cursor:pointer;font-size:18px;color:var(--ink)}.avatar-stack{display:flex}.avatar-mini{width:24px;height:24px;border-radius:50%;border:2px solid #fff;margin-left:-6px;font-size:10px;display:flex;align-items:center;justify-content:center;font-weight:700;color:#fff}.avatar-stack .avatar-mini:first-child{margin-left:0}.readonly-mode .rw-only{display:none!important}.readonly-banner{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin:16px 24px 0;padding:10px 16px;background:var(--gold-muted);border:1px solid var(--gold-light);border-radius:12px;font-size:13px;color:var(--ink-soft)}.periode-item:hover{background:var(--surface)}.arabic-ornament{font-family:Amiri,serif;font-size:13px;color:var(--emerald-light);letter-spacing:2px}@media(max-width:1100px){.stat-grid{grid-template-columns:repeat(2,1fr)}.three-col{grid-template-columns:1fr}.hewan-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:768px){.sidebar{transform:translate(-100%)}.sidebar.open{transform:translate(0)}.sidebar-overlay{display:block}.menu-toggle{display:flex}.main-wrap{margin-left:0}.content{padding:16px}.stat-grid{grid-template-columns:repeat(2,1fr);gap:12px}.two-col{grid-template-columns:1fr}.quick-actions{grid-template-columns:repeat(2,1fr)}.hewan-grid{grid-template-columns:1fr 1fr}.topbar{padding:0 16px}}@media(max-width:480px){.stat-grid{grid-template-columns:repeat(2,1fr);gap:8px}.stat-card{padding:12px}.stat-icon{top:10px;right:10px;width:30px;height:30px;font-size:14px}.stat-value{font-size:20px;padding-right:36px}.stat-label{font-size:10px;padding-right:36px}.stat-trend{font-size:10px;margin-top:6px}.hewan-grid{grid-template-columns:1fr}.quick-actions{grid-template-columns:repeat(2,1fr)}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}.anim-in{animation:fadeInUp .45s ease both}.anim-in:nth-child(1){animation-delay:.05s}.anim-in:nth-child(2){animation-delay:.1s}.anim-in:nth-child(3){animation-delay:.15s}.anim-in:nth-child(4){animation-delay:.2s}.anim-in:nth-child(5){animation-delay:.25s}.anim-in:nth-child(6){animation-delay:.3s}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000073;z-index:200;display:flex;align-items:center;justify-content:center;padding:20px}.modal-overlay>div{max-height:calc(100vh - 40px);overflow-y:auto;overscroll-behavior:contain}body:has(.modal-overlay:not([style*="display: none"])){overflow:hidden}[x-cloak]{display:none!important}@supports (padding: env(safe-area-inset-bottom)){.sidebar{padding-bottom:env(safe-area-inset-bottom)}@media(max-width:768px){.topbar{padding-left:max(16px,env(safe-area-inset-left));padding-right:max(16px,env(safe-area-inset-right))}.content{padding-left:max(16px,env(safe-area-inset-left));padding-right:max(16px,env(safe-area-inset-right));padding-bottom:max(72px,calc(56px + env(safe-area-inset-bottom)))}}}@media(max-width:768px){.btn{min-height:40px}.nav-item{min-height:44px}input,select,textarea{font-size:16px!important}}@media(max-width:640px){.modal-overlay{align-items:flex-end!important;padding:0!important;padding-bottom:env(safe-area-inset-bottom,0px)!important}.modal-overlay>div{border-radius:20px 20px 0 0!important;max-width:100%!important;width:100%!important;max-height:88vh!important;overflow-y:auto!important;overflow-x:hidden!important}}
