@font-face{font-family:Montserrat;src:url('montserrat-latin.woff2') format('woff2');font-style:normal;font-weight:100 900;font-display:swap}
:root{--green:#40944e;--green-dark:#2c823c;--ink:#444;--muted:#646464;--pale:#eef5eb;--border:#d8dfd6;--yellow:#f4f45b;--canvas:#e6ede4;--red:#b7352c}
*{box-sizing:border-box}html{background:var(--canvas)}body{margin:0;color:var(--ink);font-family:Montserrat,Arial,sans-serif;font-size:15px;font-weight:500;line-height:1.45;-webkit-font-smoothing:antialiased}a{color:var(--green-dark)}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid #256ab4;outline-offset:3px}a{text-underline-offset:3px}.site-shell{max-width:420px;margin:22px auto;background:#fff;min-height:calc(100svh - 44px)}.site-header{height:78px;display:flex;align-items:center;justify-content:space-between;padding:0 22px;gap:16px}.brand{display:inline-flex;gap:11px;align-items:center;color:var(--ink);text-decoration:none;font-size:33px;font-weight:800;letter-spacing:1px;line-height:1}.brand-logo{height:38px;width:auto;max-width:175px;display:block;object-fit:contain}@media(min-width:600px){.brand-logo{height:46px;max-width:215px}}.footer-logo{height:30px;width:auto;display:block;margin-bottom:12px;object-fit:contain}.brand-mark{width:40px;height:40px;border:8px solid var(--green);background:var(--yellow);border-radius:50%;flex-shrink:0}.stand{font-size:12px;font-weight:700;color:var(--green-dark);line-height:1.4;text-align:right}.back{font-weight:600;font-size:14px;text-decoration:none;padding:8px 0}.welcome{padding:7px 22px;background:var(--green);color:white;font-size:13px;font-weight:700;letter-spacing:1.6px}.home-main{padding:25px 22px 30px}h1,h2,p{margin:0}h1{font-weight:800;line-height:1.15;letter-spacing:-.6px}.intro h1{font-size:34px;line-height:1.08;letter-spacing:.1px}.intro h1 span{color:var(--green)}.tagline{font-size:17px;font-weight:700;margin-top:13px;letter-spacing:-.3px}.tagline strong{color:var(--green-dark)}.intro-copy{margin-top:13px;color:var(--muted);font-size:15px;line-height:1.5}.offers{display:grid;gap:13px;margin-top:27px}.offer-card{border:2px solid var(--green);border-radius:15px;padding:16px 17px 17px}.eyebrow,.section-label{color:var(--green-dark);font-size:13px;letter-spacing:1.5px;font-weight:700;line-height:1.4}.eyebrow{font-size:12px}.offer-card h2{font-size:18px;line-height:1.3;font-weight:800;margin-top:4px;letter-spacing:-.25px}.offer-card>p:not(.eyebrow){color:var(--muted);font-size:14px;line-height:1.4;margin-top:7px}.button{display:flex;align-items:center;justify-content:center;min-height:51px;background:var(--green);color:#fff;border:2px solid var(--green);border-radius:13px;text-align:center;font-size:17px;font-weight:800;text-decoration:none;padding:12px 15px;line-height:1.3;cursor:pointer;transition:background .15s,border-color .15s}.button:hover{background:var(--green-dark);border-color:var(--green-dark)}.button.compact{display:inline-flex;font-size:15px;font-weight:700;min-height:47px;border-radius:11px;margin-top:14px;padding:11px 18px}.fair-section{margin-top:27px}.action-list{display:grid;gap:10px;margin-top:11px}.action-card{display:flex;align-items:center;justify-content:space-between;gap:10px;background:var(--pale);padding:14px 17px;border-radius:14px;text-decoration:none;color:var(--ink);min-height:69px}.action-card:hover{background:#e2efdd}.action-card strong{display:block;font-size:16px;font-weight:700;line-height:1.3;letter-spacing:-.25px}.action-card small{display:block;font-size:13px;color:var(--muted);margin-top:1px}.action-card>span:last-child{font-size:26px;color:var(--green);font-weight:700}.services-section{margin-top:25px}.service-tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:11px}.service-tags a{font-size:13px;font-weight:600;text-decoration:none;color:var(--ink);border:1px solid #c9e1c3;padding:5px 12px;border-radius:30px;line-height:1.4}.service-tags a:hover{background:var(--pale)}.site-footer{background:var(--green);color:#fff;padding:23px 22px;font-size:13px}.home-footer strong{display:block;font-size:16px;font-weight:800}.home-footer p{margin-top:3px}.home-footer a{display:inline-block;color:var(--yellow);font-weight:600;margin-top:10px}.form-main{padding:9px 22px 18px}.form-main h1{font-size:26px;margin-top:8px}.form-intro{margin-top:10px;color:var(--muted);font-size:14px}.request-form{margin-top:19px}.field{margin-bottom:13px}.field>label,legend{display:block;font-weight:700;font-size:14px;margin-bottom:5px}.required{color:var(--red)}input:not([type=radio]):not([type=checkbox]),select,textarea{width:100%;padding:12px 15px;border:1.5px solid var(--border);border-radius:11px;min-height:48px;background:#fff;color:var(--ink);font-size:15px;box-shadow:none}input::placeholder,textarea::placeholder{color:#808080;opacity:1}select{color:var(--muted);padding-right:28px}textarea{resize:vertical;min-height:87px;display:block}.interest-field{border:0;margin:0 0 13px;padding:0;min-width:0}.choice-chips{display:flex;flex-wrap:wrap;gap:8px}.choice{cursor:pointer;position:relative}.choice input{position:absolute;opacity:0;width:1px;height:1px}.choice span{display:block;border:1.5px solid var(--border);border-radius:25px;padding:7px 12px;font-size:13px;font-weight:600;line-height:1.45}.choice input:checked+span{background:var(--green);border-color:var(--green);color:white}.choice input:focus-visible+span{outline:3px solid #256ab4;outline-offset:3px}.consent{display:flex;gap:10px;align-items:flex-start;font-size:13px;color:var(--muted);line-height:1.45;margin-top:14px}.consent input{width:21px;height:21px;accent-color:var(--green);flex-shrink:0;margin:1px 0 0}.consent a{font-weight:700;text-decoration:none}.consent a:hover{text-decoration:underline}.submit{width:100%;margin-top:17px;min-height:53px}.submit:disabled{opacity:.75;cursor:wait}.ownership{color:#888e85;font-size:12px;margin-top:13px;text-align:center;line-height:1.5;letter-spacing:-.2px}.submit-status:empty{display:none}.submit-status{font-size:13px;margin-top:8px}.honey{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.page-thanks .site-shell{display:flex;flex-direction:column;min-height:max(906px,calc(100svh - 44px))}.thanks-main{padding:33px 26px 45px;text-align:center;flex:1}.success-icon{width:90px;height:90px;background:var(--green);border-radius:50%;display:grid;place-items:center;margin:0 auto 17px}.success-icon svg{width:47px;height:47px;fill:none;stroke:white;stroke-width:5;stroke-linecap:round;stroke-linejoin:round}.thanks-main h1{font-size:28px;line-height:1.3}.thanks-copy{font-size:15px;color:var(--muted);line-height:1.6;margin-top:14px}.next-steps{margin-top:15px;padding:18px 19px 20px;text-align:left;background:var(--pale);border-radius:15px}.next-steps p{margin-top:12px;font-size:15px;line-height:1.5}.next-steps p:first-of-type{margin-top:11px}.thanks-main>.button{margin-top:15px}.outline{background:white;color:var(--green-dark)}.outline:hover{background:var(--pale);color:var(--green-dark)}.small-footer{font-size:13px;font-weight:600;padding:16px 22px}.text-main{padding:12px 22px 36px}.text-main h1{font-size:28px;margin:10px 0 20px}.text-main h2{font-size:18px;margin:23px 0 8px}.text-main p{margin-bottom:14px}.text-main .button{margin-top:24px}.error-summary{margin:18px 0;padding:14px;background:#fff1ed;border:1px solid #b7352c;border-radius:10px;font-size:14px}.error-summary ul{padding-left:19px;margin-bottom:0}.error-summary a,.field-error{color:#a42620}.field-error{display:block;font-size:12px;margin-top:5px}[aria-invalid=true]:not(fieldset){border-color:var(--red)!important}.field-help{display:block;color:var(--muted);margin-top:6px;font-size:12px}.skip-link{position:fixed;top:-100px;left:15px;padding:10px;background:white;z-index:10}.skip-link:focus{top:10px}@media(max-width:480px){html{background:white}.site-shell{margin:0 auto;max-width:440px;min-height:100svh}.page-thanks .site-shell{min-height:100svh}.thanks-main{padding-top:33px}}@media(max-width:359px){.site-header{padding:0 18px}.home-main,.form-main{padding-left:18px;padding-right:18px}.intro h1{font-size:30px}.tagline{font-size:15px}.choice span{padding:7px 10px;font-size:12px}.action-card strong{font-size:14px}.thanks-main{padding-left:18px;padding-right:18px}.thanks-main h1{font-size:25px}}@media(prefers-reduced-motion:reduce){*{transition:none!important}}@media print{html{background:white}.site-shell{margin:0 auto}.skip-link{display:none}}

@media(max-width:480px){input:not([type=radio]):not([type=checkbox]),select,textarea{font-size:16px}}


/* Responsive layout: full-width phones, comfortable tablets, expanded desktops. */
.site-shell {
  width: calc(100% - 48px);
  max-width: 1120px;
  margin: 24px auto;
  min-height: calc(100vh - 48px);
  min-height: calc(100svh - 48px);
  border-radius: 20px;
}
.site-header { height: 96px; padding-inline: 40px; }
.welcome { padding: 10px 40px; }
.home-main { padding: 40px; }
.intro h1 { font-size: clamp(34px, 4.5vw, 56px); }
.tagline { font-size: 20px; margin-top: 18px; }
.intro-copy { max-width: 640px; font-size: 16px; }
.offers { gap: 20px; margin-top: 32px; }
.offer-card { display: flex; flex-direction: column; align-items: flex-start; padding: 22px; min-width: 0; }
.offer-card h2 { font-size: 20px; }
.offer-card > p:not(.eyebrow) { font-size: 15px; margin-bottom: 20px; }
.offer-card .button { margin-top: auto; }
.action-list { gap: 12px; }
.action-card { min-width: 0; min-height: 82px; }
.action-card > span:first-child { min-width: 0; }
.action-card > span:last-child { flex-shrink: 0; }
.service-tags a { display: inline-flex; align-items: center; min-height: 44px; }
.site-footer { padding: 26px 40px; border-radius: 0 0 20px 20px; }
.page-request .site-shell, .page-meeting .site-shell { max-width: 800px; }
.form-main { padding: 12px 40px 32px; }
.form-main h1 { font-size: clamp(26px, 3.5vw, 36px); }
.form-intro { font-size: 16px; }
.request-form { margin-top: 26px; }
input:not([type=radio]):not([type=checkbox]), select, textarea { font-size: 16px; min-width: 0; max-width: 100%; }
.field { min-width: 0; }
.choice span { min-height: 44px; display: flex; align-items: center; }
.consent label { min-width: 0; }
.ownership { font-size: 13px; }
.page-thanks .site-shell {
  max-width: 760px;
  min-height: calc(100vh - 48px);
  min-height: calc(100svh - 48px);
}
.thanks-main { width: 100%; max-width: 600px; margin-inline: auto; padding: 32px 40px 48px; }
.thanks-main h1 { font-size: clamp(28px, 3.5vw, 36px); }
.thanks-copy { font-size: 16px; }
.next-steps { margin-top: 24px; padding: 24px; }
.page-privacy .site-shell, .page-brochure .site-shell,
.page-whatsapp .site-shell, .page-not-found .site-shell { max-width: 860px; }
.text-main { padding: 20px 40px 40px; }
h1, h2, p, .field-error, .error-summary, .text-main a { overflow-wrap: anywhere; }
.back { min-height: 44px; display: inline-flex; align-items: center; }

@media (min-width: 600px) {
  .request-form { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 22px; }
  .request-form > * { grid-column: 1 / -1; }
  .request-form > .field-half { grid-column: auto; }
  .request-form > .honey { display: none; }
}

@media (min-width: 700px) {
  .offers { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .action-list { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (min-width: 1024px) {
  .home-main { display: grid; grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr); column-gap: 40px; }
  .intro, .offers { grid-column: 1 / -1; }
  .fair-section, .services-section { margin-top: 36px; }
  .action-card strong { font-size: 15px; }
}

@media (min-width: 600px) and (max-width: 1023px) {
  .site-shell { width: calc(100% - 32px); margin-block: 16px; }
  .site-header { padding-inline: 28px; height: 88px; }
  .welcome { padding-inline: 28px; }
  .home-main { padding: 30px 28px; }
  .offer-card { padding: 18px 15px; }
  .offer-card h2 { font-size: 18px; }
  .offer-card > p:not(.eyebrow) { font-size: 14px; }
  .offer-card .button { padding-inline: 12px; font-size: 14px; }
  .offers { gap: 14px; }
  .site-footer { padding-inline: 28px; }
  .form-main, .text-main { padding-inline: 28px; }
  .services-section, .fair-section { margin-top: 28px; }
  .page-thanks .site-shell { min-height: calc(100vh - 32px); min-height: calc(100svh - 32px); }
}

@media (max-width: 599px) {
  html { background: #fff; }
  .site-shell { width: 100%; max-width: none; margin: 0; min-height: 100vh; min-height: 100svh; border-radius: 0; }
  .site-header { height: 78px; padding-inline: 22px; }
  .welcome { padding: 7px 22px; font-size: 12px; }
  .home-main { padding: 25px 22px 30px; }
  .intro h1 { font-size: clamp(30px, 8.5vw, 42px); }
  .tagline { font-size: 17px; margin-top: 13px; }
  .intro-copy { font-size: 15px; }
  .offers { gap: 13px; margin-top: 27px; }
  .offer-card { padding: 16px 17px 17px; }
  .offer-card h2 { font-size: 18px; }
  .offer-card > p:not(.eyebrow) { font-size: 14px; margin-bottom: 14px; }
  .site-footer { padding: 23px 22px; border-radius: 0; }
  .form-main { padding: 9px 22px 24px; }
  .form-intro { font-size: 14px; }
  .request-form { margin-top: 19px; }
  .ownership { font-size: 12px; }
  .page-thanks .site-shell { min-height: 100vh; min-height: 100svh; }
  .thanks-main { padding: 33px 26px 45px; }
  .thanks-copy { font-size: 15px; }
  .next-steps { margin-top: 15px; padding: 18px 19px 20px; }
  .text-main { padding: 12px 22px 36px; }
}

@media (max-width: 359px) {
  .site-header, .home-main, .form-main, .text-main, .thanks-main { padding-inline: 18px; }
  .welcome { padding-inline: 18px; letter-spacing: 1px; }
  .tagline { font-size: 15px; }
  .brand { font-size: 30px; }
  .stand { font-size: 11px; }
}

@media print {
  .site-shell { width: 100%; margin: 0; min-height: auto; }
  .offer-card, .action-card, .next-steps { break-inside: avoid; }
}

/* Booking calendar: five fair dates and touch-friendly 15-minute slots. */
[hidden] { display: none !important; }
.booking-calendar { min-width: 0; padding: 22px; border: 1px solid var(--border); border-radius: 16px; background: #f8fbf7; margin-bottom: 24px; }
.calendar-heading { display: flex; justify-content: space-between; align-items: center; gap: 12px; }
.calendar-heading h2 { font-size: 25px; margin-top: 4px; }
.duration-badge { background: #fff; border: 1px solid var(--border); border-radius: 30px; padding: 7px 12px; font-size: 12px; font-weight: 700; white-space: nowrap; }
.calendar-help { font-size: 13px; color: var(--muted); margin: 12px 0 18px; line-height: 1.6; }
.calendar-days { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 8px; margin-bottom: 24px; }
.calendar-day { border: 1px solid var(--border); background: #fff; color: var(--ink); border-radius: 12px; padding: 10px 4px; display: grid; justify-items: center; gap: 2px; cursor: pointer; }
.calendar-day span { font-size: 12px; }
.calendar-day strong { font-size: 24px; }
.calendar-day[aria-pressed=true] { background: var(--green); color: white; border-color: var(--green); }
.calendar-times { padding: 0; border: 0; margin: 0 0 16px; min-width: 0; }
.calendar-times legend { margin-bottom: 12px; }
.time-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 8px; }
.time-choice { position: relative; min-width: 0; cursor: pointer; }
.time-choice input { position: absolute; opacity: 0; width: 1px; height: 1px; }
.time-choice span { min-height: 44px; display: flex; justify-content: center; align-items: center; background: #fff; border: 1px solid #b9cdb5; border-radius: 8px; padding: 8px 2px; font-size: 13px; font-weight: 600; }
.time-choice input:checked + span { background: var(--green); border-color: var(--green); color: white; }
.time-choice input:focus-visible + span { outline: 3px solid #256ab4; outline-offset: 2px; }
.time-choice input:disabled + span { background: #e9ede7; color: #7c8379; border-color: #e1e5de; text-decoration: line-through; cursor: not-allowed; }
.availability-note { font-size: 12px; color: var(--muted); margin-top: 12px; }
.booking-selection { color: var(--green-dark); font-size: 13px; font-weight: 600; }
@media (max-width: 599px) {
  .booking-calendar { padding: 15px; }
  .calendar-heading h2 { font-size: 21px; }
  .time-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 7px; }
  .calendar-days { gap: 5px; }
  .calendar-day strong { font-size: 22px; }
  .calendar-day span { font-size: 11px; }
  .duration-badge { font-size: 11px; padding: 6px 8px; }
}

.calendar-heading { flex-wrap: wrap; }
.calendar-times legend { max-width: 100%; overflow-wrap: anywhere; }

/* Searchable country select */
.searchable-select { position: relative; width: 100%; }
.searchable-select-input { width: 100%; padding: 12px 40px 12px 15px; border: 1.5px solid var(--border); border-radius: 11px; min-height: 48px; background: #fff; color: var(--ink); font-size: 15px; box-shadow: none; }
.searchable-select-input:focus { outline: 3px solid #256ab4; outline-offset: 3px; border-color: #256ab4; }
.searchable-select-toggle, .searchable-select-clear { position: absolute; right: 10px; top: 50%; transform: translateY(-50%); background: none; border: none; padding: 6px; display: flex; align-items: center; justify-content: center; color: var(--muted); cursor: pointer; border-radius: 50%; transition: color 0.15s, background-color 0.15s; }
.searchable-select-clear:hover { color: var(--red); background: rgba(183, 53, 44, 0.08); }
.searchable-select-toggle svg, .searchable-select-clear svg { width: 18px; height: 18px; }
.searchable-select-list { position: absolute; top: calc(100% + 4px); left: 0; right: 0; background: #fff; border: 1.5px solid var(--border); border-radius: 11px; max-height: 240px; overflow-y: auto; -webkit-overflow-scrolling: touch; margin: 0; padding: 6px 0; list-style: none; z-index: 100; box-shadow: 0 10px 25px rgba(0, 0, 0, 0.12); }
.searchable-select-option { padding: 11px 16px; cursor: pointer; font-size: 14px; color: var(--ink); min-height: 44px; display: flex; align-items: center; transition: background 0.1s; }
.searchable-select-option:hover, .searchable-select-option.is-active { background: var(--pale); color: var(--green-dark); font-weight: 600; }
.searchable-select-option.is-selected { background: var(--green); color: #fff; font-weight: 700; }
.searchable-select-empty { padding: 14px 16px; color: var(--muted); font-size: 13px; text-align: center; }
.visually-hidden-select { position: absolute !important; width: 1px !important; height: 1px !important; padding: 0 !important; margin: -1px !important; overflow: hidden !important; clip: rect(0, 0, 0, 0) !important; white-space: nowrap !important; border: 0 !important; opacity: 0 !important; pointer-events: none !important; }
@media (max-width: 480px) { .searchable-select-input { font-size: 16px; } .searchable-select-list { max-height: 200px; } }

/* === OGAI Admin Dashboard Styling === */
:root {
  --admin-bg: #f8fafc;
  --admin-card: #ffffff;
  --admin-ink: #0f172a;
  --admin-muted: #64748b;
  --admin-border: #e2e8f0;
  --admin-primary: #227031;
  --admin-primary-dark: #195625;
  --admin-primary-light: #edf7ed;
  --admin-radius: 14px;
}
body.admin-body { background-color: var(--admin-bg) !important; color: var(--admin-ink) !important; font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif !important; line-height: 1.5; margin: 0; padding: 0; -webkit-font-smoothing: antialiased; }
.admin-wrapper { max-width: 1320px; margin: 0 auto; padding: 24px 20px 60px; }
.admin-navbar { background: #ffffff; border: 1px solid var(--admin-border); border-radius: var(--admin-radius); padding: 16px 24px; display: flex; justify-content: space-between; align-items: center; gap: 20px; box-shadow: 0 1px 2px 0 rgba(0,0,0,0.05); margin-bottom: 24px; flex-wrap: wrap; }
.admin-brand-group { display: flex; align-items: center; gap: 16px; }
.admin-logo-mark { width: 44px; height: 44px; border: 7px solid #227031; background: #f4f45b; border-radius: 50%; flex-shrink: 0; display: block; }
.admin-title-area h1 { font-size: 20px; font-weight: 800; color: var(--admin-ink); margin: 0; letter-spacing: -0.3px; display: flex; align-items: center; gap: 10px; flex-wrap: wrap; }
.admin-title-area p { font-size: 13px; color: var(--admin-muted); margin: 3px 0 0; display: flex; align-items: center; gap: 12px; flex-wrap: wrap; }
.badge-location { display: inline-flex; align-items: center; gap: 6px; background: #edf7ed; color: #166534; font-weight: 700; font-size: 12px; padding: 2px 10px; border-radius: 20px; border: 1px solid #bbf7d0; }
.badge-pulse-dot { width: 7px; height: 7px; border-radius: 50%; background: #16a34a; display: inline-block; box-shadow: 0 0 0 2px rgba(22, 163, 74, 0.2); }
.admin-nav-actions { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; }
.btn-adm { display: inline-flex; align-items: center; justify-content: center; gap: 8px; padding: 9px 16px; font-size: 13.5px; font-weight: 600; border-radius: 10px; text-decoration: none; cursor: pointer; transition: all 0.15s ease-in-out; border: 1px solid transparent; line-height: 1.3; }
.btn-adm svg { width: 16px; height: 16px; flex-shrink: 0; }
.btn-adm-primary { background: linear-gradient(135deg, #227031 0%, #175224 100%); color: #ffffff !important; box-shadow: 0 2px 6px rgba(34, 112, 49, 0.25); }
.btn-adm-primary:hover { background: linear-gradient(135deg, #1d612a 0%, #113d1b 100%); transform: translateY(-1px); box-shadow: 0 4px 10px rgba(34, 112, 49, 0.35); color: #ffffff !important; }
.btn-adm-outline { background: #ffffff; color: var(--admin-ink) !important; border-color: var(--admin-border); }
.btn-adm-outline:hover { background: #f1f5f9; border-color: #cbd5e1; color: var(--admin-ink) !important; }
.btn-adm-danger { background: #ffffff; color: #dc2626 !important; border-color: #fecaca; }
.btn-adm-danger:hover { background: #fef2f2; border-color: #f87171; }
.metrics-overview-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 16px; margin-bottom: 24px; }
.metric-box { background: #ffffff; border: 1px solid var(--admin-border); border-radius: var(--admin-radius); padding: 20px 22px; box-shadow: 0 1px 2px 0 rgba(0,0,0,0.05); position: relative; overflow: hidden; display: flex; flex-direction: column; justify-content: space-between; transition: transform 0.15s ease, box-shadow 0.15s ease; }
.metric-box:hover { transform: translateY(-2px); box-shadow: 0 4px 6px -1px rgba(0,0,0,0.07); }
.metric-box::before { content: ""; position: absolute; top: 0; left: 0; right: 0; height: 4px; }
.metric-box.theme-green::before { background: linear-gradient(90deg, #227031, #4ade80); }
.metric-box.theme-blue::before { background: linear-gradient(90deg, #2563eb, #60a5fa); }
.metric-box.theme-slate::before { background: linear-gradient(90deg, #475569, #94a3b8); }
.metric-box.theme-amber::before { background: linear-gradient(90deg, #d97706, #fbbf24); }
.metric-box-top { display: flex; justify-content: space-between; align-items: flex-start; margin-bottom: 10px; }
.metric-title { font-size: 11.5px; font-weight: 700; color: var(--admin-muted); text-transform: uppercase; letter-spacing: 0.8px; }
.metric-icon-wrap { width: 36px; height: 36px; border-radius: 8px; display: flex; align-items: center; justify-content: center; flex-shrink: 0; }
.metric-box.theme-green .metric-icon-wrap { background: #edf7ed; color: #166534; }
.metric-box.theme-blue .metric-icon-wrap { background: #eff6ff; color: #1d4ed8; }
.metric-box.theme-slate .metric-icon-wrap { background: #f1f5f9; color: #334155; }
.metric-box.theme-amber .metric-icon-wrap { background: #fffbeb; color: #b45309; }
.metric-icon-wrap svg { width: 20px; height: 20px; }
.metric-big-number { font-size: 36px; font-weight: 800; color: var(--admin-ink); line-height: 1.1; letter-spacing: -1px; }
.metric-subtext { font-size: 12.5px; color: var(--admin-muted); margin-top: 8px; display: flex; align-items: center; gap: 6px; }
.metric-progress-track { height: 6px; background: #f1f5f9; border-radius: 6px; overflow: hidden; margin-top: 10px; }
.metric-progress-fill { height: 100%; background: #227031; border-radius: 6px; transition: width 0.4s ease; }
.admin-toolbar { background: #ffffff; border: 1px solid var(--admin-border); border-radius: var(--admin-radius); padding: 14px 18px; display: flex; justify-content: space-between; align-items: center; gap: 16px; margin-bottom: 24px; box-shadow: 0 1px 2px 0 rgba(0,0,0,0.05); flex-wrap: wrap; }
.admin-tabs { display: flex; gap: 6px; flex-wrap: wrap; }
.admin-tab { display: inline-flex; align-items: center; gap: 6px; padding: 7px 14px; font-size: 13px; font-weight: 600; color: var(--admin-ink); background: #f8fafc; border: 1px solid var(--admin-border); border-radius: 20px; cursor: pointer; transition: all 0.15s ease; }
.admin-tab:hover { background: #f1f5f9; border-color: #cbd5e1; }
.admin-tab.is-active { background: #227031; color: #ffffff; border-color: #227031; box-shadow: 0 2px 6px rgba(34, 112, 49, 0.25); }
.admin-tab-count { font-size: 11.5px; padding: 1px 7px; border-radius: 12px; background: rgba(0, 0, 0, 0.07); }
.admin-tab.is-active .admin-tab-count { background: rgba(255, 255, 255, 0.25); color: #ffffff; }
.admin-search-wrapper { position: relative; min-width: 260px; flex-grow: 1; max-width: 380px; }
.admin-search-icon { position: absolute; left: 12px; top: 50%; transform: translateY(-50%); color: var(--admin-muted); pointer-events: none; display: flex; }
.admin-search-icon svg { width: 17px; height: 17px; }
.admin-search-input { width: 100% !important; padding: 9px 12px 9px 38px !important; font-size: 13.5px !important; border: 1px solid var(--admin-border) !important; border-radius: 10px !important; background: #f8fafc !important; color: var(--admin-ink) !important; min-height: 40px !important; transition: all 0.15s ease; box-shadow: none !important; }
.admin-search-input:focus { background: #ffffff !important; border-color: #227031 !important; outline: 3px solid rgba(34, 112, 49, 0.15) !important; outline-offset: 1px; }
.view-mode-toggle { display: flex; background: #f1f5f9; border-radius: 8px; padding: 3px; gap: 2px; }
.view-mode-btn { border: none; background: none; padding: 6px 10px; border-radius: 6px; font-size: 12px; font-weight: 600; color: var(--admin-muted); cursor: pointer; display: inline-flex; align-items: center; gap: 5px; transition: all 0.15s; }
.view-mode-btn.is-active { background: #ffffff; color: var(--admin-ink); box-shadow: 0 1px 3px rgba(0, 0, 0, 0.08); }
.appointments-container { display: grid; gap: 16px; margin-bottom: 36px; }
.appt-card { background: #ffffff; border: 1px solid var(--admin-border); border-radius: var(--admin-radius); padding: 24px 28px; box-shadow: 0 1px 2px 0 rgba(0,0,0,0.05); transition: border-color 0.15s ease, box-shadow 0.15s ease; position: relative; }
.appt-card:hover { border-color: #bbf7d0; box-shadow: 0 4px 6px -1px rgba(0,0,0,0.07); }
.appt-header-row { display: flex; justify-content: space-between; align-items: center; gap: 14px; padding-bottom: 16px; border-bottom: 1px solid #f1f5f9; margin-bottom: 18px; flex-wrap: wrap; }
.appt-time-pill { display: inline-flex; align-items: center; gap: 8px; background: #edf7ed; color: #166534; font-weight: 700; font-size: 13.5px; padding: 6px 14px; border-radius: 30px; border: 1px solid #c9e1c3; }
.appt-time-pill svg { width: 16px; height: 16px; color: #166534; }
.appt-meta-tags { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }
.tag-confirmed { display: inline-flex; align-items: center; gap: 5px; background: #f0fdf4; color: #15803d; font-size: 12px; font-weight: 700; padding: 3px 10px; border-radius: 6px; border: 1px solid #bbf7d0; }
.tag-ref { font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace; font-size: 12px; background: #f8fafc; color: var(--admin-muted); padding: 3px 8px; border-radius: 6px; border: 1px solid #e2e8f0; display: inline-flex; align-items: center; gap: 6px; }
.appt-visitor-row { display: flex; align-items: center; gap: 16px; margin-bottom: 18px; }
.visitor-avatar { width: 48px; height: 48px; border-radius: 50%; background: linear-gradient(135deg, #227031 0%, #34a853 100%); color: #ffffff; display: flex; align-items: center; justify-content: center; font-size: 20px; font-weight: 800; flex-shrink: 0; box-shadow: 0 2px 6px rgba(34, 112, 49, 0.2); }
.visitor-headings h2 { font-size: 19px; font-weight: 800; color: var(--admin-ink); margin: 0; line-height: 1.25; }
.visitor-company { font-size: 14.5px; font-weight: 600; color: #166534; margin-top: 3px; display: flex; align-items: center; gap: 8px; }
.appt-details-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(210px, 1fr)); gap: 12px; background: #f8fafc; border: 1px solid #f1f5f9; border-radius: 12px; padding: 16px 18px; }
.detail-cell { display: flex; flex-direction: column; }
.detail-cell-label { font-size: 11px; font-weight: 700; color: var(--admin-muted); text-transform: uppercase; letter-spacing: 0.6px; margin-bottom: 3px; display: flex; align-items: center; gap: 5px; }
.detail-cell-label svg { width: 13px; height: 13px; }
.detail-cell-value { font-size: 13.5px; font-weight: 600; color: var(--admin-ink); overflow-wrap: anywhere; }
.detail-cell-value a { color: #15803d !important; text-decoration: none; font-weight: 600; }
.detail-cell-value a:hover { text-decoration: underline; }
.btn-whatsapp-pill { display: inline-flex; align-items: center; gap: 4px; background: #25D366; color: #ffffff !important; font-size: 11.5px; font-weight: 700; padding: 2px 8px; border-radius: 12px; text-decoration: none; margin-left: 8px; vertical-align: middle; transition: opacity 0.15s; }
.btn-whatsapp-pill:hover { opacity: 0.9; text-decoration: none !important; }
.btn-whatsapp-pill svg { width: 12px; height: 12px; fill: currentColor; }
.appt-note-card { margin-top: 14px; background: #fffbeb; border: 1px solid #fde68a; border-radius: 10px; padding: 14px 18px; font-size: 13.5px; color: #78350f; line-height: 1.5; }
.appt-note-title { font-size: 11.5px; font-weight: 700; text-transform: uppercase; color: #92400e; margin-bottom: 4px; display: flex; align-items: center; gap: 6px; }
.admin-table-container { background: #ffffff; border: 1px solid var(--admin-border); border-radius: var(--admin-radius); overflow-x: auto; box-shadow: 0 1px 2px 0 rgba(0,0,0,0.05); margin-bottom: 36px; }
.admin-table { width: 100%; border-collapse: collapse; text-align: left; font-size: 13.5px; min-width: 800px; }
.admin-table th { background: #f8fafc; padding: 12px 16px; font-weight: 700; font-size: 12px; color: var(--admin-muted); text-transform: uppercase; letter-spacing: 0.6px; border-bottom: 1px solid var(--admin-border); }
.admin-table td { padding: 14px 16px; border-bottom: 1px solid #f1f5f9; vertical-align: middle; color: var(--admin-ink); }
.admin-table tr:hover td { background: #fbfdfa; }
.admin-empty-card { background: #ffffff; border: 2px dashed #cbd5e1; border-radius: var(--admin-radius); padding: 56px 24px; text-align: center; margin-bottom: 36px; }
.admin-empty-icon { width: 56px; height: 56px; border-radius: 50%; background: #edf7ed; color: #166534; display: flex; align-items: center; justify-content: center; margin: 0 auto 16px; }
.admin-empty-icon svg { width: 28px; height: 28px; }
.admin-empty-card h3 { font-size: 18px; font-weight: 800; color: var(--admin-ink); margin: 0 0 6px; }
.admin-empty-card p { color: var(--admin-muted); font-size: 14px; max-width: 440px; margin: 0 auto 18px; }
.admin-accordion-box { background: #ffffff; border: 1px solid var(--admin-border); border-radius: var(--admin-radius); box-shadow: 0 1px 2px 0 rgba(0,0,0,0.05); margin-bottom: 30px; overflow: hidden; }
.admin-accordion-summary { padding: 18px 24px; font-size: 15.5px; font-weight: 700; color: var(--admin-ink); cursor: pointer; user-select: none; display: flex; justify-content: space-between; align-items: center; background: #ffffff; transition: background 0.15s; }
.admin-accordion-summary:hover { background: #f8fafc; }
.admin-accordion-content { padding: 16px 24px 24px; border-top: 1px solid #f1f5f9; display: grid; gap: 12px; }
.inquiry-item { background: #f8fafc; border: 1px solid #e2e8f0; border-radius: 10px; padding: 14px 18px; }
.admin-login-screen { min-height: 85vh; display: flex; align-items: center; justify-content: center; padding: 20px; }
.admin-login-card { background: #ffffff; border: 1px solid var(--admin-border); border-radius: 20px; padding: 40px 36px; width: 100%; max-width: 440px; box-shadow: 0 10px 15px -3px rgba(0,0,0,0.08); text-align: center; }
.admin-login-card .admin-logo-mark { margin: 0 auto 18px; }
.admin-login-card h2 { font-size: 22px; font-weight: 800; color: var(--admin-ink); margin: 0 0 6px; }
.admin-login-card p { color: var(--admin-muted); font-size: 13.5px; margin: 0 0 24px; }
.admin-login-input-group { position: relative; width: 100%; margin-bottom: 16px; }
.admin-login-input-group input { width: 100% !important; padding: 12px 46px 12px 14px !important; font-size: 15px !important; border: 1.5px solid var(--admin-border) !important; border-radius: 11px !important; background: #f8fafc !important; min-height: 48px !important; color: var(--admin-ink) !important; }
.admin-login-input-group input:focus { background: #ffffff !important; border-color: #227031 !important; outline: 3px solid rgba(34, 112, 49, 0.15) !important; }
.admin-login-toggle-eye { position: absolute; right: 12px; top: 50%; transform: translateY(-50%); background: none; border: none; cursor: pointer; color: var(--admin-muted); padding: 6px; display: flex; align-items: center; justify-content: center; }
.admin-login-toggle-eye:hover { color: var(--admin-ink); }
.admin-alert-error { background: #fef2f2; border: 1px solid #fecaca; color: #b91c1c; padding: 12px 16px; border-radius: 10px; font-size: 13.5px; margin-bottom: 20px; text-align: left; }
@media print { body.admin-body { background: #ffffff !important; } .admin-navbar, .admin-toolbar, .view-mode-toggle, .admin-accordion-box, .btn-adm { display: none !important; } .appt-card { page-break-inside: avoid; box-shadow: none !important; border: 1px solid #94a3b8 !important; margin-bottom: 16px !important; } }
