*{box-sizing:border-box}:root{--brand-primary: #111827;--brand-primary-soft: #eef2ff;--brand-primary-text: #3444a1;color:#17202a;background:#eef2f6;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility}body{margin:0;min-width:320px;min-height:100vh}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.55}.app-shell{width:100%;min-height:100vh;padding:0 22px 42px}.topnav{position:sticky;top:0;z-index:10;display:grid;grid-template-columns:minmax(220px,1fr) auto minmax(220px,1fr);align-items:center;gap:16px;margin:0 -22px 22px;padding:12px 22px;border-bottom:1px solid #d9e1ea;background:#fffffff0;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.brand{display:inline-flex;align-items:center;gap:10px}.brand strong,.brand span{display:block}.brand strong{font-size:17px}.brand span{color:#667085;font-size:12px;font-weight:700}.nav-tabs,.top-actions,.head-actions,.panel-heading,.modal-actions{display:flex;align-items:center;gap:8px}.nav-tabs{justify-content:center}.top-actions{justify-content:flex-end}.nav-tabs button,.primary-button,.secondary-button,.icon-button{display:inline-flex;min-height:40px;align-items:center;justify-content:center;gap:8px;border-radius:6px;border:1px solid transparent;padding:9px 13px;font-weight:800}.nav-tabs button{background:transparent;color:#475467}.nav-tabs button.active,.nav-tabs button:hover{background:var(--brand-primary);color:#fff}.nav-count{min-width:20px;border-radius:999px;background:#d92d20;color:#fff;padding:2px 6px;font-size:11px;line-height:1.4}.nav-tabs button.active .nav-count,.nav-tabs button:hover .nav-count{background:#fff;color:#b42318}.primary-button{background:var(--brand-primary);color:#fff}.secondary-button,.icon-button{background:#fff;border-color:#cfd7e2;color:#233044}.danger-button{display:inline-flex;min-height:40px;align-items:center;justify-content:center;gap:8px;border:1px solid #fda29b;border-radius:6px;background:#fff1f3;color:#b42318;padding:9px 13px;font-weight:800}.full-width{width:100%}.icon-button{width:40px;padding:0}.icon-button.small{min-height:32px;width:32px}.ghost-button{display:inline-flex;align-items:center;justify-content:center;min-height:30px;border:0;border-radius:6px;background:transparent;color:#667085;padding:4px}.ghost-button:hover{background:#eef2f6;color:var(--brand-primary)}.workspace-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:14px}.workspace-head h1{margin:0;font-size:clamp(28px,4vw,44px);line-height:1.05}.workspace-head p{max-width:760px;margin:8px 0 0;color:#667085}.eyebrow{margin:0 0 6px;color:#667085;font-size:13px;font-weight:800;text-transform:uppercase}.token-pill{min-width:210px;border:1px solid #d9e1ea;border-radius:8px;background:#fff;padding:10px 12px}.token-pill span,.token-pill small{display:block;color:#667085;font-size:12px;font-weight:800}.token-pill strong{display:block;margin:3px 0}.panel,.metric{background:#fff;border:1px solid #d9e1ea;border-radius:8px;box-shadow:0 1px 2px #1018280a}.panel{padding:20px}.panel-heading{justify-content:space-between;margin-bottom:14px}.panel-heading h2{margin:0}.panel-heading span,.sync-note{color:#667085;font-size:13px;font-weight:800}.stats-controls{display:flex;align-items:center;gap:8px}.stats-controls input{min-height:40px;border:1px solid #cfd7e2;border-radius:6px;padding:8px 10px}.stats-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:14px}.pending-quotes-page{display:grid;gap:16px}.pending-quote-project .panel-heading{border-bottom:1px solid #e5eaf1;padding-bottom:12px}.pending-quote-project .panel-heading>strong{color:#b54708;font-size:18px}.stats-summary div{border:1px solid #d9e1ea;border-radius:8px;background:#f8fafc;padding:12px}.stats-summary span,td small{display:block;color:#667085;font-size:12px;font-weight:800}.stats-summary strong{display:block;margin-top:4px;font-size:22px}.stats-task-list{display:grid;gap:6px}.stats-task-list a{color:var(--brand-primary);font-weight:800;text-decoration:none}.stats-task-list a:hover{text-decoration:underline}.project-strip{display:flex;gap:10px;margin-bottom:14px;overflow-x:auto;padding-bottom:2px}.project-strip button,.project-strip a{flex:0 0 auto;min-width:220px;border:1px solid #d9e1ea;border-radius:8px;background:#fff;color:#17202a;padding:12px;text-align:left;text-decoration:none}.project-strip button.active,.project-strip a.active{border-color:var(--brand-primary);box-shadow:inset 0 0 0 1px var(--brand-primary)}.project-strip strong,.project-strip span{display:block}.project-strip span{margin-top:4px;color:#667085;font-size:12px;font-weight:800;text-transform:uppercase}.empty-project{display:inline-flex;align-items:center;justify-content:center;gap:8px}.board-toolbar{display:flex;justify-content:flex-end;margin-bottom:12px}.search-box{display:flex;width:min(520px,100%);align-items:center;gap:8px;border:1px solid #cfd7e2;border-radius:8px;background:#fff;padding:0 12px}.search-box input{width:100%;min-height:42px;border:0;outline:0}.kanban{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:14px;align-items:start}.kanban-column{min-width:0;min-height:420px;border:1px solid #d9e1ea;border-radius:8px;background:#f8fafc;padding:12px;transition:background .15s ease,border-color .15s ease}.kanban-column header{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:12px}.kanban-column h2{margin:0;font-size:16px}.kanban-column header span{color:#667085;font-size:12px;font-weight:800}.card-stack{display:grid;gap:10px}.work-card{display:grid;gap:8px;border:1px solid #e1e7ef;border-radius:8px;background:#fff;padding:12px;cursor:grab;transition:opacity .15s ease,transform .15s ease,border-color .15s ease}.work-card:hover{border-color:#98a2b3}.work-card.task-overdue{border-color:#f04438;background:#fff1f3;box-shadow:inset 3px 0 #d92d20}.work-card.task-overdue:hover{border-color:#d92d20}.work-card:active{cursor:grabbing}.work-card.dragging{opacity:.55;transform:scale(.98)}.work-card h3,.work-card p{margin:0}.work-card h3{font-size:15px;line-height:1.3}.work-card p{color:#667085;font-size:13px;line-height:1.4}.work-card .card-project{color:var(--brand-primary);font-size:12px;font-weight:900;text-transform:uppercase}.card-topline,.card-meta{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.payment-card-summary{border:1px solid #fedf89;background:#fffaeb;color:#93370d;font-weight:800}.payment-section{display:grid;gap:14px}.payment-progress{height:8px;overflow:hidden;border-radius:999px;background:#eaecf0}.payment-progress>div{height:100%;border-radius:inherit;background:#12b76a;transition:width .18s ease}.payment-editor,.payment-list{display:grid;gap:9px}.payment-edit-row{display:grid;grid-template-columns:minmax(120px,1fr) minmax(150px,.8fr) auto 36px;align-items:center;gap:8px}.payment-paid-check{display:inline-flex;align-items:center;gap:7px;margin:0;white-space:nowrap}.payment-paid-check input{width:17px;height:17px;padding:0}.payment-actions{display:flex;justify-content:flex-end;gap:8px}.payment-view-row{display:grid;grid-template-columns:minmax(140px,1fr) auto auto;align-items:center;gap:12px;border-bottom:1px solid #e5eaf1;padding:9px 0}.payment-view-row small{display:block;margin-top:3px;color:#667085}.card-topline{justify-content:space-between}.card-badges{display:inline-flex;align-items:center;gap:6px;flex-wrap:wrap}.priority,.badge,.extra-cost-badge,.late-badge{display:inline-flex;align-items:center;border-radius:999px;padding:3px 8px;background:var(--brand-primary-soft);color:var(--brand-primary-text);font-size:12px;font-weight:800}.priority.high{background:#fff4e5;color:#b54708}.priority.urgent{background:#fff1f3;color:#b42318}.priority.low{background:#ecfdf3;color:#087443}.status-dot{color:#667085;font-size:12px;font-weight:800}.column-description{min-height:34px;margin:-2px 12px 10px;color:#667085;font-size:12px;line-height:1.4}.badge.ok{background:#e9f8ef;color:#087443}.badge.warning{background:#fffaeb;color:#b54708}.badge.danger{background:#fff1f3;color:#b42318}.badge.money,.extra-cost-badge{background:#fff7ed;color:#c2410c}.badge.off{background:#fff1f3;color:#b42318}.late-badge{background:#d92d20;color:#fff;text-transform:uppercase}.card-meta span,.card-meta a{display:inline-flex;align-items:center;gap:4px;color:#667085;font-size:12px;font-weight:800}.card-meta a{color:var(--brand-primary);text-decoration:none}.column-empty,.empty-state{color:#667085;text-align:center;padding:24px 10px;font-weight:800}.project-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:12px}.project-card{display:block;border:1px solid #d9e1ea;border-radius:8px;color:#17202a;padding:16px;cursor:pointer;text-decoration:none}.project-card-top{display:flex;align-items:center;justify-content:space-between;gap:8px}.project-card-actions{display:inline-flex;align-items:center;gap:6px}.compact-button{min-height:32px;padding:5px 9px;font-size:12px}.project-card h3{margin:12px 0 6px}.project-card p{margin:0;color:#667085}.telegram-connect{display:grid;gap:6px;margin-top:14px;border-top:1px solid #e5eaf1;padding-top:12px}.telegram-connect span,.telegram-connect small{color:#667085;font-size:12px;font-weight:800}.telegram-command{display:grid;grid-template-columns:minmax(0,max-content) 34px;gap:6px;align-items:center;max-width:100%}.telegram-connect code{min-width:0;width:100%;max-width:100%;overflow-wrap:anywhere;border:1px solid #d9e1ea;border-radius:6px;background:#f8fafc;padding:6px 8px;color:var(--brand-primary);font-weight:800}.copy-command-button{width:34px;height:34px;min-height:34px;padding:0}.project-detail-page,.project-detail-panel{display:grid;gap:14px}.compact-heading{margin-bottom:6px}.compact-heading h3{display:inline-flex;align-items:center;gap:8px;margin:0}.project-members-panel,.project-mcp-panel{display:grid;gap:10px;border-top:1px solid #e5eaf1;padding-top:14px}.mcp-config-list{display:grid;gap:8px}.mcp-config-row{display:grid;grid-template-columns:84px minmax(0,1fr) 34px;gap:8px;align-items:center;border:1px solid #d9e1ea;border-radius:8px;background:#f8fafc;padding:10px}.mcp-config-row span{color:#667085;font-size:12px;font-weight:900}.mcp-config-row code{min-width:0;overflow-wrap:anywhere;border:1px solid #d9e1ea;border-radius:6px;background:#fff;padding:6px 8px;font-weight:800}.mcp-config-row.origins-row{grid-template-columns:84px minmax(0,1fr)}.mcp-config-row.origins-row code{white-space:pre-line}.project-bug-toggle{display:flex;align-items:center;gap:9px;margin-top:4px}.project-bug-toggle input{width:17px;height:17px;margin:0}.member-list{display:grid;gap:8px}.member-row{display:grid;grid-template-columns:18px minmax(0,1fr) auto;gap:10px;align-items:center;margin:0;border:1px solid #d9e1ea;border-radius:8px;padding:10px;background:#f8fafc}.member-row input{width:18px;height:18px;padding:0}.member-row span{display:grid;gap:2px;min-width:0}.member-row small{color:#667085;font-weight:800;overflow-wrap:anywhere}.member-row em{border-radius:999px;background:#e6f4ff;color:#175cd3;padding:4px 8px;font-size:12px;font-style:normal;font-weight:900}.task-page{display:grid;gap:14px}.page-title{display:flex;align-items:center;justify-content:space-between;gap:14px}.page-title-main{display:flex;min-width:0;align-items:center;gap:14px}.page-title h2{margin:0;font-size:26px;overflow-wrap:anywhere}.edit-title-button{flex:0 0 auto}.task-detail-grid{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(360px,.75fr);gap:14px;align-items:start}.task-form-grid{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:16px;align-items:start}.task-editor-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:8px;border-bottom:1px solid #e5eaf1;padding-bottom:12px}.task-editor-heading h3{margin:0;font-size:18px}.task-editor-heading span{border:1px solid #d9e1ea;border-radius:6px;background:#f8fafc;padding:5px 8px;color:var(--brand-primary);font-weight:800}.task-readonly{display:grid;gap:16px}.readonly-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.readonly-grid div,.readonly-link-block,.readonly-block{border:1px solid #e5eaf1;border-radius:8px;background:#f8fafc;padding:12px}.readonly-grid span,.readonly-link-block span,.readonly-block span{display:block;color:#667085;font-size:12px;font-weight:800}.readonly-grid strong{display:block;margin-top:4px}.readonly-link-block{color:inherit;cursor:pointer;text-align:left}.readonly-link-block:hover{border-color:#b8c5d6;background:#fff}.readonly-block p{margin:8px 0 0;color:#344054;line-height:1.5;white-space:pre-wrap}.markdown-body{margin-top:8px;color:#344054;line-height:1.55}.markdown-body p,.markdown-body ul,.markdown-body ol,.markdown-body h3,.markdown-body h4,.markdown-body h5{margin:0 0 10px}.markdown-body>:last-child{margin-bottom:0}.markdown-body ul,.markdown-body ol{padding-left:20px}.markdown-body li+li{margin-top:4px}.markdown-body a{color:var(--brand-primary);font-weight:800}.markdown-body code{border:1px solid #d9e1ea;border-radius:5px;background:#eef4ff;padding:1px 5px;color:#17202a;font-size:.92em}.markdown-table-wrap{max-width:100%;margin:0 0 10px;overflow-x:auto}.markdown-body table{width:100%;min-width:420px;border-collapse:collapse;background:#fff}.markdown-body th,.markdown-body td{border:1px solid #d9e1ea;padding:8px 10px;text-align:left;vertical-align:top}.markdown-body th{background:#eef2f6;color:#17202a;font-weight:900}.markdown-body .align-center{text-align:center}.markdown-body .align-right{text-align:right}.compact-side-heading{align-items:flex-start}.child-task-list{display:grid;gap:8px;margin-top:10px}.child-task-item{display:grid;gap:4px;width:100%;border:1px solid #d9e1ea;border-radius:8px;background:#fff;padding:10px;color:inherit;cursor:pointer;text-align:left}.child-task-item:hover{border-color:#9fb0c7}.child-task-item small{color:#667085;font-size:12px;font-weight:800}.form-main,.form-side,.detail-main,.detail-side,.side-section,.comment-list,.attachment-list,.history-list{display:grid;gap:10px}.form-actions{display:grid;gap:8px;margin-top:14px}.side-heading{display:flex;align-items:center;justify-content:space-between;gap:10px}.side-heading h3{display:inline-flex;align-items:center;gap:8px;margin:0;font-size:17px}.side-heading span{color:#667085;font-size:13px;font-weight:800}.danger-zone{border-color:#fda29b;background:snow}.closed-zone{border-color:#98a2b3;background:#f2f4f7}.comment-item,.history-item,.attachment-item{border:1px solid #e5eaf1;border-radius:8px;background:#f8fafc;padding:10px}.comment-item strong,.comment-item time,.history-item strong,.history-item span,.attachment-item strong,.attachment-item small{display:block}.comment-item time,.history-item span,.attachment-item small,.muted{color:#667085;font-size:12px;font-weight:700}.comment-item p{margin:8px 0 0;line-height:1.45}.comment-form,.create-attachment-box,.pending-file-list{display:grid;gap:8px}.create-attachment-box{border:1px dashed #b8c3d1;border-radius:8px;background:#f8fafc;padding:12px;outline:none}.create-attachment-box:focus{border-color:var(--brand-primary);box-shadow:0 0 0 3px var(--brand-primary-soft)}.pending-file-item{display:flex;min-width:0;align-items:center;justify-content:space-between;gap:8px;border:1px solid #e5eaf1;border-radius:6px;background:#fff;padding:7px 8px}.pending-file-item.has-preview{display:grid;align-items:stretch;justify-content:stretch}.pending-file-preview,.pending-detail-preview{width:100%;max-height:220px;border:1px solid #e5eaf1;border-radius:6px;background:#fff;object-fit:contain}.pending-file-preview{aspect-ratio:16 / 9}.pending-detail-preview{aspect-ratio:4 / 3}.pending-file-info{display:flex;min-width:0;align-items:center;justify-content:space-between;gap:8px}.pending-file-info>span{display:inline-flex;min-width:0;align-items:center;gap:6px;overflow-wrap:anywhere;font-size:12px;font-weight:700}.comment-hint{color:#667085;font-size:12px;font-weight:800}.assignee-sidebar{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:center}.attachment-item{display:flex;align-items:flex-start;gap:8px;color:#17202a;text-decoration:none}.attachment-item.image-attachment{display:grid;gap:8px}.attachment-item:hover{border-color:#98a2b3}.attachment-preview{width:100%;max-height:240px;aspect-ratio:4 / 3;border:1px solid #e5eaf1;border-radius:6px;background:#fff;object-fit:contain}.upload-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:center}.auth-panel,.state-panel{display:flex;min-height:320px;align-items:center;justify-content:space-between;gap:20px}.auth-panel h1{margin:0}.auth-panel p{color:#667085}.spinner{width:34px;height:34px;margin:auto;border:3px solid #d9e0ea;border-top-color:var(--brand-primary);border-radius:999px;animation:spin .8s linear infinite}.table-wrap{width:100%;overflow:auto}table{width:100%;border-collapse:collapse}th,td{border-bottom:1px solid #e5eaf1;padding:10px 8px;text-align:left;vertical-align:top;font-size:14px}td{overflow-wrap:anywhere}.error-banner{border:1px solid #fda29b;border-radius:8px;background:#fff1f3;color:#b42318;padding:10px 12px;font-weight:800}.rename-request-banner{display:flex;margin-bottom:18px;border:1px solid #f79009;border-radius:8px;background:#fffaeb;color:#7a2e0e;padding:14px 16px}.rename-gate{width:min(560px,100%);margin:64px auto 0;padding:32px}.rename-gate-form{display:grid;gap:12px}.rename-gate-form h1,.rename-gate-form p,.rename-gate-form label{margin:0}.rename-gate-form>p:not(.eyebrow):not(.error-banner),.rename-gate-form>small{color:#667085;line-height:1.55}.rename-gate-form .primary-button{width:100%;margin-top:4px}.rename-gate-icon{display:grid;width:52px;height:52px;place-items:center;border-radius:999px;background:var(--brand-primary-soft);color:var(--brand-primary-text)}.rename-request-banner strong,.rename-request-banner p,.rename-request-banner small{display:block}.rename-request-banner p{margin:5px 0}.name-check-disclaimer{margin:0 0 16px;border-left:3px solid #667085;background:#f8fafc;color:#475467;padding:10px 12px}.name-verification-panel td:first-child strong,.user-email,.user-id,.checked-at,.name-suggestion{display:block}.user-email{margin-top:4px;color:#3444a1;font-size:13px}.user-id,.checked-at{margin-top:4px;color:#667085;font-size:12px}.name-suggestion{margin-top:5px;color:#3444a1;font-size:12px;font-weight:800}.rename-requested-row{background:#fff8f7}.name-check-actions{display:flex;min-width:290px;gap:7px}.primary-button.compact,.secondary-button.compact,.danger-button.compact{min-height:34px;padding:7px 10px;font-size:12px}.modal-backdrop{position:fixed;inset:0;z-index:30;display:flex;align-items:center;justify-content:center;padding:18px;background:#0f172a73}.modal{width:min(560px,100%);max-height:calc(100vh - 36px);overflow:auto;border:1px solid #d9e1ea;border-radius:8px;background:#fff;box-shadow:0 24px 60px #0f172a40;padding:20px}.project-modal{width:min(980px,100%)}.modal header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px}.modal h2{margin:0}label{display:block;margin:12px 0 6px;font-weight:800}.check-row{display:flex;align-items:center;gap:9px;margin-top:14px;border:1px solid #d9e1ea;border-radius:8px;background:#f8fafc;padding:10px 11px}.check-row input{width:18px;height:18px;padding:0}input,select,textarea{width:100%;border:1px solid #cfd7e2;border-radius:6px;background:#fff;color:#17202a;padding:10px 11px}textarea{resize:vertical}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}@keyframes spin{to{transform:rotate(360deg)}}@media(max-width:1100px){.topnav{grid-template-columns:1fr}.nav-tabs,.top-actions{justify-content:flex-start;overflow-x:auto}.workspace-head{flex-direction:column}.head-actions{width:100%;flex-wrap:wrap}.kanban{grid-template-columns:repeat(2,minmax(260px,1fr))}.task-detail-grid,.task-form-grid{grid-template-columns:1fr}.readonly-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:720px){.app-shell{padding:0 12px 28px}.topnav{margin:0 -12px 16px;padding:12px}.brand span{display:none}.nav-tabs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr))}.nav-tabs button{padding:9px 8px}.top-actions{display:grid;grid-template-columns:40px 1fr}.workspace-head h1{font-size:30px}.head-actions{display:grid}.token-pill{width:100%}.project-strip button,.project-strip a{min-width:190px}.board-toolbar{justify-content:stretch}.search-box{width:100%}.kanban{grid-template-columns:1fr}.kanban-column{min-height:180px}.auth-panel{align-items:stretch;flex-direction:column}.form-grid,.page-title,.upload-row,.assignee-sidebar{grid-template-columns:1fr}.page-title,.page-title-main{align-items:stretch;flex-direction:column}.edit-title-button{width:100%}.readonly-grid,.payment-edit-row,.payment-view-row{grid-template-columns:1fr}.payment-actions{display:grid;justify-content:stretch}.stats-controls,.stats-summary{grid-template-columns:1fr}.stats-controls{display:grid}}
