/* Raven Digitals 16.6 — explicit surface contracts and readable controls.
   No authentication, hidden panel or modal state is overridden here. */
:root{--rd-readable-ink:#25182f;--rd-readable-muted:#62566d;--rd-readable-accent:#6340cf;--rd-readable-line:#c9bfd4}
html{scroll-padding-top:110px}
body{color-scheme:light}
body :is(a,button,input,select,textarea,summary):focus-visible{outline:3px solid #6340cf;outline-offset:3px}
body :is(input,select,textarea){max-width:100%}
body :is(button,a){overflow-wrap:break-word}
body :is(.footer,.rdg-footer) a{overflow-wrap:anywhere}
/* Readable content must not depend on IntersectionObserver or animation support. */
body :is(.reveal,.rd-reveal,.raven-motion-reveal){opacity:1!important;filter:none!important;transform:none!important}
/* Light public header, including the former white-on-white mobile menu icon. */
body.raven-experience-v1330 .mobile-toggle{color:#25182f!important;-webkit-text-fill-color:currentColor!important;background:#fff!important;border-color:#b9aec5!important;flex-shrink:0}
body.raven-experience-v1330 :is(.brand img,.rdg-brand img){filter:none!important;object-fit:contain}
body.raven-experience-v1330 .brand img{width:34px!important;height:34px!important;flex-shrink:0}
body.raven-experience-v1330 .mobile-menu{max-height:calc(100dvh - 110px);overflow-y:auto;overscroll-behavior:contain}
body.raven-experience-v1330 :is(.v10-kicker,.rd-kicker,.rx-kicker,.rd-eyebrow){color:#6340cf!important;-webkit-text-fill-color:currentColor!important}
body.raven-experience-v1330 :is(.primary-btn,.rd-btn-primary,.nav-cta,.mobile-project-cta){background:linear-gradient(135deg,#6340cf,#4d56ce)!important;color:#fff!important;-webkit-text-fill-color:currentColor!important;min-height:44px;line-height:1.4}
body.raven-experience-v1330 :is(.primary-btn,.rd-btn-primary,.nav-cta,.mobile-project-cta) :is(span,b,strong){color:inherit!important;-webkit-text-fill-color:currentColor!important}
body.raven-experience-v1330 :is(.primary-btn,.rd-btn-primary,.nav-cta,.mobile-project-cta):hover{background:#5131b4!important}
/* Legacy .light-btn child labels carried a higher-specificity dark color. */
body.raven-experience-v1330.raven-v10 :is(a,button).primary-btn.light-btn{background:#6340cf!important;color:#fff!important}
body.raven-experience-v1330.raven-v10 .primary-btn.light-btn :is(.v10-light-label,.v10-light-label *){color:#fff!important;-webkit-text-fill-color:currentColor!important}
body.raven-experience-v1330 :is(.secondary-btn,.rd-btn-ghost){background:#fff!important;color:#382743!important;border:1px solid #bfb2cd!important;min-height:44px;line-height:1.4}
body.raven-experience-v1330 :is(.secondary-btn,.rd-btn-ghost):hover{background:#eee8f7!important}
body.raven-experience-v1330 :is(.rx-grad,.rd-gradient){background-image:linear-gradient(120deg,#6340cf,#4d56ce)!important}
body.raven-experience-v1330 :is(.rd-mini-trust small,.rd-service p,.rd-step p,.rd-work-body p,.rd-section-head>p){color:#62566d!important;font-size:14px!important;line-height:1.6}
body.raven-experience-v1330 :is(.rd-mini-trust strong,.rd-work-tags span,.rd-service small,.rd-kicker,.rx-kicker,.rd-eyebrow){font-size:12px!important;line-height:1.5}
body.raven-experience-v1330 .rd-eyebrow{white-space:normal;max-width:100%}
body.raven-experience-v1330 :is(.rx-os-panel,.rx-os-copy){min-width:0}
body.raven-experience-v1330 .rx-os-copy p{color:#62566d!important;font-size:16px;line-height:1.65}
/* Dark public previews keep their own light copy. */
body.raven-experience-v1330 :is(.rd-dash-side,.rd-dash-main,.rd-phone,.rx-os-preview) :is(small,p){color:#bdb4cc!important}
body.raven-experience-v1330 .rd-dash-nav span{color:#c8bfd5!important}
body.raven-experience-v1330 .rd-dash-nav span.active{color:#fff!important}
/* Portal type and light surfaces. Sidebar and dark modules are scoped below. */
body.rd-signature.rd-signature[data-portal]{--rd-muted:#62566d;--rd-line:#d4c9de;--r113-muted:#62566d;--gp-muted:#62566d;--gp-muted-2:#62566d;--ros-muted:#62566d;--ros-muted-2:#62566d;--a1p-muted:#62566d}
body.rd-signature.rd-signature[data-portal] :is(.r113-topbar,.ros143-topbar){height:auto!important;min-height:76px;gap:12px;flex-wrap:wrap;padding-block:12px!important}
body.rd-signature.rd-signature[data-portal] :is(.rd-card-head,.client-quote-head,.admin-heading-actions,.rd-doc-actions){flex-wrap:wrap;min-width:0}
body.rd-signature.rd-signature[data-portal] :is(.rd-status,.rd-doc-status){white-space:normal;line-height:1.4;max-width:100%!important}
body.rd-signature.rd-signature[data-portal] :is(.rd-message p,.rd-project-row small,.rd-stats small,.rd-stats em,.rd-message small){color:#62566d!important}
body.rd-signature.rd-signature[data-portal] :is(.admin-main,.ros143-panel,.modal,.login-panel,.admin-login-form) :is(input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=color]),select,textarea){font-size:16px!important;border-color:#a99ab8!important;color:#382743!important;-webkit-text-fill-color:currentColor!important}
body.rd-signature.rd-signature[data-portal] :is(input,textarea)::placeholder{color:#6c5e78!important;opacity:1}
body.rd-signature.rd-signature[data-portal] :is(.portal-primary,.primary,.a1g-primary,.rd-primary){background:#6340cf!important;color:#fff!important;-webkit-text-fill-color:currentColor!important;min-height:44px;line-height:1.4}
body.rd-signature.rd-signature[data-portal] :is(.portal-primary,.primary,.a1g-primary,.rd-primary) :is(span,b,strong){color:#fff!important;-webkit-text-fill-color:currentColor!important}
body.rd-signature.rd-signature[data-portal] :is(.portal-secondary,.secondary,.ghost,.rx11-secondary,.r81-outline){color:#533b70!important;border-color:#b7a5c7!important;min-height:44px;line-height:1.4}
body.rd-signature.rd-signature[data-portal] :is(.r112-nav-copy strong,.ros143-nav button,.ros143-logout){font-size:14px!important}
body.rd-signature.rd-signature[data-portal] :is(.r112-sidebar,.ros143-sidebar,.ros143-mobile-nav,.ros143-more-menu) :is(a,button):focus-visible{outline-color:#d0b6ff!important;outline-offset:-3px!important}
body.rd-signature.rd-signature[data-portal] :is(.r112-sidebar,.ros143-sidebar) .rd-brand>img{width:100px!important;height:auto!important;min-height:48px;object-fit:contain!important}
/* Mixed dark login cards previously inherited the light Signature form palette. */
body.rd-signature.rd-signature[data-portal] .a1g-panel{background:#fff!important;color:#382743!important;border-color:#c9bfd4!important}
body.rd-signature.rd-signature[data-portal] .a1g-panel :is(h1,h2,label,.login-copy,.a1g-note,.a1g-help span,.a1g-private){color:#62566d!important;-webkit-text-fill-color:currentColor!important}
body.rd-signature.rd-signature[data-portal] .a1g-panel h1{color:#382743!important}
body.rd-signature.rd-signature[data-portal] .a1g-panel :is(.a1g-eyebrow,.a1g-help a){color:#6340cf!important}
body.rd-signature.rd-signature[data-portal] .a1g-form input{background:#faf8fc!important;color:#382743!important;border-color:#a99ab8!important}
body.rd-signature.rd-signature[data-portal] .a1g-error{color:#a52d34!important;background:#fff0f1!important}
body.rd-signature.rd-signature[data-portal] :is(.a1g-trust>div,.a1g-discover){background:#f5f1fa!important;border-color:#c9bfd4!important}
body.rd-signature.rd-signature[data-portal] :is(.a1g-trust,.a1g-discover) :is(strong,small,p,summary){color:#62566d!important}
body.rd-signature.rd-signature[data-portal] .a1g-discover a{color:#6340cf!important}
body.rd-signature.rd-signature[data-portal] .a1g-preview-shell :is(small,.a1g-preview-footer,.a1g-demo-grid article>span,.a1g-preview-copy>span){color:#bcb4ca!important}
body.rd-signature.rd-signature[data-portal] :is(.ros1452-site-meta b,.ros1452-site-progress b,.ros1452-sites-empty strong){color:#382743!important}
body.rd-signature.rd-signature[data-portal] :is(.ros1452-site-meta small,.ros1452-site-progress small,.ros1452-site-card>p){color:#62566d!important}
body.rd-signature.rd-signature[data-portal] .ros1452-site-meta b{max-width:none;white-space:normal;overflow-wrap:anywhere}
body.rd-signature.rd-signature[data-portal] .ros1452-site-progress>i{background:#d9cde6!important}
body.rd-signature.rd-signature[data-portal] .os-cal-day.outside{color:#776882!important}
/* Operator: the global light strong/h1 rules must not darken the dark hero. */
body.rd-signature.rd-signature[data-portal] :is(.rop-hero,.rop-engine){color:#fff!important}
body.rd-signature.rd-signature[data-portal] :is(.rop-hero,.rop-engine) :is(h1,strong,b){color:#fff!important;-webkit-text-fill-color:currentColor!important}
body.rd-signature.rd-signature[data-portal] :is(.rop-hero,.rop-engine) :is(small,p){color:#c9bbd8!important}
body.rd-signature.rd-signature[data-portal] :is(.rop-side-card,.rop-bubble,.rop-quick,.rop-plan) :is(small,dt,time){color:#62566d!important}
body.rd-signature.rd-signature[data-portal] :is(.rop-disclaimer,.rop-side-empty){color:#62566d!important}
body.rd-signature.rd-signature[data-portal] .rop-side-card dd{white-space:normal;overflow-wrap:anywhere}
body.rd-signature.rd-signature[data-portal] :is(.rop-quick button,.rop-tools button,.rop-confirm,.rop-secondary){height:auto;min-height:44px}
/* Documents: semantic status colors and usable labels. */
body.rd-signature.rd-signature[data-portal] .rd-document-card :is(p,small,time,th){color:#62566d!important}
body.rd-signature.rd-signature[data-portal] .rd-document-card .rd-doc-status{color:#5933bd!important}
body.rd-signature.rd-signature[data-portal] .rd-document-card .rd-doc-status:is(.accepted,.paid){color:#17633f!important}
body.rd-signature.rd-signature[data-portal] .rd-document-card .rd-doc-status:is(.expired,.overdue,.cancelled){color:#923e34!important}
body.rd-signature.rd-signature[data-portal] .client-quote-summary .total :is(span,strong){color:#fff!important;-webkit-text-fill-color:currentColor!important}
body.rd-signature.rd-signature[data-portal] .client-quote.rd-document-card table{display:block;max-width:100%;overflow-x:auto}
/* Checkout keeps dark surfaces: native fields and secondary text follow them. */
body.gp1400.raven-pay-page{color-scheme:dark}
body.gp1400.raven-pay-page :is(.rpay-sub,.rpay-project-copy small,.rpay-stat span,.rpay-stat em,.rpay-progress-head span,.rpay-progress-foot,.rpay-methods small,.rpay-event-copy small,.rpay-empty,.rpay-checkout-state){color:#bcb4ca!important}
body.gp1400.raven-pay-page :is(input,select,textarea){background:#17111f;color:#fff;border:1px solid #8f7d9f}
/* Keep the existing Studio workflow, with readable labels and footer actions. */
.rv16-shell{--rv16-muted:#58627e;--rv16-success:#176344;--rv16-warning:#8a4612}
.rv16-shell :is(button,select){min-height:40px}
.rv16-shell .rv16-comment-meta strong{white-space:normal;overflow-wrap:anywhere}
@media(max-width:1100px){
 body.raven-experience-v1330 .site-header{height:auto!important;min-height:68px;gap:10px!important;flex-wrap:wrap}
 body.raven-experience-v1330 .site-header .client-access-link{display:inline-flex!important;font-size:12px!important;min-height:44px;padding:8px!important}
 body.raven-experience-v1330 .mobile-toggle{margin-left:auto!important}
}
@media(max-width:760px){
 body.rd-signature.rd-signature[data-portal] .r113-global-search{min-width:0!important;max-width:100%;white-space:normal}
 body.rd-signature.rd-signature[data-portal] :is(.ros143-topbar-project,.r113-top-title){min-width:0;flex:1}
 body.rd-signature.rd-signature[data-portal] .ros143-topbar-project strong{max-width:none!important;white-space:normal!important;overflow-wrap:anywhere;overflow:visible!important}
 body.rd-signature.rd-signature[data-portal] .rd-project-row{grid-template-columns:60px minmax(0,1fr)!important}
 body.rd-signature.rd-signature[data-portal] .rd-project-row img{width:60px!important;grid-row:span 3}
 body.rd-signature.rd-signature[data-portal] .rd-project-row :is(time,.rd-status){grid-column:2!important;grid-row:auto!important}
 body.rd-signature.rd-signature[data-portal] .rd-project-row>span:last-child{grid-column:2!important;grid-row:auto!important}
 body.rd-signature.rd-signature[data-portal] .rd-stats{grid-template-columns:repeat(2,minmax(0,1fr))!important}
 body.rd-signature.rd-signature[data-portal] .ros143-mobile-nav button{font-size:12px!important}
 body.rd-signature.rd-signature[data-portal] .a1g-demo-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 body.rd-signature.rd-signature[data-portal] .a1g-trust{grid-template-columns:1fr}
 .rv16-footer{height:auto!important;min-height:70px;padding-block:10px!important;padding-bottom:max(10px,env(safe-area-inset-bottom))!important}
 .rv16-actions{flex-wrap:wrap;gap:8px}
 .rv16-adjust,.rv16-approve{height:auto;min-height:44px;white-space:normal!important;line-height:1.4}
 .rv16-topbar{height:auto!important;min-height:60px}
 .rv16-project-name{white-space:normal;overflow-wrap:anywhere}
}
@media(max-width:420px){
 body.raven-experience-v1330 .site-header .brand span{font-size:11px!important;letter-spacing:.02em!important}
 body.raven-experience-v1330 .site-header{padding-inline:10px!important}
 body.raven-experience-v1330 .site-header .brand{min-width:0;gap:6px}
 body.rd-signature.rd-signature[data-portal] .ros143-top-actions{flex-wrap:wrap;gap:6px}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
@media(forced-colors:active){
 body :is(.rx-grad,.rd-gradient){background:none!important;color:CanvasText!important;-webkit-text-fill-color:CanvasText!important}
 body :is(button,input,select,textarea){border:1px solid ButtonText!important}
}
/* Calendar dates and legends stay legible even outside the displayed month. */
body.rd-signature.rd-signature[data-portal] .rd-days button.outside{color:#75647f!important}
body.rd-signature.rd-signature[data-portal] .rd-days button.today{color:#fff!important}
body.rd-signature.rd-signature[data-portal] .rd-days button.selected{color:#472461!important}
body.rd-signature.rd-signature[data-portal] .rd-cal-legend{color:#62566d!important}
body.rd-signature.rd-signature[data-portal] .rd-cal-toolbar button{min-width:40px;min-height:40px}

/* v16.6.1 — remaining source-level legibility and overflow defects. */
body.rd-signature.rd-signature[data-portal] .r113-global-search kbd{background:#f1eaf8!important;color:#624575!important}
body.rd-signature.rd-signature[data-portal] .rd-avatar{color:#6d399e!important}
body.rd-signature.rd-signature[data-portal] .rop-online{color:#176344!important}
body.rd-signature.rd-signature[data-portal] .ros1452-workspace-menu{top:calc(100% + 6px)!important;max-height:min(60dvh,420px);overflow-y:auto;overscroll-behavior:contain}
body.rd-signature.rd-signature[data-portal] .ros1452-workspace-menu :is(strong,small){white-space:normal!important;overflow-wrap:anywhere;text-overflow:clip!important}
body.rd-signature.rd-signature[data-portal] .ros143-more-menu{max-height:calc(100dvh - 160px);overflow-y:auto;overscroll-behavior:contain}
body.rd-signature.rd-signature[data-portal] .rop-compose:focus-within{outline:3px solid #6340cf;outline-offset:3px}
body.rd-signature.rd-signature[data-portal] :is(.admin-main,.ros143-panel,.modal,.login-panel,.admin-login-form) input:is([type=checkbox],[type=radio]){min-height:20px!important;min-width:20px!important;width:20px!important;height:20px!important;accent-color:#6340cf;flex-shrink:0}
body.rd-signature.rd-signature[data-portal] .rd-document-card .quote-card-top{flex-wrap:wrap}
body.rd-signature.rd-signature[data-portal] .rd-document-card .quote-card-actions :is(a,button){white-space:normal;line-height:1.4;min-height:44px}
body.rd-signature.rd-signature[data-portal] .rd-document-card .rd-doc-brand{min-width:0}
body.rd-signature.rd-signature[data-portal] .rd-document-card .rd-doc-brand div{min-width:0;overflow-wrap:anywhere}
@media(max-width:420px){
 body.rd-signature.rd-signature[data-portal] .rd-document-card .quote-card-amounts{grid-template-columns:minmax(0,1fr)!important}
 body.rd-signature.rd-signature[data-portal] .rd-document-card :is(.quote-card-actions,.invoice-os-actions){grid-template-columns:minmax(0,1fr)!important}
 body.rd-signature.rd-signature[data-portal] .a1g-panel-head{align-items:flex-start;flex-wrap:wrap}
}
/* v16.6.2 — Admin access screen: Graphite left a white title on the later light Signature surface. */
body.rd-signature.rd-signature.gp1400[data-portal="admin"] .admin-login{
  background:radial-gradient(circle at 18% 20%,rgba(108,80,255,.10),transparent 30%),#f8f7fb!important;
  color:#25182f!important;
}
body.rd-signature.rd-signature.gp1400[data-portal="admin"] .admin-login-copy .portal-kicker{
  color:#5933bd!important;
  -webkit-text-fill-color:currentColor!important;
}
body.rd-signature.rd-signature.gp1400[data-portal="admin"] .admin-login-copy h1{
  color:#25182f!important;
  -webkit-text-fill-color:currentColor!important;
}
body.rd-signature.rd-signature.gp1400[data-portal="admin"] .admin-login-copy h1 em{
  background:none!important;
  color:#6840df!important;
  -webkit-text-fill-color:currentColor!important;
}
body.rd-signature.rd-signature.gp1400[data-portal="admin"] .admin-login-copy>p:last-child{
  color:#5f536a!important;
  -webkit-text-fill-color:currentColor!important;
}
body.rd-signature.rd-signature.gp1400[data-portal="admin"] .admin-login-form{
  background:#fff!important;
  border-color:#d4c9de!important;
  color:#25182f!important;
}
body.rd-signature.rd-signature.gp1400[data-portal="admin"] .admin-login-form label{
  color:#44334f!important;
  -webkit-text-fill-color:currentColor!important;
}
body.rd-signature.rd-signature.gp1400[data-portal="admin"] .admin-login-form input{
  background:#faf8fc!important;
  border-color:#9d8baa!important;
  color:#25182f!important;
  -webkit-text-fill-color:currentColor!important;
}
body.rd-signature.rd-signature.gp1400[data-portal="admin"] .admin-login-form .portal-primary{
  background:#5b34c7!important;
  border-color:#5b34c7!important;
  color:#fff!important;
  -webkit-text-fill-color:currentColor!important;
}
body.rd-signature.rd-signature.gp1400[data-portal="admin"] .admin-login-form .portal-primary:hover{
  background:#4825aa!important;
  border-color:#4825aa!important;
}

/* V16.7 — interaction reliability */
.home-v122 .rd-work-card {
  position: relative;
  z-index: 1;
  display: block;
  isolation: isolate;
  cursor: pointer;
  pointer-events: auto !important;
  touch-action: manipulation;
}
.home-v122 .rd-work-card > * {
  pointer-events: none;
}
.home-v122 .rd-work-arrow {
  user-select: none;
  -webkit-user-select: none;
}
a[href]:focus-visible,
button:focus-visible,
[role="button"]:focus-visible {
  outline: 3px solid #6d3fe8;
  outline-offset: 3px;
}
