.shell{background:var(--wash);grid-template-columns:252px minmax(0,1fr);min-height:100vh;display:grid}.sidebar{background:linear-gradient(180deg,var(--navy-900),#0d2a4b);color:#c9d7ea;z-index:40;flex-direction:column;height:100vh;padding:16px 12px;display:flex;position:sticky;top:0;overflow-y:auto}.sb-brand{color:#fff;letter-spacing:-.02em;align-items:center;gap:10px;padding:4px 8px 18px;font-size:18px;font-weight:700;display:flex}.sb-brand img{background:#fff;border-radius:9px;width:34px;height:34px;padding:3px}.sb-brand span b{color:#6faeff;font-weight:700}.sb-label{letter-spacing:.12em;color:#7891b0;justify-content:space-between;align-items:center;padding:14px 10px 6px;font-size:10.5px;font-weight:700;display:flex}.sb-label button{color:#9db4d1;background:0 0;border:0;border-radius:6px;padding:2px;display:grid}.sb-label button:hover{color:#fff;background:#ffffff14}.sb-link{color:#c9d7ea;border-radius:9px;align-items:center;gap:11px;height:38px;padding:0 10px;font-size:14px;font-weight:500;transition:background .15s,color .15s;display:flex;position:relative}.sb-link svg{opacity:.9;flex:none;width:18px;height:18px}.sb-link:hover{color:#fff;background:#ffffff12}.sb-link.active{color:#fff;background:#2f7fe838;font-weight:600}.sb-link.active:before{content:"";background:#5da2ff;border-radius:0 3px 3px 0;width:3px;position:absolute;top:9px;bottom:9px;left:-12px}.sb-link small{color:#8ea6c4;margin-left:auto;font-size:11.5px;font-weight:600}.sb-coll-dot{border-radius:3px;flex:none;width:9px;height:9px;margin:0 4px 0 5px}.sb-foot{margin-top:auto;padding:14px 10px 4px}.sb-storage{background:#ffffff0d;border:1px solid #ffffff14;border-radius:12px;padding:12px}.sb-storage b{color:#fff;justify-content:space-between;margin-bottom:8px;font-size:12.5px;font-weight:600;display:flex}.sb-storage b span{color:#9db4d1;font-weight:500}.sb-storage .progress{background:#ffffff1a}.sb-storage p{color:#8ea6c4;align-items:center;gap:6px;margin:8px 0 0;font-size:11.5px;display:flex}.sb-plan{color:#fff;background:linear-gradient(135deg,#2f7fe859,#6b4fd84d);border-radius:12px;align-items:center;gap:10px;margin-top:10px;padding:10px 12px;font-size:12.5px;display:flex}.sb-plan b{font-size:13px;display:block}.sb-plan a{color:#fff;background:#ffffff24;border-radius:7px;margin-left:auto;padding:5px 9px;font-size:12px;font-weight:700}.main{flex-direction:column;min-width:0;display:flex}.topbar{z-index:30;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--line);background:#ffffffeb;align-items:center;gap:14px;height:64px;padding:0 28px;display:flex;position:sticky;top:0}.topbar .menu-btn{display:none}.search-box{flex:1;max-width:560px;position:relative}.search-box svg{width:18px;height:18px;color:var(--subtle);position:absolute;top:50%;left:12px;transform:translateY(-50%)}.search-box input{border:1px solid var(--line);background:var(--wash);width:100%;height:40px;color:var(--ink);border-radius:10px;padding:0 64px 0 40px;font-size:14px;transition:all .15s}.search-box input:focus{border-color:var(--blue-500);background:#fff;outline:none;box-shadow:0 0 0 4px #1466d61a}.search-box .kbd{position:absolute;top:50%;right:10px;transform:translateY(-50%)}.top-actions{align-items:center;gap:8px;margin-left:auto;display:flex}.avatar-btn{border:1px solid var(--line);height:40px;color:var(--ink);background:#fff;border-radius:10px;align-items:center;gap:9px;padding:0 10px 0 4px;font-size:13.5px;font-weight:600;display:flex}.avatar{background:linear-gradient(135deg,var(--blue-600),var(--violet));color:#fff;border-radius:8px;flex:none;place-items:center;width:30px;height:30px;font-size:13px;font-weight:700;display:grid}.menu{border:1px solid var(--line);min-width:230px;box-shadow:var(--sh-lg);z-index:60;animation:pop .15s var(--ease);background:#fff;border-radius:12px;padding:6px;position:absolute;top:calc(100% + 6px);right:0}.menu-item{width:100%;color:var(--text);text-align:left;background:0 0;border:0;border-radius:8px;align-items:center;gap:10px;padding:9px 10px;font-size:13.5px;display:flex}.menu-item svg{width:16px;height:16px;color:var(--muted)}.menu-item:hover{background:var(--wash-2);color:var(--ink)}.menu-item.danger,.menu-item.danger svg{color:var(--danger)}.menu-sep{background:var(--line);height:1px;margin:5px 4px}.menu-head{border-bottom:1px solid var(--line);margin-bottom:5px;padding:8px 10px 10px}.menu-head b{color:var(--ink);font-size:13.5px;display:block}.menu-head span{color:var(--muted);font-size:12px}.content{width:100%;max-width:1520px;margin:0 auto;padding:26px 28px 40px}.mobile-nav{display:none}.page-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:20px;margin-bottom:22px;display:flex}.eyebrow{letter-spacing:.12em;text-transform:uppercase;color:var(--blue-600);align-items:center;gap:8px;margin-bottom:6px;font-size:11.5px;font-weight:700;display:flex}.page-head h1{letter-spacing:-.03em;margin:0;font-size:28px}.page-head p{color:var(--muted);margin:4px 0 0}.page-actions{flex-wrap:wrap;gap:10px;display:flex}.metrics{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:18px;display:grid}.metric{border:1px solid var(--line);box-shadow:var(--sh-sm);transition:transform .2s var(--ease),box-shadow .2s;background:#fff;border-radius:14px;align-items:flex-start;gap:14px;min-width:0;padding:16px 16px 14px;display:flex}.metric:hover{box-shadow:var(--sh-md);transform:translateY(-2px)}.metric-icon{border-radius:11px;flex:none;place-items:center;width:40px;height:40px;display:grid}.metric-icon svg{width:20px;height:20px}.mi-blue{background:var(--blue-100);color:var(--blue-700)}.mi-teal{background:var(--teal-bg);color:var(--teal)}.mi-amber{background:var(--amber-bg);color:var(--amber)}.mi-violet{background:var(--violet-bg);color:var(--violet)}.mi-navy{color:var(--navy-700);background:#e4eaf3}.mi-green{background:var(--success-bg);color:var(--success)}.mi-red{background:var(--danger-bg);color:var(--danger)}.metric-body{flex:1;min-width:0}.metric-body span{color:var(--muted);font-size:12.5px;font-weight:500;display:block}.metric-body b{color:var(--ink);letter-spacing:-.02em;font-variant-numeric:tabular-nums;margin-top:2px;font-size:24px;line-height:1.2;display:block}.metric-body small{color:var(--subtle);margin-top:2px;font-size:12px;display:block}.metric-trend{background:var(--success-bg);color:var(--success);border-radius:6px;padding:2px 6px;font-size:11.5px;font-weight:700}.dash-row{gap:18px;margin-bottom:18px;display:grid}.dash-2-1{grid-template-columns:minmax(0,1.65fr) minmax(0,1fr)}.dash-3{grid-template-columns:minmax(0,1.3fr) minmax(0,1fr) minmax(0,1fr)}.continue{color:#fff;min-height:240px;box-shadow:var(--sh-md);background:radial-gradient(120% 140% at 85% 10%,#2f7fe8 0%,#16406e 45%,#0b2340 100%);border-radius:18px;grid-template-columns:minmax(0,1fr) 170px;gap:24px;padding:26px;display:grid;position:relative;overflow:hidden}.continue:after{content:"";border:1px solid #ffffff14;border-radius:50%;width:420px;height:420px;position:absolute;top:-150px;right:-120px;box-shadow:0 0 0 40px #ffffff06,0 0 0 90px #ffffff05}.continue .eyebrow{color:#9cc7ff}.continue h2{color:#fff;max-width:28ch;margin:6px 0;font-size:26px}.continue p{color:#bfd2ea;margin:0 0 18px;font-size:14px}.continue .progress{background:#ffffff26;max-width:340px;margin:14px 0 8px}.continue .progress i{background:#7db6ff}.continue small{color:#9db4d1;font-size:12px}.continue-thumb{z-index:1;aspect-ratio:3/4;width:150px;transition:transform .4s var(--ease);background:#fff;border-radius:8px;place-self:center end;position:relative;overflow:hidden;transform:rotate(3deg);box-shadow:0 20px 40px #0000004d}.continue:hover .continue-thumb{transform:rotate(0)translateY(-4px)}.continue-thumb img{object-fit:cover;object-position:top;width:100%;height:100%}.continue-actions{z-index:1;flex-wrap:wrap;gap:10px;display:flex;position:relative}.continue-copy{z-index:1;flex-direction:column;display:flex;position:relative}.tools-grid{grid-template-columns:repeat(4,1fr);gap:10px;padding:16px;display:grid}.tool-tile{text-align:center;border:1px solid var(--line);color:var(--ink);transition:all .18s var(--ease);background:#fff;border-radius:12px;flex-direction:column;justify-content:center;align-items:center;gap:8px;min-height:92px;padding:14px 6px;font-size:12.5px;font-weight:600;display:flex}.tool-tile:hover{border-color:var(--blue-200);background:var(--blue-50);color:var(--ink);transform:translateY(-2px)}.tool-tile .metric-icon{width:38px;height:38px}.section-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:14px;margin:6px 0 14px;display:flex}.section-head h2{margin:0;font-size:19px}.section-head p{color:var(--muted);margin:2px 0 0;font-size:13px}.doc-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:16px;display:grid}.doc-card{border:1px solid var(--line);transition:transform .2s var(--ease),box-shadow .2s,border-color .2s;box-shadow:var(--sh-sm);background:#fff;border-radius:14px;flex-direction:column;min-width:0;display:flex;position:relative;overflow:hidden}.doc-card:hover{box-shadow:var(--sh-md);border-color:var(--blue-200);transform:translateY(-3px)}.doc-card.selected{border-color:var(--blue-600);box-shadow:0 0 0 3px #1466d62e}.doc-thumb{aspect-ratio:4/3.7;background:linear-gradient(#eef3f9,#e3eaf3);display:block;position:relative;overflow:hidden}.doc-thumb img{object-fit:cover;object-position:top;width:72%;height:auto;min-height:60%;transition:transform .3s var(--ease);background:#fff;border-radius:3px;position:absolute;top:14px;left:50%;transform:translate(-50%);box-shadow:0 6px 18px #0f24402e}.doc-card:hover .doc-thumb img{transform:translate(-50%)translateY(-3px)scale(1.02)}.doc-thumb .placeholder{color:var(--subtle);place-items:center;display:grid;position:absolute;inset:0}.doc-thumb .placeholder svg{width:40px;height:40px}.doc-type{z-index:2;letter-spacing:.06em;color:var(--blue-700);box-shadow:var(--sh-sm);background:#fff;border-radius:6px;padding:3px 7px;font-size:10.5px;font-weight:800;position:absolute;top:10px;left:10px}.doc-type.scan{color:var(--teal)}.doc-type.locked{color:var(--warning)}.doc-star{z-index:2;width:30px;height:30px;color:var(--subtle);opacity:0;background:#ffffffe6;border:0;border-radius:8px;place-items:center;transition:opacity .15s;display:grid;position:absolute;top:8px;right:8px}.doc-star.on{opacity:1;color:var(--amber)}.doc-card:hover .doc-star,.doc-star:focus-visible{opacity:1}.doc-star svg{width:16px;height:16px}.doc-progress{background:#0f244014;height:3px;position:absolute;bottom:0;left:0;right:0}.doc-progress i{background:var(--blue-600);height:100%;display:block}.doc-info{align-items:flex-start;gap:8px;padding:11px 10px 12px 12px;display:flex}.doc-info>div{flex:1;min-width:0}.doc-info b{color:var(--ink);text-overflow:ellipsis;white-space:nowrap;font-size:13.5px;font-weight:600;display:block;overflow:hidden}.doc-info small{color:var(--subtle);text-overflow:ellipsis;white-space:nowrap;margin-top:2px;font-size:12px;display:block;overflow:hidden}.doc-more{position:relative}.doc-list .doc-row{border-bottom:1px solid var(--line);background:#fff;grid-template-columns:44px minmax(0,2.2fr) minmax(0,1fr) 90px 90px 120px 40px;align-items:center;gap:14px;padding:10px 14px;display:grid}.doc-list .doc-row:hover{background:#fafcff}.doc-list .doc-row.head{letter-spacing:.04em;text-transform:uppercase;color:var(--subtle);background:var(--wash);padding:9px 14px;font-size:11.5px;font-weight:700}.doc-row .mini-thumb{background:var(--wash-2);border:1px solid var(--line);border-radius:4px;width:36px;height:46px;overflow:hidden}.doc-row .mini-thumb img{object-fit:cover;object-position:top;width:100%;height:100%}.doc-row b{color:var(--ink);font-size:13.5px;font-weight:600}.doc-row span{color:var(--muted);font-size:13px}.chip-row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.chip{border:1px solid var(--line-strong);height:34px;color:var(--text);background:#fff;border-radius:999px;align-items:center;gap:7px;padding:0 13px;font-size:13px;font-weight:600;transition:all .15s;display:inline-flex}.chip:hover{border-color:var(--blue-500);color:var(--blue-700)}.chip[aria-pressed=true]{background:var(--navy-800);border-color:var(--navy-800);color:#fff}.chip span{opacity:.7;font-size:11.5px}.toolbar{flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:16px;display:flex}.toolbar .spacer{flex:1}.bar-chart{align-items:flex-end;gap:10px;height:150px;padding:6px 4px 0;display:flex}.bar-chart .bar{flex-direction:column;flex:1;justify-content:flex-end;align-items:center;gap:6px;height:100%;display:flex}.bar-chart .bar i{background:linear-gradient(180deg,var(--blue-500),var(--blue-600));width:100%;max-width:34px;min-height:4px;transition:height .8s var(--ease);border-radius:7px 7px 3px 3px;position:relative}.bar-chart .bar.today i{background:linear-gradient(180deg,#5da2ff,var(--navy-700))}.bar-chart .bar span{color:var(--subtle);font-size:11.5px;font-weight:600}.bar-chart .bar i:hover:after{content:attr(data-v);background:var(--navy-900);color:#fff;white-space:nowrap;border-radius:6px;padding:3px 7px;font-size:11px;font-style:normal;position:absolute;bottom:calc(100% + 6px);left:50%;transform:translate(-50%)}.activity-list{flex-direction:column;display:flex}.activity-item{border-bottom:1px solid var(--line);color:var(--text);align-items:center;gap:12px;padding:10px 20px;display:flex}.activity-item:last-child{border-bottom:0}.activity-item:hover{color:var(--text);background:#fafcff}.activity-item .mini{background:var(--wash-2);border:1px solid var(--line);border-radius:4px;flex:none;width:32px;height:40px;overflow:hidden}.activity-item .mini img{object-fit:cover;object-position:top;width:100%;height:100%}.activity-item b{color:var(--ink);font-size:13.5px;font-weight:600;display:block}.activity-item small{color:var(--subtle);font-size:12px}.storage-ring{--p:0;background:conic-gradient(var(--blue-600) calc(var(--p)*1%),var(--wash-2) 0);border-radius:50%;flex:none;place-items:center;width:92px;height:92px;display:grid}.storage-ring b{width:70px;height:70px;color:var(--ink);background:#fff;border-radius:50%;place-items:center;font-size:17px;display:grid}.dropzone{border:2px dashed var(--line-strong);background:linear-gradient(180deg,#fff,var(--blue-50));text-align:center;border-radius:18px;padding:44px 24px;transition:all .2s}.dropzone.drag{border-color:var(--blue-600);background:var(--blue-50);transform:scale(1.005)}.dropzone .hero-ic{background:var(--blue-600);color:#fff;border-radius:18px;place-items:center;width:64px;height:64px;margin:0 auto 14px;display:grid;box-shadow:0 12px 30px #1466d64d}.dropzone .hero-ic svg{width:30px;height:30px}.dropzone h2{font-size:22px}.dropzone p{color:var(--muted);max-width:520px;margin:0 auto 18px}.drop-overlay{z-index:150;color:#fff;pointer-events:none;background:#0b234099;place-items:center;font-size:20px;font-weight:700;animation:.15s fade;display:grid;position:fixed;inset:0}.drop-overlay div{background:#0b234080;border:2px dashed #fff9;border-radius:20px;flex-direction:column;align-items:center;gap:12px;padding:40px 60px;display:flex}.callout{background:var(--blue-50);border:1px solid var(--blue-100);color:var(--text);border-radius:12px;align-items:flex-start;gap:12px;padding:12px 14px;font-size:13.5px;display:flex}.callout svg{width:18px;height:18px;color:var(--blue-600);flex:none;margin-top:1px}.callout.warn{background:var(--warning-bg);border-color:#fbe3b7}.callout.warn svg{color:var(--warning)}.callout.ok{background:var(--success-bg);border-color:#c5ebda}.callout.ok svg{color:var(--success)}.settings-grid{grid-template-columns:220px minmax(0,1fr);gap:22px;display:grid}.settings-nav{flex-direction:column;align-self:start;gap:2px;display:flex;position:sticky;top:84px}.settings-nav a{color:var(--text);border-radius:9px;padding:9px 12px;font-size:14px;font-weight:500}.settings-nav a:hover{background:#fff}.settings-row{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:20px;padding:14px 20px;display:flex}.settings-row:last-child{border-bottom:0}.settings-row b{color:var(--ink);font-size:14px;font-weight:600;display:block}.settings-row span{color:var(--muted);margin-top:2px;font-size:13px;display:block}@media (max-width:1400px){.doc-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}@media (max-width:1180px){.dash-2-1,.dash-3{grid-template-columns:1fr 1fr}.dash-3>:first-child{grid-column:1/-1}.doc-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (max-width:960px){.shell{grid-template-columns:1fr}.sidebar{width:272px;transition:transform .25s var(--ease);box-shadow:var(--sh-lg);position:fixed;top:0;bottom:0;left:0;transform:translate(-100%)}.sidebar.open{transform:none}.sidebar{top:0;bottom:calc(64px + env(safe-area-inset-bottom));height:auto;max-height:calc(100dvh - 64px - env(safe-area-inset-bottom));overscroll-behavior:contain;-webkit-overflow-scrolling:touch;padding-bottom:20px;overflow-y:auto}.sb-scrim{z-index:35;background:#0b234066;position:fixed;inset:0}.topbar{padding:0 14px}.topbar .menu-btn{display:inline-grid}.content{padding:18px 14px 96px}.metrics{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.dash-2-1,.dash-3{grid-template-columns:1fr}.tools-grid{grid-template-columns:repeat(4,1fr)}.continue{grid-template-columns:1fr}.continue-thumb{display:none}.mobile-nav{z-index:45;border-top:1px solid var(--line);height:64px;padding-bottom:env(safe-area-inset-bottom);background:#fff;justify-content:space-around;align-items:center;display:flex;position:fixed;bottom:0;left:0;right:0}.mobile-nav a,.mobile-nav button{color:var(--muted);background:0 0;border:0;flex-direction:column;align-items:center;gap:3px;min-width:60px;font-size:11px;font-weight:600;display:flex}.mobile-nav a.active{color:var(--blue-600)}.mobile-nav svg{width:21px;height:21px}.mobile-nav .fab{background:var(--blue-600);color:#fff;border-radius:16px;place-items:center;width:50px;height:50px;margin-top:-26px;display:grid;box-shadow:0 10px 24px #1466d666}.settings-grid{grid-template-columns:1fr}.settings-nav{display:none}.doc-list .doc-row{grid-template-columns:44px minmax(0,1fr) 40px}.doc-list .doc-row>.hide-sm,.top-actions .hide-sm{display:none}}@media (max-width:640px){.doc-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.page-head h1{font-size:23px}.metric{gap:10px;padding:12px}.metric-icon{width:34px;height:34px}.metric-body b{font-size:20px}.tools-grid{grid-template-columns:repeat(3,1fr)}.search-box .kbd{display:none}}.scan-layout{grid-template-columns:minmax(0,1fr) 340px;align-items:start;gap:18px;display:grid}.scan-stage{color:#c9d7ea;background:#0e1a2b;border-radius:18px;place-items:center;min-height:460px;display:grid;position:relative;overflow:hidden}.scan-stage video{object-fit:contain;background:#000;width:100%;height:100%;max-height:70vh}.scan-guide{pointer-events:none;border:2px solid #7db6ffcc;border-radius:14px;position:absolute;inset:8% 12%;box-shadow:0 0 0 9999px #00000040}.scan-guide:before,.scan-guide:after{content:"";background:linear-gradient(90deg,#0000,#7db6ff,#0000);height:2px;animation:2.4s ease-in-out infinite scanline;position:absolute;top:0;left:0;right:0}@keyframes scanline{0%{top:0}50%{top:calc(100% - 2px)}to{top:0}}.shutter{background:#ffffff40;border:4px solid #fff;border-radius:50%;place-items:center;width:68px;height:68px;transition:transform .1s;display:grid;position:absolute;bottom:18px;left:50%;transform:translate(-50%)}.shutter:active{transform:translate(-50%)scale(.92)}.shutter i{background:#fff;border-radius:50%;width:52px;height:52px}.stage-actions{justify-content:space-between;gap:8px;display:flex;position:absolute;top:14px;left:14px;right:14px}.stage-empty{text-align:center;max-width:440px;padding:40px 20px}.stage-empty .hero-ic{color:#fff;background:linear-gradient(135deg,#2f7fe8,#0e8a7e);border-radius:20px;place-items:center;width:72px;height:72px;margin:0 auto 16px;display:grid}.stage-empty .hero-ic svg{width:34px;height:34px}.stage-empty h2{color:#fff;font-size:22px}.stage-empty p{color:#9db4d1}.crop-wrap{touch-action:none;-webkit-user-select:none;user-select:none;max-width:100%;display:inline-block;position:relative}.crop-wrap img,.crop-wrap canvas{width:auto;max-width:100%;height:auto;max-height:66vh;display:block}.crop-wrap svg{width:100%;height:100%;position:absolute;inset:0;overflow:visible}.crop-handle{fill:#fff;stroke:var(--blue-600);stroke-width:3px;cursor:grab}.crop-handle:active{cursor:grabbing}.page-strip{gap:12px;margin-top:14px;padding:14px 4px 6px;display:flex;overflow-x:auto}.strip-item{width:104px;box-shadow:var(--sh-sm);cursor:pointer;background:#fff;border:2px solid #0000;border-radius:10px;flex:none;padding:4px;transition:border-color .15s,transform .15s;position:relative}.strip-item.active{border-color:var(--blue-600)}.strip-item.dragging{opacity:.4}.strip-item img{aspect-ratio:3/4;object-fit:cover;background:var(--wash-2);border-radius:6px;width:100%}.strip-item span{background:var(--navy-900);color:#fff;border-radius:6px;padding:1px 6px;font-size:11px;font-weight:700;position:absolute;top:8px;left:8px}.strip-add{border:2px dashed var(--line-strong);width:104px;color:var(--muted);aspect-ratio:3/4.3;background:0 0;border-radius:10px;flex-direction:column;flex:none;justify-content:center;align-items:center;gap:6px;font-size:12px;font-weight:600;display:flex}.strip-add:hover{border-color:var(--blue-500);color:var(--blue-700)}.filter-grid{grid-template-columns:repeat(4,1fr);gap:8px;display:grid}.filter-opt{border:2px solid var(--line);color:var(--text);background:#fff;border-radius:10px;flex-direction:column;align-items:center;gap:4px;padding:6px;font-size:11.5px;font-weight:600;display:flex}.filter-opt[aria-pressed=true]{border-color:var(--blue-600);color:var(--blue-700)}.filter-opt i{aspect-ratio:1;border-radius:6px;width:100%;display:block}.save-progress{flex-direction:column;gap:8px;display:flex}@media (max-width:1100px){.scan-layout{grid-template-columns:1fr}}.tool-cards{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;display:grid}.tool-card{border:1px solid var(--line);box-shadow:var(--sh-sm);color:var(--text);transition:all .2s var(--ease);background:#fff;border-radius:16px;flex-direction:column;gap:10px;min-height:150px;padding:18px;display:flex}.tool-card:hover{box-shadow:var(--sh-md);border-color:var(--blue-200);color:var(--text);transform:translateY(-3px)}.tool-card b{color:var(--ink);font-size:15px}.tool-card p{color:var(--muted);margin:0;font-size:13px}.tool-card .badge{align-self:flex-start;margin-top:auto}.tool-layout{grid-template-columns:minmax(0,1fr) 360px;align-items:start;gap:18px;display:grid}.file-pick{border:1px solid var(--line);background:#fff;border-radius:12px;align-items:center;gap:12px;margin-bottom:8px;padding:12px 14px;display:flex}.file-pick .mini-thumb{background:var(--wash-2);border:1px solid var(--line);border-radius:4px;flex:none;width:38px;height:48px;overflow:hidden}.file-pick .mini-thumb img{object-fit:cover;object-position:top;width:100%;height:100%}.file-pick>div{flex:1;min-width:0}.file-pick b{color:var(--ink);text-overflow:ellipsis;white-space:nowrap;font-size:13.5px;display:block;overflow:hidden}.file-pick small{color:var(--subtle);font-size:12px}.page-grid{grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:14px;display:grid}.pg-tile{border:2px solid var(--line);cursor:grab;background:#fff;border-radius:12px;flex-direction:column;align-items:center;gap:6px;padding:8px;transition:border-color .15s,box-shadow .15s;display:flex;position:relative}.pg-tile.sel{border-color:var(--blue-600);box-shadow:0 0 0 3px #1466d626}.pg-tile.dragging{opacity:.4}.pg-tile canvas,.pg-tile .ph{aspect-ratio:1/1.3;object-fit:contain;background:var(--wash);width:100%;transition:transform .25s var(--ease);border-radius:4px}.pg-tile .pg-actions{opacity:0;gap:4px;transition:opacity .15s;display:flex;position:absolute;top:6px;right:6px}.pg-tile:hover .pg-actions,.pg-tile:focus-within .pg-actions{opacity:1}.pg-tile .pg-actions button{color:#fff;background:#0b2340d9;border:0;border-radius:7px;place-items:center;width:28px;height:28px;display:grid}.pg-tile .pg-actions svg{width:14px;height:14px}.pg-tile small{color:var(--muted);font-size:12px;font-weight:600}.sig-pad{border:1px dashed var(--line-strong);touch-action:none;cursor:crosshair;background:#fff;border-radius:12px;width:100%;height:170px}.place-stage{max-width:100%;box-shadow:var(--sh-md);cursor:crosshair;display:inline-block;position:relative}.place-stage canvas{max-width:100%;display:block}.place-stage .placed{border:1.5px dashed var(--blue-600);background:#1466d60f;position:absolute}.place-stage .placed img{object-fit:contain;width:100%;height:100%}.place-stage .placed button{background:var(--danger);color:#fff;border:0;border-radius:50%;place-items:center;width:24px;height:24px;display:grid;position:absolute;top:-12px;right:-12px}@media (max-width:1200px){.tool-cards{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (max-width:1000px){.tool-layout{grid-template-columns:1fr}}@media (max-width:700px){.tool-cards{grid-template-columns:repeat(2,minmax(0,1fr))}}.doc-card{overflow:visible}.doc-card:focus-within{z-index:25}.doc-thumb{border-radius:13px 13px 0 0}.doc-info{border-radius:0 0 13px 13px}.strip-item .blank-flag{background:var(--warning-bg);color:var(--warning);border-radius:6px;padding:1px 6px;font-size:10.5px;font-style:normal;font-weight:700;position:absolute;bottom:8px;right:8px}.menu.doc-menu-pop{z-index:90;overscroll-behavior:contain;width:max-content;max-width:calc(100vw - 16px);position:fixed;right:auto;overflow-y:auto}.menu.doc-menu-pop .menu-item{white-space:nowrap}.menu.doc-menu-pop .menu-item:focus-visible{outline:2px solid var(--blue-600);outline-offset:-2px}.doc-menu-scrim{z-index:89;background:#0b234061;animation:.15s fade-in;position:fixed;inset:0}.menu.doc-menu-pop.sheet{width:auto;min-width:0;max-width:none;padding:8px 10px calc(14px + env(safe-area-inset-bottom));max-height:calc(100dvh - 40px);animation:sheet-up .2s var(--ease);border-bottom:0;border-radius:18px 18px 0 0;inset:auto 0 0}.menu.doc-menu-pop.sheet:before{content:"";background:var(--line);border-radius:4px;width:40px;height:4px;margin:2px auto 8px;display:block}.menu.doc-menu-pop.sheet .menu-item{min-height:44px;padding:11px 12px;font-size:15px}.doc-menu-title b{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}@keyframes sheet-up{0%{transform:translateY(100%)}}@keyframes fade-in{0%{opacity:0}}
