:root{--bg-top: #f4f7fb;--bg-bottom: #dceaf5;--panel: #fffffff0;--ink: #0f2b45;--muted: #4c6783;--line: #a8c6e6;--action: #0078d4;--action-ink: #ffffff;--danger: #9f2f2f;--warning: #9b6b00;font-family:Segoe UI,Trebuchet MS,sans-serif;color:var(--ink)}*{box-sizing:border-box}body{margin:0;min-height:100vh;background:linear-gradient(165deg,var(--bg-top),var(--bg-bottom))}button,input{font:inherit}#root{min-height:100vh}.tablet-shell{width:min(900px,100%);margin:0 auto;padding:.75rem;display:grid;gap:.75rem;min-height:100vh}.portrait-first{min-height:100vh}.activation-shell{width:100%;padding-top:clamp(1rem,4vh,2.5rem);justify-items:center;align-content:start;gap:clamp(1.25rem,4vh,3rem)}.signature-shell{width:min(1040px,100%);height:100dvh;min-height:100dvh;padding:.45rem;gap:.45rem;overflow:hidden}.waiting-shell{position:relative;width:100%;min-height:100vh;padding:0;overflow:hidden;transition:background .6s ease,color .6s ease}.tablet-header{display:grid;gap:.35rem;padding:.45rem .2rem .1rem}.brand-logo{display:block;width:auto;height:clamp(2.2rem,8vw,3.4rem);max-width:min(11rem,42vw);object-fit:contain}.brand-corner{position:fixed;top:max(.85rem,env(safe-area-inset-top));right:max(.85rem,env(safe-area-inset-right));z-index:15;height:clamp(2rem,7vw,3.1rem);max-width:min(10rem,38vw);pointer-events:none}.eyebrow{margin:0;font-size:.74rem;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}h1,h2{margin:0}h1{font-size:clamp(2rem,4.2vw,2.9rem)}h2{font-size:1.45rem}.status-line{margin:0;color:var(--muted);font-size:.98rem}.status-line.warning{color:var(--warning)}.device-strip{display:flex;flex-wrap:nowrap;align-items:center;gap:.45rem;min-width:0}.device-summary{display:inline-flex;align-items:center;gap:.42rem;min-width:0;max-width:100%;padding:.24rem .56rem;border:1px solid #c4d9ee;border-radius:999px;background:#edf6ff;color:var(--muted);font-size:.76rem;line-height:1.1}.device-dot{width:.42rem;height:.42rem;flex:0 0 auto;border-radius:999px;background:#35a86b;box-shadow:0 0 0 3px #35a86b24}.device-name{overflow:hidden;color:var(--ink);font-weight:700;text-overflow:ellipsis;white-space:nowrap}.device-meta{color:var(--muted);overflow:hidden;max-width:18rem;text-overflow:ellipsis;white-space:nowrap}.activation-card,.waiting-card,.document-card,.ok-card,.error-card{border:1px solid var(--line);border-radius:16px;background:var(--panel);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);padding:.95rem}.activation-card,.waiting-card,.ok-card,.error-card{display:grid;gap:.8rem}.activation-card{align-self:start;width:min(34rem,calc(100vw - 1.5rem))}.waiting-card{min-height:min(48vh,28rem);place-items:center;align-content:center;gap:1rem;text-align:center}.fullscreen-waiting-card{min-height:100vh;border:0;border-radius:0;background:transparent;-webkit-backdrop-filter:none;backdrop-filter:none;padding-top:clamp(20rem,46vh,27rem);align-content:start}.hero-brand{height:clamp(10rem,26vw,18rem);max-width:min(82vw,42rem);pointer-events:none}.waiting-hero-brand{position:fixed;top:clamp(1rem,4vh,2.5rem);left:50%;z-index:14;transform:translate(-50%)}.activation-brand{position:static}.waiting-card strong{font-size:clamp(1.8rem,5vw,3.2rem);line-height:1}.waiting-mark{width:.9rem;height:.9rem;border-radius:999px;background:var(--action);box-shadow:0 0 #0078d447;animation:waiting-pulse 2.6s ease-out infinite}.waiting-footer{position:fixed;left:max(1rem,env(safe-area-inset-left));right:max(1rem,env(safe-area-inset-right));bottom:max(1.2rem,env(safe-area-inset-bottom));z-index:18;display:flex;align-items:flex-end;justify-content:space-between;gap:1rem;color:var(--muted);transition:opacity .4s ease}.waiting-device-name{display:grid;gap:.12rem;min-width:0}.waiting-device-name span{color:var(--ink);font-size:clamp(.9rem,2.5vw,1.08rem);font-weight:800}.waiting-device-name small{max-width:42vw;overflow:hidden;font-size:.72rem;font-weight:700;letter-spacing:.04em;text-overflow:ellipsis;white-space:nowrap}.waiting-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:.45rem}.screensaver-active{background:#020405;cursor:none}.screensaver-active .waiting-static,.screensaver-active .waiting-footer,.screensaver-active .app-version{opacity:0;pointer-events:none}.screensaver-orb{position:fixed;top:50%;left:50%;z-index:12;width:clamp(.45rem,2vw,.8rem);height:clamp(.45rem,2vw,.8rem);border-radius:999px;background:#8fb4c457;box-shadow:0 0 24px #8fb4c42e;opacity:0;transform:translate(-50%,-50%);pointer-events:none}.screensaver-active .screensaver-orb{opacity:1;animation:screensaver-drift 18s linear infinite alternate}.app-version{position:fixed;right:max(.75rem,env(safe-area-inset-right));bottom:max(.55rem,env(safe-area-inset-bottom));z-index:20;pointer-events:none;color:#4c678394;font-size:.68rem;font-weight:600;letter-spacing:.04em}.activation-card p,.waiting-card p{margin:0;color:var(--muted);line-height:1.4}@keyframes waiting-pulse{0%{box-shadow:0 0 #0078d447}70%{box-shadow:0 0 0 1rem #0078d400}to{box-shadow:0 0 #0078d400}}@keyframes screensaver-drift{0%{transform:translate(-42vw,-36vh)}25%{transform:translate(36vw,-22vh)}50%{transform:translate(18vw,34vh)}75%{transform:translate(-32vw,18vh)}to{transform:translate(40vw,38vh)}}.activation-card label{display:grid;gap:.3rem;font-weight:700}.activation-card input{min-height:50px;border:1px solid var(--line);border-radius:12px;padding:.8rem .9rem;background:#fff;color:var(--ink)}.document-card{position:relative;display:flex;flex-direction:column;min-height:0}.signature-shell .document-card{display:grid;grid-template-rows:auto auto auto auto minmax(0,1fr) auto;height:calc(100dvh - .9rem);min-height:0;padding:.65rem;overflow:hidden}.signature-shell .meta-row{gap:.5rem}.signature-shell .meta-row .guest-name{font-size:clamp(1.35rem,4vw,1.7rem)}.signature-shell .meta-row p{font-size:.82rem}.meta-row{display:flex;justify-content:space-between;align-items:flex-start;gap:.8rem}.meta-row p{margin:.18rem 0 0;color:var(--muted);font-size:.92rem}.meta-row .guest-name{margin:.16rem 0 0;font-size:2rem;line-height:1.1;font-weight:800;color:var(--ink)}.chip{border:1px solid var(--line);border-radius:999px;padding:.22rem .66rem;text-transform:uppercase;letter-spacing:.05em;font-size:.74rem;background:#e8f2fd;flex:0 0 auto;margin-top:.16rem}.signature-status{display:flex;flex:0 0 auto;flex-direction:column;align-items:flex-end;gap:.28rem}.signature-brand{height:clamp(1.25rem,4vw,1.8rem);max-width:min(6.5rem,25vw)}.document-name{display:block;margin-top:.12rem;max-width:100%;text-align:left;font-size:.92rem;color:var(--muted);line-height:1.2}.hint-row{margin-top:.4rem;padding:.48rem .65rem;border-radius:12px;background:#eef6ff;color:var(--muted);font-size:.92rem}.signature-message{min-height:1.2rem;margin-top:.28rem;color:var(--muted);font-size:.88rem;font-weight:700}.pdf-scroll-host{margin-top:.45rem;padding:.2rem;border:1px solid var(--line);border-radius:12px;background:#f5f9ff;flex:1;min-height:0;overflow-y:auto;display:grid;gap:.9rem;overscroll-behavior:contain;transition:border-color .18s ease,box-shadow .18s ease,background .18s ease}.signature-shell .pdf-scroll-host{flex:initial}.pdf-scroll-host.signature-input-active{border-color:#0078d4;background:#f7fbff;box-shadow:0 0 0 3px #0078d42e}.document-card-transition .pdf-scroll-host,.document-card-transition .hint-row,.document-card-transition .document-name{opacity:.5}.signature-feedback{position:absolute;top:50%;left:50%;z-index:8;display:grid;gap:.24rem;min-width:min(20rem,78vw);padding:1rem 1.2rem;border:1px solid #b9d2ec;border-radius:16px;background:#fffffff0;box-shadow:0 16px 42px #0f2b452e;color:var(--ink);text-align:center;transform:translate(-50%,-50%)}.signature-feedback strong{font-size:1.18rem}.signature-feedback span{color:var(--muted);font-size:.92rem}.success-feedback{border-color:#91c7a6}.pdf-page-shell{margin:0 auto;width:fit-content;display:grid;gap:.35rem}.page-badge{justify-self:start;font-size:.72rem;color:var(--muted);text-transform:uppercase;letter-spacing:.08em}.pdf-page-stage{position:relative;border:1px solid #9dbfe4;border-radius:8px;overflow:hidden;background:#fff}.pdf-page-canvas,.pdf-signature-overlay{display:block;width:100%;height:100%}.pdf-signature-overlay{position:absolute;inset:0;touch-action:none;cursor:crosshair;pointer-events:none}.signature-input-active .pdf-signature-overlay{pointer-events:auto}.actions-row{margin-top:.45rem;display:grid;grid-template-columns:max-content max-content minmax(8rem,1fr);gap:.45rem;align-items:center}.move-actions-row{grid-template-columns:minmax(8rem,1fr) minmax(8rem,1fr)}.sign-actions-row{grid-template-columns:repeat(4,minmax(0,1fr))}.sticky-actions{position:sticky;bottom:0;background:linear-gradient(180deg,#fff3,#fff 34%);padding-top:.4rem}.signature-shell .sticky-actions{position:static}button{min-height:52px;border:none;border-radius:12px;padding:.6rem .9rem;font-weight:700;font-size:1rem;cursor:pointer;background:var(--action);color:var(--action-ink)}button:disabled{opacity:.7;cursor:not-allowed}button.secondary{background:#ecf4ff;color:var(--ink);border:1px solid var(--line)}.actions-row button{min-height:40px;border-radius:10px;padding:.4rem .75rem;font-size:.88rem}.actions-row .compact-action{width:auto;min-width:0}.actions-row .cancel-action{width:auto}.actions-row .submit-action{justify-self:stretch;min-width:8rem}.actions-row .move-mode-action{justify-self:stretch;min-width:0}button.danger-soft{border-color:#d9b2b2;color:var(--danger);background:#fff4f4}button.text-action{min-height:0;border:1px solid transparent;border-radius:999px;padding:.24rem .58rem;background:transparent;color:var(--muted);font-size:.76rem;font-weight:700}button.text-action.danger-soft{border-color:#efd2d2;background:#fff8f8;color:var(--danger)}.ok-card{border-color:#6ea784}.error-card{border-color:#cc8080;color:var(--danger)}.pwa-install-badge{display:inline-flex;align-items:center;gap:.4rem;padding:.3rem .7rem;border:1px solid var(--line);border-radius:999px;background:#f0f6fe;font-size:.8rem;color:var(--muted);margin-left:auto}.activation-card .pwa-install-badge{justify-self:start;margin-left:0}.pwa-install-hint{margin:0;color:var(--muted);font-size:.82rem}.pwa-install-manual{display:grid;gap:.25rem;padding:.72rem .8rem;border:1px solid #c4d9ee;border-radius:12px;background:#edf6ff;color:var(--muted);font-size:.86rem}.pwa-install-manual strong{color:var(--ink)}.pwa-install-manual p{margin:0}.pwa-install-badge .install-link{background:none;border:none;color:var(--action);font-weight:600;font-size:inherit;text-decoration:underline;cursor:pointer;min-height:unset;padding:0}.pwa-install-badge .install-link:hover{color:#005a9e}@media(min-width:900px){.tablet-shell{width:min(980px,100%);padding:1rem}.signature-shell{width:min(1040px,100%);padding:.45rem}.signature-shell .document-card{height:calc(100dvh - .9rem)}}@media(max-width:720px){.meta-row{flex-direction:column}.signature-shell .meta-row{flex-direction:row;align-items:flex-start}.signature-shell .chip{margin-left:auto}.document-name{max-width:100%;text-align:left}.actions-row{grid-template-columns:1fr}.signature-shell .move-actions-row{grid-template-columns:minmax(7rem,1fr) minmax(7rem,1fr)}.signature-shell .sign-actions-row{grid-template-columns:repeat(4,minmax(0,1fr))}.signature-shell .actions-row .compact-action,.signature-shell .actions-row .cancel-action{width:auto}.signature-shell .actions-row button{min-height:38px;padding:.36rem .62rem;font-size:.84rem}.device-strip{flex-wrap:wrap}.device-summary{flex:1 1 auto}.device-meta{max-width:42vw}}@media(min-width:900px){.tablet-shell{width:min(980px,100%);padding:1rem}.signature-shell{width:min(1040px,100%);padding:.45rem}}
