:root{--qp-bg:#edf1f4;--qp-surface:#f8fafb;--qp-surface-raised:#fff;--qp-text:#18232c;--qp-text-muted:#516270;--qp-border:#d5dfe6;--qp-primary:#493ba9;--qp-primary-hover:#392e89;--qp-on-primary:#fff;--qp-tech:#187f89;--qp-success:#206c52;--qp-warning:#986511;--qp-danger:#ad424b;--qp-soft:#e7edf3;--qp-focus:#7866dc;--qp-space-1:.35rem;--qp-space-2:.65rem;--qp-space-3:1rem;--qp-space-4:1.5rem;--qp-space-5:2rem;--qp-radius-sm:.55rem;--qp-radius-md:.85rem;--qp-radius-lg:1.2rem;--qp-shadow-sm:0 2px 12px rgba(22,42,57,.04);--qp-shadow-md:0 12px 30px rgba(22,42,57,.08);--wa-color-brand-fill-loud:var(--qp-primary)}
wa-tooltip:not(:defined){display:none}
[data-theme=dark]{--qp-bg:#171e25;--qp-surface:#202a33;--qp-surface-raised:#283540;--qp-text:#edf2f4;--qp-text-muted:#b0c0ca;--qp-border:#3b4b56;--qp-primary:#b6a8ff;--qp-primary-hover:#d1c8ff;--qp-on-primary:#211a42;--qp-tech:#84cdd1;--qp-success:#83d1ac;--qp-warning:#f1ca76;--qp-danger:#f2a1a6;--qp-soft:#293845;--qp-focus:#b7aafa;--qp-shadow-sm:0 2px 12px rgba(0,0,0,.12);--qp-shadow-md:0 12px 30px rgba(0,0,0,.22)}
html:has(.authenticated-shell){background:var(--qp-bg);color-scheme:light}
html[data-theme=dark]:has(.authenticated-shell){color-scheme:dark}
body.authenticated-shell{background:var(--qp-bg);color:var(--qp-text);font-family:Inter,system-ui,-apple-system,"Segoe UI",sans-serif;min-height:100vh}
.authenticated-shell :is(.card,.list-group-item,.modal-content,.dropdown-menu,.offcanvas){background:var(--qp-surface);border-color:var(--qp-border);color:var(--qp-text);box-shadow:var(--qp-shadow-sm);backdrop-filter:none}.authenticated-shell .text-secondary{color:var(--qp-text-muted)!important}.authenticated-shell .btn-primary{background:var(--qp-primary);border-color:var(--qp-primary);color:var(--qp-on-primary);box-shadow:none}.authenticated-shell .btn-primary:hover{background:var(--qp-primary-hover);border-color:var(--qp-primary-hover)}.authenticated-shell .form-control,.authenticated-shell .form-select{background-color:var(--qp-surface-raised);border-color:var(--qp-border);color:var(--qp-text)}.authenticated-shell .eyebrow{color:var(--qp-primary)}
.authenticated-shell .page-shell{max-width:1440px;margin:0 auto;padding:calc(5.4rem + var(--qp-space-4)) var(--qp-space-5) 5rem 17.5rem!important;min-height:calc(100vh - 6rem)}
.authenticated-shell a{color:var(--qp-primary)}
.authenticated-shell a:hover{color:var(--qp-primary-hover)}
.authenticated-shell :is(a,button,input,select,textarea):focus-visible{outline:3px solid var(--qp-focus);outline-offset:3px}
.qp-topbar{position:fixed;top:0;left:0;right:0;z-index:1040;display:flex;align-items:center;justify-content:space-between;height:5.4rem;padding:0 var(--qp-space-5);border-bottom:1px solid var(--qp-border);background:var(--qp-surface)}
.qp-brand{display:flex;gap:.75rem;align-items:center;color:var(--qp-text)!important;text-decoration:none;font-weight:800;font-size:1.17rem;letter-spacing:-.03em}.qp-brand img{border-radius:.6rem}
.qp-top-actions{display:flex;align-items:center;gap:1rem}.qp-top-create{display:flex;align-items:center;gap:.4rem;text-decoration:none;font-weight:700}.qp-theme-control{display:flex;align-items:center;gap:.5rem;color:var(--qp-text-muted);font-size:.8rem}.qp-theme-select{min-height:2.65rem;min-width:7.5rem;padding:.45rem 2rem .45rem .75rem;color:var(--qp-text);border:1px solid var(--qp-border);border-radius:var(--qp-radius-sm);background:var(--qp-surface);cursor:pointer}.qp-desktop-language{display:flex;padding:.2rem;border:1px solid var(--qp-border);border-radius:.65rem;background:var(--qp-surface)}.qp-desktop-language form{margin:0}.qp-desktop-language button{min-width:2.7rem;min-height:2.25rem;padding:.25rem .55rem;border:0;border-radius:.45rem;background:transparent;color:var(--qp-text-muted);font-size:.78rem;font-weight:750}.qp-desktop-language button[aria-current=true]{background:var(--qp-soft);color:var(--qp-primary)}
.qp-sidebar{position:fixed;z-index:1020;top:5.4rem;bottom:0;left:0;width:15rem;display:flex;flex-direction:column;justify-content:space-between;padding:1.5rem .75rem 1rem;border-right:1px solid var(--qp-border);background:var(--qp-surface)}
.qp-side-links{display:flex;flex-direction:column;gap:.2rem}.qp-side-links a,.qp-side-footer button{display:flex;align-items:center;gap:.75rem;min-height:2.9rem;padding:.65rem .85rem;color:var(--qp-text-muted);text-decoration:none;border:0;border-radius:var(--qp-radius-sm);background:transparent;font-weight:620}.qp-side-links a:hover,.qp-side-links a.is-active{color:var(--qp-primary);background:var(--qp-soft)}.qp-side-links a i{font-size:1.08rem}.qp-side-label{margin:1.45rem .85rem .45rem;color:var(--qp-text-muted);font-size:.7rem;font-weight:800;letter-spacing:.09em;text-transform:uppercase}.qp-side-footer{border-top:1px solid var(--qp-border);padding:.8rem}.qp-side-footer span{display:block;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--qp-text-muted);font-size:.75rem}.qp-side-footer button{cursor:pointer;width:100%}
.qp-mobile-nav{display:none}.qp-more-dialog{border:1px solid var(--qp-border);border-radius:var(--qp-radius-lg);padding:1.25rem;background:var(--qp-surface-raised);color:var(--qp-text);box-shadow:var(--qp-shadow-md)}.qp-more-dialog::backdrop{background:rgba(8,17,27,.63)}
.qp-page{display:grid;gap:1.6rem}.qp-page-head{display:flex;align-items:end;justify-content:space-between;gap:1.2rem}.qp-page-head h1{margin:.2rem 0 .3rem;font-size:clamp(1.8rem,3vw,2.5rem);font-weight:750;letter-spacing:-.045em}.qp-page-head p:last-child{margin:0;color:var(--qp-text-muted)}.qp-kicker{margin:0!important;color:var(--qp-primary);font-size:.72rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase}.qp-page h2{font-weight:720;letter-spacing:-.03em}
.qp-button{display:inline-flex;align-items:center;justify-content:center;gap:.55rem;min-height:2.85rem;padding:.65rem 1rem;border:1px solid var(--qp-border);border-radius:var(--qp-radius-sm);background:var(--qp-surface);color:var(--qp-text)!important;text-decoration:none;font-weight:700;cursor:pointer;white-space:nowrap}.qp-button:hover{border-color:var(--qp-primary);background:var(--qp-soft);color:var(--qp-primary)!important}.qp-button-primary{border-color:var(--qp-primary);background:var(--qp-primary);color:var(--qp-on-primary)!important}.qp-button-primary:hover{background:var(--qp-primary-hover);color:var(--qp-on-primary)!important}.qp-button-danger{color:var(--qp-danger)!important}
.qp-panel,.qp-stat,.qp-object-card,.qp-empty{border:1px solid var(--qp-border);border-radius:var(--qp-radius-md);background:var(--qp-surface);box-shadow:var(--qp-shadow-sm)}.qp-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}.qp-stat{display:flex;flex-direction:column;gap:.3rem;min-height:9rem;padding:1.25rem;text-decoration:none!important;color:var(--qp-text)!important}.qp-stat:hover,.qp-object-card:hover{border-color:var(--qp-primary);box-shadow:var(--qp-shadow-md)}.qp-stat span{color:var(--qp-text-muted);font-size:.9rem}.qp-stat strong{font-size:2.25rem;line-height:1.15;letter-spacing:-.05em}.qp-stat small{color:var(--qp-text-muted)}.qp-stat-danger strong{color:var(--qp-danger)}.qp-section-head{display:flex;align-items:end;justify-content:space-between;gap:1rem}.qp-section-head h2{margin:.15rem 0 0;font-size:1.35rem}.qp-section-head>a{text-decoration:none;font-weight:700}
.qp-object-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}.qp-object-card{min-width:0;display:flex;flex-direction:column;min-height:13rem;padding:1.25rem;color:var(--qp-text)!important;text-decoration:none!important}.qp-object-card-top,.qp-object-card-foot{display:flex;align-items:center;justify-content:space-between;gap:.6rem}.qp-object-card-top{margin-bottom:1.2rem}.qp-object-glyph{display:grid;place-items:center;width:2.5rem;height:2.5rem;border-radius:.6rem;background:var(--qp-soft);color:var(--qp-primary)}.qp-object-card strong{font-size:1.08rem;line-height:1.35;overflow-wrap:anywhere}.qp-object-card small{margin:.3rem 0 1.3rem;color:var(--qp-text-muted)}.qp-object-card-foot{margin-top:auto;padding-top:.75rem;border-top:1px solid var(--qp-border);color:var(--qp-text-muted);font-size:.76rem}.qp-object-card-foot span:first-child{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.qp-visibility{white-space:nowrap}.qp-status{display:inline-flex;align-items:center;min-height:1.65rem;padding:.15rem .55rem;border-radius:2rem;background:var(--qp-soft);color:var(--qp-text);font-size:.72rem;font-weight:700}.qp-status-active,.qp-status-resolved{background:color-mix(in srgb,var(--qp-success) 14%,var(--qp-surface));color:var(--qp-success)}.qp-status-open,.qp-status-in_progress{background:color-mix(in srgb,var(--qp-warning) 14%,var(--qp-surface));color:var(--qp-warning)}.qp-status-archived,.qp-status-closed{color:var(--qp-text-muted)}
.qp-empty{padding:3rem 1.5rem;text-align:center}.qp-empty>i{display:grid;place-items:center;width:3.5rem;height:3.5rem;margin:0 auto 1rem;border-radius:.8rem;background:var(--qp-soft);color:var(--qp-primary);font-size:1.6rem}.qp-empty h2{font-size:1.4rem}.qp-empty p{max-width:32rem;margin:0 auto 1.5rem;color:var(--qp-text-muted)}.qp-connections{margin-top:1rem}.qp-connection-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin-top:1rem}.qp-connection{display:flex;align-items:center;gap:.9rem;min-height:5rem;padding:1rem;color:var(--qp-text)!important;text-decoration:none!important}.qp-connection>i:first-child,.qp-connection>b{display:grid;place-items:center;width:2.6rem;height:2.6rem;border-radius:.6rem;background:var(--qp-soft);color:var(--qp-primary)}.qp-connection>span{flex:1;display:grid}.qp-connection small{color:var(--qp-text-muted)}.qp-company-switch{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.qp-company-switch button{padding:.45rem .7rem;border:1px solid var(--qp-border);border-radius:var(--qp-radius-sm);background:var(--qp-surface);color:var(--qp-text)}.qp-company-switch button[aria-current=true]{border-color:var(--qp-primary);color:var(--qp-primary)}
.qp-form{max-width:47rem;margin:0 auto;padding:1.7rem}.qp-form-grid{display:grid;gap:1rem}.qp-field{display:grid;gap:.4rem;color:var(--qp-text);font-size:.88rem;font-weight:700}.qp-field :is(input,textarea,select),.qp-filter :is(select,input){width:100%;min-height:2.9rem;padding:.65rem .8rem;border:1px solid var(--qp-border);border-radius:var(--qp-radius-sm);background:var(--qp-surface-raised);color:var(--qp-text)}.qp-field textarea{min-height:7rem}.qp-field :is(input,textarea,select):focus,.qp-filter :is(select,input):focus{border-color:var(--qp-primary)}.qp-form-help{padding:.9rem 1rem;border-left:3px solid var(--qp-primary);background:var(--qp-soft);color:var(--qp-text-muted)}.qp-check{display:flex;align-items:start;gap:.65rem}.qp-check input{width:1.2rem;height:1.2rem;accent-color:var(--qp-primary)}.qp-form-actions{display:flex;gap:.6rem;flex-wrap:wrap;margin-top:.5rem}
.qp-issues{display:grid;gap:.7rem}.qp-issue{display:flex;align-items:start;justify-content:space-between;gap:1rem;padding:1rem 1.2rem;color:var(--qp-text)!important;text-decoration:none!important}.qp-issue strong{display:block;overflow-wrap:anywhere}.qp-issue small{display:block;margin-top:.4rem;color:var(--qp-text-muted)}.qp-issue .qp-status{flex:none}.qp-filter{display:grid;grid-template-columns:repeat(3,minmax(0,1fr)) auto;align-items:end;gap:.8rem;padding:1.1rem}.qp-filter label{display:grid;gap:.35rem;color:var(--qp-text-muted);font-size:.82rem;font-weight:700}
.qp-passport{display:grid;grid-template-columns:minmax(0,1fr) 11rem;gap:1.5rem;padding:1.6rem}.qp-passport-title{display:flex;align-items:center;gap:.8rem;flex-wrap:wrap}.qp-passport-title h1{margin:0;font-size:clamp(1.7rem,3vw,2.5rem);overflow-wrap:anywhere}.qp-passport-sub{color:var(--qp-text-muted)}.qp-passport-meta{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.9rem;margin:1.5rem 0 0}.qp-passport-meta div{min-width:0}.qp-passport-meta dt{color:var(--qp-text-muted);font-size:.76rem}.qp-passport-meta dd{margin:.2rem 0 0;overflow-wrap:anywhere;font-weight:650}.qp-qr{display:grid;place-items:center;align-content:center;gap:.6rem;padding:1rem;border:1px solid var(--qp-border);border-radius:.7rem;background:#fff;color:#18232c;text-align:center}.qp-qr img{display:block;width:100%;max-width:9rem;aspect-ratio:1;object-fit:contain}.qp-qr small{font-size:.7rem;color:#40505a}.qp-detail-actions{display:flex;gap:.6rem;flex-wrap:wrap}.qp-detail-section{padding:1.3rem}.qp-detail-section h2{margin:0 0 1rem;font-size:1.2rem}.qp-detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.qp-list{list-style:none;margin:0;padding:0}.qp-list li{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.85rem 0;border-top:1px solid var(--qp-border)}.qp-list li:first-child{border-top:0}.qp-muted{color:var(--qp-text-muted)}
.qp-more-head{display:flex;justify-content:space-between;align-items:center}.qp-more-head h2{font-size:1.3rem}.qp-more-head button{border:0;background:none;color:var(--qp-text);font-size:1.8rem;min-width:44px;min-height:44px}.qp-more-links{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.4rem}.qp-more-links a{padding:.75rem;border-radius:.5rem;background:var(--qp-soft);color:var(--qp-text)!important;text-decoration:none}.qp-mobile-setting{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-top:1rem}.qp-more-language{display:flex;align-items:center;gap:.5rem;margin:1rem 0}.qp-more-language span{margin-right:auto}.qp-more-language button,.qp-signout{min-width:44px;min-height:44px;border:1px solid var(--qp-border);border-radius:.5rem;background:var(--qp-surface);color:var(--qp-text)}.qp-more-language button[aria-current=true]{color:var(--qp-primary);border-color:var(--qp-primary)}.qp-signout{width:100%}
@media(max-width:1199px){.qp-object-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:991.98px){.qp-sidebar{display:none}.qp-topbar{height:4.5rem;padding:0 1rem}.qp-top-actions{display:none}.authenticated-shell .page-shell{padding:5.6rem 1rem calc(7rem + env(safe-area-inset-bottom))!important}.qp-mobile-nav{position:fixed;z-index:1030;left:0;right:0;bottom:0;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));align-items:center;min-height:calc(4.3rem + env(safe-area-inset-bottom));padding:.25rem .35rem env(safe-area-inset-bottom);border-top:1px solid var(--qp-border);background:var(--qp-surface)}.qp-mobile-nav :is(a,button){display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.15rem;min-width:0;min-height:3.5rem;padding:.2rem;color:var(--qp-text-muted);background:transparent;border:0;text-decoration:none;font-size:.65rem;font-weight:700}.qp-mobile-nav :is(a,button) i{font-size:1.25rem}.qp-mobile-nav .is-active{color:var(--qp-primary)}.qp-mobile-nav .qp-mobile-create{width:3.45rem;min-height:3.45rem;justify-self:center;border-radius:.75rem;background:var(--qp-primary);color:var(--qp-on-primary)}.qp-more-dialog{position:fixed;inset:auto 0 0;width:100%;max-width:none;max-height:85dvh;margin:0;border-radius:1rem 1rem 0 0;padding-bottom:calc(1.2rem + env(safe-area-inset-bottom));overflow:auto}}
@media(max-width:600px){.qp-page-head{align-items:stretch;flex-direction:column}.qp-page-head .qp-button{width:100%}.qp-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.qp-stats .qp-stat:first-child{grid-column:1/-1}.qp-object-grid,.qp-connection-grid,.qp-detail-grid{grid-template-columns:1fr}.qp-filter{grid-template-columns:1fr}.qp-passport{grid-template-columns:1fr}.qp-qr{max-width:15rem;width:100%;justify-self:center}.qp-form{padding:1.2rem}.qp-issue{align-items:start;flex-direction:column}.qp-section-head h2{font-size:1.2rem}}

/* Phase 1.1: hierarchy. The passport is the hero; secondary sections stay quiet. */
.qp-topbar,.qp-sidebar{background:var(--qp-surface-raised)}
.qp-object-card{background:var(--qp-surface-raised)}
.qp-button-secondary{background:var(--qp-surface-raised);border-color:var(--qp-border)}
.qp-button-ghost{background:transparent;border-color:transparent;color:var(--qp-primary)!important;box-shadow:none}
.qp-button-ghost:hover{background:var(--qp-soft);border-color:transparent}
.qp-button-danger{color:var(--qp-danger)!important;font-weight:620}
.qp-button-danger:hover{color:var(--qp-danger)!important;background:color-mix(in srgb,var(--qp-danger) 8%,transparent)}
.qp-stats{padding-bottom:1.1rem;border-bottom:1px solid var(--qp-border)}
.qp-stat{min-height:8.3rem;border:0;border-radius:0;background:transparent;box-shadow:none}
.qp-stat:hover{border-color:transparent;background:var(--qp-soft);box-shadow:none}
.qp-stat-objects{border:1px solid var(--qp-border);border-inline-start:3px solid var(--qp-primary);border-radius:var(--qp-radius-md);background:var(--qp-surface-raised)}
.qp-stat-objects:hover{border-color:var(--qp-primary);background:var(--qp-surface-raised)}
.qp-stat-issues{border-inline-end:1px solid var(--qp-border)}
.qp-stat-head{display:flex;align-items:center;justify-content:space-between;gap:.65rem}
.qp-stat-head i{font-size:1.15rem;color:var(--qp-primary)}
.qp-stat-issues .qp-stat-head i{color:var(--qp-tech)}
.qp-stat-overdue .qp-stat-head i{color:var(--qp-warning)}
.qp-stat strong{font-size:2.75rem;font-weight:760}
.qp-stat progress{width:100%;height:.35rem;margin-top:auto;accent-color:var(--qp-primary)}
.qp-stat progress::-webkit-progress-bar{background:var(--qp-soft);border-radius:2rem}
.qp-stat progress::-webkit-progress-value{background:var(--qp-primary);border-radius:2rem}
.qp-empty{padding:2.1rem 1.3rem;background:var(--qp-surface-raised);box-shadow:none}
.qp-connections{margin-top:1.2rem;padding-top:1.2rem;border-top:1px solid var(--qp-border)}
.qp-connection-grid{gap:1.5rem}
.qp-connection{min-height:4rem;padding:.4rem 0;border:0;border-radius:0;background:transparent;box-shadow:none}
.qp-connection:hover{background:transparent;color:var(--qp-primary)!important}
.qp-connection>i:first-child,.qp-connection>b{width:2.2rem;height:2.2rem;background:transparent;color:var(--qp-text-muted)}
.qp-connection small{font-size:.75rem}
.qp-back-link{width:max-content;font-size:.82rem;font-weight:650;text-decoration:none}
.qp-passport{position:relative;display:grid;grid-template-columns:minmax(0,1fr) 17.5rem;gap:0;padding:0;overflow:hidden;border:1px solid var(--qp-border);border-top:3px solid var(--qp-primary);border-radius:var(--qp-radius-md);background:var(--qp-surface-raised);box-shadow:var(--qp-shadow-sm)}
.qp-passport-main{min-width:0;padding:1.75rem 2rem 1.5rem}
.qp-passport-rail{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:1.45rem;padding-bottom:.75rem;border-bottom:1px solid var(--qp-border);color:var(--qp-text-muted);font-size:.66rem;font-weight:780;letter-spacing:.08em;text-transform:uppercase}
.qp-passport-rail span:last-child{white-space:nowrap;color:var(--qp-tech);font-variant-numeric:tabular-nums}
.qp-passport-title{align-items:start;gap:1rem}
.qp-passport-title h1{font-size:clamp(2rem,3.5vw,3rem);font-weight:770;line-height:1.07;letter-spacing:-.045em}
.qp-passport-sub{margin:.65rem 0 0;color:var(--qp-text-muted);font-size:.95rem}
.qp-passport-sub span{margin:0 .35rem;color:var(--qp-tech)}
.qp-passport-meta{grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem;margin:2rem 0 1.5rem;padding-top:1rem;border-top:1px solid var(--qp-border)}
.qp-passport-meta div+div{padding-inline-start:.8rem;border-inline-start:1px solid var(--qp-border)}
.qp-passport-meta dt{font-size:.7rem;line-height:1.25}
.qp-passport-meta dd{font-size:.95rem;line-height:1.3}
.qp-passport-qr-zone{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.85rem;min-width:0;padding:1.4rem;border-inline-start:1px solid var(--qp-border);background:var(--qp-soft)}
.qp-passport-scan-label{align-self:flex-start;color:var(--qp-tech);font-size:.67rem;font-weight:800;letter-spacing:.09em;text-transform:uppercase}
.qp-passport-scan-label i{margin-inline-end:.4rem;font-size:.9rem}
.qp-passport-qr-zone .qp-qr{width:100%;max-width:13.5rem;padding:1.15rem;border:1px solid #dce3e6;border-radius:.3rem;box-shadow:0 2px 12px rgba(12,24,32,.07)}
.qp-passport-qr-zone .qp-qr img{max-width:10.6rem}
.qp-passport-qr-zone>small{max-width:100%;color:var(--qp-text-muted);font-size:.65rem;text-align:center;overflow-wrap:anywhere}
.qp-detail-actions{align-items:center;margin-top:auto}
.qp-quick-start{padding:1.15rem 1.4rem!important;border-style:dashed!important;box-shadow:none!important}
.qp-quick-start h2{font-size:1.13rem!important}
.qp-quick-start .eyebrow{font-size:.65rem}
.qp-quick-start .setup-score{font-size:.85rem}
.qp-quick-start .progress{height:.3rem;background:var(--qp-soft)}
.qp-quick-start .progress-bar{background:var(--qp-tech)}
.qp-quick-start .setup-steps{gap:.55rem}
.qp-quick-start .setup-step{padding:.7rem .8rem}
.qp-quick-start .setup-next{padding:.8rem}
@media(max-width:1199px){.qp-passport-meta{grid-template-columns:repeat(2,minmax(0,1fr))}.qp-passport-meta div:nth-child(3){padding-inline-start:0;border-inline-start:0}}
@media(max-width:600px){.qp-passport{grid-template-columns:1fr}.qp-passport-main{padding:1.2rem 1.15rem}.qp-passport-rail{margin-bottom:1rem}.qp-passport-title h1{font-size:2rem}.qp-passport-meta{gap:.7rem;margin:1.35rem 0 1.2rem}.qp-passport-meta div:nth-child(odd){padding-inline-start:0;border-inline-start:0}.qp-passport-qr-zone{border-inline-start:0;border-top:1px solid var(--qp-border);padding:1rem}.qp-passport-qr-zone .qp-qr{max-width:12rem}.qp-detail-actions .qp-button{width:100%}.qp-stat-issues{border-inline-end:1px solid var(--qp-border)}.qp-quick-start{padding:1rem!important}}
@media(max-width:991.98px){.authenticated-shell footer{padding-bottom:calc(6rem + env(safe-area-inset-bottom))!important}}
.qp-quick-start-summary{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:.45rem 1rem;cursor:pointer;list-style:none}
.qp-quick-start-summary::-webkit-details-marker{display:none}
.qp-quick-start-summary>span:first-child{display:grid;gap:.15rem}
.qp-quick-start-summary strong{font-size:1rem;font-weight:700}
.qp-quick-start-summary small{font-size:.8rem}
.qp-quick-start-summary .setup-score{align-self:center;margin:0 .8rem 0 0}
.qp-quick-start-summary::after{content:"⌄";position:absolute;right:1rem;top:1.35rem;color:var(--qp-text-muted)}
.qp-quick-start[open] .qp-quick-start-summary::after{content:"⌃"}
.qp-quick-start-summary progress{grid-column:1/-1;width:100%;height:.3rem;accent-color:var(--qp-tech)}
.qp-quick-start-summary progress::-webkit-progress-bar{background:var(--qp-soft);border-radius:2rem}
.qp-quick-start-summary progress::-webkit-progress-value{background:var(--qp-tech);border-radius:2rem}
.qp-quick-start-body{padding-top:.4rem}
.authenticated-shell input[type=file].form-control{background:var(--qp-surface-raised)!important;color:var(--qp-text)!important}
.authenticated-shell input[type=file].form-control::file-selector-button{background:var(--qp-soft);color:var(--qp-text);border-color:var(--qp-border)}

/* Phase 2: people, settings, subscription, connected accounts and QR workbench. */
.qp-page section>h2,.qp-settings-section h2,.qp-billing-layout h2{font-size:1.27rem;margin:0 0 1rem}
.qp-people-list{margin-top:.9rem;border-top:1px solid var(--qp-border)}
.qp-person-row{display:flex;align-items:center;gap:1rem;min-width:0;min-height:5.1rem;padding:1rem .25rem;border-bottom:1px solid var(--qp-border)}
.qp-person-avatar,.qp-method-icon{display:grid;place-items:center;flex:none;width:2.6rem;height:2.6rem;border-radius:.7rem;background:var(--qp-soft);color:var(--qp-primary);font-weight:800}
.qp-person-main,.qp-method-copy{display:grid;gap:.2rem;min-width:0;flex:1}.qp-person-main strong,.qp-method-copy strong{overflow-wrap:anywhere}.qp-person-main small,.qp-method-copy small{color:var(--qp-text-muted);overflow-wrap:anywhere}.qp-person-row form{flex:none}.qp-invite-row .qp-person-main{font-variant-numeric:tabular-nums}
.qp-notice{display:flex;flex-wrap:wrap;gap:.3rem .7rem;align-items:center;padding:.85rem 1rem;border-inline-start:3px solid var(--qp-tech);background:var(--qp-soft);color:var(--qp-text);border-radius:var(--qp-radius-sm)}.qp-notice-warning{border-color:var(--qp-warning)}.qp-notice-danger{border-color:var(--qp-danger)}.qp-notice-success{border-color:var(--qp-success)}.qp-notice a{font-weight:700}
.qp-settings-layout{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(16rem,1fr);gap:2.2rem}.qp-settings-form,.qp-settings-aside{display:grid;align-content:start;gap:1.4rem}.qp-settings-section{display:grid;gap:1rem;padding:0 0 1.4rem;border-bottom:1px solid var(--qp-border)}.qp-settings-section h2{margin:0}.qp-settings-section .qp-section-head{display:block}.qp-settings-section .qp-section-head p{margin:.25rem 0 0}.qp-settings-section .qp-field small,.qp-settings-check small{display:block;color:var(--qp-text-muted);font-size:.76rem;font-weight:400}.qp-settings-section .qp-field{gap:.4rem}.qp-two-fields{grid-template-columns:repeat(2,minmax(0,1fr))}.qp-settings-check{margin-top:.2rem;font-size:.9rem}.qp-settings-check input{flex:none;margin-top:.15rem}.qp-settings-aside{padding:1.35rem;border:1px solid var(--qp-border);border-radius:var(--qp-radius-md);background:var(--qp-surface)}.qp-settings-aside .qp-settings-section:last-child{border:0;padding:0}.qp-upload-form{display:grid;gap:.65rem}.qp-upload-form .qp-button{justify-self:start}.qp-logo-preview{margin:0;max-width:12rem}.qp-text-link{text-decoration:none;font-weight:700}
.qp-field input[type=file]{padding:.45rem;background:var(--qp-surface-raised);color:var(--qp-text)}.qp-field input[type=file]::file-selector-button{min-height:2.1rem;margin-right:.8rem;padding:.35rem .7rem;border:1px solid var(--qp-border);border-radius:.4rem;background:var(--qp-soft);color:var(--qp-text);cursor:pointer}.qp-field input[type=file]::file-selector-button:hover{border-color:var(--qp-primary)}
.qp-field :is(input,textarea,select):disabled,.qp-button:disabled{opacity:.55;cursor:not-allowed}.qp-field :is(input,textarea,select):user-invalid{border-color:var(--qp-danger)}.qp-field :is(input,textarea,select):focus-visible{outline:3px solid var(--qp-focus);outline-offset:2px}.qp-field select,.qp-theme-select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16'%3E%3Cpath fill='none' stroke='%23727d89' stroke-width='2' d='m3 6 5 5 5-5'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .7rem center;padding-right:2.25rem}
.qp-billing-hero{display:grid;grid-template-columns:minmax(13rem,1fr) minmax(0,1.4fr);gap:1.5rem;align-items:center;padding:1.7rem 2rem;border:1px solid var(--qp-border);border-inline-start:4px solid var(--qp-primary);border-radius:var(--qp-radius-md);background:var(--qp-surface-raised)}.qp-billing-plan{display:grid;gap:.35rem}.qp-billing-plan strong{font-size:clamp(2rem,3vw,2.8rem);line-height:1.1;letter-spacing:-.04em}.qp-billing-metrics{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.qp-billing-metrics>div{display:grid;gap:.35rem}.qp-billing-metrics span{color:var(--qp-text-muted);font-size:.82rem}.qp-billing-metrics strong{font-size:1.2rem;font-variant-numeric:tabular-nums}.qp-billing-metrics progress{width:100%;height:.4rem;accent-color:var(--qp-tech)}.qp-billing-layout{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:2rem}.qp-billing-upgrade{display:grid;align-content:start;justify-items:start;gap:.7rem}.qp-billing-upgrade h2,.qp-billing-upgrade p{margin:0}.qp-price{font-size:2rem;font-weight:750;letter-spacing:-.04em}.qp-price small{font-size:.85rem;font-weight:450;color:var(--qp-text-muted)}.qp-billing-history .qp-people-list{margin:0}.qp-billing-history .qp-person-row:first-child{padding-top:0}
.qp-period-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.8rem;width:100%}.qp-period-card{position:relative;display:grid;align-content:start;gap:.65rem;min-width:0;padding:1rem;border:1px solid var(--qp-border);border-radius:var(--qp-radius-md);background:var(--qp-surface)}.qp-period-card.is-featured{border-color:var(--qp-primary);box-shadow:0 0 0 1px var(--qp-primary)}.qp-period-card h3{margin:0;font-size:1rem}.qp-period-price{font-size:1.45rem;font-weight:750;letter-spacing:-.03em;white-space:nowrap}.qp-period-saving{min-height:1.4rem;color:var(--qp-success);font-size:.8rem}.qp-period-badge{position:absolute;inset:.65rem .65rem auto auto;padding:.2rem .45rem;border-radius:999px;background:var(--qp-soft);color:var(--qp-primary);font-size:.68rem;font-weight:750}.qp-checkout-page{max-width:58rem}.qp-checkout-card{display:grid;gap:1rem;padding:clamp(1.2rem,4vw,2.5rem);border:1px solid var(--qp-border);border-radius:var(--qp-radius-lg);background:var(--qp-surface-raised)}.qp-checkout-card h1,.qp-checkout-card p{margin:0}.qp-checkout-form,.qp-checkout-form fieldset{display:grid;gap:1rem}.qp-checkout-form fieldset{padding:0;border:0}.qp-checkout-form legend{font-weight:700}.qp-period-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem}.qp-period-option{display:flex;align-items:flex-start;gap:.65rem;min-height:5rem;padding:1rem;border:1px solid var(--qp-border);border-radius:var(--qp-radius-md);background:var(--qp-surface);cursor:pointer}.qp-period-option:has(input:checked){border-color:var(--qp-primary);box-shadow:0 0 0 1px var(--qp-primary)}.qp-period-option input{margin-top:.2rem;accent-color:var(--qp-primary)}.qp-period-option span{display:grid;gap:.25rem}.qp-period-option small{color:var(--qp-text-muted)}.qp-consent{display:flex;align-items:flex-start;gap:.65rem}.qp-consent input{margin-top:.25rem;accent-color:var(--qp-primary)}.qp-button-block{width:100%;justify-content:center}
.qp-security-page{max-width:68rem}.qp-method-list{border-top:1px solid var(--qp-border)}.qp-method-row{display:flex;align-items:center;gap:1rem;min-height:5rem;padding:.85rem .2rem;border-bottom:1px solid var(--qp-border)}.qp-method-action{max-width:13rem}.qp-method-action small{color:var(--qp-text-muted)}.qp-method-row .qp-button{flex:none}.qp-method-copy small{font-size:.8rem}
.authenticated-shell .qr-tool-page{max-width:1440px;margin:0 auto;padding:calc(5.4rem + 1.5rem) 2rem 5rem 17.5rem!important;min-height:calc(100vh - 6rem)}
.authenticated-shell .qr-tool-hero{max-width:none;padding:0!important}.authenticated-shell .qr-tool-heading h1{font-size:clamp(1.9rem,3vw,2.7rem)}.authenticated-shell .qr-tool-heading{margin-bottom:1.5rem!important}.authenticated-shell .qr-tool-form{background:transparent;border:0;box-shadow:none;padding:0}.authenticated-shell .qr-tool-preview-shell{top:6.8rem;border-color:var(--qp-border);background:var(--qp-surface-raised);box-shadow:var(--qp-shadow-sm)}.authenticated-shell .qr-tool-preview{background:var(--qp-soft)}.authenticated-shell .qr-size-options span{border-color:var(--qp-border);background:var(--qp-surface-raised)}.authenticated-shell .qr-size-options strong{color:var(--qp-text)}.authenticated-shell .qr-size-options small{color:var(--qp-text-muted)}.authenticated-shell .qr-size-options input:checked+span{border-color:var(--qp-primary);background:var(--qp-soft);color:var(--qp-primary);box-shadow:none}.authenticated-shell .qr-download-grid .btn-outline-primary{background:var(--qp-surface-raised);border-color:var(--qp-border);color:var(--qp-text)}.authenticated-shell .qr-download-grid .btn-primary{background:var(--qp-primary);border-color:var(--qp-primary);color:var(--qp-on-primary)}
.qp-plan-periods{display:grid;gap:1.25rem;width:100%}.qp-plan-period-group{display:grid;gap:.85rem;width:100%;padding:1rem;border:1px solid var(--qp-border);border-radius:var(--qp-radius-lg);background:var(--qp-surface-raised)}.qp-plan-period-group>header{display:flex;align-items:end;justify-content:space-between;gap:1rem}.qp-plan-period-group>header h3,.qp-plan-period-group>header p{margin:0}
@media(max-width:1199.98px){.qp-billing-layout{grid-template-columns:1fr}}
@media(max-width:991.98px){.qp-settings-layout{grid-template-columns:1fr}.authenticated-shell .qr-tool-page{padding:5.6rem 1rem calc(7rem + env(safe-area-inset-bottom))!important}.authenticated-shell .qr-tool-preview-shell{position:static}.qp-settings-aside{padding:1.1rem}}
@media(max-width:600px){.qp-person-row,.qp-method-row{flex-wrap:wrap;gap:.65rem}.qp-person-main,.qp-method-copy{flex-basis:calc(100% - 3.4rem)}.qp-person-row .qp-status,.qp-method-row .qp-status{margin-left:3.4rem}.qp-person-row form,.qp-method-row .qp-method-action,.qp-method-row>.qp-button{margin-left:auto}.qp-invite-row .qp-person-main{flex-basis:100%}.qp-two-fields,.qp-billing-hero,.qp-billing-metrics{grid-template-columns:1fr}.qp-billing-hero{padding:1.2rem}.qp-method-action{max-width:none}.qp-upload-form .qp-button{width:100%}}
@media(max-width:760px){.qp-plan-period-group>header{display:grid;align-items:start}.qp-period-grid,.qp-period-options{grid-template-columns:1fr}.qp-period-card,.qp-period-option{min-height:auto}}
.authenticated-shell .qp-qr-workbench{--bs-gutter-x:2.5rem}.authenticated-shell .qp-qr-workbench>.col-lg-6:first-child{padding-top:.2rem}.authenticated-shell .qp-qr-workbench>.col-lg-6:last-child{position:relative}.authenticated-shell .qr-tool-preview-shell{border-top:3px solid var(--qp-primary);padding:1.5rem}.authenticated-shell .qr-tool-preview{min-height:23rem;border:1px solid var(--qp-border);border-radius:var(--qp-radius-sm);background:color-mix(in srgb,var(--qp-soft) 68%,var(--qp-surface-raised))}.authenticated-shell #qr-tool-placeholder{color:var(--qp-text-muted)}.authenticated-shell #qr-tool-placeholder i{color:var(--qp-tech)}.authenticated-shell .qr-tool-preview img{border:1px solid #dce3e6;border-radius:.25rem;box-shadow:0 4px 20px rgba(14,26,36,.1)}.authenticated-shell .qr-download-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.authenticated-shell .qr-download-grid button:last-child{grid-column:1/-1}.authenticated-shell .qr-tool-form .form-label{color:var(--qp-text);font-weight:670}.authenticated-shell .qr-tool-form .form-text{color:var(--qp-text-muted)}.authenticated-shell .qr-tool-form :is(.form-control,.form-select){min-height:2.9rem;border-color:var(--qp-border);background:var(--qp-surface-raised);color:var(--qp-text)}.authenticated-shell .qr-tool-form :is(.form-control,.form-select):focus{border-color:var(--qp-primary);box-shadow:0 0 0 .18rem color-mix(in srgb,var(--qp-primary) 20%,transparent)}
@media(max-width:991.98px){.authenticated-shell .qp-qr-workbench{--bs-gutter-x:1.5rem}.authenticated-shell .qr-tool-preview{min-height:16rem}}
@media(max-width:600px){.authenticated-shell .qr-download-grid{grid-template-columns:1fr}.authenticated-shell .qr-download-grid button:last-child{grid-column:auto}}
