*{box-sizing:border-box}body{margin:0;font-family:Inter,Segoe UI,Arial,sans-serif;background:#fff7fb;color:#47213a}a{text-decoration:none;color:inherit}.navbar{height:70px;background:linear-gradient(90deg,#ff7eb3,#ff4f9a);color:white;display:flex;align-items:center;justify-content:space-between;padding:0 6%;box-shadow:0 3px 15px #e7aac6}.brand{font-size:23px;font-weight:800}.nav-links{display:flex;gap:22px}.nav-links a{font-weight:700}.landing{min-height:100vh}.hero{padding:70px 6% 35px}.hero-card{max-width:900px;margin:auto;text-align:center;padding:55px 35px;border-radius:30px;background:linear-gradient(135deg,#ffe1ef,#fff);box-shadow:0 15px 45px rgba(208,75,139,.16);border:1px solid #ffd0e4}.badge{display:inline-block;background:#ffd0e4;color:#b62d70;padding:8px 14px;border-radius:99px;font-size:12px;font-weight:800;letter-spacing:.8px}.hero h1{font-size:58px;margin:15px 0 8px;color:#d62f7c}.hero p{font-size:18px;line-height:1.7;color:#76546a}.hero-actions{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;margin-top:25px}.btn{padding:12px 19px;border-radius:12px;font-weight:800;display:inline-block}.btn.primary{background:#ec3f8d;color:#fff}.btn.secondary{background:#fff;color:#c52c72;border:1px solid #f5a8ca}.feature-grid{max-width:1100px;margin:10px auto 60px;padding:0 20px;display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.feature{background:white;border:1px solid #f7d3e3;border-radius:18px;padding:22px;font-size:28px;box-shadow:0 8px 24px rgba(208,75,139,.08)}.feature b{display:block;font-size:17px;margin:8px 0}.feature small{display:block;font-size:13px;color:#816476;line-height:1.5}.app{min-height:100vh}.sidebar{position:fixed;left:0;top:0;bottom:0;width:245px;background:#fff;border-right:1px solid #f1c7db;padding:24px 15px;overflow:auto}.sidebar .brand{color:#d62f7c;margin:5px 10px 30px}.menu-title{font-size:11px;color:#a87891;font-weight:800;padding:12px 12px 6px;text-transform:uppercase}.menu a{display:block;padding:11px 12px;border-radius:10px;margin:3px 0;color:#694b5d}.menu a:hover,.menu a.active{background:#ffe2ef;color:#c72d74;font-weight:700}.main{margin-left:245px;padding:28px 32px}.topbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.topbar h1{margin:0;font-size:28px}.user-chip{background:#ffe3ef;border-radius:99px;padding:8px 13px;color:#bd2e70;font-weight:700}.cards{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.card{background:#fff;border:1px solid #f1d2e1;border-radius:18px;padding:20px;box-shadow:0 6px 20px rgba(208,75,139,.07)}.card .num{font-size:31px;font-weight:900;color:#d62f7c;margin-top:5px}.card .label{color:#826576;font-size:13px}.panel{background:#fff;border:1px solid #f1d2e1;border-radius:18px;padding:20px;margin-top:20px;box-shadow:0 6px 20px rgba(208,75,139,.05)}.panel h2{margin-top:0}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse}th,td{padding:11px 10px;border-bottom:1px solid #f4dce8;text-align:left;font-size:14px}th{background:#fff0f7;color:#a82d68}.form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}.field label{display:block;font-weight:700;font-size:13px;margin-bottom:6px}.field input,.field select,.field textarea{width:100%;padding:11px;border:1px solid #edc8da;border-radius:10px;outline:none;background:#fff}.field input:focus,.field select:focus{border-color:#e94a91;box-shadow:0 0 0 3px #ffe1ee}.full{grid-column:1/-1}.actions{display:flex;gap:8px;flex-wrap:wrap}.btn-small{padding:8px 11px;border-radius:8px;border:0;background:#ec3f8d;color:#fff;font-weight:700;cursor:pointer}.btn-danger{background:#d94870}.btn-light{background:#ffe4ef;color:#b62d70}.alert{padding:12px 15px;border-radius:10px;margin-bottom:15px;background:#fff0f6;border:1px solid #f4c9dc;color:#9f2d63}.login-wrap{min-height:100vh;display:grid;place-items:center;background:linear-gradient(135deg,#ffd6e9,#fff)}.login-box{width:min(430px,92vw);background:white;padding:30px;border-radius:24px;box-shadow:0 20px 60px rgba(185,49,111,.15)}.login-box h1{text-align:center;color:#d62f7c}.login-box .field{margin:13px 0}.login-box button{width:100%;margin-top:12px}.opac-search{display:flex;gap:10px;max-width:800px;margin:0 auto}.opac-search input{flex:1;padding:14px;border:1px solid #efbdd4;border-radius:13px}.book-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.book{background:#fff;border:1px solid #f0cfdf;border-radius:17px;padding:16px;min-height:220px}.book-cover{height:110px;border-radius:12px;background:linear-gradient(135deg,#ffc4df,#ffeef7);display:grid;place-items:center;font-size:42px}.book h3{font-size:16px;margin:12px 0 6px}.book p{font-size:13px;color:#765668;margin:5px 0}.tag{display:inline-block;padding:5px 8px;border-radius:99px;background:#ffe2ef;color:#b62d70;font-size:11px;font-weight:800}.opac-header{background:linear-gradient(90deg,#ff70ad,#d92c7d);color:#fff;padding:45px 20px;text-align:center}.opac-header h1{font-size:42px;margin:0 0 15px}.opac-main{max-width:1100px;margin:28px auto;padding:0 20px}.muted{color:#856778}.kpi{font-size:13px;color:#816276}.status{font-size:12px;font-weight:800}.status.ok{color:#16945e}.status.bad{color:#c94a63}@media(max-width:900px){.feature-grid,.cards,.book-grid{grid-template-columns:repeat(2,1fr)}.sidebar{width:200px}.main{margin-left:200px}}@media(max-width:650px){.sidebar{position:static;width:100%;height:auto}.main{margin-left:0}.form-grid,.feature-grid,.cards,.book-grid{grid-template-columns:1fr}.hero h1{font-size:42px}.topbar{gap:10px;align-items:flex-start;flex-direction:column}}
.actions{align-items:center}.actions form{display:inline;margin:0}.actions .btn-small{border:0;cursor:pointer}.book a h3{color:#47213a}.book a:hover h3{color:#d62f7c}.book .actions{display:flex;flex-wrap:wrap}
