.studio { min-width:0; color:#172a30; }
.legacy-navigation summary {padding:14px 6px;font-size:12px;cursor:pointer;color:#586b70}
.legacy-navigation button {width:100%;margin:4px 0}
.studio h1 {font-size:28px; margin:4px 0 12px;letter-spacing:0}
.studio h2 {font-size:20px;margin:0 0 16px;letter-spacing:0}
.studio h3 {font-size:16px;letter-spacing:0}
.studio p {line-height:1.6}
.studio-head,.studio-toolbar,.studio-actions,.studio-tabs {display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.studio-head {justify-content:space-between;border-bottom:1px solid #d7e1df;padding-bottom:20px}
.studio-head label {min-width:220px}
.studio-tabs {margin:20px 0;border-bottom:1px solid #d7e1df;gap:4px}
.studio-tabs button {border:0;border-bottom:3px solid transparent;border-radius:0;background:transparent;color:#52676c;padding:12px}
.studio-tabs button[aria-selected=true] {border-color:#2563eb;color:#1d4ed8;background:#eff6ff}
.studio-tabs button:hover:not(:disabled),.studio-tabs button:focus-visible {background:#1d4ed8;color:#fff;border-color:#1d4ed8}
.studio-list button:hover:not(:disabled),.studio-list button:focus-visible {background:#eff6ff;color:#0b1831;border-color:#2563eb}
.studio button {padding:9px 14px;min-height:42px}
.studio .primary {background:#2563eb;border-color:#2563eb;color:#fff}
.studio .primary:hover:not(:disabled) {background:#1d4ed8;color:#fff}
.studio .danger {background:#fff;color:#ab2733;border-color:#dca7ad}
.studio label {display:grid;gap:7px;font-size:13px;font-weight:650;min-width:0}
.studio input,.studio select,.studio textarea {width:100%;border:1px solid #b9ccca;border-radius:5px;padding:10px;background:white;color:#18383b;min-height:42px;font:inherit}
.studio textarea {resize:vertical;min-height:130px;line-height:1.5}
.studio input[type=checkbox] {width:18px;min-height:18px}
.studio label.check {display:flex;align-items:center;gap:8px}
.studio-form {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;max-width:1000px}
.studio-form .wide {grid-column:1/-1}
.studio-split {display:grid;grid-template-columns:minmax(210px,280px) minmax(0,1fr);gap:24px}
.studio-list {display:flex;flex-direction:column;gap:8px}
.studio-list button {text-align:left;background:#fff;border-color:#d6e0de;color:#203937;display:grid;gap:5px;overflow-wrap:anywhere}
.studio-list button.selected {border-color:#2563eb;background:#eff6ff}
.studio small {color:#607475;font-size:12px;font-weight:400}
.studio-status {padding:14px 16px;margin:16px 0;border-left:3px solid #b27919;background:#fff8e7;overflow-wrap:anywhere}
.studio-status.ok {background:#eff6ff;border-color:#2563eb}
.studio-status.error {background:#fff0ef;border-color:#be3741}
.studio-table {overflow-x:auto;margin:16px 0}
.studio table {width:100%;border-collapse:collapse;min-width:720px}
.studio th {white-space:nowrap;}
.studio-form {margin-bottom:24px;}
.studio td,.studio th {padding:12px;text-align:left;border-bottom:1px solid #dce6e3;font-size:13px;overflow-wrap:anywhere}
.studio th {color:#536b67;background:#f2f7f5}
.studio .muted {color:#607475}
.studio-metrics {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;border-block:1px solid #d6e2df;margin:20px 0}
.studio-metrics>div {padding:20px;border-right:1px solid #d6e2df;display:grid;gap:8px}
.studio-metrics strong {font-size:26px;color:#2563eb}
.studio details {margin:16px 0;max-width:1000px}
.studio summary {cursor:pointer;padding:12px 0;font-weight:650}
.studio code {font-size:12px}
.studio-empty {padding:28px 0;color:#607475}
.studio-step {display:flex;gap:16px;padding:18px 0;border-bottom:1px solid #dce6e3;align-items:center}
.studio-step span:first-child {color:#2563eb;font-size:20px;min-width:28px}
.studio-step div {flex:1}
.studio-step p {margin:4px 0}
.studio pre {white-space:pre-wrap;overflow-wrap:anywhere;font-size:12px;max-height:440px;overflow:auto;background:#f3f7f5;padding:16px}
body:has(#sessionPanel:not([hidden])) .auth-copy {display:none}
body:has(#sessionPanel:not([hidden])) .auth-strip {display:block;padding:12px 20px;min-height:0}
body:has(#sessionPanel:not([hidden])) .auth-panel {display:block}
@media(max-width:900px){.studio-split{grid-template-columns:1fr}.studio-list{max-height:230px;overflow:auto}.studio-form{grid-template-columns:1fr}.studio-head label{min-width:0;width:100%}.studio-metrics{grid-template-columns:1fr}.studio-metrics>div{border-right:0;border-bottom:1px solid #d6e2df}.studio-tabs{gap:0}.studio-tabs button{padding:10px 8px;font-size:13px}}
dialog { max-width: min(760px, 94vw); max-height: 90vh; overflow:auto; border:1px solid #b9c9d0; border-radius:8px; padding:24px; color:#172d37; background:#fff; }
dialog::backdrop { background:rgb(0 0 0 / 45%); }
.studio-table td small {display:block;max-width:260px;overflow-wrap:anywhere;}
.studio-form fieldset {border:1px solid #b9c9d0;display:flex;gap:12px;flex-wrap:wrap;}
.auth-strip:has(#sessionPanel:not([hidden])) { grid-template-columns:minmax(0,1fr);padding:12px;box-shadow:none; }
.auth-strip:has(#sessionPanel:not([hidden])) .auth-panel {padding:0;}
.workspace,.content>.view {box-shadow:none;border-radius:0;}
.content>.view {border:0;background:transparent;}
.session-panel {flex-wrap:wrap;}
.session-panel strong {overflow-wrap:anywhere;}
.wizard-progress {display:grid;grid-template-columns:repeat(7,minmax(0,1fr));list-style:none;padding:0;margin:24px 0;gap:8px;}
.wizard-progress li {border-bottom:3px solid #d6e2df;padding:8px 0;font-size:12px;overflow-wrap:anywhere;}
.wizard-progress li span {display:block;font-weight:700;margin-bottom:5px;}
.wizard-progress li[aria-current] {border-color:#2563eb;color:#1d4ed8;font-weight:700;}
.wizard-review {display:grid;grid-template-columns:minmax(140px,1fr) minmax(0,2fr);margin:0;}
.wizard-review dt,.wizard-review dd {margin:0;padding:12px 8px;border-bottom:1px solid #d7e1df;overflow-wrap:anywhere;}
.wizard-review dt {font-weight:650;}
.wizard-actions {border-top:1px solid #d7e1df;padding-top:20px;margin-top:16px;justify-content:flex-end;}
.number-choices {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;}
.number-choices label {padding:12px;border-bottom:1px solid #d7e1df;flex-wrap:wrap;}
.document-row {justify-content:space-between;border-bottom:1px solid #d7e1df;padding:12px 0;}
.direct-consent {display:flex;flex-wrap:wrap;align-items:center;gap:6px;}
.direct-consent input {width:18px;min-height:18px;}
@media(max-width:650px){.wizard-progress{grid-template-columns:repeat(4,minmax(0,1fr));}.number-choices{grid-template-columns:1fr}.wizard-review{grid-template-columns:minmax(110px,1fr) minmax(0,1.5fr)}}
.phone-progress {display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;list-style:none;padding:0;margin:24px 0;border-bottom:1px solid #cbd8df;}
.phone-progress li {font-size:14px;font-weight:600;padding:12px 0;color:#385765;}
.phone-stage {padding:28px 0;border-bottom:1px solid #cbd8df;scroll-margin-top:100px;}
.phone-stage h3 {margin:0 0 20px;font-size:22px;}
.phone-stage h4 {font-size:16px;margin:24px 0 12px;}
.phone-existing,.phone-advanced {margin-top:24px;}
.phone-existing summary,.phone-advanced>summary {padding:14px 0;font-weight:650;cursor:pointer;}
.phone-advanced {border-top:1px solid #cbd8df;padding-top:12px;}
.phone-stage .studio-status {white-space:normal;}
.phone-stage .studio-form {margin:16px 0;}
@media(max-width:650px){.phone-progress{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 12px;}.phone-stage h3{font-size:20px;}.phone-stage .studio-toolbar{flex-wrap:wrap;}}
.customer-setup-dialog {width:760px;max-width:calc(100vw - 24px);padding:24px;}
.customer-setup-dialog label {min-width:0;display:grid;gap:7px;}
.customer-setup-dialog input,.customer-setup-dialog select,.customer-setup-dialog textarea {min-width:0;max-width:100%;width:100%;box-sizing:border-box;}
.customer-setup-dialog label.check {display:flex;align-items:flex-start;gap:8px;}
.customer-setup-dialog input[type=checkbox],.customer-setup-dialog input[type=radio] {width:18px;flex:0 0 18px;}
.customer-setup-dialog fieldset {min-width:0;}
.customer-setup-dialog h2 {font-size:22px;overflow-wrap:anywhere;}
@media(max-width:600px){.customer-setup-dialog .studio-form {grid-template-columns:minmax(0,1fr);}}
.customer-setup-dialog .studio-form h3 {grid-column:1/-1;}
.customer-setup-dialog .studio-actions {justify-content:flex-end;margin-top:24px;}
.customer-setup-dialog .phone-progress {grid-template-columns:repeat(5,minmax(0,1fr));}
#customerSetupError {color:#b42318;overflow-wrap:anywhere;}
@media(max-width:600px){.customer-setup-dialog{padding:16px;}.customer-setup-dialog .phone-progress{grid-template-columns:repeat(3,minmax(0,1fr));}.customer-setup-dialog .wizard-review{grid-template-columns:1fr;}}
.number-purchase-dialog {width:600px;max-width:calc(100vw - 24px);}
.number-purchase-dialog .wizard-review dd {overflow-wrap:anywhere;}
.purchase-state {padding:16px 0;line-height:1.6;border-top:1px solid #d7e1df;}
.purchase-consent {display:flex;align-items:flex-start;gap:12px;line-height:1.5;margin:18px 0 24px;}
.purchase-consent input {width:18px;height:18px;flex:0 0 18px;margin-top:3px;}
.number-purchase-dialog .studio-actions {justify-content:flex-end;}
.number-purchase-dialog button {padding:10px 16px;}
@media(max-width:600px){.number-purchase-dialog{padding:18px;}.number-purchase-dialog .wizard-review{grid-template-columns:1fr;}.number-purchase-dialog h2{font-size:22px;}}
.pbx-setup-dialog{max-width:620px;width:calc(100% - 48px);box-sizing:border-box;border:1px solid #bacac5;border-radius:8px;padding:24px;max-height:90vh;overflow:auto}
.pbx-setup-dialog::backdrop{background:#0008}
.pbx-setup-dialog dd{margin:0 0 12px;overflow-wrap:anywhere}
.pbx-setup-dialog dt{font-weight:700}
.pbx-setup-dialog button{margin:6px 8px 6px 0}
.vendor-portal #signupCard,.vendor-portal #directSignupCard,.vendor-portal .social-signin {display:none !important;}
.vendor-portal .brand-text {display:block !important;}
.vendor-portal .brand-text strong {white-space:normal;overflow-wrap:anywhere;}
.vendor-portal .brand-logo {object-fit:contain;max-width:180px;max-height:80px;}
.vendor-domain {border-top:1px solid #d2dce0;padding:16px 0;overflow-wrap:anywhere;}
.vendor-domain code {white-space:normal;overflow-wrap:anywhere;}
