/* Tech Line Academy — unified tool theme. Compatible with homepage localStorage key: techline-theme. */
html[data-tl-module][data-theme="dark"]{
 color-scheme:dark;
 --tl-page:#0a1323;--tl-page2:#101f35;--tl-surface:linear-gradient(145deg,#182b47 0%,#101d32 100%);--tl-surface2:#15263e;
 --tl-surface-solid:#14243b;--tl-header:rgba(11,23,40,.95);--tl-input:#102037;
 --tl-text:#edf5ff;--tl-muted:#a9bbd3;--tl-border:rgba(156,190,232,.2);--tl-strong-border:rgba(156,190,232,.3);
 --tl-primary:#3479d4;--tl-primary2:#235cae;--tl-primary-soft:rgba(57,127,220,.15);
 --tl-shadow:0 16px 40px rgba(2,8,20,.26);--tl-page-bg:radial-gradient(940px 490px at 90% -10%,rgba(49,120,210,.16),transparent 65%),linear-gradient(135deg,#090f1c,#10213a 65%,#0a1425);
 --tl-focus:rgba(69,145,240,.22);--tl-row:#10223b;
 --bg:#0b1425;--bg1:#0b1425;--bg2:#102039;--bg-dark:#0b1425;
 --txt:#edf5ff;--text:#edf5ff;--text-main:#edf5ff;--text-dim:#a9bbd3;--muted:#a9bbd3;
 --accent:#3479d4;--accent2:#235cae;--accent-blue:#3479d4;--accent-purple:#5487d3;--accent-orange:#3479d4;--orange:#3479d4;
 --blue:#428de3;--blue-2:#235cae;--panel:#14253f;--panel2:#182d4b;--panel3:#101d32;
 --panel-2:#14253f;--card:#152740;--card-bg:rgba(23,43,71,.88);--sidebar-bg:rgba(13,28,49,.94);
 --row:rgba(23,43,71,.85);--row2:rgba(16,33,57,.85);--line:rgba(156,190,232,.2);--line2:rgba(156,190,232,.13);
 --stroke:rgba(156,190,232,.2);--stroke2:rgba(156,190,232,.13);--border:rgba(156,190,232,.2);
 --glow:rgba(57,127,220,.18);--glass-border:rgba(156,190,232,.2);--shine:rgba(59,130,222,.18);
 --bubble-ai:#152740;--bubble-user:linear-gradient(145deg,#245ea8,#1c477f);--shadow:var(--tl-shadow);
 --terminal:#07140f;--terminalText:#b8f7c9;
}
html[data-tl-module][data-theme="light"]{
 color-scheme:light;
 --tl-page:#f5f8fc;--tl-page2:#eaf1f9;--tl-surface:linear-gradient(145deg,#fff 0%,#eef4fc 100%);--tl-surface2:#f0f5fb;
 --tl-surface-solid:#fff;--tl-header:rgba(255,255,255,.94);--tl-input:#fff;
 --tl-text:#1c3553;--tl-muted:#5a718d;--tl-border:#d5e1ef;--tl-strong-border:#b8cce4;
 --tl-primary:#246bbd;--tl-primary2:#3484d6;--tl-primary-soft:rgba(48,117,209,.09);
 --tl-shadow:0 12px 36px rgba(27,65,113,.09);--tl-page-bg:radial-gradient(900px 480px at 90% -10%,rgba(53,124,210,.11),transparent 65%),linear-gradient(145deg,#f7faff,#eaf1fa 70%,#f8fbff);
 --tl-focus:rgba(48,124,225,.16);--tl-row:#f1f6fc;
 --bg:#f5f8fc;--bg1:#f5f8fc;--bg2:#eaf1f9;--bg-dark:#f5f8fc;
 --txt:#1c3553;--text:#1c3553;--text-main:#1c3553;--text-dim:#607692;--muted:#607692;
 --accent:#246bbd;--accent2:#3484d6;--accent-blue:#246bbd;--accent-purple:#547dc1;--accent-orange:#246bbd;--orange:#246bbd;
 --blue:#246bbd;--blue-2:#3484d6;--panel:#fff;--panel2:#f0f5fb;--panel3:#edf4fb;
 --panel-2:#f5f9fd;--card:#fff;--card-bg:rgba(255,255,255,.96);--sidebar-bg:rgba(255,255,255,.96);
 --row:#fff;--row2:#f2f7fd;--line:#d5e1ef;--line2:#e0e8f3;
 --stroke:#d5e1ef;--stroke2:#e0e8f3;--border:#d5e1ef;
 --glow:rgba(46,113,204,.09);--glass-border:#d5e1ef;--shine:rgba(59,130,222,.09);
 --bubble-ai:#fff;--bubble-user:linear-gradient(145deg,#dcecff,#c6dffa);--shadow:var(--tl-shadow);
 --terminal:#102119;--terminalText:#b8f7c9;
}
html[data-tl-module] body{
 background:var(--tl-page-bg)!important;color:var(--tl-text)!important;
}
html[data-tl-module] :is(.top,.topbar,.header,.mobile-header,.chat-header,.sidebar-header){
 background:var(--tl-header)!important;border-color:var(--tl-border)!important;color:var(--tl-text)!important;
}
html[data-tl-module] :is(.hero,.box,.panel,.section,.stat-card,.option-card,.category-card,.part-card,.search-card,.search-wrap,.report-box,.result,.formula,.info-card,.modal-box,.login-box,.mode-card,.diagnostic-form-card,.trust-modal-card,.chat-card,.main,.sidebar,.desktop-sidebar,.drawer-panel,.input-container,.input-shell,.search-input-wrapper,.search-box,.messages,.card:not(.card-icon),.table-wrap,.device-table-wrap,.stats,.stat-pill,.note:not(.alert),.mode-panel,.preview-list,.result-box){
 background:var(--tl-surface)!important;border-color:var(--tl-border)!important;box-shadow:var(--tl-shadow)!important;
}
/* Soft blue decorative glows replace orange/red washes, without touching content. */
html[data-tl-module] :is(.hero,.box,.panel,.section,.stat-card,.search-wrap,.report-box,.login-box,.category-card)::before{
 background:radial-gradient(540px 250px at 85% 5%,var(--tl-primary-soft),transparent 75%)!important;
}
html[data-tl-module] :is(h1,h2,h3,h4,h5,.brand,.brand-title,.brand-name,.title,.sec-title,.option-title,.category-title,.card-title,.chat-name,.sidebar-title,.stat-value,.result-big,.device-main,.mode-info h3,.welcome-section h2){
 color:var(--tl-text)!important;
}
html[data-tl-module] :is(p,.muted,.sub,.hint,.helper,.meta,.note,.stat-label,.option-desc,.category-sub,.field label,.sec-note,.table-note,.brand-sub-head,.brand-trigger-text,.chat-status,.sidebar-sub,.mode-info p,.welcome-section p,.empty-state p){
 color:var(--tl-muted)!important;
}
html[data-tl-module] a:not(.btn-acc):not(.home-btn):not(.send-btn){color:inherit;}
html[data-tl-module] :is(input:not([type="checkbox"]):not([type="radio"]):not([type="range"]),textarea,select,.inp,.sel,.search-input,.brand-trigger,.brand-search,.rinp,.rtext,.input-shell textarea,.search-input-wrapper input){
 background:var(--tl-input)!important;color:var(--tl-text)!important;border-color:var(--tl-strong-border)!important;box-shadow:none!important;
}
html[data-tl-module] :is(input,textarea)::placeholder{color:var(--tl-muted)!important;opacity:.78;}
html[data-tl-module] select option{background:var(--tl-input)!important;color:var(--tl-text)!important;}
html[data-tl-module] :is(input:not([type="checkbox"]):not([type="radio"]),textarea,select,.inp,.sel):focus{
 border-color:var(--tl-primary)!important;outline-color:var(--tl-primary)!important;box-shadow:0 0 0 3px var(--tl-focus)!important;
}
html[data-tl-module] :is(.btn,.home-btn,.back-link,.btn-ghost,.mini-btn,.pbtn,.page-btn,.pagination button,.quick-btn,.tab,.mode-item,.mode-link,.wa-icon-btn,.fab-btn){
 background:var(--tl-surface2)!important;color:var(--tl-text)!important;border-color:var(--tl-border)!important;
}
html[data-tl-module] :is(.btn-acc,.btn-primary,.home-btn,.search-box button,.send-btn,.analyze-btn,.new-chat-btn,.add-icon-btn,.option-link,.search-row .btn,.btn:not(.btn-danger).primary,.pbtn.active,.pbtn.on,.page-btn.active,.pagination button.active,.tab.active,.mode-item.active){
 background:linear-gradient(135deg,var(--tl-primary),var(--tl-primary2))!important;color:#fff!important;
 border-color:transparent!important;box-shadow:0 8px 20px rgba(33,101,182,.2)!important;
}
/* Danger actions remain visibly dangerous, rather than being recolored blue. */
html[data-tl-module] :is(.btn-danger,.mini-danger,.alert-danger,.status-badge.danger,.error,.flash-err){
 border-color:rgba(232,80,80,.4)!important;
}
html[data-tl-module] :is(.btn,.home-btn,.back-link,button,a):focus-visible{
 outline:2px solid var(--tl-primary)!important;outline-offset:2px;
}
html[data-tl-module] :is(table,.device-table,.table,.rgrid,.rows,.table-wrap,.device-table-wrap){border-color:var(--tl-border)!important;color:var(--tl-text)!important;}
html[data-tl-module] :is(thead th,.device-table th,.table .th,.rgrid .th,.t-head){
 background:var(--tl-surface2)!important;color:var(--tl-text)!important;border-color:var(--tl-border)!important;
}
html[data-tl-module] :is(tbody td,.device-table td,.table .td,.rgrid .td,.rrow,.row,.value-row){
 background:transparent!important;color:var(--tl-text)!important;border-color:var(--tl-border)!important;
}
html[data-tl-module] :is(tbody tr:hover td,.table tr:hover td,.row:hover,.brand-item:hover){background:var(--tl-primary-soft)!important;}
html[data-tl-module] :is(.modal,.trust-modal){backdrop-filter:blur(5px);}
html[data-tl-module] :is(.brand-menu,.brand-menu-head,.dropdown-menu,.modal-content,.sidebar,.chat-input-area,.composer,.chat-stage,.chat-ui){
 background:var(--tl-surface-solid)!important;color:var(--tl-text)!important;border-color:var(--tl-border)!important;
}
html[data-tl-module] :is(.brand-item,.preview-chip,.chip,.part-code-badge,.year-pill,.pill,.status-badge,.key,.tag,.device-sub){border-color:var(--tl-border)!important;}
/* Main tools use consistent action colour, with proper hover feedback. */
html[data-tl-module] :is(.btn-acc,.home-btn,.send-btn,.analyze-btn,.option-link,.new-chat-btn):hover{filter:brightness(1.07);}
/* Theme control belongs to the normal page flow. No fixed-position overlays. */
.tl-global-theme-btn{
 position:static!important;inset:auto!important;top:auto!important;left:auto!important;
 z-index:auto!important;display:inline-flex!important;align-items:center;justify-content:center;gap:8px;
 flex:0 0 auto;max-width:100%;margin:0;
 padding:9px 14px;min-height:42px;border-radius:13px;background:var(--tl-surface-solid)!important;
 border:1px solid var(--tl-strong-border)!important;color:var(--tl-text)!important;
 box-shadow:0 4px 12px rgba(14,40,81,.09)!important;cursor:pointer;
 line-height:1.3;font:800 13px/1.3 "Cairo",Tahoma,Arial,sans-serif;
 direction:rtl;white-space:nowrap;transition:background .16s ease,border-color .16s ease;
}
.tl-global-theme-btn:hover{border-color:var(--tl-primary)!important;background:var(--tl-primary-soft)!important;}
.tl-global-theme-btn:focus-visible{outline:3px solid var(--tl-primary);outline-offset:2px;}
.tl-global-theme-btn .tl-theme-glyph{font-size:19px;color:var(--tl-primary);}
/* When a page lacks a safe header, a dedicated normal-flow toolbar is inserted. */
.tl-theme-toolbar{
 position:relative!important;z-index:3;box-sizing:border-box;
 display:flex;align-items:center;justify-content:flex-start;
 width:min(1200px,94%);margin:10px auto;min-height:43px;
 padding:0;direction:rtl;isolation:isolate;
}
/* Existing action row may wrap instead of placing the switch over an action. */
html[data-tl-module] :is(.top-inner,.topbar-inner,.hero-top,.top-bar,.nav,.brand-row,.sidebar-header,.sidebar-head):has(> .tl-global-theme-btn){
 flex-wrap:wrap!important;row-gap:10px!important;column-gap:10px!important;
}
@media(max-width:680px){
 .tl-global-theme-btn{min-height:38px;padding:7px 10px;font-size:12px;}
 .tl-global-theme-btn .tl-theme-glyph{font-size:18px;}
 .tl-theme-toolbar{margin:8px auto;min-height:38px;}
}
@media print{
 .tl-global-theme-btn,.tl-theme-toolbar{display:none!important;}
 html[data-tl-module] body{background:#fff!important;color:#000!important;}
 html[data-tl-module] :is(.hero,.box,.panel,.section,.stat-card,.option-card,.category-card,.part-card,.search-card,.search-wrap,.report-box,.result,.formula,.info-card,.login-box,.card){background:#fff!important;box-shadow:none!important;}
}
/* AI landing / library backgrounds stay decorative and do not lock light theme in black. */
html[data-tl-module="assistance"][data-theme="light"] :is(.bg,.grid){opacity:.10!important;}
html[data-tl-module="assistance"][data-theme="light"] .overlay{background:rgba(245,248,252,.72)!important;}
html[data-tl-module="assistance"][data-theme="light"] #stars{opacity:.18!important;}
html[data-tl-module="assistance"] :is(.card,.box,.message.ai,.sidebar,.sidebar-header,.diagnostic-form-card,.search-box,.bubble.assistant,.chat-overlay,.chat-input-area,.composer,.main){
 background:var(--tl-surface)!important;border-color:var(--tl-border)!important;color:var(--tl-text)!important;
}
html[data-tl-module="assistance"] :is(.text,.title,.mode-card h3,.sidebar-header h1,.chat-header h2,.message.ai,.bubble.assistant){color:var(--tl-text)!important;}
html[data-tl-module="assistance"] :is(.message.user,.bubble.user){background:linear-gradient(135deg,var(--tl-primary),var(--tl-primary2))!important;color:#fff!important;}
html[data-tl-module="assistance"] :is(.mode-card .card-icon,.mode-icon){
 color:var(--tl-primary)!important;background:var(--tl-primary-soft)!important;box-shadow:none!important;
}
html[data-tl-module="assistance"] :is(.search-box input,.input-container textarea,.input-shell textarea,.diagnostic-form-card input,.diagnostic-form-card textarea,.diagnostic-form-card select){
 background:var(--tl-input)!important;color:var(--tl-text)!important;border-color:var(--tl-border)!important;
}
html[data-tl-module="assistance"] :is(.chat-wallpaper,.chat-overlay){opacity:.12!important;}
html[data-tl-module="assistance"][data-theme="light"] .bg-glow{opacity:.12!important;}
html[data-tl-module="assistance"] :is(.sidebar,.desktop-sidebar,.chat-header,.topbar,.chat-input-area,.composer){border-color:var(--tl-border)!important;}
/* Management tool: preserve table density and semantic status colors. */
html[data-tl-module="manager-tool"] :is(.section,.hero,.stat-card,.category-card,.part-card,.info-card,.modal-box,.search-panel,.login-box,.card,.card-actions,.preview-list){
 background:var(--tl-surface)!important;border-color:var(--tl-border)!important;
}
html[data-tl-module="manager-tool"] :is(.stat-card:before,.section:before,.category-card:before){background:radial-gradient(400px 170px at 85% 20%,var(--tl-primary-soft),transparent 80%)!important;}
html[data-tl-module="manager-tool"] :is(.modal-box,.modal-head,.modal-tools,.chips,.search-panel,.parts-grid){color:var(--tl-text)!important;border-color:var(--tl-border)!important;}
html[data-tl-module="manager-tool"] .status-badge.done{color:#11794e!important;}
html[data-tl-module="manager-tool"][data-theme="dark"] .status-badge.done{color:#7fe7b9!important;}
/* Diagnostic terminal remains a dark code-output surface even in light mode. */
html[data-tl-module="diagnostic"] :is(.topbar,.panel,.session-card,.source-card,.result-card,.analysis-card,.trust-modal-card){
 background:var(--tl-surface)!important;color:var(--tl-text)!important;border-color:var(--tl-border)!important;
}
html[data-tl-module="diagnostic"] :is(.btn.primary,.btn-red,.btn-primary){
 background:linear-gradient(135deg,var(--tl-primary),var(--tl-primary2))!important;color:#fff!important;
}
html[data-tl-module="diagnostic"] :is(.kicker,.intro h1 em){color:var(--tl-primary)!important;}
html[data-tl-module="diagnostic"] :is(.terminal,.terminal-output,.terminal-screen,pre){
 background:#07140f!important;color:#b8f7c9!important;
}
html[data-tl-module="diagnostic"] :is(.trust-modal-card p,.problem-control label){color:var(--tl-muted)!important;}
/* The existing component-values-search is already independently themed: shared localStorage key. */
