/* 0.9.0 — karty zasobów, skaner i etykiety QR */
.resource-filters,.label-toolbar{display:flex;gap:9px;align-items:center;margin:14px 0;padding:10px;border:1px solid var(--line);border-radius:15px;background:var(--surface)}.resource-filters input,.label-toolbar input{flex:1;min-width:160px}.resource-filters input,.resource-filters select,.label-toolbar input,.label-toolbar select{min-height:45px;padding:9px 12px;border:1px solid var(--line);border-radius:10px;background:var(--soft);color:var(--ink)}
.resource-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.resource-card{min-width:0;padding:16px;border:1px solid var(--line);border-top:5px solid var(--accent);border-radius:16px;background:var(--surface);display:flex;flex-direction:column;gap:7px;color:var(--ink)}.resource-card:hover{transform:translateY(-1px);box-shadow:0 7px 22px rgba(20,31,42,.08)}.resource-type{font-size:10px;font-weight:900;letter-spacing:.08em;color:var(--muted);text-transform:uppercase}.resource-card strong{font-size:17px}.resource-card code,.resource-detail code,.qr-label code{width:max-content;padding:4px 7px;border-radius:7px;background:var(--soft);font-size:13px;font-weight:900;letter-spacing:.06em;color:var(--ink)}.resource-card small{color:var(--muted);line-height:1.35}
.resource-detail{margin:0 0 17px;padding:16px;border:1px solid var(--line);border-left:6px solid var(--accent);border-radius:15px;background:var(--surface)}.resource-detail-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:12px}.resource-detail-head>span{font-size:11px;font-weight:900;letter-spacing:.08em;color:var(--muted)}.resource-detail-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:9px}.resource-detail-grid>div{padding:10px;border-radius:10px;background:var(--soft);display:flex;flex-direction:column;gap:3px}.resource-detail-grid small{color:var(--muted);font-size:10px}.resource-detail-grid strong{font-size:13px}.resource-detail>p{margin:11px 0 0;padding:11px;border-radius:10px;background:#fff4dc;color:#654817;line-height:1.5}html[data-theme=dark] .resource-detail>p{background:#362b18;color:#f3d7a0}
.resource-editor-fields[hidden]{display:none}.resource-editor-fields label small{display:block;margin-top:5px;color:var(--muted);font-weight:500}
.scanner-shell{max-width:720px;margin:0 auto;padding:18px;border:1px solid var(--line);border-radius:20px;background:var(--surface)}.scanner-camera{position:relative;aspect-ratio:4/3;overflow:hidden;border-radius:16px;background:#080b0e}.scanner-camera[hidden]{display:none}.scanner-camera video{width:100%;height:100%;object-fit:cover}.scanner-frame{position:absolute;inset:18%;border:3px solid rgba(255,255,255,.9);border-radius:18px;box-shadow:0 0 0 999px rgba(0,0,0,.3)}.scanner-status{margin:12px 0;padding:11px 13px;border-radius:11px;background:var(--soft);color:var(--muted);font-size:13px}.scanner-status.success{background:#e8f7ef;color:#17623f}.scanner-status.error{background:#fff0f1;color:#8f141b}.scanner-actions{display:flex;gap:8px;flex-wrap:wrap}.scanner-file{position:relative;overflow:hidden}.scanner-file input{position:absolute;inset:0;opacity:0;cursor:pointer}.manual-code{margin-top:18px;padding-top:17px;border-top:1px solid var(--line)}.manual-code label{font-size:12px;font-weight:800}.manual-code label>div{display:flex;gap:8px;margin-top:7px}.manual-code input{flex:1;min-width:0;min-height:48px;padding:10px 13px;border:1px solid var(--line);border-radius:11px;background:var(--soft);color:var(--ink);font-size:16px;text-transform:uppercase}.scanner-help{margin-top:16px;padding:13px;border-radius:12px;background:var(--soft)}.scanner-help p{margin:5px 0 0;color:var(--muted);font-size:12px;line-height:1.5}
.qr-label-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.qr-label{position:relative;min-height:170px;padding:12px;border:1px solid #aeb7c0;border-radius:10px;background:#fff;color:#111;display:grid;grid-template-columns:112px 1fr;align-items:center;gap:11px;break-inside:avoid}.qr-canvas svg{display:block;width:100%;height:auto}.qr-label-copy{min-width:0;display:flex;flex-direction:column;gap:5px}.qr-label-copy small{font-size:9px;font-weight:850;color:#59636e;text-transform:uppercase}.qr-label-copy strong{font-size:14px;line-height:1.2}.qr-label-copy span{font-size:10px;color:#59636e}.label-select{position:absolute;top:5px;right:7px;font-size:10px}.qr-download{position:absolute;bottom:5px;right:7px;border:0;background:none;color:#176394;font-size:10px;cursor:pointer}.qr-label.print-skip{opacity:.3}
.operational-tools.three{grid-template-columns:repeat(3,1fr)}
@media(max-width:850px){.resource-grid,.qr-label-grid{grid-template-columns:1fr 1fr}.operational-tools.three{grid-template-columns:1fr}}
@media(max-width:560px){.resource-filters,.label-toolbar{align-items:stretch;flex-direction:column}.resource-filters input,.resource-filters select,.resource-filters button,.label-toolbar input,.label-toolbar select,.label-toolbar button{width:100%}.resource-grid,.qr-label-grid{grid-template-columns:1fr}.resource-detail-grid{grid-template-columns:1fr}.scanner-shell{padding:13px}.scanner-actions>*{flex:1}.manual-code label>div{flex-direction:column}.qr-label{grid-template-columns:105px 1fr}}
@media print{@page{size:A4;margin:7mm}.topbar,.bottom-nav,.admin-nav,.no-print,.flash-stack{display:none!important}.page-shell{max-width:none;padding:0}.qr-label-grid{grid-template-columns:repeat(3,1fr);gap:3mm}.qr-label{display:grid!important;min-height:38mm;height:38mm;padding:3mm;border:0.3mm solid #555;border-radius:1.5mm;grid-template-columns:29mm 1fr;gap:3mm}.qr-label.print-skip{display:none!important}.qr-label-copy strong{font-size:10pt}.qr-label-copy code{font-size:8pt}.qr-canvas{width:29mm}.qr-canvas svg{width:29mm;height:29mm}}
