/* Lifeved Utility — Shared Tool Styles */
:root{
  --bg:#0f172a;--surface:#1e293b;--surface2:#334155;
  --ink:#f1f5f9;--ink2:#cbd5e1;--ink3:#94a3b8;--ink4:#64748b;
  --accent:#10b981;--accent2:#34d399;--accent-dim:rgba(16,185,129,.12);
  --radius:14px;--radius-sm:10px;
  --tool-accent:#10b981;
  --font:'Inter',system-ui,-apple-system,sans-serif;
  --transition:all .2s ease;
}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}
html{scroll-behavior:smooth;}
body.lv-tool-body{
  font-family:var(--font);color:var(--ink);
  background:var(--bg);
  background-image:radial-gradient(ellipse 900px 400px at 50% -50px,rgba(16,185,129,.08),transparent 60%);
  min-height:100vh;padding-bottom:80px;
  -webkit-font-smoothing:antialiased;
}

/* Header */
.lv-tool-header{
  position:sticky;top:0;z-index:1000;
  background:rgba(15,23,42,.92);backdrop-filter:blur(12px);
  border-bottom:1px solid rgba(255,255,255,.06);
  padding:12px 16px;
}
.lv-tool-header-in{
  max-width:900px;margin:0 auto;
  display:flex;align-items:center;gap:12px;
}
.lv-back{
  display:inline-flex;align-items:center;gap:4px;
  color:var(--ink3);text-decoration:none;font-size:.82rem;font-weight:500;
  transition:color .2s;flex-shrink:0;
}
.lv-back:hover{color:var(--accent);}
.lv-back svg{width:18px;height:18px;}
.lv-tool-title-area{display:flex;align-items:center;gap:8px;flex:1;min-width:0;}
.lv-tool-icon{font-size:1.4rem;line-height:1;}
.lv-tool-h1{font-size:1.05rem;font-weight:700;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.lv-lang-toggle{
  background:var(--accent-dim);border:1px solid rgba(16,185,129,.3);
  color:var(--accent2);border-radius:20px;padding:6px 12px;
  font-size:.75rem;font-weight:600;cursor:pointer;flex-shrink:0;
  transition:var(--transition);
}
.lv-lang-toggle:hover{background:rgba(16,185,129,.2);border-color:var(--accent);}

/* Main */
.lv-tool-main{
  max-width:900px;margin:0 auto;padding:24px 16px;
}

/* Disclaimer */
.lv-disclaimer{
  background:rgba(245,158,11,.08);border:1px solid rgba(245,158,11,.25);
  border-radius:var(--radius-sm);padding:12px 16px;margin-bottom:20px;
  font-size:.82rem;color:#fbbf24;line-height:1.6;
}

/* Save notice */
.lv-save-notice{
  max-width:900px;margin:20px auto 0;padding:0 16px;
  font-size:.78rem;color:var(--ink4);text-align:center;
}

/* Form Elements */
.lv-card{
  background:var(--surface);border:1px solid rgba(255,255,255,.06);
  border-radius:var(--radius);padding:24px;margin-bottom:20px;
}
.lv-card-title{
  font-size:1rem;font-weight:700;color:var(--ink);margin-bottom:16px;
  display:flex;align-items:center;gap:8px;
}
.lv-form-group{margin-bottom:16px;}
.lv-form-group label{
  display:block;font-size:.82rem;font-weight:600;color:var(--ink2);margin-bottom:6px;
}
.lv-form-group input,
.lv-form-group select,
.lv-form-group textarea{
  width:100%;padding:12px 14px;
  background:rgba(15,23,42,.6);border:1px solid rgba(255,255,255,.1);
  border-radius:var(--radius-sm);color:var(--ink);font-size:.92rem;
  font-family:var(--font);transition:border-color .2s;
}
.lv-form-group input:focus,
.lv-form-group select:focus,
.lv-form-group textarea:focus{
  outline:none;border-color:var(--tool-accent);
  box-shadow:0 0 0 3px rgba(16,185,129,.12);
}
.lv-form-group input::placeholder{color:var(--ink4);}
.lv-form-row{display:grid;grid-template-columns:1fr 1fr;gap:12px;}
@media(max-width:500px){.lv-form-row{grid-template-columns:1fr;}}

/* Buttons */
.lv-btn{
  display:inline-flex;align-items:center;justify-content:center;gap:8px;
  padding:13px 24px;border:none;border-radius:50px;
  font-size:.88rem;font-weight:700;cursor:pointer;
  transition:var(--transition);text-decoration:none;
}
.lv-btn-primary{
  background:linear-gradient(135deg,var(--accent2),var(--accent));
  color:#022c22;box-shadow:0 4px 16px rgba(16,185,129,.25);
}
.lv-btn-primary:hover{transform:translateY(-1px);box-shadow:0 6px 24px rgba(16,185,129,.35);}
.lv-btn-secondary{
  background:var(--accent-dim);border:1px solid rgba(16,185,129,.3);
  color:var(--accent2);
}
.lv-btn-secondary:hover{background:rgba(16,185,129,.18);}
.lv-btn-danger{
  background:rgba(239,68,68,.1);border:1px solid rgba(239,68,68,.3);
  color:#fca5a5;
}
.lv-btn-danger:hover{background:rgba(239,68,68,.18);}
.lv-btn-row{display:flex;flex-wrap:wrap;gap:10px;margin-top:16px;}

/* Results */
.lv-result{
  background:linear-gradient(135deg,rgba(16,185,129,.06),rgba(15,23,42,.8));
  border:1px solid rgba(16,185,129,.2);border-radius:var(--radius);
  padding:24px;margin-top:20px;
}
.lv-result-label{font-size:.78rem;color:var(--ink3);text-transform:uppercase;letter-spacing:1px;margin-bottom:4px;}
.lv-result-value{font-size:1.8rem;font-weight:800;color:var(--accent2);margin-bottom:4px;}
.lv-result-sub{font-size:.85rem;color:var(--ink3);}
.lv-result-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:16px;margin-top:16px;}
.lv-result-item{text-align:center;padding:14px;background:rgba(15,23,42,.5);border-radius:var(--radius-sm);border:1px solid rgba(255,255,255,.05);}
.lv-result-item .val{font-size:1.2rem;font-weight:700;color:var(--ink);}
.lv-result-item .lbl{font-size:.72rem;color:var(--ink4);margin-top:4px;}

/* Table */
.lv-table-wrap{overflow-x:auto;margin-top:16px;border-radius:var(--radius-sm);border:1px solid rgba(255,255,255,.06);}
.lv-table{width:100%;border-collapse:collapse;font-size:.82rem;}
.lv-table th{background:rgba(15,23,42,.6);color:var(--ink3);font-weight:600;text-align:left;padding:10px 12px;border-bottom:1px solid rgba(255,255,255,.06);}
.lv-table td{padding:10px 12px;border-bottom:1px solid rgba(255,255,255,.04);color:var(--ink2);}
.lv-table tr:hover td{background:rgba(16,185,129,.04);}

/* Print */
@media print{
  .lv-tool-header,.lv-lang-toggle,.lv-back,.lv-disclaimer,.lv-save-notice,
  .lv-foot,#lvInstall,#lvdPill,#lvdModal,#lvAcct{display:none!important;}
  body.lv-tool-body{background:#fff;color:#1a1a1a;padding:0;}
  .lv-tool-main{max-width:100%;padding:0;}
  .lv-card{border:1px solid #ddd;box-shadow:none;}
  .lv-result{border:2px solid #10b981;background:#f0fdf4;}
  .lv-result-value{color:#065f46;}
}
