:root{--color-primary:#0f5c3f;--color-primary-dark:#0b4730;--color-primary-light:#e6f4ee;--color-bg:#f3f5f7;--color-surface:#fff;--color-border:#e2e5e9;--color-text:#1a1d21;--color-text-muted:#6b7280;--color-danger:#d92d20;--color-danger-dark:#b42318;--color-danger-light:#fef2f1;--color-warning:#b54708;--color-warning-light:#fffaeb;--shadow-xs:0 1px 2px #1018280d;--shadow-sm:0 1px 3px #10182814, 0 1px 2px #1018280a;--shadow-md:0 6px 16px #1018281a, 0 2px 4px #1018280a;--shadow-lg:0 16px 40px #10182829, 0 4px 10px #1018280f;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif}*{box-sizing:border-box}body{background:var(--color-bg);color:var(--color-text);margin:0}.app-shell{min-height:100vh;display:flex}.sidebar{background:var(--color-surface);border-right:1px solid var(--color-border);width:240px;box-shadow:var(--shadow-sm);z-index:1;flex-direction:column;flex-shrink:0;padding:22px 14px;display:flex;position:relative}.sidebar-title{color:var(--color-primary);padding:4px 8px 20px;font-size:16px;font-weight:700}.sidebar-logo{width:100%;max-width:190px;height:auto;margin-bottom:6px;display:block}.sidebar-title small{color:var(--color-text-muted);font-size:12px;font-weight:400;display:block}.sidebar nav{flex-direction:column;flex:1;gap:3px;display:flex}.sidebar a{color:var(--color-text);border-left:3px solid #0000;border-radius:8px;padding:10px 12px;font-size:14px;font-weight:500;text-decoration:none;transition:background-color .15s,color .15s;display:block}.sidebar a:hover{background:var(--color-bg)}.sidebar a.active{background:var(--color-primary-light);color:var(--color-primary);border-left-color:var(--color-primary);font-weight:700}.sidebar-footer{border-top:1px solid var(--color-border);margin-top:12px;padding-top:14px;font-size:13px}.sidebar-footer>div:first-child{font-weight:600}.sidebar-footer button{width:100%;margin-top:10px}.main-content{flex:1;max-width:1280px;padding:32px 36px}h1{letter-spacing:-.01em;margin:0 0 4px;font-size:23px;font-weight:700}.page-subtitle{color:var(--color-text-muted);margin:0 0 24px;font-size:14px}.main-content>.page-subtitle{border-bottom:1px solid var(--color-border);padding-bottom:20px}.card{background:var(--color-surface);border:1px solid var(--color-border);box-shadow:var(--shadow-sm);border-radius:12px;padding:20px;overflow:hidden}.card+.card{margin-top:20px}.stat-grid{grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:16px;margin-bottom:28px;display:grid}.stat-card{background:var(--color-surface);border:1px solid var(--color-border);box-shadow:var(--shadow-sm);border-radius:12px;padding:18px 20px;transition:transform .15s,box-shadow .15s;position:relative;overflow:hidden}.stat-card:before{content:"";background:var(--color-primary);opacity:.75;height:3px;position:absolute;top:0;left:0;right:0}.stat-card:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.stat-card .value{font-size:30px;font-weight:700;line-height:1.1}.stat-card .label{color:var(--color-text-muted);margin-top:6px;font-size:13px;font-weight:500}.stat-card.alert:before{background:var(--color-danger)}.stat-card.alert .value{color:var(--color-danger)}table{border-collapse:collapse;width:100%;font-size:14px}thead tr{background:var(--color-bg)}th{text-align:left;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.04em;border-bottom:1px solid var(--color-border);padding:12px;font-size:11.5px;font-weight:700}th:first-child,td:first-child{padding-left:16px}th:last-child,td:last-child{padding-right:16px}td{border-bottom:1px solid var(--color-border);padding:12px}tbody tr{transition:background-color .1s}tbody tr:hover{background:var(--color-bg)}tr:last-child td{border-bottom:none}.card table{width:calc(100% + 40px);margin:-20px}.toolbar{flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:18px;display:flex}input,select,textarea{border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text);border-radius:8px;padding:9px 12px;font-family:inherit;font-size:14px;transition:border-color .15s,box-shadow .15s}input:focus,select:focus,textarea:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-light);outline:none}input[type=checkbox],input[type=radio]{width:16px;height:16px;accent-color:var(--color-primary);cursor:pointer;border-radius:4px;flex-shrink:0;padding:0}.form-field input[type=checkbox],.form-field input[type=radio]{width:16px}.checkbox-label{color:var(--color-text);cursor:pointer;align-items:center;gap:8px;font-weight:500;display:flex}button{border:1px solid var(--color-primary);background:var(--color-primary);color:#fff;cursor:pointer;box-shadow:var(--shadow-xs);border-radius:8px;padding:9px 16px;font-family:inherit;font-size:14px;font-weight:600;transition:background-color .15s,transform 50ms,box-shadow .15s}button:hover:not(:disabled){background:var(--color-primary-dark);border-color:var(--color-primary-dark);box-shadow:var(--shadow-sm)}button:active:not(:disabled){box-shadow:none;transform:translateY(1px)}button:disabled{opacity:.5;cursor:not-allowed;box-shadow:none}button.secondary{background:var(--color-surface);color:var(--color-primary)}button.secondary:hover:not(:disabled){background:var(--color-primary-light);border-color:var(--color-primary);color:var(--color-primary)}button.danger{background:var(--color-danger);border-color:var(--color-danger)}button.danger:hover:not(:disabled){background:var(--color-danger-dark);border-color:var(--color-danger-dark)}.badge{border:1px solid #0000;border-radius:999px;padding:3px 10px;font-size:12px;font-weight:700;display:inline-block}.badge.active{background:var(--color-primary-light);color:var(--color-primary);border-color:#0f5c3f2e}.badge.inactive{color:var(--color-text-muted);border-color:var(--color-border);background:#f3f4f6}.badge.pending{background:var(--color-warning-light);color:var(--color-warning);border-color:#b547082e}.error-banner{background:var(--color-danger-light);color:var(--color-danger);box-shadow:var(--shadow-xs);border:1px solid #d92d2026;border-radius:10px;margin-bottom:16px;padding:12px 14px;font-size:14px}.login-page{background:linear-gradient(160deg, var(--color-bg) 0%, var(--color-primary-light) 100%);justify-content:center;align-items:center;min-height:100vh;display:flex}.login-card{background:var(--color-surface);border:1px solid var(--color-border);width:360px;box-shadow:var(--shadow-lg);border-radius:16px;padding:36px}.login-logo{width:100%;max-width:260px;height:auto;margin:0 auto 12px;display:block}.login-card .page-subtitle{text-align:center}.form-field{flex-direction:column;gap:6px;margin-bottom:14px;display:flex}.form-field label{color:var(--color-text-muted);font-size:13px;font-weight:600}.form-field input,.form-field select,.form-field textarea{width:100%}.modal-backdrop{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);z-index:50;background:#10182873;justify-content:center;align-items:center;animation:.15s fade-in;display:flex;position:fixed;inset:0}.modal{background:var(--color-surface);width:420px;max-height:85vh;box-shadow:var(--shadow-lg);border-radius:14px;padding:24px;animation:.15s modal-in;overflow-y:auto}.modal h2{margin-top:0;font-size:18px}.modal-actions{border-top:1px solid var(--color-border);justify-content:flex-end;gap:10px;margin-top:20px;padding-top:16px;display:flex}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes modal-in{0%{opacity:0;transform:translateY(6px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}.loading-center{min-height:200px;color:var(--color-text-muted);justify-content:center;align-items:center;display:flex}
