.sign-shell{display:flex;flex-direction:column;gap:1rem;min-width:0;max-width:1300px;margin-inline:auto}.sign-shell h2,.sign-shell h3,.sign-shell p{margin:0}.sign-actions{display:flex;flex-wrap:wrap;gap:.6rem;align-items:center}.sign-grid,.sign-list{display:grid;gap:1rem}.sign-card,.sign-row{background:var(--panel);border:1px solid var(--line);border-radius:16px;padding:1rem;display:flex;flex-direction:column;gap:.8rem;min-width:0}.sign-card p,.sign-row p{overflow-wrap:anywhere}.sign-badge{display:inline-flex;align-self:flex-start;align-items:center;border:1px solid var(--line);border-radius:999px;padding:.2rem .7rem;font-size:.85rem;background:var(--panel);color:var(--ink)}.sign-complete,.sign-success{color:var(--accent);font-weight:700}.sign-check{display:flex;align-items:center;gap:.6rem;min-height:44px}.sign-check input{width:22px;height:22px;flex-shrink:0}.sign-filters{display:grid;gap:.6rem}.sign-shell input,.sign-shell select{max-width:100%;min-height:44px}.sign-shell button{min-height:44px}.sign-pages{display:grid;gap:1rem;max-width:950px;margin-inline:auto;width:100%}.sign-pages img{display:block;width:100%;height:auto;background:#fff;border:1px solid var(--line);border-radius:8px}.sign-position-preview{position:relative;width:100%;max-width:850px;direction:ltr;cursor:crosshair}.sign-position-preview>img{display:block;width:100%;height:auto;background:white}.sign-position-layer{position:absolute;inset:0;pointer-events:none}.sign-position-box{position:absolute;border:2px dashed #075d83;background:#b5e2eea0;color:#102f41;text-align:center;font-size:.8rem;display:grid;place-items:center}.sign-sample{width:100%;max-width:420px;max-height:200px;object-fit:contain;background:white;border:1px solid var(--line);border-radius:12px;padding:8px}.sign-draw-panel{display:flex;flex-direction:column;gap:1rem}.sign-canvas{width:100%;max-width:900px;height:auto;background:#fff;border:2px dashed var(--line);border-radius:12px;touch-action:none}.sign-camera{width:100%;max-width:560px;max-height:60vh;object-fit:contain;align-self:center;background:#111;border-radius:16px}.sign-phrase{border:1px solid var(--line);background:var(--panel);color:var(--ink);font-size:1.25rem;padding:1rem;line-height:2;border-radius:12px}.sign-hash{direction:ltr;overflow-wrap:anywhere;font-family:monospace;font-size:.8rem}.sign-upload-results{display:grid;gap:.5rem;overflow-wrap:anywhere}.sign-shell progress{width:100%;height:20px}.sign-shell details{padding:1rem;border:1px solid var(--line);border-radius:12px}.sign-shell summary{cursor:pointer;min-height:44px}.sign-shell details p{margin-block:.6rem}.sign-actions>label{display:grid;gap:.4rem;min-width:120px}.sign-actions>label.sign-check{display:flex}.sign-actions input[type=range]{width:140px}.sign-shell .danger{border:1px solid var(--red);color:var(--red);background:var(--panel)}@media(min-width:700px){.sign-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.sign-row{display:grid;grid-template-columns:minmax(140px,1fr) minmax(140px,1fr) auto;align-items:center}.sign-filters{grid-template-columns:repeat(4,minmax(100px,1fr)) auto}}@media(min-width:1100px){.sign-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:699px){.sign-actions>button{flex:1 1 145px}.sign-shell{gap:.85rem}.sign-card,.sign-row{padding:.85rem}.sign-shell .notice{line-height:1.9}.sign-position-box{font-size:.6rem}}
.sign-position-controls{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.8rem;margin:1rem 0}.sign-position-controls label{display:grid;gap:.4rem;font-size:.85rem}.sign-position-controls input,.sign-position-controls select{width:100%;min-width:0;min-height:44px}.sign-position-preview{touch-action:none;user-select:none;max-width:760px;position:relative;direction:ltr}.sign-position-preview img{display:block;width:100%;height:auto;pointer-events:none}.sign-position-layer{position:absolute;inset:0;pointer-events:auto}.sign-position-box{pointer-events:auto;cursor:move;color:#102e38;background:rgba(196,230,243,.8);border:2px dashed #31566b;overflow:hidden;display:flex;align-items:center;justify-content:center;text-align:center;font-size:clamp(8px,2vw,15px)}.sign-position-box.selected{border:2px solid #087f78;background:rgba(183,230,218,.88)}.sign-position-results{margin-top:1rem}.sign-position-results .notice{overflow-wrap:anywhere}@media(min-width:900px){.sign-position-controls{grid-template-columns:repeat(3,minmax(0,1fr))}}
