/* GENERATED by lab/portalmap.mjs from the dashboards' own styles: do not edit by hand.
   The plugin's colour rules, same selectors and order, slate swapped for the canvas tokens. */
#account-area .btn, .acc-modal .btn{box-shadow:none}
#account-area .btn-gold:hover, .acc-modal .btn-gold:hover{box-shadow:var(--sh-2)}
#account-area .btn-ghost:hover, .acc-modal .btn-ghost:hover{box-shadow:none}
#account-area .btn:focus-visible, .acc-modal .btn:focus-visible{outline:2px solid var(--gold);outline-offset:2px}
.acc-card{background:var(--card);border:1px solid var(--line);box-shadow:0 20px 50px rgba(0,0,0,.25)}
.acc-card-sub{color:var(--muted)}
.acc-alert{background:rgba(220,60,60,.1);border:1px solid rgba(220,60,60,.35);color:var(--bad-ink)}
.acc-field label{color:var(--muted)}
.acc-field input{background:var(--card2);border:1px solid var(--line);color:var(--text)}
.acc-field input:focus{outline:none;border-color:var(--gold);box-shadow:0 0 0 3px rgba(15,23,42,.14)}
.acc-pass-toggle{background:none;border:none}
.acc-check{color:var(--muted)}
.acc-terms a{color:var(--gold)}
.acc-link-muted{color:var(--muted);text-decoration:underline}
.acc-link-muted:hover{color:var(--gold)}
.acc-strength span{background:var(--line)}
.acc-strength.s1 span:nth-child(1){background:#e05555}
.acc-strength.s2 span:nth-child(1),.acc-strength.s2 span:nth-child(2){background:var(--ink)}
.acc-strength.s3 span{background:#4ade80}
.acc-strength-label{color:var(--muted)}
.acc-btn-spinner{border:2px solid rgba(0,0,0,.25);border-top-color:currentColor}
.acc-back{color:var(--muted);text-decoration:none}
.acc-back:hover{color:var(--gold)}
.acc-badge{border:1px solid}
.acc-panel{background:var(--card);border:1px solid var(--line)}
.acc-panel.acc-buy{border-bottom-left-radius:0;border-bottom-right-radius:0;border-bottom:none}
.acc-panel.acc-buy + .acc-panel{border-top-left-radius:0;border-top-right-radius:0}
.acc-panel.acc-buy + .acc-panel::before{border-top:1px dashed var(--line)}
.acc-panel-title{color:var(--muted)}
.acc-empty{color:var(--muted)}
.acc-empty-lg{background:var(--card);border:1px dashed var(--line)}
.acc-avatar-lg{background:linear-gradient(135deg,var(--gold),var(--ink));color:var(--on-ink)}
.acc-logout{color:var(--muted);text-decoration:underline}
.acc-logout:hover{color:var(--gold)}
.acc-stat{background:var(--card);border:1px solid var(--line)}
.acc-stat-n{color:var(--gold)}
.acc-stat-l{color:var(--muted)}
.acc-menu-trigger{background:none;border:none;color:var(--text)}
.acc-avatar{background:linear-gradient(135deg,var(--gold),var(--ink));color:var(--on-ink)}
.acc-menu-dropdown{background:var(--card);border:1px solid var(--line);box-shadow:0 20px 50px rgba(15,23,42,.08)}
.acc-menu-dropdown a{color:var(--text);text-decoration:none}
.acc-menu-dropdown a:hover{background:var(--card2);color:var(--gold)}
.acc-stat.acc-stat-warn{border-color:rgba(220,60,60,.4);background:rgba(220,60,60,.06)}
.acc-tab{border:1px solid var(--line);color:var(--muted);text-decoration:none}
.acc-tab:hover{border-color:var(--gold);color:var(--gold)}
.acc-tab.active{border-color:var(--gold);color:var(--gold);background:color-mix(in srgb, var(--ink) 8%, transparent)}
.acc-table-wrap{background:var(--card);border:1px solid var(--line)}
.acc-table th{color:var(--muted);border-bottom:1px solid var(--line)}
.acc-table td{border-bottom:1px solid var(--line)}
.acc-table tr:last-child td{border-bottom:none}
.acc-table a{color:var(--text);text-decoration:none}
.acc-table a:hover{color:var(--gold)}
.acc-status-select{background:var(--card2);border:1px solid var(--line);color:var(--text)}
.acc-detail-row{background:var(--card2);border:1px solid var(--line)}
.acc-detail-k{color:var(--muted)}
.acc-tl-step:not(:last-child)::after{background:var(--line)}
.acc-tl-step.done:not(:last-child)::after,.acc-tl-step.active:not(:last-child)::after{background:var(--gold)}
.acc-tl-dot{background:var(--card2);border:2px solid var(--line)}
.acc-tl-step.done .acc-tl-dot{background:var(--gold);border-color:var(--gold)}
.acc-tl-step.active .acc-tl-dot{background:var(--gold);border-color:var(--gold);box-shadow:0 0 0 4px rgba(15,23,42,.2)}
.acc-tl-label{color:var(--muted)}
.acc-tl-step.done .acc-tl-label,.acc-tl-step.active .acc-tl-label{color:var(--text)}
.acc-lost-note{background:rgba(154,151,173,.1);border:1px solid var(--line);color:var(--muted)}
.acc-maint-on{color:var(--good,var(--ok-ink))}
.acc-maint-off{color:var(--muted)}
.acc-maint-off a{color:var(--gold)}
.acc-file-cat h4{color:var(--text)}
.acc-file-count{color:var(--muted)}
.acc-approve-row{background:var(--card2);border:1px solid var(--line)}
.acc-approve-done{color:var(--good,var(--ok-ink))}
.acc-approve-pending{color:var(--muted)}
.acc-field textarea{background:var(--card2);border:1px solid var(--line);color:var(--text)}
.acc-field textarea:focus{outline:none;border-color:var(--gold);box-shadow:0 0 0 3px rgba(15,23,42,.15)}
.acc-nba-banner{background:linear-gradient(135deg,color-mix(in srgb, var(--ink) 14%, transparent),color-mix(in srgb, var(--ink) 5%, transparent));border:1px solid color-mix(in srgb, var(--ink) 35%, transparent)}
.acc-nba-text{color:var(--text)}
body.acc-light-client .acc-sidebar{background:var(--card);border-right:1px solid var(--line)}
body.acc-light-client .acc-sb-logo{color:var(--text)}
body.acc-light-client .acc-sb-logo-ic{background:linear-gradient(135deg,var(--gold),var(--gold2));color:#FFFFFF}
body.acc-light-client .acc-sb-user{background:var(--card2)}
body.acc-light-client .acc-sb-avatar{background:linear-gradient(135deg,var(--gold),var(--gold2));color:#FFFFFF}
body.acc-light-client .acc-sb-user-info strong{color:var(--text)}
body.acc-light-client .acc-sb-user-info span{color:var(--muted)}
body.acc-light-client .acc-sb-link{color:var(--muted);text-decoration:none}
body.acc-light-client .acc-sb-link:hover{background:var(--card2);color:var(--gold)}
body.acc-light-client .acc-sb-link.active{background:color-mix(in srgb, var(--ink) 12%, transparent);color:var(--gold)}
body.acc-light-client .acc-sb-logout{color:var(--bad-ink);text-decoration:none;border:1px solid rgba(220,60,60,.35)}
body.acc-light-client .acc-sb-logout:hover{background:rgba(220,60,60,.1)}
body.acc-light-client .acc-sidebar{background:linear-gradient(180deg, var(--card), var(--card) 60%, rgba(16,16,31,.92));border-right:1px solid var(--line);box-shadow:2px 0 24px rgba(0,0,0,.18)}
body.acc-light-client .acc-sb-cta{background:linear-gradient(135deg,var(--gold),var(--gold2));color:#FFFFFF;text-decoration:none}
body.acc-light-client .acc-sb-cta:hover{box-shadow:var(--sh-2,0 10px 28px rgba(0,0,0,.24))}
body.acc-light-client .acc-sb-group-label{color:var(--muted)}
body.acc-light-client .acc-sb-badge{background:color-mix(in srgb, var(--ink) 16%, transparent);color:var(--gold)}
body.acc-light-client .acc-sb-link.active .acc-sb-badge{background:rgba(10,10,18,.18);color:#FFFFFF}
.acc-danger-zone{border-color:rgba(220,60,60,.25)}
.acc-danger-zone .acc-panel-title{color:var(--bad-ink)}
.acc-danger-btn{border-color:rgba(220,60,60,.35) !important;color:var(--bad-ink) !important}
.acc-danger-btn:hover{background:rgba(220,60,60,.1) !important}
.acc-todo-progress{background:var(--card2)}
.acc-todo-progress-bar{background:linear-gradient(90deg,var(--gold),var(--gold2))}
.acc-todo-progress-label{color:var(--muted)}
.acc-todo-item{background:var(--card2)}
.acc-todo-item.done .acc-todo-text{color:var(--muted);text-decoration:line-through}
.acc-todo-check{border:1px solid var(--line);background:transparent;color:transparent}
.acc-todo-check.checked{background:var(--gold);border-color:var(--gold);color:#FFFFFF}
button.acc-todo-check:hover{border-color:var(--gold)}
.acc-todo-text{color:var(--text)}
.acc-todo-del{background:transparent;border:none;color:var(--muted)}
.acc-todo-del:hover{color:var(--bad-ink)}
.acc-todo-add input{background:var(--bg);border:1px solid var(--line);color:var(--text)}
.acc-modal-overlay{background:rgba(0,0,0,.6)}
.acc-modal{background:var(--card);border:1px solid var(--line)}
.acc-modal h3{color:var(--text)}
.acc-modal-label{color:var(--muted)}
.acc-modal select, .acc-modal textarea, .acc-modal input{background:var(--bg);border:1px solid var(--line);color:var(--text)}
.acc-modal-status{color:var(--gold)}
.acc-filter-tab{background:transparent;border:1px solid var(--line);color:var(--muted)}
.acc-filter-tab:hover{border-color:var(--gold);color:var(--text)}
.acc-filter-tab.active{background:var(--gold);border-color:var(--gold);color:#FFFFFF}
.acc-activity-list li{border-bottom:1px solid var(--line)}
.acc-activity-list li:last-child{border-bottom:none}
.acc-activity-text{color:var(--text)}
.acc-activity-time{color:var(--muted)}
.acc-msg-count{color:var(--muted)}
.acc-quicklink-card{background:var(--card);border:1px solid var(--line);text-decoration:none;color:var(--text)}
.acc-quicklink-card:hover{border-color:var(--gold)}
.acc-quicklink-card strong{color:var(--text)}
.acc-quicklink-card span:last-child{color:var(--muted)}
.btn-gold,.cp-btn-gold,.cp-sb-cta{background:var(--ink) !important;border:1px solid var(--ink) !important;color:var(--on-ink) !important}
.btn-gold:hover,.cp-btn-gold:hover,.cp-sb-cta:hover{background:var(--ink) !important;border-color:var(--ink) !important;color:var(--on-ink) !important}
.btn-ghost,.cp-btn-ghost{background:transparent !important;border:1px solid color-mix(in srgb, var(--ink) 24%, transparent) !important;color:var(--ink) !important}
.btn-ghost:hover,.cp-btn-ghost:hover{border-color:var(--ink) !important;background:color-mix(in srgb, var(--ink) 5%, transparent) !important;color:var(--ink) !important}
.mark span,.tsl-rail-brand span,.tsl-pt-logo span,.f-brand span{color:var(--ink-3) !important}
.btn-gold,.cp-btn-gold,.cp-sb-cta,.tt-btn-primary{background:var(--blue) !important;border:1px solid var(--blue) !important;color:#FFFFFF !important}
.btn-gold:hover,.cp-btn-gold:hover,.cp-sb-cta:hover,.tt-btn-primary:hover{background:var(--blue-2) !important;border-color:var(--blue) !important;color:#FFFFFF !important}
.btn-ghost,.cp-btn-ghost{background:var(--frame) !important;border:1px solid var(--field-line) !important;color:var(--ink) !important}
.btn-ghost:hover,.cp-btn-ghost:hover{border-color:var(--blue) !important;color:var(--blue-ink) !important;background:var(--frame) !important}
.mark span,.tsl-rail-brand span,.tsl-pt-logo span,.f-brand span{color:var(--blue-ink) !important}
.cp-sidebar,.tsl-rail{background:var(--ink) !important}
#cp-wrap a.cp-sb-link.active,.tsl-rail-nav a.active{background:rgba(37,99,235,.18) !important;border-left-color:var(--blue) !important}
.cp-sb-avatar{background:var(--blue) !important}
.cp-ph.done{border-top-color:var(--blue) !important}
.cp-progress-bar,.prog i{background:var(--blue) !important}
.cp-nba{background:var(--blue-tint) !important;border-color:var(--blue-line) !important}
.cp-nba-cta,.cp-nba-icon{color:var(--blue-ink) !important}
#tsl-tabbar .tsl-tab.active{background:var(--ink) !important;color:var(--on-ink) !important}
.btn,.cp-btn,.tt-btn{background-image:none !important;box-shadow:none !important}
.btn-gold,.cp-btn-gold,.cp-sb-cta,.tt-btn-primary,.nav-start a{background-image:none !important}
#navLinks .acc-menu-trigger{color:var(--muted) !important;border:0 !important;background:none !important}
#navLinks .acc-menu-trigger:hover,#navLinks .acc-menu-trigger[aria-expanded=true]{color:var(--text) !important}
#navLinks .acc-avatar{background:linear-gradient(135deg,var(--ink),var(--ink)) !important;color:var(--on-ink) !important}
#navLinks .acc-name{color:inherit !important}
#navLinks .acc-caret{color:inherit !important}
#cp-wrap .cp-card-x{color:var(--ink-3)}
#cp-wrap .cp-todo-prog{background:var(--track)}
#cp-wrap .cp-todo-prog i{background:var(--blue)}
#cp-wrap .cp-todo-item.done .cp-todo-text{color:var(--ink-3);text-decoration:line-through}
#cp-wrap .cp-todo-src{color:var(--ink-3)}
.tsl-help-overlay .acc-modal{background:var(--frame);border:1px solid var(--line)}
.acc-dot{background:var(--red);border:2px solid var(--ink);box-shadow:0 0 0 1px rgba(220,38,38,.35)}
.acc-nt{border-bottom:1px solid rgba(148,163,184,.28)}
.acc-nt-h{color:var(--ink-3)}
.acc-nt-n{background:var(--red);color:#fff}
.acc-nt-i{border-bottom:1px solid rgba(148,163,184,.16)}
.acc-nt-i:last-child{border-bottom:0}
.e-con.e-parent:nth-of-type(n+4):not(.e-lazyloaded):not(.e-no-lazyload), .e-con.e-parent:nth-of-type(n+4):not(.e-lazyloaded):not(.e-no-lazyload) *{background-image:none !important}
@media screen and (max-height: 1024px){
.e-con.e-parent:nth-of-type(n+3):not(.e-lazyloaded):not(.e-no-lazyload), .e-con.e-parent:nth-of-type(n+3):not(.e-lazyloaded):not(.e-no-lazyload) *{background-image:none !important}
}
@media screen and (max-height: 640px){
.e-con.e-parent:nth-of-type(n+2):not(.e-lazyloaded):not(.e-no-lazyload), .e-con.e-parent:nth-of-type(n+2):not(.e-lazyloaded):not(.e-no-lazyload) *{background-image:none !important}
}
body.tsl-portal{background:var(--well) !important;color:var(--ink)}
.tslm-switch{color:var(--ink-3)}
.tslm-sw{border:1px solid var(--line);background:var(--frame)}
.tslm-sw.on{background:var(--ink);border-color:var(--ink);color:var(--on-ink) !important}
.tslm-sub{color:var(--ink-2)}
.tslm-note{color:var(--ok-ink)}
.tslm-bar{background:var(--track)}
.tslm-bar i{background:linear-gradient(90deg,var(--blue),#60A5FA)}
.tslm-barx{color:var(--ink-3)}
.tslm-tile{border:1px solid var(--line);border-left:4px solid var(--field-line);background:var(--well)}
.tslm-tile.ok{border-left-color:#16A34A}
.tslm-tile.warn{border-left-color:#D97706}
.tslm-tile.bad{border-left-color:var(--red)}
.tslm-tl{color:var(--ink-3)}
.tslm-tile strong{color:var(--ink)}
.tslm-tn{color:var(--ink-3)}
.tslm-reqform textarea{border:1px solid var(--field-line)}
.tslm-status.ok{color:var(--ok-ink)}
.tslm-status.err{color:var(--bad-ink)}
.tslm-reqs li{border-top:1px solid var(--line)}
.tslm-rm{color:var(--ink)}
.tslm-rd{color:var(--ink-3)}
ol.tslm-time li{border-top:1px solid var(--line)}
.tslm-dt{color:var(--ink-3)}
.tslm-what>summary:before{color:var(--ink-3)}
.tslm-what ul{color:var(--ink-2)}
.tslproj-miss{background:var(--warn-bg);border:1px solid color-mix(in srgb, var(--warn-ink) 30%, var(--frame));color:var(--warn-ink)}
.tslproj label{color:var(--ink-2)}
.tslproj input[type=text],.tslproj select,.tslproj textarea{border:1px solid var(--field-line);color:var(--ink);background:var(--frame)}
.tslproj-checks label{color:var(--ink)}
.tslproj-msg{color:var(--ok-ink)}
#cp-wrap, #cp-auth{color:var(--ink)}
#cp-wrap a, #cp-auth a{color:var(--ink);text-decoration:none}
#cp-wrap a:hover, #cp-auth a:hover{text-decoration:underline}
#cp-wrap a.cp-btn-gold, #cp-auth a.cp-btn-gold, #cp-wrap a.cp-sb-cta, #cp-auth a.cp-sb-cta{color:#F8FAFC}
#cp-wrap a.cp-btn-ghost, #cp-auth a.cp-btn-ghost{color:var(--ink)}
#cp-wrap a.cp-btn-ghost:hover, #cp-auth a.cp-btn-ghost:hover{color:var(--ink-2)}
#cp-wrap a.cp-btn-danger, #cp-auth a.cp-btn-danger{color:var(--bad-ink)}
#cp-wrap a.cp-sb-link, #cp-auth a.cp-sb-link{color:var(--ink-3)}
#cp-wrap a.cp-sb-link:hover, #cp-auth a.cp-sb-link:hover{color:var(--ink);text-decoration:none}
#cp-wrap a.cp-sb-link.active, #cp-auth a.cp-sb-link.active{color:var(--ink-2)}
#cp-wrap a.cp-sb-logout, #cp-auth a.cp-sb-logout{color:var(--bad-ink)}
#cp-wrap a.cp-row-card, #cp-auth a.cp-row-card, #cp-wrap a.cp-ql-card{color:var(--ink)}
#cp-wrap a.cp-row-card:hover, #cp-wrap a.cp-ql-card:hover{text-decoration:none}
#cp-wrap a.cp-row-main, #cp-wrap a.cp-row-ic{color:var(--ink)}
#cp-wrap a.cp-row-main:hover, #cp-wrap a.cp-row-ic:hover{text-decoration:none}
#cp-wrap a.cp-nba, #cp-auth a.cp-nba{color:var(--ink-2)}
#cp-wrap a.cp-nba:hover{text-decoration:none}
.cp-sidebar{background:var(--frame);border:1px solid color-mix(in srgb, var(--ink) 12%, transparent);box-shadow:0 10px 30px rgba(15,23,42,.07)}
.cp-sb-user{border-bottom:1px solid color-mix(in srgb, var(--ink) 12%, transparent)}
.cp-sb-avatar{background:linear-gradient(135deg,var(--ink),var(--ink-2));color:var(--on-ink)}
.cp-sb-user-info strong{color:var(--ink)}
.cp-sb-user-info span{color:var(--ink-3)}
.cp-sb-cta{background:linear-gradient(135deg,var(--ink),var(--ink-2));color:var(--on-ink)}
.cp-sb-group-label{color:var(--ink-3)}
.cp-sb-link{color:var(--ink-3)}
.cp-sb-link:hover{background:color-mix(in srgb, var(--frame) 5%, transparent);color:var(--ink);text-decoration:none}
.cp-sb-link.active{background:color-mix(in srgb, var(--ink) 14%, transparent);color:var(--ink-2)}
.cp-sb-badge{background:rgba(220,38,38,.22);color:#fca5a5}
.cp-sb-utility{border-top:1px solid color-mix(in srgb, var(--ink) 12%, transparent)}
.cp-sb-logout{color:var(--bad-ink)}
#cp-wrap a.cp-sb-logout:hover{background:rgba(248,113,113,.1);text-decoration:none}
.cp-sb-count{background:color-mix(in srgb, var(--ink) 12%, transparent);color:var(--ink-3)}
.cp-page-header h1{color:var(--ink)}
.cp-card{background:var(--frame);border:1px solid color-mix(in srgb, var(--ink) 12%, transparent);box-shadow:0 10px 30px rgba(15,23,42,.07)}
.cp-card-title{color:var(--ink);border-left:3px solid var(--ink)}
.cp-muted{color:var(--ink-3)}
.cp-stat{background:var(--frame);border:1px solid color-mix(in srgb, var(--ink) 12%, transparent)}
.cp-stat-n{color:var(--ink)}
.cp-stat-l{color:var(--ink-3)}
.cp-btn{border:1px solid transparent}
.cp-btn-gold{background:linear-gradient(135deg,var(--ink),var(--ink-2));color:var(--on-ink)}
.cp-btn-gold:hover{text-decoration:none}
.cp-btn-ghost{background:color-mix(in srgb, var(--ink) 4%, transparent);border-color:color-mix(in srgb, var(--ink) 14%, transparent);color:var(--ink)}
.cp-btn-ghost:hover{border-color:var(--ink);color:var(--ink-2);text-decoration:none}
.cp-btn-danger{border-color:rgba(248,113,113,.4);color:var(--bad-ink);background:rgba(248,113,113,.08)}
.cp-inline-msg{color:var(--ink-3)}
.cp-nba{background:color-mix(in srgb, var(--ink) 12%, transparent);border:1px solid color-mix(in srgb, var(--ink) 35%, transparent)}
.cp-nba-text{color:var(--ink-2)}
.cp-ql-card{background:var(--frame);border:1px solid color-mix(in srgb, var(--ink) 12%, transparent)}
.cp-ql-card:hover{border-color:var(--ink);text-decoration:none}
.cp-ql-card strong{color:var(--ink)}
.cp-ql-card span{color:var(--ink-3)}
.cp-row-card{background:var(--frame);border:1px solid color-mix(in srgb, var(--ink) 12%, transparent)}
.cp-row-card:hover{border-color:var(--ink);text-decoration:none}
.cp-row-main strong{color:var(--ink)}
.cp-row-date{color:var(--ink-3)}
.cp-empty p{color:var(--ink-3)}
.cp-filter-tab{background:var(--frame);border:1px solid color-mix(in srgb, var(--ink) 12%, transparent);color:var(--ink-3)}
.cp-filter-tab.active{background:linear-gradient(135deg,var(--ink),var(--ink-2));border-color:var(--ink);color:var(--on-ink)}
.cp-back{color:var(--ink-3) !important}
.cp-back:hover{color:var(--ink-2) !important}
.cp-ticket-header h1{color:var(--ink)}
.cp-tl-step::before{background:color-mix(in srgb, var(--ink) 12%, transparent)}
.cp-tl-step::after{background:color-mix(in srgb, var(--ink) 12%, transparent)}
.cp-tl-step.done::before, .cp-tl-step.done::after, .cp-tl-step.active::before{background:var(--ink)}
.cp-tl-dot{background:color-mix(in srgb, var(--ink) 14%, transparent)}
.cp-tl-step.done .cp-tl-dot{background:var(--ink)}
.cp-tl-step.active .cp-tl-dot{background:var(--ink);box-shadow:0 0 0 4px rgba(15,23,42,.22)}
.cp-tl-label{color:var(--ink-3)}
.cp-tl-step.done .cp-tl-label, .cp-tl-step.active .cp-tl-label{color:var(--ink-2)}
.cp-info-k{color:var(--ink-3)}
.cp-info-v{color:var(--ink)}
.cp-status-ok{background:rgba(74,222,128,.14);color:var(--ok-ink)}
.cp-status-warn{background:rgba(251,191,36,.14);color:var(--warn-ink)}
.cp-msg{background:color-mix(in srgb, var(--frame) 5%, transparent)}
.cp-msg-admin{background:color-mix(in srgb, var(--ink) 12%, transparent)}
.cp-msg-client{background:color-mix(in srgb, var(--ink) 8%, transparent)}
.cp-msg-meta{color:var(--ink-3)}
.cp-msg-body{color:var(--ink)}
.cp-tag-ok{background:rgba(74,222,128,.16);color:var(--ok-ink)}
.cp-tag-warn{background:rgba(251,191,36,.16);color:var(--warn-ink)}
.cp-textarea{border:1px solid color-mix(in srgb, var(--ink) 14%, transparent);background:var(--well);color:var(--ink)}
.cp-field label{color:var(--ink-3)}
.cp-field input, .cp-field select{border:1px solid color-mix(in srgb, var(--ink) 14%, transparent);background:var(--well);color:var(--ink)}
.cp-field input:focus, .cp-field select:focus, .cp-textarea:focus{outline:none;border-color:var(--ink);box-shadow:0 0 0 3px rgba(15,23,42,.18)}
.cp-field input:disabled{color:var(--ink-3);-webkit-text-fill-color:var(--ink-3)}
.cp-checkbox{color:var(--ink-3)}
.cp-todo-item{background:color-mix(in srgb, var(--ink) 4%, transparent);color:var(--ink)}
.cp-todo-check{border:1px solid color-mix(in srgb, var(--frame) 16%, transparent);background:transparent;color:transparent}
.cp-todo-check.checked{background:var(--ink);border-color:var(--ink);color:var(--on-ink)}
.cp-todo-item.done .cp-todo-text{color:var(--ink-3);text-decoration:line-through}
.cp-file-cat{color:var(--ink)}
.cp-alert{background:rgba(220,38,38,.14);color:#fca5a5;border:1px solid rgba(220,38,38,.35)}
.cp-table th{color:var(--ink-3);border-bottom:1px solid color-mix(in srgb, var(--ink) 12%, transparent)}
.cp-table td{color:var(--ink);border-bottom:1px solid color-mix(in srgb, var(--frame) 5%, transparent)}
.cp-table tbody tr:last-child td{border-bottom:none}
.cp-nba-cta{color:var(--ink-2)}
.cp-stat.cp-stat-warn{border-color:color-mix(in srgb, var(--ink) 35%, transparent);background:color-mix(in srgb, var(--ink) 10%, transparent)}
.cp-stat.cp-stat-warn .cp-stat-n{color:var(--ink-2)}
.cp-feed li{color:var(--ink-3)}
.cp-feed li time{color:var(--ink-3)}
#cp-wrap a.cp-kpi{background:var(--frame);border:1px solid color-mix(in srgb, var(--ink) 12%, transparent);color:var(--ink)}
#cp-wrap a.cp-kpi:hover{border-color:var(--ink);text-decoration:none}
#cp-wrap a.cp-kpi.warn{border-color:color-mix(in srgb, var(--ink) 40%, transparent);background:color-mix(in srgb, var(--ink) 8%, transparent)}
.cp-kpi-n{color:var(--ink)}
.cp-kpi-l{color:var(--ink-3)}
.cp-project{border-bottom:1px solid color-mix(in srgb, var(--frame) 7%, transparent)}
.cp-project:last-child{border-bottom:none}
#cp-wrap a.cp-project-name{color:var(--ink)}
#cp-wrap a.cp-project-name:hover{color:var(--ink-2);text-decoration:none}
.cp-progress{background:color-mix(in srgb, var(--ink) 12%, transparent)}
.cp-progress-bar{background:linear-gradient(90deg,var(--ink),var(--ink-2))}
.cp-project-meta{color:var(--ink-3)}
.cp-fin-row{border-bottom:1px solid color-mix(in srgb, var(--ink) 8%, transparent);color:var(--ink-3)}
.cp-fin-row:last-of-type{border-bottom:none}
.cp-fin-row strong{color:var(--ink)}
#cp-wrap .cp-quick a{background:color-mix(in srgb, var(--ink) 4%, transparent);border:1px solid color-mix(in srgb, var(--frame) 7%, transparent);color:var(--ink)}
#cp-wrap .cp-quick a:hover{border-color:var(--ink);color:var(--ink-2);text-decoration:none}
#cp-wrap .cp-quick a em{background:color-mix(in srgb, var(--ink) 20%, transparent);color:var(--ink-2)}
#cp-wrap .acc-sb-help-btn{border:1px solid color-mix(in srgb, var(--ink) 14%, transparent);background:color-mix(in srgb, var(--ink) 4%, transparent);color:var(--ink-3)}
#cp-wrap .acc-sb-help-btn:hover{border-color:var(--ink);color:var(--ink-2);background:color-mix(in srgb, var(--ink) 10%, transparent)}
#cp-wrap .acc-modal-overlay{background:rgba(0,0,0,.7)}
#cp-wrap .acc-modal{background:var(--frame);border:1px solid color-mix(in srgb, var(--ink) 12%, transparent);color:var(--ink)}
#cp-wrap .acc-modal h3{color:var(--ink)}
#cp-wrap .acc-modal-label{color:var(--ink-3)}
#cp-wrap .acc-modal textarea, #cp-wrap .acc-modal input, #cp-wrap .acc-modal select{background:var(--well);border:1px solid color-mix(in srgb, var(--ink) 14%, transparent);color:var(--ink)}
#cp-wrap .acc-modal-status{color:var(--ink-3)}
#cp-wrap, #cp-auth{color:var(--ink)}
#cp-wrap a, #cp-auth a{color:var(--ink)}
#cp-wrap h1,#cp-wrap h2,#cp-wrap h3,#cp-auth h1,#cp-auth h2,#cp-auth h3{color:var(--ink)}
#cp-wrap a.cp-sb-link, #cp-auth a.cp-sb-link{color:var(--ink-3)}
#cp-wrap a.cp-sb-link:hover, #cp-auth a.cp-sb-link:hover{color:var(--ink)}
#cp-wrap a.cp-sb-link.active, #cp-auth a.cp-sb-link.active{color:var(--ink)}
#cp-wrap a.cp-row-card, #cp-auth a.cp-row-card, #cp-wrap a.cp-ql-card, #cp-wrap a.cp-row-main, #cp-wrap a.cp-row-ic{color:var(--ink)}
#cp-wrap a.cp-btn-ghost, #cp-auth a.cp-btn-ghost{color:var(--ink)}
#cp-wrap a.cp-nba, #cp-auth a.cp-nba{color:var(--ink)}
.cp-sidebar{background:var(--frame);border:1px solid var(--line);box-shadow:none}
.cp-sb-user{border-bottom-color:var(--line)}
.cp-sb-user-info strong{color:var(--ink)}
.cp-sb-avatar{background:var(--ink);color:var(--on-ink)}
.cp-sb-group-label{color:var(--ink-3)}
.cp-sb-utility{border-top-color:var(--line)}
.cp-sb-badge,.cp-sb-count{background:var(--ink);color:var(--on-ink)}
.cp-card,.cp-project,.cp-kpi,.cp-row-card,.cp-ql-card,.cp-quick,.cp-alert,.cp-table,.cp-field,.cp-textarea{background:var(--frame);border:1px solid var(--line);box-shadow:none}
.cp-card-title,.cp-project-name,.cp-stat-n,.cp-kpi-n{color:var(--ink)}
.cp-muted,.cp-info-k,.cp-kpi-l,.cp-stat-l,.cp-row-date,.cp-msg-meta,.cp-project-meta,.cp-tl-label{color:var(--ink-3)}
.cp-info-row{border-bottom-color:var(--line)}
.cp-info-v{color:var(--ink)}
.cp-btn-gold,.cp-sb-cta{background:var(--ink);color:var(--on-ink);border:1px solid var(--ink)}
.cp-btn-gold:hover,.cp-sb-cta:hover{background:var(--ink-2)}
.cp-btn-ghost{background:transparent;border:1px solid var(--field-line)}
.cp-btn-ghost:hover{border-color:var(--ink)}
.cp-btn-danger{color:var(--bad-ink);border-color:color-mix(in srgb, var(--bad-ink) 30%, var(--frame))}
.cp-progress{background:var(--track)}
.cp-progress-bar{background:var(--ink)}
.cp-tag-ok,.cp-status-ok{background:var(--ok-bg);color:var(--ok-ink)}
.cp-tag-warn,.cp-status-warn,.cp-stat-warn{background:var(--well);color:var(--ink-2)}
.cp-msg-admin{background:var(--well);border:1px solid var(--line)}
.cp-msg-client{background:var(--well);border:1px solid var(--line)}
.cp-msg-body{color:var(--ink)}
.cp-thread{border-color:var(--line)}
.cp-todo-item{border-bottom-color:var(--line)}
.cp-todo-text{color:var(--ink)}
.cp-todo-check{border-color:var(--field-line);background:transparent;color:transparent}
.cp-todo-check.checked{background:var(--green);border-color:#2F6E4E;color:#FFFFFF}
.cp-tl-dot{background:var(--track)}
.cp-tl-step.done .cp-tl-dot,.cp-tl-step.active .cp-tl-dot{background:var(--ink)}
.cp-filter-tab{color:var(--ink-3)}
.cp-filter-tab.active{background:var(--ink);color:var(--on-ink)}
.cp-empty{color:var(--ink-3)}
.cp-feed-ic,.cp-kpi-ic,.cp-ql-ic,.cp-nba-icon{color:var(--ink)}
.cp-page-header,.cp-ticket-header,.cp-project-head{border-bottom-color:var(--line)}
.cp-fin-row{border-bottom-color:var(--line)}
.cp-inline-msg{color:var(--ink-3)}
.cp-back{color:var(--ink-3)}
#cp-wrap input,#cp-wrap textarea,#cp-wrap select,#cp-auth input,#cp-auth textarea,#cp-auth select{background:var(--well);color:var(--ink);border:1px solid var(--field-line)}
#cp-wrap input::placeholder,#cp-wrap textarea::placeholder{color:var(--ink-3)}
.cp-checkbox{color:var(--ink-3)}
.cp-viewall{color:var(--ink)}
.cp-sidebar{background:var(--ink) !important;border:0 !important;box-shadow:none !important}
.cp-sidebar::before{color:#fff}
.cp-sb-user{border-bottom:1px solid color-mix(in srgb, var(--frame) 13%, transparent) !important}
.cp-sb-user-info strong{color:#FFFFFF !important}
.cp-sb-user-info span{color:var(--ink-3) !important}
.cp-sb-avatar{background:var(--ink) !important;color:var(--on-ink) !important}
.cp-sb-group-label{color:var(--ink-3) !important}
#cp-wrap a.cp-sb-link, .cp-sb-link{color:var(--ink-3) !important;border-left:3px solid transparent !important}
#cp-wrap a.cp-sb-link:hover{background:color-mix(in srgb, var(--frame) 5%, transparent) !important;color:#FFFFFF !important}
#cp-wrap a.cp-sb-link.active{background:color-mix(in srgb, var(--ink) 13%, transparent) !important;border-left-color:var(--ink) !important;color:var(--on-ink) !important}
.cp-sb-utility{border-top:1px solid color-mix(in srgb, var(--frame) 13%, transparent) !important}
#cp-wrap a.cp-sb-logout{color:var(--ink-3) !important}
#cp-wrap a.cp-sb-logout:hover{color:var(--bad-ink) !important}
.cp-sb-badge,.cp-sb-count{background:var(--ink) !important;color:var(--on-ink) !important}
.cp-layout > div:last-child{background:var(--well)}
.cp-ph{border-top:3px solid var(--line)}
.cp-ph .t{color:var(--ink-3)}
.cp-ph .d{color:var(--ink-3)}
.cp-ph.done{border-top-color:var(--ink)}
.cp-ph.done .t{color:var(--ink)}
.cp-ph.done .d{color:var(--ink-3)}
.cp-ph.now{border-top-color:var(--ink)}
.cp-ph.now .t{color:var(--ink)}
.cp-ph.now .d{color:var(--ink)}
.cp-strip{border:1px solid var(--line);background:var(--frame)}
.cp-st{border-right:1px solid var(--line)}
.cp-st:last-child{border-right:0}
.cp-st .k{color:var(--ink-3)}
.cp-st .v{color:var(--ink)}
.cp-st .v.warn{color:var(--ink)}
.cp-st .n{color:var(--ink-3)}
@media(max-width:820px){
.cp-st{border-bottom:1px solid var(--line)}
.cp-st:nth-child(2n){border-right:0}
}
.cp-badge{background:var(--well) !important;color:var(--ink) !important;border:1px solid var(--line) !important}
.cp-todo-check{border:1.5px solid var(--field-line) !important}
.cp-kpi-l{color:var(--ink-2) !important}
.cp-sb-avatar{background:var(--ink) !important;color:var(--on-ink) !important}
.cp-nba{background:var(--well) !important;border:1px solid var(--field-line) !important}
.cp-nba-text{color:var(--ink) !important}
.cp-nba-cta{color:var(--ink) !important}
.cp-nba-icon{color:var(--ink-2) !important}
.cp-sb-group-label{color:var(--ink-3) !important}
.cp-sb-who{border-bottom:1px solid color-mix(in srgb, var(--frame) 13%, transparent)}
.cp-sb-who .nm{color:#FFFFFF}
.cp-sb-who .sub{color:var(--ink-3)}
.cp-sb-utility{border-top:1px solid color-mix(in srgb, var(--frame) 13%, transparent) !important}
#cp-wrap .acc-sb-help-btn{border:0 !important;border-left:3px solid transparent !important;background:none !important;color:var(--ink-3) !important}
#cp-wrap .acc-sb-help-btn:hover{background:color-mix(in srgb, var(--frame) 5%, transparent) !important;color:#FFFFFF !important}
#cp-wrap a.cp-sb-logout{border-top:1px solid color-mix(in srgb, var(--frame) 13%, transparent)}
#cp-wrap .cp-card-title{border-left:0;border-bottom:1px solid var(--line)}
.ws-switch{color:var(--ink-3)}
.ws-switch a{border:1px solid var(--line);background:var(--frame);color:var(--ink-2);text-decoration:none}
.ws-switch a.on{background:var(--ink);border-color:var(--ink);color:var(--on-ink)}
.ws-topbar{border-bottom:1px solid var(--line)}
.ws-topbar h1{color:var(--ink)}
.ws-meta{color:var(--ink-3)}
.ws-meta b{color:var(--ink)}
.ws-pill{background:var(--well);color:var(--ink);border:1px solid var(--line)}
.ws-pill.go{background:var(--ok-bg);color:var(--ok-ink);border-color:color-mix(in srgb, var(--ok-ink) 30%, var(--frame))}
.ws-pill.wt{background:var(--warn-bg);color:var(--warn-ink);border-color:color-mix(in srgb, var(--warn-ink) 30%, var(--frame))}
.ws-alert{border:1px solid var(--line);border-left:3px solid var(--blue);background:var(--frame)}
.ws-alert h3{color:var(--ink)}
.ws-alert p{color:var(--ink-3)}
.ws-ph{border-top:3px solid var(--line)}
.ws-ph .t{color:var(--ink-3)}
.ws-ph .d{color:var(--ink-3)}
.ws-ph.done{border-top-color:var(--blue)}
.ws-ph.done .t{color:var(--ink)}
.ws-ph.done .d{color:var(--ink-3)}
.ws-ph.now{border-top-color:var(--ink)}
.ws-ph.now .t{color:var(--ink)}
.ws-ph.now .d{color:var(--blue-ink)}
.ws-stats{border:1px solid var(--line);background:var(--frame)}
.ws-stat{border-right:1px solid var(--line)}
.ws-stat:last-child{border-right:0}
.ws-stat .k{color:var(--ink-3)}
.ws-stat .v{color:var(--ink)}
.ws-stat .v.accent{color:var(--blue-ink)}
.ws-stat .n{color:var(--ink-3)}
@media(max-width:900px){
.ws-stat{border-bottom:1px solid var(--line)}
.ws-stat:nth-child(2n){border-right:0}
}
.ws-feed li{border-bottom:1px solid var(--line);color:var(--ink)}
.ws-feed li:last-child{border-bottom:0}
.ws-feed .dot{background:var(--blue)}
.ws-feed .when{color:var(--ink-3)}
.ws-incl li{color:var(--ink-2)}
.ws-incl li::before{color:var(--blue-ink)}
.ws-kv{border-bottom:1px solid var(--line)}
.ws-kv:last-of-type{border-bottom:0}
.ws-kv .k{color:var(--ink-3)}
.ws-kv .v{color:var(--ink)}
.ws-kv .v em{color:var(--ink-3)}
.ws-bd{border-top:1px solid var(--line)}
.ws-bd li{color:var(--ink-3)}
.ws-bd li b{color:var(--ink)}
.ws-bd li.tot{border-top:1px solid var(--line);color:var(--ink)}
.ws-note{color:var(--ink-3)}
.ws-ms li{border-bottom:1px solid var(--line)}
.ws-ms li:last-child{border-bottom:0}
.ws-ms .lb{color:var(--ink)}
.ws-ms .am{color:var(--ink)}
.ws-files li{border-bottom:1px solid var(--line)}
.ws-files li:last-child{border-bottom:0}
.ws-files .ext{color:var(--blue-ink);background:var(--blue-tint);border:1px solid var(--blue-line)}
.ws-files .nm{color:var(--ink);text-decoration:none}
.ws-files .nm:hover{color:var(--blue-ink);text-decoration:underline}
.ws-files .cat{color:var(--ink-3)}
.ws-upload{border-top:1px solid var(--line)}
.ws-upload select,.ws-upload input[type=file]{border:1px solid var(--field-line);background:var(--well);color:var(--ink)}
.ws-bub{border:1px solid var(--line);background:var(--well)}
.ws-bub.me{background:var(--blue-tint);border-color:var(--blue-line)}
.ws-bub .w{color:var(--ink-3)}
.ws-bub p{color:var(--ink)}
.ws-bub .tm{color:var(--ink-3)}
.ws-composer{border-top:1px solid var(--line)}
.ws-composer input[type=text]{border:1px solid var(--field-line);background:var(--well);color:var(--ink)}
.ws-composer input[type=text]:focus{outline:none;border-color:var(--blue);box-shadow:0 0 0 3px rgba(37,99,235,.15)}
.ws-more{color:var(--blue-ink);text-decoration:none}
.ws-more:hover{text-decoration:underline}
.ws-quick a{color:var(--ink);text-decoration:none;border-bottom:1px solid var(--line)}
.ws-quick a:last-child{border-bottom:0}
.ws-quick a:hover{color:var(--blue-ink)}
.ws-quick em{background:var(--blue);color:#fff}
#cp-wrap .cp-card-x{color:var(--ink-3)}
.tsl-help-overlay{background:rgba(2,6,23,.72)}
.tsl-help-overlay .acc-modal{background:var(--frame);border:1px solid var(--line);box-shadow:0 30px 80px -30px rgba(2,6,23,.6)}
.tsl-help-overlay h3{color:var(--ink)}
.tsl-help-overlay .acc-modal-label{color:var(--ink-3)}
.tsl-help-overlay textarea{border:1px solid var(--field-line);background:var(--well);color:var(--ink)}
.tsl-help-overlay textarea:focus{outline:none;border-color:var(--blue);box-shadow:0 0 0 3px rgba(37,99,235,.15)}
.tsl-help-overlay .acc-modal-status{color:var(--ink-3)}
.ws-msgbox{background:var(--well);border:1px solid var(--line)}
.ws-msgbox .k{color:var(--ink-3)}
.ws-msgbox p{color:var(--ink)}
.ws-pill.sent{background:var(--blue-tint);color:var(--blue-ink);border-color:var(--blue-line)}
.ws-pill.idle{background:var(--well);color:var(--ink-3);border-color:var(--line)}
.ws-pay{background:var(--blue);color:#FFFFFF !important;text-decoration:none}
.ws-pay:hover{background:var(--blue-2)}
.ws-claim{background:var(--well);color:var(--ink);border:1px solid var(--field-line)}
.ws-claim:hover{background:var(--track)}
.ws-wait{color:var(--warn-ink);background:var(--warn-bg);border:1px solid color-mix(in srgb, var(--warn-ink) 30%, var(--frame))}
.ws-upnote.ok{background:var(--ok-bg);color:var(--ok-ink);border:1px solid color-mix(in srgb, var(--ok-ink) 30%, var(--frame))}
.ws-upnote.bad{background:var(--bad-bg);color:var(--bad-ink);border:1px solid color-mix(in srgb, var(--bad-ink) 30%, var(--frame))}
.ws-ms li.is-done .lb{color:var(--ink)}
.tslnr-back{background:rgba(15,23,42,.55)}
.tslnr{background:var(--frame);box-shadow:0 30px 80px rgba(15,23,42,.35)}
.tslnr-h{border-bottom:1px solid var(--line)}
.tslnr-h strong{color:var(--ink)}
.tslnr-h span{color:var(--ink-3)}
.tslnr-h button{border:0;background:none;color:var(--ink-3)}
.tslnr-h button:hover{color:var(--ink)}
.tslnr iframe{border:0}
.tslpop-back{background:rgba(15,23,42,.55)}
.tslpop-box{background:var(--frame);box-shadow:0 24px 60px rgba(15,23,42,.28)}
.tslpop-x{background:none;border:0;color:var(--ink-3)}
.tslpop-x:hover{color:var(--ink)}
.tslpop h2{color:var(--ink)}
.tslpop-sub{color:var(--ink-2)}
.tslpop-form input[type=text],.tslpop-form input[type=email],.tslpop-form input[type=tel]{border:1px solid var(--field-line);color:var(--ink);background:var(--frame)}
.tslpop-form input:focus{outline:none;border-color:var(--blue);box-shadow:0 0 0 3px rgba(37,99,235,.15)}
.tslpop-gdpr{color:var(--ink-2)}
.tslpop-btn{background:var(--blue);color:#fff;border:0}
.tslpop-btn:hover{background:var(--blue-2)}
.tslpop-btn-ghost{background:var(--well);color:var(--ink)}
.tslpop-btn-ghost:hover{background:var(--track)}
.tslpop-note{color:var(--ink-3)}
.tslpop-err{color:var(--bad-ink);background:var(--bad-bg);border:1px solid color-mix(in srgb, var(--bad-ink) 30%, var(--frame))}
.tslpop-tick{background:var(--ok-bg);color:var(--ok-ink)}
.tslpop-ok p{color:var(--ink)}
.tslprog i{background:linear-gradient(90deg,var(--blue),#7DA6FF,#F5B301);box-shadow:0 0 12px rgba(37,99,235,.5)}
.tslul:after{background:linear-gradient(90deg,var(--blue),#F5B301)}
body.tsl-portal [style*="background:#E2E8F0;" i], body.tsl-portal [style$="background:#E2E8F0" i]{background:var(--track) !important}
body.tsl-portal [style*="color:#475569;" i], body.tsl-portal [style$="color:#475569" i]{color:var(--ink-2) !important}
body.tsl-portal [style*="border-bottom:1px solid rgba(255,255,255,.07);" i], body.tsl-portal [style$="border-bottom:1px solid rgba(255,255,255,.07)" i]{border-bottom:1px solid color-mix(in srgb, var(--frame) 7%, transparent) !important}
body.tsl-portal [style*="color:#0F172A;" i], body.tsl-portal [style$="color:#0F172A" i]{color:var(--ink) !important}
