/* Same semantic palette and button treatment as the DBI lighting layout builder.
   Shared across the service portal; plan linework and model materials keep their colors. */
@font-face{font-family:'DM Sans';font-style:normal;font-weight:400 700;font-display:swap;src:url('/portal/assets/dm-sans-latin.woff2') format('woff2')}
@font-face{font-family:'Barlow Condensed';font-style:normal;font-weight:600;font-display:swap;src:url('/portal/assets/barlow-condensed-latin.woff2') format('woff2')}
:is(.dbi-portal-theme,.dbi-design-viewer){
  --dbi-black:#05080e;--dbi-surface:#0d1117;--dbi-raised:#151e29;--dbi-inset:#080d14;
  --dbi-hover:#1c2c40;--dbi-selected:#17395c;--dbi-blue:#2e74ba;--dbi-blue-hover:#2866a5;
  --dbi-blue-light:#8eb5de;--dbi-text:#f5f8fc;--dbi-muted:#afbed0;--dbi-line:#34465b;--dbi-line-strong:#587491;
  --dbi-danger:#ff8795;--dbi-danger-surface:#321820;--dbi-warning:#edc78e;--dbi-warning-surface:#2d2418;
  --dbi-success:#91d8b4;--dbi-success-surface:#112b23;
  --navy:var(--dbi-surface);--ink:var(--dbi-text);--muted:var(--dbi-muted);--border:var(--dbi-line);
  --surface:var(--dbi-black);--blue:var(--dbi-blue-light);--foreground:var(--dbi-text);--background:var(--dbi-black);--muted-foreground:var(--dbi-muted);
  color-scheme:dark;background:var(--dbi-black);color:var(--dbi-text);font-family:'DM Sans','Segoe UI',Arial,sans-serif;
  accent-color:var(--dbi-blue);scrollbar-color:var(--dbi-line-strong) var(--dbi-surface);
}
:is(.dbi-portal-theme,.dbi-design-viewer) *{scrollbar-color:var(--dbi-line-strong) var(--dbi-surface)}
:is(.dbi-portal-theme,.dbi-design-viewer) ::selection{background:var(--dbi-selected);color:var(--dbi-text)}
:is(.dbi-portal-theme,.dbi-design-viewer) :is(button,.btn){
  position:relative;overflow:hidden;display:inline-flex;align-items:center;justify-content:center;gap:7px;
  min-height:44px;padding:10px 14px;border:1px solid var(--dbi-line);border-radius:5px;
  background:var(--dbi-surface);color:var(--dbi-text);font-family:'Barlow Condensed','Arial Narrow',Arial,sans-serif;
  font-size:15px;font-weight:600;letter-spacing:.65px;text-transform:uppercase;line-height:1.2;
  box-shadow:inset 0 1px 0 #ffffff08;transition:background .15s,border-color .15s,box-shadow .15s;
}
:is(.dbi-portal-theme,.dbi-design-viewer) :is(button,.btn):hover:not(:disabled){background:var(--dbi-hover);border-color:var(--dbi-blue);box-shadow:inset 0 -2px 0 var(--dbi-blue)}
:is(.dbi-portal-theme,.dbi-design-viewer) :is(button,.btn)::after{content:'';position:absolute;inset:0 auto 3px 0;width:45%;pointer-events:none;opacity:0;background:linear-gradient(90deg,transparent,#ffffff38,#a7d7ff24,transparent);transform:translateX(-150%) skewX(-20deg)}
:is(.dbi-portal-theme,.dbi-design-viewer) :is(button,.btn):is(:hover,:focus-visible):not(:disabled)::after{animation:dbi-design-shine 650ms ease-out}
@keyframes dbi-design-shine{0%{opacity:0;transform:translateX(-150%) skewX(-20deg)}20%,65%{opacity:1}100%{opacity:0;transform:translateX(360%) skewX(-20deg)}}
:is(.dbi-portal-theme,.dbi-design-viewer) :is(button,input,select,textarea,a,summary):focus-visible{outline:2px solid var(--dbi-blue-light);outline-offset:3px}
:is(.dbi-portal-theme,.dbi-design-viewer) button:disabled{opacity:.45;cursor:not-allowed}
:is(.dbi-portal-theme,.dbi-design-viewer) :is(.btn.primary,.td-edit,.te-primary){background:var(--dbi-blue);border-color:var(--dbi-blue);color:white}
:is(.dbi-portal-theme,.dbi-design-viewer) :is(.btn.primary,.td-edit,.te-primary):hover:not(:disabled){background:var(--dbi-blue-hover);border-color:var(--dbi-blue-light)}
:is(.dbi-portal-theme,.dbi-design-viewer) :is(button[aria-pressed=true],button.active){background:var(--dbi-selected);border-color:var(--dbi-blue);color:var(--dbi-text);box-shadow:inset 0 -3px 0 var(--dbi-blue)}
:is(.dbi-portal-theme,.dbi-design-viewer) :is(input:not([type=checkbox]):not([type=radio]):not([type=file]),select,textarea){background:var(--dbi-inset);color:var(--dbi-text);border:1px solid var(--dbi-line-strong);border-radius:5px;font-family:'DM Sans',Arial,sans-serif;min-height:44px;line-height:1.5}
:is(.dbi-portal-theme,.dbi-design-viewer) :is(input,textarea)::placeholder{color:var(--dbi-muted);opacity:.85}
:is(.dbi-portal-theme,.dbi-design-viewer) :is(input,select,textarea):hover{border-color:var(--dbi-blue-light)}
:is(.dbi-portal-theme,.dbi-design-viewer) input[type=checkbox]{accent-color:var(--dbi-blue)}
.dbi-portal-theme a,.dbi-design-viewer a:not(.plan-document a){color:var(--dbi-blue-light)}
.dbi-design-logo{display:block;flex-shrink:0;overflow:hidden;width:142px;height:44px}

/* Portal navigation and the customer design library. */
.dbi-portal-theme .sidebar{background:var(--dbi-black);border-right:1px solid var(--dbi-line);color:var(--dbi-muted)}
.dbi-portal-theme .logo-wrap{background:transparent;padding:0;margin:0 auto 16px}
.dbi-portal-theme .logo-wrap .dbi-design-logo{width:163px;height:51px}
.dbi-portal-theme .sidebar .brand-title,.dbi-portal-theme .nav-label{color:var(--dbi-blue-light)}
.dbi-portal-theme .navbtn{justify-content:flex-start;margin:3px 0;background:transparent;border-color:transparent;font-size:16px;min-height:46px}
.dbi-portal-theme .navbtn.active{background:var(--dbi-selected);border-color:var(--dbi-blue);box-shadow:inset 3px 0 0 var(--dbi-blue)}
.dbi-portal-theme .sidebar-foot{border-color:var(--dbi-line);color:var(--dbi-muted)}
.dbi-portal-theme .topbar{height:70px;background:linear-gradient(110deg,var(--dbi-black),var(--dbi-surface));border-color:var(--dbi-line)}
.dbi-portal-theme .breadcrumb b,.dbi-portal-theme .icon-button{color:var(--dbi-text)}
.dbi-portal-theme .topbar .icon-button{padding:5px;border:0;background:transparent;box-shadow:none;min-width:44px}
.dbi-portal-theme .avatar{background:var(--dbi-raised);border-color:var(--dbi-line-strong);color:var(--dbi-text)}
.dbi-portal-theme .main{padding-top:28px;max-width:1700px}
.dbi-portal-theme .page-heading{margin-bottom:24px;border-bottom:1px solid var(--dbi-line);padding-bottom:24px}
.dbi-portal-theme .main h1{font-size:36px;letter-spacing:-.9px}
.dbi-portal-theme .eyebrow,.dbi-portal-theme .design-kicker{color:var(--dbi-blue-light)}
.dbi-portal-theme .review-banner,.dbi-portal-theme .demo-banner{background:var(--dbi-inset);border-color:var(--dbi-line);color:var(--dbi-muted)}
.dbi-portal-theme .review-banner strong{color:var(--dbi-blue-light)}
.dbi-portal-theme .review-banner a{background:var(--dbi-surface);border-color:var(--dbi-line);color:var(--dbi-text)}
.dbi-portal-theme .review-banner a[aria-current=page]{background:var(--dbi-selected);border-color:var(--dbi-blue)}
.dbi-portal-theme .review-banner button{min-height:34px;font-size:13px;padding:7px 10px}
.dbi-portal-theme .design-intro{background:linear-gradient(115deg,var(--dbi-raised),var(--dbi-inset));border:1px solid var(--dbi-line);border-left:3px solid var(--dbi-blue);border-radius:10px}
.dbi-portal-theme :is(.design-intro p,.design-card-body p,.design-detail-heading p,.design-create p,.design-manage p){color:var(--dbi-muted)}
.dbi-portal-theme .design-grid{gap:18px}
.dbi-portal-theme :is(.design-card,.card,.design-empty){background:var(--dbi-surface);border-color:var(--dbi-line);border-radius:10px}
.dbi-portal-theme .design-card-cover{height:170px;background:radial-gradient(ellipse at 50% 20%,var(--dbi-selected),var(--dbi-inset));border:0;border-bottom:1px solid var(--dbi-line);border-radius:0}
.dbi-portal-theme .design-card-cover svg{width:92px;height:92px;stroke:var(--dbi-blue-light)}
.dbi-portal-theme .design-card-cover span{color:var(--dbi-muted);font-family:'DM Sans',Arial,sans-serif}
.dbi-portal-theme .design-card-bottom,.dbi-portal-theme .design-upload-grid{border-color:var(--dbi-line)}
.dbi-portal-theme :is(.design-card-meta,.design-card-bottom>span,.design-empty p,.design-upload-grid small,.design-gesture,.footer){color:var(--dbi-muted)}
.dbi-portal-theme .design-readonly,.dbi-portal-theme .badge{border:1px solid var(--dbi-line);background:var(--dbi-raised);color:var(--dbi-blue-light);border-radius:5px}
.dbi-portal-theme .design-detail-heading{padding:22px 24px;background:var(--dbi-surface);border:1px solid var(--dbi-line);border-top:2px solid var(--dbi-blue);border-radius:10px;flex-wrap:wrap}
.dbi-portal-theme .design-detail-heading>div:first-child{flex:1 1 380px;min-width:0}
.dbi-portal-theme .design-detail-heading h2{font-size:clamp(21px,2vw,28px);line-height:1.25;letter-spacing:-.4px;overflow-wrap:anywhere}
.dbi-portal-theme .design-detail-heading p{font-size:13px;margin-bottom:0}
.dbi-portal-theme .design-detail-heading .actions{flex-shrink:0}
.dbi-portal-theme .design-frame{border-color:var(--dbi-line);border-radius:10px;background:var(--dbi-black)}
.dbi-portal-theme .mobile-nav{background:var(--dbi-black);border-color:var(--dbi-line)}
.dbi-portal-theme .mobile-nav button{font:11px 'Barlow Condensed',Arial,sans-serif;background:transparent;border:1px solid transparent;min-height:48px;gap:5px;padding:6px 2px;color:var(--dbi-muted)}
.dbi-portal-theme .mobile-nav button.active{color:var(--dbi-text);border-color:var(--dbi-blue);background:var(--dbi-selected)}
.dbi-portal-theme #toast{background:var(--dbi-raised);border:1px solid var(--dbi-line-strong);color:var(--dbi-text)}

/* Review notes and snapshot markup use the same tool-window finish. */
.dbi-portal-theme :is(.design-feedback-heading p,.design-comment-help,.design-feedback-empty p,.review-entry-heading time,.review-revision,.review-reply-label){color:var(--dbi-muted)}
.dbi-portal-theme :is(.design-feedback-status,.markup-status){color:var(--dbi-blue-light)}
.dbi-portal-theme :is(.design-review-entry,.design-feedback-empty,.design-markup-draft,.design-reply-context){background:var(--dbi-inset);border-color:var(--dbi-line)}
.dbi-portal-theme .design-review-entry{border-left-color:var(--dbi-blue)}
.dbi-portal-theme .review-role{background:var(--dbi-selected);color:var(--dbi-blue-light)}
.dbi-portal-theme .review-published{background:var(--dbi-raised);border-left-color:var(--dbi-line-strong)}
.dbi-portal-theme .design-markup-dialog{background:var(--dbi-surface);color:var(--dbi-text);border-color:var(--dbi-line-strong);box-shadow:0 24px 100px #000a}
.dbi-portal-theme .design-markup-dialog::backdrop{background:#05080ecc}
.dbi-portal-theme .markup-explanation{color:var(--dbi-muted)}
.dbi-portal-theme .markup-image-scroll{background:var(--dbi-inset);border-color:var(--dbi-line)}
.dbi-portal-theme .markup-tools .markup-color::after{position:static;inset:auto;flex-shrink:0;width:17px;height:17px;opacity:1;background:var(--markup-color);transform:none;animation:none}
.dbi-portal-theme :is(.design-error,.design-feedback-error){background:var(--dbi-danger-surface);color:var(--dbi-danger);border-color:var(--dbi-danger)}

/* Both embedded viewers: dark tools surrounding the dimensioned drawing. */
.dbi-design-viewer .topdown-options,.dbi-design-viewer .dbi-topdown-editor{font-family:'DM Sans',Arial,sans-serif;background:var(--dbi-black);color:var(--dbi-text);padding:18px;border-radius:0}
.dbi-design-viewer .td-brand{padding:6px 0 18px;border-bottom:1px solid var(--dbi-line);gap:18px}
.dbi-design-viewer .td-brand .dbi-design-logo{width:115px;height:36px}
.dbi-design-viewer .td-brand h2{font-size:22px;letter-spacing:-.35px}
.dbi-design-viewer :is(.td-brand span,.te-heading span,.customer-view-kicker){color:var(--dbi-blue-light)}
.dbi-design-viewer :is(.td-summary,.td-note,.te-heading p,.te-inspector p,.te-footnote,.te-inspector dt,.te-history time,.te-history small,.mj-selected,.mj-metric,.text-muted){color:var(--dbi-muted)}
.dbi-design-viewer .td-meta{color:var(--dbi-blue-light)}
.dbi-design-viewer .td-toolbar{gap:8px;padding:18px 0}
.dbi-design-viewer .td-toolbar label{color:var(--dbi-muted)}
.dbi-design-viewer .td-toolbar select{color:var(--dbi-text);font-size:14px}
.dbi-design-viewer :is(.td-plan-tools,.te-zoom,.plan-navigation){background:var(--dbi-raised);color:var(--dbi-muted);border-color:var(--dbi-line);padding:10px 12px}
.dbi-design-viewer :is(.td-canvas,.te-drawing,.te-inspector,.td-caption,.te-save,.te-history){border-color:var(--dbi-line);border-radius:8px;background:var(--dbi-surface);color:var(--dbi-text)}
.dbi-design-viewer .td-canvas{border-radius:0 0 8px 8px;padding:14px;background:var(--dbi-inset)}
.dbi-design-viewer .td-paper{background:white;box-shadow:0 3px 20px #0003}
.dbi-design-viewer .td-caption h3{color:var(--dbi-text)}
.dbi-design-viewer .td-caption :is(.td-description,.td-tradeoff){color:var(--dbi-muted)}
.dbi-design-viewer .te-heading{padding:6px 0 16px;border-bottom:1px solid var(--dbi-line)}
.dbi-design-viewer .te-heading h2{font-size:24px;letter-spacing:-.4px}
.dbi-design-viewer .te-heading p{margin-bottom:0}
.dbi-design-viewer .te-toolbar{padding:12px;background:var(--dbi-surface);border:1px solid var(--dbi-line);border-radius:8px}
.dbi-design-viewer .te-toolbar label{color:var(--dbi-muted);font-size:12px}
.dbi-design-viewer .te-toolbar select{width:auto}
.dbi-design-viewer .te-help{background:var(--dbi-selected);border-color:var(--dbi-blue);color:var(--dbi-text);border-radius:0 5px 5px 0;font-size:13px}
.dbi-design-viewer .te-help.error{background:var(--dbi-danger-surface);border-color:var(--dbi-danger);color:var(--dbi-danger)}
.dbi-design-viewer .te-viewport{background:var(--dbi-inset);padding:10px 0}
.dbi-design-viewer .te-paper{color-scheme:light;background:white;box-shadow:0 3px 18px #0005}
.dbi-design-viewer .te-inspector h3{color:var(--dbi-text)}
.dbi-design-viewer .te-inspector dl>div,.dbi-design-viewer .te-history article{border-color:var(--dbi-line)}
.dbi-design-viewer .te-inspector dd{color:var(--dbi-text)}
.dbi-design-viewer .te-position label{color:var(--dbi-muted)}
.dbi-design-viewer [data-act=remove]{color:var(--dbi-danger)}
.dbi-design-viewer [data-act=remove]:hover:not(:disabled){background:var(--dbi-danger-surface);border-color:var(--dbi-danger);box-shadow:none}
.dbi-design-viewer .te-save{border-top:2px solid var(--dbi-blue)}
.dbi-design-viewer .te-save p{color:var(--dbi-muted)}
.dbi-design-viewer .te-history summary{font-size:14px;min-height:44px}
.dbi-design-viewer .te-zoom button,.dbi-design-viewer .td-plan-tools button{min-width:44px}
.dbi-design-viewer :is(.customer-display-controls,.wall-height-controls){background:var(--dbi-inset);border-color:var(--dbi-line);border-radius:5px}
.dbi-design-viewer .customer-view-tools h3{color:var(--dbi-text);font-family:'DM Sans',Arial,sans-serif}
.dbi-design-viewer .customer-plan{background:var(--dbi-inset)}
.dbi-design-viewer .mj-stage{border-color:var(--dbi-line)}
.dbi-design-viewer .camera-tools span{background:var(--dbi-raised);color:var(--dbi-muted)}
.dbi-design-viewer #mj-selected-model .mj-status[role=alert]{background:var(--dbi-danger-surface);border-color:var(--dbi-danger);color:var(--dbi-danger)!important}

@media(max-width:800px){
  .dbi-portal-theme .main{padding:22px 12px 94px}.dbi-portal-theme .main h1{font-size:30px}
  .dbi-portal-theme .page-heading{padding-bottom:18px;margin-bottom:18px}
  .dbi-portal-theme .design-detail-heading{padding:18px 16px}.dbi-portal-theme .design-detail-heading .actions button{flex:1}
  .dbi-portal-theme .design-readonly{max-width:180px;text-align:center}
  .dbi-design-viewer :is(.topdown-options,.dbi-topdown-editor){padding:8px}
  .dbi-design-viewer .td-brand{gap:12px}.dbi-design-viewer .td-brand h2{font-size:20px}
  .dbi-design-viewer .td-brand .dbi-design-logo{width:96px;height:30px}
  .dbi-design-viewer .td-brand a{font-size:11px}
  .dbi-design-viewer .te-toolbar{padding:9px;gap:7px}.dbi-design-viewer .te-toolbar button{flex:1 1 auto;font-size:14px}
  .dbi-design-viewer .te-toolbar label:first-child{width:100%}.dbi-design-viewer .te-toolbar select{flex:1}
  .dbi-design-viewer .te-toolbar .te-snap{min-height:38px}
  .dbi-design-viewer .td-plan-tools{font-size:11px;padding:8px}.dbi-design-viewer .td-canvas{padding:6px}
  .dbi-design-viewer .td-plan-tools span{max-width:140px}
  .dbi-design-viewer :is(input:not([type=checkbox]),select,textarea){font-size:16px}
  .dbi-design-viewer .te-heading h2{font-size:21px}.dbi-design-viewer .te-zoom{padding:8px;gap:6px}
  .dbi-design-viewer .te-zoom>span{max-width:135px;line-height:1.5}
}
@media(prefers-reduced-motion:reduce){:is(.dbi-portal-theme,.dbi-design-viewer) :is(button,.btn){transition:none}:is(.dbi-portal-theme,.dbi-design-viewer) :is(button,.btn)::after{animation:none!important}}
