:root{--bg: #0b1220;--panel: #121a2b;--card: #151f34;--muted: #8aa0c2;--text: #e8eefb;--accent: #6aa9ff;--accent-2: #22d3ee;--danger: #ef4444;--warning: #eab308;--success: #22c55e;--border: #22304a}*{box-sizing:border-box}body{font-family:Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;margin:0;background:linear-gradient(180deg,#0b1220,#0b1220 60%,#0e1629);color:var(--text);min-height:100vh}.app{min-height:100vh;display:flex;flex-direction:column}.navbar{position:sticky;top:0;z-index:100;background:#0a101ee6;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-bottom:1px solid var(--border)}.navbar-content{display:flex;align-items:center;justify-content:space-between;padding:16px 0}.brand{display:flex;align-items:center;gap:12px}.brand .logo{width:36px;height:36px;background:linear-gradient(135deg,var(--accent),var(--accent-2));border-radius:10px;box-shadow:0 6px 20px #22d3ee33}.brand h1{font-size:18px;margin:0;letter-spacing:.3px;color:var(--text)}.nav-links{display:flex;gap:8px}.nav-link{padding:12px 16px;border:1px solid transparent;background:transparent;color:var(--muted);border-radius:10px;cursor:pointer;transition:.15s ease;text-decoration:none;display:flex;align-items:center;gap:8px;font-size:14px;font-weight:500}.nav-link:hover{color:var(--text);background:#ffffff0d}.nav-link.active{background:linear-gradient(180deg,#15203a,#0f1729);color:var(--text);border-color:#34507c;box-shadow:inset 0 0 0 1px #ffffff05,0 6px 18px #060c1759}.navbar-user{display:flex;align-items:center;gap:12px}.user-info{display:flex;flex-direction:column;align-items:flex-end}.user-name{font-weight:600;color:var(--text);font-size:14px}.logout-btn{padding:8px;border:1px solid var(--border);background:#ffffff0d;color:var(--muted);border-radius:8px;cursor:pointer;transition:.15s ease;display:flex;align-items:center}.logout-btn:hover{color:var(--danger);border-color:var(--danger)}.main-content{flex:1;padding:32px 0}.main-content.with-navbar{padding-top:32px}.container{max-width:1200px;margin:0 auto;padding:0 16px}.auth-container{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:20px}.auth-card{width:100%;max-width:400px;border:1px solid var(--border);background:linear-gradient(180deg,#0e1526,#0c1424);border-radius:16px;padding:32px;box-shadow:0 20px 40px #060c1780}.auth-header{text-align:center;margin-bottom:32px}.logo-large{display:flex;justify-content:center;margin-bottom:20px}.logo-large .logo{width:64px;height:64px;background:linear-gradient(135deg,var(--accent),var(--accent-2));border-radius:16px;box-shadow:0 8px 24px #22d3ee4d}.auth-header h2{margin:0 0 8px;font-size:24px;color:var(--text)}.auth-form{display:flex;flex-direction:column;gap:20px}.form-group{display:flex;flex-direction:column;gap:8px}.input-group{position:relative;display:flex;align-items:center}.input-icon{position:absolute;left:12px;color:var(--muted);z-index:1}.input-group input{width:100%;padding:12px 12px 12px 42px;background:#0b1324;border:1px solid #1e2a46;color:var(--text);border-radius:10px;outline:none;transition:.12s ease}.input-group input:focus{border-color:var(--accent);box-shadow:0 0 0 4px #6aa9ff14}.password-toggle{position:absolute;right:12px;background:none;border:none;color:var(--muted);cursor:pointer;padding:4px;display:flex;align-items:center}.password-toggle:hover{color:var(--text)}.message{padding:12px;border-radius:8px;font-size:14px;font-weight:500}.message.success{background:#22c55e1a;border:1px solid rgba(34,197,94,.2);color:#86efac}.message.error{background:#ef44441a;border:1px solid rgba(239,68,68,.2);color:#fca5a5}.auth-switch{text-align:center;margin-top:24px}.link-button{background:none;border:none;color:var(--accent);cursor:pointer;text-decoration:underline;font-size:inherit}.link-button:hover{color:var(--accent-2)}button{padding:12px 16px;border:1px solid #2c3f63;background:linear-gradient(180deg,#12203d,#0d1831);color:var(--text);border-radius:10px;cursor:pointer;transition:.12s ease;font-weight:500;display:flex;align-items:center;justify-content:center;gap:8px}button:hover{transform:translateY(-1px);border-color:#3b578a;box-shadow:0 6px 16px #14305c59}button:disabled{opacity:.6;cursor:not-allowed;transform:none}.btn-primary{background:linear-gradient(180deg,var(--accent),#5a9aef);border-color:var(--accent);color:#fff}.btn-primary:hover{background:linear-gradient(180deg,#5a9aef,var(--accent));box-shadow:0 6px 20px #6aa9ff4d}.btn-secondary{background:linear-gradient(180deg,#1a2332,#141e29);border-color:var(--border)}.btn-full{width:100%}.loading-container{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px;gap:16px}.loading-spinner{width:32px;height:32px;border:3px solid var(--border);border-top:3px solid var(--accent);border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.page-header{margin-bottom:32px}.page-header h2{margin:0 0 8px;font-size:28px;color:var(--text)}.page-header .muted{color:var(--muted);font-size:16px}.dashboard-header{margin-bottom:32px}.dashboard-header h2{margin:0 0 8px;font-size:32px;color:var(--text)}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:20px;margin-bottom:32px}.stat-card{padding:24px;background:linear-gradient(180deg,#0e1526,#0c1424);border:1px solid var(--border);border-radius:12px;display:flex;align-items:center;gap:16px}.stat-icon{width:48px;height:48px;background:linear-gradient(135deg,var(--accent),var(--accent-2));border-radius:12px;display:flex;align-items:center;justify-content:center;color:#fff}.stat-icon.borrowed{background:linear-gradient(135deg,var(--warning),#f59e0b)}.stat-icon.published{background:linear-gradient(135deg,var(--success),#16a34a)}.stat-content h3{margin:0;font-size:24px;color:var(--text)}.stat-content p{margin:4px 0 0;color:var(--muted);font-size:14px}.dashboard-content{display:grid;grid-template-columns:2fr 1fr;gap:32px}.books-controls{display:flex;gap:16px;margin-bottom:24px;align-items:center}.search-box{flex:1;position:relative}.search-icon{position:absolute;left:12px;top:50%;transform:translateY(-50%);color:var(--muted)}.search-input{width:100%;padding:12px 12px 12px 42px;background:#0b1324;border:1px solid #1e2a46;color:var(--text);border-radius:10px;outline:none;transition:.12s ease}.search-input:focus{border-color:var(--accent);box-shadow:0 0 0 4px #6aa9ff14}.filter-group{display:flex;align-items:center;gap:8px;color:var(--muted)}.filter-select{padding:10px 12px;background:#0b1324;border:1px solid #1e2a46;color:var(--text);border-radius:8px;outline:none}.books-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:20px}.book-card{padding:20px;background:linear-gradient(180deg,#0e1526,#0c1424);border:1px solid var(--border);border-radius:12px;transition:.12s ease}.book-card:hover{border-color:var(--accent);box-shadow:0 8px 24px #060c1780}.book-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:16px}.book-title{margin:0;font-size:18px;color:var(--text);flex:1}.book-status{padding:4px 8px;border-radius:6px;font-size:12px;font-weight:600;text-transform:uppercase}.book-status.available{background:#22c55e1a;color:#86efac;border:1px solid rgba(34,197,94,.2)}.book-status.borrowed{background:#eab3081a;color:#fde047;border:1px solid rgba(234,179,8,.2)}.book-details{display:flex;flex-direction:column;gap:8px;margin-bottom:16px}.book-author,.book-pages,.book-date{display:flex;align-items:center;gap:8px;color:var(--muted);font-size:14px}.book-actions{margin-top:auto}.book-status-info{padding:12px;background:#eab3081a;border:1px solid rgba(234,179,8,.2);border-radius:8px;text-align:center}.publish-container{display:grid;grid-template-columns:1fr 1fr;gap:32px}.publish-form-card{background:linear-gradient(180deg,#0e1526,#0c1424);border:1px solid var(--border);border-radius:12px;padding:24px}.form-header{text-align:center;margin-bottom:24px}.form-icon{width:48px;height:48px;background:linear-gradient(135deg,var(--accent),var(--accent-2));border-radius:12px;display:flex;align-items:center;justify-content:center;color:#fff;margin:0 auto 16px}.form-header h3{margin:0 0 8px;color:var(--text)}.publish-form,.publish-info{display:flex;flex-direction:column;gap:20px}.info-card{background:linear-gradient(180deg,#0e1526,#0c1424);border:1px solid var(--border);border-radius:12px;padding:20px}.info-card h4{margin:0 0 16px;color:var(--text)}.info-card ul{margin:0;padding-left:20px;color:var(--muted)}.info-card li{margin-bottom:8px}.steps{display:flex;flex-direction:column;gap:16px}.step{display:flex;gap:12px}.step-number{width:24px;height:24px;background:var(--accent);color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:600;flex-shrink:0}.step-content h5{margin:0 0 4px;color:var(--text)}.step-content p{margin:0;color:var(--muted);font-size:14px}.profile-content{display:flex;flex-direction:column;gap:32px}.profile-card{background:linear-gradient(180deg,#0e1526,#0c1424);border:1px solid var(--border);border-radius:12px;padding:24px}.profile-header{display:flex;gap:20px;align-items:center}.profile-avatar{width:80px;height:80px;background:linear-gradient(135deg,var(--accent),var(--accent-2));border-radius:16px;display:flex;align-items:center;justify-content:center;color:#fff;flex-shrink:0}.profile-info{flex:1}.profile-info h3{margin:0 0 16px;font-size:24px;color:var(--text)}.profile-details{display:flex;flex-direction:column;gap:8px;margin-bottom:16px}.detail-item{display:flex;align-items:center;gap:8px;color:var(--muted)}.edit-input{padding:10px 12px;background:#0b1324;border:1px solid #1e2a46;color:var(--text);border-radius:8px;outline:none}.books-sections{display:grid;grid-template-columns:1fr 1fr;gap:32px}.books-section{background:linear-gradient(180deg,#0e1526,#0c1424);border:1px solid var(--border);border-radius:12px;padding:24px}.books-section h3{margin:0 0 20px;color:var(--text)}.books-list{display:flex;flex-direction:column;gap:16px}.book-item{padding:16px;background:#0b1324;border:1px solid var(--border);border-radius:8px;display:flex;justify-content:space-between;align-items:center}.book-info{flex:1}.book-info h4{margin:0 0 4px;color:var(--text)}.book-author{margin:0 0 8px;color:var(--muted);font-size:14px}.book-meta{display:flex;flex-wrap:wrap;gap:8px;font-size:12px}.pages,.borrowed-date,.borrowed-by{padding:2px 6px;background:#ffffff0d;border-radius:4px;color:var(--muted)}.status{padding:2px 6px;border-radius:4px;font-weight:600;text-transform:uppercase}.status.available{background:#22c55e1a;color:#86efac}.status.borrowed{background:#eab3081a;color:#fde047}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px;text-align:center}.empty-state h3{margin:16px 0 8px;color:var(--text)}.empty-state p{margin:0 0 20px;color:var(--muted)}.muted{color:var(--muted)}.right{margin-left:auto}label{display:block;font-weight:600;margin-bottom:4px;color:#c7d6f4;font-size:12px;text-transform:uppercase;letter-spacing:.5px}@media (max-width: 1024px){.dashboard-content,.publish-container,.books-sections{grid-template-columns:1fr}}@media (max-width: 768px){.navbar-content{flex-direction:column;gap:16px}.nav-links{width:100%;justify-content:center}.stats-grid{grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}.books-controls{flex-direction:column;align-items:stretch}.profile-header{flex-direction:column;text-align:center}.book-item{flex-direction:column;align-items:stretch;gap:12px}}.admin-panel{padding:20px 0}.admin-sections{display:flex;flex-direction:column;gap:32px}.admin-section{background:linear-gradient(180deg,#0e1526,#0c1424);border:1px solid var(--border);border-radius:12px;padding:24px}.admin-section h3{margin:0 0 20px;color:var(--text);display:flex;align-items:center;gap:8px}.users-table{overflow-x:auto}.users-table table{width:100%;border-collapse:collapse}.users-table th,.users-table td{padding:12px;text-align:left;border-bottom:1px solid var(--border)}.users-table th{color:var(--muted);font-weight:600;font-size:14px}.users-table td{color:var(--text)}.status{padding:4px 8px;border-radius:4px;font-size:12px;font-weight:600}.status.admin{background:#22c55e1a;color:#86efac}.status.user{background:#9ca3af1a;color:var(--muted)}.status.active{background:#22c55e1a;color:#86efac}.status.blocked{background:#ef44441a;color:#fca5a5}.admin-actions{display:flex;gap:8px;flex-wrap:wrap}.admin-actions .btn{font-size:12px;padding:4px 8px;display:flex;align-items:center;gap:4px}.btn-sm{font-size:12px;padding:4px 8px}.unauthorized{text-align:center;padding:60px 20px;color:var(--muted)}.unauthorized h2{margin:16px 0 8px;color:var(--text)}.edit-form{display:flex;flex-direction:column;gap:12px}.edit-form input{padding:8px 12px;background:#0b1324;border:1px solid #1e2a46;color:var(--text);border-radius:6px;outline:none}.edit-actions{display:flex;gap:8px}.book-status{margin-left:auto}.status.published{background:#22c55e1a;color:#86efac}.status.unpublished{background:#fbbf241a;color:#fbbf24}.borrowed-info{display:flex;align-items:center;gap:4px;color:var(--warning);font-size:14px}.tabs{display:flex;gap:4px;margin-bottom:24px;border-bottom:1px solid var(--border)}.tab{padding:12px 16px;background:none;border:none;color:var(--muted);cursor:pointer;border-bottom:2px solid transparent;transition:.15s ease;display:flex;align-items:center;gap:8px;font-weight:500}.tab:hover{color:var(--text)}.tab.active{color:var(--accent);border-bottom-color:var(--accent)}.current-borrow{border-left:4px solid var(--warning)}.history-list{display:flex;flex-direction:column;gap:16px}.history-item{display:flex;align-items:center;gap:16px;padding:16px;background:linear-gradient(180deg,#0e1526,#0c1424);border:1px solid var(--border);border-radius:8px}.history-icon{width:40px;height:40px;background:linear-gradient(135deg,var(--accent),var(--accent-2));border-radius:8px;display:flex;align-items:center;justify-content:center;color:#fff}.history-details{flex:1;display:flex;flex-direction:column;gap:8px}.history-dates{display:flex;gap:16px;align-items:center}.date-item{font-size:14px;color:var(--text)}.duration{display:flex;align-items:center;gap:4px;color:var(--muted);font-size:12px}.history-status{display:flex;align-items:center}.badge{padding:4px 8px;border-radius:4px;font-size:12px;font-weight:600}.badge.borrowed{background:#fbbf241a;color:#fbbf24}.btn-success{background:linear-gradient(180deg,var(--success),#16a34a);border-color:var(--success);color:#fff}.btn-success:hover{background:linear-gradient(180deg,#16a34a,var(--success));box-shadow:0 6px 20px #22c55e4d}.btn-warning{background:linear-gradient(180deg,var(--warning),#f59e0b);border-color:var(--warning);color:#fff}.btn-warning:hover{background:linear-gradient(180deg,#f59e0b,var(--warning));box-shadow:0 6px 20px #fbbf244d}.btn-danger{background:linear-gradient(180deg,var(--danger),#dc2626);border-color:var(--danger);color:#fff}.btn-danger:hover{background:linear-gradient(180deg,#dc2626,var(--danger));box-shadow:0 6px 20px #ef44444d}.btn-outline{background:transparent;border-color:var(--border);color:var(--text)}.btn-outline:hover{background:#ffffff0d;border-color:var(--accent)}.btn-sm{padding:6px 12px;font-size:12px}.admin-link{border:1px solid rgba(34,197,94,.2)!important;background:#22c55e0d!important;color:#86efac!important}.admin-link:hover{background:#22c55e1a!important;border-color:#22c55e4d!important}.admin-link.active{background:linear-gradient(180deg,#22c55e26,#22c55e1a)!important;border-color:#22c55e66!important}
