:root{--bg-main: #0b0b0f;--bg-secondary: #11131a;--bg-panel: rgba(19, 22, 31, .88);--bg-panel-strong: rgba(11, 14, 22, .94);--gold-1: #d4af37;--gold-2: #b8860b;--gold-3: #f4d98a;--bronze: #8f6b2e;--text-main: #f5f1e6;--text-soft: #c9c0ae;--text-muted: #9f9788;--border-gold: rgba(212, 175, 55, .22);--border-soft: rgba(255, 255, 255, .08);--success: #2f855a;--danger: #b83232;--info: #2b6cb0;--shadow-main: 0 18px 42px rgba(0, 0, 0, .42);--radius-xl: 24px;--radius-lg: 18px;--radius-md: 14px}html,body{margin:0;padding:0;min-height:100%;background:radial-gradient(circle at top left,rgba(212,175,55,.08),transparent 22%),radial-gradient(circle at bottom right,rgba(184,134,11,.06),transparent 20%),linear-gradient(180deg,#08090d,#0d1017 45%,#090a0f);color:var(--text-main);font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif}body:before{content:"";position:fixed;inset:0;pointer-events:none;opacity:.06;background-image:linear-gradient(45deg,transparent 48%,rgba(212,175,55,.15) 49%,transparent 51%),linear-gradient(-45deg,transparent 48%,rgba(212,175,55,.12) 49%,transparent 51%);background-size:140px 140px;z-index:0}app-root,app-shell,app-dashboard,app-users,app-admin-users,app-library-home,app-library-admin,app-library-reader{position:relative;z-index:1}a{color:var(--gold-3)}.container-fluid,.container{position:relative;z-index:1}.glass-card,.panel,.reader-controls,.pdf-fullscreen-wrapper{background:linear-gradient(180deg,#181b25f5,#0e1118f5);border:1px solid var(--border-gold);border-radius:var(--radius-xl);box-shadow:var(--shadow-main);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.section-title,h1,h2,h3,h4,h5{color:var(--text-main);letter-spacing:.4px}.section-title{font-weight:700}.text-muted-custom,.page-header p,.book-meta p,.empty-state,.reader-header p{color:var(--text-muted)!important}.page-badge,.badge-role,.book-category,.cover-progress-badge,.format-badge{border-radius:999px;border:1px solid rgba(212,175,55,.18);background:#d4af371a;color:var(--gold-3);font-weight:700;letter-spacing:.4px}.badge-role{display:inline-flex;align-items:center;justify-content:center;min-height:30px;padding:6px 12px;font-size:12px;text-transform:uppercase}.role-admin{background:#d4af3729;color:#f7df99}.role-moderador{background:#8f6b2e38;color:#e9cf86}.role-usuario{background:#ffffff0f;color:#ddd4c2}.form-control,.form-select,input[type=text],input[type=email],input[type=password],input[type=number],textarea,select{width:100%;background:#0a0c12f2!important;color:var(--text-main)!important;border:1px solid rgba(212,175,55,.16)!important;border-radius:var(--radius-md)!important;padding:12px 14px;box-sizing:border-box;transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease}.form-control:focus,.form-select:focus,input:focus,textarea:focus,select:focus{outline:none!important;border-color:#d4af378c!important;box-shadow:0 0 0 3px #d4af371f!important}label,.form-label{color:var(--text-soft);font-weight:600;margin-bottom:6px;display:inline-block}.btn,button{border-radius:14px!important;font-weight:700!important;transition:transform .16s ease,filter .16s ease,opacity .16s ease}.btn:hover,button:hover{transform:translateY(-1px);filter:brightness(1.03)}.btn-primary,.read-button,.nav-btn.primary,.controls-row button,.btn.btn-primary{background:linear-gradient(135deg,#8f6b2e,#d4af37 52%,#b8860b)!important;border:1px solid rgba(255,224,130,.2)!important;color:#111!important;box-shadow:0 10px 24px #d4af372e}.btn-outline-light,.btn-secondary,.nav-btn.secondary,.btn.btn-outline-light{background:#ffffff0a!important;color:var(--text-main)!important;border:1px solid rgba(212,175,55,.14)!important}.btn-success,.btn.btn-success{background:linear-gradient(135deg,#2f855a,#48bb78)!important;color:#fff!important;border:none!important}.btn-outline-danger,.btn-danger,.btn.btn-outline-danger{background:#b832321f!important;color:#ffb5b5!important;border:1px solid rgba(184,50,50,.28)!important}.table-responsive{border-radius:18px;overflow:hidden}.table,.table-dark-custom{width:100%;border-collapse:collapse;color:var(--text-main);background:#0c0e14b8;border:1px solid rgba(212,175,55,.1)}.table thead th,.table-dark-custom thead th{background:linear-gradient(180deg,#d4af371f,#d4af370f);color:var(--gold-3);text-transform:uppercase;font-size:12px;letter-spacing:.6px;border-bottom:1px solid rgba(212,175,55,.14);padding:14px 12px}.table tbody td,.table-dark-custom tbody td{padding:14px 12px;border-bottom:1px solid rgba(255,255,255,.05);vertical-align:middle}.table tbody tr:hover,.table-dark-custom tbody tr:hover{background:#d4af370a}.alert{border-radius:16px;border:1px solid transparent;padding:14px 16px;box-shadow:0 10px 26px #0000002e}.alert-success{background:#2f855a29!important;color:#c6f6d5!important;border-color:#48bb7838!important}.alert-danger,.alert.error{background:#b8323224!important;color:#ffd1d1!important;border-color:#b8323238!important}.alert.success{background:#2f855a29!important;color:#d8ffe7!important;border-color:#48bb7838!important}.book-card{background:linear-gradient(180deg,#13161ff5,#0a0c12f5);border:1px solid rgba(212,175,55,.12)}.placeholder-cover{min-height:160px;background:radial-gradient(circle at top right,rgba(212,175,55,.12),transparent 25%),linear-gradient(135deg,#17130a,#0d1017);border-bottom:1px solid rgba(212,175,55,.08)}.placeholder-cover h3,.placeholder-cover p,.book-info,.book-info h3,.book-info p{color:var(--text-main)}.progress-bar{background:#ffffff14}.progress-fill{background:linear-gradient(90deg,#8f6b2e,#d4af37,#f4d98a)}.login-page,.auth-page,.page-login,.page-auth{min-height:100vh;background:radial-gradient(circle at top center,rgba(212,175,55,.08),transparent 24%),linear-gradient(180deg,#08090d,#0e1018 55%,#090a0f)}.auth-card,.login-card,.card-login{background:linear-gradient(180deg,#13161ff5,#0a0c12f5);border:1px solid var(--border-gold);border-radius:24px;box-shadow:var(--shadow-main)}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:#0d1017}::-webkit-scrollbar-thumb{background:linear-gradient(180deg,#8f6b2e,#d4af37);border-radius:999px}@media(max-width:768px){.glass-card,.panel{border-radius:18px}.section-title,h1{line-height:1.2}}.masonic-shell{display:grid;grid-template-columns:300px 1fr;min-height:100vh}.masonic-shell.sidebar-collapsed{grid-template-columns:96px 1fr}.masonic-sidebar{position:sticky;top:0;height:100vh;padding:22px 16px;background:linear-gradient(180deg,#12100bfa,#0a0b10fa);border-right:1px solid rgba(212,175,55,.16);display:flex;flex-direction:column;gap:20px;box-shadow:20px 0 40px #00000038}.sidebar-top{display:flex;align-items:center;gap:14px;padding:10px 8px 18px;border-bottom:1px solid rgba(212,175,55,.12)}.brand-mark{width:52px;height:52px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:#05070d;overflow:hidden;box-shadow:0 10px 24px #d4af3733}.brand-mark img{width:100%;height:100%;object-fit:contain;display:block}.brand-text h2{margin:0;font-size:20px;color:var(--gold-3)}.brand-text p{margin:4px 0 0;color:var(--text-muted);font-size:12px}.sidebar-user{display:flex;align-items:center;gap:12px;padding:14px 10px;border-radius:18px;background:#ffffff08;border:1px solid rgba(212,175,55,.1)}.user-avatar{width:44px;height:44px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#8f6b2e,#d4af37);color:#111;font-weight:800;font-size:18px}.user-meta{display:flex;flex-direction:column;gap:4px}.user-meta strong{color:var(--text-main);font-size:14px}.user-meta span{color:var(--gold-3);font-size:12px;text-transform:uppercase;letter-spacing:.4px}.sidebar-nav{display:flex;flex-direction:column;gap:8px}.nav-link{display:flex;align-items:center;gap:12px;min-height:48px;padding:12px 14px;border-radius:14px;color:var(--text-soft);text-decoration:none;border:1px solid transparent;transition:background .18s ease,border-color .18s ease,transform .18s ease}.nav-link:hover{background:#d4af370f;border-color:#d4af371f;color:var(--text-main)}.nav-link.active-link{background:linear-gradient(90deg,#d4af3724,#8f6b2e14);border-color:#d4af372e;color:var(--gold-3);box-shadow:inset 0 0 0 1px #d4af370f}.nav-icon{width:22px;text-align:center;font-size:16px}.sidebar-bottom{margin-top:auto}.sidebar-logout{width:100%;min-height:46px;border:1px solid rgba(184,50,50,.22);background:#b832321a;color:#ffd2d2;border-radius:14px;cursor:pointer;font-weight:700}.masonic-main{display:flex;flex-direction:column;min-width:0}.masonic-topbar{position:sticky;top:0;z-index:20;display:flex;justify-content:space-between;align-items:center;gap:18px;padding:20px 24px;background:#0b0d13d1;border-bottom:1px solid rgba(212,175,55,.12);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.topbar-left{display:flex;align-items:center;gap:14px}.menu-toggle{width:44px;height:44px;border-radius:12px;border:1px solid rgba(212,175,55,.16);background:#ffffff0a;color:var(--gold-3);cursor:pointer;font-size:18px}.topbar-title h1{margin:0;font-size:24px;color:var(--text-main)}.topbar-title p{margin:4px 0 0;color:var(--text-muted);font-size:13px}.topbar-user-card{display:flex;flex-direction:column;align-items:flex-end;padding:10px 14px;border-radius:14px;border:1px solid rgba(212,175,55,.12);background:#ffffff08}.topbar-user-name{color:var(--text-main);font-weight:700}.topbar-user-card small{color:var(--text-muted)}.masonic-content{padding:22px}.sidebar-collapsed .brand-text,.sidebar-collapsed .user-meta,.sidebar-collapsed .nav-link span:not(.nav-icon),.sidebar-collapsed .sidebar-logout,.sidebar-collapsed .topbar-title p{display:none}.sidebar-collapsed .masonic-sidebar{padding-left:10px;padding-right:10px}.sidebar-collapsed .nav-link{justify-content:center;padding-left:0;padding-right:0}@media(max-width:980px){.masonic-shell,.masonic-shell.sidebar-collapsed{grid-template-columns:1fr}.masonic-sidebar{position:relative;height:auto}.masonic-topbar,.masonic-content{padding:16px}}html,body{max-width:100%;overflow-x:hidden}img,video,canvas,iframe{max-width:100%}.container,.container-fluid,.row,[class*=col-]{min-width:0}.table-responsive{width:100%;overflow-x:auto;overscroll-behavior-inline:contain;-webkit-overflow-scrolling:touch}input,select,textarea,button{max-width:100%}@media(max-width:768px){input,select,textarea{font-size:16px!important}button,.btn,a.nav-btn{min-height:44px}.glass-card,.panel,.card{max-width:100%}.glass-card.p-4,.panel.p-4,.card.p-4{padding:1rem!important}.section-title{font-size:clamp(1.35rem,7vw,1.8rem);overflow-wrap:anywhere}.d-flex.justify-content-between{flex-wrap:wrap}}@media(max-width:480px){.masonic-content{padding:12px}.btn-group,.page-actions,.book-actions{width:100%}.page-actions>*,.book-actions>*{flex:1 1 100%}}
