/* sep.wtf — tropical theme (Hawaii / Thailand) */

:root {
  --ocean:       #0277bd;
  --ocean-dark:  #01579b;
  --teal:        #00897b;
  --teal-dark:   #00695c;
  --sun:         #ff7043;
  --sun-dark:    #f4511e;
  --sand:        #fff8f0;
  --leaf:        #43a047;
}

body {
  min-height: 100vh;
  background:
    linear-gradient(180deg, rgba(2,119,189,0.10) 0%, rgba(255,112,67,0.06) 55%, rgba(67,160,71,0.08) 100%),
    var(--sand);
  color: #243b44;
}

/* Navbar */
.sep-navbar {
  background: linear-gradient(90deg, var(--ocean-dark) 0%, var(--ocean) 45%, var(--teal) 100%);
  box-shadow: 0 2px 10px rgba(0,0,0,0.15);
}
.sep-navbar .nav-link.active { font-weight: 600; border-bottom: 2px solid #fff; }
.sep-moon-emoji { font-size: 1.15rem; }

/* Hero */
.sep-hero {
  background: linear-gradient(120deg, var(--ocean) 0%, var(--teal) 60%, var(--leaf) 100%);
  color: #fff;
  border-radius: 1rem;
  padding: 2rem;
  box-shadow: 0 6px 22px rgba(1,87,155,0.25);
  position: relative;
  overflow: hidden;
}
.sep-hero h1 { font-weight: 700; letter-spacing: 0.5px; }
.sep-hero .sep-hero-moon { font-size: 3rem; line-height: 1; }

/* Cards */
.sep-card {
  border: none;
  border-radius: 0.9rem;
  box-shadow: 0 3px 14px rgba(0,0,0,0.08);
  height: 100%;
}
.sep-card .card-header {
  background: transparent;
  border-bottom: 2px solid rgba(0,137,123,0.18);
  font-weight: 600;
  color: var(--teal-dark);
}
.sep-card .card-header .fa-solid { color: var(--sun); }

/* Buttons */
.btn-tropic { background: var(--sun); border-color: var(--sun); color: #fff; }
.btn-tropic:hover { background: var(--sun-dark); border-color: var(--sun-dark); color: #fff; }
.btn-ocean { background: var(--ocean); border-color: var(--ocean); color: #fff; }
.btn-ocean:hover { background: var(--ocean-dark); border-color: var(--ocean-dark); color: #fff; }

/* Stocks */
.stock-up   { color: #2e7d32; }
.stock-down { color: #c62828; }
.stock-flat { color: #607d8b; }
.mono { font-variant-numeric: tabular-nums; }

/* Priority badges */
.prio-0 { background: #90a4ae; }
.prio-1 { background: var(--ocean); }
.prio-2 { background: var(--sun-dark); }

.todo-done { text-decoration: line-through; opacity: 0.55; }

/* Calendar */
.cal-grid { display: grid; grid-template-columns: repeat(7, 1fr); gap: 4px; }
.cal-dow { text-align: center; font-weight: 600; color: var(--teal-dark); padding: 4px 0; }
.cal-cell {
  min-height: 96px; background: #fff; border-radius: 0.5rem; padding: 4px 6px;
  border: 1px solid rgba(0,0,0,0.06); cursor: pointer; transition: box-shadow .12s;
}
.cal-cell:hover { box-shadow: 0 2px 8px rgba(0,0,0,0.12); }
.cal-cell.cal-other { background: #f3f4f6; color: #9aa3a8; cursor: default; }
.cal-cell.cal-today { border: 2px solid var(--sun); }
.cal-daynum { font-size: 0.8rem; font-weight: 600; }
.cal-event {
  display: block; font-size: 0.72rem; color: #fff; border-radius: 0.3rem;
  padding: 1px 4px; margin-top: 2px; cursor: pointer; white-space: nowrap;
  overflow: hidden; text-overflow: ellipsis;
}

/* Footer */
.sep-footer { color: var(--teal-dark); }
.sep-destination { font-style: italic; }

/* Login */
.sep-login-wrap {
  min-height: 100vh; display: flex; align-items: center; justify-content: center;
  background: linear-gradient(135deg, var(--ocean-dark), var(--teal) 60%, var(--leaf));
}
.sep-login-card {
  background: #fff; border-radius: 1rem; padding: 2.25rem; width: 100%; max-width: 380px;
  box-shadow: 0 12px 40px rgba(0,0,0,0.3);
}
.sep-login-card .sep-login-moon { font-size: 2.5rem; }
