.tt-workspace,.tt-admin{background:var(--tt-paper)!important;font-family:TT,sans-serif!important;color:var(--tt-ink)!important}.tt-workspace .main{padding-top:0!important}.tt-workspace a,.tt-admin a{color:var(--tt-ink)}.tt-workspace h1,.tt-workspace h2,.tt-workspace h3,.tt-workspace h4,.tt-admin h1,.tt-admin h2,.tt-admin h3,.tt-admin h4{font-family:TT,sans-serif}.tt-work-topbar{background:white;border-bottom:1px solid var(--tt-line);padding:22px 5%;display:flex;align-items:center;justify-content:space-between;gap:25px}.tt-work-brand{font:bold 27px Arial!important;letter-spacing:-1px}.tt-work-brand span{color:var(--tt-accent,var(--tt-ink))}.tt-work-toplabel{font-size:11px;color:var(--tt-muted)}.tt-work-topbar nav{display:flex;gap:22px;font-size:12px}.tt-dashboard{max-width:1250px;margin:auto;padding:45px 35px 80px}.tt-work-heading{display:flex;align-items:center;justify-content:space-between;gap:25px;margin-bottom:35px}.tt-work-kicker{font-size:11px;color:var(--tt-muted);display:block;margin-bottom:10px}.tt-work-heading h1{font-size:30px;line-height:1.8;font-weight:700}.tt-work-heading p{color:var(--tt-muted);font-size:13px}.tt-work-button{display:inline-flex;align-items:center;justify-content:center;background:var(--tt-ink);color:white!important;border:0;border-radius:12px;padding:13px 21px;font-size:12px;font-weight:700;white-space:nowrap}.tt-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-bottom:35px}.tt-stats article{background:white;border:1px solid var(--tt-line);border-radius:22px;padding:25px}.tt-stats span{display:block;font-size:12px;color:var(--tt-muted)}.tt-stats strong{font-size:37px;display:block;margin:12px 0;color:var(--tt-ink)}.tt-stats small{font-size:10px;color:var(--tt-muted)}.tt-stats .tt-stat-text{font-size:24px;margin:22px 0}.tt-work-heading.compact{margin:35px 0 25px}.tt-work-heading.compact h2{font-size:20px}.tt-work-heading.compact>span{font-size:11px;color:var(--tt-muted)}.tt-profile-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.tt-profile-card{background:white;border:1px solid var(--tt-line);border-radius:24px;overflow:hidden}.tt-profile-cover{height:160px;position:relative;background:linear-gradient(130deg,var(--tt-surface,#e9ede7),#e1e5dc);display:grid;place-items:center}.tt-profile-cover img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.tt-profile-monogram{font-size:50px;color:var(--tt-ink);opacity:.7}.tt-profile-card-body{padding:23px}.tt-profile-card h3{font-size:20px;font-weight:700}.tt-profile-card p{font-size:11px;color:var(--tt-muted)}.tt-copy-field{display:flex;gap:8px;background:var(--tt-paper);border:1px solid var(--tt-line);border-radius:10px;padding:8px;margin:20px 0}.tt-copy-field input{width:100%;min-width:0;border:0;background:none;font:10px Arial;color:#60706b}.tt-copy-field button{white-space:nowrap;border:0;background:none;font:10px TT;color:var(--tt-ink);cursor:pointer}.tt-profile-actions{display:flex;gap:15px;align-items:center;font-size:11px;flex-wrap:wrap}.tt-profile-actions .tt-work-button{padding:11px 17px}.tt-profile-bottom{border-top:1px solid var(--tt-line);display:flex;justify-content:space-between;margin-top:20px;padding-top:15px;font-size:10px}.tt-profile-bottom button{background:none;border:0;color:#a85546;font:10px TT;cursor:pointer}.tt-work-notice{border:1px solid #e4d2b4;background:#fff8e9;border-radius:15px;padding:17px;font-size:12px}.tt-work-notice a{font-weight:bold}.tt-empty-state{grid-column:1/-1;background:white;border:1px dashed #bbc9bc;border-radius:25px;text-align:center;padding:60px}.tt-empty-state>span{font-size:40px}.tt-empty-state h3{font-size:22px}.tt-empty-state p{font-size:13px;margin:20px;color:var(--tt-muted)}
.tt-workspace .hero-section:not(:has(.node__content1)){background:var(--tt-ink)!important;background-image:none!important;padding-top:50px!important}.tt-workspace .gray-light-bg{background:var(--tt-paper)!important}.tt-workspace .solid-btn,.tt-workspace .btn-primary,.tt-admin .btn-primary{background:var(--tt-ink)!important;border-color:var(--tt-ink)!important;box-shadow:none!important;color:white!important;border-radius:12px!important}.tt-workspace .card,.tt-admin .card{border-radius:22px!important;border:1px solid var(--tt-line)!important;box-shadow:0 8px 24px #00000004!important}.tt-workspace .form-control,.tt-admin .form-control{border-radius:11px!important;border-color:var(--tt-line)!important;min-height:44px}.tt-workspace .modal-content,.tt-admin .modal-content{border-radius:22px!important;border:1px solid var(--tt-line)}.tt-workspace .btn-control-botton1{background:var(--tt-ink)!important;border-radius:22px!important;padding:12px!important;box-shadow:0 12px 35px #0002!important}.tt-workspace .btn-control-botton1 a{background:transparent!important;color:white!important;border:1px solid #ffffff40!important;border-radius:12px!important}.tt-workspace .node-page1{box-shadow:0 20px 70px #00000012!important;border-radius:30px!important}.tt-workspace .notch1,.tt-workspace .device{display:none!important}.tt-admin .min-height-300.bg-primary{background:var(--tt-paper)!important}.tt-admin .sidenav{border-radius:24px!important;border:1px solid var(--tt-line)!important;box-shadow:none!important}.tt-admin .sidenav .navbar-brand{font-size:16px;color:var(--tt-ink)}.tt-admin .sidenav .nav-link{border-radius:12px!important;padding:12px 15px!important;margin:4px 12px!important;font-family:TT!important}.tt-admin .sidenav .nav-link:hover,.tt-admin .sidenav .nav-link.active{background:var(--tt-surface,#edf0e8)!important;color:var(--tt-ink)!important}.tt-admin .table th{font-size:11px!important;background:var(--tt-paper);color:var(--tt-muted)!important;padding:17px!important}.tt-admin .table td{font-size:12px!important;padding:17px!important;vertical-align:middle}.tt-admin .table{border-collapse:separate}.tt-admin .bg-gradient-primary{background:var(--tt-ink)!important}.tt-admin .text-primary{color:var(--tt-ink)!important}.tt-admin .navbar-main{background:transparent!important}.tt-admin .card-header{background:white!important;border-radius:22px 22px 0 0!important;padding:25px!important}.tt-admin .main-content{padding-top:20px}.tt-admin .card-header h6{font-size:20px;font-weight:700}
@media(max-width:900px){.tt-profile-grid{grid-template-columns:repeat(2,1fr)}.tt-work-heading h1{font-size:24px}.tt-work-toplabel{display:none}}@media(max-width:600px){.tt-dashboard{padding:30px 18px}.tt-work-topbar{padding:18px;gap:15px}.tt-work-topbar nav{gap:12px;font-size:10px}.tt-work-heading{flex-direction:column;align-items:start;gap:15px}.tt-stats{grid-template-columns:1fr;gap:12px}.tt-stats article{padding:18px;display:grid;grid-template-columns:1fr 1fr}.tt-stats strong{grid-column:2;grid-row:1/3;text-align:left;margin:0}.tt-stats .tt-stat-text{margin:0;font-size:18px}.tt-profile-grid{grid-template-columns:1fr}.tt-work-heading.compact{flex-direction:row}.tt-admin .main-content{margin:0!important}.tt-admin .sidenav{max-width:260px}}
.tt-public-profile .node-page1{border-radius:28px!important;box-shadow:0 15px 55px #00000012!important}.tt-public-profile .notch1,.tt-public-profile .device{display:none!important}.tt-public-profile .btn-control-botton1{background:#171717!important;border-radius:20px!important;padding:10px!important}.tt-public-profile .btn-control-botton1 a{background:transparent!important;border:1px solid #ffffff40!important;border-radius:12px!important;color:white!important}
html[data-theme=dark] .tt-work-topbar,html[data-theme=dark] .tt-stats article,html[data-theme=dark] .tt-profile-card,html[data-theme=dark] .tt-empty-state,html[data-theme=dark] .tt-admin .card,html[data-theme=dark] .tt-workspace .card,html[data-theme=dark] .tt-admin .card-header,html[data-theme=dark] .tt-admin .sidenav,html[data-theme=dark] .modal-content{background:#222!important;color:#eee!important}html[data-theme=dark] .tt-work-button{background:#f47735;color:#171717!important}html[data-theme=dark] .tt-admin .form-control,html[data-theme=dark] .tt-workspace .form-control{background:#292929!important;color:#eee!important}html[data-theme=dark] .tt-workspace .hero-section{background:#262626!important}html[data-theme=dark] .tt-workspace .solid-btn,html[data-theme=dark] .tt-admin .btn-primary{background:#f47735!important;color:#171717!important}html[data-theme=dark] .tt-work-notice{background:#3c3020;color:#ffe3b6;border-color:#665335}html[data-theme=dark] .tt-profile-cover{background:linear-gradient(130deg,#40332b,#292929)}
.tt-public-profile[data-profile-display=dark]{background:#151515!important}.tt-public-profile[data-profile-display=dark] .node__content1{background:#222!important;color:#eee!important}.tt-public-profile[data-profile-display=light]{background:#f7f7f5!important}.tt-public-profile[data-profile-display=light] .node__content1{background:#fff!important;color:#171717!important}
/* This is the actual content host, not decorative phone chrome. */
.tt-workspace .device,.tt-public-profile .device{display:block!important}
/* Shared panel navigation: prevent legacy page-specific wrapping and spacing. */
body.tt-workspace .tt-work-topbar{padding:12px 24px;gap:14px;min-height:70px;flex-wrap:wrap}
body.tt-workspace .tt-work-topbar nav{align-items:center;gap:5px;flex-wrap:wrap}
body.tt-workspace .tt-work-topbar nav a{font-size:12px;padding:7px 10px;border-radius:7px;white-space:nowrap}
@media(max-width:1100px){body.tt-workspace .tt-work-toplabel{display:none}}
@media(max-width:700px){body.tt-workspace .tt-work-topbar,body.tt-workspace.tt-profile-list-page .tt-work-topbar{display:grid;grid-template-columns:minmax(0,1fr) auto;padding:10px 12px;gap:8px;min-height:0}body.tt-workspace .tt-work-topbar>.tt-work-brand{grid-column:1;grid-row:1;justify-self:start}body.tt-workspace .tt-work-topbar>.tt-work-theme{grid-column:2;grid-row:1;margin:0!important;justify-self:end}body.tt-workspace .tt-work-topbar nav,body.tt-workspace.tt-profile-list-page .tt-work-topbar nav{grid-column:1/-1;grid-row:2;width:100%;min-width:0;margin:0;gap:3px;justify-content:space-between;flex-wrap:nowrap;border-top:1px solid var(--tt-line);padding-top:7px}body.tt-workspace .tt-work-topbar nav a,body.tt-workspace.tt-profile-list-page .tt-work-topbar nav a{font-size:11px;padding:6px 4px}body.tt-workspace .tt-work-topbar nav .tt-user-help{width:28px;height:28px;min-height:28px}}
@media(max-width:360px){body.tt-workspace .tt-work-topbar nav{flex-wrap:wrap;justify-content:flex-start}}
@media(max-width:700px){body.tt-workspace .tt-work-topbar{position:relative}body.tt-workspace .tt-work-topbar nav{position:static}body.tt-workspace .tt-work-topbar nav .tt-user-help{position:absolute;top:16px;left:94px;margin:0!important}}
@media(max-width:380px){body.tt-workspace .tt-work-topbar nav,body.tt-workspace.tt-profile-list-page .tt-work-topbar nav{display:flex!important;flex-wrap:wrap!important;justify-content:flex-start;column-gap:2px!important;row-gap:2px}body.tt-workspace .tt-work-topbar nav a,body.tt-workspace.tt-profile-list-page .tt-work-topbar nav a{font-size:10px!important;padding:6px 3px!important}}

/* Safari must use the current theme for tab labels, including touch/focus states. */
html body .nav-tabs .nav-link,
html body [role="tab"],
html body .admin-form-tabs button,
html body .report-view-tabs button{
 color:var(--tt-muted,#8d939c)!important;
 -webkit-text-fill-color:currentColor!important;
 -webkit-tap-highlight-color:transparent;
}
html body .nav-tabs .nav-link.active,
html body .nav-tabs .nav-link:focus,
html body .nav-tabs .nav-link:active,
html body [role="tab"][aria-selected="true"],
html body [role="tab"]:focus,
html body .admin-form-tabs button[aria-selected="true"],
html body .report-view-tabs button[aria-selected="true"]{
 color:var(--tt-ink,#edf2f5)!important;
 -webkit-text-fill-color:currentColor!important;
 background-color:var(--tt-paper,#202328)!important;
}
html body .nav-tabs .nav-link span,
html body [role="tab"] span{
 color:inherit!important;-webkit-text-fill-color:currentColor!important;
}

/* Explicit WebKit fill avoids stale visited/touch text colour in Safari. */
html[data-theme="dark"] body.tt-workspace .tt-work-topbar nav a,
html[data-theme="dark"] body.tt-workspace .tt-work-topbar nav a:link,
html[data-theme="dark"] body.tt-workspace .tt-work-topbar nav a:visited,
html[data-theme="dark"] body.tt-workspace .tt-work-topbar nav a:hover,
html[data-theme="dark"] body.tt-workspace .tt-work-topbar nav a:focus,
html[data-theme="dark"] body.tt-workspace .tt-work-topbar nav a:active,
html[data-theme="dark"] body.tt-workspace .tt-work-topbar nav a[aria-current="page"]{
 color:#f0f1f3!important;-webkit-text-fill-color:#f0f1f3!important;opacity:1;
}
html[data-theme="light"] body.tt-workspace .tt-work-topbar nav a,
html[data-theme="light"] body.tt-workspace .tt-work-topbar nav a:link,
html[data-theme="light"] body.tt-workspace .tt-work-topbar nav a:visited,
html[data-theme="light"] body.tt-workspace .tt-work-topbar nav a:hover,
html[data-theme="light"] body.tt-workspace .tt-work-topbar nav a:focus,
html[data-theme="light"] body.tt-workspace .tt-work-topbar nav a:active,
html[data-theme="light"] body.tt-workspace .tt-work-topbar nav a[aria-current="page"]{
 color:#202225!important;-webkit-text-fill-color:#202225!important;opacity:1;
}
html body.tt-workspace .tt-work-topbar nav a[aria-current="page"]{background:var(--tt-paper);box-shadow:inset 0 -2px #bc916f}

/* Shared account page headings; public profile colours stay owner-controlled. */
html[data-theme=dark] body.tt-workspace :is(.user-studio,.tt-account-settings,.sms-studio,.profile-editor,.tt-dashboard)>header :is(h1,h2){color:#f0f1f3!important;-webkit-text-fill-color:#f0f1f3!important}
html[data-theme=light] body.tt-workspace :is(.user-studio,.tt-account-settings,.sms-studio,.profile-editor,.tt-dashboard)>header :is(h1,h2){color:#202225!important;-webkit-text-fill-color:#202225!important}

/* Panel typography is independent of the owner-controlled profile canvas.
   Explicit WebKit fill also covers AJAX add/edit forms on iOS Safari. */
html[data-theme=dark] body.tt-workspace { --tt-panel-text:#f0f1f3; --tt-panel-muted:#b4bac4; }
html[data-theme=light] body.tt-workspace { --tt-panel-text:#202225; --tt-panel-muted:#59616b; }
html body.tt-workspace :is(.profile-settings,.visit-report,.tt-account-settings,.user-studio,.sms-studio) :is(h1,h2,h3,h4,h5,h6,label,th,td),
html body.tt-workspace .profile-editor :is(.pe-heading,.pe-side) :is(h1,h2,h3,label),
html body.tt-workspace .modal-dialog:not(.pe-modal-preview) .modal-content :is(h1,h2,h3,h4,h5,h6,label,legend,th,td) {
 color:var(--tt-panel-text,var(--tt-ink))!important;
 -webkit-text-fill-color:var(--tt-panel-text,var(--tt-ink))!important;
}
html body.tt-workspace :is(.profile-settings,.visit-report,.tt-account-settings,.user-studio,.sms-studio) :is(p,.text-muted):not(.ps-live-preview *),
html body.tt-workspace .modal-dialog:not(.pe-modal-preview) .modal-content :is(.text-muted,.form-text,.pe-dialog-hint) {
 color:var(--tt-panel-muted,var(--tt-muted))!important;
 -webkit-text-fill-color:var(--tt-panel-muted,var(--tt-muted))!important;
}
html body.tt-workspace :is(.profile-settings,.tt-account-settings,.sms-studio,.modal-dialog:not(.pe-modal-preview)) :is(input:not([type=color]):not([type=checkbox]):not([type=radio]):not([type=hidden]),textarea,select) {
 -webkit-text-fill-color:var(--tt-panel-text,var(--tt-ink))!important;
}
html body.tt-workspace :is(.profile-settings,.tt-account-settings,.sms-studio,.modal-dialog:not(.pe-modal-preview)) :is(input,textarea)::placeholder {
 color:var(--tt-panel-muted,var(--tt-muted))!important;
 -webkit-text-fill-color:var(--tt-panel-muted,var(--tt-muted))!important;
 opacity:1;
}
/* Preserve each action's own contrasting foreground, including light buttons. */
html body.tt-workspace :is(.modal-dialog,.profile-settings,.visit-report,.pe-side) :is(button,.btn,.nav-link,.select2-selection__rendered,.field-validation-error,.invalid-feedback) {
 -webkit-text-fill-color:currentColor!important;
}
