@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap');

/* ===== TOKENS ===== */
:root{
  --primary:#8e9100;--primary-dark:#6b6d00;--primary-light:#f3f4cc;
  --secondary:#557a00;--accent:#c87000;--gold:#a07800;
  --surface:#F8FAF0;--card:#FFFFFF;--border:#E5E7D8;
  --text1:#111928;--text2:#6B7280;--text3:#9CA3AF;
  --danger:#E02424;--danger-light:#FEF2F2;
  --ai-bg:#f3f4cc;--user-bg:#8e9100;
  --shadow-sm:0 1px 3px rgba(0,0,0,.08);
  --shadow-md:0 4px 16px rgba(0,0,0,.10);
  --shadow-lg:0 8px 32px rgba(0,0,0,.14);
  --radius:12px;--radius-sm:8px;--radius-full:999px;
  --transition:.2s ease;
}

/* ===== RESET ===== */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;}
body{font-family:'Inter',sans-serif;font-size:15px;color:var(--text1);background:var(--surface);line-height:1.6;min-height:100vh;}
img{max-width:100%;display:block;}
a{color:var(--primary);text-decoration:none;}
button{cursor:pointer;font-family:inherit;border:none;background:none;}
input,select,textarea{font-family:inherit;font-size:inherit;}
ul{list-style:none;}

/* ===== LAYOUT ===== */
.container{max-width:1100px;margin:0 auto;padding:0 16px;}
.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:16px;}
.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;}
@media(max-width:768px){.grid-2,.grid-3{grid-template-columns:1fr;}}
.flex{display:flex;}.flex-col{flex-direction:column;}.items-center{align-items:center;}.justify-between{justify-content:space-between;}.gap-8{gap:8px;}.gap-12{gap:12px;}.gap-16{gap:16px;}

/* ===== TYPOGRAPHY ===== */
h1{font-size:28px;font-weight:700;line-height:1.25;}
h2{font-size:22px;font-weight:700;line-height:1.3;}
h3{font-size:18px;font-weight:600;line-height:1.35;}
h4{font-size:16px;font-weight:600;}
.text-sm{font-size:13px;}.text-xs{font-size:12px;}.text-muted{color:var(--text2);}
.font-600{font-weight:600;}.font-700{font-weight:700;}
@media(max-width:768px){h1{font-size:24px;}h2{font-size:19px;}h3{font-size:16px;}}

/* ===== BUTTONS ===== */
.btn{display:inline-flex;align-items:center;gap:6px;padding:11px 20px;border-radius:var(--radius-sm);font-size:14px;font-weight:600;transition:all var(--transition);white-space:nowrap;line-height:1;}
.btn-primary{background:var(--primary);color:#fff;}.btn-primary:hover{background:var(--primary-dark);transform:translateY(-1px);box-shadow:var(--shadow-md);}
.btn-secondary{background:transparent;color:var(--primary);border:1.5px solid var(--primary);}.btn-secondary:hover{background:var(--primary-light);}
.btn-ghost{color:var(--primary);}.btn-ghost:hover{background:var(--primary-light);border-radius:var(--radius-sm);}
/* ---- CHAT WIDGET & PANELS (Glassmorphism) ---- */
.chat-panel, .explain-panel {
  background: rgba(255, 255, 255, 0.85);
  backdrop-filter: blur(12px) saturate(180%);
  -webkit-backdrop-filter: blur(12px) saturate(180%);
  border: 1px solid rgba(255, 255, 255, 0.3);
  box-shadow: 0 8px 32px 0 rgba(142, 145, 0, 0.15);
}

.chat-bubble {
  background: var(--primary);
  box-shadow: 0 4px 15px rgba(142, 145, 0, 0.4);
  transition: all 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275);
}

.chat-bubble:hover {
  transform: scale(1.1) rotate(5deg);
  box-shadow: 0 6px 20px rgba(142, 145, 0, 0.6);
}

.btn-ai {
  background: linear-gradient(135deg, var(--primary) 0%, var(--secondary) 100%);
  color: white;
  border: none;
  font-weight: 600;
  letter-spacing: 0.5px;
  position: relative;
  overflow: hidden;
}

.btn-ai::after {
  content: '';
  position: absolute;
  top: -50%; left: -50%;
  width: 200%; height: 200%;
  background: rgba(255,255,255,0.2);
  transform: rotate(45deg);
  transition: 0.5s;
  left: -100%;
}

.btn-ai:hover::after {
  left: 100%;
}
.btn-danger{background:var(--danger);color:#fff;}.btn-danger:hover{background:#c81e1e;}
.btn-sm{padding:7px 14px;font-size:13px;}
.btn-lg{padding:14px 28px;font-size:16px;}
.btn-block{width:100%;justify-content:center;}
.btn:disabled{opacity:.5;cursor:not-allowed;transform:none!important;}

/* ===== CARDS ===== */
.card{background:var(--card);border-radius:var(--radius);border:1px solid var(--border);box-shadow:var(--shadow-sm);transition:box-shadow var(--transition),transform var(--transition);}
.card:hover{box-shadow:var(--shadow-md);transform:translateY(-2px);}
.card-pad{padding:20px;}

/* ===== BADGES ===== */
.badge{display:inline-flex;align-items:center;gap:4px;padding:3px 10px;border-radius:var(--radius-full);font-size:12px;font-weight:600;}
.badge-blue{background:#DBEAFE;color:#1D4ED8;}
.badge-green{background:#D1FAE5;color:#065F46;}
.badge-orange{background:#FEF3C7;color:#92400E;}
.badge-red{background:#FEE2E2;color:#991B1B;}
.badge-gray{background:#F3F4F6;color:#374151;}
.badge-gold{background:#FEF3C7;color:#92400E;}

/* SCORE BADGES */
.score{display:inline-flex;align-items:center;gap:4px;padding:4px 10px;border-radius:var(--radius-full);font-size:12px;font-weight:700;}
.score.high{background:#D1FAE5;color:#065F46;}
.score.med{background:#DBEAFE;color:#1D4ED8;}
.score.low{background:#F3F4F6;color:#6B7280;}
.score::before{content:"●";font-size:8px;}

/* ===== DEADLINE BAR ===== */
.deadline-bar{height:4px;border-radius:2px;background:#E5E7EB;margin-top:8px;}
.deadline-bar-fill{height:100%;border-radius:2px;transition:width .5s ease;}
.deadline-bar-fill.safe{background:var(--secondary);}
.deadline-bar-fill.warning{background:var(--gold);}
.deadline-bar-fill.urgent{background:var(--accent);}
.deadline-bar-fill.critical{background:var(--danger);animation:pulse-bar 1.5s infinite;}
@keyframes pulse-bar{0%,100%{opacity:1;}50%{opacity:.5;}}

/* ===== TENDER CARD ===== */
.tender-card{position:relative;overflow:hidden;}
.tender-card .new-tag{position:absolute;top:0;right:0;background:var(--primary);color:#fff;font-size:10px;font-weight:700;padding:3px 8px;border-radius:0 var(--radius) 0 var(--radius-sm);}
.tender-card-top{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:10px;}
.tender-card-title{font-size:15px;font-weight:600;line-height:1.45;margin:8px 0 4px;}
.tender-card-meta{display:flex;gap:12px;align-items:center;font-size:13px;color:var(--text2);flex-wrap:wrap;margin-bottom:10px;}
.tender-card-meta span{display:flex;align-items:center;gap:4px;}
.tender-card-deadline{font-size:12px;font-weight:600;padding:4px 0;}
.deadline-text.critical{color:var(--danger);}
.deadline-text.urgent{color:var(--accent);}
.deadline-text.warning{color:var(--gold);}
.deadline-text.safe{color:var(--secondary);}
.tender-card-actions{display:flex;gap:8px;margin-top:14px;flex-wrap:wrap;}

/* ===== NAV ===== */
.navbar{background:#fff;border-bottom:1px solid var(--border);position:sticky;top:0;z-index:100;box-shadow:var(--shadow-sm);}
.navbar-inner{display:flex;align-items:center;justify-content:space-between;height:60px;}
.navbar-logo{display:flex;align-items:center;gap:8px;font-weight:700;font-size:18px;color:var(--primary);}
.navbar-logo .logo-icon{width:32px;height:32px;background:var(--primary);border-radius:8px;display:flex;align-items:center;justify-content:center;color:#fff;font-weight:800;font-size:14px;}
.navbar-links{display:flex;align-items:center;gap:24px;}
.navbar-links a{color:var(--text2);font-size:14px;font-weight:500;transition:color var(--transition);}
.navbar-links a:hover,.navbar-links a.active{color:var(--primary);}
.navbar-actions{display:flex;align-items:center;gap:12px;}
.navbar-mobile-menu{display:none;background:none;border:none;font-size:22px;}
@media(max-width:768px){.navbar-links{display:none;}.navbar-actions .btn-secondary{display:none;}.navbar-mobile-menu{display:block;}}

/* ===== HERO ===== */
.hero{background:linear-gradient(135deg,#5a5c00 0%,#8e9100 50%,#a8ab00 100%);padding:56px 0 48px;position:relative;overflow:hidden;}
.hero::before{content:"";position:absolute;inset:0;background:url("data:image/svg+xml,%3Csvg width='60' height='60' viewBox='0 0 60 60' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' fill-rule='evenodd'%3E%3Cg fill='%23ffffff' fill-opacity='0.04'%3E%3Ccircle cx='30' cy='30' r='5'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E");pointer-events:none;}
.hero-content{position:relative;z-index:1;}
.hero h1{color:#fff;font-size:32px;font-weight:800;line-height:1.2;max-width:600px;margin-bottom:12px;}
.hero h1 span{color:#93C5FD;}
.hero p{color:rgba(255,255,255,.8);font-size:16px;max-width:500px;margin-bottom:28px;}
@media(max-width:768px){.hero{padding:36px 0 32px;}.hero h1{font-size:26px;}}

/* ===== SEARCH BAR ===== */
.search-bar{display:flex;background:#fff;border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow-lg);max-width:600px;}
.search-bar input{flex:1;border:none;padding:14px 16px;font-size:15px;outline:none;color:var(--text1);}
.search-bar select{border:none;border-left:1px solid var(--border);padding:0 12px;font-size:14px;color:var(--text2);outline:none;background:#fff;min-width:110px;}
.search-bar button{background:var(--primary);color:#fff;padding:0 20px;font-weight:600;font-size:14px;transition:background var(--transition);white-space:nowrap;}
.search-bar button:hover{background:var(--primary-dark);}
@media(max-width:600px){.search-bar{flex-direction:column;border-radius:var(--radius);}.search-bar select{border-left:none;border-top:1px solid var(--border);padding:10px 12px;}.search-bar button{padding:13px;border-radius:0 0 var(--radius) var(--radius);}}

/* ===== SECTIONS ===== */
.section{padding:48px 0;}
.section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px;flex-wrap:wrap;gap:12px;}
.section-header h2{margin:0;}
@media(max-width:768px){.section{padding:32px 0;}}

/* ===== HORIZONTAL SCROLL ===== */
.h-scroll{display:flex;gap:16px;overflow-x:auto;padding-bottom:8px;scrollbar-width:none;}
.h-scroll::-webkit-scrollbar{display:none;}
.h-scroll .tender-card{min-width:300px;}

/* ===== STATS BAR ===== */
.stats-bar{background:#fff;border-radius:var(--radius);padding:20px;display:flex;justify-content:space-around;flex-wrap:wrap;gap:16px;box-shadow:var(--shadow-sm);border:1px solid var(--border);}
.stat-item{text-align:center;}
.stat-num{font-size:26px;font-weight:800;color:var(--primary);}
.stat-label{font-size:12px;color:var(--text2);margin-top:2px;}

/* ===== FEATURES SECTION ===== */
.feature-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;}
@media(max-width:768px){.feature-grid{grid-template-columns:1fr;}}
.feature-card{padding:24px;text-align:center;}
.feature-icon{width:56px;height:56px;border-radius:16px;background:var(--primary-light);display:flex;align-items:center;justify-content:center;font-size:24px;margin:0 auto 16px;}
.feature-card h3{margin-bottom:8px;}
.feature-card p{color:var(--text2);font-size:14px;line-height:1.7;}

/* ===== AI CHAT BUBBLE ===== */
.chat-bubble-btn {
  position: fixed;
  bottom: 24px;
  right: 20px;
  width: 64px;
  height: 64px;
  border-radius: 50%;
  background: var(--primary);
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 10px 30px rgba(5,150,105,0.4);
  cursor: pointer;
  z-index: 9999;
  border: none;
  transition: all 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275);
}
.chat-bubble-btn:hover {
  transform: scale(1.1) rotate(5deg);
  background: var(--secondary);
}
.chat-bubble-btn .icon-svg {
  width: 32px;
  height: 32px;
  background-size: contain;
  background-repeat: no-repeat;
  filter: brightness(0) invert(1);
}
.pulse-ring {
  position: absolute;
  width: 100%;
  height: 100%;
  border-radius: 50%;
  border: 2px solid var(--primary);
  animation: pulse-ring 2s infinite;
  pointer-events: none;
}
@keyframes pulse-ring {
  0% { transform: scale(1); opacity: 0.6; }
  100% { transform: scale(1.5); opacity: 0; }
}
.chat-badge {
  position: absolute;
  top: 0;
  right: 0;
  width: 20px;
  height: 20px;
  background: #ff4d4d;
  color: white;
  border-radius: 50%;
  font-size: 10px;
  font-weight: bold;
  display: flex;
  align-items: center;
  justify-content: center;
  border: 2px solid #fff;
  display: none;
}
.chat-badge.visible { display: flex; }

/* Icon Classes (Base64) */
.icon-svg { background-position: center; background-repeat: no-repeat; background-size: contain; display: inline-block !important; vertical-align: middle; }
.icon-msg { background-image: url("data:image/svg+xml;base64,PHN2ZyB2aWV3Qm94PSIwIDAgMjQgMjQiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggZD0iTTIwIDJINC0xLjEgMC0yIC45LTIgMnYxOGw0LTRoMTRjMS4xIDAgMi0uOSAyLTJWNGMwLTEuMS0uOS0yLTItMnpNMjAgMTRINmwtMiAyVjRoMTZ2MTJ6TTcgOWgxMHYySDd6bTAtM2gxMHYySDd6bTAgNmg3djJIN3oiLz48L3N2Zz4="); width: 32px !important; height: 32px !important; }
.icon-close { background-image: url("data:image/svg+xml;base64,PHN2ZyB2aWV3Qm94PSIwIDAgMjQgMjQiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggZD0iTTE5IDYuNDFMMTcuNTkgNSAxMiAxMC41OSA2LjQxIDUgNSA2LjQxIDEwLjU5IDEyIDUgMTcuNTkgNi40MSAxOSAxMiAxMy40MSAxNy41OSAxOSAxOSAxNy41OSAxMy40MSAxMiAxOSA2LjQxWiIvPjwvc3ZnPg=="); width: 22px !important; height: 22px !important; }
.icon-send { background-image: url("data:image/svg+xml;base64,PHN2ZyB2aWV3Qm94PSIwIDAgMjQgMjQiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggZD0iTTIuMDEgMjFMMjMgMTIgMi4wMSAzIDIgMTBsMTUgMi0xNSAyeiIvPjwvc3ZnPg=="); width: 22px !important; height: 22px !important; }
.icon-sparkle { background-image: url("data:image/svg+xml;base64,PHN2ZyB2aWV3Qm94PSIwIDAgMjQgMjQiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggZD0iTTEyIDJsMi40IDcuNkwyMiAxMmwtNy42IDIuNEwxMiAyMmwtMi40LTcuNkwyIDEybDcuNi0yLjR6Ii8+PC9zdmc+"); width: 18px !important; height: 18px !important; }

/* ===== CHAT PANEL ===== */
.chat-panel{position:fixed;z-index:10000;background:#fff;display:flex;flex-direction:column;transition:transform .3s cubic-bezier(.4,0,.2,1),opacity .3s;box-shadow:var(--shadow-lg);}
/* Desktop: right drawer */
@media(min-width:769px){
  .chat-panel{top:0;right:0;width:420px;height:100vh;border-left:1px solid var(--border);transform:translateX(100%);border-radius:0;}
  .chat-panel.open{transform:translateX(0);}
}
/* Mobile: bottom sheet */
@media(max-width:768px){
  .chat-panel{bottom:0;left:0;right:0;height:88vh;border-radius:20px 20px 0 0;transform:translateY(100%);}
  .chat-panel.open{transform:translateY(0);}
}
.chat-panel-header{padding:16px 20px;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;background:linear-gradient(135deg,var(--primary) 0%,#2563EB 100%);}
.chat-panel-title{color:#fff;font-weight:700;font-size:16px;display:flex;align-items:center;gap:8px;}
.chat-panel-title .ai-sparkle{font-size:18px;}
.chat-panel-subtitle{color:rgba(255,255,255,.75);font-size:12px;margin-top:2px;}
.chat-close-btn{background:transparent;border:none;width:32px;height:32px;display:flex;align-items:center;justify-content:center;transition:all var(--transition);cursor:pointer;flex-shrink:0;padding:0;outline:none;}
.chat-close-btn:hover{background:rgba(255,255,255,0.15);transform:rotate(90deg);border-radius:8px;}
.chat-close-btn .icon-svg{width:20px;height:20px;background-size:contain;background-repeat:no-repeat;filter:brightness(0) invert(1);}
.chat-messages{flex:1;overflow-y:auto;padding:16px;display:flex;flex-direction:column;gap:12px;scroll-behavior:smooth;}
.chat-empty{text-align:center;padding:24px 16px;color:var(--text2);}
.chat-empty .ai-face{font-size:48px;margin-bottom:12px;}
.chat-empty h4{color:var(--text1);margin-bottom:8px;}
.chat-empty p{font-size:14px;line-height:1.6;}
.chat-empty-prompts{display:flex;flex-direction:column;gap:8px;margin-top:20px;}
.msg{display:flex;flex-direction:column;max-width:85%;}
.msg-user{align-self:flex-end;align-items:flex-end;}
.msg-ai{align-self:flex-start;}
.msg-label{font-size:11px;color:var(--text3);margin-bottom:4px;font-weight:500;}
.msg-bubble{padding:12px 15px;border-radius:16px;font-size:14px;line-height:1.6;}
.msg-user .msg-bubble{background:var(--primary);color:#fff;border-radius:16px 16px 4px 16px;}
.msg-ai .msg-bubble{background:var(--ai-bg);color:var(--text1);border-radius:16px 16px 16px 4px;border:1px solid #E0E7FF;}
.msg-bubble strong{display:block;margin-bottom:4px;font-size:13px;}
.typing-indicator{display:flex;gap:5px;align-items:center;padding:14px 16px;background:var(--ai-bg);border-radius:16px 16px 16px 4px;width:fit-content;border:1px solid #E0E7FF;}
.typing-dot{width:7px;height:7px;border-radius:50%;background:var(--primary);animation:bounce .9s infinite;}
.typing-dot:nth-child(2){animation-delay:.15s;}
.typing-dot:nth-child(3){animation-delay:.3s;}
@keyframes bounce{0%,80%,100%{transform:scale(1);}40%{transform:scale(1.4);}}
.prompt-chips{display:flex;gap:8px;padding:12px 16px;overflow-x:auto;border-top:1px solid var(--border);scrollbar-width:none;}
.prompt-chips::-webkit-scrollbar{display:none;}
.chip{padding:7px 14px;border-radius:var(--radius-full);border:1.5px solid var(--border);font-size:13px;font-weight:500;color:var(--primary);background:#fff;white-space:nowrap;transition:all var(--transition);}
.chip:hover{background:var(--primary-light);border-color:var(--primary);}
.chat-input-row{padding:12px 16px;border-top:1px solid var(--border);display:flex;gap:8px;align-items:flex-end;background:#fff;}
.chat-input{flex:1;border:1.5px solid var(--border);border-radius:var(--radius-sm);padding:10px 14px;font-size:14px;outline:none;resize:none;max-height:100px;transition:border-color var(--transition);background:#fff;}
.chat-input:focus{border-color:var(--primary);}
.send-btn{background:var(--primary);border:none;width:42px;height:42px;border-radius:12px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all var(--transition);padding:0;outline:none;}
.send-btn:hover{background:var(--secondary);transform:scale(1.05);}
.send-btn:disabled{background:var(--border);cursor:not-allowed;transform:none;}
.send-btn .icon-svg{filter:brightness(0) invert(1);width:22px !important;height:22px !important;}
.credit-bar{padding:6px 16px;background:var(--primary-light);font-size:12px;color:var(--primary);font-weight:600;display:flex;justify-content:space-between;align-items:center;}
.credit-bar a{font-size:12px;font-weight:700;color:var(--primary);}

/* ===== AI TENDER RESULTS IN CHAT ===== */
.chat-tender-list{display:flex;flex-direction:column;gap:10px;margin-top:8px;}
.chat-tender-item{background:#fff;border:1px solid var(--border);border-radius:var(--radius-sm);padding:12px;box-shadow:var(--shadow-sm);}
.chat-tender-item h4{font-size:13px;font-weight:600;margin-bottom:4px;color:var(--text1);}
.chat-tender-item .meta{font-size:12px;color:var(--text2);margin-bottom:8px;}
.chat-tender-item .actions{display:flex;gap:6px;flex-wrap:wrap;}
.chat-tender-item .actions button,.chat-tender-item .actions a{font-size:12px;padding:5px 10px;border-radius:6px;}

/* ===== STEPS IN CHAT ===== */
.chat-steps{display:flex;flex-direction:column;gap:10px;margin-top:8px;}
.chat-step{display:flex;gap:10px;align-items:flex-start;}
.step-num{min-width:24px;height:24px;border-radius:50%;background:var(--primary);color:#fff;font-size:12px;font-weight:700;display:flex;align-items:center;justify-content:center;}
.step-body h5{font-size:13px;font-weight:600;margin-bottom:2px;}
.step-body p{font-size:12px;color:var(--text2);line-height:1.5;}

/* ===== EXPLAIN PANEL ===== */
.explain-overlay{position:fixed;inset:0;background:rgba(0,0,0,.4);z-index:500;opacity:0;visibility:hidden;transition:all .3s;}
.explain-overlay.open{opacity:1;visibility:visible;}
.explain-panel{position:fixed;z-index:501;background:#fff;overflow-y:auto;transition:transform .3s cubic-bezier(.4,0,.2,1);}
@media(min-width:769px){.explain-panel{top:0;right:0;width:480px;height:100vh;transform:translateX(100%);box-shadow:var(--shadow-lg);}
.explain-panel.open{transform:translateX(0);}}
@media(max-width:768px){.explain-panel{bottom:0;left:0;right:0;height:92vh;border-radius:20px 20px 0 0;transform:translateY(100%);}
.explain-panel.open{transform:translateY(0);}}
.explain-header{padding:18px 20px;border-bottom:1px solid var(--border);background:linear-gradient(135deg,#064E3B,var(--secondary));display:flex;justify-content:space-between;align-items:flex-start;position:sticky;top:0;z-index:1;}
.explain-header h3{color:#fff;font-size:15px;margin-bottom:2px;}
.explain-header p{color:rgba(255,255,255,.75);font-size:12px;}
.explain-close{background:transparent;border:none;color:#fff;width:32px;height:32px;display:flex;align-items:center;justify-content:center;padding:0;cursor:pointer;}
.explain-close:hover{background:rgba(255,255,255,0.1);transform:rotate(90deg);}
.explain-body{padding:20px;}
.explain-section{margin-bottom:20px;padding-bottom:20px;border-bottom:1px solid var(--border);}
.explain-section:last-child{border-bottom:none;}
.explain-section-title{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--text3);margin-bottom:10px;display:flex;align-items:center;gap:6px;}
.explain-section-title .icon{font-size:16px;}
.explain-section ul{display:flex;flex-direction:column;gap:6px;}
.explain-section li{font-size:14px;display:flex;align-items:flex-start;gap:8px;color:var(--text1);}
.explain-section li::before{content:"✓";color:var(--secondary);font-weight:700;flex-shrink:0;margin-top:1px;}
.explain-section p{font-size:14px;color:var(--text1);line-height:1.7;}
.explain-ctas{display:flex;gap:8px;flex-wrap:wrap;padding:20px;background:#FAFAFA;border-top:1px solid var(--border);position:sticky;bottom:0;}
.explain-loading{display:flex;flex-direction:column;gap:14px;padding:24px;}
.skeleton{background:linear-gradient(90deg,#f0f0f0 25%,#e0e0e0 50%,#f0f0f0 75%);background-size:200% 100%;animation:shimmer 1.5s infinite;border-radius:6px;}
@keyframes shimmer{0%{background-position:200% 0;}100%{background-position:-200% 0;}}
.skeleton-line{height:14px;margin-bottom:6px;}
.skeleton-block{height:80px;margin-bottom:6px;}

/* ===== ONBOARDING MODAL ===== */
.modal-overlay{position:fixed;inset:0;background:rgba(0,0,0,.5);z-index:600;display:flex;align-items:flex-end;justify-content:center;opacity:0;visibility:hidden;transition:all .3s;}
@media(min-width:600px){.modal-overlay{align-items:center;}}
.modal-overlay.open{opacity:1;visibility:visible;}
.modal-box{background:#fff;border-radius:20px 20px 0 0;padding:28px 24px 32px;width:100%;max-width:480px;position:relative;animation:slide-up .3s ease;}
@media(min-width:600px){.modal-box{border-radius:var(--radius);animation:none;}}
@keyframes slide-up{from{transform:translateY(40px);opacity:0;}to{transform:translateY(0);opacity:1;}}
.modal-progress{display:flex;gap:6px;margin-bottom:24px;}
.progress-dot{height:4px;border-radius:2px;flex:1;background:var(--border);transition:background .3s;}
.progress-dot.active{background:var(--primary);}
.modal-icon{font-size:36px;margin-bottom:10px;}
.modal-box h3{font-size:19px;font-weight:700;margin-bottom:6px;}
.modal-box p{font-size:14px;color:var(--text2);margin-bottom:20px;}
.select-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:16px;}
.select-option{padding:12px;border:1.5px solid var(--border);border-radius:var(--radius-sm);text-align:center;font-size:13px;font-weight:500;transition:all var(--transition);cursor:pointer;}
.select-option:hover{border-color:var(--primary);background:var(--primary-light);}
.select-option.selected{border-color:var(--primary);background:var(--primary-light);color:var(--primary);}
.select-option .opt-icon{font-size:22px;margin-bottom:4px;}
.form-select{width:100%;padding:12px;border:1.5px solid var(--border);border-radius:var(--radius-sm);font-size:14px;color:var(--text1);margin-bottom:12px;outline:none;transition:border-color var(--transition);}
.form-select:focus{border-color:var(--primary);}
.radio-group{display:flex;flex-direction:column;gap:8px;margin-bottom:16px;}
.radio-label{display:flex;align-items:center;gap:10px;padding:10px 14px;border:1.5px solid var(--border);border-radius:var(--radius-sm);cursor:pointer;font-size:14px;transition:all var(--transition);}
.radio-label:hover{border-color:var(--primary);}
.radio-label input{accent-color:var(--primary);}
.modal-actions{display:flex;justify-content:space-between;align-items:center;margin-top:16px;}

/* ===== PAYWALL MODAL ===== */
.paywall-box{max-width:420px;}
.paywall-icon{font-size:40px;text-align:center;margin-bottom:12px;}
.plan-card{border:2px solid var(--border);border-radius:var(--radius-sm);padding:16px;margin-bottom:12px;cursor:pointer;transition:all var(--transition);}
.plan-card:hover,.plan-card.selected{border-color:var(--primary);background:var(--primary-light);}
.plan-card.recommended{border-color:var(--primary);}
.plan-card-top{display:flex;justify-content:space-between;align-items:center;}
.plan-name{font-weight:700;font-size:15px;}
.plan-price{font-weight:800;font-size:18px;color:var(--primary);}
.plan-price span{font-size:12px;font-weight:400;color:var(--text2);}
.plan-features{font-size:13px;color:var(--text2);margin-top:6px;line-height:1.6;}
.credit-packs{display:flex;gap:8px;margin-bottom:14px;}
.credit-pack{flex:1;border:1.5px solid var(--border);border-radius:var(--radius-sm);padding:12px 8px;text-align:center;cursor:pointer;transition:all var(--transition);}
.credit-pack:hover{border-color:var(--primary);background:var(--primary-light);}
.credit-pack.selected{border-color:var(--primary);background:var(--primary-light);}
.pack-price{font-weight:800;color:var(--primary);font-size:16px;}
.pack-credits{font-size:12px;color:var(--text2);margin-top:2px;}

/* ===== DASHBOARD ===== */
.dashboard-layout{display:grid;grid-template-columns:250px 1fr;gap:24px;align-items:start;padding:32px 0;}
@media(max-width:900px){.dashboard-layout{grid-template-columns:1fr;}}
.sidebar{background:var(--card);border-radius:var(--radius);border:1px solid var(--border);padding:20px;position:sticky;top:80px;}
.sidebar-avatar{width:56px;height:56px;border-radius:50%;background:linear-gradient(135deg,var(--primary),#2563EB);display:flex;align-items:center;justify-content:center;color:#fff;font-weight:700;font-size:20px;margin-bottom:12px;}
.sidebar-name{font-weight:700;font-size:16px;}
.sidebar-plan{margin-top:4px;}
.sidebar-nav{margin-top:20px;display:flex;flex-direction:column;gap:4px;}
.sidebar-link{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:var(--radius-sm);font-size:14px;color:var(--text2);transition:all var(--transition);}
.sidebar-link:hover{background:var(--surface);color:var(--text1);}
.sidebar-link.active{background:var(--primary-light);color:var(--primary);font-weight:600;}
.sidebar-link .icon{font-size:17px;}
.upgrade-card{margin-top:20px;background:linear-gradient(135deg,var(--primary),#2563EB);border-radius:var(--radius-sm);padding:16px;color:#fff;}
.upgrade-card h4{font-size:14px;margin-bottom:6px;}
.upgrade-card p{font-size:12px;opacity:.85;margin-bottom:12px;line-height:1.5;}

/* ===== ALERT BANNER ===== */
.ai-banner{background:linear-gradient(90deg,var(--primary-light),#E0E7FF);border:1px solid #C7D2FE;border-radius:var(--radius-sm);padding:14px 18px;display:flex;align-items:center;gap:12px;margin-bottom:20px;}
.ai-banner-icon{font-size:22px;}
.ai-banner-text{flex:1;font-size:14px;color:var(--primary);}
.ai-banner-text strong{display:block;font-size:15px;margin-bottom:2px;}
.ai-banner button{flex-shrink:0;}

/* ===== TABS ===== */
.tabs{display:flex;gap:4px;border-bottom:2px solid var(--border);margin-bottom:24px;}
.tab-btn{padding:10px 16px;font-size:14px;font-weight:500;color:var(--text2);border-bottom:2px solid transparent;margin-bottom:-2px;transition:all var(--transition);}
.tab-btn.active{color:var(--primary);border-bottom-color:var(--primary);}
.tab-btn:hover{color:var(--text1);}

/* ===== EXPLAIN TRIGGER BANNER (on tender page) ===== */
.explain-trigger-banner{background:linear-gradient(90deg,#EEF2FF,#E0E7FF);border:1px solid #C7D2FE;border-radius:var(--radius-sm);padding:14px 18px;display:flex;gap:14px;align-items:center;margin-bottom:20px;flex-wrap:wrap;}
.explain-trigger-banner p{flex:1;font-size:14px;color:var(--primary-dark);}

/* ===== FULL TENDER PAGE ===== */
.tender-page-header{background:var(--card);border-radius:var(--radius);border:1px solid var(--border);padding:24px;margin-bottom:20px;}
.tender-page-header h1{font-size:22px;margin-bottom:8px;line-height:1.35;}
.tender-page-meta{display:flex;gap:16px;flex-wrap:wrap;font-size:14px;color:var(--text2);margin-top:12px;}
.tender-page-meta span{display:flex;align-items:center;gap:6px;}
.tender-page-value{font-size:22px;font-weight:700;color:var(--primary);}
.tender-alert{background:var(--danger-light);border:1px solid #FECACA;border-radius:var(--radius-sm);padding:14px 18px;display:flex;gap:10px;align-items:center;font-size:14px;color:var(--danger);margin-top:16px;}

/* ===== TOAST ===== */
.toast{position:fixed;bottom:90px;left:50%;transform:translateX(-50%) translateY(20px);background:#1F2937;color:#fff;padding:12px 20px;border-radius:var(--radius-full);font-size:14px;font-weight:500;opacity:0;visibility:hidden;transition:all .3s;z-index:2000;white-space:nowrap;}
.toast.show{opacity:1;visibility:visible;transform:translateX(-50%) translateY(0);}
@media(max-width:768px){.toast{bottom:100px;}}

/* ===== FOOTER ===== */
.footer{background:#111928;color:rgba(255,255,255,.7);padding:40px 0 24px;}
.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:32px;margin-bottom:32px;}
@media(max-width:768px){.footer-grid{grid-template-columns:1fr;gap:24px;}}
.footer-brand{font-weight:800;font-size:18px;color:#fff;margin-bottom:8px;display:flex;align-items:center;gap:8px;}
.footer-brand .logo-icon{width:28px;height:28px;background:var(--primary);border-radius:6px;display:flex;align-items:center;justify-content:center;color:#fff;font-weight:800;font-size:12px;}
.footer p{font-size:14px;line-height:1.7;}
.footer h5{color:#fff;font-size:14px;font-weight:600;margin-bottom:12px;}
.footer ul li{margin-bottom:8px;}
.footer ul a{color:rgba(255,255,255,.6);font-size:14px;transition:color var(--transition);}
.footer ul a:hover{color:#fff;}
.footer-bottom{border-top:1px solid rgba(255,255,255,.1);padding-top:20px;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:12px;font-size:13px;}

/* ===== MISC ===== */
.divider{border:none;border-top:1px solid var(--border);margin:24px 0;}
.page-hidden{display:none!important;}
.fade-in{animation:fade-in .4s ease;}
@keyframes fade-in{from{opacity:0;transform:translateY(8px);}to{opacity:1;transform:translateY(0);}}
