/* SoloScan 1.0 release candidate: visual, private document library and extraction */
#libraryView{position:relative}
.rc-lib-quick{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:13px 0 22px}
.rc-quick-tile{min-height:99px;padding:13px 8px;background:#fff;border:1px solid #dce7ed;border-radius:17px;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:10px;color:#193345;box-shadow:0 5px 20px #183b5010}
.rc-quick-tile span{font-size:29px;line-height:1}.rc-quick-tile strong{font-size:.84rem}
.rc-quick-tile:focus-visible,.rc-lib-layout button:focus-visible,.rc-asset button:focus-visible{outline:3px solid #0c9e91;outline-offset:2px}
.rc-lib-heading{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:11px 0 7px}
.rc-lib-heading strong{font-size:1.28rem;letter-spacing:-.3px;color:#173649}.rc-lib-heading strong span{font-size:.83rem;font-weight:600;color:#7b8e9d}
.rc-lib-layout{display:flex;border:1px solid #cddce5;border-radius:11px;background:#fff;padding:3px;gap:3px}
.rc-lib-layout button{padding:9px 12px;border:0;border-radius:9px;background:transparent;color:#52677b;font:inherit;cursor:pointer;min-height:41px}
.rc-lib-layout .rc-layout-active{background:#d9f6ef;color:#064d43;font-weight:800}
.rc-lib-caption{font-size:.79rem;line-height:1.5;color:#718397;margin:0 0 14px}
.rc-library-advanced{padding:12px 15px;background:#f6fafc;border-radius:12px;border:1px solid #e1e9ef;margin-bottom:16px}
.rc-library-advanced>summary{font-size:.89rem;font-weight:750;cursor:pointer;color:#295269;padding:3px 0}
.rc-library-advanced[open]>.lib-toolbar{margin-top:14px}
.rc-library-advanced .lib-backup-options{margin-bottom:8px}
.rc-folder-title{font-size:1.04rem;color:#1c3b4f;margin:24px 0 10px}
#libraryView .lib-folders{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
#libraryView .lib-folder-chip.rc-folder-tile{border:1px solid #dae5ec;border-radius:14px;display:flex;flex-direction:column;align-items:stretch;overflow:hidden;background:#fff;min-width:0}
#libraryView .lib-folder-chip.rc-folder-tile>button{display:grid;align-content:start;text-align:center;justify-items:center;gap:6px;flex:1;padding:17px 7px 4px;min-height:100px}
#libraryView .rc-folder-tile>button span{font-size:31px;line-height:1.15}
#libraryView .rc-folder-tile>button strong{color:#27445b;font-weight:800;font-size:.8rem;overflow-wrap:anywhere;line-height:1.3}
#libraryView .rc-folder-tile>button small{color:#8396a4;font-weight:600;font-size:.7rem}
#libraryView .rc-folder-menu{display:flex;justify-content:center;border-top:1px solid #eff3f5}
#libraryView .rc-folder-menu button{flex:1;border:0;min-height:34px;font-size:.95rem;color:#6d8494;background:transparent}
#libraryView .rc-folder-menu button+button{border-left:1px solid #eff3f5}
.rc-folders-empty{margin:1px 0 5px;color:#7a8d9c;font-size:.82rem;grid-column:1/-1}
#libResults.rc-results-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
#libResults.rc-results-grid .lib-doc{display:flex;flex-direction:column;gap:0;align-items:stretch;padding:0;overflow:hidden;position:relative;min-width:0}
.rc-preview{height:166px;background:#f2f5f6;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:5px;border-bottom:1px solid #e4eaf0;overflow:hidden;color:#526b82}
.rc-preview>span{font-size:39px}.rc-preview>small{font-size:.7rem;font-weight:800;color:#a1535b}
.rc-preview>img{height:100%;width:100%;object-fit:contain;background:#eef2f4}
#libResults.rc-results-grid .lib-doc-body{padding:11px 12px 13px;width:100%;box-sizing:border-box;display:flex;flex-direction:column;flex:1;min-height:0}
#libResults.rc-results-grid .lib-doc-title{font-size:.84rem;min-height:36px;line-height:1.3;max-height:3.9em;overflow:hidden}
#libResults.rc-results-grid .lib-doc-body>p{font-size:.7rem;margin:5px 0 12px}
#libResults.rc-results-grid .lib-doc-actions{gap:5px 9px}
#libResults.rc-results-grid .lib-link{font-size:.76rem;padding:4px 2px;min-height:27px}
#libResults.rc-results-grid .lib-doc-bottom{align-items:center;gap:6px;margin-top:auto}
#libResults.rc-results-grid .lib-doc-bottom label{display:flex;flex:1;min-width:0;font-size:.72rem;flex-direction:column;align-items:stretch;gap:4px}
#libResults.rc-results-grid .lib-doc select{padding:6px 4px;font-size:.76rem;max-width:100%}
#libResults .lib-doc-select{position:absolute;top:9px;right:9px;background:#fff;padding:5px;border-radius:8px;display:flex;align-items:center;justify-content:center;box-shadow:0 2px 6px #0002;z-index:1}
#libResults .lib-doc-select input{width:20px;height:20px;accent-color:#0a9788}
#libResults.rc-results-list{display:grid;grid-template-columns:1fr;gap:11px}
#libResults.rc-results-list .lib-doc{position:relative;align-items:flex-start}
#libResults.rc-results-list .lib-doc .rc-preview{width:102px;min-width:102px;height:130px;border:1px solid #e0e8ec;border-radius:10px}
#libResults.rc-results-list .lib-doc .rc-preview>span{font-size:30px}
#libResults.rc-results-list .lib-doc-body{padding-right:26px}
.rc-floating-camera{position:fixed;right:max(17px,env(safe-area-inset-right));bottom:calc(84px + env(safe-area-inset-bottom));width:60px;height:60px;border:none;border-radius:50%;background:#0fb799;color:white;box-shadow:0 8px 24px #05544a44;font-size:27px;z-index:6}
#libraryView:not(.active) .rc-floating-camera{display:none}
.rc-floating-camera:focus-visible{outline:3px solid #044d43;outline-offset:4px}
.rc-extract-workspace{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(240px,1fr);align-items:start;gap:17px}
.rc-extract-card{background:#fff;border:1px solid #dce7ed;padding:19px;border-radius:18px;display:grid;gap:12px;min-width:0}
.rc-extract-card h2{font-size:1.18rem;color:#163e4d;margin:0}.rc-extract-card>input[type=file]{padding:14px;border:1px dashed #93b7c2;border-radius:11px;width:100%;min-width:0;box-sizing:border-box}
.rc-extract-controls{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.rc-extract-controls label{display:flex;flex-direction:column;gap:5px;font-size:.82rem;color:#374e5f;font-weight:750}
.rc-extract-controls select{min-height:41px;border:1px solid #c9d9e1;border-radius:9px;padding:8px;background:#fff}
.rc-extract-controls input{accent-color:#0a9d90;width:100%}
.rc-extract-controls label span{color:#668195;font-weight:500;font-size:.72rem}
.rc-extract-preview{min-height:150px;max-height:420px;display:flex;align-items:center;justify-content:center;overflow:auto;border:1px solid #cbd9df;border-radius:12px;background-color:#fafafa;background-image:linear-gradient(45deg,#e2e7e9 25%,transparent 25%),linear-gradient(-45deg,#e2e7e9 25%,transparent 25%),linear-gradient(45deg,transparent 75%,#e2e7e9 75%),linear-gradient(-45deg,transparent 75%,#e2e7e9 75%);background-size:24px 24px;background-position:0 0,0 12px,12px -12px,-12px 0}
#rcExtractCanvas{display:block;max-width:100%;max-height:400px;width:auto;height:auto;touch-action:none;cursor:crosshair}
.rc-extract-buttons{display:flex;flex-wrap:wrap;gap:8px}.rc-extract-buttons .btn{flex:1;min-width:130px}
.rc-extract-status{font-size:.83rem;line-height:1.5;color:#35556c;background:#eef6f6;padding:11px;border-radius:10px}
.rc-signature-library{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.rc-asset{border:1px solid #dbe7e9;padding:10px;border-radius:12px;display:grid;gap:7px;min-width:0}
.rc-asset-image{height:74px;background:repeating-conic-gradient(#e6eded 0% 25%,#fff 0% 50%) 50% / 18px 18px;display:flex;align-items:center;justify-content:center;border-radius:7px}
.rc-asset-image img{max-height:100%;max-width:100%;object-fit:contain}
.rc-asset strong{font-size:.77rem;overflow-wrap:anywhere}.rc-asset div:last-child{display:flex;flex-wrap:wrap;gap:4px}
.rc-asset button{border:1px solid #a5d6cb;border-radius:7px;background:#e8f8f4;color:#174d47;padding:7px;font-size:.72rem;min-height:32px}
@media(max-width:880px){.rc-extract-workspace{grid-template-columns:1fr}}
@media(max-width:720px){#libraryView .lib-folders{grid-template-columns:repeat(3,minmax(0,1fr))}#libResults.rc-results-grid{grid-template-columns:repeat(2,minmax(0,1fr))}#libResults.rc-results-grid .rc-preview{height:135px}.rc-extract-card{padding:14px}.rc-asset-image{height:60px}}
@media(max-width:365px){.rc-quick-tile{min-height:87px}.rc-quick-tile strong{font-size:.72rem}#libraryView .lib-folders{grid-template-columns:repeat(2,minmax(0,1fr))}.rc-extract-controls{grid-template-columns:1fr}#libResults.rc-results-grid .lib-doc-body{padding:10px 7px}.rc-lib-layout button span{display:none}}
@media(prefers-reduced-motion:reduce){.rc-floating-camera,.rc-quick-tile{transition:none}}
