*{box-sizing:border-box}body{margin:0;font-family:Inter,Arial,sans-serif;background:#fffdf8;color:#4c402b}.stars{position:fixed;inset:0;pointer-events:none;opacity:.25;background-image:radial-gradient(circle,#c79b3b 1px,transparent 1.5px),radial-gradient(circle,#e7c96d 1px,transparent 1.5px);background-size:71px 71px,113px 113px;background-position:10px 20px,40px 60px}.app{position:relative;display:flex;min-height:100vh}.sidebar{width:255px;position:fixed;top:0;bottom:0;overflow:auto;padding:20px 14px;background:rgba(255,255,255,.94);border-right:1px solid #ead9a8;box-shadow:8px 0 30px rgba(151,116,36,.08);z-index:2}.brand{display:flex;align-items:center;gap:11px;padding:6px 9px 20px;border-bottom:1px solid #eee2c4}.brand img{width:50px;height:50px;object-fit:cover;border-radius:50%;border:2px solid #d9b95f}.brand strong{display:block;font:700 18px Cinzel,serif;color:#9b6e13;letter-spacing:1px}.brand small{color:#b58b34;letter-spacing:3px}.nav-label{font-size:10px;font-weight:700;letter-spacing:1.6px;color:#bca36c;margin:20px 10px 7px}.sidebar nav a{display:block;text-decoration:none;color:#756446;padding:10px 12px;border-radius:12px;margin:3px 0;font-size:13px}.sidebar nav a:hover,.sidebar nav a.active{background:linear-gradient(90deg,#fff7dc,#fffdf8);color:#9b6e13;border-left:3px solid #d5ad49}.main{margin-left:255px;width:calc(100% - 255px);position:relative;z-index:1}.topbar{display:flex;justify-content:space-between;align-items:center;padding:25px 34px 20px;background:rgba(255,255,255,.82);border-bottom:1px solid #eee4ca;position:sticky;top:0;z-index:1}.eyebrow{font-size:10px;letter-spacing:2px;color:#c09a4b}.topbar h1{font:600 26px Cinzel,serif;margin:5px 0 0;color:#73521b}.userbox{display:flex;align-items:center;gap:10px}.userbox small{display:block;color:#a58d61;font-size:11px}.avatar{display:grid;place-items:center;width:36px;height:36px;border-radius:50%;background:#f8e8b7;color:#9a701b}.content{padding:28px 34px}.footer{text-align:center;padding:25px;color:#b7a57e;font-size:11px}.grid{display:grid;gap:18px}.grid-4{grid-template-columns:repeat(4,1fr)}.grid-3{grid-template-columns:repeat(3,1fr)}.grid-2{grid-template-columns:repeat(2,1fr)}.card{background:rgba(255,255,255,.92);border:1px solid #ecdfbd;border-radius:18px;padding:20px;box-shadow:0 12px 30px rgba(140,106,37,.07)}.stat{position:relative;overflow:hidden}.stat:after{content:'✦';position:absolute;right:18px;bottom:6px;font-size:40px;color:#f1dfad}.stat .num{font-size:30px;font-weight:700;color:#8c651b}.stat .label{font-size:12px;color:#9e8b67}.section-title{display:flex;justify-content:space-between;align-items:center;margin:25px 0 12px}.section-title h2{font:600 18px Cinzel,serif;margin:0;color:#73521b}.btn{display:inline-block;border:0;border-radius:10px;padding:10px 14px;background:#c9a24a;color:white;text-decoration:none;cursor:pointer;font-weight:600;font-size:12px}.btn:hover{filter:brightness(.96)}.btn.soft{background:#fff5d9;color:#916c20;border:1px solid #ead49a}.btn.danger{background:#c97967}.btn.dark{background:#5f5034}.btn.sm{padding:7px 9px;font-size:11px}.actions{display:flex;gap:7px;flex-wrap:wrap}.table-wrap{overflow:auto}.table{width:100%;border-collapse:collapse;font-size:12px}.table th,.table td{padding:11px 10px;border-bottom:1px solid #eee4cd;text-align:left;vertical-align:middle}.table th{font-size:10px;text-transform:uppercase;letter-spacing:.7px;color:#a0844f;background:#fffcf4}.table tr:hover td{background:#fffdf8}.form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}.field{display:flex;flex-direction:column;gap:6px}.field.full{grid-column:1/-1}.field label{font-size:11px;font-weight:700;color:#806b47}.field input,.field select,.field textarea{width:100%;border:1px solid #e6d9bb;background:#fffefb;border-radius:10px;padding:10px 11px;outline:none;color:#5d4d33}.field textarea{min-height:100px;resize:vertical}.field input:focus,.field select:focus,.field textarea:focus{border-color:#caa54d;box-shadow:0 0 0 3px #fff3d1}.alert{padding:12px 15px;border-radius:11px;margin-bottom:15px;font-size:12px}.alert.success{background:#f4faee;border:1px solid #d8e9c3;color:#668244}.alert.error{background:#fff0ed;border:1px solid #efc7bd;color:#9d5849}.searchbar{display:flex;gap:8px}.searchbar input{flex:1;padding:12px;border:1px solid #e5d8ba;border-radius:11px}.cover{width:56px;height:76px;object-fit:cover;border-radius:7px;border:1px solid #dfc982}.member-photo{width:52px;height:65px;object-fit:cover;border-radius:8px;border:1px solid #dec37b;background:#fff8e6}.empty-photo{display:grid;place-items:center;width:52px;height:65px;border-radius:8px;background:#fff6d8;color:#b38b35;font-size:22px}.badge{display:inline-block;padding:4px 8px;border-radius:20px;background:#fff3cc;color:#987021;font-size:10px}.login-page{min-height:100vh;display:grid;place-items:center;background:radial-gradient(circle at 50% 10%,#fff4ce,#fffdf8 55%)}.login-box{width:min(430px,92vw);background:#fff;border:1px solid #ead8aa;border-radius:22px;padding:30px;box-shadow:0 20px 60px rgba(136,99,26,.13);text-align:center}.login-logo{width:100px;height:100px;border-radius:50%;object-fit:cover;border:3px solid #d4ae51}.login-box h1{font:700 25px Cinzel,serif;color:#8d661d}.login-box p{color:#a28d67;font-size:12px}.login-box .field{text-align:left;margin-top:12px}.login-box .btn{width:100%;margin-top:15px}.hero{padding:25px;border-radius:20px;background:linear-gradient(135deg,#fffaf0,#fff4d5);border:1px solid #ead7a5}.hero h2{font:600 25px Cinzel,serif;color:#765318;margin:0 0 6px}.hero p{font-size:12px;color:#927d5a}.quick{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.quick a{padding:15px;background:#fff;border:1px solid #eee0bd;border-radius:13px;text-decoration:none;color:#80601f;font-size:12px}.opac-card{display:grid;grid-template-columns:72px 1fr auto;gap:15px;align-items:start}.book-placeholder{width:72px;height:96px;border-radius:8px;background:#fff2c8;display:grid;place-items:center;font-size:28px;color:#bd9339;border:1px solid #e0c987}.pagination{display:flex;gap:5px;margin-top:15px}.pagination a{padding:7px 10px;border:1px solid #e5d8ba;border-radius:7px;text-decoration:none;color:#8c6d2c;font-size:11px}.member-card{width:800px;max-width:100%;min-height:460px;margin:auto;border:2px solid #d5af55;border-radius:22px;background:linear-gradient(135deg,#fff,#fff8df);position:relative;overflow:hidden;box-shadow:0 15px 45px rgba(137,103,31,.12)}.member-card:before,.member-card:after{content:'✦  ✧  ✦';position:absolute;color:#d7b35d;letter-spacing:12px;opacity:.55}.member-card:before{top:18px;right:25px}.member-card:after{bottom:18px;left:25px}.member-head{padding:20px 25px;background:linear-gradient(90deg,#fffaf0,#fff1c5);border-bottom:1px solid #ead39b;display:flex;align-items:center;gap:14px}.member-head img{width:55px;height:55px;object-fit:cover;border-radius:50%;border:2px solid #d1a947}.member-head strong{font:700 21px Cinzel,serif;color:#8b641a}.member-head small{display:block;color:#a98a4c;letter-spacing:2px}.member-body{display:flex;gap:30px;padding:30px}.card-photo{width:155px;height:190px;object-fit:cover;border:4px solid #e2c777;border-radius:12px;background:#fff}.member-info{flex:1}.member-info h3{font:600 23px Cinzel,serif;color:#6f501b;margin:5px 0 15px}.member-info table{width:100%;font-size:13px}.member-info td{padding:8px 0;border-bottom:1px dashed #eadfbe}.member-info td:first-child{width:130px;color:#a28756}.print-actions{display:flex;justify-content:center;gap:8px;margin:20px}.dashboard-chart{height:180px;display:flex;align-items:end;gap:10px}.bar{flex:1;background:linear-gradient(#e6ca7b,#c49b3e);border-radius:7px 7px 0 0;min-height:10px;position:relative}.bar span{position:absolute;bottom:-20px;width:100%;text-align:center;font-size:9px;color:#9c855b}@media(max-width:1000px){.grid-4,.quick{grid-template-columns:repeat(2,1fr)}.sidebar{width:220px}.main{margin-left:220px;width:calc(100% - 220px)}}@media(max-width:700px){.sidebar{position:static;width:100%;height:auto}.app{display:block}.main{margin:0;width:100%}.topbar{position:static}.content{padding:18px}.grid-4,.grid-3,.grid-2,.form-grid,.quick{grid-template-columns:1fr}.opac-card{grid-template-columns:60px 1fr}.opac-card .actions{grid-column:1/-1}.member-body{flex-direction:column;align-items:center}.member-info{width:100%}}@media print{.sidebar,.topbar,.footer,.print-actions,.no-print{display:none!important}.main{margin:0;width:100%}.content{padding:0}.member-card{box-shadow:none;page-break-inside:avoid}.stars{display:none}}
