:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color-scheme:dark;--bg:#0c0d14;--panel:#131520;--panel2:#191b29;--line:#282a3b;--text:#f4f4fb;--muted:#a0a4bd;--purple:#1ed760;--purple2:#17b852;--green:#34d399;--blue:#60a5fa;--red:#fb7185;--shadow:0 16px 40px #0002}html[data-theme=light]{color-scheme:light;--bg:#f5f6fb;--panel:#fff;--panel2:#f1f0fa;--line:#e4e5ef;--text:#202136;--muted:#6d718b;--purple:#1ed760;--purple2:#17b852;--green:#059669;--blue:#2563eb;--red:#e11d48;--shadow:0 16px 40px #1b17450c}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font-size:14px;line-height:1.55}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}.app-shell{min-height:100vh;display:flex}.sidebar{width:238px;position:fixed;inset:0 auto 0 0;display:flex;flex-direction:column;padding:22px 14px;background:var(--panel);border-right:1px solid var(--line);z-index:2}.brand,.auth-brand{display:flex;align-items:center;gap:10px;font-size:23px;font-weight:850;letter-spacing:.06em;margin:0 8px 40px}.brand-mark{display:inline-grid;place-items:center;width:36px;height:36px;border-radius:12px;background:linear-gradient(140deg,#1ed760,#17b852);color:white;font-weight:900;font-size:23px;box-shadow:0 6px 22px #1ed76033}.sidebar nav{display:grid;gap:6px}.nav-item{display:flex;align-items:center;gap:12px;padding:12px 13px;color:var(--muted);border-radius:11px}.nav-item.active,.nav-item:hover{background:color-mix(in srgb,var(--purple) 18%,var(--panel));color:var(--text)}.nav-item.active{box-shadow:inset 3px 0 var(--purple)}.sidebar-bottom{margin-top:auto;border-top:1px solid var(--line);padding:16px 4px 0;display:flex;align-items:center;gap:10px}.avatar{width:36px;height:36px;border-radius:50%;display:grid;place-items:center;background:#443064;color:#fff;font-weight:700}.user-meta{min-width:0;display:grid;flex:1}.user-meta strong,.user-meta small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-meta small{color:var(--muted);font-size:11px}.icon-button{color:var(--muted);padding:7px}.main-area{width:calc(100% - 238px);margin-left:238px;min-width:0}.topbar{height:74px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 34px;gap:16px}.topbar-title{font-weight:750}.topbar-actions{display:flex;align-items:center;gap:10px}.page-content{padding:32px 34px;max-width:1600px;margin:0 auto;min-height:calc(100vh - 120px)}.footer{padding:18px 34px;color:var(--muted);font-size:12px;border-top:1px solid var(--line)}h1,h2,h3,p{margin-top:0}h1{font-size:clamp(26px,3vw,34px);letter-spacing:-.04em;margin-bottom:8px}h2{font-size:21px;letter-spacing:-.025em;margin-bottom:5px}h3{font-size:15px;margin-bottom:8px}.muted{color:var(--muted)}.small{font-size:12px}.eyebrow{font-size:10px;letter-spacing:.15em;font-weight:800;color:var(--purple);margin-bottom:8px}.welcome-row,.section-heading,.project-hero{display:flex;justify-content:space-between;align-items:center;gap:20px}.welcome-row{margin-bottom:28px}.section-heading{margin:34px 0 18px}.button{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:1px solid var(--line);border-radius:10px;padding:10px 15px;cursor:pointer;font-weight:650;white-space:nowrap;transition:transform .15s,background .15s}.button:hover{transform:translateY(-1px)}.button-primary{background:linear-gradient(135deg,var(--purple),var(--purple2));color:white;border-color:transparent;box-shadow:0 6px 18px #1ed76026}.button-ghost{background:var(--panel);color:var(--text)}.button-full{width:100%;padding:12px}.stats-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.stat-card{background:var(--panel);border:1px solid var(--line);border-radius:15px;padding:20px;display:flex;align-items:center;gap:14px}.stat-card small{display:block;color:var(--muted);margin-bottom:3px}.stat-card strong{font-size:27px;line-height:1.2}.stat-icon{width:43px;height:43px;border-radius:13px;display:grid;place-items:center;font-size:22px;background:var(--panel2)}.stat-icon.purple{color:var(--purple)}.stat-icon.green{color:var(--green)}.stat-icon.blue{color:var(--blue)}.project-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.project-card,.panel{background:var(--panel);border:1px solid var(--line);border-radius:16px;padding:21px;box-shadow:var(--shadow)}.project-card{display:block;transition:transform .15s,border-color .15s}.project-card:hover{transform:translateY(-2px);border-color:var(--purple)}.project-card-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px}.project-symbol{width:38px;height:38px;display:grid;place-items:center;border-radius:12px;background:linear-gradient(135deg,#1ed760,#17b852);color:white;font-weight:900;font-size:20px}.visibility,.pill{font-size:11px;color:var(--muted);background:var(--panel2);border-radius:100px;padding:5px 9px}.project-card p{color:var(--muted);font-size:13px;min-height:40px}.progress-label{display:flex;justify-content:space-between;gap:10px;color:var(--muted);font-size:12px;margin:19px 0 8px}.progress-label strong{color:var(--text)}.progress-track{height:8px;border-radius:99px;background:var(--panel2);overflow:hidden}.progress-track span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--purple),var(--purple2))}.project-card-bottom{display:flex;justify-content:space-between;color:var(--purple);font-weight:650;font-size:12px;margin-top:18px}.empty-state{text-align:center;border:1px dashed var(--line);border-radius:16px;padding:55px 20px;background:var(--panel)}.empty-state p{color:var(--muted)}.empty-icon{font-size:34px;color:var(--purple);margin-bottom:10px}.auth-wrap{min-height:calc(100vh - 130px);display:grid;place-items:center;padding:30px 16px}.auth-card{width:min(100%,440px);background:var(--panel);border:1px solid var(--line);border-radius:22px;padding:34px;box-shadow:var(--shadow)}.auth-brand{margin:0 0 32px}.auth-card h1{font-size:29px}.auth-note{font-size:12px;color:var(--muted);text-align:center;margin:20px 0 0}.form-stack{display:grid;gap:18px}.form-stack label{display:grid;gap:7px;font-weight:600;font-size:13px}.form-stack input,.form-stack textarea,.form-stack select{width:100%;background:var(--bg);border:1px solid var(--line);border-radius:10px;padding:12px 13px;color:var(--text);outline:none}.form-stack input:focus,.form-stack textarea:focus,.form-stack select:focus{border-color:var(--purple);box-shadow:0 0 0 3px color-mix(in srgb,var(--purple) 18%,transparent)}.form-stack textarea{resize:vertical}.alert{border-radius:10px;padding:12px 14px;margin-bottom:18px;font-size:13px}.alert-error{background:#fb71851a;color:var(--red);border:1px solid #fb718544}.alert-success{background:#34d39918;color:var(--green);border:1px solid #34d39944}.alert-info{background:#60a5fa18;color:var(--blue);border:1px solid #60a5fa44}.narrow-page{max-width:760px;margin:0 auto}.narrow-page>h1{margin-top:16px}.narrow-page>.panel{margin-top:24px}.form-actions{display:flex;justify-content:flex-end;gap:10px}.back-link{color:var(--muted);font-size:13px}.project-hero{align-items:flex-start;margin:22px 0}.project-hero .pill{color:var(--purple);font-weight:700}.project-progress{margin-bottom:30px}.project-progress .progress-label{margin-top:0}.kanban-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:13px;align-items:start}.kanban-column{background:color-mix(in srgb,var(--panel) 70%,var(--bg));border:1px solid var(--line);border-radius:14px;padding:12px;min-height:230px}.kanban-column-heading{display:flex;align-items:center;gap:8px;padding:5px 2px 13px}.kanban-column-heading strong{font-size:13px}.status-dot{width:9px;height:9px;border-radius:50%;background:var(--muted)}.status-dot.in_progress{background:var(--blue)}.status-dot.review{background:#f59e0b}.status-dot.done{background:var(--green)}.count{margin-left:auto;background:var(--panel2);padding:2px 7px;border-radius:7px;font-size:11px;color:var(--muted)}.task-card{background:var(--panel);border:1px solid var(--line);border-radius:11px;padding:13px;margin-bottom:9px}.task-card h3{line-height:1.45}.task-card-top{display:flex;justify-content:space-between;margin-bottom:9px}.priority{font-size:10px;padding:3px 7px;border-radius:6px;background:var(--panel2);color:var(--muted)}.priority.high,.priority.urgent{color:var(--red);background:#fb71851a}.priority.low{color:var(--green)}.priority.medium{color:#f59e0b}.column-empty{padding:20px 5px;text-align:center;color:var(--muted);font-size:12px}.auth-card .alert{margin:12px 0}.auth-card .form-stack{margin-top:24px}@media(max-width:1100px){.project-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.kanban-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.page-content{padding:26px 22px}.topbar{padding:0 22px}}@media(max-width:700px){.sidebar{width:64px;padding:16px 8px}.brand{margin:0 auto 30px;font-size:0}.brand-mark{font-size:22px}.nav-item{justify-content:center;padding:13px 5px;font-size:18px}.nav-item span{display:none}.sidebar-bottom{justify-content:center;flex-wrap:wrap}.sidebar-bottom .user-meta,.sidebar-bottom .icon-button{display:none}.main-area{width:calc(100% - 64px);margin-left:64px}.topbar{height:auto;min-height:64px;padding:12px;align-items:flex-start;flex-direction:column}.topbar-actions{width:100%;flex-wrap:wrap}.page-content{padding:22px 13px}.welcome-row,.project-hero{align-items:flex-start;flex-direction:column}.stats-grid{grid-template-columns:1fr}.project-grid,.kanban-grid{grid-template-columns:1fr}.section-heading{align-items:flex-start}.auth-card{padding:25px 20px}.footer{padding:15px}.project-card p{min-height:0}}
.kanban-dropzone{min-height:150px;border-radius:9px;transition:background .15s}.kanban-column.is-over{border-color:var(--purple);background:color-mix(in srgb,var(--purple) 8%,var(--panel))}.task-card[draggable=true]{cursor:grab}.task-card.is-dragging{opacity:.4}.task-card-link{display:block}.drag-handle{color:var(--muted);font-size:18px}.toast-region{position:fixed;right:24px;bottom:24px;background:var(--panel2);border:1px solid var(--line);box-shadow:var(--shadow);padding:12px 18px;border-radius:11px;opacity:0;transform:translateY(8px);pointer-events:none;transition:.2s;z-index:5}.toast-region.show{opacity:1;transform:translateY(0)}.task-detail-layout{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:18px;margin-top:22px;align-items:start}.task-detail-main,.task-detail-side{display:grid;gap:16px;min-width:0}.task-meta-row{display:flex;align-items:center;gap:9px;margin:15px 0 20px}.task-description p{white-space:normal;color:var(--muted)}.comment-form textarea{width:100%;resize:vertical;border:1px solid var(--line);border-radius:10px;background:var(--bg);color:var(--text);padding:13px;outline:none}.comment-form textarea:focus{border-color:var(--purple)}.comment-actions{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-top:10px}.comment-list{display:grid;gap:18px;margin-top:24px}.comment-item{display:flex;align-items:flex-start;gap:11px}.comment-content{min-width:0;flex:1}.comment-heading{display:flex;gap:12px;align-items:center}.comment-heading time{font-size:11px;color:var(--muted)}.comment-content p{margin:6px 0 0;overflow-wrap:anywhere}.detail-list{display:grid;grid-template-columns:1fr;gap:5px;margin:18px 0 0}.detail-list dt{font-size:11px;color:var(--muted);margin-top:9px}.detail-list dd{margin:0;font-weight:600;overflow-wrap:anywhere}.attachment-row{display:flex;gap:10px;padding:10px 0;border-bottom:1px solid var(--line)}.attachment-row span:nth-child(2){display:grid;overflow-wrap:anywhere}.attachment-row small{font-size:11px;color:var(--muted)}@media(max-width:900px){.task-detail-layout{grid-template-columns:1fr}.task-detail-side{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:600px){.task-detail-side{grid-template-columns:1fr}.comment-actions{align-items:flex-start;flex-direction:column}}

.deadline-badge{display:block;margin-top:7px;font-size:11px;font-weight:750;color:var(--green);overflow-wrap:anywhere}.deadline-badge.overdue{color:#ff4d5e;background:#ff4d5e18;border:1px solid #ff4d5e55;padding:5px 7px;border-radius:7px}.button-danger{color:#ff6575;border-color:#ff657555;background:#ff657511}.inline-actions{display:flex;gap:7px;flex-wrap:wrap;margin-top:12px}.comment-tools{display:flex;gap:6px;flex-wrap:wrap;margin:8px 0}.editor-toolbar button{background:var(--panel2);color:var(--text);border:1px solid var(--line);border-radius:7px;padding:5px 9px;cursor:pointer}.rich-editor{min-height:120px;width:100%;padding:12px;border:1px solid var(--line);border-radius:10px;background:var(--bg);color:var(--text);outline:none;overflow-wrap:anywhere}.rich-editor:focus{border-color:var(--purple)}.rich-editor:empty:before{content:attr(data-placeholder);color:var(--muted)}.comment-content p{white-space:normal}.comment-content ul,.comment-content ol{padding-left:22px}.comment-actions-end{display:flex;gap:7px;flex-wrap:wrap;margin-top:8px}.upload-form{display:grid;gap:10px;margin-top:12px}.upload-form input[type=file]{width:100%;font-size:12px;color:var(--muted)}.task-card .deadline-badge{margin-top:8px}@media(max-width:600px){.inline-actions{flex-direction:column;align-items:stretch}}

.member-row{display:flex;align-items:center;gap:12px;padding:12px 0;border-bottom:1px solid var(--line)}.member-info{display:flex;flex:1;flex-direction:column;gap:3px;min-width:0}.member-info small{color:var(--muted);overflow-wrap:anywhere}.settings-avatar{width:88px;height:88px;border-radius:50%;object-fit:cover;border:2px solid var(--line)}.upload-progress-wrap{display:none;margin-top:12px}.upload-progress{height:10px;border-radius:99px;overflow:hidden;background:var(--panel2);border:1px solid var(--line)}.upload-progress-bar{height:100%;width:0;background:var(--purple);transition:width .15s}.upload-progress-info{display:flex;justify-content:space-between;gap:12px;margin-top:7px;font-size:12px;color:var(--muted)}

.notification-area{position:relative}.notification-trigger{white-space:nowrap}.notification-trigger #notification-count{display:inline-flex;min-width:18px;height:18px;align-items:center;justify-content:center;border-radius:999px;background:var(--purple);color:#fff;font-size:11px;padding:0 4px}.notification-panel{position:absolute;right:0;top:calc(100% + 10px);z-index:1000;width:min(390px,calc(100vw - 32px));max-height:460px;overflow:auto;background:var(--panel);border:1px solid var(--line);border-radius:14px;box-shadow:0 18px 55px #0004;padding:12px}.notification-panel-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;padding-bottom:10px;border-bottom:1px solid var(--line);font-size:13px}.notification-panel-head .button{font-size:11px;padding:7px}.notification-item{display:block;width:100%;text-align:left;padding:12px 8px;border:0;border-bottom:1px solid var(--line);background:transparent;color:var(--text);cursor:pointer;text-decoration:none}.notification-item:hover{background:var(--panel2)}.notification-item small{display:block;color:var(--muted);margin-top:4px}.user-admin-list .member-row:last-child{border-bottom:0}@media(max-width:700px){.notification-panel{right:-90px}.topbar-actions{gap:6px;flex-wrap:wrap}}

.user-role-list{display:grid;gap:8px;margin-top:10px}.user-role-form{display:flex;align-items:end;gap:8px;flex-wrap:wrap;padding:8px;border:1px solid var(--line);border-radius:8px}.user-role-form label{display:flex;flex-direction:column;gap:4px;font-size:11px;color:var(--muted);min-width:140px}.user-role-form select{padding:7px 9px}.user-role-form .button{font-size:11px;padding:7px 10px}

.avatar-image{object-fit:cover;flex:0 0 auto}.avatar-small{width:25px;height:25px;font-size:11px}.assignee-avatars{display:flex;align-items:center;flex-wrap:wrap;gap:6px}.tag-picker{position:relative;display:flex;align-items:center;flex-wrap:wrap;gap:7px;min-height:48px;padding:8px 10px;background:var(--bg);border:1px solid var(--line);border-radius:10px}.tag-picker:focus-within{border-color:var(--purple);box-shadow:0 0 0 3px color-mix(in srgb,var(--purple) 18%,transparent)}.tag-list{display:flex;flex-wrap:wrap;gap:7px}.tag-picker input[data-tag-input]{flex:1;min-width:130px;border:0!important;outline:0!important;box-shadow:none!important;padding:7px 4px!important;background:transparent!important}.tag-chip{display:inline-flex;align-items:center;gap:8px;padding:5px 7px 5px 10px;border:1px solid var(--line);border-radius:7px;background:var(--panel2);font-size:12px}.tag-chip button{border:0;border-radius:50%;width:20px;height:20px;background:var(--line);color:var(--muted);cursor:pointer}.tag-options{position:absolute;top:calc(100% + 5px);left:0;right:0;z-index:5;max-height:190px;overflow:auto;padding:5px;background:var(--panel);border:1px solid var(--line);border-radius:10px;box-shadow:var(--shadow)}.tag-option{display:block;width:100%;text-align:left;padding:9px 10px;border:0;border-radius:7px;background:transparent;color:var(--text);cursor:pointer}.tag-option:hover{background:var(--panel2)}.tag-options[hidden]{display:none}

.comment-history-trigger{border:0;background:transparent;padding:0;cursor:pointer;text-decoration:underline;text-underline-offset:2px}
.comment-history-dialog{width:min(680px,calc(100vw - 32px));max-height:80vh;border:1px solid var(--border,#343445);border-radius:16px;padding:22px;background:var(--panel,#171722);color:var(--text,#f4f4f8)}
.comment-history-dialog::backdrop{background:rgba(0,0,0,.65);backdrop-filter:blur(3px)}
.comment-history-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:16px}
.comment-history-head h2{margin:0;font-size:1.15rem}
.comment-history-content{display:grid;gap:12px;max-height:60vh;overflow:auto}
.history-entry{padding:14px;border:1px solid var(--border,#343445);border-radius:10px}
.history-entry p{margin:0 0 8px}
.history-body{white-space:pre-wrap;overflow-wrap:anywhere}

.notification-panel-actions{display:flex;align-items:center;gap:6px;flex-wrap:wrap;justify-content:flex-end}
.notification-panel-head{display:flex;align-items:center;justify-content:space-between;gap:10px}
@media(max-width:600px){.notification-panel-head{align-items:flex-start;flex-direction:column}.notification-panel-actions{justify-content:flex-start}.notification-panel-actions .button{font-size:.8rem;padding:7px 9px}}

.my-tasks-list{display:grid;gap:10px}.my-task-row{display:grid;grid-template-columns:minmax(0,1fr) auto 22px;gap:18px;align-items:center;padding:17px 19px;background:var(--panel);border:1px solid var(--line);border-radius:13px;transition:border-color .15s,transform .15s}.my-task-row:hover{border-color:var(--purple);transform:translateY(-1px)}.my-task-main{display:grid;gap:5px;min-width:0}.my-task-main strong{font-size:14px}.my-task-meta{display:flex;gap:8px;align-items:center;flex-wrap:wrap;justify-content:flex-end}.my-task-arrow{color:var(--purple);font-size:20px}.status-todo{color:var(--muted)}.status-in_progress{color:var(--blue)}.status-review{color:#f59e0b}.status-done{color:var(--green)}@media(max-width:700px){.my-task-row{grid-template-columns:minmax(0,1fr) 20px;gap:10px}.my-task-meta{grid-column:1;justify-content:flex-start}.my-task-arrow{grid-column:2;grid-row:1/3}}

.workspace-switcher-mobile{display:none;}
/* Workspace selector in the sidebar */
.workspace-switcher{display:grid;gap:7px;margin:18px 0 20px;padding:0 10px}
.workspace-switcher label{font-size:10px;font-weight:800;letter-spacing:.12em;color:var(--muted,#9ca3af)}
.workspace-switcher select{width:100%;min-width:0;padding:10px 30px 10px 11px;border:1px solid var(--border,#303442);border-radius:10px;background:var(--surface,#171a24);color:var(--text,#f4f5f7);font:inherit;font-size:13px;cursor:pointer}
.workspace-switcher select:focus{outline:2px solid #1ed760;outline-offset:2px}

/* Mobile layout: move workspace switching into the header and simplify controls */
.workspace-switcher{width:100%;min-width:0;}
.workspace-switcher select{max-width:100%;text-overflow:ellipsis;}
.topbar,.topbar-actions{min-width:0;}
@media(max-width:700px){
  .sidebar{width:64px;padding:14px 7px;overflow:hidden;}
  .brand{margin:0 auto 24px;font-size:0;}
  .brand-mark{width:36px;height:36px;font-size:22px;}
  .sidebar .workspace-switcher{display:none;}
  .main-area{width:calc(100% - 64px);margin-left:64px;}
  .topbar{height:auto;min-height:0;padding:12px 10px;gap:10px;align-items:stretch;}
  .topbar-title{width:100%;font-size:14px;line-height:1.3;}
  .workspace-switcher-mobile{display:grid;gap:5px;margin:0;width:100%;padding:9px 10px;background:var(--panel2);border:1px solid var(--line);border-radius:11px;}
  .workspace-switcher-mobile label{font-size:9px;font-weight:800;letter-spacing:.1em;color:var(--muted);}
  .workspace-switcher-mobile select{width:100%;min-width:0;padding:8px 28px 8px 10px;font-size:13px;border:1px solid var(--line);border-radius:8px;background:var(--bg);color:var(--text);}
  .topbar-actions{display:grid;width:100%;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;align-items:stretch;}
  .topbar-actions>.button,.topbar-actions>.notification-area{min-width:0;width:100%;}
  .topbar-actions>.button{white-space:normal;text-align:center;line-height:1.25;padding:9px 6px;font-size:11px;}
  .topbar-actions>.notification-area .button{width:100%;padding:9px 6px;font-size:11px;}
  .notification-panel{right:-45px;}
  .page-content{padding:20px 12px;}
}
@media(max-width:420px){
  .topbar{padding:10px 8px;}
  .topbar-actions{gap:6px;}
  .topbar-actions>.button{font-size:10px;padding:8px 4px;}
  .workspace-switcher-mobile select{font-size:12px;}
}


/* Desktop: keep workspace selector in sidebar and logout there; compact header */
@media (min-width: 701px) {
  .workspace-switcher-mobile { display: none !important; }
  .topbar-actions > a[href*="logout"] { display: none !important; }
}

/* Workspace actions live in the sidebar; desktop header is intentionally minimal */
.topbar-actions { display:flex; align-items:center; gap:10px; }
.topbar-nav-link { white-space:nowrap; }
@media (min-width:701px) {
  .topbar-actions { margin-left:auto; }
  .topbar-actions > .button[data-theme-toggle] { order:1; }
  .topbar-actions > .notification-area { order:2; }
  .topbar-actions > .topbar-nav-link { display:none !important; }
}
@media (max-width:700px) {
  .topbar-actions { display:flex; width:auto; margin-left:auto; align-items:center; }
  .topbar-actions > .button[data-theme-toggle] { display:inline-flex; }
  .topbar-actions > .notification-area { width:auto; }
  .topbar-actions > .notification-area .button { width:auto; }
  .topbar-nav-link { display:none !important; }
}

/* Mobile header: compact workspace selector, aligned actions and visible logout */
.mobile-logout { display:none; }
@media (min-width:701px) { .mobile-logout { display:none !important; } }
@media (max-width:700px) {
  .topbar { display:flex; flex-wrap:wrap; align-items:center; gap:10px; padding:12px 12px 10px; }
  .topbar-title { flex:1 1 100%; width:100%; margin:0; font-size:14px; }
  .workspace-switcher-mobile { flex:1 1 100%; width:100%; margin:0; padding:8px 10px; gap:4px; }
  .workspace-switcher-mobile label { font-size:9px; }
  .workspace-switcher-mobile select { min-height:38px; }
  .topbar-actions { flex:1 1 100%; display:flex; flex-wrap:wrap; justify-content:flex-start; align-items:center; gap:8px; margin:0; }
  .topbar-actions > .button[data-theme-toggle] { flex:1 1 145px; width:auto; min-height:40px; }
  .topbar-actions > .notification-area { flex:0 0 auto; width:auto; }
  .topbar-actions > .notification-area .notification-trigger { min-height:40px; width:auto; }
  .topbar-actions > .mobile-logout { display:inline-flex; flex:1 1 100px; min-height:40px; align-items:center; justify-content:center; }
}
@media (max-width:420px) {
  .topbar { padding:10px 9px; gap:8px; }
  .topbar-actions { gap:7px; }
  .topbar-actions > .button[data-theme-toggle] { flex:1 1 120px; font-size:12px; }
  .topbar-actions > .mobile-logout { flex:1 1 90px; }
}

/* Workspace realtime chat */
.chat-page{max-width:1000px;margin:0 auto}.workspace-chat-panel{padding:0;overflow:hidden}.workspace-chat-messages{height:min(58vh,620px);min-height:280px;overflow-y:auto;padding:18px;display:flex;flex-direction:column;gap:12px}.chat-message{max-width:85%;align-self:flex-start;border:1px solid var(--line);background:var(--panel2);border-radius:12px;padding:10px 13px;overflow-wrap:anywhere}.chat-message.own{align-self:flex-end;border-color:#1ed76055;background:#1ed76012}.chat-message-meta{display:flex;gap:12px;align-items:center;font-size:12px;margin-bottom:5px}.chat-message-meta time{color:var(--muted);font-size:11px}.chat-message-body{font-size:14px;line-height:1.5;white-space:normal}.workspace-chat-form{border-top:1px solid var(--line);padding:14px;display:grid;gap:10px}.workspace-chat-form textarea{width:100%;resize:vertical;min-height:68px}.chat-compose-footer{display:flex;justify-content:space-between;align-items:center;gap:10px}.emoji-row{display:flex;flex-wrap:wrap;gap:5px}.emoji-row button{border:1px solid var(--line);background:var(--panel2);border-radius:8px;padding:4px 7px;cursor:pointer;font-size:17px}.comment-emoji-row{margin-left:6px}.comment-tools{flex-wrap:wrap}
@media(max-width:600px){.workspace-chat-messages{height:55vh;min-height:240px;padding:10px}.chat-message{max-width:94%}.workspace-chat-form{padding:10px}.chat-compose-footer{align-items:stretch;flex-direction:column}.chat-compose-footer .button{width:100%}}

/* Polished workspace chat composer */
.workspace-chat-form textarea#workspace-chat-input {
  display:block;
  box-sizing:border-box;
  width:100%;
  min-height:92px;
  padding:14px 16px;
  border:1px solid var(--line);
  border-radius:14px;
  background:var(--bg);
  color:var(--text);
  font:inherit;
  font-size:14px;
  line-height:1.55;
  outline:none;
  resize:vertical;
  box-shadow:inset 0 1px 2px rgba(0,0,0,.12);
  transition:border-color .18s ease, box-shadow .18s ease, background .18s ease;
}
.workspace-chat-form textarea#workspace-chat-input::placeholder {
  color:var(--muted);
  opacity:.9;
}
.workspace-chat-form textarea#workspace-chat-input:focus {
  border-color:#1ed760;
  box-shadow:0 0 0 3px rgba(30,215,96,.16);
}
.workspace-chat-form .emoji-row {
  gap:7px;
  padding:2px 0;
}
.workspace-chat-form .emoji-row button {
  width:36px;
  height:36px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border:1px solid var(--line);
  border-radius:10px;
  background:var(--panel2);
  transition:transform .12s ease, border-color .12s ease, background .12s ease;
}
.workspace-chat-form .emoji-row button:hover {
  transform:translateY(-1px);
  border-color:#1ed760;
  background:rgba(30,215,96,.10);
}
.workspace-chat-form .chat-compose-footer {
  margin-top:2px;
}
.workspace-chat-form .chat-compose-footer .button {
  min-width:112px;
  border-radius:10px;
}
@media(max-width:600px) {
  .workspace-chat-form textarea#workspace-chat-input { min-height:82px; padding:12px; border-radius:12px; }
  .workspace-chat-form .emoji-row button { width:34px; height:34px; }
}

/* Tighten vertical spacing between sidebar navigation links */
.sidebar nav, .sidebar > nav { gap: 4px !important; }
.sidebar .nav-item { margin-block: 0 !important; }

/* Sidebar links must occupy separate rows; prevent active backgrounds from overlapping */
.sidebar nav {
  display: flex !important;
  flex-direction: column !important;
  align-items: stretch;
  gap: 6px !important;
}
.sidebar nav .nav-item,
.sidebar > .nav-item {
  display: flex;
  position: relative;
  box-sizing: border-box;
  width: 100%;
  min-height: 44px;
  margin: 0 !important;
  flex: 0 0 auto;
}
.sidebar nav + .nav-item { margin-top: 6px !important; }

/* Workspace selector: ensure selected option and value have readable contrast */
.workspace-switcher select,
.workspace-switcher-mobile select,
select[name="workspace_id"],
select.workspace-select {
  color: var(--text, #f5f7fa) !important;
  background-color: var(--panel2, #171a24) !important;
  border: 1px solid var(--line, #303544) !important;
  opacity: 1 !important;
  -webkit-text-fill-color: var(--text, #f5f7fa) !important;
}
.workspace-switcher select option,
.workspace-switcher-mobile select option,
select[name="workspace_id"] option,
select.workspace-select option {
  color: var(--text, #f5f7fa) !important;
  background-color: var(--panel, #121520) !important;
}
.workspace-switcher label,
.workspace-switcher-mobile label { color: var(--muted, #aab2c5) !important; }

/* Replace the letter tile with the custom LENYX symbol */
.brand .brand-mark { display:none !important; }
.brand .brand-mark-image {
  display:block;
  width:40px;
  height:40px;
  flex:0 0 40px;
  object-fit:contain;
  border-radius:0;
  background:transparent;
  box-shadow:none;
}
@media(max-width:700px) {
  .brand .brand-mark-image { width:36px; height:36px; flex-basis:36px; }
}

/* Project cards show the first two letters of each project name */
.project-symbol {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  text-transform:uppercase;
  letter-spacing:.02em;
  font-weight:800;
  font-size:16px;
  line-height:1;
}


/* Realtime Kanban task search */
.kanban-search-wrap{display:grid;gap:7px;max-width:520px;margin:0 0 18px}
.kanban-search-wrap label{font-size:12px;font-weight:700;color:var(--muted)}
.kanban-task-search{box-sizing:border-box;width:100%;min-height:42px;padding:10px 13px;border:1px solid var(--line);border-radius:11px;background:var(--panel);color:var(--text);font:inherit;outline:none;transition:border-color .15s,box-shadow .15s}
.kanban-task-search::placeholder{color:var(--muted)}
.kanban-task-search:focus{border-color:#1ed760;box-shadow:0 0 0 3px rgba(30,215,96,.14)}
.task-card[hidden]{display:none!important}
.kanban-no-search-results .kanban-dropzone{border-color:rgba(30,215,96,.18)}

/* Custom logo on authentication pages */
.auth-brand .brand-mark-image {
  display:block;
  width:40px;
  height:40px;
  flex:0 0 40px;
  object-fit:contain;
  border-radius:0;
  background:transparent;
  box-shadow:none;
}
.auth-brand .brand-mark { display:none !important; }

/* Consistent vertical spacing between every sidebar navigation item */
.sidebar nav,
.sidebar > nav {
  display:flex !important;
  flex-direction:column !important;
  align-items:stretch !important;
  gap:8px !important;
}
.sidebar nav .nav-item,
.sidebar > .nav-item {
  margin:0 !important;
  flex:0 0 auto !important;
  min-height:44px;
  box-sizing:border-box;
}
.sidebar nav + .nav-item { margin-top:8px !important; }
/* Keep sidebar action links from collapsing into each other */
.sidebar > a.nav-item { margin-block:0 !important; }
.sidebar > a.nav-item + a.nav-item { margin-top:8px !important; }

/* All sidebar navigation items share one grid, with clear gaps between backgrounds */
.sidebar nav {
  display:grid !important;
  grid-template-columns:minmax(0,1fr);
  align-content:start;
  gap:8px !important;
}
.sidebar nav > .nav-item {
  display:flex;
  width:100%;
  min-height:44px;
  margin:0 !important;
  box-sizing:border-box;
}
.sidebar > nav + .nav-item { margin-top:0 !important; }
