/* ATF Client Portal — Shared Stylesheet
   Source: d:\GC\scripts\alltimefavorites.com\cloudflare\public-assets\atf-client-portal.css
   Served:  https://storage.googleapis.com/atfpublic/atf-client-portal.css
   Update:  gcloud storage cp "d:\GC\scripts\alltimefavorites.com\cloudflare\public-assets\atf-client-portal.css" gs://atfpublic/atf-client-portal.css --content-type "text/css"
*/

/* ── Reset & Base ─────────────────────────────────────────── */
* { box-sizing: border-box; }
body {
    padding: 12px;
    font-family: Helvetica, Arial, sans-serif;
}
img { max-width: 100%; height: auto; }

/* ── Links ────────────────────────────────────────────────── */
a:link    { text-decoration: none; }
a:visited { text-decoration: none; }
a:hover   { text-decoration: underline; }

/* ── Layout ───────────────────────────────────────────────── */
.page-wrap {
    max-width: 900px;
    margin: 0 auto;
    text-align: center;
}
.page-wrap-narrow {
    max-width: 560px;
    margin: 0 auto;
    text-align: center;
}

/* ── Typography ───────────────────────────────────────────── */
.page-title  { font-size: clamp(16px, 4vw, 22px); margin: 0 0 8px; font-weight: bold; }
.section-head {
    font-size: clamp(16px, 4vw, 20px);
    font-weight: bold;
    color: #0066cc;
    margin: 28px 0 12px 0;
    text-align: center;
}
.signed-in { font-size: clamp(14px, 3.5vw, 18px); margin: 4px 0; }
.sub-info  { font-size: clamp(12px, 3vw, 15px); color: #555; margin: 4px 0; }
.empty-msg { color: #888; text-align: center; font-size: 14px; padding: 16px 0; }

/* ── Navigation Buttons ───────────────────────────────────── */
.switch-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 44px;
    background: #f5f5f5;
    border: 1px solid #aaa;
    border-radius: 6px;
    padding: 10px 18px;
    text-decoration: none;
    color: #333;
    font-size: 14px;
    margin: 4px;
}
.switch-btn:hover { background: #e8e8e8; text-decoration: none; }

/* ── Dashboard Cards ──────────────────────────────────────── */
.dash-card {
    display: block;
    width: 90%;
    max-width: 380px;
    background: #fff;
    border: 2px solid #0066cc;
    border-radius: 10px;
    padding: 20px 24px;
    text-decoration: none;
    color: #0066cc;
    font-size: clamp(16px, 4vw, 20px);
    font-weight: bold;
    box-shadow: 0 2px 8px rgba(0,0,0,0.12);
    margin: 10px auto;
}
.dash-card:hover { background: #f0f6ff; text-decoration: none; }
.dash-card .sub  { display: block; font-size: 13px; font-weight: normal; color: #555; margin-top: 6px; }

/* Green variant (event planning / client links) */
.dash-card-green { border-color: #006633; color: #006633; }
.dash-card-green:hover { background: #f0fff4; }

/* ── Info / Promo Cards ───────────────────────────────────── */
.info-card {
    display: inline-block;
    width: 90%;
    max-width: 340px;
    margin-top: 12px;
    background: #fff;
    border: 2px solid #0066cc;
    border-radius: 10px;
    padding: 18px 24px;
    text-decoration: none;
    color: #0066cc;
    font-size: clamp(15px, 4vw, 18px);
    font-weight: bold;
    box-shadow: 0 2px 8px rgba(0,0,0,0.10);
}
.info-card:hover { background: #f0f6ff; text-decoration: none; }
.info-card .sub  { display: block; font-size: 13px; font-weight: normal; color: #555; margin-top: 6px; }

/* ── Primary Action Button ────────────────────────────────── */
.btn-primary {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 44px;
    background: #0066cc;
    color: #fff;
    border: none;
    border-radius: 6px;
    padding: 10px 24px;
    font-size: 15px;
    font-weight: bold;
    text-decoration: none;
    cursor: pointer;
    margin: 4px;
}
.btn-primary:hover { background: #0055aa; text-decoration: none; color: #fff; }

/* ── Data Tables ──────────────────────────────────────────── */
.table-scroll { overflow-x: auto; -webkit-overflow-scrolling: touch; }

table.events {
    border-collapse: collapse;
    width: 100%;
    max-width: 860px;
    margin: 0 auto 16px auto;
    font-size: clamp(12px, 3vw, 14px);
}
table.events th {
    background: #0066cc;
    color: #fff;
    padding: 9px 10px;
    text-align: left;
    white-space: nowrap;
}
table.events td {
    padding: 8px 10px;
    border-bottom: 1px solid #ddd;
    vertical-align: top;
}
table.events tr:nth-child(even) td { background: #f5f8ff; }

/* ── Forms ────────────────────────────────────────────────── */
.form-wrap {
    max-width: 480px;
    margin: 0 auto;
    text-align: left;
}
.form-wrap label { display: block; font-size: 14px; margin: 12px 0 4px; color: #333; }
.form-wrap input,
.form-wrap select,
.form-wrap textarea {
    width: 100%;
    padding: 9px 12px;
    font-size: 14px;
    border: 1px solid #bbb;
    border-radius: 5px;
    min-height: 44px;
}

/* ── Footer ───────────────────────────────────────────────── */
.page-footer {
    font-size: 13px;
    color: #555;
    margin: 16px 0 4px;
    text-align: center;
}

/* ── Standard Page Header ─────────────────────────────────── */
.atf-logo-wrap { text-align: center; padding: 12px 0 4px; }
.atf-logo { max-width: 220px; height: auto; }
.atf-tagline {
    font-size: clamp(11px, 2.8vw, 13px);
    color: #555;
    margin-top: 5px;
    font-style: italic;
}
.atf-nav-bar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 4px;
    padding: 6px 2px;
    margin-top: 4px;
}
.atf-breadcrumb {
    font-size: clamp(13px, 3.5vw, 15px);
    color: #555;
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 2px;
}
.atf-bc-sep     { color: #aaa; margin: 0 3px; }
.atf-bc-link    { color: #0066cc; }
.atf-bc-link:hover { text-decoration: underline; }
.atf-bc-current { color: #333; font-weight: bold; }
.atf-right-nav {
    font-size: clamp(13px, 3.5vw, 15px);
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 2px;
    white-space: nowrap;
}
.atf-rnav-link     { color: #0066cc; }
.atf-rnav-link:hover { text-decoration: underline; }
.atf-rnav-sep      { color: #bbb; }
.atf-signed-in-bar {
    font-size: clamp(13px, 3.5vw, 16px);
    margin: 4px 0 6px;
    text-align: center;
}
.atf-header-hr { border: none; border-top: 1px solid #ddd; margin: 8px 0 14px; }

/* ── Color swatches (settings page) ──────────────────────── */
.color-swatch { display:inline-block;width:36px;height:36px;border-radius:50%;border:3px solid #ccc;cursor:pointer;margin:0 6px;transition:border-color .15s; }
.color-swatch.selected, .color-swatch:hover { border-color:#0c5fb8; }
