mind-link-ai-widget
Version:
A react widget for React Web and React-Native Mobile integrations.
736 lines (687 loc) • 26.1 kB
JavaScript
import m, { createContext as T, useContext as W, useState as g, useRef as V, useEffect as H } from "react";
import { useNavigate as F } from "react-router-dom";
var O = { exports: {} }, b = {};
/**
* @license React
* react-jsx-runtime.production.min.js
*
* Copyright (c) Facebook, Inc. and its affiliates.
*
* This source code is licensed under the MIT license found in the
* LICENSE file in the root directory of this source tree.
*/
var A;
function J() {
if (A) return b;
A = 1;
var e = m, t = Symbol.for("react.element"), n = Symbol.for("react.fragment"), i = Object.prototype.hasOwnProperty, c = e.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner, d = { key: !0, ref: !0, __self: !0, __source: !0 };
function p(u, a, v) {
var l, h = {}, x = null, j = null;
v !== void 0 && (x = "" + v), a.key !== void 0 && (x = "" + a.key), a.ref !== void 0 && (j = a.ref);
for (l in a) i.call(a, l) && !d.hasOwnProperty(l) && (h[l] = a[l]);
if (u && u.defaultProps) for (l in a = u.defaultProps, a) h[l] === void 0 && (h[l] = a[l]);
return { $$typeof: t, type: u, key: x, ref: j, props: h, _owner: c.current };
}
return b.Fragment = n, b.jsx = p, b.jsxs = p, b;
}
var S;
function K() {
return S || (S = 1, O.exports = J()), O.exports;
}
var r = K(), P = {
color: void 0,
size: void 0,
className: void 0,
style: void 0,
attr: void 0
}, _ = m.createContext && /* @__PURE__ */ m.createContext(P), Y = ["attr", "size", "title"];
function q(e, t) {
if (e == null) return {};
var n = $(e, t), i, c;
if (Object.getOwnPropertySymbols) {
var d = Object.getOwnPropertySymbols(e);
for (c = 0; c < d.length; c++)
i = d[c], !(t.indexOf(i) >= 0) && Object.prototype.propertyIsEnumerable.call(e, i) && (n[i] = e[i]);
}
return n;
}
function $(e, t) {
if (e == null) return {};
var n = {};
for (var i in e)
if (Object.prototype.hasOwnProperty.call(e, i)) {
if (t.indexOf(i) >= 0) continue;
n[i] = e[i];
}
return n;
}
function w() {
return w = Object.assign ? Object.assign.bind() : function(e) {
for (var t = 1; t < arguments.length; t++) {
var n = arguments[t];
for (var i in n)
Object.prototype.hasOwnProperty.call(n, i) && (e[i] = n[i]);
}
return e;
}, w.apply(this, arguments);
}
function I(e, t) {
var n = Object.keys(e);
if (Object.getOwnPropertySymbols) {
var i = Object.getOwnPropertySymbols(e);
t && (i = i.filter(function(c) {
return Object.getOwnPropertyDescriptor(e, c).enumerable;
})), n.push.apply(n, i);
}
return n;
}
function y(e) {
for (var t = 1; t < arguments.length; t++) {
var n = arguments[t] != null ? arguments[t] : {};
t % 2 ? I(Object(n), !0).forEach(function(i) {
Q(e, i, n[i]);
}) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(n)) : I(Object(n)).forEach(function(i) {
Object.defineProperty(e, i, Object.getOwnPropertyDescriptor(n, i));
});
}
return e;
}
function Q(e, t, n) {
return t = G(t), t in e ? Object.defineProperty(e, t, { value: n, enumerable: !0, configurable: !0, writable: !0 }) : e[t] = n, e;
}
function G(e) {
var t = X(e, "string");
return typeof t == "symbol" ? t : t + "";
}
function X(e, t) {
if (typeof e != "object" || !e) return e;
var n = e[Symbol.toPrimitive];
if (n !== void 0) {
var i = n.call(e, t);
if (typeof i != "object") return i;
throw new TypeError("@@toPrimitive must return a primitive value.");
}
return (t === "string" ? String : Number)(e);
}
function k(e) {
return e && e.map((t, n) => /* @__PURE__ */ m.createElement(t.tag, y({
key: n
}, t.attr), k(t.child)));
}
function f(e) {
return (t) => /* @__PURE__ */ m.createElement(Z, w({
attr: y({}, e.attr)
}, t), k(e.child));
}
function Z(e) {
var t = (n) => {
var {
attr: i,
size: c,
title: d
} = e, p = q(e, Y), u = c || n.size || "1em", a;
return n.className && (a = n.className), e.className && (a = (a ? a + " " : "") + e.className), /* @__PURE__ */ m.createElement("svg", w({
stroke: "currentColor",
fill: "currentColor",
strokeWidth: "0"
}, n.attr, i, p, {
className: a,
style: y(y({
color: e.color || n.color
}, n.style), e.style),
height: u,
width: u,
xmlns: "http://www.w3.org/2000/svg"
}), d && /* @__PURE__ */ m.createElement("title", null, d), e.children);
};
return _ !== void 0 ? /* @__PURE__ */ m.createElement(_.Consumer, null, (n) => t(n)) : t(P);
}
function ee(e) {
return f({ attr: { viewBox: "0 0 460 512" }, child: [{ tag: "path", attr: { d: "M220.6 130.3l-67.2 28.2V43.2L98.7 233.5l54.7-24.2v130.3l67.2-209.3zm-83.2-96.7l-1.3 4.7-15.2 52.9C80.6 106.7 52 145.8 52 191.5c0 52.3 34.3 95.9 83.4 105.5v53.6C57.5 340.1 0 272.4 0 191.6c0-80.5 59.8-147.2 137.4-158zm311.4 447.2c-11.2 11.2-23.1 12.3-28.6 10.5-5.4-1.8-27.1-19.9-60.4-44.4-33.3-24.6-33.6-35.7-43-56.7-9.4-20.9-30.4-42.6-57.5-52.4l-9.7-14.7c-24.7 16.9-53 26.9-81.3 28.7l2.1-6.6 15.9-49.5c46.5-11.9 80.9-54 80.9-104.2 0-54.5-38.4-102.1-96-107.1V32.3C254.4 37.4 320 106.8 320 191.6c0 33.6-11.2 64.7-29 90.4l14.6 9.6c9.8 27.1 31.5 48 52.4 57.4s32.2 9.7 56.8 43c24.6 33.2 42.7 54.9 44.5 60.3s.7 17.3-10.5 28.5zm-9.9-17.9c0-4.4-3.6-8-8-8s-8 3.6-8 8 3.6 8 8 8 8-3.6 8-8z" }, child: [] }] })(e);
}
function z(e) {
return f({ attr: { viewBox: "0 0 448 512" }, child: [{ tag: "path", attr: { d: "M190.5 66.9l22.2-22.2c9.4-9.4 24.6-9.4 33.9 0L441 239c9.4 9.4 9.4 24.6 0 33.9L246.6 467.3c-9.4 9.4-24.6 9.4-33.9 0l-22.2-22.2c-9.5-9.5-9.3-25 .4-34.3L311.4 296H24c-13.3 0-24-10.7-24-24v-32c0-13.3 10.7-24 24-24h287.4L190.9 101.2c-9.8-9.3-10-24.8-.4-34.3z" }, child: [] }] })(e);
}
function re(e) {
return f({ attr: { viewBox: "0 0 576 512" }, child: [{ tag: "path", attr: { d: "M208 0c-29.9 0-54.7 20.5-61.8 48.2-.8 0-1.4-.2-2.2-.2-35.3 0-64 28.7-64 64 0 4.8.6 9.5 1.7 14C52.5 138 32 166.6 32 200c0 12.6 3.2 24.3 8.3 34.9C16.3 248.7 0 274.3 0 304c0 33.3 20.4 61.9 49.4 73.9-.9 4.6-1.4 9.3-1.4 14.1 0 39.8 32.2 72 72 72 4.1 0 8.1-.5 12-1.2 9.6 28.5 36.2 49.2 68 49.2 39.8 0 72-32.2 72-72V64c0-35.3-28.7-64-64-64zm368 304c0-29.7-16.3-55.3-40.3-69.1 5.2-10.6 8.3-22.3 8.3-34.9 0-33.4-20.5-62-49.7-74 1-4.5 1.7-9.2 1.7-14 0-35.3-28.7-64-64-64-.8 0-1.5.2-2.2.2C422.7 20.5 397.9 0 368 0c-35.3 0-64 28.6-64 64v376c0 39.8 32.2 72 72 72 31.8 0 58.4-20.7 68-49.2 3.9.7 7.9 1.2 12 1.2 39.8 0 72-32.2 72-72 0-4.8-.5-9.5-1.4-14.1 29-12 49.4-40.6 49.4-73.9z" }, child: [] }] })(e);
}
function te(e) {
return f({ attr: { viewBox: "0 0 512 512" }, child: [{ tag: "path", attr: { d: "M320.2 243.8l-49.7 99.4c-6 12.1-23.4 11.7-28.9-.6l-56.9-126.3-30 71.7H60.6l182.5 186.5c7.1 7.3 18.6 7.3 25.7 0L451.4 288H342.3l-22.1-44.2zM473.7 73.9l-2.4-2.5c-51.5-52.6-135.8-52.6-187.4 0L256 100l-27.9-28.5c-51.5-52.7-135.9-52.7-187.4 0l-2.4 2.4C-10.4 123.7-12.5 203 31 256h102.4l35.9-86.2c5.4-12.9 23.6-13.2 29.4-.4l58.2 129.3 49-97.9c5.9-11.8 22.7-11.8 28.6 0l27.6 55.2H481c43.5-53 41.4-132.3-7.3-182.1z" }, child: [] }] })(e);
}
function ne(e) {
return f({ attr: { viewBox: "0 0 448 512" }, child: [{ tag: "path", attr: { d: "M224 256c70.7 0 128-57.3 128-128S294.7 0 224 0 96 57.3 96 128s57.3 128 128 128zm89.6 32h-16.7c-22.2 10.2-46.9 16-72.9 16s-50.6-5.8-72.9-16h-16.7C60.2 288 0 348.2 0 422.4V464c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48v-41.6c0-74.2-60.2-134.4-134.4-134.4z" }, child: [] }] })(e);
}
function ie(e) {
return f({ attr: { role: "img", viewBox: "0 0 24 24" }, child: [{ tag: "path", attr: { d: "M.87 18.257c-.248.382-.53.875-.763 1.245a.764.764 0 0 0 .255 1.04l4.965 3.054a.764.764 0 0 0 1.058-.26c.199-.332.454-.763.733-1.221 1.967-3.247 3.945-2.853 7.508-1.146l4.957 2.337a.764.764 0 0 0 1.028-.382l2.364-5.346a.764.764 0 0 0-.382-1 599.851 599.851 0 0 1-4.965-2.361C10.911 10.97 5.224 11.185.87 18.257zM23.131 5.743c.249-.405.531-.875.764-1.25a.764.764 0 0 0-.256-1.034L18.675.404a.764.764 0 0 0-1.058.26c-.195.335-.451.763-.734 1.225-1.966 3.246-3.945 2.85-7.508 1.146L4.437.694a.764.764 0 0 0-1.027.382L1.046 6.422a.764.764 0 0 0 .382 1c1.039.49 3.105 1.467 4.965 2.361 6.698 3.246 12.392 3.029 16.738-4.04z" }, child: [] }] })(e);
}
const s = [];
for (let e = 0; e < 256; ++e)
s.push((e + 256).toString(16).slice(1));
function ae(e, t = 0) {
return (s[e[t + 0]] + s[e[t + 1]] + s[e[t + 2]] + s[e[t + 3]] + "-" + s[e[t + 4]] + s[e[t + 5]] + "-" + s[e[t + 6]] + s[e[t + 7]] + "-" + s[e[t + 8]] + s[e[t + 9]] + "-" + s[e[t + 10]] + s[e[t + 11]] + s[e[t + 12]] + s[e[t + 13]] + s[e[t + 14]] + s[e[t + 15]]).toLowerCase();
}
let C;
const oe = new Uint8Array(16);
function se() {
if (!C) {
if (typeof crypto > "u" || !crypto.getRandomValues)
throw new Error("crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported");
C = crypto.getRandomValues.bind(crypto);
}
return C(oe);
}
const ce = typeof crypto < "u" && crypto.randomUUID && crypto.randomUUID.bind(crypto), E = { randomUUID: ce };
function R(e, t, n) {
if (E.randomUUID && !e)
return E.randomUUID();
e = e || {};
const i = e.random ?? e.rng?.() ?? se();
if (i.length < 16)
throw new Error("Random bytes length must be >= 16");
return i[6] = i[6] & 15 | 64, i[8] = i[8] & 63 | 128, ae(i);
}
const le = de();
function de() {
return R();
}
ue();
function ue() {
return R();
}
const me = T(void 0);
function he() {
const e = W(me);
if (!e) throw new Error("useAuth must be used within AuthProvider");
return e;
}
function fe() {
const e = F(), { logout: t } = he(), [n, i] = g(""), [c, d] = g(""), [p] = g("Dental"), [u] = g("en"), [a, v] = g(""), [l, h] = g(!1);
function x() {
t(), e("/login", { replace: !0 });
}
const j = () => {
h(!l);
}, N = V(null);
H(() => {
function o(B) {
N.current && !N.current.contains(B.target) && h(!1);
}
return document.addEventListener("mousedown", o), () => {
document.removeEventListener("mousedown", o);
};
}, []);
const L = [
"CA",
"CO",
"CT",
"GA",
"IN",
"KY",
"ME",
"MO",
"NH",
"NV",
"NY",
"OH",
"VA",
"WI"
], M = [
"AK",
"AL",
"AR",
"AZ",
"DE",
"FL",
"HI",
"ID",
"IL",
"IA",
"KS",
"LA",
"MD",
"MA",
"MI",
"MN",
"MS",
"MT",
"NE",
"NJ",
"NM",
"NC",
"ND",
"OK",
"OR",
"PA",
"RI",
"SC",
"SD",
"TN",
"TX",
"UT",
"VT",
"WA",
"WV",
"WY"
], D = ["Anthem", "WellPoint"];
function U() {
e("/antwell", {
state: { brand: n, stateCode: c, category: p, language: u, userQuery: a, uuid: le }
});
}
return /* @__PURE__ */ r.jsxs(r.Fragment, { children: [
/* @__PURE__ */ r.jsxs("div", { className: "dashboard-container", children: [
/* @__PURE__ */ r.jsx("header", { className: "dashboard-header", children: /* @__PURE__ */ r.jsxs("div", { className: "header-content", children: [
/* @__PURE__ */ r.jsx("div", { className: "brand-section", children: /* @__PURE__ */ r.jsxs("div", { className: "logo-wrapper", children: [
/* @__PURE__ */ r.jsx(re, { className: "brand-icon" }),
/* @__PURE__ */ r.jsxs("div", { className: "brand-text", children: [
/* @__PURE__ */ r.jsx("h1", { children: "MindLink AI" }),
/* @__PURE__ */ r.jsx("span", { className: "tagline", children: "Healthcare Intelligence Platform" })
] })
] }) }),
/* @__PURE__ */ r.jsxs("nav", { className: "header-nav", children: [
/* @__PURE__ */ r.jsxs(
"button",
{
onClick: () => window.open("https://confluence.elevancehealth.com/spaces/MINDLINKAI/pages/1807005423/Mindlink+AI", "_blank"),
className: "nav-button",
title: "Documentation",
children: [
/* @__PURE__ */ r.jsx(ie, {}),
/* @__PURE__ */ r.jsx("span", { children: "Docs" })
]
}
),
/* @__PURE__ */ r.jsxs("div", { className: "user-menu", ref: N, children: [
/* @__PURE__ */ r.jsxs(
"button",
{
onClick: j,
className: "user-button",
"aria-expanded": l,
children: [
/* @__PURE__ */ r.jsx(ne, {}),
/* @__PURE__ */ r.jsx("span", { children: "Account" })
]
}
),
l && /* @__PURE__ */ r.jsx("div", { className: "dropdown-menu", children: /* @__PURE__ */ r.jsx("button", { onClick: x, className: "dropdown-item", children: "Logout" }) })
] })
] })
] }) }),
/* @__PURE__ */ r.jsxs("main", { className: "dashboard-main", children: [
/* @__PURE__ */ r.jsxs("div", { className: "welcome-section", children: [
/* @__PURE__ */ r.jsx("h2", { children: "Welcome to MindLink AI" }),
/* @__PURE__ */ r.jsx("p", { children: "Empowering healthcare with intelligent AI solutions for better member experiences" })
] }),
/* @__PURE__ */ r.jsxs("div", { className: "services-grid", children: [
/* @__PURE__ */ r.jsxs("div", { className: "service-card antwell", children: [
/* @__PURE__ */ r.jsxs("div", { className: "card-header", children: [
/* @__PURE__ */ r.jsx("div", { className: "service-icon", children: /* @__PURE__ */ r.jsx(ee, {}) }),
/* @__PURE__ */ r.jsxs("div", { className: "service-info", children: [
/* @__PURE__ */ r.jsx("h3", { children: "AntWell AI" }),
/* @__PURE__ */ r.jsx("p", { children: "Smart healthcare search and insights" })
] })
] }),
/* @__PURE__ */ r.jsxs("div", { className: "service-form", children: [
/* @__PURE__ */ r.jsxs("div", { className: "form-group", children: [
/* @__PURE__ */ r.jsx("label", { children: "Brand" }),
/* @__PURE__ */ r.jsxs(
"select",
{
value: n,
onChange: (o) => i(o.target.value),
className: "form-select",
children: [
/* @__PURE__ */ r.jsx("option", { value: "", children: "Choose brand..." }),
D.map((o) => /* @__PURE__ */ r.jsx("option", { value: o, children: o }, o))
]
}
)
] }),
/* @__PURE__ */ r.jsxs("div", { className: "form-group", children: [
/* @__PURE__ */ r.jsx("label", { children: "State" }),
/* @__PURE__ */ r.jsxs(
"select",
{
value: c,
onChange: (o) => d(o.target.value),
className: "form-select",
disabled: !n,
children: [
/* @__PURE__ */ r.jsx("option", { value: "", children: "Choose state..." }),
n === "Anthem" ? L.map((o) => /* @__PURE__ */ r.jsx("option", { value: o, children: o }, o)) : M.map((o) => /* @__PURE__ */ r.jsx("option", { value: o, children: o }, o))
]
}
)
] }),
/* @__PURE__ */ r.jsxs("div", { className: "form-group", children: [
/* @__PURE__ */ r.jsx("label", { children: "Search Query" }),
/* @__PURE__ */ r.jsx(
"input",
{
type: "text",
value: a,
onChange: (o) => v(o.target.value),
placeholder: "What can I help you find?",
className: "form-input"
}
)
] })
] }),
/* @__PURE__ */ r.jsxs(
"button",
{
className: `service-button ${!n || !c || !a.trim() ? "disabled" : ""}`,
onClick: n && c && a.trim() ? U : void 0,
disabled: !n || !c || !a.trim(),
children: [
/* @__PURE__ */ r.jsx("span", { children: "Start Search" }),
/* @__PURE__ */ r.jsx(z, {})
]
}
)
] }),
/* @__PURE__ */ r.jsxs("div", { className: "service-card behive", onClick: () => e("/behive"), children: [
/* @__PURE__ */ r.jsxs("div", { className: "card-header", children: [
/* @__PURE__ */ r.jsx("div", { className: "service-icon", children: /* @__PURE__ */ r.jsx(te, {}) }),
/* @__PURE__ */ r.jsxs("div", { className: "service-info", children: [
/* @__PURE__ */ r.jsx("h3", { children: "Behive AI" }),
/* @__PURE__ */ r.jsx("p", { children: "Behavioral health assistant" })
] })
] }),
/* @__PURE__ */ r.jsx("div", { className: "service-description", children: /* @__PURE__ */ r.jsxs("ul", { children: [
/* @__PURE__ */ r.jsx("li", { children: "Mental health resources" }),
/* @__PURE__ */ r.jsx("li", { children: "Counselor search" }),
/* @__PURE__ */ r.jsx("li", { children: "Behavioral health assessments" }),
/* @__PURE__ */ r.jsx("li", { children: "Counselor appointments" }),
/* @__PURE__ */ r.jsx("li", { children: "Insurance benefits info" }),
/* @__PURE__ */ r.jsx("li", { children: "Behavioral health resources" }),
/* @__PURE__ */ r.jsx("li", { children: "Claims assistance" })
] }) }),
/* @__PURE__ */ r.jsxs("button", { className: "service-button", children: [
/* @__PURE__ */ r.jsx("span", { children: "Launch Behive" }),
/* @__PURE__ */ r.jsx(z, {})
] })
] })
] })
] })
] }),
/* @__PURE__ */ r.jsx("style", { children: `
.dashboard-container {
min-height: 100vh;
background: linear-gradient(135deg, #f5f7fa 0%, #c3cfe2 100%);
font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
}
.dashboard-header {
background: rgba(255, 255, 255, 0.95);
backdrop-filter: blur(10px);
border-bottom: 1px solid rgba(0, 0, 0, 0.1);
position: sticky;
top: 0;
z-index: 100;
}
.header-content {
max-width: 1200px;
margin: 0 auto;
padding: 1rem 2rem;
display: flex;
justify-content: space-between;
align-items: center;
}
.brand-section {
display: flex;
align-items: center;
}
.logo-wrapper {
display: flex;
align-items: center;
gap: 1rem;
}
.brand-icon {
font-size: 2.5rem;
color: #667eea;
}
.brand-text h1 {
margin: 0;
font-size: 1.5rem;
font-weight: 700;
color: #1a202c;
}
.tagline {
font-size: 0.8rem;
color: #718096;
font-weight: 500;
}
.header-nav {
display: flex;
gap: 1rem;
align-items: center;
}
.nav-button, .user-button {
display: flex;
align-items: center;
gap: 0.5rem;
padding: 0.5rem 1rem;
background: transparent;
border: 1px solid #e2e8f0;
border-radius: 8px;
color: #4a5568;
cursor: pointer;
transition: all 0.2s ease;
font-size: 0.9rem;
}
.nav-button:hover, .user-button:hover {
background: #f7fafc;
border-color: #cbd5e0;
}
.user-menu {
position: relative;
}
.dropdown-menu {
position: absolute;
top: 100%;
right: 0;
background: white;
border: 1px solid #e2e8f0;
border-radius: 8px;
box-shadow: 0 10px 25px rgba(0, 0, 0, 0.1);
min-width: 150px;
margin-top: 0.5rem;
z-index: 1000;
}
.dropdown-item {
width: 100%;
padding: 0.75rem 1rem;
background: none;
border: none;
text-align: left;
cursor: pointer;
transition: background 0.2s ease;
}
.dropdown-item:hover {
background: #f7fafc;
}
.dashboard-main {
max-width: 1200px;
margin: 0 auto;
padding: 3rem 2rem;
}
.welcome-section {
text-align: center;
margin-bottom: 3rem;
}
.welcome-section h2 {
font-size: 2.5rem;
font-weight: 700;
color: #1a202c;
margin: 0 0 1rem 0;
}
.welcome-section p {
font-size: 1.1rem;
color: #718096;
margin: 0;
}
.services-grid {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(400px, 1fr));
gap: 2rem;
max-width: 900px;
margin: 0 auto;
}
.service-card {
background: white;
border-radius: 16px;
padding: 2rem;
box-shadow: 0 4px 20px rgba(0, 0, 0, 0.08);
transition: all 0.3s ease;
border: 1px solid rgba(0, 0, 0, 0.05);
}
.service-card:hover {
transform: translateY(-4px);
box-shadow: 0 8px 30px rgba(0, 0, 0, 0.12);
}
.service-card.behive {
cursor: pointer;
}
.card-header {
display: flex;
align-items: center;
gap: 1rem;
margin-bottom: 1.5rem;
}
.service-icon {
width: 60px;
height: 60px;
border-radius: 12px;
display: flex;
align-items: center;
justify-content: center;
font-size: 1.5rem;
color: white;
}
.antwell .service-icon {
background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
}
.behive .service-icon {
background: linear-gradient(135deg, #f093fb 0%, #f5576c 100%);
}
.service-info h3 {
margin: 0 0 0.25rem 0;
font-size: 1.25rem;
font-weight: 600;
color: #1a202c;
}
.service-info p {
margin: 0;
color: #718096;
font-size: 0.9rem;
}
.service-form {
margin-bottom: 1.5rem;
}
.form-group {
margin-bottom: 1rem;
}
.form-group label {
display: block;
margin-bottom: 0.5rem;
font-weight: 500;
color: #374151;
font-size: 0.9rem;
}
.form-select, .form-input {
width: 100%;
padding: 0.75rem;
border: 1px solid #d1d5db;
border-radius: 8px;
font-size: 0.9rem;
transition: border-color 0.2s ease;
background: white;
}
.form-select:focus, .form-input:focus {
outline: none;
border-color: #667eea;
box-shadow: 0 0 0 3px rgba(102, 126, 234, 0.1);
}
.form-select:disabled {
background: #f9fafb;
color: #9ca3af;
}
.service-description ul {
list-style: none;
padding: 0;
margin: 0 0 1.5rem 0;
}
.service-description li {
padding: 0.5rem 0;
color: #4a5568;
position: relative;
padding-left: 1.5rem;
}
.service-description li:before {
content: '✓';
position: absolute;
left: 0;
color: #10b981;
font-weight: bold;
}
.service-button {
width: 100%;
padding: 0.875rem 1.5rem;
background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
color: white;
border: none;
border-radius: 8px;
font-size: 1rem;
font-weight: 600;
cursor: pointer;
transition: all 0.2s ease;
display: flex;
align-items: center;
justify-content: center;
gap: 0.5rem;
}
.service-button:hover:not(.disabled) {
transform: translateY(-1px);
box-shadow: 0 4px 15px rgba(102, 126, 234, 0.3);
}
.service-button.disabled {
opacity: 0.5;
cursor: not-allowed;
transform: none;
}
.behive .service-button {
background: linear-gradient(135deg, #f093fb 0%, #f5576c 100%);
}
.behive .service-button:hover {
box-shadow: 0 4px 15px rgba(240, 147, 251, 0.3);
}
@media (max-width: 768px) {
.header-content {
padding: 1rem;
flex-direction: column;
gap: 1rem;
}
.dashboard-main {
padding: 2rem 1rem;
}
.welcome-section h2 {
font-size: 2rem;
}
.services-grid {
grid-template-columns: 1fr;
gap: 1.5rem;
}
.service-card {
padding: 1.5rem;
}
.nav-button span, .user-button span {
display: none;
}
}
` })
] });
}
export {
fe as default
};