:root {
    --ep-primary: #1a3c5e;
    --ep-accent:  #0ea5e9;
    --ep-success: #10b981;
    --ep-light:   #f0f7ff;
    --ep-border:  #e2ecf6;
    --ep-shadow:  0 4px 24px rgba(26,60,94,0.10);
    --ep-radius:  12px;
}
body { font-family: 'Inter', sans-serif; background: #f8fafc; color: #1e293b; }
.ep-navbar { background: var(--ep-primary); box-shadow: 0 2px 16px rgba(26,60,94,0.18); padding: .75rem 0; }
.ep-logo-icon { width:38px;height:38px;background:var(--ep-accent);border-radius:8px;display:flex;align-items:center;justify-content:center;font-size:1.2rem; }
.ep-tagline { font-size:.65rem;opacity:.7;letter-spacing:.08em;text-transform:uppercase; }
.ep-main { min-height: calc(100vh - 68px - 64px); }
.ep-footer { background:#fff;border-top:1px solid var(--ep-border);padding:1.2rem 0;margin-top:3rem; }
.ep-hero { background: linear-gradient(135deg, var(--ep-primary) 0%, #245a8e 60%, var(--ep-accent) 100%); color:#fff; padding:4rem 0 3rem; }
.ep-hero .text-muted { color: rgba(255,255,255,.7) !important; }
.ep-highlight { color: var(--ep-accent); }
.ep-badge { display:inline-block;background:rgba(255,255,255,.15);color:#fff;border:1px solid rgba(255,255,255,.25);border-radius:20px;padding:.35rem 1rem;font-size:.82rem;font-weight:500; }
.ep-card-glass { background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.22);border-radius:var(--ep-radius);backdrop-filter:blur(8px);color:#fff; }
.ep-card-glass .form-control,.ep-card-glass .input-group-text { border-color:rgba(255,255,255,.3);background:rgba(255,255,255,.1);color:#fff; }
.ep-card-glass .form-control::placeholder { color:rgba(255,255,255,.5); }
.ep-card-glass .form-text { color:rgba(255,255,255,.5) !important; }
.btn-ep-primary { background:var(--ep-accent);border:none;color:#fff;border-radius:8px;font-weight:600; }
.btn-ep-primary:hover { background:#0284c7;color:#fff; }
.btn-ep-accent { background:var(--ep-accent);border:none;color:#fff;border-radius:0 8px 8px 0;font-weight:600; }
.btn-ep-accent:hover { background:#0284c7;color:#fff; }
.btn-ep-success { background:var(--ep-success);border:none;color:#fff;border-radius:8px;font-weight:600; }
.btn-ep-success:hover { background:#059669;color:#fff; }
.btn-ep-outline { border:2px solid var(--ep-accent);color:var(--ep-accent);border-radius:8px;font-weight:600;background:transparent; }
.btn-ep-outline:hover { background:var(--ep-accent);color:#fff; }
.btn-ep-select { border:2px solid var(--ep-border);color:var(--ep-primary);border-radius:8px;font-weight:500;background:#fff;transition:all .2s; }
.ep-feature-icon { width:56px;height:56px;background:var(--ep-light);border-radius:14px;display:flex;align-items:center;justify-content:center;font-size:1.5rem;color:var(--ep-accent);margin:0 auto; }
.ep-form-card { background:#fff;border-radius:var(--ep-radius);box-shadow:var(--ep-shadow);padding:2rem; }
.ep-section-header { font-weight:600;color:var(--ep-primary);font-size:.95rem;text-transform:uppercase;letter-spacing:.05em;padding-bottom:.5rem;border-bottom:2px solid var(--ep-light); }
.ep-input { border-radius:8px !important;border-color:var(--ep-border) !important;padding:.55rem .85rem; }
.ep-input:focus { border-color:var(--ep-accent) !important;box-shadow:0 0 0 3px rgba(14,165,233,.15) !important; }
.ep-divider { border-color:var(--ep-border);margin:1.5rem 0; }
.ep-offer-card { background:#fff;border:2px solid var(--ep-border);border-radius:var(--ep-radius);padding:1.5rem;cursor:pointer;transition:border-color .2s,box-shadow .2s;height:100%;position:relative; }
.ep-offer-card:hover { border-color:var(--ep-accent);box-shadow:0 8px 32px rgba(14,165,233,.15); }
.ep-offer-card.selected { border-color:var(--ep-accent);box-shadow:0 0 0 3px rgba(14,165,233,.2); }
.ep-offer-card.selected .btn-ep-select { background:var(--ep-accent);color:#fff;border-color:var(--ep-accent); }
.ep-offer-featured { border-color:var(--ep-accent); }
.ep-offer-custom { border-style:dashed; }
.ep-offer-label { cursor:pointer; }
.ep-spec-item { padding:.3rem 0;font-size:.88rem;color:#475569;border-bottom:1px solid var(--ep-light); }
.ep-spec-item:last-child { border-bottom:none; }
.ep-spec-item i { color:var(--ep-accent);width:16px; }
.ep-offer-badge { display:inline-block;padding:.2rem .7rem;border-radius:20px;font-size:.72rem;font-weight:700; }
.ep-offer-badge.nano { background:#e0f2fe;color:#0369a1; }
.ep-offer-badge.pro { background:#e0f7fa;color:#0891b2; }
.ep-offer-badge.cluster { background:#fce7f3;color:#be185d; }
.ep-offer-badge.custom { background:#f3e8ff;color:#7c3aed; }
.ep-popular-badge { position:absolute;top:-12px;left:50%;transform:translateX(-50%);background:var(--ep-accent);color:#fff;font-size:.72rem;font-weight:700;padding:.2rem .9rem;border-radius:20px; }
.ep-card { background:#fff;border-radius:var(--ep-radius);box-shadow:var(--ep-shadow);border:1px solid var(--ep-border);overflow:hidden; }
.ep-card-title { font-weight:600;color:var(--ep-primary);font-size:.95rem;padding:1rem 1.25rem;border-bottom:1px solid var(--ep-border);background:var(--ep-light); }
.ep-table { font-size:.9rem; }
.ep-table th { color:#64748b;font-weight:600;font-size:.8rem;text-transform:uppercase;background:#f8fafc; }
.ep-table td { vertical-align:middle; }
.ep-code { background:var(--ep-light);color:var(--ep-primary);padding:.1rem .4rem;border-radius:4px;font-size:.82rem; }
.ep-badge-success { background:#d1fae5;color:#065f46; }
.ep-badge-warning { background:#fef3c7;color:#92400e; }
.ep-badge-info { background:#e0f2fe;color:#0c4a6e; }
.ep-badge-primary { background:#dbeafe;color:#1e40af; }
.ep-nc-badge { background:var(--ep-primary);color:#fff;padding:.2rem .7rem;border-radius:6px;font-size:.82rem;font-weight:600;font-family:monospace; }
.ep-info-list { padding:1rem 1.25rem;margin:0; }
.ep-info-row { display:flex;gap:1rem;padding:.5rem 0;border-bottom:1px solid var(--ep-border); }
.ep-info-row:last-child { border-bottom:none; }
.ep-info-row dt { color:#64748b;font-size:.82rem;min-width:90px;font-weight:500; }
.ep-info-row dd { margin:0;font-size:.88rem;color:#1e293b; }
.ep-empty-state { text-align:center;padding:2.5rem 1rem; }
.ep-empty-icon { font-size:2.5rem;color:#cbd5e1;display:block;margin-bottom:.75rem; }
.ep-quote-offer-header { background:var(--ep-light);border-radius:8px;padding:1rem 1.25rem; }
.ep-spec-card { background:var(--ep-light);border-radius:8px;padding:.85rem .5rem;text-align:center; }
.ep-spec-icon { font-size:1.3rem;color:var(--ep-accent);display:block;margin-bottom:.25rem; }
.ep-spec-value { font-weight:700;font-size:.95rem;color:var(--ep-primary); }
.ep-spec-label { font-size:.72rem;color:#64748b;text-transform:uppercase; }
.ep-price-summary { background:#f8fafc;border-radius:8px;padding:1rem 1.25rem; }
.ep-price-row { display:flex;justify-content:space-between;padding:.4rem 0;border-bottom:1px solid var(--ep-border);font-size:.9rem; }
.ep-price-row:last-child { border-bottom:none; }
.ep-price-total { padding-top:.75rem;border-top:2px solid var(--ep-border);border-bottom:none; }
.ep-alert-info { background:#e0f2fe;border:1px solid #bae6fd;color:#0c4a6e;border-radius:8px;padding:.85rem 1rem; }
.ep-alert-success { background:#d1fae5;border:1px solid #a7f3d0;color:#065f46;border-radius:8px;padding:.85rem 1rem; }
.ep-primary-color { color:var(--ep-primary); }
.ep-accent-color { color:var(--ep-accent); }
@media (max-width:576px) { .ep-hero{padding:2rem 0;} .ep-form-card{padding:1.25rem;} }
