*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,sans-serif;font-size:14px;color:#333;background:#f0f0f0}.app-header{background:#fff;padding:8px 16px;border-bottom:1px solid #ddd;font-size:13px;font-weight:500;color:#444}.app-body{padding:12px;display:flex;flex-direction:column;gap:12px}.panel{background:#fff;border:1px solid #ddd;border-radius:4px;overflow:hidden}.panel-title{font-size:13px;font-weight:600;color:#333;padding:8px 12px 6px;border-bottom:1px solid #eee}.panel-body{padding:12px}.form-input,.form-select{width:100%;padding:8px 10px;border:1px solid #ccc;border-radius:3px;font-size:13px;font-family:inherit;color:#333;background:#fff;outline:none;transition:border-color .15s}.form-input:focus,.form-select:focus{border-color:#999}.form-input::placeholder{color:#aaa;font-size:13px}.form-row{display:flex;flex-direction:column;gap:6px;margin-bottom:6px}.btn{display:inline-flex;align-items:center;gap:4px;padding:7px 16px;border:1px solid transparent;border-radius:3px;font-size:13px;font-family:inherit;font-weight:500;cursor:pointer;transition:opacity .15s}.btn:hover{opacity:.88}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-red{background:#c0392b;color:#fff;border-color:#a93226}.btn-white{background:#fff;color:#333;border-color:#ccc}.btn-green{background:#27ae60;color:#fff;border-color:#219a52}.btn-icon{padding:6px 10px}.btn-edit{background:#2980b9;color:#fff;border-color:#1f6799;padding:4px 10px;font-size:12px;border-radius:3px;cursor:pointer}.btn-edit:hover{opacity:.85}.two-col{display:grid;grid-template-columns:1fr 1fr;gap:12px}@media (max-width: 900px){.two-col{grid-template-columns:1fr}}.table-search-bar{display:flex;align-items:center;gap:8px;margin-bottom:8px}.search-input-wrap{flex:1;position:relative}.search-input-wrap svg{position:absolute;left:8px;top:50%;transform:translateY(-50%);color:#aaa;pointer-events:none}.search-input-wrap .form-input{padding-left:30px}.table-wrap{overflow-x:auto}table{width:100%;border-collapse:collapse;font-size:13px}thead tr{background:#f5f5f5;border-bottom:1px solid #ddd}thead th{padding:8px 10px;text-align:left;font-weight:600;color:#555;white-space:nowrap;cursor:pointer;-webkit-user-select:none;user-select:none}thead th:hover{background:#ececec}tbody tr{border-bottom:1px solid #f0f0f0}tbody tr:hover{background:#fafafa}tbody td{padding:7px 10px;color:#444}.sort-icon{margin-left:3px;opacity:.5;font-size:11px}.sort-icon.active{opacity:1;color:#c0392b}.badge-si{color:#27ae60;font-weight:600}.badge-no{color:#c0392b;font-weight:600}.libro-id-label{text-align:center;padding:6px;font-weight:600;color:#555;font-size:13px}.toast-wrap{position:fixed;top:16px;right:16px;z-index:9999;display:flex;flex-direction:column;gap:8px}.toast{padding:10px 16px;border-radius:4px;font-size:13px;font-weight:500;box-shadow:0 2px 8px #0000002e;animation:fadeIn .2s ease;min-width:220px}.toast-ok{background:#27ae60;color:#fff}.toast-err{background:#c0392b;color:#fff}.toast-info{background:#2980b9;color:#fff}@keyframes fadeIn{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}.spinner-wrap{display:flex;justify-content:center;padding:24px}.spinner{width:28px;height:28px;border:3px solid #e0e0e0;border-top-color:#c0392b;border-radius:50%;animation:spin .7s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.pagination{display:flex;align-items:center;justify-content:space-between;padding:8px 4px 2px;font-size:12px;color:#777}.page-btns{display:flex;gap:4px}.page-btn{padding:3px 9px;border:1px solid #ccc;background:#fff;border-radius:3px;cursor:pointer;font-size:12px}.page-btn:hover{background:#f0f0f0}.page-btn.active{background:#c0392b;color:#fff;border-color:#c0392b}.page-btn:disabled{opacity:.4;cursor:not-allowed}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000059;z-index:1000;display:flex;align-items:center;justify-content:center}.modal-box{background:#fff;border-radius:4px;padding:24px;min-width:300px;max-width:400px;box-shadow:0 4px 20px #0003}.modal-box h3{font-size:15px;margin-bottom:10px}.modal-box p{font-size:13px;color:#555;margin-bottom:18px}.modal-btns{display:flex;gap:8px;justify-content:flex-end}.download-bar{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
