/* Tecnasys Voice U1.2. One versioned UI layer; native phone styles remain intact. */
:root { --tv-unified-ready: 1.2; }
html.tv-unified {
    --tvu-ink:#183044; --tvu-muted:#516a7d; --tvu-teal:#007e84; --tvu-line:#dce5eb;
    --tvu-bg:#f5f8fa; --tvu-rail:86px; --tvu-directory:288px;
    width:100%!important;height:100%!important;min-height:0!important;margin:0!important;padding:0!important;overflow:hidden!important;
}
html.tv-unified body {
    display:block!important;width:100%!important;max-width:none!important;height:100%!important;min-height:0!important;
    margin:0!important;padding:0!important;overflow:hidden!important;position:static!important;transform:none!important;
    color:var(--tvu-ink);background:#fff!important;font-family:Arial,Helvetica,sans-serif;font-size:14px;
}
html.tv-unified body #tv-ui-frame {
    display:grid!important;grid-template-rows:72px auto minmax(0,1fr) 24px;width:100%!important;max-width:none!important;
    height:100vh;height:100dvh;margin:0!important;padding:0!important;border:0!important;border-radius:0!important;
    box-shadow:none!important;overflow:hidden;box-sizing:border-box;position:relative;
}
html.tv-unified body #tv-ui-frame #tvExecutiveHeader {
    grid-row:1;display:flex!important;align-items:center!important;justify-content:space-between!important;gap:20px;
    position:relative!important;inset:auto!important;transform:none!important;width:100%!important;max-width:none!important;
    height:72px!important;min-height:0!important;margin:0!important;padding:0 24px!important;border:0!important;
    border-bottom:1px solid var(--tvu-line)!important;border-radius:0!important;box-shadow:none!important;box-sizing:border-box!important;background:#fff!important;
}
html.tv-unified #tvExecutiveHeader .tv-executive-right {display:none!important;}
html.tv-unified #tvExecutiveHeader .tv-executive-brand {display:flex;align-items:center;gap:12px;min-width:0;}
html.tv-unified #tvExecutiveHeader .tv-executive-company {font-size:20px;font-weight:600;letter-spacing:-.4px;}
html.tv-unified #tvExecutiveHeader .tv-executive-product {font-size:11px;letter-spacing:3px;color:var(--tvu-muted);}
html.tv-unified #tvExecutiveHeader .tv-executive-divider {height:22px;width:1px;background:var(--tvu-line);}
html.tv-unified #tvExecutiveHeader img {width:34px;height:34px;object-fit:contain;}
/* The same native profile node is moved, not duplicated. */
html.tv-unified body #tv-ui-frame #tvExecutiveHeader #UserProfile {
    display:grid!important;grid-template-columns:40px minmax(100px,auto) auto;grid-template-rows:24px 20px;column-gap:12px;
    position:relative!important;inset:auto!important;float:none!important;height:auto!important;min-height:44px!important;width:auto!important;
    margin:0!important;padding:0!important;box-sizing:border-box;cursor:default!important;background:none!important;
}
html.tv-unified body #tv-ui-frame #tvExecutiveHeader #UserProfilePic {
    grid-column:1;grid-row:1/3;display:block!important;visibility:visible!important;opacity:1!important;position:static!important;float:none!important;
    width:40px!important;height:40px!important;min-width:40px!important;min-height:40px!important;align-self:center;
    border-radius:50%!important;background-size:cover!important;background-position:center!important;background-repeat:no-repeat!important;
}
html.tv-unified #tvExecutiveHeader #UserProfile > .contactNameText {grid-column:2;grid-row:1;margin:0!important;font-size:14px;line-height:24px;max-width:340px;}
html.tv-unified #tvExecutiveHeader #UserProfile > .presenceText {grid-column:2;grid-row:2;margin:0!important;font-size:12px;line-height:20px;color:var(--tvu-muted);}
html.tv-unified #tvExecutiveHeader #UserProfile > .settingsMenu {grid-column:3;grid-row:1/3;display:flex;align-items:center;float:none!important;gap:4px;margin-left:8px;}
html.tv-unified #tvExecutiveHeader #BtnFreeDial {display:none!important;}
html.tv-unified #tvExecutiveHeader #UserProfile .roundButtons {width:40px;min-width:40px;height:40px;padding:0;border:0;border-radius:5px;background:transparent;color:var(--tvu-muted);box-shadow:none;}
html.tv-unified #tvExecutiveHeader #UserProfile .roundButtons:hover {background:#eef6f6;color:var(--tvu-teal);}
html.tv-unified #tvExecutiveHeader #UserProfile .roundButtons i {color:inherit!important;}
html.tv-unified #tv-ui-header-extension {margin-left:10px;font-size:12px;color:var(--tvu-muted);font-weight:400;}
html.tv-unified #TxtVoiceMessages {position:absolute;right:0;top:0;}
html.tv-unified body #tv-ui-frame #tvExecutiveHeader #SettingsMenu,
html.tv-unified body #tv-ui-frame #tvExecutiveHeader #BtnAddSomeone {color:var(--tvu-muted)!important;}
html.tv-unified #tvExecutiveHeader .dotOnline, html.tv-unified #tvExecutiveHeader .dotOffline {vertical-align:baseline;background:none!important;position:static!important;width:auto!important;height:auto!important;}
html.tv-unified #tv-ui-frame #actionArea #dialDeleteKey {color:var(--tvu-teal)!important;background:transparent;border:0;min-width:32px;min-height:40px;}
html.tv-unified #tv-ui-frame[data-view="settings"] #actionArea button {min-height:40px;padding:8px 14px;border:1px solid #bccdd7;border-radius:5px;background:#fff;color:var(--tvu-ink);font-size:14px;box-shadow:none;}
html.tv-unified #tv-ui-frame[data-view="settings"] #actionArea .tv-settings-save {background:var(--tvu-teal)!important;color:#fff!important;border-color:var(--tvu-teal)!important;}

/* Primary layout: no overlay rail, no offsets, no document scrolling. */
html.tv-unified body #tv-ui-frame #Phone.pageContainer {
    grid-row:3;display:grid!important;grid-template-columns:var(--tvu-rail) minmax(0,1fr)!important;
    grid-template-rows:minmax(0,1fr);align-items:stretch!important;gap:0!important;position:relative!important;inset:auto!important;
    transform:none!important;float:none!important;width:100%!important;max-width:none!important;min-width:0!important;height:100%!important;min-height:0!important;
    margin:0!important;padding:0!important;border:0!important;border-radius:0!important;box-shadow:none!important;overflow:hidden!important;box-sizing:border-box!important;
}
html.tv-unified body #tv-ui-frame #Phone > #tv-ui-nav {
    grid-column:1;grid-row:1;display:flex!important;flex-direction:column;position:relative!important;inset:auto!important;transform:none!important;
    width:auto!important;height:auto!important;min-height:0;overflow-y:auto;overflow-x:hidden;background:var(--tvu-bg);
    border-right:1px solid var(--tvu-line);padding:14px 4px;box-sizing:border-box;
}
html.tv-unified #tv-ui-nav .tv-nav-item {
    appearance:none!important;display:flex!important;flex-direction:column;align-items:center;justify-content:center;gap:8px;
    width:100%!important;min-height:72px;margin:2px 0!important;padding:10px 2px!important;border:0!important;border-left:3px solid transparent!important;
    border-radius:0!important;background:transparent!important;box-shadow:none!important;color:var(--tvu-muted)!important;
    font:12px/1.25 Arial,sans-serif!important;cursor:pointer;
}
html.tv-unified #tv-ui-nav .tv-nav-item i {font-size:19px!important;}
html.tv-unified #tv-ui-nav .tv-nav-item:hover, html.tv-unified #tv-ui-nav .tv-nav-item.is-active {background:#e6f3f3!important;color:var(--tvu-teal)!important;}
html.tv-unified #tv-ui-nav .tv-nav-item.is-active {border-left-color:var(--tvu-teal)!important;font-weight:700!important;}
html.tv-unified body #tv-ui-frame #Phone > #leftContent {
    grid-column:2;grid-row:1;display:none!important;position:relative!important;float:none!important;inset:auto!important;transform:none!important;
    margin:0!important;padding:0!important;width:100%!important;min-width:0!important;max-width:none!important;height:100%!important;min-height:0!important;
    border:0!important;border-right:1px solid var(--tvu-line)!important;border-radius:0!important;box-shadow:none!important;overflow:hidden!important;background:#fff!important;box-sizing:border-box!important;
}
html.tv-unified body #tv-ui-frame #Phone > #rightContent {
    grid-column:2;grid-row:1;display:block!important;position:relative!important;float:none!important;inset:auto!important;transform:none!important;margin:0!important;padding:0!important;
    width:100%!important;min-width:0!important;max-width:none!important;height:100%!important;min-height:0!important;border:0!important;border-radius:0!important;
    box-shadow:none!important;overflow:auto!important;background:#fff!important;box-sizing:border-box!important;scroll-behavior:auto!important;
}
@media(min-width:1050px) {
    html.tv-unified body #tv-ui-frame:is([data-view="calls"],[data-view="live"],[data-view="detail"]) #Phone.pageContainer {grid-template-columns:var(--tvu-rail) var(--tvu-directory) minmax(0,1fr)!important;}
    html.tv-unified body #tv-ui-frame:is([data-view="calls"],[data-view="live"],[data-view="detail"]) #Phone > #leftContent {display:block!important;}
    html.tv-unified body #tv-ui-frame:is([data-view="calls"],[data-view="live"],[data-view="detail"]) #Phone > #rightContent {grid-column:3!important;}
}
html.tv-unified body #tv-ui-frame[data-view="contacts"] #Phone > #leftContent {display:block!important;border-right:0!important;}
html.tv-unified body #tv-ui-frame[data-view="contacts"] #Phone > #rightContent {display:none!important;}
/* The native directory and its search/filter controls remain operational. */
html.tv-unified body #tv-ui-frame #leftContentTable {display:block!important;width:100%!important;height:100%!important;margin:0!important;border:0!important;border-collapse:collapse;table-layout:fixed;}
html.tv-unified body #tv-ui-frame #leftContentTable > tbody {display:flex!important;flex-direction:column;height:100%!important;min-height:0;width:100%;}
html.tv-unified body #tv-ui-frame #leftContentTable > tbody > tr {display:block!important;flex:0 0 auto;position:relative;width:100%;min-height:0;}
html.tv-unified body #tv-ui-frame #leftContentTable > tbody > tr:last-child {flex:1 1 0!important;}
html.tv-unified body #tv-ui-frame #leftContentTable > tbody > tr > td {display:block!important;position:relative;width:100%!important;height:100%!important;min-height:0;box-sizing:border-box;background:#fff!important;border:0!important;}
html.tv-unified #leftContentTable .profileContainer {display:none!important;}
html.tv-unified #tv-ui-directory-caption {padding:22px 16px 12px;}
html.tv-unified #tv-ui-directory-caption h2 {font:600 16px/24px Arial,sans-serif;margin:0;color:var(--tvu-ink);}
html.tv-unified body #tv-ui-frame #leftContentTable #searchArea {display:block!important;}
html.tv-unified body #tv-ui-frame #leftContentTable > tbody > #searchArea > td {display:flex!important;align-items:center;gap:8px;padding:0 12px 12px!important;}
html.tv-unified #leftContent #divFindBuddy {display:flex!important;align-items:center;flex:1 1 0;min-width:0;height:40px;padding:0 10px!important;background:#f7f9fa!important;border:1px solid var(--tvu-line)!important;border-radius:5px!important;color:var(--tvu-muted);}
html.tv-unified #leftContent #divFindBuddy input {flex:1;width:100%!important;min-width:0;max-width:none;margin:0 0 0 8px!important;padding:0!important;height:36px;box-sizing:border-box;font-size:14px;outline:none;background:none!important;}
html.tv-unified #leftContent #divFindBuddy:focus-within {outline:2px solid var(--tvu-teal);outline-offset:2px;}
html.tv-unified #leftContent #BtnFilter {flex:0 0 40px;width:40px!important;height:40px!important;min-width:40px;margin:0!important;border:1px solid var(--tvu-line);border-radius:5px;background:#fff;color:var(--tvu-teal)!important;box-shadow:none;}
html.tv-unified #leftContent #BtnFilter i {color:inherit!important;}
html.tv-unified body #tv-ui-frame #myContacts {position:static!important;width:100%!important;max-width:none!important;height:100%!important;max-height:none!important;min-height:0!important;padding:8px 16px 20px!important;overflow:auto!important;box-sizing:border-box!important;}
html.tv-unified #leftContent .tecnasys-company-row {padding:12px 4px!important;min-height:60px;box-sizing:border-box;border-bottom:1px solid #edf1f4;border-radius:0!important;box-shadow:none!important;}
html.tv-unified #leftContent .tecnasys-company-row:hover {background:#f6fafa!important;}
html.tv-unified #leftContent .tecnasys-directory-heading {margin:10px 0 0!important;padding:8px 4px!important;color:var(--tvu-muted)!important;letter-spacing:1px!important;font-size:11px!important;}
html.tv-unified #leftContent .tecnasys-directory-icon {color:var(--tvu-muted)!important;}
html.tv-unified #leftContent .tecnasys-company-row button {min-width:36px;min-height:36px;color:var(--tvu-teal);}
html.tv-unified body #tv-ui-frame[data-view="contacts"] #leftContentTable {max-width:1160px!important;}
html.tv-unified #tv-ui-frame[data-view="contacts"] #tv-ui-directory-caption {padding:26px 32px 18px;}
html.tv-unified #tv-ui-frame[data-view="contacts"] #tv-ui-directory-caption h2 {font-size:22px;}
html.tv-unified body #tv-ui-frame[data-view="contacts"] #leftContentTable > tbody > #searchArea > td {padding:0 32px 18px!important;}
html.tv-unified body #tv-ui-frame[data-view="contacts"] #myContacts {padding:0 32px 32px!important;}
html.tv-unified #tv-ui-frame[data-view="contacts"] .tecnasys-company-row {min-height:66px;padding:12px 8px!important;font-size:15px;}
/* Remove superseded visual adapters only, not native telephony. */
html.tv-unified #tv-executive-heading, html.tv-unified #tvExecutiveNavigation, html.tv-unified #tv-executive-navigation,
html.tv-unified #tvExecutiveDialer, html.tv-unified #tvExecutivePlaceholder, html.tv-unified #tecnasysVoiceFooter {display:none!important;}
html.tv-unified #tv-ui-toolbar {display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:70px;box-sizing:border-box;padding:14px 32px;border-bottom:1px solid var(--tvu-line);background:#fff;position:sticky;top:0;z-index:3;}
html.tv-unified #tv-ui-title {font:600 22px/1.3 Arial,sans-serif;margin:0;color:var(--tvu-ink);}
html.tv-unified .tv-toolbar-actions {display:flex;gap:8px;align-items:center;}
html.tv-unified #tv-ui-tools[hidden] {display:none!important;}
html.tv-unified #tv-ui-frame .tv-button {appearance:none;display:inline-flex;align-items:center;justify-content:center;gap:8px;border:1px solid #ccd9e2!important;border-radius:5px!important;background:#fff!important;color:var(--tvu-ink)!important;box-shadow:none!important;min-height:42px;padding:10px 16px;font:14px/1.2 Arial,sans-serif!important;cursor:pointer;white-space:nowrap;}
html.tv-unified #tv-ui-frame .tv-button:hover {background:#eff6f6!important;border-color:var(--tvu-teal)!important;}
html.tv-unified #tv-ui-frame .tv-primary {background:var(--tvu-teal)!important;border-color:var(--tvu-teal)!important;color:#fff!important;}
html.tv-unified #tv-ui-frame .tv-primary:hover {background:#00696e!important;}
html.tv-unified #tv-ui-frame .tv-button:disabled {opacity:.5;cursor:not-allowed;}
html.tv-unified #tv-ui-frame :is(button,input,select,summary):focus-visible {outline:2px solid var(--tvu-teal)!important;outline-offset:2px;}
html.tv-unified .tv-view {display:none;padding:28px 32px;box-sizing:border-box;}
html.tv-unified #tv-ui-notice:empty,html.tv-unified #tv-ui-call-strip:empty {display:none;}
html.tv-unified #tv-ui-notice {padding:12px 32px;background:#fff7e2;color:#735115;font-size:14px;}
html.tv-unified #tv-ui-call-strip {display:flex;flex-wrap:wrap;gap:12px;padding:10px 32px;border-bottom:1px solid var(--tvu-line);background:#edf7f6;grid-row:2;position:relative;z-index:2;}
html.tv-unified .tv-live-item {display:flex;align-items:center;gap:16px;font-size:14px;}
html.tv-unified #tv-ui-frame[data-view="home"] #tv-ui-home,
html.tv-unified #tv-ui-frame[data-view="history"] #tv-ui-history,
html.tv-unified #tv-ui-frame[data-view="calls"] #tv-ui-action,
html.tv-unified #tv-ui-frame[data-view="settings"] #tv-ui-preferences,
html.tv-unified #tv-ui-frame[data-view="settings"] #tv-ui-action,
html.tv-unified #tv-ui-frame[data-view="native"] #tv-ui-action {display:block!important;}
html.tv-unified #tv-ui-frame #rightContent > table[id^="stream-"],html.tv-unified #tv-ui-frame #rightContent > table[id^="line-ui-"] {display:none!important;}
html.tv-unified #tv-ui-frame[data-view="detail"] #rightContent > table[id^="stream-"].streamSelected,
html.tv-unified #tv-ui-frame[data-view="live"] #rightContent > table[id^="line-ui-"].streamSelected {display:table!important;width:100%!important;margin:0!important;border:0!important;border-radius:0!important;box-shadow:none!important;background:#fff!important;}
html.tv-unified #tv-ui-frame[data-view="detail"] .chatHistory {position:static!important;height:auto!important;max-height:none!important;overflow:visible!important;}
/* Home: useful activity, not invented metrics. */
html.tv-unified #tv-ui-home {max-width:1180px;padding:36px 40px 48px;}
html.tv-unified #tv-ui-home h2 {font-size:30px;line-height:1.25;margin:10px 0 8px;letter-spacing:-.5px;}
html.tv-unified .tv-eyebrow {color:var(--tvu-teal);font-size:11px;letter-spacing:1.8px;line-height:20px;}
html.tv-unified .tv-muted {font-size:13px;line-height:1.55;color:var(--tvu-muted);}
html.tv-unified .tv-shortcuts {display:flex;gap:12px;flex-wrap:wrap;margin:24px 0 42px;}
html.tv-unified .tv-section-heading {display:flex;justify-content:space-between;align-items:center;gap:12px;border-top:1px solid var(--tvu-line);padding-top:24px;}
html.tv-unified .tv-section-heading h3 {font-size:18px;margin:0;}
html.tv-unified .tv-recent-list {list-style:none;margin:8px 0 0;padding:0;}
html.tv-unified .tv-recent-row {display:grid;grid-template-columns:minmax(0,1fr) 160px auto;gap:20px;align-items:center;padding:18px 0;border-bottom:1px solid var(--tvu-line);}
html.tv-unified .tv-recent-person {display:flex;flex-direction:column;gap:5px;overflow-wrap:anywhere;}
html.tv-unified .tv-recent-person strong {font-size:15px;font-weight:600;}
html.tv-unified .tv-recent-time {color:var(--tvu-muted);font-size:13px;}
/* Dialer: native field, keypad and call handlers, no generated telephony. */
html.tv-unified #tv-ui-action #actionArea {position:static!important;display:block!important;width:100%!important;height:auto!important;min-height:0!important;max-width:none!important;overflow:visible!important;margin:0!important;padding:0!important;box-sizing:border-box;}
html.tv-unified #tv-ui-frame[data-view="calls"] #tv-ui-action {max-width:500px;margin:0 auto;padding:24px 32px 40px;}
html.tv-unified #tv-ui-frame[data-view="calls"] #actionArea > div:first-child {text-align:right!important;}
html.tv-unified #tv-ui-frame #actionArea .tv-native-close {min-width:40px;min-height:40px;border:0;background:transparent;color:var(--tvu-muted);}
html.tv-unified #tv-ui-frame #tv-ui-dial-label {display:block;text-align:center;font-size:14px;font-weight:600;margin:0 0 12px;color:var(--tvu-ink);}
html.tv-unified #tv-ui-frame #actionArea #dialText {width:292px!important;max-width:100%!important;height:52px!important;box-sizing:border-box!important;font-size:22px!important;border:1px solid #b9cbd6!important;border-bottom:2px solid var(--tvu-teal)!important;border-radius:5px!important;background:#fff!important;color:var(--tvu-ink)!important;text-align:center!important;}
html.tv-unified #tv-ui-frame #actionArea #dialText::placeholder {font-size:14px;color:var(--tvu-muted);}
html.tv-unified #tv-ui-frame #actionArea .dialButtons {width:62px!important;height:58px!important;min-width:62px!important;max-width:62px!important;border:1px solid var(--tvu-line)!important;border-radius:6px!important;box-shadow:none!important;background:#f6f9fa!important;color:var(--tvu-ink)!important;margin:0!important;}
html.tv-unified #tv-ui-frame #actionArea .dialButtons div {color:var(--tvu-ink)!important;font-size:23px;}
html.tv-unified #tv-ui-frame #actionArea .dialButtons span {color:var(--tvu-muted)!important;}
html.tv-unified #tv-ui-frame #actionArea .dialButtons:hover {border-color:var(--tvu-teal)!important;background:#edf6f6!important;}
html.tv-unified #tv-ui-frame #actionArea .tv-dial-actions {display:flex!important;justify-content:center;align-items:center;gap:12px;margin-top:6px;}
html.tv-unified #tv-ui-frame #actionArea #dialAudio {width:156px!important;max-width:none!important;min-width:0!important;height:48px!important;background:var(--tvu-teal)!important;border-color:var(--tvu-teal)!important;color:#fff!important;}
html.tv-unified #tv-ui-frame #actionArea #dialVideo {width:112px!important;max-width:none!important;min-width:0!important;height:48px!important;background:#fff!important;border-color:#b9cbd6!important;color:var(--tvu-ink)!important;}
html.tv-unified #tv-ui-frame #actionArea #dialAudio i,html.tv-unified #tv-ui-frame #actionArea #dialAudio span {color:#fff!important;}
html.tv-unified #tv-ui-frame #actionArea #dialVideo i,html.tv-unified #tv-ui-frame #actionArea #dialVideo span {color:var(--tvu-ink)!important;}
html.tv-unified #tv-ui-frame #actionArea .tv-dial-label {font:600 14px Arial,sans-serif!important;margin-left:8px;}
/* History: do not manufacture data missing from native CDRs. */
html.tv-unified .tv-history-filter {display:flex;gap:12px;flex-wrap:wrap;align-items:center;}
html.tv-unified .tv-history-filter input,html.tv-unified .tv-history-filter select,html.tv-unified #tv-ui-start-view {height:42px;padding:8px 12px;border:1px solid #bccdd7;border-radius:5px;background:#fff;color:var(--tvu-ink);font:14px Arial,sans-serif;box-sizing:border-box;}
html.tv-unified .tv-history-filter input {min-width:180px;flex:1;}
html.tv-unified .tv-table-scroll {overflow:auto;width:100%;}
html.tv-unified .tv-history-table {width:100%;border-collapse:collapse;text-align:left;font:14px/1.5 Arial,sans-serif;}
html.tv-unified .tv-history-table th {font-size:12px;color:var(--tvu-muted);font-weight:600;background:#f6f8fa;white-space:nowrap;}
html.tv-unified .tv-history-table th,html.tv-unified .tv-history-table td {padding:16px 14px;border-bottom:1px solid var(--tvu-line);vertical-align:middle;}
html.tv-unified .tv-history-table strong {display:block;font-weight:600;}
html.tv-unified .tv-history-table small {display:block;color:var(--tvu-muted);font-size:12px;margin-top:4px;}
html.tv-unified .tv-history-actions {white-space:nowrap;}
html.tv-unified .tv-history-actions button+button {margin-left:8px;}
html.tv-unified .tv-result {color:var(--tvu-muted);font-size:13px;}
html.tv-unified .tv-empty {padding:24px 0;text-align:left;color:var(--tvu-muted);}
html.tv-unified .tv-pager {display:flex;gap:12px;align-items:center;justify-content:flex-end;padding-top:20px;font-size:13px;}
/* Preferences and original settings share the same width and alignment. */
html.tv-unified #tv-ui-preferences,html.tv-unified #tv-ui-frame:is([data-view="settings"],[data-view="native"]) #tv-ui-action {max-width:900px;margin:0;padding:28px 32px;}
html.tv-unified #tv-ui-preferences {padding-bottom:0!important;}
html.tv-unified #tv-ui-preferences h2 {font-size:18px;margin:0 0 22px;}
html.tv-unified .tv-preference-row {display:flex;justify-content:space-between;align-items:center;gap:24px;}
html.tv-unified .tv-preference-row label {font-size:14px;}
html.tv-unified .tv-about {border-top:1px solid var(--tvu-line);margin-top:24px;padding:16px 0;}
html.tv-unified .tv-about summary {min-height:32px;line-height:32px;cursor:pointer;color:var(--tvu-muted);font-size:13px;}
html.tv-unified #tv-ui-preferences .tv-native-settings-heading {margin:24px 0 0;padding-top:24px;border-top:1px solid var(--tvu-line);}
html.tv-unified #tv-ui-frame[data-view="settings"] #actionArea .UiTextHeading {font-size:15px;color:var(--tvu-ink)!important;min-height:44px;border-bottom:1px solid var(--tvu-line);}
html.tv-unified #tv-ui-frame[data-view="settings"] #actionArea .tv-setting-icon {color:var(--tvu-teal)!important;}
html.tv-unified #tv-ui-footer {grid-row:4;display:flex;gap:16px;justify-content:space-between;align-items:center;padding:0 16px;border-top:1px solid var(--tvu-line);background:#fff;font:10px Arial,sans-serif;color:var(--tvu-muted);overflow:hidden;white-space:nowrap;}
/* Retain the existing no-avatar call presentation. Never hide the user's photo. */
html.tv-unified #Phone .inCallAvatar,html.tv-unified #Phone .CallPictureUnderlay {display:none!important;}
html.tv-unified #Phone .CallColorUnderlay {background:none!important;}
html.tv-unified #Phone .wallpaperBackground {background-image:none!important;background-color:#fff!important;}
html.tv-unified #Phone .ourChatMessage,html.tv-unified #Phone .theirChatMessage {width:100%!important;max-width:none!important;margin:0!important;border-bottom:1px solid var(--tvu-line)!important;background:#fff!important;border-radius:0!important;box-shadow:none!important;}
html.tv-unified #Phone .ourChatMessageText,html.tv-unified #Phone .theirChatMessageText {background:transparent!important;border-radius:0!important;box-shadow:none!important;color:var(--tvu-ink)!important;text-align:left!important;}
@media(max-width:1050px) {
    html.tv-unified .tv-history-actions button {display:flex;margin:0 0 6px!important;}
    html.tv-unified .tv-recent-row {grid-template-columns:minmax(0,1fr) auto;gap:12px;}
    html.tv-unified .tv-recent-time {grid-column:1;grid-row:2;}
    html.tv-unified .tv-recent-row > button {grid-column:2;grid-row:1/3;}
}
@media(max-width:700px) {
    html.tv-unified {--tvu-rail:68px;}
    html.tv-unified body #tv-ui-frame {grid-template-rows:64px auto minmax(0,1fr) 22px;}
    html.tv-unified body #tv-ui-frame #tvExecutiveHeader {height:64px!important;padding:0 12px!important;gap:8px;}
    html.tv-unified #tvExecutiveHeader .tv-executive-product,html.tv-unified #tvExecutiveHeader .tv-executive-divider {display:none;}
    html.tv-unified #tvExecutiveHeader .tv-executive-company {font-size:17px;}
    html.tv-unified #tvExecutiveHeader .tv-executive-brand {gap:8px;}
    html.tv-unified #tvExecutiveHeader img {width:28px;height:28px;}
    html.tv-unified body #tv-ui-frame #tvExecutiveHeader #UserProfile {grid-template-columns:32px minmax(0,1fr);column-gap:8px;min-width:0;}
    html.tv-unified body #tv-ui-frame #tvExecutiveHeader #UserProfilePic {width:32px!important;height:32px!important;min-width:32px!important;min-height:32px!important;}
    html.tv-unified #tvExecutiveHeader #UserProfile > .settingsMenu {display:none!important;}
    html.tv-unified #tvExecutiveHeader #UserProfile > .contactNameText {font-size:12px;max-width:160px;}
    html.tv-unified #tv-ui-header-extension {display:none;}
    html.tv-unified #tvExecutiveHeader #UserProfile > .presenceText {font-size:11px;}
    html.tv-unified #tv-ui-nav .tv-nav-item {font-size:10px!important;min-height:66px;padding:8px 0!important;}
    html.tv-unified #tv-ui-toolbar {padding:12px 16px;min-height:60px;}
    html.tv-unified #tv-ui-title {font-size:19px;}
    html.tv-unified #tv-ui-call-strip {padding:10px 16px;}
    html.tv-unified .tv-live-item {flex-wrap:wrap;gap:8px;}
    html.tv-unified #tv-ui-home {padding:24px 18px;}
    html.tv-unified #tv-ui-home h2 {font-size:26px;}
    html.tv-unified .tv-view {padding:20px 16px;}
    html.tv-unified .tv-shortcuts {gap:8px;margin-bottom:32px;}
    html.tv-unified #tv-ui-frame .tv-button {font-size:13px!important;padding:9px 11px;}
    html.tv-unified .tv-section-heading h3 {font-size:17px;}
    html.tv-unified .tv-recent-row {grid-template-columns:minmax(0,1fr);}
    html.tv-unified .tv-recent-row > button {grid-column:1;grid-row:3;justify-self:start;}
    html.tv-unified #tv-ui-frame[data-view="calls"] #tv-ui-action {padding:16px 10px 24px;}
    html.tv-unified #tv-ui-frame #actionArea .dialButtons {width:54px!important;height:54px!important;min-width:54px!important;max-width:54px!important;}
    html.tv-unified #tv-ui-frame #actionArea #dialAudio {width:136px!important;}
    html.tv-unified #tv-ui-frame #actionArea #dialVideo {width:98px!important;}
    html.tv-unified #tv-ui-frame #actionArea .tv-dial-actions {gap:8px;}
    html.tv-unified #tv-ui-preferences,html.tv-unified #tv-ui-frame:is([data-view="settings"],[data-view="native"]) #tv-ui-action {padding:24px 16px;}
    html.tv-unified .tv-preference-row {align-items:flex-start;flex-direction:column;gap:12px;}
    html.tv-unified #tv-ui-start-view {width:100%;}
    html.tv-unified #tv-ui-frame[data-view="contacts"] #tv-ui-directory-caption {padding:24px 18px 16px;}
    html.tv-unified body #tv-ui-frame[data-view="contacts"] #leftContentTable > tbody > #searchArea > td {padding:0 16px 16px!important;}
    html.tv-unified body #tv-ui-frame[data-view="contacts"] #myContacts {padding:0 16px 24px!important;}
    html.tv-unified .tv-table-scroll {border:1px solid var(--tvu-line);}
    html.tv-unified .tv-history-table {min-width:850px;}
}
@media(prefers-reduced-motion:reduce) {html.tv-unified * {scroll-behavior:auto!important;transition:none!important;}}

/* U1.2: native surfaces, same DOM nodes and original handlers. */
html.tv-unified {--tvu-danger:#b42332;}
/* One focus ring on the directory search, never nested outlines. */
html.tv-unified body #tv-ui-frame #leftContent #divFindBuddy input,
html.tv-unified body #tv-ui-frame #leftContent #divFindBuddy input:focus,
html.tv-unified body #tv-ui-frame #leftContent #divFindBuddy input:focus-visible {
    border:0!important;outline:0!important;box-shadow:none!important;border-radius:0!important;background:transparent!important;
}
html.tv-unified body #tv-ui-frame #leftContent #divFindBuddy:focus-within {
    border-color:var(--tvu-teal)!important;outline:2px solid var(--tvu-teal);outline-offset:1px;
}
html.tv-unified #tv-ui-frame[data-view="contacts"] #leftContentTable {max-width:1080px!important;}
html.tv-unified body #tv-ui-frame[data-view="contacts"] #leftContent .tecnasys-company-row {
    min-height:64px;padding:12px 12px!important;margin:0!important;line-height:1.45;
}
html.tv-unified #leftContent .tecnasys-company-row .presenceText {font-size:12px;line-height:18px;color:var(--tvu-muted);}
html.tv-unified #leftContent .tecnasys-company-row :is(button,[role="button"]) {min-width:40px;min-height:40px;}
/* Settings and native forms: a single alignment and input system. */
html.tv-unified body #tv-ui-frame:is([data-view="settings"],[data-view="native"]) #tv-ui-action {
    max-width:920px;padding:24px 32px 44px!important;box-sizing:border-box;
}
html.tv-unified body #tv-ui-frame #actionArea > .UiSideField {
    width:100%!important;max-width:100%!important;margin:0!important;padding:0!important;box-sizing:border-box;
}
html.tv-unified body #tv-ui-frame:is([data-view="settings"],[data-view="native"]) #actionArea :is(input:not([type="checkbox"]):not([type="radio"]):not([type="range"]):not([type="file"]):not([type="hidden"]),select,textarea) {
    width:100%!important;max-width:100%!important;min-width:0!important;box-sizing:border-box!important;
    min-height:44px;padding:10px 12px!important;border:1px solid #b9cbd6!important;border-radius:5px!important;
    background:#fff!important;color:var(--tvu-ink)!important;box-shadow:none!important;font:14px/1.4 Arial,sans-serif!important;
}
html.tv-unified body #tv-ui-frame:is([data-view="settings"],[data-view="native"]) #actionArea input:is([type="checkbox"],[type="radio"]) {
    accent-color:var(--tvu-teal);width:17px;height:17px;vertical-align:middle;margin:8px 8px 8px 0;
}
html.tv-unified body #tv-ui-frame:is([data-view="settings"],[data-view="native"]) #actionArea .UiText {
    font:500 14px/1.45 Arial,sans-serif!important;color:var(--tvu-ink);margin:0 0 7px!important;
}
html.tv-unified body #tv-ui-frame:is([data-view="settings"],[data-view="native"]) #actionArea label {font-size:14px;line-height:1.6;}
html.tv-unified body #tv-ui-frame #actionArea .tv-form-close {
    min-height:36px!important;padding:7px 10px!important;border:1px solid var(--tvu-line)!important;
    border-radius:5px;background:#fff;color:var(--tvu-muted)!important;font-size:13px;box-shadow:none!important;margin:0 0 18px!important;
}
html.tv-unified #actionArea .tv-close-label {margin-left:8px;font:13px Arial,sans-serif;}
html.tv-unified body #tv-ui-frame #actionArea .UiWindowButtonBar {
    text-align:left!important;height:auto!important;line-height:normal!important;padding:24px 0 0;margin-top:24px;border-top:1px solid var(--tvu-line);
}
html.tv-unified body #tv-ui-frame #actionArea .tv-form-button {
    min-height:42px!important;padding:10px 18px!important;margin:0 10px 8px 0!important;border:1px solid #bccdd7!important;
    border-radius:5px!important;background:#fff!important;color:var(--tvu-ink)!important;box-shadow:none!important;font:14px Arial,sans-serif!important;
}
html.tv-unified body #tv-ui-frame #actionArea .tv-form-primary {
    background:var(--tvu-teal)!important;color:#fff!important;border-color:var(--tvu-teal)!important;
}
html.tv-unified #tv-ui-preferences {max-width:920px!important;}
html.tv-unified #tv-ui-preferences .tv-native-settings-heading {margin-top:20px;padding-top:24px;}
html.tv-unified body #tv-ui-frame #actionArea .tv-accordion-heading {
    box-sizing:border-box;min-height:56px!important;padding:17px 6px!important;margin:0!important;
    background:#fff;font:600 15px/22px Arial,sans-serif!important;border-bottom:1px solid var(--tvu-line)!important;
}
html.tv-unified #actionArea .tv-accordion-heading::before {margin-right:8px;color:var(--tvu-muted);line-height:22px;}
html.tv-unified #actionArea .tv-accordion-heading[aria-expanded="true"]::before {transform:rotate(180deg);}
html.tv-unified #actionArea .tv-accordion-heading .UiTextHeadingIcon {
    color:var(--tvu-teal)!important;background:transparent!important;width:22px;margin-right:8px;text-align:center;
}
html.tv-unified #tv-ui-native-note {margin:0 0 24px;padding:12px 14px;background:#f5f8fa;border-left:3px solid #91b9bd;line-height:1.55;}
html.tv-unified #tv-ui-native-note[hidden] {display:none!important;}
html.tv-unified #actionArea:is([data-tv-kind="add-contact"],[data-tv-kind="edit-contact"]) > .UiSideField {
    display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:20px 24px;
}
html.tv-unified #actionArea:is([data-tv-kind="add-contact"],[data-tv-kind="edit-contact"]) > .UiSideField > * {grid-column:1/-1;min-width:0;}
html.tv-unified #actionArea:is([data-tv-kind="add-contact"],[data-tv-kind="edit-contact"]) > .UiSideField > :is(#RowMobileNumber,#RowEmail,#RowContact1,#RowContact2) {grid-column:auto;}
html.tv-unified #actionArea .tv-field-pair {min-width:0;}
html.tv-unified #actionArea:is([data-tv-kind="add-contact"],[data-tv-kind="edit-contact"]) ul {
    list-style:none!important;padding:12px 16px!important;margin:0!important;background:#f5f8fa;border:1px solid var(--tvu-line);border-radius:5px;
}
html.tv-unified #actionArea #RowSubscribe {padding-top:12px;}
/* Existing user menu: retain native items, checks and permission policies. */
html.tv-unified .ui-menu.tv-user-menu {
    width:286px!important;min-width:0!important;max-width:calc(100vw - 24px)!important;max-height:calc(100dvh - 92px);overflow:auto;
    padding:6px!important;border:1px solid #cddae3!important;border-radius:6px!important;background:#fff!important;
    color:var(--tvu-ink)!important;box-shadow:0 2px 6px #172d4014!important;font:14px/1.45 Arial,sans-serif!important;
}
html.tv-unified .tv-user-menu .ui-menu-item-wrapper {
    min-height:42px;padding:11px 12px 11px 38px!important;box-sizing:border-box;border:0!important;margin:0!important;
}
html.tv-unified .tv-user-menu .ui-menu-item-wrapper .ui-icon {
    left:12px!important;color:var(--tvu-muted)!important;width:18px!important;height:18px!important;line-height:18px!important;padding:0!important;
}
html.tv-unified .tv-user-menu .ui-state-active {background:#edf7f7!important;color:var(--tvu-teal)!important;border:0!important;border-radius:4px;}
html.tv-unified .tv-user-menu .ui-menu-divider {margin:5px 6px!important;border-top:1px solid var(--tvu-line)!important;}
/* A return banner is useful only away from a single active call. */
html.tv-unified #tv-ui-frame[data-view="live"][data-call-count="1"] #tv-ui-call-strip {display:none!important;}
/* Native call panel: never move audio/video, duplicate controls, or force hidden controls visible. */
html.tv-unified body #tv-ui-frame #rightContent > table[data-tv-call-panel="true"] > tbody > tr:first-child > td {
    box-sizing:border-box;padding:12px 22px!important;background:#fff!important;border-bottom:1px solid var(--tvu-line)!important;
}
html.tv-unified #Phone table[data-tv-call-panel="true"] .lineIcon {
    background:#edf7f7!important;color:var(--tvu-teal)!important;box-shadow:none!important;border:1px solid #c8e2e3!important;
}
html.tv-unified #Phone table[data-tv-call-panel="true"] .callStatus {
    background:#f4f8fa!important;border:0!important;border-radius:4px!important;color:var(--tvu-muted)!important;
    font:13px/22px Arial,sans-serif!important;padding:3px 10px!important;box-sizing:border-box;
}
html.tv-unified #Phone table[data-tv-call-panel="true"] .CallTimer {font:500 16px/28px Arial,sans-serif!important;font-variant-numeric:tabular-nums;color:var(--tvu-ink);}
html.tv-unified #Phone table[data-tv-call-panel="true"] .CallUi {
    box-sizing:border-box;max-width:900px;width:100%;margin:0 auto!important;padding:44px 24px 34px!important;
}
html.tv-unified #Phone table[data-tv-call-panel="true"] .callingDisplayName {
    font:600 30px/1.25 Arial,sans-serif!important;color:var(--tvu-ink);margin:0 0 12px;overflow-wrap:anywhere;
}
html.tv-unified #Phone table[data-tv-call-panel="true"] .callingDisplayNumber {font:14px/22px Arial,sans-serif!important;color:var(--tvu-muted);}
html.tv-unified #Phone .tv-duplicate-number {display:none!important;}
html.tv-unified #Phone table[data-tv-call-panel="true"] :is(.progressCall,.answerCall) {padding:24px 0!important;}
html.tv-unified #Phone table[data-tv-call-panel="true"] :is(.progressCall,.answerCall) button,
html.tv-unified #Phone table[data-tv-call-panel="true"] button.tv-call-action {
    width:auto!important;min-width:104px!important;max-width:none!important;min-height:48px!important;height:auto!important;padding:12px 16px!important;
    margin:6px!important;border:1px solid #c4d5de!important;border-radius:6px!important;box-shadow:none!important;background:#fff!important;
    color:var(--tvu-ink)!important;font:14px/20px Arial,sans-serif!important;vertical-align:middle;
}
html.tv-unified #Phone table[data-tv-call-panel="true"] .tv-call-action i {font-size:18px!important;color:inherit!important;}
html.tv-unified #Phone .tv-native-action-label {font:13px/18px Arial,sans-serif;display:block;margin-top:6px;color:inherit!important;}
html.tv-unified #Phone table[data-tv-call-panel="true"] :is(.rejectButton,.hangupButton,.tv-call-danger) {
    background:var(--tvu-danger)!important;border-color:var(--tvu-danger)!important;color:#fff!important;
}
html.tv-unified #Phone table[data-tv-call-panel="true"] .answerButton {
    background:var(--tvu-teal)!important;border-color:var(--tvu-teal)!important;color:#fff!important;
}
html.tv-unified #Phone table[data-tv-call-panel="true"] :is([id$="-early-dtmf"],[id$="-btn-ShowDtmf"]) {color:var(--tvu-teal)!important;}
html.tv-unified #Phone table[data-tv-call-panel="true"] .CallControl {background:#fff!important;border:0!important;border-top:1px solid var(--tvu-line)!important;box-shadow:none!important;padding:12px 8px;box-sizing:border-box;}
@media(max-width:700px){
    html.tv-unified body #tv-ui-frame:is([data-view="settings"],[data-view="native"]) #tv-ui-action {padding:20px 16px 32px!important;}
    html.tv-unified #actionArea:is([data-tv-kind="add-contact"],[data-tv-kind="edit-contact"]) > .UiSideField {grid-template-columns:minmax(0,1fr);gap:18px;}
    html.tv-unified #actionArea:is([data-tv-kind="add-contact"],[data-tv-kind="edit-contact"]) > .UiSideField > :is(#RowMobileNumber,#RowEmail,#RowContact1,#RowContact2) {grid-column:1/-1;}
    html.tv-unified #Phone table[data-tv-call-panel="true"] .CallUi {padding:28px 12px!important;}
    html.tv-unified #Phone table[data-tv-call-panel="true"] .callingDisplayName {font-size:24px!important;}
    html.tv-unified #Phone table[data-tv-call-panel="true"] :is(.progressCall,.answerCall) button,
    html.tv-unified #Phone table[data-tv-call-panel="true"] button.tv-call-action {min-width:82px!important;padding:10px!important;margin:4px!important;}
    html.tv-unified #Phone .tv-native-action-label {font-size:12px;}
    html.tv-unified body #tv-ui-frame #rightContent > table[data-tv-call-panel="true"] > tbody > tr:first-child > td {padding:10px 8px!important;}
}
html.tv-unified #Phone table[data-tv-call-panel="true"] .CallUi {left:0!important;right:0!important;height:auto!important;}
html.tv-unified body #tv-ui-frame #actionArea .tv-form-close {display:inline-flex!important;align-items:center;justify-content:center;gap:8px;width:auto!important;min-width:92px!important;height:auto!important;}
html.tv-unified #actionArea .tv-close-label {margin:0;}
html.tv-unified #actionArea .tv-accordion-heading:focus-visible {outline:2px solid var(--tvu-teal)!important;outline-offset:2px;}
html.tv-unified #actionArea input[type="range"] {accent-color:var(--tvu-teal);}
html.tv-unified #actionArea input:is([type="checkbox"],[type="radio"]) + label {white-space:normal!important;overflow:visible!important;}
html.tv-unified #actionArea input:is([type="checkbox"],[type="radio"]) + label::before {color:var(--tvu-teal)!important;}
html.tv-unified #Phone table[data-tv-call-panel="true"] :is(.progressCall,.answerCall) button.rejectButton,
html.tv-unified #Phone table[data-tv-call-panel="true"] button.tv-call-action.tv-call-danger {background:var(--tvu-danger)!important;border-color:var(--tvu-danger)!important;color:#fff!important;}
html.tv-unified #Phone table[data-tv-call-panel="true"] .answerCall button.answerButton {background:var(--tvu-teal)!important;border-color:var(--tvu-teal)!important;color:#fff!important;}
html.tv-unified #Phone table[data-tv-call-panel="true"] button.roundButtons:not(.tv-call-action),
html.tv-unified #leftContent .tecnasys-company-row button {border:0!important;background:transparent!important;box-shadow:none!important;color:var(--tvu-teal)!important;min-width:36px;min-height:36px;}
html.tv-unified #Phone table[data-tv-call-panel="true"] .CallControl {border-radius:0!important;}

/* Operations A1.1: shared brand and embedded administrative view. */
html.tv-unified #tvExecutiveHeader .tv-executive-brand {align-items:center!important;line-height:1!important;}
html.tv-unified #tvExecutiveHeader .tv-executive-product {color:var(--tvu-teal)!important;font-weight:700!important;line-height:1!important;align-self:center;letter-spacing:2.6px;}
html.tv-unified body #tv-ui-frame #tv-ui-operations {display:none!important;padding:24px 28px;box-sizing:border-box;}
html.tv-unified body #tv-ui-frame[data-view="operations"] #tv-ui-operations {display:block!important;}
html.tv-unified body #tv-ui-frame[data-view="operations"] #tv-ui-tools {display:flex!important;}
html.tv-unified #tv-ui-operations > .title {display:none;}
html.tv-unified #tv-ui-operations .notice {margin-top:0;}
/* Native audio controls stay in their existing DOM and retain native visibility. */
html.tv-unified body #tv-ui-frame[data-view="live"] #rightContent {display:flex!important;flex-direction:column;overflow:auto!important;}
html.tv-unified body #tv-ui-frame[data-view="live"] #tv-ui-toolbar {flex:0 0 auto;}
html.tv-unified body #tv-ui-frame[data-view="live"] #rightContent > table[data-tv-call-panel="true"].streamSelected {height:calc(100% - 62px)!important;flex:0 0 auto;min-height:340px!important;}
html.tv-unified body #tv-ui-frame #rightContent > table[data-tv-call-panel="true"] .CallUi {padding:20px 20px 12px!important;top:6px!important;}
html.tv-unified body #tv-ui-frame #rightContent > table[data-tv-call-panel="true"] .CallControlContainer {bottom:16px!important;}
html.tv-unified body #tv-ui-frame #rightContent > table[data-tv-call-panel="true"] .CallControl {padding:8px 6px!important;}
html.tv-unified body #tv-ui-frame #rightContent > table[data-tv-call-panel="true"] .callingDisplayName {margin-bottom:8px!important;}
html.tv-unified body #tv-ui-frame #rightContent > table[data-tv-call-panel="true"] :is(.progressCall,.answerCall) {padding:12px 0!important;}
@media(max-height:780px){
html.tv-unified body #tv-ui-frame #rightContent > table[data-tv-call-panel="true"] > tbody > tr:first-child > td {height:64px!important;padding:8px 16px!important;}
html.tv-unified body #tv-ui-frame #rightContent > table[data-tv-call-panel="true"] button.tv-call-action {min-height:44px!important;min-width:84px!important;margin:4px!important;padding:8px 10px!important;}
html.tv-unified body #tv-ui-frame #rightContent > table[data-tv-call-panel="true"] .callingDisplayName {font-size:24px!important;}
}
@media(max-width:700px){html.tv-unified body #tv-ui-frame #tv-ui-operations {padding:16px;}}
