:root{--green:#007a47;--line:#dcdedc;--text:#202522;--muted:#6c736f;--warn:#a7611b;--purple:#76508f;--yellow:#f2c94c}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:"Noto Sans KR","Malgun Gothic",Arial,sans-serif;color:var(--text);background:#fff}button,input,select{font:inherit}button{cursor:pointer}.wrap{max-width:1280px;margin:auto;padding:0 24px}.top{background:var(--green);color:#fff}.topin{min-height:42px;display:flex;align-items:center;justify-content:space-between;font-size:12px}.topright{display:flex;align-items:center;gap:10px}.topbtn{border:1px solid rgba(255,255,255,.55);background:transparent;color:#fff;padding:6px 12px}.signup-top-btn{background:#fff;color:var(--green);border-color:#fff;font-weight:700}.admin-top-btn{border:1px solid #d1aa2d;background:var(--yellow);color:#2e2400;padding:6px 14px;font-weight:800}.admin-top-btn.active{background:#d9ad21}.admin-top-btn:hover{filter:brightness(.98)}header{position:sticky;top:0;z-index:20;background:#fff;border-bottom:2px solid var(--green)}.nav{min-height:78px;display:grid;grid-template-columns:250px minmax(0,1fr) auto;align-items:center}.brand{font-size:23px;font-weight:800;color:var(--green);white-space:nowrap}.brand small{display:block;font-size:10px;letter-spacing:2px;color:#777;margin-top:4px}.menu{display:flex;justify-content:flex-end;overflow:visible;min-width:0}.menu button{border:0;border-left:1px solid #eee;background:#fff;padding:21px 10px;white-space:normal;text-align:center;line-height:1.2;min-width:82px}.menu button:last-child{border-right:1px solid #eee}.menu button.active{background:#f2f7f4;color:var(--green);font-weight:700}.lang-switch{display:flex;margin-left:10px}.lang-switch button{border:1px solid var(--green);background:#fff;color:var(--green);padding:8px 10px;min-width:44px}.lang-switch button+button{border-left:0}.lang-switch button.active{background:var(--green);color:#fff}.hero{background:linear-gradient(90deg,var(--green),#07995f);color:#fff;padding:48px 0 44px}.hero h1{font-size:38px;margin:0 0 10px}.hero p{margin:0 0 24px;opacity:.9}.search{display:grid;grid-template-columns:1fr 140px;max-width:760px}.search input{padding:16px;border:0}.search button{border:0;background:#17392d;color:#fff}.stats{display:grid;grid-template-columns:repeat(4,1fr);border-left:1px solid var(--line);border-top:1px solid var(--line);margin:32px auto}.stats>div{padding:22px;border-right:1px solid var(--line);border-bottom:1px solid var(--line)}.stats b{display:block;font-size:26px;color:var(--green)}.stats span{font-size:12px;color:var(--muted)}main{padding-bottom:90px}.notice{border:0;background:transparent;padding:0;margin:0 0 18px;font-size:14px;color:#555}.view{display:none}.view.active{display:block}.head{border-bottom:2px solid var(--green);padding-bottom:12px;margin-bottom:18px;display:flex;align-items:end;justify-content:space-between;gap:16px}.head h2{margin:0;font-size:26px}.grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}.panel{border:1px solid var(--line);padding:22px}.panel h3{margin-top:0;border-bottom:2px solid var(--green);padding-bottom:10px}.library-intro{border-top:2px solid var(--green);padding-top:18px}.library-intro h3{font-size:22px;margin:0 0 10px}.library-intro>p{max-width:920px;line-height:1.75;color:#4f5753;margin:0 0 18px}.guide-list{border-top:1px solid var(--line)}.guide-list>div{display:grid;grid-template-columns:200px 1fr;gap:24px;padding:16px 0;border-bottom:1px solid var(--line)}.guide-list b{color:var(--green)}.guide-list span{color:#5f6763;line-height:1.6}.record-row{padding:12px 0;border-bottom:1px solid #eee}.record-row:last-child{border-bottom:0}.actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}.btn{border:1px solid var(--green);background:#fff;color:var(--green);padding:8px 11px}.btn.primary{background:var(--green);color:#fff}.muted{font-size:12px;color:var(--muted)}label{display:block;font-size:12px;color:#555;margin:10px 0 5px}input,select{width:100%;padding:10px;border:1px solid #ccc;background:#fff}.filters{display:grid;grid-template-columns:minmax(0,1fr) 170px 170px 150px;border:1px solid var(--line);margin-bottom:14px}.filters input,.filters select{border:0}.filters select{border-left:1px solid var(--line)}.tablewrap{overflow-x:auto;margin-top:10px}table{width:100%;border-collapse:collapse;border-top:2px solid var(--green)}th{background:#fafafa;text-align:left;font-size:12px;padding:11px;border-bottom:1px solid var(--line)}td{font-size:13px;padding:12px 11px;border-bottom:1px solid #ececec}tr:hover td{background:#f8fbf9}.badge{display:inline-block;padding:4px 8px;border:1px solid #bbb;font-size:11px}.available{color:var(--green);border-color:#8cb8a1;background:#f5fbf7}.loan{color:var(--warn);border-color:#d5b084;background:#fffaf4}.reserved{color:var(--purple);border-color:#cbb7d7;background:#fcf8ff}.pager{display:flex;justify-content:center;align-items:center;gap:12px;margin-top:18px}.official{position:fixed;right:18px;bottom:22px;z-index:100;background:var(--green);color:#fff;min-width:190px;height:50px;display:flex;align-items:center;justify-content:center;gap:8px;border:1px solid #005f38;padding:0 17px;text-decoration:none}.official span{font-size:14px;font-weight:700}footer{background:#1f334b;color:#fff;padding:28px 0 24px}.footer-info{display:flex;flex-direction:column;align-items:center;text-align:center;gap:8px}.footer-info div:nth-child(1){font-size:15px}.footer-info div:nth-child(2){font-size:14px}.footer-info div:nth-child(3){font-size:13px}.modal{display:none;position:fixed;inset:0;background:rgba(0,0,0,.48);z-index:2000;align-items:center;justify-content:center;padding:20px}.modal.open{display:flex}.modalcard{width:min(460px,100%);background:#fff;border:1px solid #ccc;padding:26px}.modalhead{display:flex;justify-content:space-between;align-items:center;border-bottom:2px solid var(--green);margin-bottom:18px}.modalhead button{border:0;background:none;font-size:24px}.modalhead h3{color:var(--green)}
.recommended-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.book-card{display:grid;grid-template-columns:8px 1fr;border:1px solid var(--line);background:#fff;min-height:190px}.book-spine{background:var(--green)}.book-card-body{padding:17px}.book-card h3{font-size:16px;line-height:1.4;margin:8px 0}.book-card p{margin:0 0 10px;color:#4f5753}.book-type{font-size:11px;color:var(--green);font-weight:700}.member-admin-row{display:grid;grid-template-columns:1fr auto;gap:16px;align-items:center;padding:14px 0;border-bottom:1px solid #eee}.member-controls{display:flex;gap:8px;align-items:center}.member-controls select{width:auto;min-width:95px}.book-admin-search{display:grid;grid-template-columns:1fr 110px;gap:8px;margin-bottom:14px}.book-admin-row{display:grid;grid-template-columns:minmax(260px,1.6fr) minmax(130px,.7fr) 150px auto auto;gap:8px;align-items:center;padding:12px 0;border-bottom:1px solid #eee}.book-admin-title{min-width:0}.book-admin-title b{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.danger-btn{border-color:#a84545;color:#a84545}.danger-btn:hover{background:#fff7f7}
@media(max-width:1180px){.nav{grid-template-columns:220px minmax(0,1fr) auto}.brand{font-size:19px}.menu{flex-wrap:wrap}.menu button{flex:1 1 25%;min-width:0;padding:12px 6px;font-size:12px}.recommended-grid{grid-template-columns:repeat(3,1fr)}.book-admin-row{grid-template-columns:1fr 150px 140px auto}.book-admin-row .danger-btn{grid-column:4}}
@media(max-width:900px){.nav{grid-template-columns:1fr auto}.brand{grid-column:1}.lang-switch{grid-column:2;grid-row:1}.menu{display:flex;grid-column:1/-1;grid-row:2;flex-wrap:wrap;border-top:1px solid #eee}.menu button{flex:1 1 50%;min-width:0}.grid,.stats{grid-template-columns:1fr 1fr}.filters{grid-template-columns:1fr}.filters select{border-left:0;border-top:1px solid var(--line)}.guide-list>div{grid-template-columns:1fr;gap:6px}.topin{height:auto;padding-top:10px;padding-bottom:10px;gap:10px;flex-wrap:wrap}.topright{margin-left:auto}.recommended-grid{grid-template-columns:repeat(2,1fr)}.book-admin-row{grid-template-columns:1fr 1fr}.book-admin-row .book-admin-title{grid-column:1/-1}.member-admin-row{grid-template-columns:1fr}.member-controls{justify-content:flex-start}}
@media(max-width:600px){.grid,.stats,.recommended-grid{grid-template-columns:1fr}.search{grid-template-columns:1fr 100px}.topright{width:100%;justify-content:flex-end;flex-wrap:wrap}.footer-info{align-items:flex-start;text-align:left}.book-admin-row{grid-template-columns:1fr}.book-admin-row .book-admin-title{grid-column:auto}.book-admin-search{grid-template-columns:1fr}.member-controls{flex-wrap:wrap}}

/* Final UI overrides */
html body #noticeListTitle{display:none!important}
html body #topNoticeBoard>div:first-child{justify-content:flex-end!important}
html body .brand,html body .brand:hover,html body .brand:focus{text-decoration:none!important}

/* Compact catalog on desktop; scroll only when the viewport is genuinely too narrow */
html body #catalog .tablewrap{overflow-x:auto!important;overflow-y:hidden!important;width:100%!important;max-width:100%!important;margin-top:6px!important;padding-bottom:4px!important}
html body #catalog table{width:100%!important;min-width:1080px!important;table-layout:fixed!important;font-size:10.5px!important}
html body #catalog th,html body #catalog td{padding:5px 4px!important;font-size:10.5px!important;line-height:1.24!important;vertical-align:middle!important;white-space:normal!important;word-break:keep-all!important;overflow-wrap:anywhere!important}
html body #catalog th:nth-child(1),html body #catalog td:nth-child(1){width:3.5%!important;text-align:center!important}
html body #catalog th:nth-child(2),html body #catalog td:nth-child(2){width:7%!important}
html body #catalog th:nth-child(3),html body #catalog td:nth-child(3){width:5%!important}
html body #catalog th:nth-child(4),html body #catalog td:nth-child(4){width:5.5%!important}
html body #catalog th:nth-child(5),html body #catalog td:nth-child(5){width:13%!important}
html body #catalog th:nth-child(6),html body #catalog td:nth-child(6){width:11%!important}
html body #catalog th:nth-child(7),html body #catalog td:nth-child(7){width:24%!important}
html body #catalog th:nth-child(8),html body #catalog td:nth-child(8){width:5%!important;text-align:center!important}
html body #catalog th:nth-child(9),html body #catalog td:nth-child(9){width:11%!important}
html body #catalog th:nth-child(10),html body #catalog td:nth-child(10){width:7%!important}
html body #catalog th:nth-child(11),html body #catalog td:nth-child(11){width:8%!important}
html body #catalog .badge{font-size:9px!important;padding:2px 4px!important;line-height:1.15!important;white-space:normal!important}
@media(max-width:1150px){html body #catalog table{min-width:1040px!important;font-size:10px!important}html body #catalog th,html body #catalog td{font-size:10px!important;padding:4px 3px!important}}
