@import url('https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800;900&display=swap');
*{margin:0;padding:0;box-sizing:border-box;}
:root{
--bg:#06080f;--bg2:#0a0f1e;--card:#0c1220;--card2:#111827;--card3:#1a2332;
--border:rgba(255,255,255,0.06);--border2:rgba(255,255,255,0.1);
--text:#e2e8f0;--text2:#f8fafc;--muted:#64748b;--dim:#334155;
--blue:#60a5fa;--green:#4ade80;--red:#f87171;--amber:#fbbf24;--purple:#a78bfa;
--cyan:#22d3ee;--pink:#f472b6;--teal:#2dd4bf;--orange:#fb923c;
--blue-bg:rgba(96,165,250,0.12);--green-bg:rgba(74,222,128,0.1);
--red-bg:rgba(248,113,113,0.1);--amber-bg:rgba(251,191,36,0.1);
--purple-bg:rgba(167,139,250,0.1);--cyan-bg:rgba(34,211,238,0.1);
}
body{font-family:'Inter',sans-serif;background:var(--bg);color:var(--text);min-height:100vh;overflow-x:hidden;}
a{color:var(--blue);text-decoration:none;}
input,select,textarea,button{font-family:inherit;}
/* LAYOUT */
.app{display:flex;min-height:100vh;}
.sidebar{width:260px;background:var(--card);border-right:1px solid var(--border);display:flex;flex-direction:column;position:fixed;top:0;left:0;bottom:0;z-index:200;transition:transform 0.3s;}
.sidebar-header{padding:20px;border-bottom:1px solid var(--border);background:linear-gradient(180deg,rgba(59,130,246,0.06),transparent);}
.sidebar-logo{display:flex;align-items:center;gap:12px;}
.sidebar-logo .icon{width:42px;height:42px;border-radius:12px;background:linear-gradient(135deg,#3b82f6,#06b6d4);display:flex;align-items:center;justify-content:center;font-size:17px;font-weight:900;color:#fff;box-shadow:0 0 24px rgba(59,130,246,0.35);letter-spacing:-0.5px;}
.sidebar-logo h1{font-size:16px;font-weight:800;color:var(--text2);line-height:1.2;letter-spacing:-0.3px;}
.sidebar-logo .sub{font-size:9px;color:var(--blue);text-transform:uppercase;letter-spacing:1.5px;margin-top:3px;font-weight:600;opacity:0.8;}
.sidebar-nav{flex:1;padding:12px;overflow-y:auto;}
.nav-section{font-size:9px;text-transform:uppercase;letter-spacing:1.5px;color:var(--dim);padding:16px 12px 6px;font-weight:600;}
.nav-item{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:8px;cursor:pointer;color:var(--muted);font-size:13px;font-weight:500;transition:all 0.15s;margin-bottom:2px;}
.nav-item:hover{background:rgba(255,255,255,0.04);color:var(--text);}
.nav-item.active{background:rgba(59,130,246,0.12);color:var(--blue);font-weight:600;}
.nav-item .ni{font-size:16px;width:20px;text-align:center;}
.nav-item .badge{margin-left:auto;background:var(--blue);color:#fff;font-size:10px;padding:2px 7px;border-radius:10px;font-weight:700;}
.sidebar-footer{padding:16px;border-top:1px solid var(--border);}
.user-info{display:flex;align-items:center;gap:10px;}
.user-avatar{width:34px;height:34px;border-radius:8px;background:linear-gradient(135deg,var(--purple),var(--blue));display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:700;color:#fff;}
.user-name{font-size:12px;font-weight:600;color:var(--text);}
.user-role{font-size:10px;color:var(--muted);text-transform:capitalize;}
.btn-logout{margin-top:10px;width:100%;padding:7px;border-radius:6px;border:1px solid var(--border2);background:transparent;color:var(--muted);font-size:11px;cursor:pointer;transition:all 0.15s;}
.btn-logout:hover{background:rgba(248,113,113,0.1);color:var(--red);border-color:rgba(248,113,113,0.3);}
/* MAIN */
.main{flex:1;margin-left:260px;min-height:100vh;}
.topbar{display:flex;align-items:center;justify-content:space-between;padding:16px 28px;border-bottom:1px solid var(--border);background:rgba(12,18,32,0.95);backdrop-filter:blur(20px);position:sticky;top:0;z-index:100;}
.topbar h2{font-size:17px;font-weight:800;color:var(--text2);letter-spacing:-0.2px;}
.topbar-right{display:flex;align-items:center;gap:14px;}
.hamburger{display:none;background:none;border:none;color:var(--text);font-size:22px;cursor:pointer;padding:4px 8px;}
.sidebar-overlay{display:none;position:fixed;inset:0;background:rgba(0,0,0,0.5);z-index:150;}
.content{padding:24px 28px;}
.view{display:none;animation:fadeIn 0.25s ease;}
.view.active{display:block;}
@keyframes fadeIn{from{opacity:0;transform:translateY(6px);}to{opacity:1;transform:translateY(0);}}
/* AUTH VIEW */
.auth-wrapper{display:flex;align-items:center;justify-content:center;min-height:100vh;background:var(--bg);}
.auth-card{width:440px;max-width:95vw;background:var(--card);border:1px solid var(--border2);border-radius:16px;overflow:hidden;}
.auth-header{padding:32px 32px 0;text-align:center;}
.auth-header .logo-big{width:64px;height:64px;border-radius:16px;background:linear-gradient(135deg,#3b82f6,#06b6d4);display:inline-flex;align-items:center;justify-content:center;font-size:24px;font-weight:900;color:#fff;margin-bottom:18px;box-shadow:0 0 40px rgba(59,130,246,0.35),0 0 80px rgba(6,182,212,0.15);letter-spacing:-0.5px;}
.auth-header h1{font-size:24px;font-weight:800;color:var(--text2);letter-spacing:-0.3px;}
.auth-header p{font-size:14px;color:var(--muted);margin-top:8px;line-height:1.5;}
.auth-tabs{display:flex;margin:24px 32px 0;border-bottom:1px solid var(--border);}
.auth-tab{flex:1;padding:10px;text-align:center;font-size:13px;font-weight:600;color:var(--muted);cursor:pointer;border-bottom:2px solid transparent;transition:all 0.15s;}
.auth-tab.active{color:var(--blue);border-color:var(--blue);}
.auth-body{padding:24px 32px 32px;}
.auth-body .field{margin-bottom:16px;}
.auth-body .field-row{display:grid;grid-template-columns:1fr 1fr;gap:12px;}
/* FORMS */
.field label{display:block;font-size:11px;font-weight:600;color:var(--muted);text-transform:uppercase;letter-spacing:0.8px;margin-bottom:6px;}
.field input,.field select,.field textarea{width:100%;padding:10px 14px;background:var(--bg2);border:1px solid var(--border2);border-radius:8px;color:var(--text);font-size:13px;transition:border-color 0.15s;outline:none;}
.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--blue);}
.field textarea{resize:vertical;min-height:80px;}
.field select{cursor:pointer;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%2364748b' stroke-width='2'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;}
.field .hint{font-size:11px;color:var(--dim);margin-top:4px;}
.field-inline{display:flex;align-items:center;gap:8px;}
.multi-select{display:flex;flex-wrap:wrap;gap:6px;padding:8px;background:var(--bg2);border:1px solid var(--border2);border-radius:8px;min-height:42px;}
.multi-select .chip{display:flex;align-items:center;gap:4px;padding:4px 10px;background:var(--blue-bg);border:1px solid rgba(96,165,250,0.3);border-radius:6px;font-size:11px;color:var(--blue);font-weight:500;}
.multi-select .chip .remove{cursor:pointer;font-size:14px;line-height:1;opacity:0.7;}
.multi-select .chip .remove:hover{opacity:1;}
.multi-select input{border:none;background:none;outline:none;color:var(--text);font-size:12px;flex:1;min-width:100px;padding:2px;}
/* BUTTONS */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:10px 20px;border-radius:8px;font-size:13px;font-weight:600;cursor:pointer;border:none;transition:all 0.15s;}
.btn-primary{background:linear-gradient(135deg,#3b82f6,#2563eb);color:#fff;box-shadow:0 2px 10px rgba(59,130,246,0.3);}
.btn-primary:hover{box-shadow:0 4px 16px rgba(59,130,246,0.4);transform:translateY(-1px);}
.btn-secondary{background:var(--card3);color:var(--text);border:1px solid var(--border2);}
.btn-secondary:hover{background:rgba(255,255,255,0.08);}
.btn-success{background:linear-gradient(135deg,#22c55e,#16a34a);color:#fff;}
.btn-danger{background:rgba(248,113,113,0.15);color:var(--red);border:1px solid rgba(248,113,113,0.3);}
.btn-ghost{background:transparent;color:var(--muted);padding:8px 12px;}
.btn-ghost:hover{color:var(--text);background:rgba(255,255,255,0.04);}
.btn-sm{padding:6px 14px;font-size:12px;}
.btn-ai{background:linear-gradient(135deg,#8b5cf6,#6366f1);color:#fff;box-shadow:0 2px 10px rgba(139,92,246,0.3);}
.btn-ai:hover{box-shadow:0 4px 16px rgba(139,92,246,0.4);}
.btn:disabled{opacity:0.5;cursor:not-allowed;transform:none !important;}
.btn .spinner{width:14px;height:14px;border:2px solid rgba(255,255,255,0.3);border-top-color:#fff;border-radius:50%;animation:spin 0.6s linear infinite;}
@keyframes spin{to{transform:rotate(360deg);}}
/* STATS CARDS */
.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:24px;}
.stat-card{background:var(--card);border:1px solid var(--border);border-radius:12px;padding:22px;}
.stat-card .stat-label{font-size:10px;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:1px;margin-bottom:10px;}
.stat-card .stat-value{font-size:30px;font-weight:800;color:var(--text2);line-height:1;letter-spacing:-0.5px;}
.stat-card .stat-sub{font-size:11px;color:var(--muted);margin-top:6px;display:flex;align-items:center;gap:4px;}
.stat-card .stat-icon{font-size:20px;float:right;margin-top:-4px;}
.stat-card.blue{border-color:rgba(96,165,250,0.2);background:linear-gradient(135deg,var(--card),rgba(96,165,250,0.05));}
.stat-card.green{border-color:rgba(74,222,128,0.2);background:linear-gradient(135deg,var(--card),rgba(74,222,128,0.05));}
.stat-card.amber{border-color:rgba(251,191,36,0.2);background:linear-gradient(135deg,var(--card),rgba(251,191,36,0.05));}
.stat-card.purple{border-color:rgba(167,139,250,0.2);background:linear-gradient(135deg,var(--card),rgba(167,139,250,0.05));}
/* TABLES */
.table-card{background:var(--card);border:1px solid var(--border);border-radius:12px;overflow:hidden;}
.table-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid var(--border);}
.table-header h3{font-size:14px;font-weight:700;color:var(--text2);}
.table-filters{display:flex;gap:10px;align-items:center;}
.table-filters select,.table-filters input{padding:6px 12px;background:var(--bg2);border:1px solid var(--border2);border-radius:6px;color:var(--text);font-size:12px;outline:none;}
.table-filters input{width:200px;}
table{width:100%;border-collapse:collapse;}
thead th{padding:10px 16px;text-align:left;font-size:10px;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:0.8px;border-bottom:1px solid var(--border);background:rgba(0,0,0,0.2);cursor:pointer;user-select:none;white-space:nowrap;}
thead th:hover{color:var(--text);}
tbody tr{border-bottom:1px solid var(--border);transition:background 0.1s;cursor:pointer;}
tbody tr:hover{background:rgba(255,255,255,0.02);}
tbody td{padding:12px 16px;font-size:13px;white-space:nowrap;}
.td-wrap{white-space:normal;max-width:250px;}
/* BADGES */
.badge{display:inline-flex;align-items:center;padding:3px 10px;border-radius:6px;font-size:11px;font-weight:600;text-transform:capitalize;}
.badge-active,.badge-open{background:var(--blue-bg);color:var(--blue);border:1px solid rgba(96,165,250,0.3);}
.badge-draft{background:rgba(100,116,139,0.15);color:var(--muted);border:1px solid rgba(100,116,139,0.3);}
.badge-evaluating,.badge-pending,.badge-submitted{background:var(--amber-bg);color:var(--amber);border:1px solid rgba(251,191,36,0.3);}
.badge-awarded,.badge-accepted,.badge-won,.badge-delivered{background:var(--green-bg);color:var(--green);border:1px solid rgba(74,222,128,0.3);}
.badge-closed,.badge-rejected,.badge-lost,.badge-expired{background:var(--red-bg);color:var(--red);border:1px solid rgba(248,113,113,0.3);}
.badge-cancelled{background:rgba(100,116,139,0.1);color:#94a3b8;border:1px solid rgba(100,116,139,0.2);}
.badge-verified{background:var(--green-bg);color:var(--green);border:1px solid rgba(74,222,128,0.3);}
/* PDCA PHASE LABELS */
.pdca-badge-wrap{display:inline-flex;flex-direction:column;align-items:center;gap:2px;}
.pdca-phase-tag{font-size:9px;font-weight:700;letter-spacing:0.5px;text-transform:uppercase;color:var(--muted);opacity:0.8;}
/* CARDS / PANELS */
.panel{background:var(--card);border:1px solid var(--border);border-radius:12px;padding:20px;margin-bottom:20px;}
.panel h3{font-size:14px;font-weight:700;color:var(--text2);margin-bottom:14px;display:flex;align-items:center;gap:8px;}
.panel-ai{border-color:rgba(139,92,246,0.2);background:linear-gradient(135deg,var(--card),rgba(139,92,246,0.04));}
.section{margin-bottom:28px;}
.section h3{font-size:14px;font-weight:700;color:var(--text2);margin-bottom:14px;padding-bottom:10px;border-bottom:1px solid var(--border);}
.section-num{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:6px;background:var(--blue-bg);color:var(--blue);font-size:11px;font-weight:700;margin-right:8px;}
/* PAGINATION */
.pagination{display:flex;align-items:center;justify-content:center;gap:4px;padding:16px;}
.pagination button{padding:6px 12px;border-radius:6px;border:1px solid var(--border);background:var(--card);color:var(--muted);font-size:12px;cursor:pointer;transition:all 0.1s;}
.pagination button:hover{background:var(--card3);color:var(--text);}
.pagination button.active{background:var(--blue);color:#fff;border-color:var(--blue);}
.pagination button:disabled{opacity:0.3;cursor:not-allowed;}
/* TOAST */
.toast-container{position:fixed;top:20px;right:20px;z-index:9999;display:flex;flex-direction:column;gap:8px;}
.toast{padding:12px 20px;border-radius:10px;font-size:13px;font-weight:500;display:flex;align-items:center;gap:10px;animation:slideIn 0.3s ease;min-width:280px;box-shadow:0 8px 30px rgba(0,0,0,0.4);}
.toast-success{background:#065f46;color:#6ee7b7;border:1px solid rgba(110,231,183,0.3);}
.toast-error{background:#7f1d1d;color:#fca5a5;border:1px solid rgba(252,165,165,0.3);}
.toast-info{background:#1e3a5f;color:#93c5fd;border:1px solid rgba(147,197,253,0.3);}
@keyframes slideIn{from{transform:translateX(100%);opacity:0;}to{transform:translateX(0);opacity:1;}}
/* CONFIRM DIALOG */
.dialog-overlay{position:fixed;inset:0;background:rgba(0,0,0,0.6);display:flex;align-items:center;justify-content:center;z-index:9000;animation:fadeIn 0.15s;}
.dialog{background:var(--card);border:1px solid var(--border2);border-radius:14px;padding:28px;max-width:420px;width:90vw;}
.dialog h3{font-size:16px;font-weight:700;color:var(--text2);margin-bottom:10px;}
.dialog p{font-size:13px;color:var(--muted);margin-bottom:20px;line-height:1.5;}
.dialog-actions{display:flex;justify-content:flex-end;gap:10px;}
/* SPECS KEY-VALUE */
.kv-rows{display:flex;flex-direction:column;gap:8px;}
.kv-row{display:flex;gap:8px;align-items:center;}
.kv-row input{flex:1;}
.kv-row .btn-remove{padding:8px;color:var(--red);background:none;border:none;cursor:pointer;font-size:16px;}
/* SUPPLIER CARDS */
.supplier-match{display:flex;align-items:center;gap:14px;padding:14px;background:var(--bg2);border:1px solid var(--border);border-radius:10px;margin-bottom:8px;}
.supplier-match .score{font-size:20px;font-weight:800;color:var(--green);min-width:50px;text-align:center;}
.supplier-match .info{flex:1;}
.supplier-match .info h4{font-size:13px;font-weight:600;color:var(--text2);}
.supplier-match .info p{font-size:11px;color:var(--muted);}
.supplier-match input[type=checkbox]{width:18px;height:18px;accent-color:var(--blue);}
/* QUOTE COMPARISON */
.best-cell{background:rgba(74,222,128,0.08);color:var(--green);font-weight:700;}
.ai-panel{background:linear-gradient(135deg,rgba(139,92,246,0.08),rgba(99,102,241,0.05));border:1px solid rgba(139,92,246,0.2);border-radius:12px;padding:20px;margin-top:16px;}
.ai-panel h4{font-size:13px;font-weight:700;color:var(--purple);margin-bottom:10px;display:flex;align-items:center;gap:6px;}
.ai-panel ul{list-style:none;padding:0;}
.ai-panel li{font-size:12px;color:var(--text);padding:6px 0;border-bottom:1px solid rgba(139,92,246,0.1);display:flex;align-items:flex-start;gap:8px;}
.ai-panel li:last-child{border:none;}
/* EMPTY STATE */
.empty-state{text-align:center;padding:48px 20px;color:var(--muted);}
.empty-state .icon{font-size:48px;margin-bottom:16px;opacity:0.4;}
.empty-state h3{font-size:16px;color:var(--text);margin-bottom:8px;}
.empty-state p{font-size:13px;max-width:360px;margin:0 auto 20px;line-height:1.5;}
/* LOADING */
.loading-full{display:flex;align-items:center;justify-content:center;padding:60px;flex-direction:column;gap:16px;}
.loading-full .spinner-lg{width:36px;height:36px;border:3px solid var(--border);border-top-color:var(--blue);border-radius:50%;animation:spin 0.8s linear infinite;}
.loading-full p{font-size:13px;color:var(--muted);}
/* HERO BANNER */
.hero-banner{background:linear-gradient(135deg,rgba(59,130,246,0.12),rgba(6,182,212,0.08),rgba(139,92,246,0.06));border:1px solid rgba(96,165,250,0.15);border-radius:16px;padding:32px 36px;margin-bottom:28px;position:relative;overflow:hidden;}
.hero-banner::before{content:'';position:absolute;top:-60%;right:-10%;width:340px;height:340px;background:radial-gradient(circle,rgba(59,130,246,0.08) 0%,transparent 70%);pointer-events:none;}
.hero-banner::after{content:'';position:absolute;bottom:-40%;left:-5%;width:240px;height:240px;background:radial-gradient(circle,rgba(6,182,212,0.06) 0%,transparent 70%);pointer-events:none;}
.hero-banner .hero-logo{width:52px;height:52px;border-radius:14px;background:linear-gradient(135deg,#3b82f6,#06b6d4);display:inline-flex;align-items:center;justify-content:center;font-size:20px;font-weight:900;color:#fff;box-shadow:0 0 30px rgba(59,130,246,0.25);margin-bottom:16px;}
.hero-banner h2{font-size:24px;font-weight:800;color:var(--text2);margin-bottom:6px;letter-spacing:-0.3px;}
.hero-banner .hero-sub{font-size:14px;color:var(--muted);margin-bottom:20px;line-height:1.6;}
.hero-banner .hero-stats{display:flex;gap:24px;flex-wrap:wrap;}
.hero-banner .hero-stat{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--text);font-weight:500;}
.hero-banner .hero-stat .hs-icon{width:32px;height:32px;border-radius:8px;display:flex;align-items:center;justify-content:center;font-size:15px;}
.hero-banner .hero-stat .hs-icon.blue{background:var(--blue-bg);color:var(--blue);}
.hero-banner .hero-stat .hs-icon.green{background:var(--green-bg);color:var(--green);}
.hero-banner .hero-stat .hs-icon.purple{background:var(--purple-bg);color:var(--purple);}
/* ONBOARDING TOUR */
.onboarding-tour{background:var(--card);border:1px solid var(--border2);border-radius:16px;padding:28px 32px;margin-bottom:28px;position:relative;}
.onboarding-tour .tour-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px;}
.onboarding-tour .tour-header h3{font-size:16px;font-weight:700;color:var(--text2);display:flex;align-items:center;gap:10px;}
.onboarding-tour .tour-header h3 .tour-icon{width:28px;height:28px;border-radius:8px;background:linear-gradient(135deg,rgba(139,92,246,0.15),rgba(99,102,241,0.1));display:flex;align-items:center;justify-content:center;font-size:14px;}
.onboarding-tour .tour-dismiss{background:none;border:none;color:var(--muted);cursor:pointer;font-size:11px;padding:4px 10px;border-radius:6px;transition:all 0.15s;}
.onboarding-tour .tour-dismiss:hover{background:rgba(255,255,255,0.06);color:var(--text);}
.onboarding-tour .tour-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;}
.tour-step{background:var(--bg2);border:1px solid var(--border);border-radius:12px;padding:20px;text-align:center;transition:all 0.2s;cursor:pointer;position:relative;}
.tour-step:hover{border-color:rgba(96,165,250,0.3);background:rgba(96,165,250,0.04);transform:translateY(-2px);}
.tour-step.completed{border-color:rgba(74,222,128,0.3);background:rgba(74,222,128,0.04);}
.tour-step .step-num{width:32px;height:32px;border-radius:50%;background:linear-gradient(135deg,#3b82f6,#2563eb);color:#fff;display:inline-flex;align-items:center;justify-content:center;font-size:13px;font-weight:700;margin-bottom:12px;box-shadow:0 2px 8px rgba(59,130,246,0.3);}
.tour-step.completed .step-num{background:linear-gradient(135deg,#22c55e,#16a34a);box-shadow:0 2px 8px rgba(34,197,94,0.3);}
.tour-step .step-title{font-size:13px;font-weight:700;color:var(--text2);margin-bottom:6px;}
.tour-step .step-desc{font-size:11px;color:var(--muted);line-height:1.5;}
.tour-step .step-arrow{position:absolute;right:-12px;top:50%;transform:translateY(-50%);color:var(--dim);font-size:14px;}
.tour-progress{display:flex;gap:6px;margin-top:16px;justify-content:center;}
.tour-progress .tp-dot{width:8px;height:8px;border-radius:50%;background:var(--dim);transition:all 0.2s;}
.tour-progress .tp-dot.done{background:var(--green);}
.tour-progress .tp-dot.current{background:var(--blue);box-shadow:0 0 8px rgba(96,165,250,0.4);}
/* LANDING PAGE */
.landing-wrapper{min-height:100vh;background:var(--bg);overflow-x:hidden;}
.landing-hero{text-align:center;padding:60px 24px 40px;position:relative;overflow:hidden;}
.landing-hero::before{content:'';position:absolute;top:-30%;left:50%;transform:translateX(-50%);width:800px;height:800px;background:radial-gradient(circle,rgba(59,130,246,0.1) 0%,rgba(6,182,212,0.05) 40%,transparent 70%);pointer-events:none;}
.landing-hero .lh-logo{width:72px;height:72px;border-radius:18px;background:linear-gradient(135deg,#3b82f6,#06b6d4);display:inline-flex;align-items:center;justify-content:center;font-size:28px;font-weight:900;color:#fff;margin-bottom:20px;box-shadow:0 0 50px rgba(59,130,246,0.4),0 0 100px rgba(6,182,212,0.15);position:relative;}
.landing-hero h1{font-size:36px;font-weight:900;color:var(--text2);letter-spacing:-0.5px;margin-bottom:10px;}
.landing-hero .lh-sub{font-size:16px;color:var(--muted);max-width:560px;margin:0 auto 36px;line-height:1.6;}
.landing-counters{display:flex;justify-content:center;gap:32px;flex-wrap:wrap;margin-bottom:40px;}
.landing-counter{text-align:center;min-width:110px;}
.landing-counter .lc-num{font-size:36px;font-weight:900;letter-spacing:-1px;line-height:1;}
.landing-counter .lc-num.blue{color:var(--blue);}
.landing-counter .lc-num.green{color:var(--green);}
.landing-counter .lc-num.amber{color:var(--amber);}
.landing-counter .lc-num.purple{color:var(--purple);}
.landing-counter .lc-num.cyan{color:var(--cyan);}
.landing-counter .lc-label{font-size:11px;font-weight:600;color:var(--muted);text-transform:uppercase;letter-spacing:1px;margin-top:6px;}
.landing-sections{max-width:960px;margin:0 auto;padding:0 24px 40px;}
.landing-row{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-bottom:24px;}
.landing-panel{background:var(--card);border:1px solid var(--border);border-radius:14px;padding:24px;position:relative;overflow:hidden;}
.landing-panel h3{font-size:15px;font-weight:700;color:var(--text2);margin-bottom:14px;display:flex;align-items:center;gap:8px;}
.landing-panel h3 .lp-icon{font-size:18px;}
.landing-cat-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;}
.landing-cat{display:flex;align-items:center;justify-content:space-between;padding:8px 12px;background:var(--bg2);border:1px solid var(--border);border-radius:8px;font-size:12px;color:var(--text);}
.landing-cat .lcat-count{font-weight:700;color:var(--blue);font-size:13px;}
.landing-rfq{padding:10px 0;border-bottom:1px solid var(--border);font-size:12px;display:flex;justify-content:space-between;align-items:center;}
.landing-rfq:last-child{border:none;}
.landing-rfq .lr-title{color:var(--text);font-weight:500;}
.landing-rfq .lr-cat{font-size:10px;color:var(--muted);text-transform:uppercase;letter-spacing:0.5px;padding:3px 8px;background:var(--bg2);border-radius:4px;}
.landing-ai-demo{background:linear-gradient(135deg,rgba(139,92,246,0.08),rgba(99,102,241,0.04));border:1px solid rgba(139,92,246,0.15);border-radius:14px;padding:24px;max-width:960px;margin:0 auto 40px;text-align:center;}
.landing-ai-demo h3{font-size:15px;font-weight:700;color:var(--purple);margin-bottom:6px;}
.landing-ai-demo p{font-size:12px;color:var(--muted);margin-bottom:16px;}
.landing-ai-scores{display:flex;justify-content:center;gap:16px;flex-wrap:wrap;}
.landing-ai-score{background:var(--card);border:1px solid var(--border);border-radius:10px;padding:14px 20px;min-width:140px;text-align:center;}
.landing-ai-score .las-val{font-size:24px;font-weight:800;color:var(--green);line-height:1;}
.landing-ai-score .las-label{font-size:10px;color:var(--muted);margin-top:4px;text-transform:uppercase;letter-spacing:0.5px;}
.landing-ai-score .las-sub{font-size:11px;color:var(--text);margin-top:6px;}
.landing-cta{text-align:center;padding:0 24px 60px;max-width:960px;margin:0 auto;}
.landing-cta h2{font-size:22px;font-weight:800;color:var(--text2);margin-bottom:8px;}
.landing-cta p{font-size:13px;color:var(--muted);margin-bottom:20px;}
.landing-cta .btn{padding:14px 40px;font-size:15px;}
/* RESPONSIVE */
@media(max-width:1024px){.stats-grid{grid-template-columns:repeat(2,1fr);}.onboarding-tour .tour-steps{grid-template-columns:1fr;}.landing-row{grid-template-columns:1fr;}.landing-cat-grid{grid-template-columns:1fr 1fr;}}
@media(max-width:768px){
.sidebar{transform:translateX(-100%);}
.sidebar.open{transform:translateX(0);}
.sidebar-overlay.active{display:block;}
.main{margin-left:0;}
.hamburger{display:block;}
.stats-grid{grid-template-columns:1fr 1fr;}
.content{padding:16px;}
.field-row{grid-template-columns:1fr !important;}
.table-filters{flex-wrap:wrap;}
.hero-banner{padding:24px 20px;}
.hero-banner h2{font-size:20px;}
.hero-banner .hero-stats{flex-direction:column;gap:12px;}
.landing-hero h1{font-size:26px;}
.landing-counters{gap:16px;}
.landing-counter .lc-num{font-size:28px;}
.landing-ai-scores{flex-direction:column;align-items:center;}
}
@media(max-width:480px){.stats-grid{grid-template-columns:1fr;}}
EP
E&P Directory
AI-powered procurement for engineers and suppliers. Find verified suppliers, get AI-scored quotes, and close deals faster.
📄 What Engineers Are Buying
AI Quote Scoring Engine
Every quote is scored by our AI across 4 dimensions. See how suppliers compare at a glance.
92
Price Score
vs. market average
88
Delivery
on-time probability
95
Quality
defect-free rate
4.8
Supplier Rating
peer reviews
🔧
Exclusive to E&P Directory
Meet Jim — Your AI Procurement Engineer
Ask Jim about material specs, ASTM/ISO standards, lead time estimates, RFQ best practices, and supplier shortlists. Available 24/7 once you're logged in. ThomasNet doesn't have this.
For Suppliers & Vendors
Get in Front of Engineers Who Buy
Engineers on this platform post RFQs worth $10K–$500K . Featured suppliers are matched first, shown at the top of every search, and highlighted by our AI scoring engine.
A single won contract can exceed a full year of advertising spend.
1 deal
Pays for 12 months
Listing Boost
$299/mo
▸ Top 10 in your category
▸ Featured badge on profile
▸ Priority in search results
Get Started
⭐ Featured
$699/mo
▸ Homepage supplier spotlight
▸ Priority AI matching
▸ Dedicated profile page
Most Popular
Category Sponsor
$1,099/mo
▸ Own a full category
▸ Top of every matching RFQ
▸ Competitor exclusion zone
Get Started
Enterprise Partner
$1,499/mo
▸ Cross-category reach
▸ Direct RFQ invitations
▸ Co-branded campaigns
Contact Us
Ready to streamline your procurement?
Join engineers and suppliers already using AI-powered procurement. Free to start.
EP
Welcome to E&P Directory
Your AI-powered engineering and procurement hub. Create RFQs, discover verified suppliers, and get AI-scored quotes -- all in one platform.
📈
Real-Time Quote Scoring
1
Create Your First RFQ
Define your project requirements, specs, and budget to start receiving competitive bids.
→
2
Invite Suppliers
Browse the verified supplier directory or let AI match the best suppliers for your project.
→
3
Get AI-Scored Quotes
Receive quotes, compare side-by-side with AI analysis, and award contracts with one click.
Active RFQs 📄
-
Open requests
Quotes Received 📈
-
Across all RFQs
POs Issued 📦
-
Purchase orders
Avg Response ⏱
-
Supplier response time
Open Invitations 📩
-
Awaiting response
Active Quotes 📋
-
Under evaluation
Won Quotes 🏆
-
Awarded contracts
Win Rate 📊
-
Overall performance
2 Bulk Discounts (Optional)
+ Add Discount Tier
4 Conditions (Optional)
+ Add Condition
Cancel
Submit Quote
👔 Post a Job Opening
Reach verified engineers and procurement professionals directly. Featured and higher ad tier suppliers get top placement automatically.
Job Type
Full Time
Part Time
Contract
Temporary
Category
Select category...
Mechanical
Electrical
Instrumentation
Structural
Hydraulics
Fabrication
Electronics
Safety
Job Description * 0 /3000 characters
Application Email *
Application URL (optional)
Post Job
View My Postings
Current Plan 💳
-
Loading...
Limits 📊
-
RFQs / Suppliers
⏰ Trial Period
Your trial is active.
Upgrade Now
💰 Subscription Plans
Starter
$200/mo
10 Active RFQs 50 Supplier views Email support
Select Starter
POPULAR
Business
$500/mo
Unlimited RFQs Unlimited suppliers Priority support
Select Business
Enterprise
$1,500/mo
Unlimited everything API access Dedicated support
Select Enterprise
🏭 Supplier Plans
Basic
$200/mo
10 RFQ responses Basic profile Email notifications
Select Basic
Premium
$500/mo
Unlimited responses Featured profile Priority matching
Select Premium
Enterprise
$2,500/mo
Unlimited everything API access White-glove onboarding
Select Enterprise
🔥 Advertise to Engineers — Get in Front of Buyers With Budget
Verified engineers post RFQs worth $10K–$500K. Featured suppliers get matched first, shown at the top of every search, and highlighted in AI quote scoring. These are buyers with real procurement budgets.
Listing Boost
$299/mo
Top 10 placement in your category Badge on profile
Get Started
Featured Supplier
$699/mo
Homepage spotlight Priority AI matching Dedicated profile page
Get Started
Category Sponsor
$1,099/mo
Own a full category Top of every RFQ Competitor exclusion
Get Started
Enterprise Partner
$1,499/mo
Cross-category reach Direct RFQ invitations Co-branded campaigns
Contact Us
💡
Why advertise here? Engineers on this platform issue RFQs with an average value of
$47,000 . A single won deal pays for a year of Enterprise Partner sponsorship.
Talk to us about custom packages →
⚙ Manage Billing
Update payment method, view invoices, or cancel your subscription.
Open Billing Portal
Comment (optional · max 500 chars)
/500
⚠️ Only available after a completed purchase order. Ratings are private by default — suppliers on Featured+ tiers can opt to display their score publicly.
Cancel
Submit Rating
🔧AI
⚠️ For guidance only — verify all specs against your project requirements before use.
➤