:root{--ink:#17201d;--muted:#69736f;--green:#147d64;--pale:#edf5f1;--line:#dce4e0;--red:#b5443b;--amber:#a86408}*{box-sizing:border-box}body{margin:0;background:#f5f7f6;color:var(--ink);font:15px/1.55 system-ui,"Microsoft JhengHei",sans-serif}header{height:68px;background:#132b25;color:white;display:flex;align-items:center;padding:0 max(24px,calc((100% - 1180px)/2));gap:42px}.brand{font-size:20px;font-weight:800;color:white;text-decoration:none}nav{display:flex;gap:8px}nav a{color:#d5e5df;text-decoration:none;padding:8px 12px;border-radius:8px}nav a:hover{background:#23483e}main{max-width:1180px;margin:34px auto;padding:0 22px}h1{font-size:30px;margin:0 0 8px}h2{font-size:19px;margin:0 0 18px}p{color:var(--muted)}button,.button{border:0;border-radius:8px;background:var(--green);color:white;padding:10px 16px;font-weight:700;cursor:pointer;text-decoration:none;display:inline-block}button.secondary{background:#40544f}button.ghost{background:transparent;color:var(--ink)}.danger-button{background:var(--red);margin-top:10px}.heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:22px}.cards{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin:24px 0}.card,.panel{background:white;border:1px solid var(--line);border-radius:14px;box-shadow:0 2px 10px #1232 0;padding:22px}.card b{font-size:34px;display:block}.card span{color:var(--muted)}.card.good{border-top:4px solid var(--green)}.card.warn{border-top:4px solid var(--amber)}.card.bad{border-top:4px solid var(--red)}.split{display:grid;grid-template-columns:1fr 1fr;gap:18px}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse}th{text-align:left;color:var(--muted);font-size:12px;text-transform:uppercase}td,th{padding:13px 10px;border-bottom:1px solid var(--line);white-space:nowrap}small{display:block;color:var(--muted)}code{background:var(--pale);color:#075d49;padding:3px 7px;border-radius:5px}.badge{display:inline-block;border-radius:99px;padding:4px 9px;background:#e9edeb;color:#3e4b47;font-size:12px;font-weight:800}.badge.available,.badge.returned{background:#dff4e9;color:#176846}.badge.borrowed,.badge.partial{background:#fff0cf;color:#875100}.badge.pending{background:#e7ecff;color:#4252a0}.badge.maintenance,.badge.rejected,.danger{color:var(--red);background:#fbe5e2}.loan-row{display:grid;grid-template-columns:1fr 1fr auto;gap:10px;padding:12px 0;border-bottom:1px solid var(--line);text-decoration:none;color:var(--ink)}.loan-row em{font-style:normal;color:var(--muted)}.empty{text-align:center;color:var(--muted);padding:30px}.flash{padding:12px 16px;border-radius:9px;margin-bottom:18px;background:#e7f5ee;color:#176846}.flash.error{background:#fbe5e2;color:#94372f}.search,.scan-form,.scan-add{display:flex;gap:8px;margin:18px 0}input,select,textarea{width:100%;padding:10px 12px;border:1px solid #bdc9c4;border-radius:8px;background:white;font:inherit}textarea{min-height:76px}label{display:grid;gap:6px;font-weight:650;color:#42504c}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.wide{grid-column:1/-1}.chip{display:inline-flex;gap:8px;align-items:center;background:var(--pale);padding:7px 9px;margin:0 7px 7px 0;border-radius:8px}.chip button{padding:0 5px;background:transparent;color:var(--red);font-size:18px}dialog{border:0;border-radius:14px;width:min(520px,90vw);padding:24px}dialog::backdrop{background:#10251eaa}dialog form{display:grid;gap:14px}.filters{display:flex;gap:7px;margin:15px 0}.filters a{padding:7px 12px;border-radius:8px;text-decoration:none;color:var(--muted)}.filters a.active{background:#dcece6;color:#14614f;font-weight:800}.item-row{display:flex;justify-content:space-between;padding:13px 0;border-bottom:1px solid var(--line)}.item-row b{margin-left:10px}.photo{max-width:100%;border-radius:10px;margin-top:14px}.return-shell{max-width:720px;margin:auto}.return-card{margin-top:24px}.return-card dl,dl{display:grid;grid-template-columns:110px 1fr;gap:8px}dt{color:var(--muted)}dd{margin:0}.large{width:100%;font-size:17px;padding:14px}.eyebrow{color:var(--green);font-weight:800}#reader{margin-top:12px}hr{border:0;border-top:1px solid var(--line);margin:20px 0}@media(max-width:760px){header{height:auto;padding:15px;display:block}nav{overflow:auto;margin-top:10px}nav a{white-space:nowrap}main{margin-top:22px}.cards{grid-template-columns:1fr 1fr}.split,.form-grid{grid-template-columns:1fr}.wide{grid-column:auto}.heading{align-items:flex-start}.loan-row{grid-template-columns:1fr}.form-grid{padding:16px}}

