@import "https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&family=Outfit:wght@300;400;500;600;700&display=swap";:root{--primary:#1b4332;--primary-light:#2d6a4f;--primary-dark:#081c15;--accent:#52b788;--accent-light:#74c69d;--accent-dark:#40916c;--status-normal:#2d6a4f;--status-observe:#d97706;--status-withered:#dc2626;--status-removed:#4b5563;--bg-app:#f2f7f5;--bg-card:#ffffffd9;--bg-card-hover:#fffffff2;--bg-popover:#fff;--text-main:#1f2937;--text-muted:#6b7280;--text-inverse:#fff;--border:#1b43321f;--border-focus:#52b788;--shadow-sm:0 2px 8px #1b43320a;--shadow-md:0 8px 24px #1b43320f;--shadow-lg:0 16px 40px #1b43321a;--glass-bg:#ffffffb3;--glass-border:#fff6;--glass-blur:blur(12px);--font-sans:"Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-heading:"Outfit", var(--font-sans);--radius-sm:8px;--radius-md:14px;--radius-lg:20px;--sidebar-width:260px;--header-height:70px}*{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-sans);background-color:var(--bg-app);color:var(--text-main);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;line-height:1.6;overflow-x:hidden}h1,h2,h3,h4,h5,h6{font-family:var(--font-heading);color:var(--primary-dark);font-weight:600}.glass{background:var(--glass-bg);-webkit-backdrop-filter:var(--glass-blur);border:1px solid var(--glass-border);box-shadow:var(--shadow-md)}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{border-radius:var(--radius-sm);background:#00000008}::-webkit-scrollbar-thumb{border-radius:var(--radius-sm);background:#1b433233}::-webkit-scrollbar-thumb:hover{background:#1b433266}.btn{font-family:var(--font-sans);border-radius:var(--radius-md);cursor:pointer;border:1px solid #0000;justify-content:center;align-items:center;gap:8px;padding:10px 18px;font-size:.95rem;font-weight:500;text-decoration:none;transition:all .25s cubic-bezier(.4,0,.2,1);display:inline-flex}.btn-primary{background-color:var(--primary);color:var(--text-inverse);box-shadow:0 4px 12px #1b433226}.btn-primary:hover{background-color:var(--primary-light);transform:translateY(-1px);box-shadow:0 6px 16px #1b433240}.btn-primary:active{transform:translateY(1px)}.btn-secondary{color:var(--primary);border:1.5px solid var(--primary);background-color:#0000}.btn-secondary:hover{background-color:#1b43320d}.btn-accent{background-color:var(--accent);color:var(--primary-dark);box-shadow:0 4px 12px #52b78833}.btn-accent:hover{background-color:var(--accent-light);transform:translateY(-1px)}.btn-danger{color:#dc2626;background-color:#fee2e2;border:1px solid #fca5a5}.btn-danger:hover{color:#b91c1c;background-color:#fca5a5}.btn-icon{aspect-ratio:1;border-radius:50%;padding:8px}.card{background:var(--bg-card);border-radius:var(--radius-md);border:1px solid var(--border);box-shadow:var(--shadow-sm);padding:20px;transition:transform .2s,box-shadow .2s}.card:hover{box-shadow:var(--shadow-md)}.form-group{margin-bottom:16px}.form-label{color:var(--primary-dark);margin-bottom:6px;font-size:.85rem;font-weight:500;display:block}.form-input,.form-select,.form-textarea{border-radius:var(--radius-sm);border:1px solid var(--border);width:100%;color:var(--text-main);font-family:var(--font-sans);background-color:#ffffffe6;padding:10px 14px;font-size:.95rem;transition:border-color .2s,box-shadow .2s}.form-input:focus,.form-select:focus,.form-textarea:focus{border-color:var(--border-focus);outline:none;box-shadow:0 0 0 3px #52b78826}.badge{text-transform:uppercase;border-radius:20px;align-items:center;padding:4px 10px;font-size:.75rem;font-weight:600;display:inline-flex}.badge-normal{color:var(--status-normal);background:#2d6a4f1f}.badge-observe{color:var(--status-observe);background:#d977061f}.badge-withered{color:var(--status-withered);background:#dc26261f}.badge-removed{color:var(--status-removed);background:#4b55631f}.grid-2{grid-template-columns:repeat(2,1fr);gap:20px;display:grid}.grid-3{grid-template-columns:repeat(3,1fr);gap:20px;display:grid}.grid-4{grid-template-columns:repeat(4,1fr);gap:20px;display:grid}@media (width<=768px){.grid-2,.grid-3,.grid-4{grid-template-columns:1fr}}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.fade-in{animation:.3s cubic-bezier(.4,0,.2,1) forwards fadeIn}@media print{body{color:#000;background:#fff}.no-print{display:none!important}.print-only{display:block!important}.card{box-shadow:none!important;background:0 0!important;border:1px solid #ccc!important}}
