.sea-app {
    --sea-bg: #ffffff;
    --sea-fg: #111827;
    --sea-muted: #6b7280;
    --sea-border: #e5e7eb;
    --sea-accent: #2563eb;
    --sea-accent-fg: #ffffff;
    --sea-disabled: #f3f4f6;
    --sea-pass: #fef3c7;
    --sea-pass-fg: #92400e;

    font-family: system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
    color: var(--sea-fg);
    background: var(--sea-bg);
    border: 1px solid var(--sea-border);
    border-radius: 12px;
    padding: 20px;
    max-width: 920px;
    margin: 16px auto;
    box-shadow: 0 1px 3px rgba(0,0,0,.04);
}
.sea-app__header { display:flex; align-items:baseline; justify-content:space-between; margin-bottom:12px; }
.sea-app__header strong { font-size:1.15rem; }
.sea-app__sub { color: var(--sea-muted); font-size:.9rem; }

.sea-staff-picker { display:flex; align-items:center; gap:8px; margin-bottom:14px; flex-wrap:wrap; }
.sea-staff-picker select { padding:6px 8px; border:1px solid var(--sea-border); border-radius:6px; }
.sea-staff-legend { display:flex; gap:6px; margin-left:auto; }
.sea-staff-chip { display:inline-flex; align-items:center; gap:6px; font-size:.78rem; color:var(--sea-muted); }
.sea-staff-chip::before { content:""; width:10px; height:10px; border-radius:50%; background:var(--c); display:inline-block; }

.sea-loading { padding:24px; text-align:center; color:var(--sea-muted); }

/* Month grid */
.sea-month { display:grid; grid-template-columns: repeat(7, 1fr); gap:4px; }
.sea-month__dow, .sea-month__cell { padding:8px; text-align:center; border-radius:6px; }
.sea-month__dow { font-weight:600; color:var(--sea-muted); font-size:.8rem; }
.sea-month__cell { border:1px solid var(--sea-border); min-height:64px; cursor:pointer; display:flex; flex-direction:column; align-items:flex-start; }
.sea-month__cell--disabled { background: var(--sea-disabled); color: var(--sea-muted); cursor:not-allowed; }
.sea-month__cell--available { border-color: var(--sea-accent); }
.sea-month__cell--available:hover { background: #eff6ff; }
/* The day the customer is currently on — kept highlighted across a staff change. */
.sea-month__cell--selected { background: #dbeafe; border-color: var(--sea-accent); box-shadow: inset 0 0 0 1px var(--sea-accent); }
/* Return from a single-day panel to the full month grid. */
.sea-daypanel__back { background:none; border:none; color: var(--sea-accent); cursor:pointer; font-size:14px; padding:4px 0 10px; }
.sea-daypanel__back:hover { text-decoration: underline; }
.sea-month__date { font-weight:600; font-size:.85rem; }
.sea-month__count { font-size:.7rem; color: var(--sea-accent); margin-top:auto; align-self:flex-end; }
.sea-month__pass { font-size:.65rem; background:var(--sea-pass); color:var(--sea-pass-fg); padding:1px 4px; border-radius:3px; margin-top:2px; }

/* Week grid */
.sea-week { display:grid; grid-template-columns: 60px repeat(7, 1fr); gap:2px; }
.sea-week__hdr, .sea-week__hour, .sea-week__cell { padding:4px; text-align:center; font-size:.8rem; }
.sea-week__hdr { font-weight:600; }
.sea-week__cell { border:1px solid var(--sea-border); height:24px; cursor:pointer; border-radius:4px; }
.sea-week__cell--free:hover { background:#eff6ff; }
.sea-week__cell--busy { background:#fee2e2; cursor:not-allowed; }
.sea-week__cell--pass { background:var(--sea-pass); }

/* List layout */
.sea-list { display:flex; flex-direction:column; gap:8px; }
.sea-list__group { border:1px solid var(--sea-border); border-radius:8px; padding:10px; }
.sea-list__date { font-weight:600; margin-bottom:6px; }
.sea-list__slots { display:flex; flex-wrap:wrap; gap:6px; }

/* Inline (default) */
.sea-inline { display:grid; grid-template-columns: 1fr 1fr; gap:16px; }
@media (max-width: 720px) { .sea-inline { grid-template-columns: 1fr; } }
.sea-inline__days { display:flex; flex-direction:column; gap:4px; max-height:380px; overflow:auto; }
.sea-inline__day { padding:10px; border:1px solid var(--sea-border); border-radius:8px; cursor:pointer; display:flex; justify-content:space-between; }
.sea-inline__day--active { border-color:var(--sea-accent); background:#eff6ff; }
.sea-inline__day--disabled { background:var(--sea-disabled); color:var(--sea-muted); cursor:not-allowed; }
.sea-inline__slots { display:flex; flex-wrap:wrap; gap:6px; align-content:flex-start; }

.sea-slot {
    background:#fff;
    border:1px solid var(--sea-accent);
    color:var(--sea-accent);
    padding:6px 10px;
    border-radius:6px;
    cursor:pointer;
    font-size:.85rem;
}
.sea-slot:hover { background:var(--sea-accent); color:var(--sea-accent-fg); }
.sea-slot--pass { border-color:var(--sea-pass-fg); color:var(--sea-pass-fg); background:#fffbeb; }

.sea-app__form { margin-top:16px; padding-top:16px; border-top:1px solid var(--sea-border); }
.sea-app__chosen { background:#eff6ff; padding:10px; border-radius:8px; margin-bottom:12px; font-weight:500; }
.sea-form { display:grid; gap:10px; }
.sea-form label { display:flex; flex-direction:column; gap:4px; font-size:.85rem; color:var(--sea-fg); }
.sea-form input, .sea-form select, .sea-form textarea {
    padding:8px 10px; border:1px solid var(--sea-border); border-radius:6px; font:inherit;
}
.sea-form textarea { min-height:80px; resize:vertical; }
.sea-form .sea-req::after { content:" *"; color:#dc2626; }

.sea-app__actions { display:flex; gap:8px; justify-content:flex-end; margin-top:12px; }
.sea-btn { border:0; padding:10px 14px; border-radius:6px; cursor:pointer; font:inherit; }
.sea-btn--primary { background: var(--sea-accent); color:#fff; }
.sea-btn--ghost   { background: transparent; color: var(--sea-muted); }
.sea-btn--primary:disabled { opacity:.6; cursor:not-allowed; }

.sea-app__done { text-align:center; padding:30px 10px; }
.sea-done__title { color: var(--sea-accent); }

/* --- Reschedule landing page --- */
.sea-resched-wrap {
    max-width:760px; margin:0 auto; padding:32px 16px 48px;
}
.sea-resched__card {
    background:#fff; border:1px solid var(--sea-border); border-radius:10px;
    padding:20px 22px; margin-bottom:18px;
}
.sea-resched__card h2 { margin-top:0; }
.sea-resched__current {
    display:flex; flex-direction:column; gap:2px;
    background:#f8fafc; border:1px solid var(--sea-border);
    border-left:4px solid var(--sea-accent);
    border-radius:6px; padding:12px 14px; margin:14px 0;
}
.sea-resched__label {
    font-size:.72rem; text-transform:uppercase; letter-spacing:.04em;
    color:var(--sea-muted);
}
.sea-resched__current em { color:var(--sea-muted); font-size:.85rem; }
.sea-resched__note { color:var(--sea-muted); font-size:.85rem; margin-bottom:0; }

.sea-resched__compare {
    display:flex; flex-direction:column; gap:6px; text-align:center;
    padding:6px 0 2px;
}
.sea-resched__compare span {
    display:block; font-size:.72rem; text-transform:uppercase;
    letter-spacing:.04em; color:var(--sea-muted);
}
.sea-resched__from strong { text-decoration:line-through; color:var(--sea-muted); font-weight:500; }
.sea-resched__to strong   { color:var(--sea-accent); font-size:1.05rem; }
.sea-resched__arrow { color:var(--sea-muted); font-size:1.1rem; line-height:1; }

/* Manage page: reschedule-or-cancel */
.sea-manage__options { display:grid; gap:18px; grid-template-columns:1fr 1fr; }
@media (max-width:640px) { .sea-manage__options { grid-template-columns:1fr; } }
.sea-manage__options h3 { margin-top:0; }
.sea-manage__cancel select, .sea-manage__cancel textarea { width:100%; }
.sea-manage__error { color:#b91c1c; font-size:.9rem; margin:0 0 8px; }
.sea-btn--danger { background:#b91c1c; color:#fff; }
.sea-btn--danger:hover { background:#991b1b; }
a.sea-btn { display:inline-block; text-decoration:none; }
