/* ============================================================
   EASY WAY OPERATION SYSTEM — SOFT LIGHT THEME (COLOUR PATCH)
   ------------------------------------------------------------
   * Colour overrides ONLY. No layout, spacing, fonts, markup,
     routes, database or JavaScript behaviour is changed.
   * Loaded LAST (after premium.css) so it can be removed by
     deleting a single <link> line from templates/base.html.
   * Palette: soft cool-grey canvas, white cards, graphite-green
     ink, and the brand green deepened for comfortable contrast.
   ============================================================ */

:root {
    color-scheme: light;

    /* core tokens used across style / kanban / analytics / users */
    --background: #f0f3f1;
    --surface: #ffffff;
    --surface-2: #f6f8f7;
    --surface-3: #edf1ef;

    --text: #1d2823;
    --muted: #5b6862;
    --muted-dark: #616e67;

    --border: #dbe1de;
    --border-light: #c9d1cd;

    --white: #17211c;          /* "strong" colour: headings, active pills */
    --accent: #2f8f1f;

    /* brand layer (premium.css) */
    --ew-green: #48b028;
    --ew-green-bright: #2a7a1b;
    --ew-green-soft: rgba(52,160,36,.12);
    --ew-graphite: #20252b;
    --ew-ink: #17211c;
    --ew-line: rgba(52,160,36,.22);

    --premium-glass: rgba(255,255,255,.82);
    --premium-highlight: rgba(255,255,255,.7);
    --premium-shadow: 0 16px 40px rgba(30,48,40,.10);
}

/* ---- derived from style.css ---- */
body {
    background: radial-gradient( circle at 80% 0%, #f5f7f6 0, #f1f4f2 25%, #f0f3f1 60% );
}

.topbar {
    background: rgba(240,243,241,0.94);
}

.main-nav a {
    color: #4d5b54;
}

.logout-button {
    color: #4b5952;
}

.flash-message {
    background: #fafbfa;
    box-shadow: 0 20px 50px rgba(30,48,40,0.193);
}

.flash-message.error {
    border-color: #bbc4bf;
}

.flash-message.info {
    border-color: #c1cac5;
}

.primary-button:hover {
    background: #323f38;
}

.request-row {
    border-bottom-color: rgba(23,33,28,0.081);
}

.request-row:hover {
    background: #f6f8f7;
}

.status-new {
    color: #3f4b45;
}

.status-assigned {
    color: #2b3630;
}

.status-in_progress {
    color: #17211c;
    background: #edf1ef;
}

.status-waiting {
    color: #55625b;
}

.status-review {
    color: #35413b;
}

.status-completed,
.status-delivered {
    background: #eef2f0;
    color: #17211c;
}

.status-archived {
    color: #616e67;
}

.priority-low {
    color: #616e67;
}

.priority-medium {
    color: #3f4b45;
}

.priority-high {
    color: #2b3630;
}

.priority-urgent {
    color: #17211c;
    border-color: #a5b0aa;
}

.description-block p {
    color: #4b5952;
}

.comment-item p {
    color: #4b5952;
}

.auth-card {
    box-shadow: 0 30px 90px rgba(30,48,40,0.198);
}

.form-group label {
    color: #3e4b44;
}

.form-group input,
.form-group textarea,
.form-group select {
    background: #f1f4f2;
}

.form-group input:focus,
.form-group textarea:focus,
.form-group select:focus {
    border-color: #98a49e;
}

.notification-item:hover {
    background: #f8faf9;
}

.notification-unread {
    background: #fafbfa;
}

.notification-overdue {
    border-color: #b2bcb7;
}

.notification-deadline {
    color: #3d4a43;
}

.notification-assignment {
    color: #323e38;
}

.notification-status {
    color: #4b5952;
}

.notification-comment {
    color: #55625b;
}

.notification-file {
    color: #5b6862;
}

.notification-new {
    border-color: #b2bcb7;
    color: #4b5952;
}

.dashboard-workload-row:hover {
    background: #f8faf9;
}

.dashboard-member-avatar {
    background: #f5f7f6;
}

.dashboard-workload-metrics .metric-warning {
    color: #35413b;
    border-color: #c1cac5;
}

.dashboard-workload-metrics .metric-danger {
    color: #17211c;
    border-color: #b2bcb7;
}

.dashboard-workload-arrow {
    color: #6a776f;
}

.workload-table th {
    background: #fdfefd;
}

.workload-table td {
    color: #55625b;
}

.workload-table tbody tr:hover {
    background: #f8faf9;
}

.workload-avatar {
    background: #f5f7f6;
}

.workload-warning {
    color: #35413b;
}

.workload-completed {
    color: #4b5952;
}

.assignee-picker summary {
    color: #1c2722;
    background: #f1f4f2;
}

.assignee-picker[open] summary {
    border-color: #98a49e;
}

.assignee-picker-chevron {
    color: #4c5a53;
}

.assignee-picker-menu {
    background: #fdfefe;
    border-color: #98a49e;
    box-shadow: 0 18px 40px rgba(30,48,40,0.209);
}

.assignee-option:hover {
    background: rgba(23,33,28,0.063);
}

.assignee-checkmark {
    border-color: #9da8a2;
}

.assignee-option input:checked + .assignee-checkmark {
    color: #17211c;
}

.assignee-option-copy strong {
    color: #1c2722;
}

.assignee-option-copy small,
.field-hint {
    color: #59665f;
}

.notification-compose-card {
    box-shadow: 0 18px 45px rgba(30,48,40,0.099);
}

.notification-compose-main textarea:focus {
    box-shadow: 0 0 0 3px rgba(52,160,36,0.06);
}

.notification-recipients-panel {
    background: rgba(23,33,28,0.018);
}

.notification-recipient-option:hover {
    background: rgba(23,33,28,0.032);
}

.notification-recipient-avatar {
    background: rgba(52,160,36,0.1);
    border-color: rgba(52,160,36,0.22);
}

/* ---- derived from kanban.css ---- */
.kanban-scroll-container::-webkit-scrollbar-track {
    background: #fdfefd;
}

.kanban-scroll-container::-webkit-scrollbar-thumb {
    background: #d7deda;
    border-color: #e2e7e4;
}

.kanban-scroll-container::-webkit-scrollbar-thumb:hover {
    background: #bcc6c1;
}

.kanban-column {
    background: rgba(255,255,255,0.78);
}

.kanban-column:hover {
    border-color: #98a49e;
    background: #f8faf9;
    box-shadow: 0 14px 30px rgba(30,48,40,0.231);
}

.kanban-column.drag-over {
    border-color: #98a49e;
    background: #f8faf9;
}

.kanban-column-header {
    background: #fdfefd;
}

.kanban-status-indicator {
    background: #8e9a94;
}

.indicator-new {
    background: #bcc6c1;
}

.indicator-assigned {
    background: #9faba5;
}

.indicator-in_progress {
    background: #717e78;
}

.indicator-waiting {
    background: #adb8b3;
}

.indicator-review {
    background: #7f8c86;
}

.indicator-completed {
    background: #2d3933;
}

.indicator-delivered {
    background: #17211c;
}

.indicator-archived {
    background: #ced6d2;
}

.kanban-empty {
    border-color: #d5dcd8;
    color: #6b7871;
}

.kanban-card {
    background: #f8faf9;
    border-color: #dbe1de;
}

.kanban-card:hover {
    border-color: #c1cac5;
    box-shadow: 0 12px 30px rgba(30,48,40,0.121);
}

.kanban-card-code {
    color: #65726b;
}

.kanban-card-priority {
    border-color: #d8dedb;
    color: #5b6862;
}

.kanban-card-priority.priority-urgent {
    color: #17211c;
    border-color: #a5b0aa;
}

.kanban-card-priority.priority-high {
    color: #35413b;
}

.kanban-card-priority.priority-medium {
    color: #55625b;
}

.kanban-card-priority.priority-low {
    color: #66736c;
}

.kanban-card-title:hover {
    text-decoration-color: #6a776f;
}

.kanban-card-client span {
    color: #67746d;
}

.kanban-card-footer {
    border-top-color: #dfe4e1;
}

.kanban-card-assignee > span:last-child {
    color: #5f6c65;
}

.kanban-card-assignee.unassigned > span:last-child {
    color: #6a776f;
}

.kanban-avatar {
    border-color: #d5dcd8;
    background: #edf1ef;
    color: #4b5952;
}

.kanban-card-deadline {
    color: #65726b;
}

.deadline-icon {
    color: #5b6862;
}

.kanban-card-action a {
    color: #5b6862;
}

.kanban-card-action a:hover {
    color: #17211c;
}

.workflow-scroll-hint {
    background: rgba(255,255,255,0.65);
    color: #67746d;
}

.workflow-scroll-arrow {
    color: #55625b;
}

.workflow-help {
    color: #6b7870;
}

.notification-indicator {
    border-color: #b2bcb7;
    background: #f3f5f4;
    color: #17211c;
}

.kanban-toast {
    border-color: #cad2ce;
    background: #f6f8f7;
    color: #1b2621;
    box-shadow: 0 20px 50px rgba(30,48,40,0.22);
}

/* ---- derived from analytics.css ---- */
.analytics-bar-meta span {
    color: #55625b;
}

.analytics-bar-track {
    background: #edf1ef;
}

.analytics-bar-fill {
    background: #919d97;
}

.status-bar-completed,
.status-bar-delivered {
    background: #27322d;
}

.status-bar-in_progress {
    background: #67746e;
}

.status-bar-review {
    background: #7a8781;
}

.status-bar-assigned {
    background: #9faba5;
}

.status-bar-new {
    background: #b7c1bc;
}

.status-bar-waiting {
    background: #aab6b0;
}

.status-bar-archived {
    background: #ced6d2;
}

.priority-bar-urgent {
    background: #222d28;
}

.priority-bar-high {
    background: #596660;
}

.priority-bar-medium {
    background: #88948e;
}

.priority-bar-low {
    background: #b8c2bd;
}

.analytics-type-row {
    border-bottom-color: #e1e6e3;
}

.analytics-type-title strong {
    color: #3f4b45;
}

.analytics-type-bar {
    background: #edf1ef;
}

.analytics-type-fill {
    background: #7f8c86;
}

.deadline-health-top strong {
    color: #435049;
}

.deadline-health-dot {
    background: #8e9a94;
}

.health-overdue {
    background: #27332d;
}

.health-due_today {
    background: #68756f;
}

.health-upcoming {
    background: #9faba5;
}

.health-no_deadline {
    background: #c4cec9;
}

.health-bar-overdue {
    background: #313e37;
}

.health-bar-due_today {
    background: #717e78;
}

.health-bar-upcoming {
    background: #9faba5;
}

.health-bar-no_deadline {
    background: #c8d0cc;
}

.trend-column {
    background: #7f8c86;
}

.trend-label strong {
    color: #55625b;
}

.trend-label span {
    color: #6a776f;
}

.analytics-team-table th {
    background: #fdfefd;
}

.analytics-team-table td {
    border-bottom-color: #e1e6e3;
    color: #55625b;
}

.analytics-team-table tbody tr:hover {
    background: #f8faf9;
}

.analytics-avatar {
    background: #f5f7f6;
}

.analytics-warning {
    color: #333e38;
}

.analytics-danger {
    color: #17211c;
}

.analytics-success {
    color: #4b5952;
}

.analytics-note {
    background: #ffffff;
}

.analytics-note-mark {
    color: #4b5952;
}

.analytics-note p {
    color: #65726b;
}

/* ---- derived from users.css ---- */
.users-table th {
    background: #fdfefd;
}

.users-table td {
    border-bottom-color: #e1e6e3;
    color: #55625b;
}

.users-table tbody tr:hover {
    background: #f8faf9;
}

.user-table-avatar {
    background: #f5f7f6;
}

.user-meta-cell strong {
    color: #4b5952;
}

.role-badge {
    color: #4b5952;
}

.role-admin {
    border-color: #a5b0aa;
    color: #1e2924;
}

.role-team_leader {
    color: #2b3630;
}

.role-reception {
    color: #39463f;
}

.role-engineer {
    color: #5b6862;
}

.active-badge {
    color: #3f4b45;
}

.inactive-badge {
    color: #66736c;
}

.completed-number {
    color: #4b5952;
}

.last-login {
    color: #65726b;
}

.table-action {
    color: #4b5952;
}

.table-action:hover {
    color: #17211c;
}

.users-empty {
    color: #68756e !important;
}

.form-field label {
    color: #5b6862;
}

.form-field input,
.form-field select,
.form-field textarea,
.account-control-card input,
.password-card input {
    background: #ffffff;
}

.permission-item strong {
    color: #3f4b45;
}

.permission-item span {
    color: #66736c;
}

.user-profile-avatar {
    background: #f5f7f6;
}

.user-profile-meta div span {
    color: #68756e;
}

.user-profile-meta div strong {
    color: #5b6862;
}

.user-information-row span {
    color: #66736c;
}

.user-information-row strong {
    color: #4b5952;
}

.user-mini-stat-grid div {
    background: #ffffff;
}

.user-mini-stat-grid div span {
    color: #68756d;
}

.user-mini-stat-grid div strong {
    color: #4b5952;
}

.account-control-card strong {
    color: #4b5952;
}

.account-control-card span {
    color: #66736c;
}

.control-button {
    background: #f8faf9;
    color: #4b5952;
}

.user-request-history-row {
    color: #5b6862;
}

.user-request-history-row:hover {
    background: #f8faf9;
}

.user-request-history-row strong {
    color: #3f4b45;
}

.user-history-code {
    color: #68756d;
}

.history-completed,
.history-delivered {
    color: #3f4b45;
}

.history-overdue {
    color: #1f2a25;
}

.user-request-history-row > span:last-child {
    color: #66736c;
}

.user-activity-time {
    color: #6a776f;
}

.user-activity-row strong {
    color: #4b5952;
}

.user-activity-row p {
    color: #66736c;
}

.user-activity-request {
    color: #616e67;
}

.account-avatar {
    background: #f5f7f6;
}

.account-profile-card > p {
    color: #66736c;
}

.account-profile-details span {
    color: #6a776f;
}

.account-profile-details strong {
    color: #55625b;
}

.account-work-grid div {
    background: #ffffff;
}

.account-work-grid div span {
    color: #6a776f;
}

.account-work-grid div strong {
    color: #4b5952;
}

.danger-control-button {
    border-color: #b2bcb7;
    color: #333e38;
}

.danger-control-button:hover {
    background: #e9eeeb;
    color: #17211c;
}

/* ---- derived from premium.css ---- */
.topbar {
    background: rgba(240,243,241,0.78);
    border-bottom-color: rgba(23,33,28,0.135);
    box-shadow: 0 10px 35px rgba(30,48,40,0.088);
}

.brand-mark {
    box-shadow: 0 7px 18px rgba(30,48,40,0.064);
}

.brand-mark::after {
    background: linear-gradient(135deg, transparent 25%, rgba(20,30,26,0.12), transparent 75%);
}

.brand:hover .brand-mark {
    box-shadow: 0 10px 24px rgba(30,48,40,0.112);
}

.main-nav {
    border-color: rgba(23,33,28,0.108);
    background: rgba(23,33,28,0.023);
}

.main-nav a {
    color: #55625b;
}

.main-nav a::before {
    background: linear-gradient(180deg, rgba(23,33,28,0.099), rgba(23,33,28,0.032));
}

.main-nav a.active {
    border-color: rgba(23,33,28,0.176);
    background: rgba(23,33,28,0.059);
    box-shadow: inset 0 1px 0 rgba(30,48,40,0.064), 0 5px 18px rgba(30,48,40,0.088);
}

.main-nav a.active::after {
    box-shadow: 0 0 10px rgba(30,48,40,0.32);
}

.notification-button:hover,
.account-user-link:hover,
.logout-button:hover {
    border-color: rgba(23,33,28,0.189);
    background: rgba(23,33,28,0.054);
}

.logout-button {
    border-color: rgba(23,33,28,0.189);
    background: rgba(23,33,28,0.023);
}

.content-card:hover,
.stat-card:hover {
    border-color: rgba(23,33,28,0.203);
}

.stat-card:hover {
    box-shadow: 0 24px 65px rgba(30,48,40,0.165);
}

.primary-button:hover,
.secondary-button:hover {
    box-shadow: 0 10px 25px rgba(30,48,40,0.132);
}

.secondary-button:hover {
    border-color: rgba(23,33,28,0.4);
    background: rgba(23,33,28,0.05);
}

.request-row:hover {
    background: linear-gradient(90deg, rgba(23,33,28,0.05), rgba(23,33,28,0.016));
}

body {
    background: radial-gradient(circle at 12% -8%, rgba(52,160,36,0.12), transparent 32%), radial-gradient(circle at 92% 18%, rgba(52,160,36,0.07), transparent 28%), linear-gradient(135deg, #f0f3f1 0%, #fbfdfb 48%, #f1f4f2 100%);
}

body::before {
    background-image: linear-gradient(rgba(23,33,28,0.023) 1px, transparent 1px), linear-gradient(90deg, rgba(23,33,28,0.023) 1px, transparent 1px);
}

.topbar {
    background: rgba(240,243,241,0.86);
    box-shadow: 0 12px 38px rgba(30,48,40,0.132);
}

.brand-mark {
    border-color: rgba(52,160,36,0.42);
    box-shadow: 0 0 0 4px rgba(52,160,36,0.036), 0 8px 24px rgba(52,160,36,0.072);
}

.brand:hover .brand-mark {
    box-shadow: 0 0 0 6px rgba(52,160,36,0.048), 0 12px 30px rgba(52,160,36,0.12);
}

.brand span {
    color: #2a7a1b;
}

.content-card,
.stat-card,
.workload-summary-card,
.analytics-card,
.user-table-card {
    border-color: rgba(52,160,36,0.14);
    box-shadow: 0 16px 45px rgba(30,48,40,0.088);
}

.content-card:hover,
.stat-card:hover,
.workload-summary-card:hover,
.analytics-card:hover,
.user-table-card:hover {
    border-color: rgba(52,160,36,0.3);
    box-shadow: 0 20px 55px rgba(30,48,40,0.132), 0 0 26px rgba(52,160,36,0.03);
}

.primary-button {
    background: linear-gradient(135deg, #1c2621 0%, #2f8f1f 100%);
    box-shadow: 0 8px 22px rgba(52,160,36,0.084);
}

.primary-button:hover {
    background: linear-gradient(135deg, #17211c 0%, #2f8f1f 100%);
    box-shadow: 0 12px 28px rgba(52,160,36,0.144);
}

.secondary-button:hover,
.filter-button:hover,
.text-button:hover,
.table-action:hover {
    border-color: rgba(52,160,36,0.55);
}

.eyebrow {
    color: #2a7a1b;
}

.page-heading h1,
.card-header h2 {
    text-shadow: 0 2px 25px rgba(52,160,36,0.048);
}

.dashboard-member-avatar,
.analytics-avatar,
.user-table-avatar,
.user-profile-avatar,
.account-avatar,
.workload-avatar,
.kanban-avatar,
.comment-avatar,
.followup-avatar {
    background: linear-gradient(145deg, #314232, #f5f7f6) !important;
    border-color: rgba(52,160,36,0.48) !important;
    box-shadow: inset 0 0 0 3px rgba(30,48,40,0.02), 0 7px 18px rgba(30,48,40,0.11);
}

.status-assigned,
.status-in_progress,
.badge,
.role-badge {
    border-color: rgba(52,160,36,0.32) !important;
}

.notification-badge {
    color: #17211c !important;
}

input:focus,
textarea:focus,
select:focus,
.filter-select:focus {
    border-color: rgba(52,160,36,0.72) !important;
    box-shadow: 0 0 0 3px rgba(52,160,36,0.048);
}

.auth-logo {
    border-color: rgba(52,160,36,0.48);
    box-shadow: 0 0 0 5px rgba(52,160,36,0.036), 0 14px 32px rgba(52,160,36,0.084);
}


/* ============================================================
   MANUAL REFINEMENTS (brand elements that need a hand-picked look)
   ============================================================ */

/* ---- page canvas: calm, low-glare, faint brand tint ---- */
body {
    background:
        radial-gradient(circle at 12% -8%, rgba(72,176,40,.10), transparent 34%),
        radial-gradient(circle at 92% 18%, rgba(72,176,40,.06), transparent 30%),
        linear-gradient(135deg, #f3f6f4 0%, #eef2f0 50%, #f1f4f2 100%);
    color: var(--text);
}
body::before { opacity: .5; }

/* ---- top bar ---- */
.topbar {
    background: rgba(255,255,255,.86);
    border-bottom-color: #dbe1de;
    box-shadow: 0 6px 24px rgba(30,48,40,.06);
}
.brand strong { color: #17211c; }
.brand span, .eyebrow { color: #2f7d1f; }
.main-nav { background: rgba(23,33,28,.03); border-color: #dbe1de; }
.main-nav a { color: #5b6862; }
.main-nav a:hover { color: #17211c; background: rgba(23,33,28,.05); }
.main-nav a.active { color: #17211c; background: #ffffff; border-color: #cfd8d3; box-shadow: 0 2px 8px rgba(30,48,40,.08); }
.main-nav a.active::after { background: #48b028; }

/* ---- primary action: solid brand green, white label ---- */
.primary-button {
    background: linear-gradient(135deg, #278018 0%, #206c14 100%);
    color: #ffffff;
    border-color: #237516;
    box-shadow: 0 6px 16px rgba(35,117,22,.22);
}
.primary-button:hover {
    background: linear-gradient(135deg, #2a8a1a 0%, #227416 100%);
    color: #ffffff;
    border-color: #237516;
    box-shadow: 0 10px 22px rgba(35,117,22,.28);
}
.primary-button:disabled, .primary-button[disabled] { opacity: .55; }

/* ---- secondary / ghost controls ---- */
.secondary-button:hover, .filter-button:hover, .text-button:hover, .table-action:hover {
    color: #2a7a1b; border-color: rgba(52,160,36,.55); background: rgba(52,160,36,.06);
}

/* ---- cards ---- */
.content-card, .stat-card, .workload-summary-card, .analytics-card, .user-table-card {
    background: #ffffff;
    border-color: #dbe1de;
    box-shadow: 0 8px 26px rgba(30,48,40,.06);
}
.content-card:hover, .stat-card:hover, .workload-summary-card:hover, .analytics-card:hover, .user-table-card:hover {
    border-color: rgba(52,160,36,.40);
    box-shadow: 0 14px 34px rgba(30,48,40,.10);
}
.page-heading h1, .card-header h2 { text-shadow: none; }

/* ---- form fields ---- */
input, textarea, select { color: #1d2823; }
input::placeholder, textarea::placeholder { color: #8a9690; opacity: 1; }
input:focus, textarea:focus, select:focus, .filter-select:focus {
    border-color: #48b028 !important;
    box-shadow: 0 0 0 3px rgba(72,176,40,.16);
}
.form-group input[type="date"] { color-scheme: light; }
option { background: #ffffff; color: #1d2823; }

/* ---- avatars: soft green tint + green person icon ---- */
.dashboard-member-avatar, .analytics-avatar, .user-table-avatar, .user-profile-avatar,
.account-avatar, .workload-avatar, .kanban-avatar, .comment-avatar, .followup-avatar {
    background: linear-gradient(145deg, #e9f6e3, #d3ebc9) !important;
    border: 1px solid rgba(52,160,36,.45) !important;
    box-shadow: inset 0 0 0 3px rgba(255,255,255,.55), 0 4px 12px rgba(30,48,40,.10);
}
.dashboard-member-avatar:hover, .analytics-avatar:hover, .user-table-avatar:hover, .user-profile-avatar:hover,
.account-avatar:hover, .workload-avatar:hover, .kanban-avatar:hover, .comment-avatar:hover, .followup-avatar:hover {
    border-color: #2f8f1f !important;
}
.dashboard-member-avatar::before, .analytics-avatar::before, .user-table-avatar::before,
.user-profile-avatar::before, .account-avatar::before, .workload-avatar::before,
.kanban-avatar::before, .comment-avatar::before, .followup-avatar::before {
    background: center / contain no-repeat url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%232a7a1b' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='8' r='3.2'/%3E%3Cpath d='M5.5 20c.8-3.6 3-5.5 6.5-5.5s5.7 1.9 6.5 5.5'/%3E%3C/svg%3E");
}

/* ---- badges ---- */
.notification-badge { background: #257a17 !important; color: #ffffff !important; }
.status-assigned, .status-in_progress, .badge, .role-badge { border-color: rgba(52,160,36,.40) !important; }

/* ---- logo tiles stay white, glow becomes a soft shadow ---- */
.brand-mark { border-color: rgba(52,160,36,.35); box-shadow: 0 4px 14px rgba(30,48,40,.12); }
.brand:hover .brand-mark { box-shadow: 0 8px 20px rgba(30,48,40,.18); }
.auth-logo  { border-color: rgba(52,160,36,.40); box-shadow: 0 8px 22px rgba(30,48,40,.14); }

/* ---- notification bell button: visible tile on the light top bar ---- */
.notification-button {
    background: #f3f6f4;
    box-shadow: inset 0 0 0 1px #dbe1de;
    color: #5b6862;
}
.notification-button:hover { background: #e9efeb; color: #17211c; }

/* ---- follow-up chips: slightly stronger secondary text ---- */
.followup-date-chip span, .followup-inbox-chip span { color: #616e67; }

/* ============================================================
   PATCH 11 — Balanced top navigation / prevent right-edge overflow
   ============================================================ */
@media (min-width: 801px) {
    .topbar .topbar-inner {
        width: min(calc(100% - 64px), var(--max-width));
        gap: clamp(10px, 1.15vw, 16px);
    }

    .topbar .brand {
        flex: 0 0 auto;
    }

    .topbar .main-nav {
        flex: 1 1 auto;
        min-width: 0;
        margin-inline-start: 0;
        justify-content: center;
        gap: clamp(4px, .62vw, 9px);
        padding: 4px;
    }

    .topbar .main-nav a {
        flex: 0 1 auto;
        min-width: 0;
        white-space: nowrap;
        padding: 9px clamp(5px, .58vw, 8px);
        font-size: clamp(9px, .72vw, 10px);
        letter-spacing: .025em;
    }

    .topbar .user-menu {
        flex: 0 0 auto;
        gap: clamp(6px, .7vw, 9px);
    }

    .topbar .undo-redo-group {
        margin-inline-end: 0;
    }
}

@media (min-width: 801px) and (max-width: 1120px) {
    .topbar .user-info {
        display: none;
    }

    .topbar .topbar-inner {
        width: calc(100% - 36px);
        gap: 8px;
    }

    .topbar .main-nav a {
        padding-inline: 5px;
        font-size: 9px;
    }
}

@media (max-width: 800px) {
    .topbar .topbar-inner {
        width: calc(100% - 28px);
        gap: 10px;
    }
}
