:root{--bg:#111315;--panel:#1a1d20;--panel2:#202428;--text:#f3f1ec;--muted:#a7a9aa;--metal:#b8bab9;--line:rgba(255,255,255,.12);--glow:rgba(255,255,255,.22);--shadow:0 24px 80px rgba(0,0,0,.42)}*{box-sizing:border-box}html{background:var(--bg);color:var(--text);font-family:Calibri,"Segoe UI",Arial,sans-serif}body{margin:0;min-height:100vh}.pt-shell{background:radial-gradient(circle at 50% -20%,#32373b 0,#171a1d 35%,#0f1113 75%);color:var(--text)}a{color:inherit}.pt-wordmark{display:inline-flex;flex-direction:column;align-items:center;gap:0;letter-spacing:.08em}.pt-wordmark span{font-family:Georgia,serif;font-style:italic;font-weight:700;font-size:2.1rem;line-height:.8}.pt-wordmark small{font-family:Georgia,serif;font-size:.48rem;letter-spacing:.34em;margin-left:.34em;color:#d1d0ca}.pt-wordmark-large span{font-size:4.2rem}.pt-wordmark-large small{font-size:.68rem}.pt-home,.pt-admin-login{width:min(620px,calc(100% - 36px));margin:auto;padding:18vh 0;text-align:center}.pt-home h1,.pt-admin-login h1{font-weight:300;font-size:clamp(2rem,7vw,4rem);margin:34px 0 10px}.pt-home p{color:var(--muted);font-size:1.08rem}.pt-intro{position:fixed;inset:0;z-index:30;display:grid;place-items:center;background:radial-gradient(circle at center,#2b3034 0,#121416 55%,#090a0b 100%);transition:opacity .45s ease,transform .45s ease}.pt-intro.is-leaving{opacity:0;transform:scale(1.015);pointer-events:none}.pt-intro-core{text-align:center;padding:40px}.pt-intro-core p{margin-top:24px;color:#b9bcbd;letter-spacing:.03em}.pt-loader-line{width:220px;height:1px;background:rgba(255,255,255,.12);margin:36px auto 0;overflow:hidden}.pt-loader-line i{display:block;height:100%;width:45%;background:#e5e5e0;box-shadow:0 0 16px var(--glow);animation:ptload 1.1s ease-in-out infinite}@keyframes ptload{0%{transform:translateX(-120%)}100%{transform:translateX(250%)}}.pt-map{width:min(860px,calc(100% - 28px));margin:0 auto;padding:38px 0 54px;opacity:0;transform:translateY(8px);transition:opacity .5s ease,transform .5s ease}.pt-map.is-visible{opacity:1;transform:none}.pt-map-header{display:grid;grid-template-columns:auto 1fr;gap:28px;align-items:center;padding:28px 4px 30px;border-bottom:1px solid var(--line)}.pt-eyebrow{font-size:.72rem;letter-spacing:.2em;color:#b9bcbd}.pt-map-header h1{font-size:clamp(1.8rem,5vw,3.1rem);font-weight:300;margin:7px 0 5px}.pt-client{margin:0;color:#c7c8c6;font-size:1.07rem}.pt-intro-text{color:#c4c6c5;line-height:1.65;margin:28px 4px}.pt-doc-list{display:grid;gap:13px;margin-top:28px}.pt-doc-tile{display:grid;grid-template-columns:58px 1fr auto;gap:18px;align-items:center;text-decoration:none;background:linear-gradient(145deg,#25292d,#1b1e21);border:1px solid rgba(255,255,255,.13);border-radius:30px;padding:14px 20px 14px 14px;box-shadow:inset 0 1px rgba(255,255,255,.08),0 10px 30px rgba(0,0,0,.2);transition:transform .18s ease,border-color .18s ease}.pt-doc-tile:hover{transform:translateY(-2px);border-color:rgba(255,255,255,.28)}.pt-doc-icon{height:52px;border-radius:19px;display:grid;place-items:center;background:#111315;border:1px solid rgba(255,255,255,.18);font-size:.72rem;font-weight:700;letter-spacing:.08em}.pt-doc-copy{display:flex;flex-direction:column;min-width:0}.pt-doc-copy strong{font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pt-doc-copy span{font-size:.83rem;color:var(--muted);margin-top:4px}.pt-doc-action{font-size:.88rem;color:#ddd}.pt-doc-action b{font-size:1.1rem;margin-left:5px}.pt-footer{text-align:center;color:#767b7c;font-size:.76rem;margin-top:42px}.pt-empty{padding:30px;border:1px solid var(--line);border-radius:24px;color:var(--muted);text-align:center}.pt-admin{width:min(1120px,calc(100% - 30px));margin:0 auto;padding:34px 0 70px}.pt-admin-head{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line);padding-bottom:24px;margin-bottom:24px}.pt-admin-head>div:last-child{text-align:right}.pt-admin-head h1{font-size:1.45rem;font-weight:400;margin:0 0 5px}.pt-admin-head a{font-size:.82rem;color:var(--muted)}.pt-admin-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.pt-panel,.pt-admin-login{background:linear-gradient(145deg,rgba(38,42,46,.96),rgba(22,25,28,.96));border:1px solid var(--line);border-radius:28px;padding:26px;box-shadow:var(--shadow)}.pt-panel h2,.pt-panel h3{font-weight:400}.pt-panel form,.pt-admin-login form{display:grid;gap:15px;text-align:left}.pt-panel label,.pt-admin-login label{display:grid;gap:7px;color:#c5c7c6;font-size:.83rem}input,textarea{width:100%;border:1px solid rgba(255,255,255,.14);border-radius:14px;background:#111315;color:var(--text);padding:12px 13px;font:inherit;outline:none}input:focus,textarea:focus{border-color:rgba(255,255,255,.35)}.pt-button{border:1px solid rgba(255,255,255,.24);border-radius:999px;padding:12px 18px;background:linear-gradient(#3a3e41,#24272a);color:#f4f3ef;font-weight:600;cursor:pointer;box-shadow:inset 0 1px rgba(255,255,255,.13)}.pt-admin-list{display:grid;gap:9px}.pt-admin-list>a,.pt-admin-list>div{display:flex;justify-content:space-between;gap:14px;padding:12px 14px;border:1px solid var(--line);border-radius:15px;text-decoration:none;background:#151719}.pt-admin-list span{color:var(--muted);font-size:.82rem}.pt-selected{margin-top:20px}.pt-selected-head{display:flex;justify-content:space-between;gap:28px;align-items:center}.pt-selected-head h2{font-size:2rem;margin:8px 0 4px}.pt-selected-head p{color:var(--muted);margin:0}.pt-selected-head #qr{background:white;padding:12px;border-radius:14px;line-height:0}.pt-selected-head #qr img,.pt-selected-head #qr canvas{display:block}.pt-urlbox{display:flex;justify-content:space-between;gap:20px;align-items:center;background:#111315;border-radius:16px;padding:13px 16px;margin:20px 0}.pt-urlbox code{overflow:hidden;text-overflow:ellipsis}.pt-alert,.pt-success{padding:13px 16px;border:1px solid var(--line);border-radius:15px;margin-bottom:16px}.pt-alert{background:#331e1e}.pt-success{background:#1d2d24}@media(max-width:720px){.pt-admin-grid{grid-template-columns:1fr}.pt-map-header{grid-template-columns:1fr}.pt-map-header>.pt-wordmark{justify-self:start}.pt-doc-tile{grid-template-columns:50px 1fr}.pt-doc-action{grid-column:2}.pt-selected-head{align-items:flex-start;flex-direction:column}.pt-selected-head #qr{align-self:center}.pt-urlbox{align-items:flex-start;flex-direction:column}.pt-admin-head{align-items:flex-start}.pt-admin-head .pt-wordmark{display:none}}
.pt-brand-slot{display:flex;align-items:center;justify-content:center;min-width:92px;min-height:42px}.pt-brand-slot img{display:block;max-width:150px;max-height:58px;width:auto;height:auto}.pt-brand-hero img{max-width:230px;max-height:100px}.pt-map-meta{display:flex;justify-content:space-between;gap:16px;margin:24px 4px 0;color:var(--muted);font-size:.82rem}.pt-admin-doc{align-items:center}.pt-admin-doc-copy{display:flex!important;flex-direction:column;gap:4px;color:var(--text)!important}.pt-admin-doc-copy small{color:var(--muted)}.pt-admin-actions{display:flex!important;align-items:center;gap:6px}.pt-admin-actions form{display:block;margin:0}.pt-mini{border:1px solid var(--line);background:#111315;color:var(--text);border-radius:11px;padding:7px 10px;cursor:pointer}.pt-mini:disabled{opacity:.28;cursor:default}.pt-mini.pt-danger{color:#e3b4b4}.pt-status-form{margin-top:24px!important;padding-top:20px;border-top:1px solid var(--line);display:flex!important;grid-template-columns:none!important;flex-direction:row!important;justify-content:space-between;align-items:center;gap:20px}.pt-status-form p{margin:5px 0 0;color:var(--muted);font-size:.84rem}.pt-status-on{color:#cfe4d4}.pt-status-off{color:#e5bbbb}.pt-button-muted{opacity:.78}@media(max-width:720px){.pt-map-meta{flex-direction:column;gap:4px}.pt-admin-doc{align-items:flex-start!important;flex-direction:column}.pt-admin-actions{width:100%;justify-content:flex-end}.pt-status-form{align-items:flex-start;flex-direction:column!important}}

/* Sprint 3 — PT customer-facing brand layer */
.pt-signature{display:block;width:auto;height:auto;object-fit:contain}.pt-signature-hero{width:min(330px,72vw);margin:0 auto;filter:drop-shadow(0 12px 28px rgba(0,0,0,.4))}.pt-signature-home{width:min(300px,72vw);margin:0 auto 28px}.pt-signature-admin{width:min(260px,70vw);margin:0 auto 24px}.pt-signature-admin-head{width:145px;max-height:62px}.pt-intro{background:radial-gradient(circle at 50% 42%,#30353a 0,#171a1d 38%,#0a0c0d 78%)}.pt-intro-core{width:min(520px,92vw)}.pt-intro-core p{font-size:.9rem;letter-spacing:.08em;text-transform:uppercase}.pt-loader-line{width:min(270px,68vw);background:linear-gradient(90deg,transparent,rgba(230,226,215,.2),transparent)}.pt-loader-line i{background:linear-gradient(90deg,transparent,#ece9df,transparent)}
.pt-map{width:min(980px,calc(100% - 24px));padding:28px 0 54px}.pt-frame-shell{position:relative;border-radius:42px;padding:1px;background:linear-gradient(135deg,rgba(241,238,227,.62),rgba(102,105,106,.32) 32%,rgba(224,220,209,.44) 60%,rgba(77,80,82,.35));box-shadow:0 28px 90px rgba(0,0,0,.45),inset 0 1px rgba(255,255,255,.5)}.pt-frame-shell::before{content:"";position:absolute;inset:1px;border-radius:41px;pointer-events:none;box-shadow:inset 0 0 0 1px rgba(255,255,255,.05),inset 0 18px 42px rgba(255,255,255,.025)}.pt-frame-workspace{position:relative;overflow:hidden;border-radius:41px;background:radial-gradient(circle at 50% -20%,rgba(70,76,81,.38),transparent 42%),linear-gradient(165deg,#202428,#111315 62%);padding:78px 54px 42px;min-height:420px}.pt-frame-signature-zone{position:absolute;z-index:2;top:0;left:32px;width:225px;height:74px;display:flex;align-items:center;padding:7px 20px 10px;background:linear-gradient(180deg,rgba(206,202,191,.15),rgba(114,117,118,.04));border-left:1px solid rgba(255,255,255,.08);border-right:1px solid rgba(255,255,255,.06);border-bottom:1px solid rgba(255,255,255,.07);border-radius:0 0 26px 26px;box-shadow:0 10px 28px rgba(0,0,0,.15)}.pt-frame-signature-zone .pt-signature{width:175px;max-height:58px;margin:auto}.pt-map-header{display:block;padding:12px 4px 30px}.pt-map-header h1{letter-spacing:-.02em}.pt-eyebrow{color:#c6c5c0}.pt-client{color:#d5d4cf}.pt-intro-text{max-width:760px}.pt-map-meta{padding-top:2px}.pt-doc-list{gap:14px}.pt-doc-tile{position:relative;overflow:hidden;background:linear-gradient(155deg,rgba(48,53,57,.96),rgba(27,30,33,.98));border-color:rgba(222,219,207,.16);border-radius:999px;padding:13px 23px 13px 13px;box-shadow:inset 0 1px rgba(255,255,255,.09),inset 0 -1px rgba(0,0,0,.5),0 12px 30px rgba(0,0,0,.2)}.pt-doc-tile::after{content:"";position:absolute;inset:0;pointer-events:none;border-radius:inherit;background:linear-gradient(100deg,transparent 0 55%,rgba(255,255,255,.035) 66%,transparent 77%)}.pt-doc-tile:focus-visible{outline:2px solid #d9d6cc;outline-offset:3px}.pt-doc-icon{border-radius:50%;background:radial-gradient(circle at 35% 25%,#353a3e,#121416 68%);border-color:rgba(229,225,214,.2);box-shadow:inset 0 1px rgba(255,255,255,.08)}.pt-doc-copy strong{font-weight:500;font-size:1.02rem}.pt-doc-action{letter-spacing:.04em}.pt-footer{display:flex;justify-content:space-between;gap:18px;padding-top:30px;border-top:1px solid rgba(255,255,255,.06)}.pt-footer span:first-child{color:#a7a7a1;letter-spacing:.08em;text-transform:uppercase}.pt-home h1,.pt-admin-login h1{margin-top:0}.pt-admin-head{padding-left:2px}.pt-brand-slot{justify-content:flex-start}.pt-panel{border-color:rgba(222,219,207,.13)}.pt-button{background:linear-gradient(180deg,#454a4e,#25292c);border-color:rgba(225,221,210,.22)}
@media(max-width:720px){.pt-map{width:min(100% - 14px,980px);padding-top:8px}.pt-frame-shell{border-radius:30px}.pt-frame-workspace{border-radius:29px;padding:72px 18px 30px}.pt-frame-signature-zone{left:18px;width:185px;height:64px;border-radius:0 0 22px 22px;padding:5px 14px}.pt-frame-signature-zone .pt-signature{width:150px}.pt-map-header{padding-top:5px}.pt-map-header h1{font-size:clamp(1.75rem,9vw,2.5rem)}.pt-doc-tile{grid-template-columns:48px minmax(0,1fr);border-radius:28px;padding-right:16px}.pt-doc-icon{height:48px}.pt-doc-action{grid-column:2;margin-top:-2px}.pt-footer{flex-direction:column;text-align:left;gap:4px}.pt-signature-admin-head{width:116px}.pt-admin-head{gap:16px}.pt-admin-head h1{font-size:1.12rem}}
@media(prefers-reduced-motion:reduce){.pt-loader-line i{animation:none}.pt-intro,.pt-map,.pt-doc-tile{transition:none}}

/* PT-QR Sprint 3.1 — PT-Frame Light Corner
   Geometry: orange inner / blue outer; package centered in titanium band.
   Long: orange horizontal = blue vertical. Short: blue horizontal = orange vertical. */
.pt-frame-shell{--pt-orange:rgb(255,128,0);--pt-blue:rgb(0,74,255);--pt-light-thickness:2px;--pt-light-gap:5px;--pt-light-long:clamp(112px,19vw,190px);--pt-light-short:clamp(68px,12vw,118px);}
.pt-frame-shell .pt-light-corner{display:none}
.pt-frame-shell::after{content:"";position:absolute;z-index:4;pointer-events:none;top:14px;right:14px;width:var(--pt-light-long);height:var(--pt-light-long);border-radius:25px;background:
 linear-gradient(90deg,transparent calc(100% - var(--pt-light-short)),var(--pt-blue) calc(100% - var(--pt-light-short)),var(--pt-blue) 100%) top 7px right 0/var(--pt-light-short) var(--pt-light-thickness) no-repeat,
 linear-gradient(90deg,var(--pt-orange),var(--pt-orange)) top 14px right 7px/var(--pt-light-long) var(--pt-light-thickness) no-repeat,
 linear-gradient(180deg,var(--pt-orange),var(--pt-orange)) top 14px right 7px/var(--pt-light-thickness) var(--pt-light-short) no-repeat,
 linear-gradient(180deg,var(--pt-blue),var(--pt-blue)) top 7px right 0/var(--pt-light-thickness) var(--pt-light-long) no-repeat;
 filter:drop-shadow(0 0 3px rgba(255,128,0,.55)) drop-shadow(0 0 3px rgba(0,74,255,.55));opacity:.95}
@media(max-width:720px){.pt-frame-shell{--pt-light-long:104px;--pt-light-short:62px}.pt-frame-shell::after{top:10px;right:10px;border-radius:20px}}
