@import "https://fonts.googleapis.com/css2?family=Cormorant+Garamond:wght@500;600&family=Inter:wght@400;500;600&display=swap";:root{--cream:#faf7f2;--paper:#fff;--ink:#2b2620;--muted:#8a8177;--line:#e8e1d6;--gold:#b08d4f;--gold-soft:#f3ead9;--green:#4a6b4f;--red:#a04b3c}*{box-sizing:border-box;margin:0;padding:0}body{background:var(--cream);color:var(--ink);-webkit-font-smoothing:antialiased;font-family:Inter,system-ui,sans-serif;font-size:15px;line-height:1.5}.serif{font-family:Cormorant Garamond,serif}.page{max-width:560px;margin:0 auto;padding:20px 16px 60px}.page-wide{max-width:1100px}.brand-bar{border-bottom:1px solid var(--line);justify-content:space-between;align-items:baseline;margin-bottom:22px;padding:14px 0 12px;display:flex}.brand-bar h1{letter-spacing:.04em;font-family:Cormorant Garamond,serif;font-size:22px;font-weight:600}.brand-bar h1 span{color:var(--gold)}.brand-bar a,.brand-bar button.linklike{color:var(--muted);cursor:pointer;background:0 0;border:none;font-family:inherit;font-size:12.5px;text-decoration:none}.code-chip{letter-spacing:.12em;color:var(--gold);background:var(--gold-soft);border-radius:99px;padding:4px 12px;font-size:12px;font-weight:600;display:inline-block}.card{background:var(--paper);border:1px solid var(--line);border-radius:14px;margin-bottom:16px;padding:20px}label.field{margin-bottom:14px;display:block}label.field .lbl{letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin-bottom:6px;font-size:11.5px;font-weight:600;display:block}label.field .lbl em{color:var(--gold);font-style:normal}input[type=text],input[type=email],input[type=password],input[type=number],select,textarea{border:1px solid var(--line);width:100%;color:var(--ink);background:#fff;border-radius:10px;padding:11px 12px;font-family:inherit;font-size:15px}input:focus,select:focus,textarea:focus{outline:2px solid var(--gold);outline-offset:0;border-color:var(--gold)}textarea{resize:vertical;min-height:70px}.btn{cursor:pointer;background:var(--ink);width:100%;color:var(--cream);border:none;border-radius:10px;justify-content:center;align-items:center;gap:8px;padding:13px 18px;font-family:inherit;font-size:15px;font-weight:600;transition:opacity .15s;display:inline-flex}.btn:disabled{opacity:.45;cursor:default}.btn.gold{background:var(--gold);color:#fff}.btn.ghost{color:var(--ink);border:1px solid var(--line);background:0 0}.btn.small{width:auto;padding:8px 14px;font-size:13px}.photo-slot{aspect-ratio:4/3;border:1.5px dashed var(--gold);background:var(--gold-soft);width:100%;color:var(--gold);cursor:pointer;border-radius:14px;flex-direction:column;justify-content:center;align-items:center;gap:6px;margin-bottom:16px;font-weight:600;display:flex;position:relative;overflow:hidden}.photo-slot img{object-fit:cover;width:100%;height:100%;position:absolute;inset:0}.photo-slot input{opacity:0;cursor:pointer;position:absolute;inset:0}.photo-slot .retake{z-index:2;color:#fff;background:#2b2620c7;border-radius:99px;padding:6px 12px;font-size:12px;position:absolute;bottom:10px;right:10px}.material-photo{border:1px solid var(--line);background:#fff;border-radius:14px;width:100%;display:block}.detail-grid{grid-template-columns:1fr 1fr;gap:12px 16px;margin:16px 0;display:grid}.detail-grid .d span{letter-spacing:.08em;text-transform:uppercase;color:var(--muted);font-size:11px;display:block}.detail-grid .d strong{font-size:15px;font-weight:600}.status-pill{border-radius:99px;align-items:center;gap:7px;padding:6px 14px;font-size:13px;font-weight:600;display:inline-flex}.status-pill:before{content:"";background:currentColor;border-radius:50%;width:7px;height:7px}.status-pill.office{color:var(--green);background:#ecf2ed}.status-pill.out{color:var(--gold);background:var(--gold-soft)}.status-pill.gone{color:var(--red);background:#f6e9e6}.banner{border-radius:10px;margin-bottom:14px;padding:10px 14px;font-size:13px}.banner.info{background:var(--gold-soft);color:#7a6233}.banner.error{color:var(--red);background:#f6e9e6}.banner.ok{color:var(--green);background:#ecf2ed}.lib-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:12px;display:grid}.lib-card{background:var(--paper);border:1px solid var(--line);color:var(--ink);border-radius:12px;text-decoration:none;display:block;overflow:hidden}.lib-card .ph{aspect-ratio:1;object-fit:cover;background:var(--gold-soft);width:100%;display:block}.lib-card .meta{padding:9px 11px}.lib-card .meta .nm{font-size:13.5px;font-weight:600;line-height:1.25}.lib-card .meta .sub{color:var(--muted);margin-top:2px;font-size:11.5px}.filters{flex-wrap:wrap;gap:8px;margin-bottom:16px;display:flex}.filters select,.filters input{flex:1;width:auto;min-width:130px;padding:9px 10px;font-size:13.5px}.stats{grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:16px;display:grid}.stat{background:var(--paper);border:1px solid var(--line);text-align:center;border-radius:12px;padding:14px}.stat .n{color:var(--gold);font-family:Cormorant Garamond,serif;font-size:28px;font-weight:600}.stat .l{letter-spacing:.07em;text-transform:uppercase;color:var(--muted);font-size:11px}.row{gap:10px;display:flex}.row>*{flex:1}.center-note{text-align:center;color:var(--muted);padding:30px 0;font-size:13.5px}.qr-sheet{grid-template-columns:repeat(4,1fr);display:grid}.qr-cell{border:1px dashed #ccc;flex-direction:column;justify-content:center;align-items:center;padding:8px 4px 6px;display:flex}.qr-cell img{width:88px;height:88px}.qr-cell .qc{letter-spacing:.06em;margin-top:3px;font-family:monospace;font-size:10px}@media print{body{background:#fff}.no-print{display:none!important}.page{max-width:none;padding:0}.qr-cell{break-inside:avoid}}
