:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,sans-serif;color:#172033;background:#f5f7fb;font-synthesis:none}*{box-sizing:border-box}body{margin:0}button,input{font:inherit}button{cursor:pointer}.top{height:72px;background:#fff;border-bottom:1px solid #e5e9f1;display:flex;align-items:center;justify-content:space-between;padding:0 5%;position:sticky;top:0;z-index:5}.brand{display:flex;align-items:center;gap:12px;font-size:20px}.brand span,.mark{background:#1e5eff;color:#fff;padding:10px;border-radius:10px;display:flex;gap:8px}.top nav{display:flex;align-items:center;gap:22px;color:#677084;font-size:14px}.top nav button,.viewer button{border:0;background:none;display:flex;align-items:center;gap:7px;color:inherit}.top svg{width:18px}.content{max-width:1180px;margin:auto}.hero{padding:72px 20px 44px;text-align:center}.eyebrow{font-weight:700;letter-spacing:.15em;color:#1e5eff;font-size:12px}.hero h1{font-size:42px;margin:12px 0 28px}.search{height:66px;max-width:850px;margin:auto;background:#fff;border:1px solid #dce2ed;border-radius:14px;display:flex;align-items:center;padding:7px 7px 7px 20px;box-shadow:0 12px 35px #233b6412}.search svg{color:#8c96a8}.search input{flex:1;border:0;outline:0;padding:0 14px;font-size:17px;min-width:0}.search button,.primary{background:#1e5eff;color:#fff;border:0;border-radius:10px;padding:15px 24px;font-weight:700}.filters{display:flex;justify-content:center;gap:8px;margin-top:18px;flex-wrap:wrap}.filters button{background:#fff;border:1px solid #dce2ed;border-radius:30px;padding:8px 15px;color:#626d81}.results{padding:0 20px 70px}.result-head{display:flex;justify-content:space-between}.hit{background:#fff;border:1px solid #e2e7ef;border-radius:14px;padding:22px;margin:12px 0;display:flex;gap:18px;box-shadow:0 3px 12px #263b5f08}.file-icon{height:48px;width:48px;flex:0 0 48px;border-radius:10px;background:#eaf0ff;color:#1e5eff;display:grid;place-items:center}.hit-main{flex:1;min-width:0}.title{font-size:18px;font-weight:700;border:0;background:none;padding:0;color:#19253a}.meta{display:flex;gap:16px;flex-wrap:wrap;color:#7c8595;font-size:13px;margin:8px 0}.barcode{font-family:monospace;background:#eef1f6;padding:2px 8px;border-radius:4px}.hit p{color:#4e596d;line-height:1.55;margin:8px 0}.hit mark{background:#fff0a6}.actions{display:flex;align-items:center;gap:8px}.actions button,.actions a,.admin button{white-space:nowrap;border:1px solid #dce2ed;background:#fff;border-radius:8px;padding:9px 12px;color:#34415a;text-decoration:none;display:flex;gap:6px}.actions svg{width:16px}.empty{text-align:center;color:#7a8495;padding:70px}.empty>svg{width:50px;height:50px;color:#b3bac7}.login{min-height:100vh;display:grid;place-items:center;background:radial-gradient(circle at top,#edf3ff,#f6f7fa 50%)}.login-card{width:min(430px,92vw);background:#fff;padding:40px;border-radius:18px;box-shadow:0 25px 70px #1720331c}.mark{width:max-content}.login-card h1{font-size:30px;margin-bottom:8px}.login-card>p{color:#737e90}.login label{display:grid;gap:7px;margin:20px 0;font-weight:600}.login input{border:1px solid #d8deea;border-radius:9px;padding:13px}.login .primary{width:100%}.error{background:#fff0f0;border:1px solid #ffcaca;color:#9d2525;padding:12px;border-radius:8px}.viewer{position:fixed;inset:0;background:#252b35ee;z-index:20;display:flex;flex-direction:column}.viewer header{height:64px;background:#fff;display:flex;align-items:center;justify-content:space-between;padding:0 20px}.viewer header>div{display:flex;align-items:center;gap:12px}.canvas-wrap{overflow:auto;text-align:center;padding:30px}.canvas-wrap canvas{box-shadow:0 12px 35px #0008;max-width:100%;height:auto}.admin{max-width:1180px;margin:50px auto;padding:0 20px}.cards{display:grid;grid-template-columns:1fr 1fr;gap:20px}.cards article{background:#fff;border:1px solid #e2e7ef;border-radius:14px;padding:22px}.row{display:flex;justify-content:space-between;align-items:center;border-top:1px solid #edf0f5;padding:15px 0}.row span{display:grid}.row small{color:#7d8798;margin-top:4px}@media(max-width:760px){.top nav>span{display:none}.hero{padding-top:40px}.hero h1{font-size:30px}.search{height:auto;flex-wrap:wrap}.search input{height:45px}.search button{width:100%}.hit{flex-wrap:wrap}.actions{width:100%;padding-left:66px}.cards{grid-template-columns:1fr}}
