:root{--bg:#fff;--bg-2:#f7f7f8;--bg-hover:#f0f0f2;--bg-active:#e9e9ec;--border:#e6e6ea;--border-strong:#d4d4d9;--text:#1b1b1f;--text-2:#4b4b55;--text-3:#8a8a95;--accent:#5e6ad2;--accent-hover:#4e5ac0;--danger:#e5484d;--success:#2f9e6a;--shadow:0 8px 30px #0000001f, 0 0 0 1px #0000000d;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}@media (prefers-color-scheme:dark){:root{--bg:#17171a;--bg-2:#1c1c20;--bg-hover:#26262b;--bg-active:#2d2d33;--border:#2a2a30;--border-strong:#3a3a42;--text:#ececf0;--text-2:#b4b4bd;--text-3:#7c7c87;--accent:#6e79e0;--accent-hover:#808aea;--shadow:0 8px 30px #00000080, 0 0 0 1px #ffffff0f;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;font:13px/1.45 Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}button,input,textarea,select{font:inherit;color:inherit}button{cursor:pointer;background:0 0;border:0;padding:0}button:disabled{cursor:default;opacity:.5}a{color:inherit;text-decoration:none}input,textarea{background:0 0;border:0;outline:none}kbd{border:1px solid var(--border-strong);color:var(--text-3);border-radius:3px;padding:2px 4px;font:11px/1 inherit}code.code{background:var(--bg-2);border:1px solid var(--border);white-space:nowrap;-webkit-user-select:all;user-select:all;border-radius:6px;padding:8px 10px;font-size:12px;display:block;overflow-x:auto}.muted{color:var(--text-3)}.strong{align-items:center;gap:8px;font-weight:500;display:flex}.error{color:var(--danger);font-size:12px}.success{color:var(--success);font-size:12px}.spacer{flex:1}.boot{background:var(--bg);height:100%}.app{height:100%;display:flex}.sidebar{background:var(--bg-2);border-right:1px solid var(--border);flex-direction:column;flex-shrink:0;gap:8px;width:232px;padding:10px 8px;display:flex}.sidebar-top{flex-direction:column;gap:8px;display:flex}.me{align-items:center;gap:8px;padding:4px 6px;display:flex}.me-name{text-overflow:ellipsis;white-space:nowrap;flex:1;font-weight:500;overflow:hidden}.new-issue{border:1px solid var(--border);background:var(--bg);border-radius:6px;align-items:center;gap:8px;padding:6px 8px;font-weight:500;display:flex;box-shadow:0 1px 2px #0000000a}.new-issue:hover{background:var(--bg-hover)}.new-issue kbd{margin-left:auto}nav{flex-direction:column;flex:1;gap:1px;display:flex;overflow-y:auto}.nav-item{color:var(--text-2);border-radius:6px;align-items:center;gap:8px;padding:5px 8px;display:flex}.nav-item:hover{background:var(--bg-hover);color:var(--text)}.nav-item.active{background:var(--bg-active);color:var(--text);font-weight:500}.nav-icon{color:var(--text-3);display:flex}.nav-label{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.nav-section{color:var(--text-3);padding:14px 8px 4px;font-size:11px;font-weight:500}.main{flex:1;min-width:0;position:relative;overflow-y:auto}.main>.mobile-menu,.scrim{display:none}.page{flex-direction:column;min-height:100%;display:flex}.page-header{z-index:5;background:var(--bg);border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:12px;height:46px;padding:0 20px;display:flex;position:sticky;top:0}.page-title{align-items:center;gap:8px;min-width:0;font-weight:500;display:flex}.page-actions,.crumbs{align-items:center;gap:8px;display:flex}.crumbs a{color:var(--text-2)}.crumbs a:hover{color:var(--text)}.empty{text-align:center;color:var(--text-3);padding:60px 20px}.empty p{margin:0 0 12px}.btn{border:1px solid var(--border-strong);background:var(--bg);white-space:nowrap;border-radius:6px;align-items:center;gap:6px;height:28px;padding:0 10px;font-weight:500;display:inline-flex}.btn:hover:not(:disabled){background:var(--bg-hover)}.btn.primary{background:var(--accent);border-color:var(--accent);color:#fff}.btn.primary:hover:not(:disabled){background:var(--accent-hover)}.btn.primary kbd{color:#ffffffb3;border-color:#ffffff4d}.btn.ghost{background:0 0;border-color:#0000}.btn.danger{color:var(--danger)}.btn.small{height:24px;padding:0 8px;font-size:12px}.link-btn{color:var(--text-2);font-size:12px}.link-btn:hover{color:var(--text);text-decoration:underline}.icon-btn{border-radius:5px;flex-shrink:0;justify-content:center;align-items:center;padding:4px;display:inline-flex}.icon-btn:hover{background:var(--bg-active)}.pills{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.pill{border:1px solid var(--border);background:var(--bg);height:26px;color:var(--text-2);border-radius:6px;align-items:center;gap:6px;max-width:100%;padding:0 8px;font-size:12px;display:inline-flex;position:relative}.pill:hover{background:var(--bg-hover);color:var(--text)}.pill-label{align-items:center;gap:5px;display:inline-flex}.pill-label+.pill-label{margin-left:4px}.date-pill{cursor:pointer}.date-pill input[type=date]{opacity:0;cursor:pointer;width:100%;position:absolute;inset:0}.pill-clear{z-index:1;color:var(--text-3);margin-right:-3px;display:flex;position:relative}.pill-clear:hover{color:var(--text)}.avatar{color:#fff;letter-spacing:-.02em;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-weight:600;display:inline-flex}.avatar-empty{flex-shrink:0}.label-dot{border-radius:50%;flex-shrink:0;width:8px;height:8px;display:inline-block}.status-icon{flex-shrink:0}.menu{z-index:100;background:var(--bg);width:240px;box-shadow:var(--shadow);border-radius:8px;flex-direction:column;display:flex;position:fixed;overflow:hidden}.menu-search{border-bottom:1px solid var(--border);padding:9px 12px;font-size:13px}.menu-items{max-height:280px;padding:4px;overflow-y:auto}.menu-item{text-align:left;border-radius:5px;align-items:center;gap:8px;width:100%;padding:6px 8px;display:flex}.menu-item.active{background:var(--bg-hover)}.menu-icon{color:var(--text-2);display:flex}.menu-label{text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.menu-check{color:var(--text-2);display:flex}.menu-empty{color:var(--text-3);padding:8px}.checkbox{border:1px solid var(--border-strong);border-radius:4px;flex-shrink:0;justify-content:center;align-items:center;width:14px;height:14px;display:flex}.checkbox.on{background:var(--accent);border-color:var(--accent);color:#fff}.checkbox.on svg{width:11px;height:11px}.filter-bar{border-bottom:1px solid var(--border);flex-wrap:wrap;align-items:center;gap:6px;padding:8px 20px;display:flex}.search{color:var(--text-3);border:1px solid var(--border);border-radius:6px;align-items:center;gap:6px;width:180px;height:26px;padding:0 8px;display:flex}.search:focus-within{border-color:var(--accent)}.search input{min-width:0;color:var(--text);flex:1;font-size:12px}.filter-chip{border:1px dashed var(--border-strong);height:26px;color:var(--text-2);border-radius:6px;align-items:center;gap:6px;padding:0 8px;font-size:12px;display:inline-flex}.filter-chip:hover{background:var(--bg-hover)}.filter-chip.on{border-style:solid;border-color:var(--accent);color:var(--text)}.filter-count{background:var(--bg-active);text-overflow:ellipsis;white-space:nowrap;border-radius:4px;max-width:120px;padding:0 5px;font-weight:500;overflow:hidden}.issue-list{flex:1;padding-bottom:40px}.group-header{background:var(--bg-2);border-bottom:1px solid var(--border);text-align:left;z-index:2;align-items:center;gap:8px;width:100%;padding:7px 20px;font-weight:500;display:flex;position:sticky;top:46px}.group-header .count{color:var(--text-3);font-weight:400}.chevron{width:10px;color:var(--text-3);transition:transform .12s;display:inline-block}.chevron.open{transform:rotate(90deg)}.issue-row{border-bottom:1px solid var(--border);cursor:pointer;align-items:center;gap:8px;height:40px;padding:0 16px 0 18px;display:flex}.issue-row:hover{background:var(--bg-2)}.issue-id{color:var(--text-3);font-variant-numeric:tabular-nums;flex-shrink:0;width:58px;font-size:12px}.issue-title{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-weight:500;overflow:hidden}.issue-meta{flex-shrink:1;align-items:center;gap:6px;min-width:0;display:flex;overflow:hidden}.chip{border:1px solid var(--border);height:22px;color:var(--text-2);white-space:nowrap;border-radius:11px;align-items:center;gap:5px;padding:0 8px;font-size:12px;display:inline-flex}.chip svg{width:12px;height:12px;color:var(--text-3)}.chip.overdue{color:var(--danger);border-color:color-mix(in srgb, var(--danger) 40%, transparent)}.issue-page{justify-content:center;padding:28px 20px 60px;display:flex}.issue-main{flex-direction:column;gap:6px;width:100%;max-width:760px;display:flex}.title-edit{letter-spacing:-.01em;width:100%;padding:4px 0;font-size:22px;font-weight:600}.desc-edit{resize:none;width:100%;min-height:48px;color:var(--text);padding:4px 0;font-size:14px;line-height:1.6;overflow:hidden}.issue-props{border-bottom:1px solid var(--border);padding:10px 0 20px}.activity{flex-direction:column;gap:14px;padding-top:20px;display:flex}.activity-item{align-items:center;gap:8px;font-size:12px;display:flex}.comment{border:1px solid var(--border);background:var(--bg-2);border-radius:8px;padding:10px 12px}.comment-head{align-items:center;gap:8px;margin-bottom:6px;font-size:12px;display:flex}.comment-head .link-btn{margin-left:auto}.comment-body{white-space:pre-wrap;word-break:break-word;font-size:13.5px}.comment-box{border:1px solid var(--border);border-radius:8px;flex-direction:column;align-items:flex-end;gap:8px;padding:10px 12px;display:flex}.comment-box:focus-within{border-color:var(--border-strong)}.comment-box textarea{resize:vertical;width:100%}.modal-backdrop{z-index:50;background:#00000059;justify-content:center;align-items:flex-start;padding:12vh 16px 16px;display:flex;position:fixed;inset:0}.modal{background:var(--bg);width:100%;max-width:660px;box-shadow:var(--shadow);border-radius:12px;flex-direction:column;gap:6px;padding:16px 18px;display:flex}.modal-head{color:var(--text-3);font-size:12px;font-weight:500}.title-input{padding:6px 0;font-size:18px;font-weight:600}.desc-input{resize:none;padding:2px 0 10px;font-size:14px}.modal-foot{border-top:1px solid var(--border);justify-content:space-between;align-items:center;margin:10px -18px 0;padding:12px 18px 0;display:flex}.toggle{color:var(--text-2);cursor:pointer;align-items:center;gap:6px;font-size:12px;display:flex}.inline-form{border-bottom:1px solid var(--border);align-items:center;gap:8px;padding:10px 20px;display:flex}.inline-form input{flex:1;font-size:14px}.table-head,.table-row{grid-template-columns:minmax(0,3fr) 1fr .6fr 1fr 1.3fr;align-items:center;gap:12px;padding:0 20px;display:grid}.table-head{height:34px;color:var(--text-3);border-bottom:1px solid var(--border);font-size:12px}.table-row{border-bottom:1px solid var(--border);height:44px}.table-row:hover{background:var(--bg-2)}.table-row .strong svg{color:var(--text-3);flex-shrink:0}.status-badge{background:var(--bg-active);color:var(--text-2);border-radius:10px;padding:2px 8px;font-size:12px}.status-badge.active{color:#b8860b;background:#f2c94c38}.status-badge.completed{background:color-mix(in srgb, var(--accent) 18%, transparent);color:var(--accent)}.status-badge.canceled{text-decoration:line-through}@media (prefers-color-scheme:dark){.status-badge.active{color:#f2c94c}}.progress{align-items:center;gap:8px;font-size:12px;display:inline-flex}.progress-bar{background:var(--bg-active);border-radius:3px;width:70px;height:5px;overflow:hidden}.progress-bar span{background:var(--accent);border-radius:3px;height:100%;display:block}.project-overview{border-bottom:1px solid var(--border);flex-direction:column;gap:6px;padding:20px 20px 16px;display:flex}.project-overview>*{max-width:800px}.milestones{flex-direction:column;margin-top:18px;display:flex}.section-title{color:var(--text-3);margin-bottom:4px;font-size:12px;font-weight:500}.milestone{align-items:center;gap:10px;padding:4px 0;display:flex}.milestone-icon{color:var(--accent);display:flex}.milestone.add .milestone-icon{color:var(--text-3)}.milestone-name{flex:1;min-width:0;padding:4px 0;font-weight:500}.milestone.add .milestone-name{font-weight:400}.settings{flex-direction:column;gap:32px;max-width:640px;padding:24px 20px 60px;display:flex}.settings h2{margin:0 0 12px;font-size:14px}.settings p{margin:0 0 12px}.field{flex-direction:column;gap:4px;margin-bottom:12px;display:flex}.field label{color:var(--text-2);font-size:12px}.field input{border:1px solid var(--border-strong);border-radius:6px;padding:6px 10px}.field input:focus{border-color:var(--accent)}.field input:disabled{color:var(--text-3);background:var(--bg-2)}.list{border:1px solid var(--border);border-radius:8px}.list-row{border-bottom:1px solid var(--border);align-items:center;gap:8px;padding:6px 10px;display:flex}.list-row:last-child{border-bottom:0}.list-row .bare{flex:1;padding:3px 0}.color-picker{display:flex;position:relative}.color-options{z-index:10;background:var(--bg);box-shadow:var(--shadow);border-radius:8px;gap:2px;padding:4px;display:flex;position:absolute;top:26px;left:0}.login{background:var(--bg-2);justify-content:center;align-items:center;min-height:100%;padding:16px;display:flex}.login form{flex-direction:column;align-items:stretch;gap:10px;width:100%;max-width:320px;display:flex}.login h1{text-align:center;margin:8px 0 10px;font-size:20px}.login input{border:1px solid var(--border-strong);background:var(--bg);border-radius:8px;padding:9px 12px;font-size:14px}.login input:focus{border-color:var(--accent)}.login .btn{justify-content:center;height:38px;font-size:14px}.logo.big{background:var(--accent) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M4 8.5l2.5 2.5L12 5.5' stroke='white' stroke-width='1.6' fill='none' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/26px no-repeat;border-radius:10px;width:40px;height:40px;margin:0 auto}@media (width<=760px){.sidebar{z-index:40;transition:transform .18s;position:fixed;inset:0 auto 0 0;transform:translate(-100%)}.app.menu-open .sidebar{box-shadow:var(--shadow);transform:none}.app.menu-open .scrim{z-index:30;background:#0000004d;display:block;position:fixed;inset:0}.main>.mobile-menu{z-index:6;display:flex;position:fixed;top:9px;left:10px}.page-header{padding-left:46px;padding-right:16px}.filter-bar,.inline-form,.project-overview{padding-left:16px;padding-right:16px}.search{width:100%}.group-header{padding:7px 16px}.issue-row{gap:6px;padding:0 12px}.issue-id,.hide-sm,.issue-meta .chip:not(.overdue){display:none}.table-head,.table-row{grid-template-columns:minmax(0,2fr) 1fr 1fr;padding:0 16px}.page-actions .btn.primary{padding:0 8px}.modal-backdrop{padding-top:16px}}
