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

:root {
  --fc-blue:     #1A5CCC;
  --fc-blue-lt:  #EEF4FF;
  --fc-blue-md:  #2468D8;
  --fc-dark:     #12274F;
  --fc-text:     #1E2D40;
  --fc-mid:      #5A6A82;
  --fc-border:   #D8E2F0;
  --fc-bg:       #F6F9FF;
  --fc-white:    #FFFFFF;
  --fc-green:    #1A9E6A;
  --fc-green-lt: #E6F7EF;
  --fc-amber:    #E8920A;
  --fc-amber-lt: #FEF5E6;
  --fc-red:      #C0392B;
  --fc-red-lt:   #FDECEA;
  --fc-radius:   14px;
  --fc-shadow:   0 4px 24px rgba(26,92,204,.09);
  --fc-shadow-lg:0 12px 40px rgba(26,92,204,.14);
}

body { font-family: 'Nunito Sans', sans-serif; background: var(--fc-bg); color: var(--fc-text); font-size: 17px; }
h1,h2,h3,h4,h5,h6,.font-display { font-family: 'Nunito', sans-serif; }

/* NAVBAR */
.fc-navbar { background: var(--fc-white) !important; border-bottom: 2px solid var(--fc-border); box-shadow: 0 2px 12px rgba(26,92,204,.06); padding: 14px 0; }
.fc-brand { font-family: 'Nunito', sans-serif; font-weight: 800; font-size: 1.55rem; color: var(--fc-dark) !important; letter-spacing: -.02em; text-decoration: none; }
.fc-brand .c { color: var(--fc-blue); }
.fc-brand .tld { font-size: .52em; font-weight: 700; color: var(--fc-mid); letter-spacing: 0; }
.fc-nav-link { color: var(--fc-mid) !important; font-weight: 600; font-size: .95rem; padding: 8px 14px !important; border-radius: 8px; transition: color .2s, background .2s; }
.fc-nav-link:hover { color: var(--fc-blue) !important; background: var(--fc-blue-lt); }
.fc-btn-nav { background: var(--fc-blue) !important; color: #fff !important; padding: 9px 22px !important; border-radius: 9px !important; font-weight: 700 !important; }
.fc-btn-nav:hover { background: var(--fc-blue-md) !important; }

/* BUTTONS */
.btn-fc-primary { background: var(--fc-blue); color: #fff; border: none; border-radius: 10px; padding: 12px 26px; font-family: 'Nunito', sans-serif; font-size: .98rem; font-weight: 800; cursor: pointer; transition: background .2s; }
.btn-fc-primary:hover { background: var(--fc-blue-md); }
.btn-fc-outline { background: transparent; color: var(--fc-blue); border: 2px solid var(--fc-blue); border-radius: 10px; padding: 10px 22px; font-family: 'Nunito', sans-serif; font-size: .92rem; font-weight: 700; cursor: pointer; transition: all .2s; }
.btn-fc-outline:hover { background: var(--fc-blue); color: #fff; }
.btn-sm-fc { background: var(--fc-blue-lt); color: var(--fc-blue); border: none; border-radius: 7px; padding: 6px 14px; font-size: .8rem; font-weight: 700; cursor: pointer; font-family: 'Nunito', sans-serif; transition: background .2s; }
.btn-sm-fc:hover { background: var(--fc-blue); color: #fff; }
.btn-danger-fc { background: var(--fc-red); color: #fff; border: none; border-radius: 7px; padding: 6px 14px; font-size: .8rem; font-weight: 700; cursor: pointer; font-family: 'Nunito', sans-serif; }

/* FORMS */
.fc-label { display: block; font-weight: 700; font-size: .88rem; color: var(--fc-dark); margin-bottom: 7px; }
.fc-input, .fc-select, .fc-textarea {
  width: 100%; border: 2px solid var(--fc-border); border-radius: 9px; padding: 10px 14px;
  font-family: 'Nunito Sans', sans-serif; font-size: .95rem; color: var(--fc-text);
  background: var(--fc-white); transition: border-color .2s, box-shadow .2s;
}
.fc-input:focus, .fc-select:focus, .fc-textarea:focus {
  border-color: var(--fc-blue); box-shadow: 0 0 0 4px rgba(26,92,204,.12); outline: none;
}

/* PANELS */
.fc-panel { background: var(--fc-white); border: 2px solid var(--fc-border); border-radius: var(--fc-radius); overflow: hidden; }
.fc-panel-head { padding: 18px 24px; border-bottom: 2px solid var(--fc-border); display: flex; justify-content: space-between; align-items: center; }
.fc-panel-head h6 { font-family: 'Nunito', sans-serif; font-weight: 800; margin: 0; color: var(--fc-dark); font-size: 1rem; }
.fc-panel-body { padding: 24px; }

/* TABLES */
.fc-table { width: 100%; border-collapse: collapse; }
.fc-table th { font-size: .74rem; font-weight: 800; text-transform: uppercase; letter-spacing: .07em; color: var(--fc-mid); padding: 11px 14px; border-bottom: 2px solid var(--fc-border); text-align: left; }
.fc-table td { padding: 13px 14px; border-bottom: 1px solid var(--fc-border); font-size: .88rem; vertical-align: middle; }
.fc-table tr:last-child td { border-bottom: none; }
.fc-table tbody tr:hover td { background: #fafbff; }

/* BADGES */
.badge-status { display: inline-block; border-radius: 100px; padding: 3px 11px; font-size: .72rem; font-weight: 800; text-transform: uppercase; letter-spacing: .04em; }
.badge-new      { background: var(--fc-blue-lt); color: var(--fc-blue); border: 1.5px solid #B8D0F8; }
.badge-inprog   { background: var(--fc-amber-lt); color: var(--fc-amber); border: 1.5px solid #F5C97A; }
.badge-done     { background: var(--fc-green-lt); color: var(--fc-green); border: 1.5px solid #8ADABC; }
.badge-avail    { display: inline-flex; align-items: center; gap: 5px; background: var(--fc-green-lt); border: 1.5px solid #8ADABC; color: var(--fc-green); font-size: .72rem; font-weight: 800; padding: 4px 11px; border-radius: 100px; text-transform: uppercase; }
.badge-avail::before { content: '●'; font-size: .5em; }
.badge-busy     { display: inline-flex; align-items: center; gap: 5px; background: var(--fc-amber-lt); border: 1.5px solid #F5C97A; color: var(--fc-amber); font-size: .72rem; font-weight: 800; padding: 4px 11px; border-radius: 100px; text-transform: uppercase; }
.badge-busy::before { content: '●'; font-size: .5em; }
.badge-verified { display: inline-flex; align-items: center; gap: 6px; background: rgba(255,255,255,.18); border: 1.5px solid rgba(255,255,255,.35); border-radius: 100px; padding: 4px 14px; font-size: .78rem; font-weight: 700; color: #fff; text-transform: uppercase; letter-spacing: .05em; }

/* SERVICE PILLS */
.svc-pill { display: inline-flex; align-items: center; gap: 7px; background: var(--fc-blue-lt); color: var(--fc-blue); border: 1.5px solid #C5D8F8; border-radius: 9px; padding: 7px 14px; font-size: .85rem; font-weight: 700; margin: 3px; }
.svc-checkbox-wrap { display: flex; flex-wrap: wrap; gap: 8px; }
.svc-checkbox-label { display: inline-flex; align-items: center; gap: 8px; background: var(--fc-bg); border: 2px solid var(--fc-border); border-radius: 9px; padding: 9px 14px; cursor: pointer; font-size: .88rem; font-weight: 600; color: var(--fc-mid); transition: all .15s; user-select: none; }
.svc-checkbox-label:has(input:checked) { background: var(--fc-blue-lt); border-color: var(--fc-blue); color: var(--fc-blue); }
.svc-checkbox-label input { accent-color: var(--fc-blue); width: 16px; height: 16px; }

/* STAT CARDS */
.fc-stat { background: var(--fc-white); border: 2px solid var(--fc-border); border-radius: 14px; padding: 22px 20px; box-shadow: var(--fc-shadow); }
.fc-stat-num { font-family: 'Nunito', sans-serif; font-size: 2rem; font-weight: 800; color: var(--fc-blue); display: block; line-height: 1; margin-bottom: 4px; }
.fc-stat-label { font-size: .82rem; color: var(--fc-mid); font-weight: 500; }

/* TOAST */
#fc-toast { position: fixed; bottom: 28px; right: 28px; background: var(--fc-dark); color: #fff; border-radius: 12px; padding: 14px 22px; font-size: .95rem; font-weight: 600; box-shadow: 0 8px 28px rgba(18,39,79,.28); transform: translateY(80px); opacity: 0; transition: transform .3s, opacity .3s; pointer-events: none; z-index: 9999; max-width: 320px; }
#fc-toast.show { transform: translateY(0); opacity: 1; }

/* PRICING TABLE IN PROFILE */
.price-row { display: grid; grid-template-columns: 1fr auto auto 1fr; gap: 8px; align-items: center; background: var(--fc-bg); border: 1.5px solid var(--fc-border); border-radius: 9px; padding: 10px 14px; margin-bottom: 8px; }
.price-row .svc-name { font-weight: 700; color: var(--fc-dark); font-size: .9rem; }
.price-range { display: flex; align-items: center; gap: 6px; }
.price-range input { width: 70px; border: 1.5px solid var(--fc-border); border-radius: 7px; padding: 5px 8px; font-size: .88rem; text-align: center; }
.price-note input { border: 1.5px solid var(--fc-border); border-radius: 7px; padding: 5px 10px; font-size: .82rem; width: 100%; }

/* AVAILABILITY TOGGLE */
.avail-toggle { display: flex; align-items: center; gap: 12px; background: var(--fc-bg); border: 2px solid var(--fc-border); border-radius: 12px; padding: 14px 20px; cursor: pointer; font-weight: 700; font-size: .95rem; transition: border-color .2s; }
.avail-toggle:hover { border-color: var(--fc-blue); }
.avail-dot { width: 14px; height: 14px; border-radius: 50%; transition: background .3s; }

/* SECTION HELPERS */
.section-eyebrow { font-size: .8rem; font-weight: 800; text-transform: uppercase; letter-spacing: .1em; color: var(--fc-blue); margin-bottom: 10px; }
.section-title { font-family: 'Nunito', sans-serif; font-size: 2rem; font-weight: 800; color: var(--fc-dark); letter-spacing: -.02em; margin-bottom: 8px; }
.section-sub { color: var(--fc-mid); font-size: 1rem; }

/* SUCCESS BOX */
.fc-success { background: var(--fc-green-lt); border: 2px solid #8ADABC; border-radius: 12px; padding: 20px 24px; color: var(--fc-green); font-weight: 700; text-align: center; }
