:root{--pdf-bg:#f5f5f2;--pdf-paper:#fff;--pdf-ink:#050505;--pdf-charcoal:#1d1d1f;--pdf-muted:#6e6e73;--pdf-line:#05050514;--pdf-line-strong:#0505052e;--pdf-soft:#efefea;--pdf-danger:#a83b2f;--pdf-success:#256a4d;--pdf-shadow:0 24px 80px #05050514;--pdf-shadow-soft:0 14px 40px #0505050f}*{box-sizing:border-box}html{background:var(--pdf-bg);color:var(--pdf-ink)}body{background:linear-gradient(180deg, #ffffffe6 0%, #f5f5f200 42%), var(--pdf-bg);color:var(--pdf-charcoal);min-height:100vh;margin:0;font-family:Satoshi,-apple-system,BlinkMacSystemFont,SF Pro Display,Segoe UI,sans-serif}button,input,textarea{font:inherit}button{border-radius:999px}button:disabled{cursor:not-allowed;opacity:.48;transform:none}:is(button,input,textarea):focus-visible{outline-offset:3px;outline:3px solid #05050524}.page-shell{min-height:100vh;padding:0}.hero-tool,.editor-shell{min-height:100vh}.hero-tool{background:linear-gradient(145deg, #ffffffdb, #f5f5f2c2), var(--pdf-paper);box-shadow:none;border:0;border-radius:0;flex-direction:column;display:flex;overflow:hidden}.topbar{border-bottom:1px solid var(--pdf-line);justify-content:space-between;align-items:center;min-height:86px;padding:22px clamp(20px,4vw,54px);display:flex}.brand-mark{gap:2px;min-width:0;line-height:1;display:grid}.agency-logo{object-fit:contain;width:clamp(128px,15vw,180px);height:auto;max-height:48px;display:block}.agency-logo-fallback{background:var(--pdf-ink);color:var(--pdf-paper);border-radius:8px;justify-content:center;align-items:center;width:48px;height:48px;font-size:24px;font-weight:600;display:inline-flex}.private-label{border:1px solid var(--pdf-line);color:var(--pdf-muted);text-overflow:ellipsis;white-space:nowrap;background:#ffffffb8;border-radius:999px;max-width:48%;padding:11px 16px;font-size:13px;font-weight:500;overflow:hidden}.login-page{background:linear-gradient(180deg, #ffffffe0, #f5f5f294), var(--pdf-bg);grid-template-columns:minmax(320px,520px) minmax(320px,480px);justify-content:center;align-items:center;gap:clamp(26px,6vw,90px);min-height:100vh;padding:clamp(22px,5vw,68px);display:grid;overflow:hidden}.access-page{align-items:center;min-height:100vh;padding:clamp(22px,5vw,68px);display:flex}.access-card{background:linear-gradient(145deg, #fffffff5, #f5f5f2c2), var(--pdf-paper);border:1px solid var(--pdf-line);box-shadow:var(--pdf-shadow);border-radius:8px;max-width:620px;margin:0 auto;padding:clamp(28px,5vw,48px)}.access-card h1{font-size:clamp(2.1rem,4.2vw,3.5rem)}.access-link{background:var(--pdf-ink);border:1px solid var(--pdf-ink);color:var(--pdf-paper);border-radius:999px;justify-content:center;align-items:center;min-height:48px;margin-top:28px;padding:0 20px;font-weight:500;text-decoration:none;display:inline-flex}.access-link:hover{background:var(--pdf-charcoal);border-color:var(--pdf-charcoal)}.login-card{background:linear-gradient(145deg, #fffffff5, #f5f5f2c2), var(--pdf-paper);border:1px solid var(--pdf-line);box-shadow:var(--pdf-shadow);border-radius:8px;align-self:center;width:100%;padding:clamp(28px,5vw,48px);display:grid;position:relative}.login-card h1{color:var(--pdf-ink);letter-spacing:0;max-width:460px;margin:0;font-size:clamp(2.1rem,4.2vw,3.5rem);font-weight:400;line-height:1}.login-card .lead{margin-top:18px;font-size:1rem}.login-form{gap:16px;margin-top:34px;display:grid}.login-field{gap:9px;display:grid}.login-form label,.generator-panel label,.copy-editor label,.toolbar-kicker{color:var(--pdf-muted);font-size:13px;font-weight:500;display:block}.login-form input,.copy-editor input,.copy-editor textarea{color:var(--pdf-charcoal);background:#ffffffe0;border:1px solid #0505051f;border-radius:8px;outline:none;width:100%;transition:border-color .16s,box-shadow .16s}.login-form input{min-height:52px;padding:0 15px}.login-form input:focus,.copy-editor input:focus,.copy-editor textarea:focus{border-color:#05050552;box-shadow:0 0 0 3px #0505051a}.login-form button,.input-row button,.primary-action{background:var(--pdf-ink);border:1px solid var(--pdf-ink);color:var(--pdf-paper);cursor:pointer;white-space:nowrap;font-weight:500;transition:background .18s,border-color .18s,box-shadow .18s,transform .18s}.login-form button{min-height:52px;margin-top:4px;padding:0 20px}.login-form button:hover:not(:disabled),.input-row button:hover:not(:disabled),.primary-action:hover:not(:disabled){background:var(--pdf-charcoal);border-color:var(--pdf-charcoal);transform:translateY(-1px);box-shadow:0 12px 30px #05050533}.login-form button:focus-visible,.input-row button:focus-visible,.primary-action:focus-visible{outline-offset:3px;outline:3px solid #0505053d}.login-visual{border:1px solid var(--pdf-line);background:radial-gradient(circle at 24% 18%,#fffffff2,#fff0 28%),linear-gradient(145deg,#fff 0%,#f2f2ef 54%,#dfdfd9 100%);border-radius:8px;align-self:center;gap:18px;min-height:min(560px,100vh - 44px);padding:clamp(24px,4vw,38px);display:grid;position:relative;overflow:hidden;box-shadow:inset 0 1px #ffffffe6,0 18px 45px #05050517}.login-visual:after{content:"";background:linear-gradient(115deg,#ffffffc7,#fff0);width:34%;height:160%;position:absolute;top:-42%;left:13%;transform:rotate(18deg)}.login-preview{border:1px solid var(--pdf-line);z-index:1;background:#ffffffc2;border-radius:8px;align-content:start;gap:14px;min-height:100%;padding:clamp(20px,4vw,34px);display:grid;position:relative}.preview-pill{background:var(--pdf-ink);border-radius:999px;width:76px;height:10px;display:block}.preview-line{background:#0505051f;border-radius:999px;width:100%;height:9px;display:block}.preview-line.short{width:58%}.preview-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:auto;display:grid}.preview-grid span{aspect-ratio:1;border:1px solid var(--pdf-line);background:#ffffffbd;border-radius:8px}.eyebrow{color:var(--pdf-muted);margin:0 0 16px;font-size:14px;font-weight:500}h1{color:var(--pdf-ink);letter-spacing:0;max-width:760px;margin:0;font-size:clamp(3rem,7vw,6.7rem);font-weight:400;line-height:.95}.lead{color:var(--pdf-muted);max-width:630px;margin:28px 0 0;font-size:clamp(1rem,1.6vw,1.2rem);line-height:1.6}.editor-intro{grid-template-columns:minmax(0,1.1fr) minmax(280px,.9fr);align-items:end;gap:clamp(24px,5vw,72px);padding:clamp(42px,7vw,86px) clamp(20px,6vw,86px) 28px;display:grid}.editor-intro h1{font-size:clamp(2.25rem,5.4vw,5rem);line-height:1.08}.editor-intro .lead{margin:0}.generator-panel,.copy-editor,.gallery-editor{border:1px solid var(--pdf-line);box-shadow:var(--pdf-shadow-soft);background:#ffffffe0;border-radius:8px}.generator-panel{padding:clamp(22px,4vw,34px)}.import-panel{margin:0 clamp(20px,6vw,86px)}.generator-panel label{margin-bottom:12px}.input-row{background:var(--pdf-paper);border:1px solid #0505051f;border-radius:8px;grid-template-columns:1fr auto;align-items:stretch;min-height:58px;display:grid;overflow:hidden}.input-row:focus-within{border-color:#05050552;box-shadow:0 0 0 3px #0505051a}.input-row input{color:var(--pdf-charcoal);background:0 0;border:0;outline:none;min-width:0;min-height:56px;padding:0 18px}.input-row input::placeholder{color:#9a9a9c}.input-row button{border:0;border-left:1px solid var(--pdf-ink);border-radius:0;padding:0 22px}.status-message{color:var(--pdf-muted);min-height:48px;margin:18px 0 0;font-size:.95rem;line-height:1.55}.editor-shell>.status-message{margin:18px clamp(20px,6vw,86px) 0}.status-message.error{color:var(--pdf-danger)}.status-message.success{color:var(--pdf-success);font-weight:500}.editor-workspace{grid-template-columns:minmax(0,1fr);gap:24px;padding:18px clamp(20px,6vw,86px) clamp(36px,6vw,72px);display:grid}.copy-editor,.gallery-editor{padding:clamp(20px,3vw,30px)}.title-price-grid{grid-template-columns:minmax(0,1fr) minmax(150px,220px);align-items:end;gap:16px;display:grid}.copy-editor label:not(:first-child){margin-top:22px}.copy-editor input,.copy-editor textarea{margin-top:10px}.copy-editor input{min-height:52px;padding:0 14px;font-size:1.02rem}.copy-editor textarea{resize:vertical;min-height:240px;padding:14px;line-height:1.65}.copy-editor .features-textarea{min-height:140px}.gallery-toolbar{justify-content:space-between;align-items:center;gap:18px;margin-bottom:18px;display:flex}.gallery-toolbar strong{color:var(--pdf-charcoal);margin-top:6px;font-size:1.05rem;font-weight:500;display:block}.toolbar-actions{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.toolbar-actions button,.secondary-action,.image-order-actions button{border:1px solid var(--pdf-line);color:var(--pdf-charcoal);cursor:pointer;background:#ffffffb8;font-weight:500;transition:background .18s,border-color .18s,box-shadow .18s,transform .18s}.toolbar-actions button,.secondary-action{min-height:40px;padding:0 14px;font-size:13px}.toolbar-actions button:hover:not(:disabled),.secondary-action:hover:not(:disabled),.image-order-actions button:hover:not(:disabled){background:var(--pdf-paper);border-color:var(--pdf-line-strong);transform:translateY(-1px);box-shadow:0 10px 30px #05050514}.gallery-warning{border-left:3px solid var(--pdf-ink);color:var(--pdf-muted);margin:0 0 18px;padding-left:12px;line-height:1.5}.gallery-note{color:var(--pdf-muted);margin:-4px 0 18px;font-size:.92rem;line-height:1.5}.image-grid{grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:14px;display:grid}.image-card{background:var(--pdf-paper);border:1px solid var(--pdf-line);border-radius:8px;grid-template-rows:1fr auto;min-height:210px;transition:border-color .16s,box-shadow .16s,opacity .16s,transform .16s;display:grid;overflow:hidden}.image-card.selected{border-color:var(--pdf-ink);box-shadow:0 0 0 2px #0505051f}.image-card.broken{opacity:.54}.image-card.dragging{opacity:.56;transform:scale(.985)}.image-toggle{background:var(--pdf-soft);color:var(--pdf-paper);cursor:pointer;border:0;border-radius:0;min-height:160px;padding:0;position:relative;overflow:hidden}.image-card:not(.broken) .image-toggle{cursor:grab}.image-card:not(.broken) .image-toggle:active{cursor:grabbing}.image-toggle:disabled{cursor:not-allowed}.image-toggle img{object-fit:cover;width:100%;height:100%;min-height:160px;display:block}.image-toggle span{color:var(--pdf-paper);background:#050505c7;border-radius:999px;padding:7px 10px;font-size:12px;font-weight:500;position:absolute;bottom:10px;right:10px}.image-card.selected .image-toggle span{background:var(--pdf-ink)}.image-footer{border-top:1px solid var(--pdf-line);gap:8px;padding:10px;display:grid}.image-position{color:var(--pdf-muted);font-size:12px;font-weight:500}.image-order-actions{grid-template-columns:1fr 1fr;gap:6px;display:grid}.image-order-actions button{min-height:34px;padding:0 10px;font-size:12px}.final-actions{grid-column:1/-1;justify-content:flex-end;gap:12px;display:flex}.primary-action{min-height:52px;padding:0 22px}@media (max-width:880px){.page-shell{padding:0}.login-page{min-height:100svh;padding:18px;display:flex;overflow:visible}.login-visual{display:none}.login-card{margin:auto;padding:28px 22px}.login-card h1{font-size:clamp(2rem,12vw,2.8rem)}.hero-tool{min-height:auto}.topbar{min-height:78px}.private-label{display:none}.editor-intro,.editor-workspace,.title-price-grid{grid-template-columns:1fr}.editor-intro{padding-block:42px 20px}.gallery-toolbar,.final-actions{flex-direction:column;align-items:stretch}.toolbar-actions{justify-content:stretch}.toolbar-actions button,.secondary-action,.primary-action{width:100%}.input-row{grid-template-columns:1fr}.input-row button{border-left:0;border-top:1px solid var(--pdf-ink);min-height:56px}}@media (max-width:520px){.topbar{flex-direction:column;align-items:flex-start;gap:14px}.agency-logo{max-width:calc(100vw - 72px)}h1{font-size:clamp(2.35rem,14vw,3.4rem)}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important}.login-form button:hover:not(:disabled),.input-row button:hover:not(:disabled),.primary-action:hover:not(:disabled),.toolbar-actions button:hover:not(:disabled),.secondary-action:hover:not(:disabled),.image-order-actions button:hover:not(:disabled){transform:none}}
