
:root{
  --bg:#07111f;--panel:#0d1b2d;--panel2:#101f34;--text:#f5f8fc;--muted:#9fb0c6;
  --accent:#4ea1ff;--accent2:#75bbff;--line:#20334a;--ok:#57d39b;--shadow:0 25px 80px rgba(0,0,0,.35)
}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Arial;background:var(--bg);color:var(--text);line-height:1.6}
a{color:inherit;text-decoration:none}button,input{font:inherit}
.nav{position:sticky;top:0;z-index:20;display:flex;align-items:center;justify-content:space-between;padding:16px max(5vw,20px);background:rgba(7,17,31,.86);backdrop-filter:blur(16px);border-bottom:1px solid rgba(255,255,255,.06)}
.brand{display:flex;align-items:center;gap:10px;font-weight:750;font-size:20px}.brand strong{color:var(--accent)}.brand-mark,.mini-logo{display:grid;place-items:center;background:linear-gradient(135deg,var(--accent),#2363d7);color:#fff;font-weight:900;border-radius:10px}.brand-mark{width:38px;height:38px}.mini-logo{width:34px;height:34px}
nav{display:flex;align-items:center;gap:20px}nav a{color:var(--muted)}nav a:hover{color:#fff}.text-btn{border:0;background:none;color:var(--muted);cursor:pointer}
.btn{border:0;border-radius:12px;background:linear-gradient(135deg,var(--accent),#2d72e8);color:#fff;padding:13px 20px;font-weight:750;cursor:pointer;box-shadow:0 10px 30px rgba(78,161,255,.2)}.btn:hover{transform:translateY(-1px)}.btn.small{padding:9px 14px}.btn.tiny{padding:8px 11px;font-size:12px}.btn.ghost{background:transparent;border:1px solid var(--line);box-shadow:none}.btn.wide{width:100%}.menu-btn{display:none;background:none;border:0;color:#fff;font-size:24px}
.hero{min-height:82vh;display:grid;grid-template-columns:1.02fr .98fr;gap:48px;align-items:center;padding:80px max(5vw,20px) 50px;background:radial-gradient(circle at 78% 12%,rgba(78,161,255,.13),transparent 28%)}
.eyebrow{text-transform:uppercase;letter-spacing:.14em;font-size:12px;font-weight:800;color:var(--accent2);margin-bottom:10px}.hero h1{font-size:clamp(44px,6vw,82px);line-height:1.02;margin:0 0 22px;letter-spacing:-.04em}.hero h1 span{color:var(--accent2)}.hero-copy>p{max-width:660px;font-size:19px;color:var(--muted)}.hero-actions{display:flex;gap:12px;margin:28px 0 18px}.trust-row{display:flex;gap:20px;flex-wrap:wrap;color:#b6c4d6;font-size:13px}
.hero-card{background:#0a1625;border:1px solid var(--line);border-radius:18px;overflow:hidden;box-shadow:var(--shadow);transform:perspective(1000px) rotateY(-2deg)}
.browser-bar{height:42px;display:flex;align-items:center;gap:7px;padding:0 14px;border-bottom:1px solid var(--line);color:#7890aa;font-size:11px}.browser-bar span{width:9px;height:9px;border-radius:50%;background:#38506b}.browser-bar b{margin-left:8px;font-weight:500}
.dashboard{display:grid;grid-template-columns:105px 1fr;min-height:390px}.dashboard aside{border-right:1px solid var(--line);padding:16px 10px}.dashboard aside button{display:block;width:100%;padding:10px 8px;margin:7px 0;text-align:left;border:0;border-radius:8px;background:none;color:#7f95ad;font-size:11px}.dashboard aside .active{background:#122a46;color:#fff}.dash-main{padding:20px}.dash-top{display:flex;align-items:center;justify-content:space-between}.dash-top small{color:#7f95ad}.dash-top h3{margin:2px 0 0}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:20px 0}.stats>div{padding:14px;border:1px solid var(--line);border-radius:12px;background:var(--panel)}.stats small,.stats em{display:block;color:#7f95ad;font-style:normal;font-size:10px}.stats b{display:block;font-size:24px}.quote-card{display:grid;grid-template-columns:82px 1fr;gap:14px;padding:14px;border:1px solid var(--line);border-radius:12px;background:var(--panel)}.quote-card h4{margin:1px 0}.quote-card p{font-size:11px;color:#91a6be;margin:6px 0}.quote-card strong{font-size:11px;color:#cfe6ff}.photo-placeholder{display:grid;place-items:center;border-radius:10px;background:#14273d;font-size:30px}
.logos{padding:24px max(5vw,20px);display:flex;justify-content:space-around;gap:20px;flex-wrap:wrap;border-top:1px solid rgba(255,255,255,.05);border-bottom:1px solid rgba(255,255,255,.05);color:#60758d;font-weight:800;font-size:12px;letter-spacing:.12em}
.section{padding:90px max(5vw,20px)}.section.alt{background:#091522}.section-head{text-align:center;max-width:720px;margin:0 auto 45px}.section-head h2,.cta h2{font-size:clamp(32px,4vw,52px);line-height:1.1;margin:6px 0 12px}.section-head p,.cta p{color:var(--muted)}
.grid{display:grid;gap:18px}.features{grid-template-columns:repeat(3,1fr);max-width:1200px;margin:auto}.features article,.price-card{background:linear-gradient(180deg,var(--panel2),var(--panel));border:1px solid var(--line);border-radius:16px;padding:24px}.features .icon{font-size:28px}.features h3{margin-bottom:6px}.features p{color:var(--muted);margin:0}
.steps{max-width:1100px;margin:auto;display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.steps article{padding:22px;border-top:1px solid var(--line)}.steps span{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:#122b48;color:var(--accent2);font-weight:800}.steps p{color:var(--muted)}.notice{max-width:900px;margin:36px auto 0;padding:16px 18px;border:1px solid var(--line);border-radius:12px;color:var(--muted);font-size:14px}
.pricing{grid-template-columns:repeat(3,1fr);max-width:1050px;margin:auto;align-items:stretch}.price-card{position:relative}.price-card.featured{border-color:#3d85e5;transform:scale(1.03)}.badge{position:absolute;right:18px;top:18px;padding:5px 8px;border-radius:999px;background:#12325a;color:#8ec4ff;font-size:10px;font-weight:800;text-transform:uppercase}.price{font-size:38px;font-weight:900;margin:14px 0}.price span{font-size:14px;color:var(--muted);font-weight:500}.price-card p,.price-card li{color:var(--muted)}.price-card ul{padding-left:20px;min-height:145px}
.cta{display:grid;grid-template-columns:1fr auto;align-items:center;gap:35px;background:linear-gradient(110deg,#0d2139,#0a1726);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.cta form{display:flex;gap:10px}.cta input{min-width:280px;padding:13px 14px;border-radius:12px;border:1px solid var(--line);background:#06111f;color:#fff;outline:none}.success{grid-column:2;color:var(--ok);font-size:13px}
footer{padding:42px max(5vw,20px);color:var(--muted)}footer .brand{color:#fff}.muted{font-size:12px;max-width:700px}
dialog{width:min(460px,92vw);border:1px solid var(--line);border-radius:18px;background:#0c1929;color:#fff;padding:28px;box-shadow:var(--shadow)}dialog::backdrop{background:rgba(0,0,0,.68)}.modal-close{position:absolute;right:14px;top:10px;background:none;border:0;color:#fff;font-size:26px;cursor:pointer}.modal-form{display:grid;gap:12px}.modal-form input{padding:12px 13px;border-radius:10px;border:1px solid var(--line);background:#07111f;color:#fff}.modal-form p{color:var(--muted);font-size:13px}
@media (max-width:900px){
  .hero{grid-template-columns:1fr;padding-top:55px}.features,.pricing{grid-template-columns:1fr 1fr}.steps{grid-template-columns:1fr 1fr}.cta{grid-template-columns:1fr}.success{grid-column:1}.hero-card{transform:none}
}
@media (max-width:680px){
  .menu-btn{display:block}nav{display:none;position:absolute;top:70px;left:0;right:0;padding:18px 20px;background:#07111f;border-bottom:1px solid var(--line);flex-direction:column;align-items:stretch}nav.open{display:flex}.features,.pricing,.steps{grid-template-columns:1fr}.price-card.featured{transform:none}.dashboard{grid-template-columns:1fr}.dashboard aside{display:none}.stats{grid-template-columns:1fr 1fr}.hero h1{font-size:46px}.cta form{flex-direction:column}.cta input{min-width:0;width:100%}
}

/* New Quote MVP */
.quote-modal{width:min(900px,95vw);max-height:92vh;overflow:auto;padding:0}
.quote-modal #quoteFlow{padding:30px}
.quote-progress{display:flex;gap:8px;margin:10px 0 26px}
.quote-progress span{height:5px;flex:1;border-radius:999px;background:#1b3047}
.quote-progress span.done{background:var(--accent)}
.quote-form{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.quote-form .full{grid-column:1/-1}
.quote-form label{display:grid;gap:7px;color:#b9c7d8;font-size:13px;font-weight:700}
.quote-form input,.quote-form select,.quote-form textarea,.quote-edit input{width:100%;padding:12px 13px;border:1px solid var(--line);border-radius:10px;background:#07111f;color:#fff;outline:none}
.quote-form textarea{min-height:95px;resize:vertical}
.dropzone{border:1px dashed #3a5c80;border-radius:14px;background:#091726;padding:24px;text-align:center;cursor:pointer;color:var(--muted)}
.dropzone:hover{border-color:var(--accent)}
.photo-previews{display:grid;grid-template-columns:repeat(5,1fr);gap:10px;margin-top:12px}
.photo-previews img{width:100%;aspect-ratio:1/1;object-fit:cover;border-radius:10px;border:1px solid var(--line)}
.quote-actions{display:flex;justify-content:space-between;gap:12px;margin-top:24px;flex-wrap:wrap}
.analyzing{text-align:center;padding:55px 20px}.spinner{width:44px;height:44px;border:4px solid #1a3048;border-top-color:var(--accent);border-radius:50%;margin:0 auto 20px;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}
.analysis-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:16px}.analysis-card{padding:18px;border:1px solid var(--line);border-radius:14px;background:var(--panel)}
.analysis-card h3{margin-top:0}.scope-list{padding-left:20px;color:#c3d0df}.scope-list li{margin:7px 0}.confidence{display:inline-block;padding:5px 9px;border-radius:999px;background:#0f3528;color:#77e0b1;font-size:12px;font-weight:800}
.quote-table{width:100%;border-collapse:collapse;margin-top:10px}.quote-table th,.quote-table td{padding:11px 8px;border-bottom:1px solid var(--line);text-align:left}.quote-table th:last-child,.quote-table td:last-child{text-align:right}.quote-total{display:flex;justify-content:space-between;font-size:24px;font-weight:900;padding-top:16px}.disclaimer{margin-top:18px;padding:12px 14px;border:1px solid #5a4823;background:#1e1a10;border-radius:10px;color:#dac38c;font-size:12px}
.demo-badge{display:inline-block;margin-left:8px;padding:3px 7px;border-radius:999px;background:#27324a;color:#aebed0;font-size:10px;vertical-align:middle}
@media(max-width:680px){.quote-form,.analysis-grid{grid-template-columns:1fr}.photo-previews{grid-template-columns:repeat(3,1fr)}.quote-modal #quoteFlow{padding:22px 16px}.quote-actions .btn{flex:1}}
.analysis-error{padding:40px 8px}.analysis-error p{color:var(--muted);max-width:650px}.scope-list.compact{font-size:13px}.scope-list.warnings{color:#dac38c}


/* Saved Quotes */
.quotes-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:22px}.quotes-heading h2{margin:0 0 6px}.quotes-heading p{margin:0;color:var(--muted)}
.quotes-list{display:grid;gap:10px}.saved-quote{width:100%;display:grid;grid-template-columns:1fr auto;gap:18px;align-items:center;text-align:left;padding:16px 18px;border:1px solid var(--line);border-radius:13px;background:var(--panel);color:#fff;cursor:pointer}.saved-quote:hover{border-color:#3d85e5;background:#102239}.saved-quote>div:first-child{display:grid;gap:4px}.saved-quote>div:first-child span{color:var(--muted);font-size:13px}.saved-quote-meta{display:grid;grid-template-columns:auto auto auto;gap:10px;align-items:center}.saved-quote-meta b{font-size:18px}.saved-quote-meta small{color:var(--muted)}.quote-status{display:inline-block;padding:4px 8px;border-radius:999px;background:#3b3220;color:#f2cf78;font-size:11px;font-weight:800}.quote-status.is-sent{background:#0f3528;color:#77e0b1}.quotes-empty{text-align:center;padding:46px 18px;border:1px dashed var(--line);border-radius:14px;color:var(--muted)}.quotes-empty h3{color:#fff}.saved-quote-detail{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:18px 0}.saved-scope{margin-top:16px}
@media(max-width:680px){.quotes-heading{display:grid}.saved-quote{grid-template-columns:1fr}.saved-quote-meta{grid-template-columns:1fr auto auto}.saved-quote-detail{grid-template-columns:1fr}}


/* Customer Jobs v7 */
.customer-jobs-section{margin-top:18px;padding-top:8px}.customer-jobs-section .quotes-heading{align-items:center;margin-bottom:12px}.customer-jobs-section .quotes-heading h3{margin:0 0 4px}.customer-jobs-list{display:grid;gap:10px}.customer-job-card{width:100%;display:grid;grid-template-columns:1fr auto;gap:16px;align-items:center;text-align:left;padding:15px 17px;border:1px solid var(--line);border-radius:13px;background:var(--panel);color:#fff;cursor:pointer}.customer-job-card:hover{border-color:#3d85e5;background:#102239}.customer-job-card>div:first-child{display:grid;gap:4px}.customer-job-card>div:first-child span{color:var(--muted);font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:520px}.customer-job-meta{display:flex;gap:9px;align-items:center;justify-content:flex-end}.customer-job-meta small{color:var(--muted)}.customer-job-meta b{min-width:70px;text-align:right}.job-status{display:inline-block;padding:4px 8px;border-radius:999px;font-size:11px;font-weight:800;background:#27324a;color:#b9c9dc}.job-status-in_progress{background:#3b3220;color:#f2cf78}.job-status-completed{background:#0f3528;color:#77e0b1}.compact-empty{padding:25px 16px}
@media(max-width:680px){.customer-job-card{grid-template-columns:1fr}.customer-job-meta{justify-content:flex-start;flex-wrap:wrap}.customer-job-card>div:first-child span{max-width:100%}}

/* ================================================================
   KELVQO AI PRO Dark — authenticated Overview only
   Landing page remains untouched unless body.tp-app-mode is active.
   ================================================================ */
.tp-app{display:none}
body.tp-app-mode{overflow:hidden;background:#070b11}
body.tp-app-mode>.nav,body.tp-app-mode>main,body.tp-app-mode>footer{display:none!important}
body.tp-app-mode>.tp-app{display:grid;grid-template-columns:224px minmax(0,1fr);width:100vw;height:100vh;min-height:720px;background:#090e15;color:#f5f8fc;overflow:hidden}
.tp-app *{box-sizing:border-box}
.tp-app-sidebar{height:100vh;background:#080d13;border-right:1px solid #17202b;padding:22px 14px 16px;display:flex;flex-direction:column;min-width:0}
.tp-app-brand{height:48px;display:flex;align-items:center;gap:10px;padding:0 8px 17px;border-bottom:1px solid #151e28;font-size:14px;font-weight:800;letter-spacing:-.01em}
.tp-app-brandmark{display:grid;place-items:center;width:28px;height:28px;border-radius:7px;background:linear-gradient(135deg,#0b69ff,#21a0ff);box-shadow:0 0 22px rgba(31,132,255,.25);font-size:11px;color:white}
.tp-app-brandtext strong{color:#4ca4ff}
.tp-app-nav{display:grid;gap:6px;margin-top:18px}
.tp-app-navbtn{appearance:none;width:100%;display:flex;align-items:center;gap:11px;border:1px solid transparent;background:transparent;color:#778697;border-radius:8px;padding:10px 11px;font:600 12px/1.2 inherit;text-align:left;cursor:pointer;transition:.18s ease}
.tp-app-navbtn span{display:grid;place-items:center;width:17px;color:#718093;font-size:15px}
.tp-app-navbtn:hover{color:#dbe7f5;background:#0d151e;border-color:#172331}
.tp-app-navbtn.active{color:#65acff;background:linear-gradient(90deg,rgba(25,120,255,.17),rgba(25,120,255,.045));border-color:#19324c;box-shadow:inset 3px 0 #197bff}
.tp-app-navbtn.active span{color:#2890ff}
.tp-app-sidebar-bottom{margin-top:auto;display:grid;gap:13px}
.tp-app-plan{border-top:1px solid #151e28;border-bottom:1px solid #151e28;padding:16px 9px 14px;display:grid;gap:10px}
.tp-app-plan strong,.tp-app-plan small{display:block}.tp-app-plan strong{font-size:11px}.tp-app-plan small{font-size:9px;color:#677789;margin-top:3px}
.tp-app-planbar{height:4px;border-radius:99px;background:#18232f;overflow:hidden}.tp-app-planbar span{display:block;width:68%;height:100%;background:#147df5;border-radius:inherit}
.tp-app-profile{appearance:none;border:0;background:transparent;color:#fff;padding:7px 6px;display:grid;grid-template-columns:32px minmax(0,1fr) auto;gap:9px;align-items:center;text-align:left;cursor:pointer;border-radius:9px}
.tp-app-profile:hover{background:#0d151e}.tp-app-profile strong,.tp-app-profile small{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tp-app-profile strong{font-size:10px}.tp-app-profile small{font-size:8px;color:#69798c;margin-top:2px}.tp-app-profile>b{color:#536274}
.tp-avatar{width:32px;height:32px;border-radius:8px;background:linear-gradient(145deg,#283a4f,#162435);display:grid;place-items:center;font-size:12px;font-weight:800;color:#cfe5ff;border:1px solid #31445a}
.tp-app-main{height:100vh;min-width:0;overflow:auto;background:radial-gradient(circle at 72% -15%,rgba(23,80,145,.12),transparent 34%),#0a1017}
.tp-app-topbar{height:58px;position:sticky;top:0;z-index:5;border-bottom:1px solid #18212c;background:rgba(9,14,21,.94);backdrop-filter:blur(14px);display:flex;align-items:center;justify-content:flex-end;padding:0 31px;gap:17px}
.tp-app-search{width:min(340px,38vw);height:32px;border:1px solid #202c39;background:#0c131c;border-radius:7px;display:grid;grid-template-columns:24px 1fr auto;align-items:center;padding:0 9px;color:#536477}
.tp-app-search input{border:0;outline:0;background:transparent;color:#dce8f6;width:100%;font:500 10px inherit}.tp-app-search input::placeholder{color:#58687a}.tp-app-search kbd{font:500 8px inherit;color:#657589;border:1px solid #283442;border-radius:4px;padding:2px 5px;background:#111a24}
.tp-app-topicons{display:flex;gap:6px}.tp-app-topicons span{width:29px;height:29px;border:1px solid #202b37;background:#0d141d;border-radius:7px;display:grid;place-items:center;color:#748397;font-size:11px}
.tp-overview{width:min(1420px,100%);margin:0 auto;padding:29px 34px 38px}
.tp-overview-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;margin-bottom:22px}.tp-overview-heading h1{font-size:21px;line-height:1.15;letter-spacing:-.03em;margin:0 0 6px}.tp-overview-heading p{margin:0;color:#667689;font-size:10px}
.tp-primary-btn{appearance:none;border:1px solid #2b92ff;background:linear-gradient(180deg,#1688ff,#096be4);color:white;border-radius:7px;padding:9px 14px;font:700 10px inherit;box-shadow:0 6px 20px rgba(0,110,255,.18);cursor:pointer}.tp-primary-btn:hover{filter:brightness(1.08)}.tp-primary-btn.compact{padding:8px 12px;white-space:nowrap}
.tp-stat-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:13px}
.tp-stat-card{min-height:104px;border:1px solid #1b2632;background:linear-gradient(145deg,#0e151e,#0b1219);border-radius:8px;padding:15px 16px;box-shadow:0 12px 30px rgba(0,0,0,.12)}
.tp-stat-row{display:flex;justify-content:space-between;align-items:center;color:#78889a;font-size:9px;margin-bottom:9px}.tp-stat-row i{font-style:normal;width:25px;height:25px;border-radius:6px;display:grid;place-items:center;font-size:11px}.tp-stat-row .blue{background:rgba(17,125,255,.12);color:#2389ff}.tp-stat-row .purple{background:rgba(143,84,255,.12);color:#a577ff}.tp-stat-row .green{background:rgba(34,199,135,.12);color:#37d493}.tp-stat-row .amber{background:rgba(255,166,42,.12);color:#ffad3d}
.tp-stat-card>strong{display:block;font-size:24px;line-height:1;margin:0 0 9px;letter-spacing:-.025em}.tp-stat-card>small{display:block;color:#637386;font-size:8px}.tp-stat-card>small.positive{color:#34c98c}
.tp-overview-grid{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(360px,.95fr);gap:13px;margin-bottom:13px}.tp-panel{border:1px solid #1b2632;background:linear-gradient(145deg,#0d141d,#0a1118);border-radius:8px;box-shadow:0 12px 32px rgba(0,0,0,.12)}
.tp-panel-head{min-height:55px;padding:14px 16px 10px;display:flex;align-items:flex-start;justify-content:space-between;gap:14px}.tp-panel-head h2{font-size:11px;margin:0 0 4px}.tp-panel-head p{font-size:8px;color:#627286;margin:0}.tp-panel-head button{border:0;background:none;color:#3b93ff;font:600 8px inherit;cursor:pointer}.tp-period{border:1px solid #202c38;background:#101821;border-radius:5px;padding:5px 8px;color:#77889a;font-size:8px}
.tp-activity-list{padding:0 16px 9px}.tp-activity-item{min-height:43px;border-top:1px solid #17212b;display:grid;grid-template-columns:28px minmax(0,1fr) auto auto;align-items:center;gap:9px}.tp-activity-icon{width:24px;height:24px;border-radius:6px;display:grid;place-items:center;font-size:9px;background:#101e2d;color:#3593ff}.tp-activity-copy strong,.tp-activity-copy small{display:block}.tp-activity-copy strong{font-size:8.5px;color:#c7d3df}.tp-activity-copy small{font-size:7.5px;color:#596a7d;margin-top:2px}.tp-activity-value{font-size:8px;color:#8c9bad;font-weight:700}.tp-activity-status{min-width:49px;text-align:center;padding:4px 6px;border-radius:99px;font-size:6.5px;font-weight:800;background:#162532;color:#75a7d8}.tp-activity-status.approved,.tp-activity-status.paid{background:#10291f;color:#50d79a}.tp-activity-status.sent{background:#10233a;color:#55a9ff}.tp-activity-status.unpaid{background:#302716;color:#e9b654}.tp-empty-row{padding:30px 0;color:#617286;font-size:9px;border-top:1px solid #17212b}
.tp-business-panel{padding-bottom:12px}.tp-revenue-total{padding:3px 16px 0;font-size:20px;font-weight:800;letter-spacing:-.03em}.tp-revenue-caption{padding:3px 16px 2px;color:#596a7d;font-size:7.5px}.tp-chart-wrap{padding:2px 15px 0;height:196px}.tp-chart-wrap svg{display:block;width:100%;height:155px;overflow:visible}.tp-chart-grid line{stroke:#18232e;stroke-width:1}.tp-chart-labels{display:flex;justify-content:space-between;color:#536376;font-size:6.5px;padding:0 2px}
.tp-bottom-grid{display:grid;grid-template-columns:minmax(0,1.02fr) minmax(360px,.98fr);gap:13px}.tp-ai-card{min-height:96px;display:grid;grid-template-columns:45px minmax(0,1fr) auto;align-items:center;gap:13px;padding:15px}.tp-ai-icon{width:42px;height:42px;border-radius:8px;display:grid;place-items:center;background:linear-gradient(145deg,#12253b,#0c1b2b);border:1px solid #20436a;font-size:20px}.tp-ai-card h2{font-size:11px;margin:0 0 5px}.tp-ai-card p{font-size:8px;color:#627386;margin:0;max-width:430px;line-height:1.5}
.tp-quick-card{min-height:96px}.tp-quick-actions{display:grid;grid-template-columns:repeat(4,1fr);gap:7px;padding:0 14px 14px}.tp-quick-actions button{appearance:none;border:1px solid #1d2936;background:#0e1720;border-radius:7px;color:#78899b;padding:9px 6px;font:600 7.5px inherit;display:flex;align-items:center;justify-content:center;gap:5px;cursor:pointer}.tp-quick-actions button:hover{border-color:#264f79;color:#75b5ff}.tp-quick-actions span{color:#2790ff;font-size:11px}
@media(max-width:1050px){body.tp-app-mode>.tp-app{grid-template-columns:192px minmax(0,1fr)}.tp-overview{padding:25px 22px 34px}.tp-overview-grid,.tp-bottom-grid{grid-template-columns:1fr}.tp-business-panel{min-height:290px}}
@media(max-width:760px){body.tp-app-mode{overflow:auto}body.tp-app-mode>.tp-app{display:block;min-height:100vh;height:auto}.tp-app-sidebar{height:auto;min-height:0;position:sticky;top:0;z-index:20;padding:10px 12px;background:#080d13}.tp-app-brand{height:38px;padding:0 4px 8px;border:0}.tp-app-nav{display:flex;gap:5px;overflow-x:auto;margin:6px 0 0;padding-bottom:2px}.tp-app-navbtn{width:auto;min-width:max-content;padding:8px 10px}.tp-app-navbtn span{display:none}.tp-app-sidebar-bottom{display:none}.tp-app-main{height:auto;min-height:100vh;overflow:visible}.tp-app-topbar{position:static;height:50px;padding:0 14px}.tp-app-search{width:100%;max-width:none}.tp-app-topicons{display:none}.tp-overview{padding:20px 14px 28px}.tp-overview-heading{align-items:center}.tp-overview-heading h1{font-size:18px}.tp-overview-heading p{display:none}.tp-stat-grid{grid-template-columns:1fr 1fr}.tp-overview-grid,.tp-bottom-grid{grid-template-columns:1fr}.tp-ai-card{grid-template-columns:42px minmax(0,1fr)}.tp-ai-card .tp-primary-btn{grid-column:1/-1}.tp-quick-actions{grid-template-columns:1fr 1fr}.tp-chart-wrap{height:175px}.tp-chart-wrap svg{height:140px}}
@media(max-width:470px){.tp-stat-grid{grid-template-columns:1fr}.tp-overview-heading{display:grid;grid-template-columns:1fr auto}.tp-primary-btn{padding:8px 10px}.tp-activity-item{grid-template-columns:26px minmax(0,1fr) auto}.tp-activity-value{display:none}}


/* ===== KELVQO AI V1 FINAL PRO UI ===== */
/* Landing: visual refresh only; existing structure/actions remain unchanged */
body:not(.tp-app-mode) {
  background:
    radial-gradient(900px 520px at 78% 12%, rgba(21,118,255,.14), transparent 65%),
    radial-gradient(700px 440px at 12% 22%, rgba(37,99,235,.10), transparent 70%),
    #07101d;
}
body:not(.tp-app-mode) .nav {
  background: rgba(7,16,29,.78);
  border-bottom: 1px solid rgba(148,163,184,.10);
  backdrop-filter: blur(18px);
}
body:not(.tp-app-mode) .hero {
  min-height: 720px;
  align-items: center;
  padding-top: 92px;
  padding-bottom: 72px;
}
body:not(.tp-app-mode) .hero-copy { max-width: 650px; }
body:not(.tp-app-mode) .hero h1 {
  font-size: clamp(52px, 6vw, 84px);
  line-height: .98;
  letter-spacing: -4px;
}
body:not(.tp-app-mode) .hero h1 span {
  background: linear-gradient(90deg,#5cc8ff,#258cff 55%,#7c9cff);
  -webkit-background-clip:text;background-clip:text;color:transparent;
}
body:not(.tp-app-mode) .hero-copy > p { font-size: 18px; line-height: 1.75; max-width: 610px; color:#9ba9bb; }
body:not(.tp-app-mode) .btn { border-radius: 10px; box-shadow: 0 10px 30px rgba(20,116,255,.20); }
body:not(.tp-app-mode) .btn.ghost { box-shadow:none; background:rgba(255,255,255,.035); border-color:rgba(148,163,184,.22); }
body:not(.tp-app-mode) .browser {
  border:1px solid rgba(62,132,255,.28);
  background:linear-gradient(145deg,rgba(14,29,49,.96),rgba(7,17,30,.96));
  box-shadow:0 35px 100px rgba(0,0,0,.42),0 0 70px rgba(21,112,255,.08);
  transform: perspective(1200px) rotateY(-2deg);
}
body:not(.tp-app-mode) .section { padding-top:100px; padding-bottom:100px; }
body:not(.tp-app-mode) .card,
body:not(.tp-app-mode) .price-card,
body:not(.tp-app-mode) .steps article {
  background:linear-gradient(155deg,rgba(15,29,48,.92),rgba(9,20,35,.94));
  border-color:rgba(148,163,184,.12);
  box-shadow:0 20px 55px rgba(0,0,0,.16);
}

/* Logged-in workspace */
body.tp-app-mode { margin:0; overflow:hidden; background:#070d16; }
body.tp-app-mode > header.nav,
body.tp-app-mode > main,
body.tp-app-mode > footer { display:none !important; }
body.tp-app-mode #appWorkspace { display:grid !important; }

.tp-app {
  position:fixed; inset:0; z-index:900;
  grid-template-columns:238px minmax(0,1fr);
  width:100vw; height:100vh; min-height:100vh;
  background:#070d16; color:#f4f8ff;
  font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
}
.tp-app-sidebar {
  height:100vh; box-sizing:border-box; padding:20px 14px 16px;
  display:flex; flex-direction:column;
  background:#09111d; border-right:1px solid #172131;
}
.tp-app-brand { height:52px; display:flex; align-items:center; gap:10px; padding:0 8px 16px; border-bottom:1px solid #141f2e; }
.tp-app-brandmark { width:30px;height:30px;border-radius:8px;display:grid;place-items:center;font-weight:800;font-size:12px;color:white;background:linear-gradient(135deg,#258cff,#0a63d8);box-shadow:0 8px 24px rgba(37,140,255,.28); }
.tp-app-brandtext { font-size:14px;font-weight:700;letter-spacing:-.2px; }
.tp-app-brandtext strong { color:#4aa7ff; }
.tp-app-nav { display:grid; gap:6px; padding-top:22px; }
.tp-app-navbtn {
  width:100%;height:42px;padding:0 12px;border:0;border-radius:8px;
  background:transparent;color:#8190a4;display:flex;align-items:center;gap:11px;
  font-size:13px;font-weight:600;text-align:left;cursor:pointer;
}
.tp-app-navbtn span { width:20px;text-align:center;color:#77889d; }
.tp-app-navbtn:hover { color:#dce8f7;background:#0d1827; }
.tp-app-navbtn.active { color:#55aaff;background:linear-gradient(90deg,rgba(29,117,255,.16),rgba(29,117,255,.035));box-shadow:inset 2px 0 #278cff; }
.tp-app-navbtn.active span { color:#278cff; }
.tp-app-sidebar-bottom { margin-top:auto; display:grid;gap:10px; }
.tp-app-plan { padding:12px;border-top:1px solid #141f2e;border-bottom:1px solid #141f2e; }
.tp-app-plan strong,.tp-app-plan small { display:block; }
.tp-app-plan strong { font-size:11px;color:#dbe6f4; }.tp-app-plan small{font-size:9px;color:#68778a;margin-top:3px}
.tp-app-planbar{height:4px;background:#111e2e;border-radius:9px;margin-top:10px;overflow:hidden}.tp-app-planbar span{display:block;width:62%;height:100%;background:#258cff}
.tp-app-profile{border:0;background:transparent;color:#dce6f3;display:grid;grid-template-columns:32px 1fr auto;align-items:center;gap:8px;padding:8px;border-radius:8px;text-align:left}
.tp-avatar{width:32px;height:32px;border-radius:8px;background:#163154;display:grid;place-items:center;color:#64b4ff;font-weight:800}
.tp-app-profile strong,.tp-app-profile small{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tp-app-profile strong{font-size:10px}.tp-app-profile small{font-size:8px;color:#718196;margin-top:2px}

.tp-app-main { min-width:0;height:100vh;overflow:auto;background:radial-gradient(900px 500px at 100% -10%,rgba(30,106,220,.06),transparent 65%),#080f19; }
.tp-app-topbar { height:64px;box-sizing:border-box;border-bottom:1px solid #151f2d;display:flex;align-items:center;justify-content:flex-end;padding:0 30px;background:rgba(8,15,25,.92);position:sticky;top:0;z-index:4; }
.tp-app-search { width:310px;height:34px;border:1px solid #1b2839;background:#0a1421;border-radius:8px;display:flex;align-items:center;gap:8px;padding:0 10px;color:#62748a;margin-right:auto; }
.tp-app-search input{min-width:0;flex:1;border:0;outline:0;background:transparent;color:#dce7f4;font-size:11px}.tp-app-search input::placeholder{color:#526175}.tp-app-search kbd{font-size:9px;color:#58677a;background:#101c2b;border:1px solid #202e40;border-radius:4px;padding:2px 5px}
.tp-app-topicons{display:flex;gap:8px}.tp-app-topicons span{width:30px;height:30px;border:1px solid #172435;border-radius:7px;display:grid;place-items:center;color:#6e8095;font-size:11px}

.tp-overview { width:min(1480px,calc(100% - 64px));margin:0 auto;padding:30px 0 44px;box-sizing:border-box; }
.tp-overview-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}
.tp-overview-heading h1{margin:0;color:#f5f8fc;font-size:25px;line-height:1.2;letter-spacing:-.7px}.tp-overview-heading p{margin:7px 0 0;color:#68788c;font-size:11px}
.tp-primary-btn{border:0;border-radius:8px;background:linear-gradient(180deg,#2597ff,#1474e8);color:white;font-size:11px;font-weight:700;height:38px;padding:0 17px;box-shadow:0 9px 24px rgba(19,116,232,.22);cursor:pointer}.tp-primary-btn:hover{filter:brightness(1.08)}
.tp-primary-btn.compact{height:34px;white-space:nowrap}

.tp-stat-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:16px}
.tp-stat-card,.tp-panel{background:linear-gradient(145deg,#0d1724,#0a131f);border:1px solid #172334;border-radius:9px;box-shadow:0 12px 34px rgba(0,0,0,.13)}
.tp-stat-card{min-height:104px;padding:15px 16px;box-sizing:border-box}.tp-stat-row{display:flex;align-items:center;justify-content:space-between;color:#8190a2;font-size:10px;font-weight:600}.tp-stat-row i{font-style:normal;width:27px;height:27px;border-radius:6px;display:grid;place-items:center;background:#101f31}.tp-stat-row i.blue{color:#258cff}.tp-stat-row i.purple{color:#9b7bff}.tp-stat-row i.green{color:#32c98d}.tp-stat-row i.amber{color:#f3a94c}.tp-stat-card>strong{display:block;font-size:24px;letter-spacing:-.6px;margin-top:9px;color:#f5f8fc}.tp-stat-card>small{font-size:9px;color:#65758a}
.tp-overview-grid{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr);gap:14px;margin-bottom:14px}
.tp-panel{padding:16px;box-sizing:border-box}.tp-panel-head{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:12px}.tp-panel-head h2,.tp-ai-card h2{font-size:12px;margin:0;color:#edf4fc}.tp-panel-head p,.tp-ai-card p{font-size:9px;margin:4px 0 0;color:#617187}.tp-panel-head button{border:0;background:transparent;color:#3e9cff;font-size:9px;cursor:pointer}.tp-period{font-size:8px;color:#6d7e92;border:1px solid #1b293a;border-radius:5px;padding:5px 8px}
.tp-activity-panel,.tp-business-panel{min-height:310px}
.tp-activity-list{display:grid}.tp-activity-list>*{min-height:46px;border-top:1px solid #141f2e}.tp-empty-row{display:flex;align-items:center;color:#607086;font-size:10px}
.tp-revenue-total{font-size:23px;font-weight:750;letter-spacing:-.5px}.tp-revenue-caption{font-size:8px;color:#627288;margin:3px 0 8px}.tp-chart-wrap{height:205px}.tp-chart-wrap svg{width:100%;height:174px;overflow:visible}.tp-chart-grid line{stroke:#172334;stroke-width:1}.tp-chart-labels{display:flex;justify-content:space-between;color:#526277;font-size:8px}
.tp-bottom-grid{display:grid;grid-template-columns:1.08fr .92fr;gap:14px}.tp-ai-card{min-height:92px;display:grid;grid-template-columns:44px 1fr auto;align-items:center;gap:13px}.tp-ai-icon{width:40px;height:40px;border-radius:8px;display:grid;place-items:center;background:#10233a;border:1px solid #193654}.tp-quick-card{min-height:92px}.tp-quick-card .tp-panel-head{margin-bottom:9px}.tp-quick-actions{display:grid;grid-template-columns:repeat(4,1fr);gap:7px}.tp-quick-actions button{height:34px;border:1px solid #192739;border-radius:6px;background:#0a1522;color:#8393a7;font-size:8px;display:flex;align-items:center;justify-content:center;gap:5px;cursor:pointer}.tp-quick-actions button:hover{color:#5babff;border-color:#25496f}.tp-quick-actions span{color:#298cff}

/* Keep functional dialogs above workspace and give them a matching dark surface. */
body.tp-app-mode dialog{z-index:1200}
body.tp-app-mode .quote-modal,body.tp-app-mode #modal{background:#0b1522;color:#eaf2fc;border:1px solid #1c2c40;box-shadow:0 30px 100px rgba(0,0,0,.55)}
body.tp-app-mode dialog::backdrop{background:rgba(1,6,13,.78);backdrop-filter:blur(4px)}

@media (max-width: 980px){
  .tp-app{grid-template-columns:78px minmax(0,1fr)}
  .tp-app-brandtext,.tp-app-navbtn:not(.active){font-size:0}.tp-app-navbtn{justify-content:center}.tp-app-navbtn span{font-size:15px}.tp-app-plan,.tp-app-profile span:not(.tp-avatar),.tp-app-profile b{display:none}.tp-app-profile{display:flex;justify-content:center}
  .tp-overview{width:calc(100% - 34px)}.tp-stat-grid{grid-template-columns:repeat(2,1fr)}.tp-overview-grid,.tp-bottom-grid{grid-template-columns:1fr}
}
@media (max-width: 640px){
  body.tp-app-mode{overflow:hidden}
  .tp-app{display:block!important}
  .tp-app-sidebar{position:fixed;left:0;right:0;bottom:0;top:auto;height:62px;z-index:20;padding:6px 8px;border-right:0;border-top:1px solid #172131;display:block}
  .tp-app-brand,.tp-app-sidebar-bottom{display:none}.tp-app-nav{padding:0;display:grid;grid-template-columns:repeat(5,1fr);gap:3px}.tp-app-navbtn{height:48px;padding:0;display:flex;flex-direction:column;gap:2px;font-size:8px!important}.tp-app-navbtn span{font-size:15px}.tp-app-main{height:calc(100vh - 62px)}
  .tp-app-topbar{height:54px;padding:0 14px}.tp-app-search{width:100%;margin-right:0}.tp-app-topicons{display:none}
  .tp-overview{width:calc(100% - 24px);padding:18px 0 30px}.tp-overview-heading{align-items:flex-start;gap:12px}.tp-overview-heading h1{font-size:19px}.tp-overview-heading p{font-size:9px}.tp-primary-btn{height:34px;padding:0 12px}
  .tp-stat-grid{gap:9px}.tp-stat-card{min-height:96px;padding:12px}.tp-stat-card>strong{font-size:21px}.tp-overview-grid,.tp-bottom-grid{gap:10px}.tp-activity-panel,.tp-business-panel{min-height:260px}.tp-chart-wrap{height:170px}.tp-chart-wrap svg{height:140px}.tp-ai-card{grid-template-columns:40px 1fr}.tp-ai-card .tp-primary-btn{grid-column:1/-1}.tp-quick-actions{grid-template-columns:repeat(2,1fr)}
  body:not(.tp-app-mode) .hero{min-height:auto;padding-top:72px}body:not(.tp-app-mode) .hero h1{font-size:46px;letter-spacing:-2.5px}body:not(.tp-app-mode) .browser{transform:none}
}

/* ===== FINAL DASHBOARD SCALE / PROPORTIONS — DASHBOARD ONLY ===== */
@media (min-width: 981px) {
  body.tp-app-mode > .tp-app {
    grid-template-columns: 252px minmax(0, 1fr);
  }

  body.tp-app-mode .tp-app-sidebar {
    padding: 24px 16px 18px;
  }
  body.tp-app-mode .tp-app-brand {
    height: 58px;
    gap: 11px;
    padding: 0 10px 18px;
  }
  body.tp-app-mode .tp-app-brandmark {
    width: 34px;
    height: 34px;
    font-size: 13px;
  }
  body.tp-app-mode .tp-app-brandtext {
    font-size: 15px;
  }
  body.tp-app-mode .tp-app-nav {
    gap: 7px;
    padding-top: 24px;
  }
  body.tp-app-mode .tp-app-navbtn {
    height: 46px;
    padding: 0 14px;
    font-size: 13px;
    border-radius: 9px;
  }
  body.tp-app-mode .tp-app-navbtn span {
    width: 22px;
    font-size: 15px;
  }
  body.tp-app-mode .tp-app-plan {
    padding: 14px 12px;
  }
  body.tp-app-mode .tp-app-profile {
    padding: 10px 8px;
  }
  body.tp-app-mode .tp-avatar {
    width: 36px;
    height: 36px;
  }
  body.tp-app-mode .tp-app-profile strong { font-size: 11px; }
  body.tp-app-mode .tp-app-profile small { font-size: 9px; }

  body.tp-app-mode .tp-app-topbar {
    height: 70px;
    padding: 0 34px;
  }
  body.tp-app-mode .tp-app-search {
    width: 350px;
    height: 38px;
    border-radius: 9px;
    padding: 0 12px;
  }
  body.tp-app-mode .tp-app-search input { font-size: 12px; }
  body.tp-app-mode .tp-app-topicons span {
    width: 34px;
    height: 34px;
  }

  body.tp-app-mode .tp-overview {
    width: min(1320px, calc(100% - 56px));
    padding: 34px 0 50px;
  }
  body.tp-app-mode .tp-overview-heading {
    margin-bottom: 27px;
  }
  body.tp-app-mode .tp-overview-heading h1 {
    font-size: 30px;
    letter-spacing: -0.9px;
  }
  body.tp-app-mode .tp-overview-heading p {
    margin-top: 8px;
    font-size: 12px;
  }
  body.tp-app-mode .tp-primary-btn {
    height: 42px;
    padding: 0 20px;
    font-size: 12px;
    border-radius: 9px;
  }

  body.tp-app-mode .tp-stat-grid {
    gap: 16px;
    margin-bottom: 18px;
  }
  body.tp-app-mode .tp-stat-card {
    min-height: 126px;
    padding: 19px 20px;
    border-radius: 11px;
  }
  body.tp-app-mode .tp-stat-row {
    font-size: 11px;
  }
  body.tp-app-mode .tp-stat-row i {
    width: 32px;
    height: 32px;
    border-radius: 8px;
  }
  body.tp-app-mode .tp-stat-card > strong {
    font-size: 30px;
    margin-top: 12px;
  }
  body.tp-app-mode .tp-stat-card > small {
    font-size: 10px;
  }

  body.tp-app-mode .tp-overview-grid {
    grid-template-columns: minmax(0, 1.02fr) minmax(0, .98fr);
    gap: 16px;
    margin-bottom: 16px;
  }
  body.tp-app-mode .tp-panel {
    padding: 20px;
    border-radius: 11px;
  }
  body.tp-app-mode .tp-panel-head {
    margin-bottom: 16px;
  }
  body.tp-app-mode .tp-panel-head h2,
  body.tp-app-mode .tp-ai-card h2 {
    font-size: 14px;
  }
  body.tp-app-mode .tp-panel-head p,
  body.tp-app-mode .tp-ai-card p {
    font-size: 10px;
    margin-top: 5px;
  }
  body.tp-app-mode .tp-panel-head button,
  body.tp-app-mode .tp-period {
    font-size: 10px;
  }
  body.tp-app-mode .tp-activity-panel,
  body.tp-app-mode .tp-business-panel {
    min-height: 350px;
  }
  body.tp-app-mode .tp-activity-list > * {
    min-height: 52px;
  }
  body.tp-app-mode .tp-empty-row {
    font-size: 11px;
  }
  body.tp-app-mode .tp-revenue-total {
    font-size: 28px;
  }
  body.tp-app-mode .tp-revenue-caption {
    font-size: 9px;
    margin: 4px 0 10px;
  }
  body.tp-app-mode .tp-chart-wrap {
    height: 230px;
  }
  body.tp-app-mode .tp-chart-wrap svg {
    height: 196px;
  }
  body.tp-app-mode .tp-chart-labels {
    font-size: 9px;
  }

  body.tp-app-mode .tp-bottom-grid {
    grid-template-columns: 1.02fr .98fr;
    gap: 16px;
  }
  body.tp-app-mode .tp-ai-card,
  body.tp-app-mode .tp-quick-card {
    min-height: 112px;
  }
  body.tp-app-mode .tp-ai-card {
    grid-template-columns: 52px minmax(0, 1fr) auto;
    gap: 16px;
  }
  body.tp-app-mode .tp-ai-icon {
    width: 48px;
    height: 48px;
    font-size: 22px;
    border-radius: 10px;
  }
  body.tp-app-mode .tp-primary-btn.compact {
    height: 38px;
  }
  body.tp-app-mode .tp-quick-actions {
    gap: 9px;
  }
  body.tp-app-mode .tp-quick-actions button {
    height: 40px;
    font-size: 9px;
    border-radius: 8px;
  }
}

@media (min-width: 1500px) {
  body.tp-app-mode > .tp-app { grid-template-columns: 270px minmax(0,1fr); }
  body.tp-app-mode .tp-overview { width: min(1420px, calc(100% - 72px)); }
  body.tp-app-mode .tp-stat-card { min-height: 134px; }
  body.tp-app-mode .tp-activity-panel,
  body.tp-app-mode .tp-business-panel { min-height: 370px; }
}


/* ===== FINAL DASHBOARD CARD CONTRAST FIX =====
   Visual-only override for logged-in Overview.
   Landing page and application logic are untouched.
*/
body.tp-app-mode .tp-stat-card {
  background: linear-gradient(145deg, #101b2a 0%, #0c1623 100%);
  border: 1px solid rgba(82, 126, 177, 0.28);
  box-shadow:
    0 12px 28px rgba(0, 0, 0, 0.22),
    inset 0 1px 0 rgba(255, 255, 255, 0.025);
}

body.tp-app-mode .tp-stat-card:hover {
  border-color: rgba(52, 144, 255, 0.42);
}

body.tp-app-mode .tp-stat-row {
  color: #9aa9bb;
}

body.tp-app-mode .tp-stat-card > strong {
  color: #f7fbff;
  text-shadow: 0 1px 12px rgba(255, 255, 255, 0.025);
}

body.tp-app-mode .tp-stat-card > small {
  color: #75869a;
}

body.tp-app-mode .tp-panel {
  background: linear-gradient(145deg, #0e1927 0%, #0a1420 100%);
  border-color: rgba(74, 112, 156, 0.25);
  box-shadow:
    0 14px 34px rgba(0, 0, 0, 0.18),
    inset 0 1px 0 rgba(255, 255, 255, 0.018);
}

body.tp-app-mode .tp-activity-panel,
body.tp-app-mode .tp-business-panel,
body.tp-app-mode .tp-ai-card,
body.tp-app-mode .tp-quick-card {
  border-color: rgba(74, 112, 156, 0.28);
}

body.tp-app-mode .tp-chart-grid line {
  stroke: rgba(90, 122, 158, 0.18);
}

/* Stripe billing controls inside Account / Settings */
.tp-billing-card{
  display:grid;
  gap:10px;
  margin:16px 0 18px;
  padding:16px;
  border:1px solid rgba(83,139,255,.28);
  border-radius:16px;
  background:linear-gradient(180deg,rgba(17,31,56,.92),rgba(10,19,35,.92));
}
.tp-billing-card>div{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:8px 0;border-bottom:1px solid rgba(148,163,184,.12)}
.tp-billing-card>div:last-child{border-bottom:0}
.tp-billing-card small{color:#91a4bf;font-size:12px}
.tp-billing-card strong{color:#f4f8ff;font-size:14px;text-align:right}
.tp-billing-card .tp-sandbox-note{display:block;color:#8ab4ff;font-weight:700;font-size:12px;border-bottom:0;padding-top:10px}
.tp-account-actions{display:flex;flex-wrap:wrap;gap:10px}

/* ===== V1 POLISH: Settings, plan card and mobile dashboard ===== */
.tp-settings-intro{color:#9fb0c6;margin:-4px 0 18px;line-height:1.55}
.tp-branding-card{display:flex;align-items:center;gap:18px;padding:18px;margin:14px 0;border:1px solid rgba(83,139,255,.24);border-radius:18px;background:rgba(12,24,43,.72)}
.tp-branding-card>div:last-child{display:flex;flex-direction:column;align-items:flex-start;gap:6px}.tp-branding-card small{color:#91a4bf}.tp-logo-preview{width:72px;height:72px;flex:0 0 72px;border-radius:16px;border:1px dashed rgba(138,180,255,.5);display:grid;place-items:center;overflow:hidden;background:#0a1420;color:#8ab4ff;font-size:11px;font-weight:800}.tp-logo-preview img{width:100%;height:100%;object-fit:contain;background:white}.tp-logo-btn{margin-top:6px;padding:8px 12px!important;font-size:12px!important}
.tp-plan-card{padding:20px!important;border-radius:20px!important;box-shadow:0 18px 45px rgba(0,0,0,.18)}
.tp-plan-card>div{padding:11px 0!important}.tp-plan-card small{font-size:13px!important}.tp-plan-card strong{font-size:15px!important;line-height:1.35}.tp-account-actions{margin-top:18px}.tp-account-actions .btn{min-height:44px}

@media (max-width:680px){
  body.tp-app-mode{overflow-x:hidden}
  body.tp-app-mode>.tp-app{display:block!important;width:100%!important;min-width:0!important}
  body.tp-app-mode .tp-app-sidebar{position:sticky!important;top:0!important;z-index:20!important;width:100%!important;height:auto!important;min-height:0!important;padding:10px 12px!important;display:flex!important;align-items:center!important;border-right:0!important;border-bottom:1px solid rgba(80,120,165,.24)}
  body.tp-app-mode .tp-app-brand{margin:0!important;flex:0 0 auto}
  body.tp-app-mode .tp-app-brandtext{display:none}
  body.tp-app-mode .tp-app-nav{display:flex!important;gap:4px!important;margin:0 0 0 10px!important;overflow-x:auto!important;flex:1!important;scrollbar-width:none}
  body.tp-app-mode .tp-app-nav::-webkit-scrollbar{display:none}
  body.tp-app-mode .tp-app-navbtn{flex:0 0 auto!important;width:auto!important;padding:8px 9px!important;font-size:11px!important;gap:5px!important}
  body.tp-app-mode .tp-app-sidebar-bottom{display:none!important}
  body.tp-app-mode .tp-app-main{width:100%!important;min-width:0!important;margin:0!important}
  body.tp-app-mode .tp-app-topbar{padding:10px 14px!important;min-height:58px!important;gap:8px!important}
  body.tp-app-mode .tp-app-search{display:none!important}
  body.tp-app-mode .tp-overview{width:100%!important;max-width:none!important;padding:18px 14px 30px!important;margin:0!important}
  body.tp-app-mode .tp-overview-head{display:block!important;margin-bottom:16px!important}
  body.tp-app-mode .tp-overview-head h1{font-size:26px!important;line-height:1.1!important;margin-bottom:6px!important}
  body.tp-app-mode .tp-overview-head .btn{width:100%!important;margin-top:14px!important}
  body.tp-app-mode .tp-stats-grid{grid-template-columns:1fr 1fr!important;gap:10px!important}
  body.tp-app-mode .tp-stat-card{min-width:0!important;min-height:112px!important;padding:15px!important}
  body.tp-app-mode .tp-stat-card>strong{font-size:25px!important}
  body.tp-app-mode .tp-dashboard-grid,body.tp-app-mode .tp-lower-grid{grid-template-columns:1fr!important;gap:12px!important}
  body.tp-app-mode .tp-panel,body.tp-app-mode .tp-ai-card,body.tp-app-mode .tp-quick-card{min-width:0!important;width:100%!important;overflow:hidden!important}
  body.tp-app-mode .tp-ai-card{grid-template-columns:44px minmax(0,1fr)!important}
  body.tp-app-mode .tp-ai-card .btn{grid-column:1/-1;width:100%!important}
  body.tp-app-mode .tp-quick-actions{grid-template-columns:1fr 1fr!important}
  dialog{max-width:calc(100vw - 24px)!important;width:calc(100vw - 24px)!important;padding:0!important}
  .modal-card{padding:22px 18px!important}.tp-billing-card>div{align-items:flex-start!important;flex-direction:column!important;gap:4px!important}.tp-billing-card strong{text-align:left!important}.tp-branding-card{align-items:flex-start}.tp-account-actions{display:grid!important;grid-template-columns:1fr!important}.tp-account-actions .btn{width:100%!important}
}

/* ===== APPROVED MOBILE NAVIGATION V6 — single authoritative mobile layer ===== */
.tp-mobile-topbar,.tp-mobile-drawer,.tp-mobile-backdrop,.tp-mobile-auth{display:none}
@media (max-width:680px){
  html,body{max-width:100%;overflow-x:hidden}
  body.tp-app-mode{overflow:hidden!important;background:#07101b}
  body.tp-app-mode>.tp-app{display:block!important;width:100%!important;height:100dvh!important;min-width:0!important}
  body.tp-app-mode .tp-app-main{height:100dvh!important;overflow:auto!important;padding:64px 0 78px!important}
  body.tp-app-mode .tp-app-topbar{display:none!important}
  body.tp-app-mode .tp-app-sidebar{position:fixed!important;left:0!important;right:0!important;top:auto!important;bottom:0!important;height:68px!important;padding:5px 8px!important;display:block!important;background:#09131f!important;border:0!important;border-top:1px solid #1a293a!important;z-index:90!important}
  body.tp-app-mode .tp-app-brand,body.tp-app-mode .tp-app-sidebar-bottom{display:none!important}
  body.tp-app-mode .tp-app-nav{height:58px!important;padding:0!important;margin:0!important;display:grid!important;grid-template-columns:repeat(5,1fr)!important;gap:2px!important;overflow:visible!important}
  body.tp-app-mode .tp-app-navbtn{width:100%!important;height:58px!important;padding:5px 1px!important;display:flex!important;flex-direction:column!important;justify-content:center!important;gap:2px!important;font-size:9px!important;color:#8494a8!important;background:transparent!important;border:0!important}
  body.tp-app-mode .tp-app-navbtn span{font-size:17px!important}.tp-app-navbtn.active{color:#2e98ff!important;background:rgba(37,140,255,.08)!important}
  body.tp-app-mode .tp-mobile-topbar{position:fixed;left:0;right:0;top:0;height:64px;padding:0 14px;display:flex!important;align-items:center;gap:10px;background:rgba(7,16,27,.97);border-bottom:1px solid #18283a;z-index:100;box-sizing:border-box}
  .tp-mobile-iconbtn{width:38px;height:38px;border:0;background:transparent;color:#eaf3ff;font-size:24px}.tp-mobile-brand{font-size:16px;font-weight:800;color:#f5f8fc;white-space:nowrap;flex:1}.tp-mobile-brand>span{display:inline-grid;place-items:center;width:28px;height:28px;border-radius:8px;background:#1677ee;margin-right:6px;font-size:11px}.tp-mobile-brand strong{color:#258cff}.tp-mobile-new{height:36px;border:0;border-radius:9px;background:#1677ee;color:white;font-weight:800;padding:0 12px}.tp-mobile-avatar{width:36px;height:36px;border-radius:50%;border:1px solid #33465c;background:#dfe8f3;color:#0a1420;font-weight:900}
  body.tp-app-mode .tp-overview{width:100%!important;max-width:none!important;margin:0!important;padding:20px 16px 24px!important;box-sizing:border-box!important}
  body.tp-app-mode .tp-overview-heading{display:flex!important;align-items:center!important;gap:10px!important;margin-bottom:18px!important}body.tp-app-mode .tp-overview-heading h1{font-size:24px!important;line-height:1.15!important}body.tp-app-mode .tp-overview-heading p{display:none!important}body.tp-app-mode .tp-overview-heading .tp-primary-btn{display:none!important}
  body.tp-app-mode .tp-stat-grid{grid-template-columns:1fr 1fr!important;gap:10px!important}body.tp-app-mode .tp-stat-card{min-height:112px!important;padding:15px!important}
  body.tp-app-mode .tp-overview-grid,body.tp-app-mode .tp-bottom-grid{grid-template-columns:1fr!important;gap:12px!important}
  .tp-mobile-backdrop{position:fixed;inset:0;background:rgba(0,0,0,.55);z-index:108}.tp-mobile-backdrop.open{display:block!important}
  .tp-mobile-drawer{display:block!important;position:fixed;left:0;top:0;bottom:0;width:min(82vw,330px);padding:22px 16px;background:#09131f;border-right:1px solid #203247;z-index:110;transform:translateX(-105%);transition:transform .2s ease;box-sizing:border-box}.tp-mobile-drawer.open{transform:translateX(0)}
  .tp-mobile-drawer-head{display:flex;justify-content:space-between;align-items:flex-start;padding:6px 4px 18px;border-bottom:1px solid #1a293a}.tp-mobile-drawer-head strong{display:block;font-size:20px}.tp-mobile-drawer-head strong b{color:#258cff}.tp-mobile-drawer-head small{display:block;color:#8192a7;margin-top:5px}.tp-mobile-drawer-head button{border:0;background:transparent;color:#fff;font-size:30px;line-height:1}
  .tp-mobile-drawer nav{display:grid;padding:12px 0}.tp-mobile-drawer nav button,.tp-mobile-drawer-account button{height:48px;border:0;background:transparent;color:#d9e5f2;display:flex;align-items:center;gap:12px;text-align:left;padding:0 10px;border-radius:9px;font-size:14px}.tp-mobile-drawer nav button:hover,.tp-mobile-drawer-account button:hover{background:#102033}.tp-mobile-drawer-account{position:absolute;left:16px;right:16px;bottom:22px;padding-top:12px;border-top:1px solid #1a293a;display:grid}.tp-mobile-drawer-account .danger{color:#ff5b5b}
  body:not(.tp-app-mode) .tp-mobile-auth{position:fixed;inset:0;z-index:900;display:grid!important;place-items:center;padding:24px;background:radial-gradient(circle at 50% 0,#10243d,#07101b 55%);box-sizing:border-box}.tp-mobile-auth-card{width:100%;max-width:390px;text-align:center}.tp-mobile-auth-brand{font-size:28px;font-weight:850;margin-bottom:52px}.tp-mobile-auth-brand strong{color:#258cff}.tp-mobile-auth-mark{color:#258cff;margin-right:8px}.tp-mobile-auth-card h1{font-size:26px;margin:0 0 8px}.tp-mobile-auth-card p{color:#91a2b6;margin:0 0 28px}.tp-mobile-auth-card .btn{width:100%;height:48px}.tp-mobile-auth-switch{margin-top:20px;color:#a4b1c0;font-size:14px}.tp-mobile-auth-switch button{border:0;background:none;color:#349cff;font:inherit}.tp-mobile-auth-card>small{display:block;margin-top:60px;color:#53657a}
  body:not(.tp-app-mode)>header.nav,body:not(.tp-app-mode)>main,body:not(.tp-app-mode)>footer{visibility:hidden!important}
}


/* ===== V8 MOBILE WIDTH FIX — keep authenticated dashboard full viewport ===== */
@media (max-width:680px){\n  body.tp-app-mode,body.tp-app-mode #appWorkspace{width:100vw!important;max-width:100vw!important;min-width:100vw!important;margin:0!important;padding:0!important}
  body.tp-app-mode #appWorkspace{position:relative!important;left:0!important;right:0!important;display:block!important;overflow:hidden!important}
  body.tp-app-mode .tp-app-main{position:relative!important;left:0!important;right:0!important;width:100vw!important;max-width:100vw!important;min-width:100vw!important;margin:0!important;box-sizing:border-box!important}
  body.tp-app-mode .tp-overview{position:relative!important;left:0!important;width:100vw!important;max-width:100vw!important;min-width:0!important;margin:0!important;padding:20px 16px 28px!important;box-sizing:border-box!important}
  body.tp-app-mode .tp-stat-grid,body.tp-app-mode .tp-overview-grid,body.tp-app-mode .tp-bottom-grid{width:100%!important;max-width:100%!important;min-width:0!important}
  body.tp-app-mode .tp-stat-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important}
  body.tp-app-mode .tp-stat-card,body.tp-app-mode .tp-panel,body.tp-app-mode .tp-ai-card,body.tp-app-mode .tp-quick-card{width:100%!important;max-width:100%!important;min-width:0!important;box-sizing:border-box!important}
  body.tp-app-mode .tp-overview-grid,body.tp-app-mode .tp-bottom-grid{grid-template-columns:minmax(0,1fr)!important}
}\n

/* ===== V9 DEFINITIVE MOBILE DASHBOARD WIDTH FIX ===== */
@media (max-width:980px){
  html,body{width:100%!important;max-width:100%!important;overflow-x:hidden!important}
  body.tp-app-mode>.tp-app{display:block!important;position:relative!important;width:100%!important;max-width:none!important;min-width:0!important;height:100dvh!important}
  body.tp-app-mode .tp-app-main{display:block!important;position:relative!important;width:100%!important;max-width:none!important;min-width:0!important;margin:0!important;left:auto!important;right:auto!important;overflow-x:hidden!important}
  body.tp-app-mode .tp-overview{display:block!important;position:relative!important;width:auto!important;max-width:none!important;min-width:0!important;margin:0!important;padding:20px 16px 28px!important}
  body.tp-app-mode .tp-stat-grid{display:grid!important;width:100%!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px!important}
  body.tp-app-mode .tp-overview-grid,body.tp-app-mode .tp-bottom-grid{display:grid!important;width:100%!important;grid-template-columns:minmax(0,1fr)!important;gap:12px!important}
  body.tp-app-mode .tp-stat-card,body.tp-app-mode .tp-panel,body.tp-app-mode .tp-ai-card,body.tp-app-mode .tp-quick-card{width:auto!important;max-width:none!important;min-width:0!important}
}

/* ===== V11 MOBILE POLISH + LANGUAGE ===== */
.tp-language-card{margin:14px 0;padding:16px;border:1px solid rgba(74,112,156,.28);border-radius:12px;background:linear-gradient(145deg,#0e1927,#0a1420)}
.tp-language-card label{display:block;color:#91a2b6;font-size:13px;margin-bottom:8px}.tp-language-card select{width:100%;height:46px;border:1px solid #263b53;border-radius:9px;background:#091523;color:#eef5ff;padding:0 12px;font-size:15px}
@media(max-width:980px){body.tp-app-mode .tp-activity-panel{min-height:0!important}body.tp-app-mode .tp-activity-list .tp-empty-row{min-height:80px!important;padding:14px 0!important}body.tp-app-mode .tp-business-panel{min-height:300px!important}}

/* ===== V12.1 MY ACCOUNT MOBILE ALIGNMENT FIX ===== */
@media (max-width:680px){
  #modal{
    box-sizing:border-box!important;
    overflow-x:hidden!important;
  }
  #modal #modalContent{
    width:100%!important;
    max-width:100%!important;
    box-sizing:border-box!important;
    padding:24px 20px 26px!important;
    margin:0!important;
    overflow-x:hidden!important;
  }
  #modal #modalContent>.eyebrow,
  #modal #modalContent>h2,
  #modal #modalContent>.tp-settings-intro{
    margin-left:0!important;
    margin-right:0!important;
    max-width:100%!important;
  }
  #modal #modalContent>.tp-billing-card,
  #modal #modalContent>.tp-branding-card,
  #modal #modalContent>.tp-language-card,
  #modal #modalContent>.tp-account-actions{
    width:100%!important;
    max-width:100%!important;
    box-sizing:border-box!important;
    margin-left:0!important;
    margin-right:0!important;
  }
  #modal .modal-close{
    right:16px!important;
    top:12px!important;
    z-index:2!important;
  }
}

/* V14.3: ensure subscription-controlled UI obeys the HTML hidden attribute. */
.tp-app-plan[hidden] { display: none !important; }

/* ===== V14.4 DESKTOP DASHBOARD READABILITY FIX =====
   Desktop only. Mobile/tablet rules remain unchanged. */
@media (min-width: 1100px) {
  body.tp-app-mode > .tp-app {
    grid-template-columns: 270px minmax(0, 1fr);
  }
  body.tp-app-mode .tp-app-sidebar {
    padding: 26px 18px 20px;
  }
  body.tp-app-mode .tp-app-brandtext {
    font-size: 16px;
  }
  body.tp-app-mode .tp-app-navbtn {
    min-height: 48px;
    padding: 0 15px;
    font-size: 14.5px;
    line-height: 1.25;
  }
  body.tp-app-mode .tp-app-navbtn span {
    width: 23px;
    font-size: 17px;
  }
  body.tp-app-mode .tp-app-plan strong { font-size: 12px; }
  body.tp-app-mode .tp-app-plan small { font-size: 10px; }
  body.tp-app-mode .tp-app-profile strong { font-size: 12px; }
  body.tp-app-mode .tp-app-profile small { font-size: 10px; }

  body.tp-app-mode .tp-overview {
    width: min(1400px, calc(100% - 60px));
    padding-top: 38px;
  }
  body.tp-app-mode .tp-overview-heading h1 {
    font-size: 32px;
  }
  body.tp-app-mode .tp-overview-heading p {
    font-size: 13px;
  }
  body.tp-app-mode .tp-stat-card {
    min-height: 122px;
    padding: 18px 19px;
  }
  body.tp-app-mode .tp-stat-row {
    font-size: 12px;
  }
  body.tp-app-mode .tp-stat-row i {
    width: 31px;
    height: 31px;
    font-size: 13px;
  }
  body.tp-app-mode .tp-stat-card > strong {
    font-size: 29px;
    margin-top: 11px;
  }
  body.tp-app-mode .tp-stat-card > small {
    font-size: 10.5px;
  }
  body.tp-app-mode .tp-panel-head h2,
  body.tp-app-mode .tp-ai-card h2 {
    font-size: 14px;
  }
  body.tp-app-mode .tp-panel-head p,
  body.tp-app-mode .tp-ai-card p {
    font-size: 10.5px;
    line-height: 1.45;
  }
  body.tp-app-mode .tp-panel-head button,
  body.tp-app-mode .tp-period {
    font-size: 10px;
  }
  body.tp-app-mode .tp-activity-item {
    min-height: 52px;
    grid-template-columns: 32px minmax(0,1fr) auto auto;
    gap: 11px;
  }
  body.tp-app-mode .tp-activity-icon {
    width: 28px;
    height: 28px;
    font-size: 11px;
  }
  body.tp-app-mode .tp-activity-copy strong { font-size: 10.5px; }
  body.tp-app-mode .tp-activity-copy small { font-size: 9.5px; }
  body.tp-app-mode .tp-activity-value { font-size: 10px; }
  body.tp-app-mode .tp-activity-status {
    min-width: 58px;
    padding: 5px 8px;
    font-size: 8px;
  }
  body.tp-app-mode .tp-empty-row { font-size: 11px; }
  body.tp-app-mode .tp-revenue-total { font-size: 28px; }
  body.tp-app-mode .tp-revenue-caption { font-size: 10px; }
  body.tp-app-mode .tp-chart-labels { font-size: 9.5px; }
  body.tp-app-mode .tp-quick-actions button {
    min-height: 39px;
    font-size: 10px;
  }
  body.tp-app-mode .tp-primary-btn {
    font-size: 12px;
  }
}

/* =====================================================================
   KELVQO AI V15 — Public Landing / Auth / Local Assistant
   Existing authenticated app styles above remain unchanged.
   ===================================================================== */
body.v15-public:not(.tp-app-mode){background:#07101b;color:#eef6ff;overflow-x:hidden}
.v15-nav{position:sticky;top:0;z-index:40;height:72px;display:flex;align-items:center;justify-content:space-between;padding:0 clamp(20px,5vw,72px);background:rgba(6,14,24,.82);border-bottom:1px solid rgba(115,151,193,.13);backdrop-filter:blur(18px)}
.v15-brand{display:flex;align-items:center;gap:10px;font-weight:850;font-size:19px;letter-spacing:-.02em}.v15-brand strong{color:#41a2ff}.v15-logo{width:36px;height:36px;border-radius:10px;display:grid;place-items:center;background:linear-gradient(135deg,#1074f3,#2ea7ff);color:#fff;font-weight:900;font-size:12px;box-shadow:0 9px 28px rgba(24,126,255,.28)}
.v15-navlinks{display:flex;align-items:center;gap:28px}.v15-navlinks a{color:#95a7bb;font-size:13px;font-weight:650}.v15-navlinks a:hover{color:#fff}.v15-navlinks .v15-login-link{color:#fff;padding:9px 15px;border:1px solid rgba(80,153,236,.35);border-radius:9px;background:rgba(28,112,220,.10)}
.v15-menu{display:none;border:1px solid #203148;background:#0c1826;color:#fff;width:42px;height:42px;border-radius:10px;font-size:20px}
.v15-landing{overflow:hidden;background:radial-gradient(900px 580px at 80% 4%,rgba(18,106,226,.15),transparent 65%),radial-gradient(700px 470px at 0 22%,rgba(10,95,218,.09),transparent 70%),#07101b}
.v15-hero{min-height:720px;display:grid;grid-template-columns:minmax(0,1fr) minmax(500px,.98fr);align-items:center;gap:58px;padding:80px clamp(20px,5vw,72px) 72px;max-width:1540px;margin:0 auto}
.v15-kicker{display:flex;align-items:center;gap:9px;color:#6cb9ff;font-size:11px;font-weight:850;letter-spacing:.13em;text-transform:uppercase}.v15-kicker span{width:7px;height:7px;border-radius:50%;background:#329cff;box-shadow:0 0 18px #329cff}
.v15-hero-copy h1{font-size:clamp(48px,5.4vw,78px);line-height:1.02;letter-spacing:-.055em;margin:18px 0 23px;max-width:760px}.v15-hero-copy h1 em{font-style:normal;color:#55adff}.v15-hero-copy>p{max-width:690px;color:#9caec2;font-size:18px;line-height:1.72;margin:0}.v15-hero-actions{display:flex;gap:12px;align-items:center;margin:30px 0 21px}.v15-primary,.v15-secondary{min-height:48px;border-radius:10px;padding:0 20px;display:inline-flex;align-items:center;justify-content:center;font-size:12px;font-weight:850;letter-spacing:.02em}.v15-primary{color:#fff;background:linear-gradient(180deg,#238fff,#0e70e8);border:1px solid #359cff;box-shadow:0 12px 30px rgba(15,116,232,.24)}.v15-secondary{color:#c9d7e7;background:#0b1725;border:1px solid #1e3146}.v15-primary:hover,.v15-secondary:hover{transform:translateY(-1px);filter:brightness(1.07)}.v15-trust{display:flex;flex-wrap:wrap;gap:18px;color:#72859a;font-size:11px}.v15-trust span:first-child{color:#61b6ff}
.v15-preview-wrap{position:relative;min-width:0}.v15-glow{position:absolute;inset:8% -7% -4% 8%;background:radial-gradient(circle,rgba(23,120,255,.18),transparent 70%);filter:blur(30px);pointer-events:none}.v15-preview{position:relative;overflow:hidden;border-radius:18px;border:1px solid rgba(71,128,194,.27);background:#07111d;box-shadow:0 38px 100px rgba(0,0,0,.42),0 0 70px rgba(19,116,235,.09)}.v15-preview-bar{height:38px;display:flex;align-items:center;gap:6px;padding:0 12px;border-bottom:1px solid #152234;background:#091522}.v15-preview-bar span{width:7px;height:7px;border-radius:50%;background:#2b425d}.v15-preview-bar b{margin-left:8px;color:#51677e;font-size:9px;font-weight:550}.v15-preview-app{min-height:420px;display:grid;grid-template-columns:112px 1fr}.v15-preview-app aside{position:relative;padding:17px 10px;border-right:1px solid #142132;background:#08121e}.v15-preview-brand{display:flex;align-items:center;gap:6px;margin-bottom:23px;color:#d9e7f5;font-size:8px}.v15-preview-brand i{width:23px;height:23px;border-radius:6px;display:grid;place-items:center;background:#1687ff;color:white;font-style:normal;font-size:7px}.v15-preview-brand strong{color:#399cff}.v15-preview-app aside>div:not(.v15-preview-brand){color:#60758b;font-size:7px;padding:7px 8px;margin:3px 0;border-radius:6px}.v15-preview-app aside>.active{color:#58aaff!important;background:#0e2540}.v15-preview-app aside>.bottom{position:absolute;bottom:14px;left:10px;right:10px}.v15-preview-app section{padding:20px;background:radial-gradient(450px 250px at 90% 0,rgba(23,113,230,.09),transparent 70%),#09131f}.v15-preview-top{display:flex;align-items:center;justify-content:space-between}.v15-preview-top small{color:#5f7185;font-size:7px}.v15-preview-top h3{font-size:14px;margin:2px 0}.v15-preview-top button{border:0;border-radius:6px;background:#157ff3;color:#fff;font-size:7px;font-weight:750;padding:7px 9px}.v15-preview-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:7px;margin:16px 0 10px}.v15-preview-stats article{padding:10px;border:1px solid #18283a;border-radius:8px;background:#0c1825}.v15-preview-stats small,.v15-preview-stats span{display:block;color:#65778b;font-size:6px}.v15-preview-stats b{display:block;margin:4px 0;font-size:15px}.v15-preview-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:8px}.v15-preview-grid>article{min-height:190px;border:1px solid #18283a;border-radius:8px;background:#0b1723;padding:10px}.v15-preview-grid h4{font-size:8px;margin:0 0 10px}.v15-preview-grid .activity p{margin:0;border-top:1px solid #152333;min-height:42px;display:grid;grid-template-columns:24px 1fr auto;align-items:center;gap:6px}.v15-preview-grid .activity i{width:20px;height:20px;display:grid;place-items:center;border-radius:5px;background:#10283f;color:#3b9fff;font-style:normal;font-size:7px}.v15-preview-grid .activity b,.v15-preview-grid .activity small{display:block;font-size:6px}.v15-preview-grid .activity small{color:#566a80;margin-top:2px}.v15-preview-grid .activity strong{font-size:6px;color:#8599ae}.v15-preview-grid .chart>b{font-size:16px}.v15-preview-grid svg{width:100%;height:120px;margin-top:10px}
.v15-strip{display:flex;justify-content:center;gap:clamp(24px,5vw,72px);flex-wrap:wrap;padding:20px clamp(20px,5vw,72px);border-top:1px solid rgba(120,154,193,.09);border-bottom:1px solid rgba(120,154,193,.09);color:#51677f;font-size:9px;font-weight:850;letter-spacing:.14em}
.v15-section{padding:100px clamp(20px,5vw,72px);max-width:1460px;margin:0 auto}.v15-section-head{max-width:720px;margin:0 auto 48px;text-align:center}.v15-section-head>span{color:#4ca7ff;font-size:10px;font-weight:850;letter-spacing:.14em}.v15-section-head h2,.v15-benefits h2,.v15-contact h2{font-size:clamp(34px,4vw,52px);line-height:1.08;letter-spacing:-.04em;margin:10px 0 13px}.v15-section-head p{color:#8497ac;font-size:15px}.v15-feature-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:15px}.v15-feature-grid article{min-height:220px;padding:25px;border:1px solid #1a2b3e;border-radius:15px;background:linear-gradient(150deg,#0d1a29,#0a1521);box-shadow:0 20px 50px rgba(0,0,0,.14)}.v15-feature-grid i{width:43px;height:43px;border-radius:10px;display:grid;place-items:center;background:#102b49;color:#45a5ff;font-style:normal;font-size:19px}.v15-feature-grid h3{font-size:16px;margin:20px 0 8px}.v15-feature-grid p{color:#7f92a7;font-size:13px;line-height:1.7;margin:0}
.v15-benefits{max-width:1320px;margin:15px auto 0;padding:85px clamp(20px,5vw,72px);display:grid;grid-template-columns:1.18fr .82fr;gap:70px;align-items:center}.v15-benefits>div:first-child>p{color:#899caf;line-height:1.8;font-size:15px;max-width:720px}.v15-benefit-pills{display:flex;gap:9px;flex-wrap:wrap;margin-top:24px}.v15-benefit-pills span{padding:8px 11px;border-radius:999px;border:1px solid #1d3249;background:#0b1928;color:#8ea3b9;font-size:10px}.v15-benefit-card{padding:34px;border:1px solid #20344b;border-radius:18px;background:linear-gradient(145deg,#102238,#0b1724);box-shadow:0 30px 80px rgba(0,0,0,.22)}.v15-benefit-card i{display:grid;place-items:center;width:54px;height:54px;border-radius:14px;background:#0f3157;color:#4cacff;font-style:normal;font-size:24px}.v15-benefit-card strong{display:block;font-size:20px;margin:25px 0 8px}.v15-benefit-card p{color:#8295a9;font-size:13px;line-height:1.7}
.v15-pricing-section{padding-top:90px}.v15-price-card{position:relative;width:min(520px,100%);margin:0 auto;padding:34px;border-radius:18px;border:1px solid #2766a8;background:linear-gradient(150deg,#10243c,#0a1725);box-shadow:0 30px 90px rgba(0,0,0,.25),0 0 55px rgba(23,125,255,.08)}.v15-popular{position:absolute;top:20px;right:20px;color:#64b5ff;background:#0f3153;border:1px solid #1e527f;border-radius:999px;padding:5px 9px;font-size:8px;font-weight:850;letter-spacing:.1em}.v15-price-card h3{font-size:19px;margin:0}.v15-price{font-size:43px;font-weight:900;letter-spacing:-.04em;margin:18px 0 8px}.v15-price small{font-size:13px;color:#7d91a8;font-weight:600}.v15-price-card>p{color:#8296aa;font-size:13px}.v15-price-card ul{list-style:none;padding:0;margin:23px 0;display:grid;grid-template-columns:1fr 1fr;gap:10px}.v15-price-card li{color:#a1b1c2;font-size:12px}.v15-price-card li:before{content:'✓';color:#47a9ff;margin-right:7px}.v15-price-card .v15-primary{width:100%}.v15-price-note{display:block;text-align:center;color:#536a80;margin-top:12px;font-size:8px}
.v15-contact{max-width:1300px;margin:30px auto 80px;padding:45px clamp(25px,4vw,52px);display:flex;justify-content:space-between;align-items:center;gap:30px;border:1px solid #1c3045;border-radius:20px;background:linear-gradient(120deg,#0d2136,#091726)}.v15-contact>div:first-child>span{color:#4ca7ff;font-size:9px;font-weight:850;letter-spacing:.13em}.v15-contact h2{font-size:clamp(27px,3vw,40px);margin:8px 0}.v15-contact p{color:#8295aa;margin:0}.v15-contact>div:nth-child(2){display:flex;gap:10px}.v15-hidden-form{display:none!important}
.v15-footer{padding:45px clamp(20px,5vw,72px);border-top:1px solid #152336;background:#060d16;color:#697d93}.v15-footer-brand{display:flex;align-items:center;gap:12px;margin-bottom:25px;color:#e9f2fc}.v15-footer-brand>div strong,.v15-footer-brand>div small{display:block}.v15-footer-brand>div small{color:#5e748a;font-size:9px;margin-top:2px}.v15-footer nav{display:flex!important;position:static!important;flex-direction:row!important;padding:0!important;background:none!important;border:0!important;gap:22px!important}.v15-footer nav a{font-size:10px;color:#8092a6}.v15-footer .v15-legal{display:flex;gap:16px;flex-wrap:wrap;margin:22px 0;color:#506479;font-size:8px}.v15-footer>small{font-size:8px}

/* Auth screens */
body.v15-auth-page{margin:0;min-height:100dvh;overflow-x:hidden;background:radial-gradient(800px 500px at 15% 10%,rgba(20,113,231,.14),transparent 65%),radial-gradient(700px 500px at 92% 100%,rgba(12,92,205,.10),transparent 65%),#07101b;color:#eff6ff;font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;padding:28px}.v15-auth-home{position:fixed;top:24px;left:30px;display:flex;align-items:center;gap:10px;font-weight:850;z-index:4}.v15-auth-home strong{color:#45a7ff}.v15-auth-shell{width:min(1120px,100%);min-height:calc(100dvh - 56px);margin:auto;display:grid;grid-template-columns:1fr 460px;align-items:center;gap:80px}.v15-auth-copy>span,.v15-auth-kicker{color:#4aa8ff;font-size:10px;font-weight:850;letter-spacing:.14em}.v15-auth-copy h1{font-size:clamp(42px,5vw,64px);line-height:1.03;letter-spacing:-.045em;margin:15px 0 18px;max-width:650px}.v15-auth-copy>p{color:#8da0b5;font-size:16px;line-height:1.75;max-width:600px}.v15-auth-copy>div{display:grid;gap:9px;margin-top:25px}.v15-auth-copy b{font-size:11px;color:#9db0c4;font-weight:650}.v15-auth-card{padding:34px;border:1px solid #21364d;border-radius:20px;background:linear-gradient(150deg,#0e1d2e,#0a1623);box-shadow:0 35px 100px rgba(0,0,0,.33)}.v15-auth-mark{width:44px;height:44px;border-radius:12px;display:grid;place-items:center;background:linear-gradient(135deg,#1478ef,#2ca9ff);font-weight:900;margin-bottom:20px}.v15-auth-card h2{font-size:28px;margin:8px 0 5px;letter-spacing:-.03em}.v15-auth-card>p{color:#7f93a8;margin:0 0 22px;font-size:13px}.v15-auth-card form{display:grid;gap:14px}.v15-auth-card label{display:grid;gap:7px;color:#a8b8c9;font-size:11px;font-weight:750}.v15-auth-card input{height:48px;width:100%;border:1px solid #24384e;border-radius:10px;background:#081421;color:#fff;padding:0 13px;font-size:15px;outline:none}.v15-auth-card input:focus{border-color:#2d8ef0;box-shadow:0 0 0 3px rgba(31,134,244,.10)}.v15-auth-btn{height:49px;border:0;border-radius:10px;background:linear-gradient(180deg,#238fff,#0f70e8);color:#fff;font-weight:850;font-size:14px;cursor:pointer;margin-top:4px}.v15-auth-btn:disabled{opacity:.65}.v15-auth-card .msg{min-height:19px;color:#ff9999;font-size:11px}.v15-auth-switch{text-align:center;color:#74899e;font-size:11px;margin-top:20px}.v15-auth-switch a,.v15-auth-back{color:#49a8ff}.v15-auth-back{display:block;text-align:center;font-size:9px;margin-top:16px;color:#637b92}

/* Local, no-key help assistant */
.tp-assistant-launcher{position:fixed;right:22px;bottom:22px;z-index:1600;width:54px;height:54px;border:1px solid #2d84da;border-radius:17px;background:linear-gradient(145deg,#1684f5,#0b5fc9);box-shadow:0 16px 45px rgba(10,102,221,.35);color:#fff;display:grid;place-items:center;cursor:pointer}.tp-assistant-launcher span{font-size:11px;font-weight:900}.tp-assistant-launcher b{position:absolute;right:7px;top:5px;width:15px;height:15px;border-radius:50%;display:grid;place-items:center;background:#eaf5ff;color:#126fd4;font-size:9px}.tp-assistant{position:fixed;right:22px;bottom:86px;z-index:1599;width:360px;max-width:calc(100vw - 24px);max-height:min(590px,calc(100dvh - 110px));display:none;grid-template-rows:auto minmax(120px,1fr) auto auto;border:1px solid #25415e;border-radius:17px;background:#091521;color:#eef6ff;box-shadow:0 35px 100px rgba(0,0,0,.48);overflow:hidden}.tp-assistant.open{display:grid}.tp-assistant-head{padding:13px 14px;border-bottom:1px solid #182a3d;background:#0d1b2a;display:flex;justify-content:space-between;align-items:center}.tp-assistant-head>div{display:flex;align-items:center;gap:9px}.tp-assistant-ai{width:32px;height:32px;border-radius:9px;display:grid;place-items:center;background:#126fdf;color:#fff;font-size:9px;font-weight:900}.tp-assistant-head strong,.tp-assistant-head small{display:block}.tp-assistant-head strong{font-size:11px}.tp-assistant-head small{font-size:8px;color:#71869b;margin-top:2px}.tp-assistant-head button{border:0;background:none;color:#8aa0b6;font-size:22px;cursor:pointer}.tp-assistant-body{overflow:auto;padding:14px;display:flex;flex-direction:column;gap:9px}.tp-assistant-message{max-width:87%;padding:9px 11px;border-radius:11px;font-size:10px;line-height:1.55;white-space:pre-wrap}.tp-assistant-message.bot{align-self:flex-start;background:#0e2236;border:1px solid #1b3c5c;color:#c6d8e8}.tp-assistant-message.user{align-self:flex-end;background:#126fd9;color:#fff}.tp-assistant-suggestions{padding:0 12px 9px;display:flex;gap:6px;overflow-x:auto;scrollbar-width:none}.tp-assistant-suggestions::-webkit-scrollbar{display:none}.tp-assistant-suggestions button{flex:0 0 auto;border:1px solid #203a55;background:#0c1a29;color:#8eabc4;border-radius:999px;padding:6px 9px;font-size:8px;cursor:pointer}.tp-assistant-form{display:grid;grid-template-columns:1fr 38px;gap:7px;padding:10px;border-top:1px solid #182a3d;background:#08121d}.tp-assistant-form input{min-width:0;height:38px;border:1px solid #233a51;border-radius:9px;background:#0c1926;color:#fff;padding:0 10px;outline:none;font-size:11px}.tp-assistant-form button{border:0;border-radius:9px;background:#147cec;color:#fff;cursor:pointer}
body.tp-app-mode .tp-assistant-launcher,body.tp-app-mode .tp-assistant{z-index:1500}

@media(max-width:1100px){.v15-hero{grid-template-columns:1fr;min-height:0;padding-top:70px}.v15-hero-copy{text-align:center}.v15-hero-copy h1,.v15-hero-copy>p{margin-left:auto;margin-right:auto}.v15-kicker,.v15-hero-actions,.v15-trust{justify-content:center}.v15-preview-wrap{width:min(850px,100%);margin:10px auto 0}.v15-feature-grid{grid-template-columns:1fr 1fr}.v15-benefits{grid-template-columns:1fr}.v15-auth-shell{grid-template-columns:1fr 440px;gap:45px}.v15-auth-copy h1{font-size:44px}}
@media(max-width:760px){.v15-nav{height:64px;padding:0 16px}.v15-menu{display:block}.v15-navlinks{display:none;position:absolute;left:12px;right:12px;top:70px;padding:12px;border:1px solid #203248;border-radius:12px;background:#091522;box-shadow:0 25px 65px rgba(0,0,0,.38);flex-direction:column;align-items:stretch;gap:3px}.v15-navlinks.open{display:flex}.v15-navlinks a{padding:10px 11px;border-radius:8px}.v15-navlinks .v15-login-link{text-align:center;margin-top:4px}.v15-hero{display:block;padding:60px 18px 55px}.v15-hero-copy h1{font-size:clamp(39px,12vw,56px);letter-spacing:-.045em}.v15-hero-copy>p{font-size:15px}.v15-hero-actions{flex-direction:column}.v15-primary,.v15-secondary{width:100%}.v15-trust{gap:9px 13px}.v15-preview-wrap{margin-top:42px}.v15-preview{border-radius:13px}.v15-preview-app{grid-template-columns:72px 1fr;min-height:330px}.v15-preview-app aside{padding:10px 6px}.v15-preview-brand b{display:none}.v15-preview-app aside>div:not(.v15-preview-brand){padding:6px 4px;font-size:5.6px}.v15-preview-app section{padding:11px}.v15-preview-stats{grid-template-columns:1fr 1fr}.v15-preview-stats article:nth-child(n+3){display:none}.v15-preview-grid{grid-template-columns:1fr}.v15-preview-grid .chart{display:none}.v15-preview-grid>article{min-height:145px}.v15-strip{gap:16px;font-size:7px}.v15-section{padding:70px 18px}.v15-feature-grid{grid-template-columns:1fr}.v15-feature-grid article{min-height:auto}.v15-benefits{padding:65px 18px;gap:28px}.v15-benefit-card{padding:25px}.v15-price-card{padding:28px 22px}.v15-price-card ul{grid-template-columns:1fr}.v15-contact{margin:20px 14px 60px;padding:28px 20px;display:block;text-align:center}.v15-contact>div:nth-child(2){margin-top:22px;display:grid}.v15-footer{padding:35px 18px}.v15-footer nav{display:grid!important;grid-template-columns:repeat(3,1fr)!important;gap:12px!important}.v15-footer .v15-legal{display:grid}.v15-auth-page{padding:86px 14px 20px}.v15-auth-home{position:absolute;top:20px;left:18px}.v15-auth-shell{min-height:0;display:block;width:100%}.v15-auth-copy{display:none}.v15-auth-card{width:100%;max-width:480px;margin:0 auto;padding:25px 20px}.tp-assistant{right:12px;bottom:80px;width:calc(100vw - 24px);max-height:calc(100dvh - 105px)}.tp-assistant-launcher{right:14px;bottom:14px;width:52px;height:52px}body.tp-app-mode .tp-assistant-launcher{bottom:76px}body.tp-app-mode .tp-assistant{bottom:138px;max-height:calc(100dvh - 160px)}}
@media(max-width:430px){.v15-brand{font-size:16px}.v15-logo{width:32px;height:32px}.v15-hero{padding-left:15px;padding-right:15px}.v15-hero-copy h1{font-size:40px}.v15-preview-app{grid-template-columns:58px 1fr}.v15-preview-top h3{font-size:11px}.v15-preview-top button{font-size:6px}.v15-preview-stats b{font-size:13px}.v15-section-head h2,.v15-benefits h2{font-size:34px}.v15-price{font-size:38px}.v15-auth-card h2{font-size:25px}.tp-assistant-message{font-size:10px}}
@media(max-width:390px){.v15-hero-copy h1{font-size:37px}.v15-preview-app aside>div:not(.v15-preview-brand){font-size:5px}.v15-preview-app section{padding:9px}.v15-preview-stats{gap:5px}.v15-preview-stats article{padding:8px}.v15-footer nav{grid-template-columns:1fr 1fr!important}.tp-assistant{right:8px;width:calc(100vw - 16px)}}
@media(max-width:360px){.v15-hero-copy h1{font-size:34px}.v15-kicker{font-size:9px}.v15-preview-app{grid-template-columns:50px 1fr}.v15-preview-brand i{width:20px;height:20px}.v15-preview-top small{display:none}.v15-preview-top h3{font-size:10px}.v15-preview-grid .activity p{grid-template-columns:20px 1fr}.v15-preview-grid .activity strong{display:none}.v15-auth-page{padding-left:10px;padding-right:10px}.v15-auth-card{padding:22px 16px}.tp-assistant-head{padding:11px}.tp-assistant-suggestions{padding-left:9px;padding-right:9px}}
/* V15 public landing replaces the legacy mobile auth gate. */
body:not(.tp-app-mode) .tp-mobile-auth{display:none!important}

/* ============================================================
   KELVQO AI V15.1 — Dashboard / Mobile / Assistant Polish
   UI-only overrides. No backend or business logic changes.
   ============================================================ */

/* Unified KELVQO AI geometric brand mark */
.tp-unified-mark,
.v15-logo.tp-unified-mark,
.tp-app-brandmark.tp-unified-mark,
.v15-auth-mark.tp-unified-mark,
.v15-preview-brand .tp-unified-mark,
.tp-mobile-brand .tp-unified-mark,
.tp-mobile-drawer .tp-unified-mark{
  position:relative!important;
  display:inline-grid!important;
  place-items:center!important;
  width:36px!important;
  height:36px!important;
  min-width:36px!important;
  border-radius:10px!important;
  overflow:hidden!important;
  color:transparent!important;
  font-size:0!important;
  background:linear-gradient(145deg,#0e2b49 0%,#0b1d31 100%)!important;
  border:1px solid rgba(60,174,255,.42)!important;
  box-shadow:0 9px 28px rgba(22,132,244,.22),inset 0 1px 0 rgba(255,255,255,.06)!important;
}
.tp-unified-mark::before,.tp-unified-mark::after{
  content:"";position:absolute;display:block;background:linear-gradient(135deg,#25b9ff,#1678f4);border-radius:2px;box-shadow:0 0 12px rgba(37,185,255,.32)
}
.tp-unified-mark::before{width:17px;height:6px;transform:translate(-2px,-5px) skewX(-28deg)}
.tp-unified-mark::after{width:6px;height:18px;transform:translate(5px,3px) skewY(-28deg)}
.v15-brand,.v15-footer-brand,.v15-auth-home,.tp-app-brand{font-weight:850!important;letter-spacing:.01em}
.v15-brand>span:last-child,.v15-auth-home>span:last-child,.tp-app-brandtext,.tp-mobile-brand-name{text-transform:uppercase;letter-spacing:.055em}
.v15-brand strong,.v15-auth-home strong,.tp-app-brandtext strong,.tp-mobile-brand-name strong{color:#42b7ff!important}

/* Desktop dashboard — reference-inspired proportions, real data */
@media (min-width: 761px){
  body.tp-app-mode>.tp-app{grid-template-columns:258px minmax(0,1fr)!important;background:#07101a!important}
  body.tp-app-mode .tp-app-sidebar{padding:24px 17px 18px!important;background:linear-gradient(180deg,#07111d,#08121d 60%,#070f19)!important;border-right:1px solid rgba(99,133,173,.18)!important}
  body.tp-app-mode .tp-app-brand{height:58px!important;padding:0 8px 18px!important;gap:12px!important}
  body.tp-app-mode .tp-app-brandtext{font-size:14px!important}
  body.tp-app-mode .tp-app-nav{gap:7px!important;margin-top:20px!important;padding-top:0!important}
  body.tp-app-mode .tp-app-navbtn{min-height:45px!important;padding:0 13px!important;font-size:13px!important;border-radius:9px!important;gap:12px!important}
  body.tp-app-mode .tp-app-navbtn span{font-size:16px!important;width:20px!important}
  body.tp-app-mode .tp-app-navbtn.active{background:linear-gradient(90deg,rgba(28,133,255,.20),rgba(28,133,255,.04))!important;border-color:rgba(48,140,235,.25)!important;box-shadow:inset 3px 0 #238cff!important}
  body.tp-app-mode .tp-app-plan{padding:15px 10px!important}
  body.tp-app-mode .tp-app-profile{padding:10px 8px!important;grid-template-columns:38px minmax(0,1fr) auto!important}
  body.tp-app-mode .tp-avatar{width:38px!important;height:38px!important;font-size:13px!important}
  body.tp-app-mode .tp-app-profile strong{font-size:12px!important}body.tp-app-mode .tp-app-profile small{font-size:10px!important}

  body.tp-app-mode .tp-app-main{background:radial-gradient(900px 500px at 75% -15%,rgba(26,93,174,.09),transparent 60%),#09111b!important}
  body.tp-app-mode .tp-app-topbar{height:72px!important;padding:0 36px!important;border-bottom:1px solid rgba(80,111,148,.17)!important;background:rgba(8,16,26,.96)!important}
  body.tp-app-mode .tp-app-search{width:min(420px,42vw)!important;height:38px!important;border-radius:9px!important;background:#0b1724!important;border-color:#1c3045!important}
  body.tp-app-mode .tp-app-search input{font-size:12px!important}
  .tp-top-user{height:46px;min-width:190px;padding:5px 10px 5px 7px;border:1px solid #1d3045;border-radius:10px;background:#0a1622;color:#edf6ff;display:grid;grid-template-columns:34px minmax(0,1fr) 16px;align-items:center;gap:9px;text-align:left;cursor:pointer}
  .tp-top-user:hover{border-color:#285179;background:#0d1a28}.tp-top-avatar{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(145deg,#dce8f5,#9eb4ca);color:#071321;font-size:12px;font-weight:900}.tp-top-user-copy strong,.tp-top-user-copy small{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tp-top-user-copy strong{font-size:12px}.tp-top-user-copy small{font-size:9px;color:#68aeef;margin-top:2px}.tp-top-chevron{color:#6d8197;font-size:11px}

  body.tp-app-mode .tp-overview{width:min(1500px,calc(100% - 70px))!important;padding:34px 0 46px!important;margin:0 auto!important}
  body.tp-app-mode .tp-overview-heading{margin-bottom:24px!important;align-items:flex-end!important}
  .tp-dashboard-title{font-size:31px;font-weight:830;letter-spacing:-.035em;color:#f4f8fd;line-height:1.05;margin-bottom:9px}
  body.tp-app-mode .tp-overview-heading h1{font-size:15px!important;font-weight:700!important;color:#cfdae7!important;letter-spacing:-.01em!important;margin:0 0 5px!important}
  body.tp-app-mode .tp-overview-heading p{font-size:11px!important;color:#718298!important}
  body.tp-app-mode .tp-primary-btn{height:42px!important;padding:0 18px!important;font-size:12px!important;border-radius:9px!important}

  body.tp-app-mode .tp-stat-grid{gap:15px!important;margin-bottom:16px!important}
  body.tp-app-mode .tp-stat-card{min-height:128px!important;padding:18px 19px!important;border-radius:10px!important;background:linear-gradient(145deg,#0e1a28,#0a1521)!important;border-color:rgba(83,121,164,.25)!important;box-shadow:0 16px 38px rgba(0,0,0,.16)!important}
  body.tp-app-mode .tp-stat-row{font-size:11px!important;margin-bottom:12px!important;color:#8da0b5!important}
  body.tp-app-mode .tp-stat-row i{width:31px!important;height:31px!important;font-size:13px!important;border-radius:8px!important}
  body.tp-app-mode .tp-stat-card>strong{font-size:30px!important;margin-bottom:10px!important;letter-spacing:-.04em!important}
  body.tp-app-mode .tp-stat-card>small{font-size:10px!important;color:#6f8196!important}

  body.tp-app-mode .tp-overview-grid{grid-template-columns:minmax(0,1.08fr) minmax(390px,.92fr)!important;gap:15px!important;margin-bottom:15px!important}
  body.tp-app-mode .tp-panel{border-radius:10px!important;border-color:rgba(82,119,160,.24)!important;background:linear-gradient(145deg,#0d1926,#09141f)!important;box-shadow:0 16px 42px rgba(0,0,0,.15)!important}
  body.tp-app-mode .tp-activity-panel,body.tp-app-mode .tp-business-panel{min-height:360px!important;padding:18px!important}
  body.tp-app-mode .tp-panel-head{margin-bottom:14px!important}.tp-panel-head h2{font-size:13px!important}.tp-panel-head p{font-size:10px!important}.tp-panel-head button{font-size:10px!important}
  body.tp-app-mode .tp-revenue-total{font-size:27px!important}.tp-revenue-caption{font-size:9px!important}
  body.tp-app-mode .tp-chart-wrap{height:235px!important}.tp-chart-wrap svg{height:200px!important}.tp-chart-labels{font-size:9px!important}

  .tp-recent-quotes{display:block;width:100%;overflow:hidden}.tp-rq-head,.tp-rq-row{display:grid;grid-template-columns:minmax(180px,1.45fr) minmax(110px,.9fr) 95px 90px;align-items:center;gap:12px}.tp-rq-head{height:31px;padding:0 10px;border-bottom:1px solid #18283a;color:#5f7186;font-size:9px;text-transform:uppercase;letter-spacing:.07em}.tp-rq-row{width:100%;min-height:53px;padding:7px 10px;border:0;border-bottom:1px solid #152435;background:transparent;color:#bdcad7;text-align:left;cursor:pointer}.tp-rq-row:hover{background:#0e1d2b}.tp-rq-title{min-width:0;display:grid;grid-template-columns:28px minmax(0,1fr);grid-template-rows:auto auto;column-gap:8px;align-items:center}.tp-rq-title i{grid-row:1/3;width:28px;height:28px;border-radius:7px;display:grid;place-items:center;background:rgba(34,139,255,.10);color:#2b96ff;font-style:normal}.tp-rq-title b{font-size:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tp-rq-title small{font-size:8px;color:#63768b}.tp-rq-row>span:nth-child(2){font-size:9px;color:#8192a5;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tp-rq-row>strong{font-size:10px;text-align:right;color:#e6eef7}.tp-rq-status{display:inline-flex;padding:4px 7px;border-radius:99px;font-style:normal;font-size:8px;text-transform:capitalize;background:rgba(255,174,49,.10);color:#e6ab55;border:1px solid rgba(255,174,49,.16)}.tp-rq-status.approved,.tp-rq-status.sent{background:rgba(49,200,141,.10);color:#46d29a;border-color:rgba(49,200,141,.16)}

  body.tp-app-mode .tp-bottom-grid{gap:15px!important}.tp-ai-card,.tp-quick-card{min-height:105px!important;padding:17px!important}.tp-ai-card h2,.tp-quick-card h2{font-size:12px!important}.tp-ai-card p,.tp-quick-card p{font-size:9px!important}.tp-quick-actions button{height:39px!important;font-size:9px!important}
}

/* Assistant — substantial desktop workspace */
.tp-assistant{width:min(460px,calc(100vw - 32px))!important;height:min(620px,calc(100dvh - 130px))!important;max-height:none!important;grid-template-rows:auto minmax(160px,1fr) auto auto!important;border-radius:20px!important;border-color:#2a4967!important;box-shadow:0 34px 100px rgba(0,0,0,.56),0 0 0 1px rgba(50,139,230,.06)!important}
.tp-assistant-head{padding:17px 18px!important}.tp-assistant-ai{width:40px!important;height:40px!important;border-radius:11px!important;font-size:11px!important}.tp-assistant-head strong{font-size:15px!important}.tp-assistant-head small{font-size:10px!important;margin-top:3px!important}.tp-assistant-head button{width:38px;height:38px;font-size:27px!important;border-radius:9px!important}.tp-assistant-body{padding:18px!important;gap:12px!important}.tp-assistant-message{font-size:13px!important;line-height:1.55!important;padding:12px 14px!important;border-radius:13px!important}.tp-assistant-suggestions{padding:0 16px 13px!important;gap:8px!important}.tp-assistant-suggestions button{padding:9px 12px!important;font-size:10px!important}.tp-assistant-form{grid-template-columns:1fr 48px!important;padding:13px!important;gap:9px!important}.tp-assistant-form input{height:48px!important;padding:0 13px!important;font-size:13px!important}.tp-assistant-form button{height:48px!important;font-size:17px!important}.tp-assistant-launcher{width:58px!important;height:58px!important;border-radius:18px!important}.tp-assistant-launcher span{font-size:12px!important}

/* Auth pages: mobile form must always be immediately visible */
body.v15-auth-page{box-sizing:border-box}
.v15-auth-card,.v15-auth-card *{box-sizing:border-box}
@media (max-width:760px){
  body.v15-auth-page{min-height:100dvh!important;padding:76px 14px 24px!important;overflow-x:hidden!important;overflow-y:auto!important;display:block!important}
  .v15-auth-home{position:absolute!important;top:18px!important;left:16px!important;right:auto!important;height:42px!important;gap:9px!important;font-size:15px!important}
  .v15-auth-home .tp-unified-mark{width:34px!important;height:34px!important;min-width:34px!important}
  .v15-auth-shell{display:block!important;width:100%!important;min-height:0!important;margin:0 auto!important;padding:0!important}
  .v15-auth-copy{display:none!important}
  .v15-auth-card{display:block!important;visibility:visible!important;opacity:1!important;width:100%!important;max-width:480px!important;margin:0 auto!important;padding:24px 18px!important;border-radius:16px!important;transform:none!important}
  .v15-auth-mark{width:42px!important;height:42px!important;margin-bottom:16px!important}
  .v15-auth-card h2{font-size:27px!important;line-height:1.15!important;margin:7px 0 6px!important}
  .v15-auth-card>p{font-size:13px!important;margin-bottom:20px!important}
  .v15-auth-card form{gap:13px!important}.v15-auth-card label{font-size:12px!important}.v15-auth-card input{height:50px!important;font-size:16px!important}.v15-auth-btn{height:51px!important;font-size:14px!important}
  .v15-auth-switch{font-size:12px!important;margin-top:16px!important}.v15-auth-back{font-size:10px!important;margin-top:13px!important}
}

/* True mobile Dashboard: top header + drawer, no shrunken desktop/bottom nav */
@media (max-width:760px){
  html,body{max-width:100%;overflow-x:hidden}
  body.tp-app-mode{overflow:hidden!important;background:#07101a!important}
  body.tp-app-mode>.tp-app{display:block!important;width:100vw!important;height:100dvh!important;min-height:100dvh!important;overflow:hidden!important}
  body.tp-app-mode .tp-app-sidebar{display:none!important}
  body.tp-app-mode .tp-app-main{display:block!important;width:100vw!important;height:100dvh!important;min-height:100dvh!important;overflow-y:auto!important;overflow-x:hidden!important;padding:64px 0 20px!important;background:#09121d!important}
  body.tp-app-mode .tp-app-topbar{display:none!important}
  body.tp-app-mode .tp-mobile-topbar{display:flex!important;position:fixed!important;left:0!important;right:0!important;top:0!important;height:64px!important;padding:0 12px!important;z-index:100!important;background:rgba(7,16,27,.98)!important;border-bottom:1px solid #1b2b3d!important;gap:8px!important;box-sizing:border-box!important}
  .tp-mobile-iconbtn{width:40px!important;height:40px!important;min-width:40px!important;border-radius:9px!important;font-size:23px!important}
  .tp-mobile-brand{min-width:0!important;display:flex!important;align-items:center!important;flex:1!important;font-size:13px!important;gap:7px!important}.tp-mobile-brand .tp-unified-mark{width:31px!important;height:31px!important;min-width:31px!important;border-radius:8px!important}.tp-mobile-brand-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap!important;font-size:12px!important}
  .tp-mobile-new{height:39px!important;min-width:68px!important;padding:0 10px!important;font-size:11px!important}.tp-mobile-avatar{width:38px!important;height:38px!important;min-width:38px!important}
  body.tp-app-mode .tp-overview{width:100%!important;max-width:none!important;margin:0!important;padding:20px 14px 30px!important;box-sizing:border-box!important}
  body.tp-app-mode .tp-overview-heading{display:block!important;margin:0 0 17px!important}.tp-dashboard-title{font-size:27px!important;line-height:1.05!important;margin-bottom:7px!important}.tp-overview-heading h1{font-size:14px!important;margin:0 0 4px!important;color:#cbd8e7!important}.tp-overview-heading p{display:block!important;font-size:10px!important;line-height:1.4!important}.tp-overview-heading .tp-primary-btn{display:none!important}
  body.tp-app-mode .tp-stat-grid{grid-template-columns:1fr 1fr!important;gap:10px!important;margin-bottom:12px!important}.tp-stat-card{min-width:0!important;min-height:114px!important;padding:14px!important;border-radius:11px!important}.tp-stat-row{font-size:10px!important;margin-bottom:11px!important}.tp-stat-row i{width:28px!important;height:28px!important}.tp-stat-card>strong{font-size:26px!important}.tp-stat-card>small{font-size:9px!important;line-height:1.35!important}
  body.tp-app-mode .tp-overview-grid,body.tp-app-mode .tp-bottom-grid{grid-template-columns:1fr!important;gap:11px!important;margin-bottom:11px!important}.tp-panel{width:100%!important;min-width:0!important;overflow:hidden!important;border-radius:11px!important}.tp-activity-panel,.tp-business-panel{min-height:0!important;padding:15px!important}.tp-panel-head h2{font-size:13px!important}.tp-panel-head p{font-size:9px!important}
  .tp-rq-head{display:none!important}.tp-rq-row{display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;grid-template-areas:'title total' 'customer status'!important;gap:6px 10px!important;min-height:67px!important;padding:10px 4px!important}.tp-rq-title{grid-area:title!important}.tp-rq-row>span:nth-child(2){grid-area:customer!important;padding-left:36px!important;font-size:9px!important}.tp-rq-row>span:nth-child(3){grid-area:status!important;text-align:right!important}.tp-rq-row>strong{grid-area:total!important;font-size:11px!important}.tp-rq-title b{font-size:10px!important}.tp-rq-title small{font-size:8px!important}.tp-rq-status{font-size:8px!important}
  .tp-business-panel{min-height:285px!important}.tp-revenue-total{font-size:25px!important}.tp-chart-wrap{height:190px!important}.tp-chart-wrap svg{height:158px!important;width:100%!important}.tp-chart-labels{font-size:8px!important}
  .tp-ai-card,.tp-quick-card{min-height:0!important;padding:15px!important}.tp-ai-card{grid-template-columns:40px minmax(0,1fr)!important}.tp-ai-card .tp-primary-btn{grid-column:1/-1!important;width:100%!important;height:44px!important}.tp-quick-actions{grid-template-columns:1fr 1fr!important;gap:8px!important}.tp-quick-actions button{height:44px!important;font-size:10px!important}
  .tp-mobile-backdrop{display:none;position:fixed!important;inset:0!important;background:rgba(0,0,0,.62)!important;z-index:108!important}.tp-mobile-backdrop.open{display:block!important}
  .tp-mobile-drawer{display:block!important;position:fixed!important;left:0!important;top:0!important;bottom:0!important;width:min(86vw,340px)!important;padding:20px 16px!important;background:#09131f!important;border-right:1px solid #203247!important;z-index:110!important;transform:translateX(-105%)!important;transition:transform .2s ease!important;box-sizing:border-box!important}.tp-mobile-drawer.open{transform:translateX(0)!important}.tp-mobile-drawer-head{display:flex!important;justify-content:space-between!important;align-items:flex-start!important;padding:4px 2px 17px!important;border-bottom:1px solid #1a293a!important}.tp-mobile-drawer-identity{display:flex!important;align-items:center!important;gap:10px!important}.tp-mobile-drawer-identity .tp-unified-mark{width:36px!important;height:36px!important;min-width:36px!important}.tp-mobile-drawer-head strong{font-size:16px!important}.tp-mobile-drawer-head small{font-size:10px!important;margin-top:2px!important}.tp-mobile-drawer-head #tpMobileDrawerPlan{color:#3ea4ff!important}.tp-mobile-drawer nav{display:grid!important;padding:12px 0!important}.tp-mobile-drawer nav button,.tp-mobile-drawer-account button{min-height:48px!important;font-size:14px!important}.tp-mobile-drawer-account{position:absolute!important;left:16px!important;right:16px!important;bottom:20px!important}

  .tp-assistant-launcher{right:13px!important;bottom:15px!important;width:54px!important;height:54px!important;z-index:1601!important}
  body.tp-app-mode .tp-assistant-launcher{bottom:15px!important}
  .tp-assistant{left:12px!important;right:12px!important;bottom:12px!important;width:auto!important;height:min(82dvh,680px)!important;max-width:none!important;max-height:none!important;border-radius:18px!important;z-index:1600!important}.tp-assistant-head{padding:15px!important}.tp-assistant-head strong{font-size:15px!important}.tp-assistant-head small{font-size:10px!important}.tp-assistant-body{padding:15px!important}.tp-assistant-message{max-width:91%!important;font-size:15px!important;line-height:1.5!important;padding:11px 13px!important}.tp-assistant-suggestions{padding:0 13px 11px!important;display:grid!important;grid-template-columns:1fr!important;overflow:visible!important}.tp-assistant-suggestions button{min-height:43px!important;font-size:12px!important;text-align:left!important;border-radius:10px!important}.tp-assistant-form{grid-template-columns:1fr 48px!important;padding:12px!important}.tp-assistant-form input{height:49px!important;font-size:16px!important}.tp-assistant-form button{height:49px!important}
}

@media (max-width:390px){
  body.tp-app-mode .tp-overview{padding-left:12px!important;padding-right:12px!important}.tp-dashboard-title{font-size:25px!important}.tp-stat-grid{gap:8px!important}.tp-stat-card{padding:12px!important;min-height:108px!important}.tp-stat-card>strong{font-size:24px!important}.tp-mobile-brand-name{font-size:11px!important}.tp-mobile-new{min-width:62px!important;padding:0 8px!important}.tp-assistant{left:8px!important;right:8px!important;bottom:8px!important;height:84dvh!important}
}
@media (max-width:360px){
  .tp-mobile-brand-name{max-width:86px!important}.tp-mobile-avatar{display:none!important}.tp-stat-card{min-height:105px!important}.tp-stat-row{font-size:9px!important}.tp-stat-card>small{font-size:8.5px!important}.tp-rq-row>span:nth-child(2){max-width:150px!important}.tp-assistant-message{font-size:14px!important}
}
/* V15.1 UI polish end */
/* Explicitly undo the legacy mobile auth gate on standalone auth pages. */
@media (max-width:760px){
  body.v15-auth-page>main.v15-auth-shell{visibility:visible!important;display:block!important}
}
/* Mobile safety spacing: fixed Assistant launcher never obscures final actions. */
@media (max-width:760px){
  body.v15-public,body.v15-auth-page{max-width:100vw!important;overflow-x:hidden!important}
  body.v15-auth-page{padding-bottom:92px!important}
  body.tp-app-mode .tp-overview{padding-bottom:92px!important}
  .v15-landing,.v15-nav,.v15-footer{max-width:100%!important;box-sizing:border-box!important}
}


/* ===== V15.2 PROFILE DROPDOWN + IDEAS & FEEDBACK ===== */
.tp-app-topbar{position:sticky}
.tp-profile-menu{
  position:fixed;z-index:1450;width:220px;padding:8px;
  background:#0b1521;border:1px solid #1d2c3f;border-radius:12px;
  box-shadow:0 24px 70px rgba(0,0,0,.46);
  opacity:0;visibility:hidden;transform:translateY(-6px);transition:.16s ease;
}
.tp-profile-menu.open{opacity:1;visibility:visible;transform:none}
.tp-profile-menu button{
  width:100%;height:42px;border:0;border-radius:8px;background:transparent;color:#c8d5e6;
  display:flex;align-items:center;gap:10px;padding:0 11px;cursor:pointer;text-align:left;font:inherit
}
.tp-profile-menu button:hover{background:#111f2f;color:#fff}
.tp-profile-menu button span{width:22px;color:#4c9cff;text-align:center}
.tp-profile-menu button b{font-size:13px;font-weight:650}
.tp-profile-menu button.danger{color:#ff9b9b}.tp-profile-menu button.danger span{color:#ff7777}
.tp-profile-menu-sep{height:1px;background:#1a293a;margin:6px 4px}

.tp-feedback-page{width:min(1460px,calc(100% - 64px));margin:0 auto;padding:34px 0 54px;box-sizing:border-box}
.tp-feedback-page[hidden]{display:none!important}
.tp-feedback-heading{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:24px}
.tp-feedback-kicker{display:block;color:#399dff;font-size:11px;font-weight:800;letter-spacing:1.2px;margin-bottom:7px}
.tp-feedback-heading h1{margin:0;color:#f3f8ff;font-size:30px;letter-spacing:-.8px}
.tp-feedback-heading p{margin:7px 0 0;color:#8090a5;font-size:13px}
.tp-feedback-grid{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(360px,.92fr);gap:18px}
.tp-feedback-card{background:linear-gradient(145deg,#0e1927,#0a1420);border:1px solid rgba(74,112,156,.28);border-radius:12px;padding:22px;box-shadow:0 16px 40px rgba(0,0,0,.18)}
.tp-feedback-card-head{margin-bottom:20px}.tp-feedback-card-head h2{margin:0;color:#f2f7ff;font-size:18px}.tp-feedback-card-head p{margin:7px 0 0;color:#7d8ea3;font-size:12px;line-height:1.55}
.tp-feedback-form{display:grid;gap:15px}
.tp-feedback-form label{display:grid;gap:7px;color:#a8b7c8;font-size:12px;font-weight:650}
.tp-feedback-form input,.tp-feedback-form select,.tp-feedback-form textarea{
  width:100%;box-sizing:border-box;border:1px solid #203147;border-radius:9px;background:#09131f;color:#eef6ff;
  padding:12px 13px;font:inherit;font-size:14px;outline:0;transition:.15s ease
}
.tp-feedback-form select{min-height:46px}
.tp-feedback-form input{height:46px}
.tp-feedback-form textarea{min-height:168px;resize:vertical;line-height:1.5}
.tp-feedback-form input:focus,.tp-feedback-form select:focus,.tp-feedback-form textarea:focus{border-color:#258cff;box-shadow:0 0 0 3px rgba(37,140,255,.11)}
.tp-feedback-submit{height:46px;border:0;border-radius:9px;background:linear-gradient(180deg,#2597ff,#1474e8);color:#fff;font-size:14px;font-weight:750;cursor:pointer;box-shadow:0 9px 24px rgba(19,116,232,.20)}
.tp-feedback-submit:disabled{opacity:.62;cursor:wait}
.tp-feedback-success{padding:13px 14px;border:1px solid rgba(72,209,147,.28);border-radius:9px;background:rgba(39,157,105,.10);color:#8be7b8;display:grid;gap:3px}
.tp-feedback-success strong{font-size:13px}.tp-feedback-success span{font-size:11px;color:#78cba3}
.tp-feedback-error{margin:0;padding:10px 12px;border-radius:8px;background:rgba(190,64,74,.10);color:#ff9b9b;font-size:12px}
.tp-feedback-list{display:grid;gap:10px}
.tp-feedback-empty{padding:28px 12px;text-align:center;color:#65768b;border:1px dashed #213248;border-radius:9px;font-size:12px}
.tp-feedback-item{padding:14px;border:1px solid #1b2b3e;border-radius:9px;background:#0a1522}
.tp-feedback-item-top{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}
.tp-feedback-item h3{margin:0;color:#eaf2fc;font-size:14px;line-height:1.35}
.tp-feedback-item-meta{display:flex;flex-wrap:wrap;gap:7px;margin-top:9px;color:#78899e;font-size:10px}
.tp-feedback-status{display:inline-flex;align-items:center;padding:5px 8px;border-radius:999px;background:rgba(37,140,255,.11);color:#5eafff;border:1px solid rgba(37,140,255,.19);font-size:9px;font-weight:800;white-space:nowrap}
.tp-feedback-status.completed{background:rgba(46,196,132,.10);color:#75dda9;border-color:rgba(46,196,132,.20)}
.tp-feedback-status.in-progress,.tp-feedback-status.under-review{background:rgba(250,177,61,.09);color:#efbd67;border-color:rgba(250,177,61,.18)}

@media(max-width:900px){
  .tp-feedback-page{width:calc(100% - 30px);padding:22px 0 42px}
  .tp-feedback-grid{grid-template-columns:1fr}
}
@media(max-width:640px){
  .tp-profile-menu{width:min(230px,calc(100vw - 24px))}
  .tp-feedback-page{width:calc(100% - 24px);padding:18px 0 32px}
  .tp-feedback-heading{margin-bottom:16px}.tp-feedback-heading h1{font-size:24px}.tp-feedback-heading p{font-size:12px}
  .tp-feedback-card{padding:16px;border-radius:10px}.tp-feedback-card-head h2{font-size:17px}.tp-feedback-card-head p{font-size:12px}
  .tp-feedback-form input,.tp-feedback-form select{height:50px;font-size:16px}
  .tp-feedback-form textarea{font-size:16px;min-height:180px}
  .tp-feedback-submit{height:50px;font-size:15px}
  .tp-feedback-item{padding:13px}.tp-feedback-item h3{font-size:14px}
}


/* ===== V15.3 PROFILE DROPDOWN DESKTOP + MOBILE FIX ===== */
body.tp-app-mode .tp-profile-menu{
  position:fixed!important;
  z-index:2147483000!important;
  box-sizing:border-box!important;
  padding:8px!important;
  margin:0!important;
  overflow-x:hidden!important;
  overflow-y:auto!important;
  background:linear-gradient(160deg,#0d1926 0%,#09131f 100%)!important;
  border:1px solid rgba(84,126,175,.32)!important;
  border-radius:12px!important;
  color:#e8f1fc!important;
  box-shadow:0 26px 80px rgba(0,0,0,.58),inset 0 1px 0 rgba(255,255,255,.025)!important;
  opacity:0!important;
  visibility:hidden!important;
  pointer-events:none!important;
  transform:translateY(-6px) scale(.985)!important;
  transform-origin:top right!important;
  transition:opacity .14s ease,transform .14s ease,visibility .14s ease!important;
  -webkit-appearance:none!important;
  appearance:none!important;
}
body.tp-app-mode .tp-profile-menu.open{
  opacity:1!important;
  visibility:visible!important;
  pointer-events:auto!important;
  transform:translateY(0) scale(1)!important;
}
body.tp-app-mode .tp-profile-menu button{
  -webkit-appearance:none!important;
  appearance:none!important;
  width:100%!important;
  min-width:0!important;
  height:46px!important;
  margin:0!important;
  padding:0 12px!important;
  border:0!important;
  outline:0!important;
  border-radius:8px!important;
  background:transparent!important;
  color:#cbd8e8!important;
  display:flex!important;
  align-items:center!important;
  justify-content:flex-start!important;
  gap:11px!important;
  font-family:inherit!important;
  font-size:13px!important;
  font-weight:650!important;
  line-height:1!important;
  text-align:left!important;
  white-space:nowrap!important;
  cursor:pointer!important;
}
body.tp-app-mode .tp-profile-menu button:hover,
body.tp-app-mode .tp-profile-menu button:focus-visible{
  background:#122237!important;
  color:#fff!important;
}
body.tp-app-mode .tp-profile-menu button span{
  flex:0 0 22px!important;
  width:22px!important;
  color:#4ba5ff!important;
  font-size:14px!important;
  text-align:center!important;
}
body.tp-app-mode .tp-profile-menu button b{
  min-width:0!important;
  color:inherit!important;
  font-size:13px!important;
  font-weight:650!important;
}
body.tp-app-mode .tp-profile-menu button.danger{color:#ff9a9f!important}
body.tp-app-mode .tp-profile-menu button.danger span{color:#ff777e!important}
body.tp-app-mode .tp-profile-menu-sep{
  display:block!important;
  height:1px!important;
  margin:6px 5px!important;
  background:#1c2d40!important;
  border:0!important;
}
body.tp-app-mode #appTopUser{
  position:relative!important;
  z-index:120!important;
  -webkit-appearance:none!important;
  appearance:none!important;
}
body.tp-app-mode #tpMobileProfileBtn{
  -webkit-appearance:none!important;
  appearance:none!important;
}

@media (max-width:680px){
  body.tp-app-mode #tpMobileProfileBtn{
    display:grid!important;
    place-items:center!important;
    flex:0 0 38px!important;
    width:38px!important;
    height:38px!important;
    min-width:38px!important;
    padding:0!important;
    border:1px solid #29435d!important;
    border-radius:50%!important;
    background:linear-gradient(145deg,#dbe7f3,#9fb5cb)!important;
    color:#071421!important;
    font-size:13px!important;
    font-weight:900!important;
    line-height:1!important;
    box-shadow:none!important;
  }
  body.tp-app-mode .tp-profile-menu.mobile-panel{
    left:auto!important;
    right:12px!important;
    top:72px!important;
    bottom:auto!important;
    max-width:calc(100vw - 24px)!important;
    border-radius:13px!important;
    transform-origin:top right!important;
  }
  body.tp-app-mode .tp-profile-menu.mobile-panel button{
    min-height:50px!important;
    height:50px!important;
    font-size:15px!important;
    padding:0 14px!important;
  }
  body.tp-app-mode .tp-profile-menu.mobile-panel button b{font-size:15px!important}
  body.tp-app-mode .tp-profile-menu.mobile-panel button span{font-size:16px!important}
}
@media (max-width:390px){
  body.tp-app-mode .tp-mobile-brand-name{max-width:112px!important;overflow:hidden!important;text-overflow:ellipsis!important}
  body.tp-app-mode .tp-mobile-new{padding:0 9px!important;font-size:11px!important}
}
@media (max-width:360px){
  body.tp-app-mode .tp-mobile-brand-name{max-width:88px!important}
  body.tp-app-mode .tp-mobile-new{padding:0 7px!important;font-size:10px!important}
  body.tp-app-mode #tpMobileProfileBtn{display:grid!important;width:36px!important;height:36px!important;min-width:36px!important}
}



/* ===== V15.4 MOBILE PROFILE ONLY ===== */
@media (max-width:680px){
  body.tp-app-mode{overflow-x:hidden!important}
  body.tp-app-mode #tpMobileProfileBtn{
    display:grid!important;
    place-items:center!important;
    flex:0 0 38px!important;
    width:38px!important;
    min-width:38px!important;
    height:38px!important;
    padding:0!important;
    border:1px solid #29435d!important;
    border-radius:50%!important;
    background:linear-gradient(145deg,#dbe7f3,#9fb5cb)!important;
    color:#071421!important;
    font-size:13px!important;
    font-weight:900!important;
    -webkit-appearance:none!important;
    appearance:none!important;
  }
  body.tp-app-mode>.tp-profile-menu,
  body.tp-app-mode .tp-profile-menu.mobile-panel{
    position:fixed!important;
    left:auto!important;
    right:12px!important;
    top:72px!important;
    bottom:auto!important;
    width:min(312px,calc(100vw - 24px))!important;
    max-width:calc(100vw - 24px)!important;
    max-height:calc(100dvh - 92px)!important;
    overflow-y:auto!important;
    overflow-x:hidden!important;
    box-sizing:border-box!important;
    background:linear-gradient(160deg,#0d1926 0%,#09131f 100%)!important;
    border:1px solid rgba(84,126,175,.34)!important;
    border-radius:13px!important;
    box-shadow:0 26px 80px rgba(0,0,0,.58)!important;
    z-index:2147483000!important;
    color:#e8f1fc!important;
    -webkit-appearance:none!important;
    appearance:none!important;
  }
  body.tp-app-mode>.tp-profile-menu.open,
  body.tp-app-mode .tp-profile-menu.mobile-panel.open{
    opacity:1!important;
    visibility:visible!important;
    pointer-events:auto!important;
    transform:none!important;
  }
  body.tp-app-mode>.tp-profile-menu button,
  body.tp-app-mode .tp-profile-menu.mobile-panel button{
    -webkit-appearance:none!important;
    appearance:none!important;
    width:100%!important;
    min-height:50px!important;
    height:50px!important;
    margin:0!important;
    padding:0 14px!important;
    border:0!important;
    border-radius:9px!important;
    background:transparent!important;
    color:#d2deed!important;
    display:flex!important;
    align-items:center!important;
    gap:12px!important;
    font-family:inherit!important;
    font-size:15px!important;
    font-weight:650!important;
    text-align:left!important;
    white-space:nowrap!important;
  }
  body.tp-app-mode>.tp-profile-menu button b,
  body.tp-app-mode .tp-profile-menu.mobile-panel button b{font-size:15px!important;color:inherit!important}
  body.tp-app-mode>.tp-profile-menu button span,
  body.tp-app-mode .tp-profile-menu.mobile-panel button span{width:22px!important;color:#4ba5ff!important;font-size:16px!important;text-align:center!important}
  body.tp-app-mode>.tp-profile-menu button.danger,
  body.tp-app-mode .tp-profile-menu.mobile-panel button.danger{color:#ff9a9f!important}

  /* When the avatar account menu is open, the hamburger drawer must stay closed. */
  body.tp-mobile-profile-open #tpMobileDrawer{transform:translateX(-105%)!important}
  body.tp-mobile-profile-open #tpMobileBackdrop{display:none!important}
}
@media (max-width:390px){
  body.tp-app-mode>.tp-profile-menu,
  body.tp-app-mode .tp-profile-menu.mobile-panel{
    right:10px!important;
    width:min(300px,calc(100vw - 20px))!important;
    max-width:calc(100vw - 20px)!important;
  }
}
@media (max-width:360px){
  body.tp-app-mode #tpMobileProfileBtn{
    display:grid!important;
    width:36px!important;
    min-width:36px!important;
    height:36px!important;
  }
}


/* V16.1 Auth polish + password recovery */
.v16-password-row{display:flex;justify-content:flex-end;align-items:center;margin-top:-4px;margin-bottom:-2px;min-height:18px}.v16-password-row a{color:#49a8ff;font-size:11px;font-weight:750;text-decoration:none}.v16-password-row a:hover{text-decoration:underline}.v15-auth-card .msg.success{color:#73dda2;line-height:1.45}.v15-auth-card .msg:not(:empty){padding-top:2px;line-height:1.45}.v15-auth-card a{transition:opacity .16s ease}.v15-auth-card a:hover{opacity:.86}@media(max-width:760px){.v16-password-row a{font-size:12px}.v15-auth-card{box-shadow:0 24px 70px rgba(0,0,0,.38)!important}.v15-auth-card input{border-radius:11px!important}.v15-auth-btn{border-radius:11px!important}}

/* ===== V16.2 DASHBOARD VISUAL POLISH ===== */
/* Recent quote card: electric/light blue treatment on desktop + mobile. */
body.tp-app-mode .tp-rq-row{
  margin:8px 0!important;
  padding:11px 14px!important;
  border:1px solid rgba(71,146,255,.55)!important;
  border-radius:11px!important;
  background:linear-gradient(135deg,rgba(31,116,255,.82) 0%,rgba(26,83,185,.78) 50%,rgba(13,46,108,.92) 100%)!important;
  box-shadow:0 10px 26px rgba(17,91,222,.18),inset 0 1px 0 rgba(255,255,255,.08)!important;
  color:#f7fbff!important;
}
body.tp-app-mode .tp-rq-row:hover{
  background:linear-gradient(135deg,rgba(39,126,255,.90) 0%,rgba(29,89,196,.86) 52%,rgba(14,50,117,.96) 100%)!important;
  border-color:rgba(98,165,255,.75)!important;
}
body.tp-app-mode .tp-rq-title i{
  background:rgba(168,218,255,.22)!important;
  color:#dff4ff!important;
  border:1px solid rgba(192,229,255,.25)!important;
}
body.tp-app-mode .tp-rq-title b,
body.tp-app-mode .tp-rq-row>strong{color:#fff!important}
body.tp-app-mode .tp-rq-title small,
body.tp-app-mode .tp-rq-row>span:nth-child(2){color:#d8eaff!important}
body.tp-app-mode .tp-rq-status.approved,
body.tp-app-mode .tp-rq-status.sent{
  background:rgba(38,207,138,.18)!important;
  color:#9af2ca!important;
  border-color:rgba(108,239,188,.28)!important;
}

/* Desktop only: slightly larger typography, without changing mobile sizing. */
@media (min-width:761px){
  body.tp-app-mode .tp-app-brandtext{font-size:15px!important}
  body.tp-app-mode .tp-app-navbtn{font-size:14px!important}
  body.tp-app-mode .tp-app-profile strong{font-size:13px!important}
  body.tp-app-mode .tp-app-profile small{font-size:11px!important}
  .tp-dashboard-title{font-size:34px!important}
  body.tp-app-mode .tp-overview-heading h1{font-size:17px!important}
  body.tp-app-mode .tp-overview-heading p{font-size:12px!important}
  body.tp-app-mode .tp-stat-row{font-size:12px!important}
  body.tp-app-mode .tp-stat-card>strong{font-size:32px!important}
  body.tp-app-mode .tp-stat-card>small{font-size:11px!important}
  .tp-panel-head h2{font-size:15px!important}
  .tp-panel-head p{font-size:11px!important}
  .tp-panel-head button{font-size:11px!important}
  body.tp-app-mode .tp-rq-title b{font-size:12px!important}
  body.tp-app-mode .tp-rq-title small{font-size:9px!important}
  body.tp-app-mode .tp-rq-row>span:nth-child(2){font-size:11px!important}
  body.tp-app-mode .tp-rq-row>strong{font-size:13px!important}
  body.tp-app-mode .tp-rq-status{font-size:9px!important}
  body.tp-app-mode .tp-revenue-total{font-size:30px!important}
  .tp-revenue-caption{font-size:10px!important}
}

/* Mobile: keep all current font sizing, only apply the new card surface. */
@media (max-width:760px){
  body.tp-app-mode .tp-rq-row{
    margin:8px 0!important;
    padding:11px 10px!important;
    border-radius:10px!important;
  }
}
/* ===== V16.2 DASHBOARD VISUAL POLISH END ===== */

/* ===== V16.3 DESKTOP TEXT SIZE POLISH ===== */
/* Desktop only. Mobile typography remains exactly as V16.2. */
@media (min-width:761px){
  body.tp-app-mode .tp-app-brandtext{font-size:17px!important}
  body.tp-app-mode .tp-app-navbtn{font-size:16px!important}
  body.tp-app-mode .tp-app-profile strong{font-size:14px!important}
  body.tp-app-mode .tp-app-profile small{font-size:12px!important}
  body.tp-app-mode .tp-app-search input{font-size:14px!important}
  .tp-dashboard-title{font-size:39px!important}
  body.tp-app-mode .tp-overview-heading h1{font-size:20px!important}
  body.tp-app-mode .tp-overview-heading p{font-size:14px!important}
  body.tp-app-mode .tp-primary-btn{font-size:14px!important}
  body.tp-app-mode .tp-stat-row{font-size:14px!important}
  body.tp-app-mode .tp-stat-card>strong{font-size:35px!important}
  body.tp-app-mode .tp-stat-card>small{font-size:13px!important}
  body.tp-app-mode .tp-panel-head h2, body.tp-app-mode .tp-ai-card h2{font-size:17px!important}
  body.tp-app-mode .tp-panel-head p, body.tp-app-mode .tp-ai-card p{font-size:12px!important}
  body.tp-app-mode .tp-panel-head button, body.tp-app-mode .tp-period{font-size:12px!important}
  body.tp-app-mode .tp-rq-title b{font-size:14px!important}
  body.tp-app-mode .tp-rq-title small{font-size:11px!important}
  body.tp-app-mode .tp-rq-row>span:nth-child(2){font-size:13px!important}
  body.tp-app-mode .tp-rq-row>strong{font-size:15px!important}
  body.tp-app-mode .tp-rq-status{font-size:10px!important}
  body.tp-app-mode .tp-revenue-total{font-size:34px!important}
  body.tp-app-mode .tp-revenue-caption{font-size:12px!important}
  body.tp-app-mode .tp-chart-labels{font-size:10px!important}
  body.tp-app-mode .tp-quick-actions button{font-size:11px!important}
}
/* ===== V16.3 DESKTOP TEXT SIZE POLISH END ===== */

/* ===== V16.4 MOBILE HEADER / BRAND FIX ===== */
/* Mobile only: keep the existing dashboard sizing, but make the KELVQO AI
   header logo read cleanly without the brand text being styled as a second logo box. */
@media (max-width:760px){
  body.tp-app-mode .tp-mobile-topbar{
    gap:8px!important;
    padding-left:10px!important;
    padding-right:10px!important;
  }
  body.tp-app-mode .tp-mobile-iconbtn{
    flex:0 0 40px!important;
  }
  body.tp-app-mode .tp-mobile-brand{
    flex:1 1 auto!important;
    min-width:0!important;
    display:flex!important;
    align-items:center!important;
    gap:7px!important;
    overflow:visible!important;
  }
  body.tp-app-mode .tp-mobile-brand > .tp-unified-mark{
    display:inline-grid!important;
    place-items:center!important;
    flex:0 0 31px!important;
    width:31px!important;
    min-width:31px!important;
    height:31px!important;
    margin:0!important;
    border-radius:8px!important;
  }
  body.tp-app-mode .tp-mobile-brand > .tp-mobile-brand-name{
    display:block!important;
    width:auto!important;
    height:auto!important;
    min-width:0!important;
    max-width:none!important;
    margin:0!important;
    padding:0!important;
    border:0!important;
    border-radius:0!important;
    background:transparent!important;
    box-shadow:none!important;
    color:#f5f8fc!important;
    font-size:11px!important;
    font-weight:850!important;
    line-height:1!important;
    letter-spacing:.035em!important;
    white-space:nowrap!important;
    overflow:visible!important;
    text-overflow:clip!important;
  }
  body.tp-app-mode .tp-mobile-brand > .tp-mobile-brand-name strong{
    color:#42b7ff!important;
  }
  body.tp-app-mode .tp-mobile-new{
    flex:0 0 auto!important;
    min-width:62px!important;
    height:39px!important;
    padding:0 9px!important;
    font-size:11px!important;
  }
  body.tp-app-mode #tpMobileProfileBtn{
    display:grid!important;
    flex:0 0 38px!important;
    width:38px!important;
    min-width:38px!important;
    height:38px!important;
  }
}
@media (max-width:390px){
  body.tp-app-mode .tp-mobile-topbar{gap:6px!important;padding-left:8px!important;padding-right:8px!important}
  body.tp-app-mode .tp-mobile-iconbtn{width:36px!important;min-width:36px!important;flex-basis:36px!important}
  body.tp-app-mode .tp-mobile-brand{gap:5px!important}
  body.tp-app-mode .tp-mobile-brand > .tp-unified-mark{width:29px!important;min-width:29px!important;height:29px!important;flex-basis:29px!important}
  body.tp-app-mode .tp-mobile-brand > .tp-mobile-brand-name{font-size:10px!important;letter-spacing:.02em!important}
  body.tp-app-mode .tp-mobile-new{min-width:58px!important;padding:0 7px!important;font-size:10.5px!important}
  body.tp-app-mode #tpMobileProfileBtn{width:36px!important;min-width:36px!important;height:36px!important;flex-basis:36px!important}
}
@media (max-width:350px){
  body.tp-app-mode .tp-mobile-brand > .tp-mobile-brand-name{font-size:9px!important}
  body.tp-app-mode .tp-mobile-new{min-width:54px!important;padding:0 5px!important;font-size:10px!important}
}
/* ===== V16.4 MOBILE HEADER / BRAND FIX END ===== */


/* V16.5 — dedicated Photo Analysis + responsive persistent Settings */
.tp-bottom-grid:has(.tp-ai-card):not(:has(.tp-quick-card)){grid-template-columns:1fr}
.tp-settings-form,.tp-account-security{margin-top:16px;padding:18px;border:1px solid rgba(111,171,235,.18);border-radius:18px;background:rgba(6,20,35,.58)}
.tp-settings-form h3,.tp-account-security h3{margin:0 0 12px;color:#f4f8ff}
.tp-settings-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.tp-settings-grid label{display:flex;flex-direction:column;gap:7px;color:#b8c7da;font-weight:700;font-size:.9rem}
.tp-settings-grid input,.tp-settings-grid select{width:100%;box-sizing:border-box;border:1px solid rgba(111,171,235,.24);background:#071524;color:#f4f8ff;border-radius:12px;padding:12px 13px;font:inherit}
.tp-settings-grid .full{grid-column:1/-1}
.tp-settings-grid .tp-check-label{flex-direction:row;align-items:center;align-self:end;min-height:45px}
.tp-settings-grid .tp-check-label input{width:auto}
.tp-settings-save-row{display:flex;align-items:center;gap:12px;margin-top:14px;color:#65e3a4;font-weight:800}
.tp-account-security p{color:#9fb0c6}
.tp-photo-only-upload{margin:20px 0}
.tp-photo-analysis-result{margin-top:18px}
@media(max-width:700px){
  .tp-settings-grid{grid-template-columns:1fr}
  .tp-settings-grid .full{grid-column:auto}
  .tp-settings-form,.tp-account-security{padding:14px;border-radius:15px}
  .tp-settings-save-row{align-items:stretch;flex-direction:column}
  .tp-settings-save-row .btn,.tp-account-security .btn{width:100%;text-align:center}
  .tp-photo-analysis-result{grid-template-columns:1fr!important}
}

/* V16.6 Photo Analysis Report */
.tp-photo-observations{margin-top:16px}
.tp-photo-observation{padding:12px 0;border-top:1px solid rgba(111,171,235,.15)}
.tp-photo-observation:first-of-type{border-top:0}
.tp-photo-observation p{margin:6px 0;color:#d7e4f2}
.tp-photo-observation small{color:#9fb0c6;display:block}
@media(max-width:700px){
  .quote-actions>div{display:flex;flex-direction:column;gap:8px;width:100%}
  .quote-actions>div .btn{width:100%}
}

/* V16.8 — Pro checkout card, settings polish, cleaner sidebar */
.tp-pro-checkout-card{margin:18px 0;padding:22px;border:1px solid rgba(47,150,255,.32);border-radius:22px;background:radial-gradient(circle at top right,rgba(47,150,255,.19),transparent 42%),linear-gradient(145deg,#081a2c,#07121f);box-shadow:0 18px 48px rgba(0,0,0,.22)}
.tp-pro-checkout-top{display:flex;justify-content:space-between;gap:18px;align-items:flex-start}
.tp-pro-checkout-top h3{margin:6px 0 7px;font-size:1.45rem;color:#fff}
.tp-pro-checkout-top p{margin:0;color:#9fb7cf;max-width:540px}
.tp-pro-kicker{color:#4ba7ff;font-weight:900;letter-spacing:.12em;font-size:.76rem}
.tp-pro-price{text-align:right;white-space:nowrap}.tp-pro-price strong{display:block;color:#fff;font-size:2rem}.tp-pro-price span{color:#9fb7cf}
.tp-pro-features{display:grid;grid-template-columns:1fr 1fr;gap:9px 18px;margin:20px 0;color:#d9e9f8}
.tp-pro-status{display:flex;gap:8px;align-items:center;flex-wrap:wrap;padding:12px 0;color:#9fb7cf}.tp-pro-status strong{color:#fff}.tp-pro-status em{font-style:normal;color:#70e0a0}
.tp-buy-now{width:100%;margin-top:10px;font-size:1.02rem;padding:14px 18px}
.tp-secure-checkout{display:block;text-align:center;color:#7891aa;margin-top:10px}
.tp-upgrade-gate{text-align:center;max-width:620px;margin:0 auto}.tp-upgrade-price{margin:18px 0}.tp-upgrade-price strong{font-size:2.4rem;color:#fff}.tp-upgrade-price span{color:#9fb7cf}
@media(max-width:700px){
  .tp-pro-checkout-top{flex-direction:column}
  .tp-pro-price{text-align:left}
  .tp-pro-features{grid-template-columns:1fr}
}

/* V16.9 final upgrade modal */
.tp-upgrade-modal{max-width:780px;margin:0 auto;padding:26px;border:1px solid rgba(47,150,255,.3);border-radius:24px;background:radial-gradient(circle at 70% 10%,rgba(47,150,255,.16),transparent 35%),#071523;box-shadow:0 24px 70px rgba(0,0,0,.42);text-align:center}
.tp-upgrade-modal h2{margin:8px 0;color:#fff;font-size:2rem}.tp-upgrade-modal h2 span{color:#42a6ff}.tp-upgrade-sub{color:#9fb4c9;margin:0 auto 22px}
.tp-plan-compare{display:grid;grid-template-columns:.85fr 1.15fr;gap:16px;text-align:left}
.tp-free-plan,.tp-paid-plan{display:flex;flex-direction:column;gap:9px;padding:22px;border-radius:18px;border:1px solid rgba(120,160,200,.2);background:rgba(7,22,37,.76)}
.tp-paid-plan{border-color:rgba(47,150,255,.5);box-shadow:inset 0 0 28px rgba(47,150,255,.08)}
.tp-free-plan small,.tp-paid-plan small{color:#55adff;font-weight:900;letter-spacing:.1em}.tp-free-plan h3,.tp-paid-plan h3{color:#fff;margin:0}.tp-free-plan strong{font-size:2rem;color:#fff}.tp-free-plan p,.tp-free-plan span,.tp-paid-plan span{color:#c9d9e8}
.tp-modal-price{display:flex;align-items:end;gap:7px}.tp-modal-price strong{font-size:2.45rem;color:#fff}.tp-modal-price span{color:#8fa6bc;padding-bottom:7px}
.tp-modal-buy{width:100%;margin-top:8px}.tp-payment-hints{display:flex;gap:8px;justify-content:center;margin-top:4px}.tp-payment-hints b{font-size:.76rem;padding:7px 10px;border:1px solid rgba(160,190,220,.22);border-radius:8px;color:#dceaf7;background:#091b2d}
.tp-modal-footer{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:18px;padding-top:16px;border-top:1px solid rgba(120,160,200,.16)}.tp-modal-footer small{color:#7891aa}
@media(max-width:700px){.tp-upgrade-modal{padding:18px}.tp-plan-compare{grid-template-columns:1fr}.tp-modal-footer{flex-direction:column-reverse}.tp-modal-footer .btn{width:100%}}


/* V16.15 mobile navigation + account modal hardening */
@media(max-width:680px){
  body.tp-app-mode.tp-mobile-drawer-open{overflow:hidden!important}

  body.tp-app-mode #tpMobileMenuBtn,
  body.tp-app-mode #tpMobileProfileBtn,
  body.tp-app-mode #tpMobileNewBtn{
    pointer-events:auto!important;
    touch-action:manipulation!important;
    position:relative!important;
    z-index:102!important;
  }

  body.tp-app-mode #tpMobileDrawer{
    pointer-events:auto!important;
    visibility:visible!important;
  }

  body.tp-app-mode #tpMobileDrawer.open{
    transform:translateX(0)!important;
    visibility:visible!important;
  }

  body.tp-app-mode #tpMobileBackdrop.open{
    display:block!important;
    pointer-events:auto!important;
  }

  body.tp-app-mode>.tp-profile-menu.open,
  body.tp-app-mode .tp-profile-menu.mobile-panel.open{
    display:block!important;
    visibility:visible!important;
    pointer-events:auto!important;
    z-index:1200!important;
  }

  #modal[open]{
    width:min(94vw,620px)!important;
    max-width:94vw!important;
    max-height:88dvh!important;
    overflow:auto!important;
    margin:auto!important;
    border-radius:18px!important;
  }

  #modalContent{
    max-width:100%!important;
    overflow-x:hidden!important;
  }

  #modalContent .tp-settings-grid{
    grid-template-columns:1fr!important;
  }

  #modalContent .tp-settings-grid .full{
    grid-column:auto!important;
  }
}
\n\n/* ===== V16.17 DESKTOP ACCOUNT MODAL + LOGOUT POLISH ===== */\n@media (min-width:681px){\n  body.tp-app-mode #modal[open]{\n    width:min(760px,88vw)!important;\n    max-width:760px!important;\n    max-height:84vh!important;\n    padding:30px 34px!important;\n    border-radius:20px!important;\n    overflow:auto!important;\n  }\n  body.tp-app-mode #modal #modalContent{\n    width:100%!important;\n    max-width:none!important;\n    box-sizing:border-box!important;\n  }\n  body.tp-app-mode #modal #modalContent .tp-settings-grid{\n    grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;\n    gap:14px!important;\n  }\n  body.tp-app-mode #modal #modalContent .tp-settings-grid .full{grid-column:1/-1!important;}\n  body.tp-app-mode #modal .tp-settings-form,\n  body.tp-app-mode #modal .tp-account-security{padding:20px!important;}\n}\n

/* ===== V16.18 FINAL SETTINGS POLISH ===== */
@media (min-width:681px){
  #modal[open]:has(#tpBusinessSettingsForm){
    width:min(900px,92vw)!important;
    max-width:900px!important;
    max-height:86vh!important;
    border-radius:18px!important;
    overflow:auto!important;
  }

  #modal[open]:has(#tpBusinessSettingsForm) #modalContent{
    width:100%!important;
    max-width:none!important;
    box-sizing:border-box!important;
    padding:28px!important;
  }

  #modal[open]:has(#tpBusinessSettingsForm) .tp-settings-form{
    display:grid!important;
    grid-template-columns:1.35fr .9fr!important;
    gap:18px!important;
    padding:0!important;
    border:0!important;
    background:transparent!important;
  }

  #modal[open]:has(#tpBusinessSettingsForm) .tp-settings-form > h3:first-of-type{
    grid-column:1/-1!important;
    margin:0!important;
    padding:16px 20px!important;
    border-radius:13px 13px 0 0!important;
    background:linear-gradient(90deg,#1478df,#20a7ff)!important;
    color:#fff!important;
    font-size:1.08rem!important;
    box-shadow:0 8px 24px rgba(28,148,255,.18)!important;
  }

  #modal[open]:has(#tpBusinessSettingsForm) .tp-settings-grid:first-of-type{
    grid-column:1/-1!important;
    margin-top:-18px!important;
    padding:22px 20px 20px!important;
    border:1px solid rgba(80,157,230,.22)!important;
    border-top:0!important;
    border-radius:0 0 13px 13px!important;
    background:rgba(7,24,40,.66)!important;
    grid-template-columns:1fr 1fr!important;
    gap:14px 18px!important;
  }

  #modal[open]:has(#tpBusinessSettingsForm) .tp-settings-form > h3:nth-of-type(2){
    grid-column:1/2!important;
    margin:0!important;
    padding:15px 18px 0!important;
    border:1px solid rgba(80,157,230,.18)!important;
    border-bottom:0!important;
    border-radius:13px 13px 0 0!important;
    background:rgba(7,24,40,.66)!important;
  }

  #modal[open]:has(#tpBusinessSettingsForm) .tp-settings-grid:nth-of-type(2){
    grid-column:1/2!important;
    padding:14px 18px 18px!important;
    border:1px solid rgba(80,157,230,.18)!important;
    border-top:0!important;
    border-radius:0 0 13px 13px!important;
    background:rgba(7,24,40,.66)!important;
    grid-template-columns:1fr 1fr!important;
  }

  #modal[open]:has(#tpBusinessSettingsForm) .tp-settings-save-row{
    grid-column:1/2!important;
    margin-top:0!important;
  }

  #modal[open]:has(#tpBusinessSettingsForm) .tp-language-card{
    grid-column:2/3!important;
    grid-row:3/6!important;
    align-self:start!important;
    margin:0!important;
    padding:18px!important;
    border:1px solid rgba(80,157,230,.18)!important;
    border-radius:13px!important;
    background:rgba(7,24,40,.66)!important;
  }

  #modal[open]:has(#tpBusinessSettingsForm) .tp-settings-grid input,
  #modal[open]:has(#tpBusinessSettingsForm) .tp-settings-grid select{
    min-height:46px!important;
  }
}

@media (max-width:680px){
  #modal[open]:has(#tpBusinessSettingsForm){
    width:min(94vw,620px)!important;
    max-width:94vw!important;
    max-height:88dvh!important;
  }
  #modal[open]:has(#tpBusinessSettingsForm) .tp-settings-form{
    display:block!important;
  }
  #modal[open]:has(#tpBusinessSettingsForm) .tp-settings-form > h3:first-of-type{
    margin-top:0!important;
    padding:14px 16px!important;
    border-radius:12px 12px 0 0!important;
    background:linear-gradient(90deg,#1478df,#20a7ff)!important;
    color:#fff!important;
  }
  #modal[open]:has(#tpBusinessSettingsForm) .tp-settings-grid:first-of-type{
    margin-top:0!important;
    padding-top:16px!important;
    border-radius:0 0 12px 12px!important;
  }
}


/* ===== V16.22 AUTH WORKSPACE VISIBILITY ROOT FIX ===== */
/* The dashboard exists in index.html for authenticated users, but MUST be physically
   hidden while the body is in public/logged-out mode. This overrides legacy mobile
   .tp-app display rules that could otherwise reveal an empty dashboard after logout. */
body:not(.tp-app-mode) #appWorkspace,
body:not(.tp-app-mode) > #appWorkspace,
body:not(.tp-app-mode) .tp-app#appWorkspace{
  display:none!important;
  visibility:hidden!important;
  opacity:0!important;
  pointer-events:none!important;
}

/* Only authenticated app mode may show the workspace. */
body.tp-app-mode #appWorkspace{
  visibility:visible!important;
  opacity:1!important;
  pointer-events:auto!important;
}

@media(max-width:680px){
  body:not(.tp-app-mode) #appWorkspace{
    display:none!important;
    visibility:hidden!important;
    opacity:0!important;
    pointer-events:none!important;
    transform:none!important;
  }
}

/* V17 production polish: concise first-run guidance */
.tp-getting-started{display:flex;align-items:center;justify-content:space-between;gap:18px;margin:0 0 14px;padding:15px 17px;border:1px solid rgba(45,139,255,.28);border-radius:10px;background:linear-gradient(120deg,rgba(21,105,205,.13),rgba(10,20,31,.96));box-sizing:border-box}
.tp-getting-started div{display:grid;gap:4px}.tp-getting-started span{font-size:8px;font-weight:800;letter-spacing:.14em;color:#4199ff}.tp-getting-started strong{font-size:12px;color:#eef6ff}.tp-getting-started small{font-size:9px;color:#7f91a6;line-height:1.5}
@media(max-width:700px){.tp-getting-started{align-items:flex-start;flex-direction:column;padding:14px}.tp-getting-started small{font-size:10px}.tp-getting-started .tp-primary-btn{display:block!important;width:100%}}
\n\n/* ===== V17.1 MOBILE RELEASE FIXES ===== */\n@media (max-width:760px){\n  body.tp-app-mode .tp-mobile-topbar{display:grid!important;grid-template-columns:40px minmax(0,1fr) auto 36px!important;align-items:center!important;gap:6px!important;padding:8px 8px!important;overflow:hidden!important}\n  body.tp-app-mode .tp-mobile-brand{min-width:0!important;overflow:hidden!important;gap:5px!important}\n  body.tp-app-mode .tp-mobile-brand>.tp-unified-mark{width:28px!important;min-width:28px!important;height:28px!important;flex-basis:28px!important;font-size:11px!important}\n  body.tp-app-mode .tp-mobile-brand>.tp-mobile-brand-name{min-width:0!important;font-size:10px!important;letter-spacing:0!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}\n  body.tp-app-mode .tp-mobile-new{min-width:0!important;height:36px!important;padding:0 7px!important;font-size:10px!important}\n  body.tp-app-mode #tpMobileProfileBtn{width:36px!important;min-width:36px!important;height:36px!important}\n  #newQuoteForm.quote-form{overflow:hidden!important}\n  #newQuoteForm .full{min-width:0!important;width:100%!important}\n  #newQuoteForm .photo-previews img{display:block!important;max-width:100%!important;height:auto!important;object-fit:cover!important}\n}\n/* ===== V17.1 MOBILE RELEASE FIXES END ===== */\n

/* V17.2 — keep the Quote reference clearly visible on desktop and mobile */
.tp-quote-reference{display:flex;align-items:center;justify-content:space-between;gap:14px;margin:12px 0 4px;padding:12px 14px;border:1px solid rgba(79,163,255,.28);border-radius:12px;background:rgba(28,111,201,.10)}
.tp-quote-reference span{color:#9fb0c6;font-size:.82rem;font-weight:700}
.tp-quote-reference strong{color:#f4f8ff;font-size:1rem;letter-spacing:.04em;overflow-wrap:anywhere;text-align:right}
@media(max-width:680px){.tp-quote-reference{align-items:flex-start;flex-direction:column;gap:4px}.tp-quote-reference strong{text-align:left}}


/* ===== V17.4 UI STABILITY FIXES ===== */
html.tp-app-boot body{opacity:0!important;background:#07111b!important}
html.tp-app-boot body *{transition:none!important}
/* Hide profile dropdown immediately once aria-hidden flips, preventing a logout/settings flash. */
.tp-profile-menu[aria-hidden="true"]{opacity:0!important;visibility:hidden!important;pointer-events:none!important;transition:none!important}
/* Stable image boxes for normalised mobile/HEIC previews. */
.photo-previews img{background:#0a1724;object-fit:cover}
/* ===== V17.4 UI STABILITY FIXES END ===== */

/* V17.9 Photo Analysis controls */
.tp-photo-request{display:block;margin:20px 0}.tp-photo-request strong,.tp-photo-request small{display:block}.tp-photo-request small{color:#9fb0c6;margin:7px 0 10px}.tp-photo-request textarea{width:100%;box-sizing:border-box;resize:vertical;min-height:92px;border:1px solid #29445f;border-radius:12px;background:#071827;color:#eef6ff;padding:13px;font:inherit}.tp-photo-cost-field{display:flex;align-items:center;justify-content:space-between;gap:14px;margin:10px 0;color:#c9d7e5}.tp-photo-cost-field input{width:120px;border:1px solid #29445f;border-radius:9px;background:#071827;color:#fff;padding:9px 10px;font:inherit}.tp-photo-pdf-cost-toggle{display:flex;gap:10px;align-items:flex-start;margin-top:18px;padding:13px;border:1px solid #29445f;border-radius:12px;background:#0a2033}.tp-photo-pdf-cost-toggle input{margin-top:4px}.tp-photo-pdf-cost-toggle span,.tp-photo-pdf-cost-toggle small{display:block}.tp-photo-pdf-cost-toggle small{color:#9fb0c6;margin-top:4px}@media(max-width:640px){.tp-photo-cost-field input{width:105px}}

/* V17.9.3 — mobile drawer Support/Settings spacing fix */
@media (max-width: 820px){
  .tp-mobile-drawer nav{
    padding-bottom: 190px !important;
  }
  .tp-mobile-drawer nav #tpMobileSupport{
    margin-top: 4px !important;
  }
  .tp-mobile-drawer-account{
    background:#09131f !important;
    padding-top:16px !important;
    border-top:1px solid #1a293a !important;
  }
}


/* V17.9.4 — Support icon + mobile brand polish (UI only) */
.tp-support-icon-wrap{display:inline-grid!important;place-items:center!important;width:28px!important;height:28px!important;min-width:28px!important;border-radius:50%!important;background:linear-gradient(145deg,#258cff,#0968dc)!important;box-shadow:0 5px 16px rgba(37,140,255,.28)!important}
.tp-support-icon{width:17px;height:17px;fill:none;stroke:#fff;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
.tp-app-navbtn.tp-support-navbtn{gap:10px!important}
.tp-support-title{display:flex;gap:14px;align-items:center;margin:0 0 18px}.tp-support-title h2{margin:0 0 5px}.tp-support-title p{margin:0;color:#9fb0c6}.tp-support-hero{display:grid;place-items:center;width:58px;height:58px;min-width:58px;border-radius:50%;background:linear-gradient(145deg,#258cff,#0968dc);box-shadow:0 10px 28px rgba(37,140,255,.28)}.tp-support-hero .tp-support-icon{width:31px;height:31px;stroke-width:1.7}.tp-support-email{padding:15px 16px;border:1px solid #22364b;border-radius:12px;background:#0b1a2a;margin-bottom:14px}.tp-support-email strong,.tp-support-email a{display:block}.tp-support-email strong{color:#c9d7e5;margin-bottom:5px}.tp-support-email a{color:#4da6ff;text-decoration:none;word-break:break-word}.tp-support-email-btn,.tp-support-copy-btn{box-sizing:border-box;width:100%;display:block;text-align:center;font:inherit;font-weight:800;border-radius:10px;padding:13px 16px;text-decoration:none}.tp-support-email-btn{color:#fff;background:linear-gradient(135deg,#258cff,#1d73f0);border:0;margin-bottom:10px}.tp-support-copy-btn{color:#eaf4ff;background:#0a1724;border:1px solid #42566c;cursor:pointer}
@media(max-width:820px){
  .tp-mobile-drawer #tpMobileSupport{display:flex!important;align-items:center!important;gap:12px!important;padding-left:0!important}
  .tp-mobile-drawer #tpMobileSupport>.tp-support-icon-wrap{width:30px!important;height:30px!important;min-width:30px!important}
  .tp-mobile-drawer-head .tp-mobile-drawer-identity>.tp-unified-mark{width:42px!important;height:42px!important;min-width:42px!important;border-radius:11px!important}
  .tp-mobile-drawer-head strong{font-size:17px!important;letter-spacing:0!important;text-transform:none!important}
}

/* V17.9.5 — mobile Support containment + drawer header lift (UI only) */
@media(max-width:820px){
  .tp-mobile-drawer-head{padding-top:0!important;transform:translateY(-4px)!important}
  .tp-mobile-drawer nav #tpMobileSupport{box-sizing:border-box!important;width:100%!important;min-width:0!important;padding:0 10px!important;overflow:hidden!important}
  .tp-mobile-drawer #tpMobileSupport>.tp-support-icon-wrap{flex:0 0 30px!important;margin:0!important}
}

/* ===== V18.2 KELVQO MOBILE ROOT LANDING FIX =====
   V7 legacy mobile auth CSS hid every <main> element for logged-out users.
   The V15 public site now uses a real landing page and standalone /login route,
   so the legacy full-screen mobile auth gate must not hide the landing page. */
@media (max-width:680px){
  body.v15-public:not(.tp-app-mode) > main.v15-landing{
    visibility:visible!important;
    display:block!important;
  }
  body.v15-public:not(.tp-app-mode) > header.v15-nav,
  body.v15-public:not(.tp-app-mode) > footer.v15-footer{
    visibility:visible!important;
  }
  body.v15-public:not(.tp-app-mode) .tp-mobile-auth{
    display:none!important;
    visibility:hidden!important;
    pointer-events:none!important;
  }
}
/* ===== V18.2 KELVQO MOBILE ROOT LANDING FIX END ===== */

/* ===== V18.8 MOBILE MENU FINAL — STRUCTURAL FIX =====
   Scope: #tpMobileDrawer only. Dashboard/main content untouched.
   All mobile drawer actions are now in one DOM nav so they cannot overlap/reorder. */
@media (max-width:820px){
  body.tp-app-mode #tpMobileDrawer.tp-mobile-drawer{
    display:flex!important;
    flex-direction:column!important;
    position:fixed!important;
    left:0!important; top:0!important; bottom:0!important;
    width:min(86vw,340px)!important;
    height:100dvh!important;
    max-height:100dvh!important;
    padding:18px 16px max(16px,env(safe-area-inset-bottom))!important;
    box-sizing:border-box!important;
    overflow-y:auto!important;
    overflow-x:hidden!important;
    background:#09131f!important;
    border-right:1px solid #203247!important;
    -webkit-overflow-scrolling:touch!important;
  }
  body.tp-app-mode #tpMobileDrawer .tp-mobile-drawer-head{
    flex:0 0 auto!important;
    display:flex!important;
    align-items:flex-start!important;
    justify-content:space-between!important;
    margin:0!important;
    padding:2px 2px 14px!important;
    border-bottom:0!important;
    transform:none!important;
  }
  body.tp-app-mode #tpMobileDrawer .tp-mobile-drawer-identity{
    display:flex!important; align-items:center!important; gap:12px!important;
  }
  body.tp-app-mode #tpMobileDrawer .tp-mobile-drawer-identity>.tp-unified-mark{
    width:42px!important; height:42px!important; min-width:42px!important; border-radius:11px!important;
  }
  body.tp-app-mode #tpMobileDrawer .tp-mobile-drawer-nav{
    display:flex!important;
    flex-direction:column!important;
    align-items:stretch!important;
    gap:2px!important;
    position:static!important;
    flex:0 0 auto!important;
    width:100%!important;
    min-height:0!important;
    margin:0!important;
    padding:6px 0 4px!important;
    overflow:visible!important;
    background:transparent!important;
    border:0!important;
  }
  body.tp-app-mode #tpMobileDrawer .tp-mobile-drawer-nav>button{
    position:static!important;
    display:flex!important;
    align-items:center!important;
    gap:12px!important;
    width:100%!important;
    height:46px!important;
    min-height:46px!important;
    margin:0!important;
    padding:0 10px!important;
    box-sizing:border-box!important;
    border:0!important;
    border-radius:9px!important;
    background:transparent!important;
    color:#d9e5f2!important;
    text-align:left!important;
    font-size:14px!important;
    transform:none!important;
  }
  body.tp-app-mode #tpMobileDrawer .tp-mobile-drawer-nav>button:hover{
    background:#102033!important;
  }
  body.tp-app-mode #tpMobileDrawer .tp-mobile-drawer-nav #tpMobileSupport{
    margin-top:5px!important;
    min-height:50px!important;
    height:50px!important;
    border:1px solid rgba(37,140,255,.34)!important;
    background:rgba(15,35,54,.58)!important;
  }
  body.tp-app-mode #tpMobileDrawer #tpMobileSupport>.tp-support-icon-wrap{
    width:30px!important; height:30px!important; min-width:30px!important; flex:0 0 30px!important;
  }
  body.tp-app-mode #tpMobileDrawer .tp-mobile-drawer-separator{
    display:block!important;
    width:100%!important;
    height:1px!important;
    flex:0 0 1px!important;
    margin:8px 0 6px!important;
    background:#1a293a!important;
  }
  body.tp-app-mode #tpMobileDrawer #tpMobileLogout{
    color:#ff5b5b!important;
  }
  body.tp-mobile-drawer-open .tp-assistant-launcher{
    visibility:hidden!important;
    pointer-events:none!important;
  }
}
/* ===== V18.8 MOBILE MENU FINAL — STRUCTURAL FIX END ===== */
