@import"https://fonts.googleapis.com/css2?family=Playfair+Display:wght@400;600;700&family=DM+Sans:wght@300;400;500;600&family=DM+Mono:wght@400;500&display=swap";:root{--green-deep: #1a3a2a;--green-mid: #2d6a4f;--green-light: #52b788;--green-pale: #d8f3dc;--orange: #f4a261;--orange-deep: #e76f51;--cream: #fdf6ec;--charcoal: #1c1c1c;--stone: #6b5e52;--stone-light: #b5a99a;--radius: 14px;--radius-sm: 8px;--shadow-sm: 0 2px 8px rgba(26,58,42,.08);--shadow-md: 0 6px 24px rgba(26,58,42,.12)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}body{font-family:DM Sans,sans-serif;background:var(--cream);color:var(--charcoal)}::-webkit-scrollbar{width:5px}::-webkit-scrollbar-thumb{background:#6b5e5240;border-radius:10px}.btn{display:inline-flex;align-items:center;gap:7px;padding:9px 18px;border-radius:var(--radius-sm);font-family:DM Sans,sans-serif;font-size:13px;font-weight:500;cursor:pointer;border:none;transition:all .18s ease;text-decoration:none}.btn-primary{background:var(--green-mid);color:#fff}.btn-primary:hover{background:var(--green-deep);transform:translateY(-1px)}.btn-orange{background:var(--orange);color:#fff}.btn-orange:hover{background:var(--orange-deep)}.btn-outline{background:transparent;border:1.5px solid rgba(107,94,82,.25);color:var(--stone)}.btn-outline:hover{border-color:var(--green-mid);color:var(--green-mid)}.btn-danger{background:#fee2e2;color:#dc2626;border:1.5px solid #fca5a5}.btn-danger:hover{background:#dc2626;color:#fff}.btn-sm{padding:6px 12px;font-size:12px}.card{background:#fff;border-radius:var(--radius);box-shadow:var(--shadow-sm);overflow:hidden}.card-header{padding:18px 22px;border-bottom:1px solid rgba(107,94,82,.08);display:flex;align-items:center;justify-content:space-between}.card-title{font-family:Playfair Display,serif;font-size:16px;font-weight:600;color:var(--green-deep)}.card-body{padding:22px}.badge{display:inline-block;padding:3px 10px;border-radius:20px;font-size:11px;font-weight:600}.badge-green{background:#d8f3dc;color:#1a7a3a}.badge-orange{background:#fde8d8;color:#c45c1a}.badge-red{background:#fee2e2;color:#dc2626}.badge-blue{background:#dbeafe;color:#1d4ed8}.badge-gray{background:#f3f4f6;color:#6b7280}table{width:100%;border-collapse:collapse}thead th{font-size:11px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--stone);padding:12px 16px;text-align:left;border-bottom:2px solid rgba(107,94,82,.08);background:#fdf6ec80}tbody tr{border-bottom:1px solid rgba(107,94,82,.06);transition:background .15s}tbody tr:hover{background:#fdf6ec99}tbody tr:last-child{border-bottom:none}td{padding:13px 16px;font-size:13.5px;vertical-align:middle}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.form-group{display:flex;flex-direction:column;gap:6px}.form-group.full{grid-column:span 2}label{font-size:12px;font-weight:600;color:var(--stone);text-transform:uppercase;letter-spacing:.06em}input,select,textarea{padding:10px 14px;border:1.5px solid rgba(107,94,82,.2);border-radius:var(--radius-sm);font-family:DM Sans,sans-serif;font-size:14px;color:var(--charcoal);background:#fff;transition:border-color .15s;outline:none}input:focus,select:focus,textarea:focus{border-color:var(--green-mid);box-shadow:0 0 0 3px #2d6a4f1a}textarea{resize:vertical;min-height:80px}.progress-bar{height:6px;background:#6b5e521f;border-radius:10px;overflow:hidden}.progress-fill{height:100%;background:var(--green-mid);border-radius:10px;transition:width .6s ease}.alert{padding:12px 16px;border-radius:var(--radius-sm);font-size:13px;display:flex;align-items:center;gap:10px;margin-bottom:16px}.alert-warning{background:#fef9c3;border:1px solid #fde047;color:#854d0e}.alert-info{background:#dbeafe;border:1px solid #93c5fd;color:#1e40af}.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-bottom:20px}.grid-3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:20px;margin-bottom:20px}.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:28px}@keyframes fadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.fade-in{animation:fadeIn .25s ease}@keyframes spin{to{transform:rotate(360deg)}}.spinner{width:32px;height:32px;border:3px solid rgba(45,106,79,.2);border-top-color:var(--green-mid);border-radius:50%;animation:spin .7s linear infinite}
