/* Elite AV Entrepreneur Schedule v21 — Five Business Edition */
:root{
  --black:#050505;
  --black-2:#0d0d0f;
  --charcoal:#171719;
  --charcoal-2:#222226;
  --gold:#d7a928;
  --gold-bright:#ffd866;
  --gold-dark:#8f6812;
  --silver:#cfd2d7;
  --silver-bright:#f4f5f7;
  --white:#ffffff;
  --text:#f8f8f8;
  --muted:#a9abb1;
  --line:rgba(215,169,40,.24);
  --line-silver:rgba(207,210,215,.17);
  --danger:#b42333;
  --green:#168b5b;
  --navy:#050505;
  --navy-2:#171719;
  --teal:#d7a928;
  --teal-dark:#8f6812;
  --bg:#050505;
  --card:#111113;
  --shadow:0 22px 60px rgba(0,0,0,.48);
  --gold-shadow:0 14px 32px rgba(215,169,40,.16);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;background:var(--black)}
body{
  margin:0;
  min-height:100vh;
  font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;
  color:var(--text);
  background:
    radial-gradient(circle at 82% 0%,rgba(215,169,40,.18),transparent 28%),
    radial-gradient(circle at 12% 28%,rgba(207,210,215,.08),transparent 22%),
    linear-gradient(150deg,#050505 0%,#0a0a0b 48%,#030303 100%);
}
body::before{
  content:"";
  position:fixed;
  inset:0;
  pointer-events:none;
  opacity:.23;
  background-image:linear-gradient(rgba(255,255,255,.018) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.018) 1px,transparent 1px);
  background-size:34px 34px;
}
.app{position:relative;z-index:1;max-width:1120px;margin:auto;min-height:100vh;padding:24px 20px 56px}
.brand-hero{
  display:grid;
  grid-template-columns:minmax(280px,45%) 1fr;
  align-items:center;
  min-height:330px;
  border:1px solid rgba(215,169,40,.36);
  border-radius:32px;
  overflow:hidden;
  background:linear-gradient(135deg,rgba(0,0,0,.98),rgba(23,23,25,.94));
  box-shadow:var(--shadow),inset 0 1px 0 rgba(255,255,255,.05);
  position:relative;
}
.brand-hero::before{
  content:"";
  position:absolute;
  width:380px;height:380px;
  right:-100px;top:-170px;
  border:1px solid rgba(215,169,40,.22);
  border-radius:50%;
  box-shadow:0 0 90px rgba(215,169,40,.12);
}
.brand-logo-wrap{height:100%;min-height:330px;background:#000;display:flex;align-items:center;justify-content:center;overflow:hidden;border-right:1px solid rgba(215,169,40,.22)}
.brand-logo{display:block;width:100%;height:100%;max-height:330px;object-fit:cover;object-position:center;filter:contrast(1.04) saturate(1.06)}
.brand-copy{padding:34px 40px;position:relative}
.eyebrow,.section-kicker{display:inline-flex;align-items:center;gap:8px;color:var(--gold-bright);text-transform:uppercase;letter-spacing:.16em;font-size:11px;font-weight:900}
.eyebrow::before,.section-kicker::before{content:"";width:26px;height:2px;background:linear-gradient(90deg,var(--gold-bright),var(--gold-dark))}
h1{margin:10px 0 10px;color:var(--white);font-size:clamp(34px,5vw,58px);line-height:.98;letter-spacing:-.045em;max-width:620px}
h2{margin:4px 0 10px;color:var(--gold-bright);font-size:clamp(23px,3vw,30px);letter-spacing:-.025em}
h3{color:var(--silver-bright);letter-spacing:-.015em}
.subtitle{color:var(--silver);margin:0;line-height:1.62;font-size:16px;max-width:590px}
.hero-chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:22px}
.hero-chips span{border:1px solid rgba(215,169,40,.33);background:rgba(215,169,40,.08);color:var(--silver-bright);border-radius:999px;padding:8px 11px;font-size:11px;font-weight:800;letter-spacing:.02em}
.tabs{
  position:sticky;
  top:10px;
  z-index:20;
  display:grid;
  grid-template-columns:repeat(5,1fr);
  gap:7px;
  margin:18px 0;
  padding:8px;
  border:1px solid rgba(215,169,40,.24);
  border-radius:20px;
  background:rgba(8,8,9,.88);
  box-shadow:0 14px 36px rgba(0,0,0,.38);
  backdrop-filter:blur(16px);
}
.tabs button{margin:0;padding:12px 8px;border:1px solid transparent;border-radius:13px;background:transparent;color:var(--silver);font-size:13px;font-weight:900;box-shadow:none}
.tabs button:hover,.tabs button:focus,.tabs button.active{outline:none;color:#111;background:linear-gradient(135deg,var(--gold-bright),var(--gold));border-color:var(--gold-bright);box-shadow:0 8px 22px rgba(215,169,40,.2)}
.section{display:none}.section.active{display:block;animation:fadeUp .22s ease-out}
@keyframes fadeUp{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}
.card{
  position:relative;
  overflow:hidden;
  background:linear-gradient(155deg,rgba(22,22,24,.98),rgba(12,12,13,.98));
  padding:24px;
  margin-bottom:18px;
  border-radius:24px;
  border:1px solid var(--line-silver);
  box-shadow:0 16px 44px rgba(0,0,0,.32),inset 0 1px 0 rgba(255,255,255,.035);
}
.card::after{content:"";position:absolute;left:0;top:0;width:96px;height:2px;background:linear-gradient(90deg,var(--gold-bright),transparent)}
.dashboard-summary-card{background:radial-gradient(circle at 100% 0%,rgba(215,169,40,.16),transparent 34%),linear-gradient(155deg,#1a1a1c,#0b0b0c)}
.card p{line-height:1.55}
#todayDate{color:var(--silver);font-weight:700}
#todaySummary{margin-top:18px;padding:18px;border:1px solid rgba(215,169,40,.22);border-radius:18px;background:rgba(0,0,0,.28);line-height:1.82;color:var(--silver)}
#todaySummary strong{color:var(--gold-bright);font-size:20px}
label{display:block;margin-top:15px;color:var(--silver-bright);font-size:13px;font-weight:850;letter-spacing:.01em}
input,select,textarea{
  width:100%;
  margin-top:7px;
  padding:14px 15px;
  border:1px solid rgba(207,210,215,.18);
  border-radius:13px;
  background:#09090a;
  color:var(--white);
  font:inherit;
  font-size:15px;
  accent-color:var(--gold);
}
select{color-scheme:dark}
input::placeholder,textarea::placeholder{color:#73757c}
input:focus,select:focus,textarea:focus{outline:none;border-color:var(--gold);box-shadow:0 0 0 4px rgba(215,169,40,.12)}
textarea{min-height:112px;resize:vertical}
button{
  width:100%;
  margin-top:18px;
  padding:14px 16px;
  border:1px solid var(--gold-bright);
  border-radius:14px;
  cursor:pointer;
  background:linear-gradient(135deg,var(--gold-bright),var(--gold) 48%,#b88717);
  color:#111;
  font-size:15px;
  font-weight:950;
  box-shadow:var(--gold-shadow);
  transition:transform .16s ease,filter .16s ease,box-shadow .16s ease;
}
button:hover{transform:translateY(-1px);filter:brightness(1.05);box-shadow:0 16px 34px rgba(215,169,40,.22)}
button:active{transform:translateY(0)}
.danger-btn,.delete-btn,.contact-delete-btn,.todo-delete-btn{background:linear-gradient(135deg,#c92c42,var(--danger));border-color:#df6172;color:#fff;box-shadow:none}
.small-text{color:var(--muted);font-size:13px}.hidden-file-input{display:none}
.upload-box{display:block;margin-top:13px;padding:20px;border:1px dashed rgba(215,169,40,.65);border-radius:17px;background:linear-gradient(135deg,rgba(215,169,40,.11),rgba(207,210,215,.04));color:var(--gold-bright);text-align:center;font-size:15px;font-weight:900;cursor:pointer}
.upload-box::before{content:"⬆ ";color:var(--silver-bright)}
.time-grid,.planned-actual-grid,.contact-meta-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.focus-display,.prospecting-preview{margin-top:16px;padding:15px;border:1px solid rgba(215,169,40,.24);border-left:4px solid var(--gold);border-radius:16px;background:rgba(0,0,0,.28)}
.focus-display h3{margin:0 0 8px;color:var(--gold-bright)}.prospecting-preview p{margin:6px 0}
.todo-item,.schedule-item,.contact-card{margin-top:13px;padding:16px;border:1px solid rgba(207,210,215,.14);border-left:5px solid var(--gold);border-radius:18px;background:linear-gradient(145deg,#171719,#0d0d0f);box-shadow:0 12px 28px rgba(0,0,0,.28)}
.todo-item{cursor:pointer}.todo-item.completed{opacity:.68}.todo-item.completed .todo-text{text-decoration:line-through;color:var(--muted)}
.todo-top-row{display:flex;justify-content:space-between;gap:10px;align-items:flex-start}.todo-text{color:var(--silver-bright);font-size:16px;font-weight:900}.todo-meta,.schedule-meta{margin-top:7px;color:var(--muted);font-size:12px;font-weight:700}
.todo-priority,.badge,.heat-pill,.heat-label,.company-heat-label,.holiday-tag{display:inline-block;margin-top:7px;padding:6px 9px;border-radius:999px;font-size:10px;font-weight:950;text-transform:uppercase;letter-spacing:.04em}
.priority-high{background:#4f1119;color:#ff9baa}.priority-normal{background:rgba(215,169,40,.15);color:var(--gold-bright)}.priority-low{background:#2b2c30;color:var(--silver)}
.todo-delete-btn,.contact-delete-btn,.save-contact-btn,.save-actual-btn{margin-top:9px;padding:10px;font-size:13px}
.day-button-row{display:grid;grid-template-columns:repeat(7,1fr);gap:8px;margin-top:10px}
.day-button{margin:0;padding:12px 5px;border:1px solid rgba(207,210,215,.16);border-radius:14px;background:#101012;color:var(--silver);box-shadow:none}
.day-button:hover{border-color:var(--gold);color:var(--gold-bright)}.day-button.active{border-color:var(--gold-bright);background:linear-gradient(145deg,#3c2e0b,#1a160a);color:var(--white);box-shadow:0 8px 20px rgba(215,169,40,.14)}
.day-button .day-name{display:block;font-size:11px;font-weight:950}.day-button .day-date{display:block;margin-top:4px;font-size:12px;font-weight:750}.day-button .holiday-dot{display:inline-block;width:7px;height:7px;margin-top:5px;border-radius:50%;background:var(--gold-bright)}
.holiday-notice{display:none;margin-top:10px;padding:12px;border:1px solid rgba(215,169,40,.26);border-radius:13px;background:rgba(215,169,40,.1);color:var(--gold-bright);font-weight:800}.holiday-tag,.month-holiday{background:rgba(215,169,40,.13);color:var(--gold-bright)}
.month-overview-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:8px;margin-top:13px}.month-day-header{padding:8px 4px;text-align:center;color:var(--gold-bright);font-size:11px;font-weight:950}.month-day-cell{min-height:112px;padding:8px;border:1px solid rgba(207,210,215,.13);border-radius:14px;background:#0c0c0d;overflow:hidden}.month-day-cell.empty{border:none;background:transparent}.month-day-number{margin-bottom:6px;color:var(--silver-bright);font-size:12px;font-weight:950}.month-holiday{display:block;margin-bottom:5px;padding:4px 6px;border-radius:999px;font-size:9px;font-weight:900}.month-event{display:block;margin-top:5px;padding:6px;border-radius:9px;color:#fff;font-size:10px;font-weight:850;line-height:1.25}.month-event-time{display:block;opacity:.85;font-size:9px}
.business-elite-av-printing,.todo-elite-av-printing{border-left-color:#f0c75e}.business-elite-av-bookkeeping,.todo-elite-av-bookkeeping{border-left-color:#cfd2d7}.business-elite-av-smart-site,.todo-elite-av-smart-site{border-left-color:#ffffff}.business-personal,.todo-personal{border-left-color:#86888e}.business-elite-av-study,.todo-elite-av-study{border-left-color:#b68a32}
.event-elite-av-printing{background:#9d7417}.event-elite-av-bookkeeping{background:#52545a}.event-elite-av-smart-site{background:#d8d9dc;color:#111}.event-personal{background:#66686e}.event-elite-av-study{background:#725514}
.badge-elite-av-printing{background:#3a2d0d;color:#ffd866}.badge-elite-av-bookkeeping{background:#33343a;color:#f0f1f3}.badge-elite-av-smart-site{background:#f0f1f3;color:#111}.badge-personal{background:#303136;color:#ddd}.badge-elite-av-study{background:#30250b;color:#e8c46d}
.schedule-item strong{display:block;color:var(--gold-bright);font-size:16px}
.planned-box,.actual-box{padding:14px;border:1px solid rgba(207,210,215,.14);border-radius:16px;background:#0a0a0b}.actual-box textarea{min-height:85px}.save-actual-btn,.call-btn{background:linear-gradient(135deg,#52b37d,var(--green));border-color:#74c996;color:#07150d;box-shadow:none}
.lead-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.lead-stats-wide{grid-template-columns:repeat(5,1fr)}.lead-stats div{padding:15px;border:1px solid rgba(215,169,40,.18);border-radius:16px;background:linear-gradient(155deg,#171719,#0b0b0c);text-align:center}.lead-stats strong{display:block;color:var(--gold-bright);font-size:27px}.lead-stats span{color:var(--muted);font-size:11px;font-weight:850}.heat-legend{display:flex;flex-wrap:wrap;gap:8px;margin:14px 0 6px}.heat-hot,.company-hot{background:#4f1119;color:#ff9baa}.heat-warm,.company-warm{background:#44300d;color:#ffd866}.heat-cool,.company-cool{background:#262a31;color:#cfd2d7}
.contact-card h3{margin:0 0 8px;color:var(--gold-bright);font-size:19px}.contact-heat-hot{border-left-color:#d34c5d}.contact-heat-warm{border-left-color:var(--gold)}.contact-heat-cool{border-left-color:var(--silver)}.contact-detail{margin:4px 0;color:var(--silver);font-size:13px}.contact-detail a{color:var(--gold-bright);font-weight:900}.call-btn,.email-btn,.map-btn{display:block;margin-top:10px;padding:12px;border-radius:13px;text-align:center;text-decoration:none;font-weight:900}.call-btn{color:#07150d}.email-btn{background:#37393f;color:#fff;border:1px solid #656872}.map-btn{background:linear-gradient(135deg,#f0f1f3,#aeb2ba);color:#111}.save-contact-btn{background:linear-gradient(135deg,var(--gold-bright),var(--gold));border-color:var(--gold-bright);color:#111}
#trackerSummary{margin-top:16px;padding:16px;border:1px solid rgba(215,169,40,.22);border-radius:16px;background:rgba(0,0,0,.25)}#trackerSummary h3{color:var(--gold-bright)}
a{color:var(--gold-bright)}
@media (max-width:820px){.app{padding:14px 12px 42px}.brand-hero{grid-template-columns:1fr;min-height:0}.brand-logo-wrap{min-height:230px;border-right:none;border-bottom:1px solid rgba(215,169,40,.22)}.brand-logo{max-height:230px}.brand-copy{padding:26px 22px 28px}h1{font-size:39px}.tabs{top:6px;grid-template-columns:repeat(5,minmax(88px,1fr));overflow-x:auto}.tabs button{white-space:nowrap}.card{padding:18px;border-radius:20px}.time-grid,.planned-actual-grid,.contact-meta-grid{grid-template-columns:1fr}.day-button-row{grid-template-columns:repeat(4,1fr)}.month-overview-grid{grid-template-columns:repeat(2,1fr)}.month-day-header{display:none}.month-day-cell{min-height:108px}.lead-stats,.lead-stats-wide{grid-template-columns:repeat(2,1fr)}}
@media (max-width:480px){.brand-logo-wrap{min-height:190px}.brand-logo{max-height:190px}.brand-copy{padding:22px 18px 24px}.eyebrow{font-size:9px}.hero-chips span{font-size:10px}.tabs{grid-template-columns:repeat(5,96px);border-radius:16px}.tabs button{font-size:12px;padding:11px 8px}.card{padding:16px}.day-button-row{grid-template-columns:repeat(2,1fr)}.lead-stats,.lead-stats-wide{grid-template-columns:1fr 1fr}}
@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;animation:none!important;transition:none!important}}


/* v27 authentication gate */
[hidden] { display: none !important; }
body.auth-locked { overflow: hidden; }
body.auth-locked #mainApp { display: none !important; }

/* v27 connected tester account and business setup */
.auth-screen {
  position: fixed;
  inset: 0;
  z-index: 10000;
  min-height: 100vh;
  display: grid;
  place-items: center;
  overflow-y: auto;
  padding: 28px 18px;
  background: radial-gradient(circle at top, rgba(205,164,52,.20), transparent 42%), #050505;
}
.auth-card {
  width: min(540px, 100%);
  padding: 30px;
  border: 1px solid rgba(212,175,55,.45);
  border-radius: 24px;
  background: linear-gradient(145deg, rgba(25,25,25,.98), rgba(8,8,8,.98));
  box-shadow: 0 30px 80px rgba(0,0,0,.55), inset 0 1px 0 rgba(255,255,255,.05);
}
.auth-logo { width: min(360px, 86%); display: block; margin: 0 auto 12px; }
.auth-card h1 { text-align: center; margin: 8px 0 10px; }
.auth-card > p { text-align: center; color: #d4d4d4; margin-bottom: 22px; }
.auth-card .eyebrow { display: block; text-align: center; }
.auth-actions { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin-top: 14px; }
.auth-message { min-height: 24px; margin-top: 14px; padding: 10px 12px; border-radius: 10px; text-align: center; color: #d8d8d8; background: rgba(255,255,255,.04); }
.auth-message.error { color: #ffb6b6; border: 1px solid rgba(220,65,65,.45); }
.auth-message.success { color: #c9f7d5; border: 1px solid rgba(48,164,83,.45); }
.auth-message.working { color: #f6df93; border: 1px solid rgba(212,175,55,.45); }
.secondary-btn { background: linear-gradient(135deg, #d8d8d8, #8d8d8d); color: #080808; }
.account-bar { display: flex; justify-content: space-between; align-items: center; gap: 16px; margin: 0 auto 14px; padding: 11px 15px; border: 1px solid rgba(212,175,55,.30); border-radius: 14px; background: rgba(12,12,12,.92); }
.account-bar > div { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; }
.cloud-save-status { font-size: .78rem; color: #b9e7c5; border: 1px solid rgba(71,170,96,.38); background: rgba(36,125,59,.16); padding: 4px 9px; border-radius: 999px; }
.cloud-save-status.saving { color: #f5df95; border-color: rgba(212,175,55,.45); background: rgba(212,175,55,.10); }
.cloud-save-status.error { color: #ffb4b4; border-color: rgba(220,65,65,.45); background: rgba(220,65,65,.10); }
.account-signout-btn { width: auto; margin: 0; padding: 8px 14px; background: transparent; color: #ececec; border: 1px solid rgba(255,255,255,.24); }
.business-entry-row { display: grid; grid-template-columns: 1fr auto; gap: 12px; align-items: end; }
.business-entry-row button { width: auto; white-space: nowrap; }
.business-list { display: grid; gap: 10px; margin-top: 18px; }
.business-list-item { display: grid; grid-template-columns: 14px 1fr auto auto; align-items: center; gap: 10px; padding: 12px; border: 1px solid rgba(255,255,255,.10); border-radius: 14px; background: rgba(255,255,255,.035); }
.business-color-dot { width: 12px; height: 38px; border-radius: 999px; background: var(--business-accent, #d4af37); box-shadow: 0 0 18px color-mix(in srgb, var(--business-accent, #d4af37) 45%, transparent); }
.business-list-name { font-weight: 800; color: #f4f4f4; overflow-wrap: anywhere; }
.business-edit-btn, .business-remove-btn { width: auto; margin: 0; padding: 8px 11px; font-size: .82rem; }
.business-remove-btn { background: rgba(158,35,35,.20); color: #ffd0d0; border: 1px solid rgba(220,65,65,.35); }
.dashboard-business-card { border-color: rgba(212,175,55,.40); }
.schedule-item, .todo-item, .month-event { --business-accent: #d4af37; }
.schedule-item { border-left: 5px solid var(--business-accent) !important; }
.todo-item { border-left: 5px solid var(--business-accent) !important; }
.month-event { border-left: 3px solid var(--business-accent) !important; }
.dynamic-business-badge { background: color-mix(in srgb, var(--business-accent) 28%, #101010); border-color: color-mix(in srgb, var(--business-accent) 62%, #222); color: #fff; }

.auth-helper-row { display: flex; justify-content: center; margin-top: 14px; }
.text-link-button { width: auto; margin: 0; padding: 7px 10px; border: 0; background: transparent; box-shadow: none; color: #f1cf66; text-decoration: underline; text-underline-offset: 3px; }
.text-link-button:hover, .text-link-button:focus { background: rgba(212,175,55,.09); color: #ffe69a; outline: 1px solid rgba(212,175,55,.35); }
.password-reset-panel h2 { margin: 6px 0 8px; text-align: center; }
.password-reset-panel > p { margin: 0 0 20px; text-align: center; color: #d4d4d4; }

@media (max-width: 620px) {
  .auth-card { padding: 22px 17px; }
  .auth-actions { grid-template-columns: 1fr; }
  .account-bar { align-items: flex-start; }
  .business-entry-row { grid-template-columns: 1fr; }
  .business-entry-row button { width: 100%; }
  .business-list-item { grid-template-columns: 12px 1fr; }
  .business-edit-btn, .business-remove-btn { grid-column: span 1; width: 100%; }
}
