/* Varada Nexus — Professional Tools widget styles.
   Inherits the site's design tokens from site.css (:root --bg/--gold/--font etc.).
   All classes namespaced vt- to avoid collision with site.css. Content uses the site's .wrap. */
.vt-main{padding:calc(var(--nav-h,56px) + 30px) 0 40px}
.vt-h1{font-family:var(--font-serif);font-size:clamp(1.7rem,3.6vw,2.5rem);line-height:1.1;margin:0 0 .3em;
  background:var(--grad-head);-webkit-background-clip:text;background-clip:text;color:transparent}
.vt-sub{color:var(--text-2);margin:0 0 22px;max-width:70ch}
.vt-card{background:linear-gradient(180deg,rgba(120,165,255,.07),rgba(120,165,255,.02));border:1px solid var(--border-soft);border-radius:var(--radius);padding:24px 26px;margin-bottom:18px;position:relative;overflow:hidden;box-shadow:var(--shadow-soft)}
.vt-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.vt-cards{display:grid;grid-template-columns:1fr 1fr 1fr;gap:16px}
@media(max-width:720px){.vt-grid,.vt-cards{grid-template-columns:1fr}}
.vt-label{display:block;font-weight:600;font-size:.86rem;margin:0 0 6px;color:var(--text-2)}
.vt-card input,.vt-card select,.vt-card textarea{width:100%;padding:11px 13px;border:1px solid var(--border);border-radius:12px;
  font-size:1rem;background:var(--surface);color:var(--text);font-family:inherit}
/* Native dropdown option popup needs a solid bg — the translucent select bg
   made the OS popup render light option text on a white fallback (invisible). */
.vt-card select option,.vt-card select optgroup,select option,select optgroup{background-color:#0d1a33;color:#f2f6fd}
.vt-card textarea{min-height:84px;resize:vertical}
.vt-card input::placeholder,.vt-card textarea::placeholder{color:var(--text-3)}
.vt-hint{font-size:.78rem;color:var(--text-3);margin-top:4px}
.vt-btn{background:var(--grad-gold);color:#1a1206;border:0;padding:13px 22px;border-radius:14px;font-size:1rem;font-weight:800;cursor:pointer;width:100%;margin-top:10px;font-family:var(--font)}
.vt-btn:hover{filter:brightness(1.06)}
.vt-btn-row{display:flex;gap:10px;flex-wrap:wrap;margin-top:12px}
.vt-btn-row .vt-btn{width:auto;flex:1;min-width:150px;margin-top:0}
.vt-btn.sec{background:var(--surface-2);color:var(--text);border:1px solid var(--border)}
.vt-btn.wa{background:#25d366;color:#04310f}
.vt-results{display:none}.vt-results.show{display:block}
.vt-kpis{display:grid;grid-template-columns:1fr 1fr 1fr;gap:12px}
@media(max-width:720px){.vt-kpis{grid-template-columns:1fr}}
.vt-kpi{background:var(--surface);border:1px solid var(--border-soft);border-radius:14px;padding:13px 15px}
.vt-kpi span{display:block;font-size:.76rem;color:var(--text-3)}.vt-kpi b{font-size:1.2rem;color:var(--gold)}
.vt-table{width:100%;border-collapse:collapse;margin-top:12px;font-size:.94rem;color:var(--text-2)}
.vt-table th,.vt-table td{text-align:left;padding:9px 8px;border-bottom:1px solid var(--border-soft)}
.vt-table .num{text-align:right}
.vt-table tr.total td{font-weight:800;color:var(--gold);border-top:1px solid var(--border-gold);border-bottom:none}
.vt-tool-card{display:block;text-decoration:none;color:inherit;background:var(--bg-panel);border:1px solid var(--border);border-radius:18px;padding:18px;transition:border-color .25s,transform .25s}
.vt-tool-card:hover{border-color:var(--border-gold);transform:translateY(-2px)}.vt-tool-card b{color:var(--text);font-size:1.05rem}
.vt-note{background:var(--gold-soft);border:1px solid var(--border-gold);border-radius:12px;padding:14px 16px;font-size:.85rem;color:var(--text-2);margin-top:8px}
.vt-disc{font-size:.78rem;color:var(--text-3);margin-top:14px}
.vt-ok{display:none;background:rgba(37,211,102,.12);border:1px solid rgba(37,211,102,.4);color:#7ee6a6;padding:12px;border-radius:12px;margin-top:10px}.vt-ok.show{display:block}
.vt-cta{position:relative;overflow:hidden;background:linear-gradient(180deg,var(--bg-elev),var(--bg-panel));border:1px solid var(--border-gold);border-radius:var(--radius);padding:30px 24px;text-align:center;box-shadow:var(--shadow-soft)}
.vt-cta::before{content:"";position:absolute;inset:0;background:radial-gradient(600px 200px at 50% -40%,var(--gold-soft),transparent 70%);pointer-events:none}
.vt-cta h3{margin:0 0 6px;font-family:var(--font-serif);font-size:1.4rem;color:var(--text);position:relative}
.vt-cta p{margin:0 0 4px;color:var(--text-2);font-size:.92rem;position:relative}
.vt-cta a{position:relative;display:inline-block;background:var(--grad-gold);color:#1a1206;font-weight:800;text-decoration:none;padding:12px 26px;border-radius:14px;margin-top:12px}
.vt-cta a:hover{filter:brightness(1.06)}
.vt-crumb{font-size:.84rem;color:var(--text-3);margin-bottom:12px}.vt-crumb a{color:var(--accent);text-decoration:none}
.vt-tools-top{display:grid;grid-template-columns:minmax(0,1fr) minmax(300px,370px);gap:48px;align-items:end;margin-bottom:4px}.vt-tools-top .sub{margin-bottom:0}
.vt-tool-search{position:relative;align-self:center;padding:18px;border:1px solid rgba(230,200,126,.22);background:linear-gradient(145deg,rgba(230,200,126,.09),rgba(5,6,9,.76));border-radius:3px;box-shadow:0 18px 48px rgba(0,0,0,.28)}
.vt-tool-search label{display:block;margin:0 0 9px;color:var(--gold);font-size:10px;font-weight:800;letter-spacing:.22em;text-transform:uppercase}.vt-tool-search-row{display:flex;gap:8px}.vt-tool-search input{min-width:0;width:100%;padding:12px 13px;border:1px solid rgba(230,200,126,.21);background:rgba(5,6,9,.85);color:var(--text);border-radius:2px;font:inherit;outline:0}.vt-tool-search input:focus{border-color:rgba(230,200,126,.65);box-shadow:0 0 0 4px rgba(230,200,126,.08)}
.vt-tool-search button{border:0;border-radius:2px;padding:0 14px;background:var(--grad-gold);color:#0a0805;font:800 10px/1 var(--font);letter-spacing:.13em;text-transform:uppercase;cursor:pointer}.vt-tool-search-results{position:absolute;z-index:10;left:18px;right:18px;top:calc(100% - 12px);overflow:hidden;border:1px solid rgba(230,200,126,.25);background:#0b0c10;box-shadow:0 20px 45px rgba(0,0,0,.5)}.vt-tool-search-results a{display:block;padding:12px 14px;border-bottom:1px solid rgba(230,200,126,.1);color:var(--text);font-size:13px;text-decoration:none}.vt-tool-search-results a:last-child{border-bottom:0}.vt-tool-search-results a:hover{background:rgba(230,200,126,.1);color:var(--gold)}
.vt-main .card::after{display:none!important}
.vt-card details{border-bottom:1px solid var(--border-soft);padding:11px 0}.vt-card summary{font-weight:600;cursor:pointer;color:var(--text)}
.vt-card details p{color:var(--text-2)}
.vt-chapter{margin:16px 0 4px;color:var(--gold);font-weight:700}
.vt-chk{display:flex;gap:12px;align-items:center;justify-content:space-between;padding:9px 0;border-bottom:1px solid var(--border-soft)}
.vt-chk label{margin:0;font-weight:500;flex:1;color:var(--text-2)}.vt-chk select{width:200px;flex:none}
.vt-crit{color:#ff9d9d;font-size:.68rem;font-weight:800;text-transform:uppercase;margin-left:6px}
#vt-notes .gap{background:rgba(255,120,120,.1);border:1px solid rgba(255,120,120,.35);color:#ffbcbc;padding:11px 13px;border-radius:11px;margin-top:8px;font-size:.85rem}
@media(max-width:720px){.vt-chk{flex-direction:column;align-items:stretch;gap:6px}.vt-chk select{width:100%}}
@media(max-width:720px){.vt-tools-top{grid-template-columns:1fr;gap:24px}.vt-tool-search{max-width:none}.vt-tool-search-results{left:0;right:0;top:calc(100% + 4px)}}

/* Transporter trip profitability calculator */
.profit-section-title{display:flex;align-items:end;justify-content:space-between;gap:16px;margin:4px 0 14px}.profit-section-title h2{margin:0;font:700 clamp(1.15rem,2vw,1.4rem)/1.2 var(--font-serif);color:var(--text)}.profit-section-title p{margin:4px 0 0;color:var(--text-3);font-size:.82rem}.profit-form-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.profit-field label,.profit-repeater-row label{display:block;margin:0 0 5px;color:var(--text-2);font-size:.78rem;font-weight:650}.profit-repeater{display:grid;gap:10px}.profit-repeater-row{display:grid;gap:10px;align-items:end;padding:13px;border:1px solid var(--border-soft);border-radius:14px;background:rgba(5,6,9,.2)}.commodity-row{grid-template-columns:1.25fr repeat(3,minmax(120px,.8fr)) auto}.expense-row{grid-template-columns:1.4fr .8fr 1fr auto}.row-remove{height:43px;padding:0 12px;border:1px solid rgba(255,120,120,.32);border-radius:10px;background:rgba(255,120,120,.08);color:#ffbcbc;cursor:pointer}.row-remove:hover{background:rgba(255,120,120,.16)}.profit-add{width:auto;margin:12px 0 0;padding:10px 15px;background:var(--surface-2);color:var(--text);border:1px solid var(--border);border-radius:11px;font:700 .82rem var(--font);cursor:pointer}.profit-errors{margin:12px 0 0;padding:12px 14px;border:1px solid rgba(255,120,120,.4);border-radius:12px;background:rgba(255,120,120,.1);color:#ffbcbc;font-size:.85rem}.profit-summary{display:flex;flex-wrap:wrap;gap:8px;margin:4px 0 16px}.profit-summary span{padding:8px 11px;border:1px solid var(--border-soft);border-radius:99px;background:var(--surface);color:var(--text-3);font-size:.78rem}.profit-summary b{color:var(--text-2)}.profit-details{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:16px}.profit-details div{padding:12px 14px;border:1px solid var(--border-soft);border-radius:12px;background:var(--surface)}.profit-details span{display:block;color:var(--text-3);font-size:.74rem}.profit-details b{color:var(--text);font-size:1rem}.vt-kpi.positive{border-color:rgba(37,211,102,.4);background:rgba(37,211,102,.08)}.vt-kpi.positive b{color:#7ee6a6}.vt-kpi.negative{border-color:rgba(255,120,120,.4);background:rgba(255,120,120,.08)}.vt-kpi.negative b{color:#ffbcbc}.profit-table-wrap{overflow-x:auto}.profit-calculation-note{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:14px}.profit-calculation-note>div{padding:13px;border-left:3px solid var(--gold);background:var(--gold-soft);color:var(--text-2);font-size:.82rem}.profit-calculation-note code{color:var(--gold);white-space:normal}.profit-actions{display:flex;gap:10px;flex-wrap:wrap}.profit-actions .vt-btn{width:auto;flex:1;min-width:180px}
.brokerage-row{grid-template-columns:1.2fr repeat(5,minmax(120px,1fr)) auto}.brokerage-row small{display:block;margin-top:4px;color:var(--text-3);font-size:.68rem}
@media(max-width:900px){.profit-form-grid{grid-template-columns:1fr 1fr}.commodity-row,.brokerage-row{grid-template-columns:1fr 1fr}.expense-row{grid-template-columns:1fr 1fr}.row-remove{grid-column:1/-1}.profit-details{grid-template-columns:1fr 1fr}}
@media(max-width:600px){.profit-form-grid,.commodity-row,.brokerage-row,.expense-row,.profit-details,.profit-calculation-note{grid-template-columns:1fr}.profit-section-title{align-items:start;flex-direction:column}.profit-actions .vt-btn{min-width:100%}}
