@import "https://fonts.googleapis.com/css2?family=Outfit:wght@300;400;500;600;700&family=Sarabun:wght@300;400;500;600;700&display=swap";:root{--font-title:"Outfit", "Sarabun", sans-serif;--font-body:"Outfit", "Sarabun", sans-serif;--primary:#0d9488;--primary-hover:#0f766e;--primary-glow:#0d948833;--secondary:#3b82f6;--bg-gradient:linear-gradient(135deg, #f0fdfa 0%, #eff6ff 100%);--panel-bg:#ffffffbf;--panel-border:#fff9;--card-bg:#fffc;--card-border:#0d94881a;--text-main:#0f172a;--text-muted:#475569;--text-inverse:#fff;--input-bg:#ffffffe6;--input-border:#cbd5e1;--shadow-sm:0 2px 8px #0000000a;--shadow-md:0 8px 32px #0d948814;--shadow-lg:0 16px 48px #00000014;--glass-blur:blur(16px);--transition:all .3s cubic-bezier(.4, 0, .2, 1);--status-available-bg:#10b98126;--status-available-text:#059669;--status-borrowed-bg:#3b82f626;--status-borrowed-text:#2563eb;--status-maintenance-bg:#f59e0b26;--status-maintenance-text:#d97706;--status-damaged-bg:#ef444426;--status-damaged-text:#dc2626;--borrow-pending-bg:#f59e0b26;--borrow-pending-text:#d97706;--borrow-active-bg:#3b82f626;--borrow-active-text:#2563eb;--borrow-returned-bg:#10b98126;--borrow-returned-text:#059669;--borrow-rejected-bg:#ef444426;--borrow-rejected-text:#dc2626}.dark-theme{--primary:#14b8a6;--primary-hover:#2dd4bf;--primary-glow:#14b8a640;--secondary:#60a5fa;--bg-gradient:linear-gradient(135deg, #020617 0%, #0f172a 100%);--panel-bg:#0f172aa6;--panel-border:#ffffff0d;--card-bg:#1e293bb3;--card-border:#14b8a626;--text-main:#f8fafc;--text-muted:#94a3b8;--text-inverse:#020617;--input-bg:#0f172acc;--input-border:#334155;--shadow-sm:0 2px 8px #0003;--shadow-md:0 8px 32px #0000004d;--shadow-lg:0 16px 48px #0006;--status-available-bg:#10b98133;--status-available-text:#34d399;--status-borrowed-bg:#3b82f633;--status-borrowed-text:#60a5fa;--status-maintenance-bg:#f59e0b33;--status-maintenance-text:#fbbf24;--status-damaged-bg:#ef444433;--status-damaged-text:#f87171;--borrow-pending-bg:#f59e0b33;--borrow-pending-text:#fbbf24;--borrow-active-bg:#3b82f633;--borrow-active-text:#60a5fa;--borrow-returned-bg:#10b98133;--borrow-returned-text:#34d399;--borrow-rejected-bg:#ef444433;--borrow-rejected-text:#f87171}*{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-body);background:var(--bg-gradient);color:var(--text-main);min-height:100vh;transition:var(--transition);overflow-x:hidden}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--input-border);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--primary)}.glass-panel{background:var(--panel-bg);border:1px solid var(--panel-border);-webkit-backdrop-filter:var(--glass-blur);box-shadow:var(--shadow-md);border-radius:24px}.glass-card{background:var(--card-bg);border:1px solid var(--card-border);box-shadow:var(--shadow-sm);transition:var(--transition);border-radius:16px}.glass-card:hover{box-shadow:var(--shadow-md);border-color:var(--primary);transform:translateY(-4px)}.btn{font-family:var(--font-title);cursor:pointer;transition:var(--transition);border:none;border-radius:12px;justify-content:center;align-items:center;gap:8px;padding:10px 20px;font-size:14px;font-weight:500;display:inline-flex}.btn-primary{background:var(--primary);color:var(--text-inverse)!important}.btn-primary:hover{background:var(--primary-hover);box-shadow:0 0 16px var(--primary-glow)}.btn-secondary{background:var(--input-border);color:var(--text-main)}.btn-secondary:hover{background:var(--text-muted);color:#fff}.btn-danger{color:#fff;background:#ef4444}.btn-danger:hover{background:#dc2626}.btn-success{color:#fff;background:#10b981}.btn-success:hover{background:#059669}.btn-warning{color:#fff;background:#f59e0b}.btn-warning:hover{background:#d97706}.form-group{margin-bottom:20px}.form-group label{color:var(--text-muted);margin-bottom:6px;font-size:13px;font-weight:600;display:block}.form-input{background:var(--input-bg);border:1px solid var(--input-border);width:100%;color:var(--text-main);font-family:var(--font-body);transition:var(--transition);border-radius:12px;padding:12px 16px;font-size:14px}.form-input:focus{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-glow);outline:none}@keyframes fadeIn{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.animate-fade-in{animation:.4s cubic-bezier(.16,1,.3,1) forwards fadeIn}.app-container{min-height:100vh;display:flex}.main-content{flex:1;max-width:1600px;margin:0 auto;padding:40px;overflow-y:auto}.sidebar{flex-direction:column;width:280px;height:100vh;padding:30px 20px;display:flex;position:sticky;top:0}.sidebar-logo{color:var(--primary);align-items:center;gap:10px;margin-bottom:40px;font-size:20px;font-weight:700;display:flex}.sidebar-menu{flex:1;list-style:none}.sidebar-item{cursor:pointer;color:var(--text-muted);transition:var(--transition);border-radius:12px;align-items:center;gap:12px;margin-bottom:8px;padding:14px 18px;font-weight:500;display:flex}.sidebar-item:hover,.sidebar-item.active{background:var(--primary-glow);color:var(--primary)}.sidebar-footer{border-top:1px solid var(--panel-border);margin-top:auto;padding-top:20px}.card-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:24px;margin-top:24px;display:grid}.badge{text-transform:uppercase;border-radius:9999px;padding:4px 10px;font-size:12px;font-weight:600;display:inline-flex}.badge-available{background:var(--status-available-bg);color:var(--status-available-text)}.badge-borrowed{background:var(--status-borrowed-bg);color:var(--status-borrowed-text)}.badge-maintenance{background:var(--status-maintenance-bg);color:var(--status-maintenance-text)}.badge-damaged{background:var(--status-damaged-bg);color:var(--status-damaged-text)}.badge-pending_borrow{background:var(--borrow-pending-bg);color:var(--borrow-pending-text)}.badge-borrowed-record{background:var(--borrow-active-bg);color:var(--borrow-active-text)}.badge-pending_return{background:var(--borrow-pending-bg);color:var(--borrow-pending-text)}.badge-returned{background:var(--borrow-returned-bg);color:var(--borrow-returned-text)}.badge-rejected{background:var(--borrow-rejected-bg);color:var(--borrow-rejected-text)}.table-container{border:1px solid var(--panel-border);border-radius:16px;margin-top:24px;overflow-x:auto}.data-table{border-collapse:collapse;text-align:left;width:100%;font-size:14px}.data-table th{background:var(--panel-border);color:var(--text-muted);border-bottom:1px solid var(--panel-border);padding:16px 20px;font-weight:600}.data-table td{border-bottom:1px solid var(--panel-border);color:var(--text-main);padding:16px 20px}.data-table tr:hover{background:var(--panel-border)}.modal-overlay{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:1000;background:#0006;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal-content{border-radius:24px;width:100%;max-width:500px;padding:30px}.header{border-bottom:1px solid var(--panel-border);justify-content:space-between;align-items:center;margin-bottom:30px;padding-bottom:20px;display:flex}.profile-info{align-items:center;gap:12px;display:flex}.toast-container{z-index:2000;flex-direction:column;gap:10px;display:flex;position:fixed;bottom:24px;right:24px}.toast{color:#fff;border-radius:12px;align-items:center;gap:10px;padding:16px 24px;font-weight:500;animation:.3s cubic-bezier(.16,1,.3,1) forwards slideIn;display:flex;box-shadow:0 4px 12px #0000001a}.toast-success{background:#10b981}.toast-error{background:#ef4444}@keyframes slideIn{0%{opacity:0;transform:translate(100%)}to{opacity:1;transform:translate(0)}}.stats-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:20px;margin-bottom:30px;display:grid}.stat-card{border-radius:16px;justify-content:space-between;align-items:center;padding:24px;display:flex}.stat-value{color:var(--primary);margin-top:5px;font-size:28px;font-weight:700}.stat-label{color:var(--text-muted);font-size:13px;font-weight:500}@media (width<=1024px){.app-container{flex-direction:column}.sidebar{width:100%;height:auto;padding:15px 20px;position:relative}.sidebar-logo{margin-bottom:15px}.sidebar-menu{flex-wrap:wrap;gap:8px;display:flex}.sidebar-item{margin-bottom:0;padding:10px 14px}.main-content{padding:20px}}
