/* Nexify's neutral glass surfaces, green controls, and original lime logo. */
:root {
  --bg:#f4f5f4; --panel:#fff; --panel-2:#f2f4f2; --text:#191b19;
  --muted:#626862; --line:#dce2dc; --brand:#2fa84f; --brand-hover:#39b65a;
  --brand-ink:#207437; --soft:#e6f2e8; --lime:#abf20b;
  --glass:rgba(255,255,255,.76); --glass-strong:rgba(255,255,255,.9);
  --glass-edge:rgba(255,255,255,.9); --shadow:0 8px 32px #1522190a;
}
[data-theme=dark] {
  --bg:#0e100f; --panel:#1b1e1c; --panel-2:#242825; --text:#f4f6f4;
  --muted:#aab2ac; --line:#363e38; --brand:#2fa84f; --brand-hover:#39b65a;
  --brand-ink:#6ad384; --soft:#203426; --lime:#abf20b;
  --glass:rgba(28,32,29,.79); --glass-strong:rgba(24,28,25,.94);
  --glass-edge:rgba(255,255,255,.1); --shadow:0 8px 32px #0003;
}
.brand-logo { width:40px; height:40px; object-fit:contain; border-radius:50%; flex-shrink:0; }
button.primary,.button.primary,[data-theme=dark] button.primary,[data-theme=dark] .button.primary { color:#061409; }
a,.text-button,.nav-item.active,.workspace-select .icon,.stat-icon,.status-tag.green,
.notice,.tabs button.active,.segmented button.active,.calendar-event,.file-icon,
.dropzone,.channel-button.active,.notification-row.unread h3,.rule-points { color:var(--brand-ink); }
.notice.danger,.rule-points.negative { color:var(--danger); }
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible { outline-color:#2fa84f99; }
.avatar,.avatar.blue,.avatar.peach,.avatar.purple { background:var(--soft); color:var(--brand-ink); }
.stat-icon.blue,.stat-icon.orange,.stat-icon.purple { background:var(--panel-2); color:var(--text); }
.status-tag.blue,.status-tag.purple,.calendar-event.task { background:var(--soft); color:var(--brand-ink); }
.status-tag.amber,.calendar-event.holiday { background:var(--panel-2); color:var(--text); }
.hero { background:radial-gradient(ellipse at 90% 20%,#2fa84f25,transparent 65%),#1b1f1c; border:1px solid #ffffff20; box-shadow:var(--shadow); }
.hero .eyebrow { color:var(--lime); }
.hero p,.hero-stat span { color:#d0d7d1; }
.login-story { background:radial-gradient(ellipse at 0 85%,#2fa84f30,transparent 60%),#151916; }
.login-story .brand small,.login-copy>p,.login-mini small,.login-story-footer { color:#bfc9c1; }
.login-copy .eyebrow,.login-copy h1 em { color:var(--lime); }
.login-mini .progress span { background:var(--lime); }
.login-mini .avatar { border-color:#353d36; }
.task-card:hover,.dropzone { border-color:var(--brand); }
.calendar-day.today .day-number { color:#061409; }
dialog::backdrop { background:#060a0870; backdrop-filter:blur(5px); }
@media screen {
  body {
    background-image:radial-gradient(ellipse at 85% 0%,#2fa84f18,transparent 48%),radial-gradient(ellipse at 10% 85%,#abf20b0c,transparent 50%);
    background-attachment:fixed;
  }
  .login-layout { background:transparent; }
  .panel,.setup-card,.sidebar,.topbar,dialog,.login-mini,.task-card {
    box-shadow:inset 0 1px 0 var(--glass-edge),var(--shadow);
  }
  /* Opaque surfaces remain the fallback on browsers without backdrop-filter. */
  @supports ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))) {
    .panel,.setup-card,.task-card {
      background:var(--glass); -webkit-backdrop-filter:blur(16px); backdrop-filter:blur(16px);
    }
    .sidebar,.topbar,dialog {
      background:var(--glass-strong); -webkit-backdrop-filter:blur(20px); backdrop-filter:blur(20px);
    }
    .login-mini { -webkit-backdrop-filter:blur(14px); backdrop-filter:blur(14px); }
  }
}
@media (prefers-reduced-transparency:reduce) {
  .panel,.setup-card,.task-card,.sidebar,.topbar,dialog { background:var(--panel); -webkit-backdrop-filter:none; backdrop-filter:none; }
  .login-mini { background:#242b26; -webkit-backdrop-filter:none; backdrop-filter:none; }
}
@media (forced-colors:active) {
  .panel,.setup-card,.task-card,.sidebar,.topbar,dialog { background:Canvas; box-shadow:none; backdrop-filter:none; }
}

.login-mobile-brand { display:none; }
@media (max-width:760px) { .login-mobile-brand { display:block; } }


.avatar { position:relative; overflow:hidden; }
.avatar img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.task-comment-form { margin:16px 0; }
.comment p { white-space:pre-wrap; overflow-wrap:anywhere; }
.profile-photo-form { max-width:480px; }
.shift-ring { position:relative; border:0; gap:2px; }
.shift-ring svg { position:absolute; inset:0; width:100%; height:100%; transform:rotate(-90deg); }
.shift-ring circle { fill:none; stroke-width:6; }
.shift-track { stroke:var(--soft); }
.shift-progress { stroke:var(--brand); stroke-linecap:round; stroke-dasharray:100; stroke-dashoffset:100; transition:stroke-dashoffset .8s linear; }
#shift-percent { font-size:9px; color:var(--brand-ink); }
@media (prefers-reduced-motion:reduce) { .shift-progress { transition:none; } }
/* Keep large task histories navigable without a page-length horizontal scrollbar. */
.board{display:flex;gap:16px;overflow-x:auto;align-items:stretch;height:min(70vh,720px);min-height:340px;padding-bottom:12px;scrollbar-gutter:stable}
.board-column{flex:0 0 270px;min-width:0;min-height:0;display:flex;flex-direction:column;max-height:100%;overflow:hidden}
.board-heading{flex-shrink:0;gap:8px;min-height:34px}
.board-column-title{flex:1;min-width:0;overflow-wrap:anywhere}
.board-cards{min-height:0;flex:1;overflow-y:auto;padding:2px 4px 8px;scrollbar-gutter:stable;overscroll-behavior-y:contain}
.board-cards .task-card{margin-bottom:12px}
.column-delete{flex-shrink:0;width:28px;height:28px;padding:5px;color:var(--muted)}
.column-delete:hover{color:var(--danger)}
.board-help{margin:0 0 10px}
.goal-reminder-label{display:flex;align-items:center;gap:7px;margin:12px 0;line-height:1.6}
.goal-reminder-label .icon{flex-shrink:0}
