/* ═══════════════════════════════════════════
   Amish Network System v5 — Complete Styles
   ═══════════════════════════════════════════ */
*, *::before, *::after { box-sizing: border-box; }

.ans-req { color: #ea580c; }

/* ── REGISTRATION FORM (user's original design) ─────────────── */
.amish-network-form { max-width: 900px; margin: 0 auto; background: #fff; border-radius: 16px; box-shadow: 0 15px 35px -10px rgba(0,0,0,.08); font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif; color: #1e293b; overflow: hidden; border: 1px solid #e2e8f0; }
.form-header { background: linear-gradient(135deg,#2c3e50,#1a252f); padding: 30px; color: #fff; text-align: center; }
.form-header h1 { margin: 0 0 6px; font-size: 1.8rem; font-weight: 800; letter-spacing: -.5px; }
.form-header p { margin: 0; font-size: .95rem; opacity: .8; }
.form-body { padding: 40px; }

.login-prompt-banner { background: #f8fafc; border: 1px solid #cbd5e1; padding: 16px 20px; border-radius: 10px; text-align: center; margin-bottom: 30px; font-size: .95rem; color: #475569; display: flex; justify-content: center; align-items: center; gap: 10px; flex-wrap: wrap; }
.login-prompt-banner a { background: #fff; color: #ea580c; font-weight: 700; text-decoration: none; padding: 7px 18px; border-radius: 7px; border: 1px solid #e2e8f0; box-shadow: 0 2px 4px rgba(0,0,0,.04); transition: .2s; }
.login-prompt-banner a:hover { background: #ea580c; color: #fff; border-color: #ea580c; }

.role-selection-box { background: #fcfcfc; padding: 20px; border-radius: 10px; border: 1px solid #e2e8f0; border-left: 5px solid #ea580c; margin-bottom: 30px; }
.role-selection-box label { font-size: 1rem; color: #0f172a; font-weight: 700; margin-bottom: 10px; display: block; }

.anish-pro-grid { display: grid; grid-template-columns: repeat(2,1fr); gap: 16px 20px; margin-bottom: 20px; }
.anish-pro-group { display: flex; flex-direction: column; }
.anish-pro-group label { font-size: .78rem; font-weight: 700; text-transform: uppercase; letter-spacing: .5px; margin-bottom: 6px; color: #475569; }

.anish-pro-input { width: 100%; padding: 12px 14px; background: #fcfcfc; border: 1px solid #cbd5e1; border-radius: 8px; font-size: .95rem; color: #1e293b; transition: .2s; outline: none; -webkit-appearance: none; font-family: inherit; }
.anish-pro-input:focus { background: #fff; border-color: #ea580c; box-shadow: 0 0 0 3px rgba(234,88,12,.1); }
select.anish-pro-input { background-image: url("data:image/svg+xml;charset=US-ASCII,%3Csvg xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22 width%3D%22292%22 height%3D%22292%22%3E%3Cpath fill%3D%22%23475569%22 d%3D%22M287 69.4a17.6 17.6 0 0 0-13-5.4H18.4c-5 0-9.3 1.8-12.9 5.4A17.6 17.6 0 0 0 0 82.2c0 5 1.8 9.3 5.4 12.9l128 128c3.6 3.6 7.8 5.4 12.8 5.4s9.2-1.8 12.8-5.4L287 95c3.5-3.5 5.4-7.8 5.4-12.8 0-5-1.9-9.2-5.4-12.8z%22%2F%3E%3C%2Fsvg%3E"); background-repeat: no-repeat; background-position: right 1rem center; background-size: .65rem; cursor: pointer; padding-right: 2.5rem; }
textarea.anish-pro-input { resize: vertical; min-height: 96px; }

.form-section-title { font-size: 1rem; font-weight: 800; text-transform: uppercase; letter-spacing: 1.5px; color: #334155; margin: 30px 0 16px; padding-bottom: 10px; border-bottom: 2px solid #e2e8f0; }

.file-input-wrapper { position: relative; width: 100%; }
.file-input-wrapper input[type="file"] { position: absolute; width: .1px; height: .1px; opacity: 0; pointer-events: none; }
.file-input-wrapper label { display: block; background: #f8fafc; color: #475569; border: 1px solid #cbd5e1; border-radius: 8px; padding: 12px; text-align: center; font-size: .9rem; font-weight: 600; cursor: pointer; transition: .2s; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.file-input-wrapper label:hover { background: #fff; border-color: #ea580c; color: #ea580c; }

.conditional-section { display: none; background: #fff8f1; border: 1px solid #fdba74; padding: 20px; border-radius: 10px; margin-bottom: 20px; margin-top: 4px; }
.conditional-section h4 { margin: 0 0 16px; color: #c2410c; font-size: 1rem; font-weight: 800; }

.skills-list { display: grid; grid-template-columns: repeat(2,1fr); gap: 10px; background: #f8fafc; padding: 16px; border-radius: 10px; border: 1px solid #e2e8f0; }
.skill-item { display: flex; align-items: center; gap: 8px; font-size: .9rem; color: #334155; cursor: pointer; }
.skill-item input[type="checkbox"] { accent-color: #ea580c; width: 16px; height: 16px; cursor: pointer; flex-shrink: 0; }

.disclaimer-text { font-size: .85rem; color: #64748b; text-align: center; font-weight: 600; line-height: 1.6; margin-top: 28px; }

.pro-submit-btn { background: linear-gradient(135deg,#f97316,#ea580c); color: #fff; border: none; border-radius: 8px; padding: 16px 28px; font-size: 1.05rem; font-weight: 800; width: 100%; cursor: pointer; margin-top: 16px; transition: .3s; box-shadow: 0 8px 15px -5px rgba(234,88,12,.3); display: inline-flex; align-items: center; justify-content: center; gap: 10px; font-family: inherit; }
.pro-submit-btn:hover:not(:disabled) { transform: translateY(-2px); box-shadow: 0 12px 25px -5px rgba(234,88,12,.4); }
.pro-submit-btn:disabled { background: #cbd5e1; box-shadow: none; cursor: not-allowed; transform: none; }

.msg-success { background: #ecfdf5; color: #059669; border: 1px solid #a7f3d0; }
.msg-error   { background: #fef2f2; color: #dc2626; border: 1px solid #fecaca; }

/* Password show/hide */
.ans-pw-wrap { position: relative; display: flex; align-items: center; }
.ans-pw-wrap .anish-pro-input, .ans-pw-wrap .ans-pinput { padding-right: 44px; }
.ans-eye { position: absolute; right: 10px; background: none; border: none; cursor: pointer; color: #94a3b8; padding: 4px; font-size: 15px; line-height: 1; }

/* Spinner */
.ans-spin { display: inline-block; width: 16px; height: 16px; border: 2px solid rgba(255,255,255,.35); border-top-color: #fff; border-radius: 50%; animation: ansSpin .65s linear infinite; vertical-align: middle; margin-left: 4px; }
@keyframes ansSpin { to { transform: rotate(360deg); } }

/* Messages */
.ans-msg { padding: 13px 16px; border-radius: 10px; font-size: .9rem; font-weight: 600; line-height: 1.5; }
.ans-msg-ok  { background: #f0fdf4; color: #16a34a; border: 1px solid #bbf7d0; }
.ans-msg-err { background: #fef2f2; color: #dc2626; border: 1px solid #fecaca; }

/* ── PORTAL (Login) ─────────────────────────────────────────── */
.ans-portal-wrap { display: flex; align-items: center; justify-content: center; min-height: 55vh; padding: 40px 16px; font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; }
.ans-portal-card { background: #fff; border-radius: 22px; width: 100%; max-width: 460px; box-shadow: 0 20px 60px rgba(0,0,0,.12); overflow: hidden; border: 1px solid #f1f5f9; }
.ans-portal-head { background: linear-gradient(135deg,#0f172a,#1e293b); padding: 36px 36px 28px; text-align: center; }
.ans-portal-icon { width: 56px; height: 56px; background: rgba(234,88,12,.2); border-radius: 14px; display: flex; align-items: center; justify-content: center; margin: 0 auto 16px; font-size: 25px; border: 1px solid rgba(234,88,12,.4); }
.ans-portal-head h2 { margin: 0 0 6px; font-size: 1.45rem; font-weight: 800; color: #fff; letter-spacing: -.4px; }
.ans-portal-head p  { margin: 0; color: rgba(255,255,255,.6); font-size: .88rem; }
.ans-portal-tabs { display: flex; border-bottom: 2px solid #f1f5f9; }
.ans-ptab { flex: 1; background: none; border: none; padding: 14px 8px; font-size: .87rem; font-weight: 700; color: #94a3b8; cursor: pointer; border-bottom: 2px solid transparent; margin-bottom: -2px; transition: .2s; font-family: inherit; }
.ans-ptab.active { color: #ea580c; border-bottom-color: #ea580c; }
.ans-portal-body { padding: 30px 34px; }
.ans-ptab-pane { display: none; }
.ans-ptab-pane.active { display: block; }
.ans-portal-help { font-size: .88rem; color: #64748b; line-height: 1.6; margin-bottom: 20px; }
.ans-pf { margin-bottom: 16px; }
.ans-pf label { display: block; font-size: .77rem; font-weight: 700; text-transform: uppercase; letter-spacing: .5px; color: #475569; margin-bottom: 7px; }
.ans-pinput { width: 100%; padding: 12px 14px; background: #f8fafc; border: 1.5px solid #e2e8f0; border-radius: 9px; font-size: .95rem; color: #0f172a; outline: none; transition: .2s; font-family: inherit; }
.ans-pinput:focus { background: #fff; border-color: #ea580c; box-shadow: 0 0 0 3px rgba(234,88,12,.09); }
.ans-pbtn { width: 100%; background: linear-gradient(135deg,#f97316,#ea580c); color: #fff; border: none; padding: 14px; border-radius: 10px; font-size: 1rem; font-weight: 800; cursor: pointer; font-family: inherit; transition: .3s; box-shadow: 0 6px 18px rgba(234,88,12,.22); display: flex; align-items: center; justify-content: center; gap: 10px; margin-top: 6px; }
.ans-pbtn:hover:not(:disabled) { transform: translateY(-2px); box-shadow: 0 10px 26px rgba(234,88,12,.32); }
.ans-pbtn:disabled { opacity: .65; cursor: not-allowed; transform: none; }

/* ── DASHBOARD ──────────────────────────────────────────────── */
.ans-dash { max-width: 1100px; margin: 0 auto 60px; font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; color: #1e293b; }
.ans-dash-topbar { background: linear-gradient(135deg,#0f172a,#1e293b); border-radius: 18px; padding: 22px 28px; display: flex; justify-content: space-between; align-items: center; margin-bottom: 18px; box-shadow: 0 6px 24px rgba(15,23,42,.14); flex-wrap: wrap; gap: 16px; }
.ans-dash-topbar-left { display: flex; align-items: center; gap: 14px; }
.ans-av-circle { width: 46px; height: 46px; background: linear-gradient(135deg,#f97316,#ea580c); border-radius: 12px; display: flex; align-items: center; justify-content: center; font-size: 19px; font-weight: 800; color: #fff; flex-shrink: 0; }
.ans-dash-greeting { font-size: 1.05rem; font-weight: 800; color: #fff; display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }
.ans-dash-email { font-size: .8rem; color: rgba(255,255,255,.5); margin-top: 2px; }
.ans-status-pill { display: inline-flex; align-items: center; gap: 5px; padding: 3px 12px; border-radius: 20px; font-size: .7rem; font-weight: 700; text-transform: uppercase; letter-spacing: .3px; white-space: nowrap; }
.pill-live { background: rgba(16,185,129,.2); color: #34d399; border: 1px solid rgba(16,185,129,.3); }
.pill-wait { background: rgba(251,191,36,.2); color: #fbbf24; border: 1px solid rgba(251,191,36,.3); }
.ans-dash-topbar-right { display: flex; gap: 10px; align-items: center; }
.ans-top-link { color: rgba(255,255,255,.75); text-decoration: none; font-weight: 600; font-size: .84rem; padding: 8px 14px; border: 1px solid rgba(255,255,255,.2); border-radius: 8px; transition: .2s; white-space: nowrap; }
.ans-top-link:hover { background: rgba(255,255,255,.08); color: #fff; }
.ans-top-link-red { color: #f87171 !important; border-color: rgba(248,113,113,.25) !important; }
.ans-top-link-red:hover { background: rgba(248,113,113,.1) !important; }

.ans-stats-strip { display: grid; grid-template-columns: repeat(4,1fr); gap: 12px; margin-bottom: 18px; }
.ans-stat-item { background: #fff; border: 1px solid #f1f5f9; border-radius: 12px; padding: 16px 18px; box-shadow: 0 2px 6px rgba(0,0,0,.03); }
.ans-stat-lbl { font-size: .7rem; font-weight: 700; color: #94a3b8; text-transform: uppercase; letter-spacing: .5px; margin-bottom: 5px; }
.ans-stat-val { font-size: .95rem; font-weight: 800; color: #0f172a; word-break: break-word; }
.s-green { color: #16a34a; }
.s-orange { color: #ea580c; }

.ans-info-banner { background: #fffbeb; color: #92400e; border: 1px solid #fde68a; border-radius: 10px; padding: 12px 18px; font-size: .88rem; font-weight: 600; margin-bottom: 16px; }

.ans-dash-tab-row { display: flex; gap: 4px; background: #fff; padding: 6px; border-radius: 13px; border: 1px solid #f1f5f9; margin-bottom: 18px; box-shadow: 0 2px 8px rgba(0,0,0,.04); flex-wrap: wrap; }
.ans-dtab { flex: 1; min-width: 80px; background: transparent; border: none; padding: 10px 12px; border-radius: 8px; font-size: .85rem; font-weight: 600; color: #64748b; cursor: pointer; transition: .18s; font-family: inherit; white-space: nowrap; text-align: center; }
.ans-dtab:hover { background: #f8fafc; color: #0f172a; }
.ans-dtab.active { background: #ea580c; color: #fff; font-weight: 700; }

.ans-dpane { display: none; animation: ansFade .22s ease; }
.ans-dpane.active { display: block; }
@keyframes ansFade { from { opacity:0; transform:translateY(4px); } to { opacity:1; transform:translateY(0); } }

.ans-dpanel { background: #fff; border-radius: 16px; border: 1px solid #f1f5f9; padding: 28px 30px; box-shadow: 0 3px 14px rgba(0,0,0,.04); }
.ans-dpanel-hd { margin-bottom: 22px; padding-bottom: 16px; border-bottom: 1px solid #f1f5f9; }
.ans-dpanel-hd h3 { margin: 0 0 4px; font-size: 1rem; font-weight: 800; color: #0f172a; }
.ans-dpanel-hd p  { margin: 0; font-size: .82rem; color: #94a3b8; }
.ans-dfield { margin-bottom: 18px; }

.ans-save-bar { display: flex; justify-content: space-between; align-items: center; background: #fff; border: 1px solid #f1f5f9; border-radius: 13px; padding: 18px 24px; margin-top: 18px; box-shadow: 0 3px 14px rgba(0,0,0,.04); }

.ans-no-profile { display: flex; align-items: center; justify-content: center; padding: 80px 20px; font-family: sans-serif; text-align: center; }
.ans-no-profile div { background: #fff; border-radius: 20px; padding: 50px 40px; max-width: 400px; box-shadow: 0 16px 40px rgba(0,0,0,.08); border: 1px solid #f1f5f9; }

/* ── SEARCH ─────────────────────────────────────────────────── */
.ans-search-outer { font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; }
.ans-search-bar-wrap { display: flex; gap: 10px; flex-wrap: wrap; align-items: center; background: #fff; padding: 12px; border-radius: 16px; box-shadow: 0 8px 30px rgba(0,0,0,.08); border: 1px solid #e2e8f0; margin-bottom: 28px; }
.ans-search-input-box { flex: 1; min-width: 200px; display: flex; align-items: center; gap: 10px; background: #f8fafc; border: 1.5px solid #e2e8f0; border-radius: 10px; padding: 10px 14px; transition: .2s; }
.ans-search-input-box:focus-within { border-color: #ea580c; background: #fff; box-shadow: 0 0 0 3px rgba(234,88,12,.08); }
.ans-search-input { border: none; background: transparent; width: 100%; font-size: .95rem; color: #0f172a; outline: none; font-family: inherit; }
.ans-search-select { padding: 10px 36px 10px 14px; border: 1.5px solid #e2e8f0; border-radius: 10px; font-size: .9rem; background: #f8fafc; color: #475569; font-weight: 600; font-family: inherit; outline: none; cursor: pointer; -webkit-appearance: none; background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%2394a3b8' stroke-width='2'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E"); background-repeat: no-repeat; background-position: right 10px center; }

.ans-results-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(300px,1fr)); gap: 20px; }
.ans-rcard { background: #fff; border: 1px solid #e2e8f0; border-radius: 16px; overflow: hidden; box-shadow: 0 2px 8px rgba(0,0,0,.05); transition: transform .25s, box-shadow .25s; display: flex; flex-direction: column; }
.ans-rcard:hover { transform: translateY(-4px); box-shadow: 0 12px 28px rgba(0,0,0,.1); }
.ans-rcard-head { display: flex; gap: 14px; align-items: center; padding: 18px 18px 14px; border-bottom: 1px solid #f1f5f9; background: #fafafa; }
.ans-rcard-thumb { width: 52px; height: 52px; border-radius: 50%; object-fit: cover; flex-shrink: 0; border: 2px solid #e2e8f0; }
.ans-rcard-thumb-ph { width: 52px; height: 52px; border-radius: 50%; background: linear-gradient(135deg,#f97316,#ea580c); display: flex; align-items: center; justify-content: center; font-size: 20px; font-weight: 800; color: #fff; flex-shrink: 0; }
.ans-rcard-hi { flex: 1; min-width: 0; }
.ans-rcard-type { background: #f1f5f9; color: #475569; padding: 3px 10px; border-radius: 20px; font-size: .7rem; font-weight: 700; text-transform: uppercase; letter-spacing: .3px; display: inline-block; margin-bottom: 4px; }
.ans-rcard-name { margin: 0 0 3px; font-size: 1rem; font-weight: 800; color: #0f172a; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.ans-rcard-loc { font-size: .8rem; color: #64748b; }
.ans-rcard-body { padding: 14px 18px; flex: 1; }
.ans-rcard-row { display: flex; align-items: flex-start; gap: 10px; margin-bottom: 10px; font-size: .86rem; color: #475569; }
.ans-rcard-row:last-child { margin-bottom: 0; }
.ans-rcard-row span { flex-shrink: 0; font-size: 14px; margin-top: 1px; }
.ans-rcard-row strong { display: block; font-size: .7rem; text-transform: uppercase; letter-spacing: .3px; color: #94a3b8; margin-bottom: 2px; }
.ans-rcard-cta { display: block; background: #0f172a; color: #fff !important; text-align: center; padding: 13px; text-decoration: none; font-weight: 700; font-size: .88rem; transition: background .2s; }
.ans-rcard-cta:hover { background: #1e293b; }

/* ── PROFILE CARD ───────────────────────────────────────────── */
.ans-pc { font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; max-width: 900px; margin: 0 auto; }
.ans-pc-hero { background: linear-gradient(135deg,#0f172a,#1e293b); border-radius: 20px; padding: 36px; display: flex; gap: 24px; align-items: flex-start; justify-content: space-between; margin-bottom: 18px; flex-wrap: wrap; }
.ans-pc-hero-l { display: flex; gap: 18px; align-items: flex-start; flex: 1; min-width: 220px; }
.ans-pc-av { width: 84px; height: 84px; border-radius: 50%; object-fit: cover; border: 3px solid rgba(255,255,255,.2); flex-shrink: 0; }
.ans-pc-av-ph { width: 84px; height: 84px; border-radius: 50%; background: linear-gradient(135deg,#f97316,#ea580c); display: flex; align-items: center; justify-content: center; font-size: 32px; font-weight: 800; color: #fff; flex-shrink: 0; }
.ans-pc-badges { display: flex; gap: 8px; flex-wrap: wrap; margin-bottom: 10px; }
.ans-pc-badge-v { background: rgba(16,185,129,.2); color: #34d399; border: 1px solid rgba(16,185,129,.3); padding: 4px 12px; border-radius: 20px; font-size: .7rem; font-weight: 700; text-transform: uppercase; }
.ans-pc-badge-t { background: rgba(99,102,241,.2); color: #a5b4fc; border: 1px solid rgba(99,102,241,.3); padding: 4px 12px; border-radius: 20px; font-size: .7rem; font-weight: 700; text-transform: uppercase; }
.ans-pc-company { margin: 0 0 4px; color: #fff; font-size: 1.7rem; font-weight: 800; letter-spacing: -.4px; line-height: 1.2; }
.ans-pc-loc { margin: 0; color: rgba(255,255,255,.55); font-size: .88rem; }
.ans-pc-logo { max-height: 46px; max-width: 150px; object-fit: contain; filter: brightness(0) invert(1); opacity: .75; align-self: center; }
.ans-pc-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.ans-pc-box { background: #fff; border: 1px solid #f1f5f9; border-radius: 14px; padding: 22px; box-shadow: 0 2px 8px rgba(0,0,0,.04); }
.ans-pc-box h3 { margin: 0 0 14px; font-size: .7rem; font-weight: 700; color: #94a3b8; text-transform: uppercase; letter-spacing: .6px; }
.ans-pc-row { display: flex; align-items: flex-start; gap: 10px; margin-bottom: 12px; color: #475569; font-size: .88rem; line-height: 1.4; }
.ans-pc-row:last-child { margin-bottom: 0; }
.ans-pc-row span { flex-shrink: 0; font-size: 15px; }
.ans-pc-row strong { display: block; font-size: .7rem; text-transform: uppercase; color: #94a3b8; letter-spacing: .3px; margin-bottom: 2px; }
.ans-pc-row a { color: #ea580c; text-decoration: none; }
.ans-pc-tags { display: flex; flex-wrap: wrap; gap: 8px; }
.ans-pc-tag { background: #f1f5f9; color: #475569; padding: 5px 12px; border-radius: 20px; font-size: .8rem; font-weight: 600; }
.ans-pc-wide { grid-column: 1 / -1; }
.ans-pc-box p { margin: 0; color: #475569; font-size: .9rem; line-height: 1.7; }

/* ── RESPONSIVE ─────────────────────────────────────────────── */
@media(max-width:768px){
    .form-body { padding: 24px 16px; }
    .form-header { padding: 24px 16px; }
    .form-header h1 { font-size: 1.5rem; }
    .anish-pro-grid { grid-template-columns: 1fr; gap: 14px; }
    .login-prompt-banner { flex-direction: column; }
    .skills-list { grid-template-columns: 1fr; }
    .ans-stats-strip { grid-template-columns: 1fr 1fr; }
    .ans-dash-topbar { padding: 18px; flex-direction: column; }
    .ans-dash-tab-row { overflow-x: auto; }
    .ans-dtab { flex: none; }
    .ans-dpanel { padding: 22px 16px; }
    .ans-save-bar { flex-direction: column; gap: 12px; text-align: center; }
    .ans-save-bar .pro-submit-btn { width: 100% !important; }
    .ans-pc-grid { grid-template-columns: 1fr; }
    .ans-pc-hero { padding: 24px 18px; flex-direction: column; }
    .ans-pc-company { font-size: 1.3rem; }
    .ans-results-grid { grid-template-columns: 1fr; }
    .ans-search-bar-wrap { flex-direction: column; }
    .ans-search-bar-wrap .pro-submit-btn { width: 100% !important; }
    .ans-portal-head { padding: 28px 24px 22px; }
    .ans-portal-body { padding: 24px 22px; }
}
