/* Clean modern UI for Dive Schedule */
:root{
  --bg:#f6f8fb;
  --surface:#ffffff;
  --surface-soft:#f1f5f9;
  --surface-tint:#eef6ff;
  --text:#102033;
  --muted:#66758a;
  --border:#d9e2ec;
  --border-strong:#b9c7d8;
  --accent:#0f766e;
  --accent-strong:#115e59;
  --accent-soft:#d9f4f0;
  --blue:#2563eb;
  --green:#16a34a;
  --amber:#d97706;
  --red:#dc2626;
  --danger-soft:#fee2e2;
  --shadow:0 18px 45px rgba(15,23,42,.08);
  --shadow-sm:0 8px 22px rgba(15,23,42,.07);
  --radius:18px;
  --radius-sm:12px;
}
*{box-sizing:border-box}
html{background:var(--bg);scroll-behavior:smooth}
body{
  margin:0;
  color:var(--text);
  font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
  line-height:1.5;
  min-height:100vh;
  background:
    radial-gradient(circle at top left,rgba(15,118,110,.14),transparent 34rem),
    radial-gradient(circle at top right,rgba(37,99,235,.11),transparent 28rem),
    var(--bg);
}
a{color:var(--accent-strong);text-decoration:none}
a:hover{text-decoration:underline;text-underline-offset:3px}
button,a,input,select,textarea{font:inherit}
button{cursor:pointer}
.topbar{
  position:sticky;top:0;z-index:10;
  display:flex;align-items:center;justify-content:space-between;gap:16px;
  padding:14px max(18px,calc((100vw - 1120px)/2 + 18px));
  background:rgba(255,255,255,.88);
  backdrop-filter:blur(16px);
  border-bottom:1px solid rgba(217,226,236,.9);
  box-shadow:0 1px 0 rgba(15,23,42,.04);
}
.brand{font-weight:800;color:var(--text);letter-spacing:-.02em;font-size:1.05rem}
.topbar nav{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.topbar nav a,.inline button{display:inline-flex;align-items:center;min-height:38px;padding:8px 12px;border-radius:999px;color:var(--text);font-weight:700;background:transparent;border:0}.topbar nav a:hover,.inline button:hover{background:var(--surface-soft);text-decoration:none}.pill,.topbar nav a.pill{background:var(--text);color:#fff}.inline{display:inline}.page{width:min(1120px,100%);margin:0 auto;padding:26px 18px 48px}.splash-head{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;margin:12px 0 18px;padding:28px;background:linear-gradient(135deg,#fff, #f8fbff);border:1px solid var(--border);border-radius:28px;box-shadow:var(--shadow)}
.splash-head h1{margin:0;font-size:clamp(2rem,5vw,3.75rem);line-height:.95;letter-spacing:-.06em}.eyebrow{margin:0 0 6px;color:var(--accent-strong);font-size:.76rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase}.splash-actions,.actions{display:flex;gap:10px;flex-wrap:wrap;justify-content:flex-end}.button,button.button{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:10px 16px;border:0;border-radius:999px;background:var(--accent);color:#fff;font-weight:800;text-decoration:none;box-shadow:0 10px 24px rgba(15,118,110,.22)}.button:hover,button.button:hover{background:var(--accent-strong);text-decoration:none}.button.secondary{background:#fff;color:var(--text);border:1px solid var(--border);box-shadow:var(--shadow-sm)}
.subtabs{position:sticky;top:67px;z-index:8;display:flex;gap:8px;overflow-x:auto;margin:0 0 20px;padding:8px;background:rgba(246,248,251,.88);backdrop-filter:blur(14px);border:1px solid var(--border);border-radius:999px}.subtabs a{flex:0 0 auto;padding:9px 14px;border-radius:999px;color:var(--muted);font-weight:800}.subtabs a.active,.subtabs a:hover{background:var(--surface);color:var(--text);box-shadow:var(--shadow-sm);text-decoration:none}.panel-block{scroll-margin-top:132px;margin:0 0 26px}.section-head{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;margin:18px 0 14px}.section-head h1,.section-head h2{margin:0;letter-spacing:-.035em}.compact-head{padding:18px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-sm)}.calendar-nav{text-align:center}.calendar-nav>a{font-weight:800;color:var(--accent-strong)}
.calendar-scale-note{display:flex;gap:8px;margin:0 0 12px}.calendar-scale-note span{display:none;padding:6px 10px;border-radius:999px;background:var(--accent-soft);color:var(--accent-strong);font-size:.8rem;font-weight:800}.scale-month{display:inline-flex!important}.calendar-month-view,.calendar-week-view,.calendar-day-view{display:block}.calendar-week-view,.calendar-day-view{display:none}.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:8px}.calendar-grid.header{margin-bottom:8px;color:var(--muted);font-size:.78rem;font-weight:800;text-align:center;text-transform:uppercase}.day{min-height:132px;padding:10px;background:var(--surface);border:1px solid var(--border);border-radius:16px;box-shadow:var(--shadow-sm);overflow:hidden}.day.blank{background:rgba(255,255,255,.45);box-shadow:none}.day>strong{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:999px;background:var(--surface-soft);font-size:.9rem}.cal-event{display:block;margin-top:8px;padding:8px 9px;border-radius:12px;background:var(--accent-soft);border:1px solid rgba(15,118,110,.18);color:var(--text);font-size:.83rem;font-weight:750;line-height:1.25}.cal-event:hover{text-decoration:none;box-shadow:0 6px 16px rgba(15,23,42,.08)}.cal-event span,.cal-event small{display:block;color:var(--muted);font-size:.76rem;font-weight:700}.cal-event.confirmed{background:#dcfce7;border-color:#bbf7d0}.cal-event.cancelled{background:var(--danger-soft);border-color:#fecaca;color:#7f1d1d}.week-card,.agenda-day{padding:16px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-sm);margin-bottom:12px}.week-card h3,.agenda-day h3{margin:0 0 12px;letter-spacing:-.03em}.week-days{display:grid;grid-template-columns:repeat(7,minmax(140px,1fr));gap:10px;overflow-x:auto;padding-bottom:4px}.week-day{min-height:120px;padding:10px;border:1px solid var(--border);border-radius:14px;background:var(--surface-soft)}.week-day-head{display:flex;align-items:center;justify-content:space-between;color:var(--muted);font-size:.82rem;font-weight:800}.no-event{margin:12px 0 0;color:var(--muted);font-size:.86rem}.agenda-event{display:grid;grid-template-columns:auto 1fr;gap:2px 12px;align-items:center;padding:13px 14px;margin-bottom:10px;border:1px solid var(--border);border-radius:16px;background:var(--surface);box-shadow:var(--shadow-sm);color:var(--text)}.agenda-event:hover{text-decoration:none;border-color:var(--accent)}.agenda-time{grid-row:span 2;padding:5px 8px;border-radius:999px;background:var(--accent-soft);color:var(--accent-strong);font-weight:900;font-size:.82rem}.agenda-event>span:last-child{color:var(--muted);font-size:.9rem}
.event-list{display:grid;gap:14px}.compact-list{grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}.event-card,.form-card,.empty,.form-shell,.tableish,.activity,.response,.mini-info{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:18px;box-shadow:var(--shadow-sm)}.event-card{border-left:5px solid var(--blue)}.event-card.confirmed{border-left-color:var(--green)}.event-card.cancelled{border-left-color:var(--red);opacity:.82}.event-card h1,.event-card h3{margin:4px 0;letter-spacing:-.035em}.event-card.big{margin-bottom:18px}.date{margin:0;color:var(--muted);font-size:.9rem;font-weight:800}.chips{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}.chips span{padding:5px 9px;border-radius:999px;background:var(--surface-soft);color:var(--muted);font-size:.82rem;font-weight:800}.form-shell{max-width:540px;margin:28px auto}.form-shell.wide{max-width:780px}.stack{display:grid;gap:15px}label{display:grid;gap:7px;color:var(--text);font-size:.9rem;font-weight:800}input,select,textarea{width:100%;min-height:44px;padding:11px 12px;border:1px solid var(--border-strong);border-radius:12px;background:#fff;color:var(--text);box-shadow:0 1px 0 rgba(15,23,42,.03)}textarea{min-height:100px;resize:vertical}input:focus,select:focus,textarea:focus{outline:3px solid rgba(15,118,110,.18);border-color:var(--accent)}.muted{color:var(--muted);font-weight:600}.error{padding:12px;border-radius:14px;background:var(--danger-soft);color:#991b1b;border:1px solid #fecaca}.grid-two,.admin-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:18px}.response-list{display:grid;gap:12px}.response{border-left:5px solid var(--border-strong)}.response.available{border-left-color:var(--green)}.response.maybe{border-left-color:var(--amber)}.response.unavailable{border-left-color:var(--red)}.response h3{display:flex;justify-content:space-between;gap:8px;margin:0 0 8px}.response h3 span{padding:4px 8px;border-radius:999px;background:var(--surface-soft);color:var(--muted);font-size:.78rem}.tableish div{display:grid;gap:2px;padding:10px;border-bottom:1px solid var(--border)}.tableish div:last-child{border-bottom:0}.activity p{border-bottom:1px solid var(--border);padding-bottom:8px;font-size:.92rem}.danger{margin-top:14px;padding:10px 14px;border:0;border-radius:999px;background:var(--red);color:#fff;font-weight:800}.field-group{display:grid;gap:8px}.field-label{font-weight:800}.time-range{display:grid;grid-template-columns:1fr 1fr;gap:10px}.map-select{display:grid;gap:8px}.map-canvas{position:relative;width:100%;min-height:210px;border:1px solid var(--border-strong);border-radius:16px;background:linear-gradient(115deg,#e2e8f0 0 14%,#bae6fd 14% 56%,#e0f2fe 56% 61%,#bbf7d0 61% 100%);box-shadow:inset 0 0 0 1px rgba(255,255,255,.7);cursor:crosshair;overflow:hidden;color:var(--text)}.map-canvas:before{content:"";position:absolute;inset:0;background:repeating-linear-gradient(0deg,rgba(255,255,255,.38) 0 1px,transparent 1px 28px),repeating-linear-gradient(90deg,rgba(255,255,255,.32) 0 1px,transparent 1px 34px)}.map-label{position:absolute;z-index:1;background:rgba(255,255,255,.82);border:1px solid var(--border);border-radius:999px;padding:4px 8px;font-size:.78rem;font-weight:800}.map-label.north{top:8px;left:8px}.map-label.south{bottom:8px;right:8px}.map-label.water{left:20%;top:45%}.map-marker{position:absolute;z-index:2;transform:translate(-50%,-50%);font-size:1.7rem;color:var(--accent);text-shadow:0 2px 8px rgba(15,23,42,.25)}.map-row{display:flex;justify-content:space-between;gap:8px;align-items:center;flex-wrap:wrap}.map-readout{font-weight:750}.small-button{border:1px solid var(--border);background:var(--surface);color:var(--text);border-radius:999px;font-weight:800;padding:8px 12px}
@media(max-width:900px){.calendar-month-view{display:none}.calendar-week-view{display:block}.scale-month{display:none!important}.scale-week{display:inline-flex!important}.week-days{grid-template-columns:1fr}.week-day{min-height:auto}.splash-head{align-items:flex-start}.grid-two,.admin-grid{grid-template-columns:1fr}}
@media(max-width:620px){.page{padding:18px 12px 36px}.topbar{align-items:flex-start;padding:12px}.topbar nav{justify-content:flex-end}.splash-head{padding:20px;border-radius:22px;display:grid}.splash-actions{justify-content:flex-start}.subtabs{top:64px;margin-left:-2px;margin-right:-2px}.calendar-week-view{display:none}.calendar-day-view{display:block}.scale-week{display:none!important}.scale-day{display:inline-flex!important}.calendar-nav{display:grid;text-align:left}.calendar-nav>a{width:max-content}.compact-head{padding:14px}.event-card,.form-card,.empty,.form-shell,.tableish,.activity,.response,.mini-info{padding:14px}.time-range{grid-template-columns:1fr}.map-canvas{min-height:170px}.agenda-event{grid-template-columns:1fr}.agenda-time{grid-row:auto;width:max-content}.chips span{font-size:.78rem}}
