@import "https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap";@import "https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap";*,:before,:after{box-sizing:border-box;margin:0;padding:0}:root{--sb-bg:#1e2a3a;--sb-hover:#ffffff14;--sb-active:#ffffff26;--sb-text:#ffffffc7;--sb-dim:#fff6;--sb-border:#ffffff1a;--sb-accent:#4c9ffe;--sb-w:220px;--bg:#f4f5f7;--surface:#fff;--border:#dfe1e6;--border-light:#ebecf0;--text:#172b4d;--text2:#42526e;--text3:#5e6c84;--text4:#97a0af;--accent:#0052cc;--accent-h:#0065ff;--accent-soft:#deebff;--red:#de350b;--red-soft:#ffebe6;--green:#064;--green-soft:#e3fcef;--orange:#ff8b00;--orange-soft:#fff0b3;--radius:3px;--radius-md:4px;--radius-lg:8px;--shadow:0 1px 2px #091e4221;--shadow-md:0 3px 8px #091e4226;--shadow-lg:0 8px 24px #091e4233}body{background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;font-family:Inter,-apple-system,sans-serif;font-size:14px;line-height:1.5}.layout{min-height:100vh;display:flex}.sidebar{width:var(--sb-w);background:var(--sb-bg);z-index:200;flex-direction:column;transition:transform .25s;display:flex;position:fixed;top:0;bottom:0;left:0;overflow:hidden auto}.sb-logo-row{border-bottom:1px solid var(--sb-border);align-items:center;gap:8px;padding:14px 14px 10px;display:flex}.sb-logo-row img{filter:brightness(0)invert();opacity:.9;height:20px}.sb-logo-app{color:#fff;letter-spacing:-.2px;font-size:13px;font-weight:700}.sb-user-row{border-bottom:1px solid var(--sb-border);align-items:center;gap:8px;padding:8px 12px;display:flex}.sb-dot{background:var(--accent);color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:26px;height:26px;font-size:11px;font-weight:700;display:flex}.sb-user-name{color:var(--sb-text);text-overflow:ellipsis;white-space:nowrap;font-size:12px;font-weight:600;overflow:hidden}.sb-action{background:var(--accent);color:#fff;border-radius:var(--radius-md);cursor:pointer;border:none;justify-content:center;align-items:center;gap:5px;margin:8px 10px 2px;padding:7px 12px;font-family:inherit;font-size:13px;font-weight:600;transition:background .15s;display:flex}.sb-action:hover{background:var(--accent-h)}.sb-nav{flex:1;padding:4px 0}.sb-sep{color:var(--sb-dim);text-transform:uppercase;letter-spacing:.9px;padding:14px 12px 3px;font-size:10px;font-weight:700}.sb-item{width:100%;color:var(--sb-text);cursor:pointer;text-align:left;background:0 0;border:none;border-radius:0;align-items:center;gap:8px;padding:6px 12px;font-family:inherit;font-size:13px;font-weight:500;transition:background .1s,color .1s;display:flex}.sb-item:hover{background:var(--sb-hover);color:#fff}.sb-item.on{background:var(--sb-active);color:#fff;font-weight:600}.sb-icon{opacity:.65;flex-shrink:0;justify-content:center;align-items:center;width:16px;display:flex}.sb-item:hover .sb-icon,.sb-item.on .sb-icon{opacity:1}.sb-sub{width:100%;color:var(--sb-dim);cursor:pointer;text-align:left;white-space:nowrap;text-overflow:ellipsis;background:0 0;border:none;align-items:center;gap:7px;padding:5px 12px 5px 32px;font-family:inherit;font-size:12px;font-weight:400;transition:background .1s,color .1s;display:flex;overflow:hidden}.sb-sub:hover{background:var(--sb-hover);color:var(--sb-text)}.sb-sub.on{color:#fff;background:var(--sb-active);font-weight:600}.sb-footer{border-top:1px solid var(--sb-border);padding:8px 10px}.sb-logout{width:100%;color:var(--sb-dim);cursor:pointer;border-radius:var(--radius-md);background:0 0;border:none;align-items:center;gap:6px;padding:6px 8px;font-family:inherit;font-size:12px;transition:all .1s;display:flex}.sb-logout:hover{background:var(--sb-hover);color:var(--sb-text)}.main-area{margin-left:var(--sb-w);flex-direction:column;flex:1;min-height:100vh;display:flex}.overlay{display:none}.topbar{background:var(--sb-bg);z-index:50;align-items:center;gap:12px;height:46px;padding:0 14px;display:none;position:sticky;top:0}.hamburger{cursor:pointer;color:var(--sb-text);background:0 0;border:none;display:flex}.topbar-title{color:var(--sb-text);font-size:14px;font-weight:600}@media (width<=768px){.sidebar{transform:translate(-100%)}.sidebar.open{transform:translate(0)}.overlay{z-index:100;background:#00000080;display:block;position:fixed;inset:0}.main-area{margin-left:0}.topbar{display:flex}}.project-topbar{background:var(--surface);border-bottom:1px solid var(--border);padding:0 24px}.project-topbar-main{align-items:center;gap:10px;height:52px;display:flex}.breadcrumb{color:var(--text3);align-items:center;gap:6px;font-size:12px;display:flex}.breadcrumb a,.breadcrumb button{cursor:pointer;color:var(--text3);background:0 0;border:none;padding:0;font-size:12px;text-decoration:none}.breadcrumb a:hover,.breadcrumb button:hover{color:var(--accent);text-decoration:underline}.project-name{color:var(--text);align-items:center;gap:8px;font-size:16px;font-weight:700;display:flex}.project-dot{border-radius:2px;flex-shrink:0;width:10px;height:10px}.project-topbar-actions{align-items:center;gap:8px;margin-left:auto;display:flex}.project-tabs{border-top:1px solid var(--border-light);gap:0;display:flex}.project-tab{color:var(--text3);cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;margin-bottom:-1px;padding:8px 14px;font-family:inherit;font-size:13px;font-weight:500;transition:all .12s}.project-tab:hover{color:var(--text)}.project-tab.on{color:var(--accent);border-bottom-color:var(--accent);font-weight:600}.stat-pill{border-radius:3px;align-items:center;gap:4px;padding:3px 8px;font-size:11px;font-weight:600;display:inline-flex}.stat-pill.total{background:var(--bg);color:var(--text3)}.stat-pill.done{background:var(--green-soft);color:var(--green)}.stat-pill.progress{background:var(--accent-soft);color:var(--accent)}.stat-pill.blocked{background:var(--red-soft);color:var(--red)}.filters-bar{background:var(--surface);border-bottom:1px solid var(--border-light);align-items:center;gap:8px;padding:10px 24px;display:flex}.filter-select{border:2px solid var(--border);border-radius:var(--radius-md);background:var(--surface);color:var(--text2);cursor:pointer;outline:none;padding:5px 10px;font-family:inherit;font-size:12px;font-weight:500;transition:border .12s}.filter-select:hover{border-color:#b0b7c3}.filter-select.active{border-color:var(--accent);background:var(--accent-soft);color:var(--accent)}.filter-clear{color:var(--text3);cursor:pointer;border-radius:var(--radius);background:0 0;border:none;padding:4px 6px;font-size:11px}.filter-clear:hover{color:var(--red)}.view-toggle{border:2px solid var(--border);border-radius:var(--radius-md);margin-left:auto;display:flex;overflow:hidden}.view-toggle button{background:var(--surface);cursor:pointer;color:var(--text3);border:none;align-items:center;gap:4px;padding:5px 10px;font-family:inherit;font-size:12px;font-weight:500;transition:all .1s;display:flex}.view-toggle button:not(:first-child){border-left:2px solid var(--border)}.view-toggle button.on{background:var(--bg);color:var(--text);font-weight:600}.view-toggle button:hover:not(.on){background:var(--bg)}.status-badge{border-radius:var(--radius);text-transform:uppercase;letter-spacing:.4px;cursor:pointer;-webkit-user-select:none;user-select:none;white-space:nowrap;align-items:center;padding:2px 7px;font-size:11px;font-weight:700;display:inline-flex}.status-badge.pending{background:var(--bg);color:var(--text3);border:1px solid var(--border)}.status-badge.in-progress{background:var(--accent-soft);color:var(--accent)}.status-badge.done{background:var(--green-soft);color:var(--green)}.status-badge.blocked{background:var(--red-soft);color:var(--red)}.prio-icon{align-items:center;gap:3px;font-size:11px;font-weight:600;display:inline-flex}.prio-icon.high{color:var(--red)}.prio-icon.medium{color:var(--orange)}.prio-icon.low{color:var(--green)}.avatar{color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:24px;height:24px;font-size:10px;font-weight:700;display:flex}.kanban-wrap{align-items:flex-start;gap:12px;min-height:calc(100vh - 160px);padding:16px 24px;display:flex;overflow-x:auto}.kanban-col{background:var(--bg);border-radius:var(--radius-lg);border:1px solid var(--border);flex-shrink:0;width:270px;min-width:270px}.kanban-col-header{border-bottom:1px solid var(--border);align-items:center;gap:8px;padding:10px 12px 8px;display:flex}.kanban-col-title{color:var(--text2);text-transform:uppercase;letter-spacing:.5px;font-size:12px;font-weight:700}.kanban-col-count{background:var(--border);color:var(--text3);border-radius:10px;padding:1px 6px;font-size:11px;font-weight:700}.kanban-col-add{color:var(--text4);cursor:pointer;background:0 0;border:none;align-items:center;margin-left:auto;padding:0 2px;font-size:18px;line-height:1;display:flex}.kanban-col-add:hover{color:var(--accent)}.kanban-col-body{flex-direction:column;gap:6px;min-height:60px;padding:8px;display:flex}.kanban-card{background:var(--surface);border-radius:var(--radius-md);cursor:pointer;box-shadow:var(--shadow);border:2px solid #0000;padding:10px 12px;transition:box-shadow .15s,border .1s}.kanban-card:hover{box-shadow:var(--shadow-md);border-color:var(--accent)}.kanban-card-title{color:var(--text);margin-bottom:8px;font-size:13px;font-weight:500;line-height:1.4}.kanban-card-meta{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.kanban-card-key{color:var(--text4);background:var(--bg);border-radius:var(--radius);padding:1px 5px;font-size:10px;font-weight:600}.kanban-card-del{color:#0000;cursor:pointer;background:0 0;border:none;margin-left:auto;padding:0 1px;font-size:13px;line-height:1;transition:color .1s}.kanban-card:hover .kanban-card-del{color:var(--text4)}.kanban-card-del:hover{color:var(--red)!important}.kanban-col-empty{border:2px dashed var(--border-light);border-radius:var(--radius-md);text-align:center;color:var(--text4);padding:20px;font-size:12px}.progress-bar{background:var(--border);border-radius:2px;height:3px;margin:4px 0 6px;overflow:hidden}.progress-bar-fill{border-radius:2px;height:100%;transition:width .3s}.list-wrap{padding:0 24px 24px}.list-section{margin-bottom:20px}.list-section-header{border-bottom:2px solid var(--border);align-items:center;gap:8px;margin-bottom:2px;padding:10px 0 6px;display:flex}.list-section-title{color:var(--text2);text-transform:uppercase;letter-spacing:.5px;font-size:12px;font-weight:700}.list-section-count{background:var(--bg);color:var(--text3);border:1px solid var(--border);border-radius:10px;padding:1px 6px;font-size:11px;font-weight:700}.list-header{color:var(--text4);text-transform:uppercase;letter-spacing:.4px;grid-template-columns:1fr 90px 80px 100px 90px 28px;gap:8px;padding:6px 8px;font-size:11px;font-weight:700;display:grid}.list-row{border-radius:var(--radius-md);cursor:pointer;grid-template-columns:1fr 90px 80px 100px 90px 28px;align-items:center;gap:8px;padding:7px 8px;transition:background .1s;display:grid}.list-row:hover{background:var(--bg)}.list-row:hover .list-del{opacity:1}.list-title{text-overflow:ellipsis;white-space:nowrap;align-items:center;gap:6px;font-size:13px;font-weight:500;display:flex;overflow:hidden}.list-del{color:var(--text4);cursor:pointer;opacity:0;background:0 0;border:none;padding:2px;font-size:13px;transition:opacity .1s,color .1s}.list-del:hover{color:var(--red)}.scrum-wrap{padding:16px 24px}.sprint-header{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);margin-bottom:12px;padding:14px 18px}.sprint-header-top{align-items:center;gap:10px;margin-bottom:6px;display:flex}.sprint-name{color:var(--text);font-size:15px;font-weight:700}.sprint-badge{text-transform:uppercase;letter-spacing:.5px;border-radius:10px;padding:2px 8px;font-size:10px;font-weight:700;display:inline-flex}.sprint-badge.planning{background:var(--bg);color:var(--text3);border:1px solid var(--border)}.sprint-badge.active{background:var(--green-soft);color:var(--green)}.sprint-badge.completed{background:var(--border);color:var(--text4)}.sprint-goal{color:var(--text3);margin-bottom:8px;font-size:12px}.sprint-meta{color:var(--text3);align-items:center;gap:12px;font-size:12px;display:flex}.sprint-actions{gap:6px;margin-left:auto;display:flex}.sprint-board{gap:12px;padding-bottom:8px;display:flex;overflow-x:auto}.backlog-wrap{margin-top:20px}.backlog-header{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg) var(--radius-lg) 0 0;cursor:pointer;align-items:center;gap:10px;padding:12px 16px;display:flex}.backlog-title{color:var(--text);font-size:13px;font-weight:700}.backlog-body{background:var(--surface);border:1px solid var(--border);border-radius:0 0 var(--radius-lg) var(--radius-lg);border-top:0}.backlog-item{border-bottom:1px solid var(--border-light);cursor:pointer;align-items:center;gap:8px;padding:8px 16px;transition:background .1s;display:flex}.backlog-item:last-child{border-bottom:none}.backlog-item:hover{background:var(--bg)}.backlog-item-title{text-overflow:ellipsis;white-space:nowrap;flex:1;font-size:13px;font-weight:500;overflow:hidden}.backlog-add-sprint{border-top:1px solid var(--border-light);padding:10px 16px}.form-panel{border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);flex-direction:column;gap:10px;padding:16px;display:flex}.form-panel input,.form-panel textarea,.form-panel select{border:2px solid var(--border);border-radius:var(--radius-md);background:var(--surface);color:var(--text);outline:none;width:100%;padding:8px 10px;font-family:inherit;font-size:13px;transition:border .15s}.form-panel input:focus,.form-panel textarea:focus,.form-panel select:focus{border-color:var(--accent)}.form-btns{gap:8px;display:flex}.form-btns .btn-primary,.form-btns .btn-ghost{flex:1}.error{color:var(--red);font-size:12px}.btn-primary{border-radius:var(--radius-md);background:var(--accent);color:#fff;cursor:pointer;border:none;justify-content:center;align-items:center;gap:5px;padding:7px 14px;font-family:inherit;font-size:13px;font-weight:500;transition:background .15s;display:inline-flex}.btn-primary:hover:not(:disabled){background:var(--accent-h)}.btn-primary:disabled{opacity:.5;cursor:default}.btn-ghost{border:2px solid var(--border);border-radius:var(--radius-md);background:var(--surface);color:var(--text2);cursor:pointer;align-items:center;gap:5px;padding:7px 14px;font-family:inherit;font-size:13px;font-weight:500;transition:all .15s;display:inline-flex}.btn-ghost:hover{background:var(--bg);border-color:#b0b7c3}.btn-sm{border-radius:var(--radius);padding:5px 10px;font-size:12px}.btn-sm-accent{border-radius:var(--radius-md);background:var(--accent);color:#fff;cursor:pointer;border:none;align-items:center;gap:4px;padding:6px 12px;font-family:inherit;font-size:13px;font-weight:500;transition:background .15s;display:inline-flex}.btn-sm-accent:hover{background:var(--accent-h)}.btn-danger{border:1px solid var(--red);color:var(--red);border-radius:var(--radius-md);cursor:pointer;background:0 0;padding:5px 10px;font-family:inherit;font-size:12px;font-weight:500;transition:all .15s}.btn-danger:hover{background:var(--red-soft)}.btn-icon{cursor:pointer;color:var(--text4);border-radius:var(--radius);background:0 0;border:none;align-items:center;padding:4px;transition:all .1s;display:flex}.btn-icon:hover{background:var(--bg);color:var(--text2)}.modal-backdrop{z-index:1000;background:#091e4280;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.modal{background:var(--surface);border-radius:var(--radius-lg);width:480px;max-width:100%;max-height:90vh;box-shadow:var(--shadow-lg);padding:24px;overflow-y:auto}.modal-header{justify-content:space-between;align-items:center;margin-bottom:18px;display:flex}.modal-title{color:var(--text);font-size:16px;font-weight:700}.modal-close{cursor:pointer;color:var(--text3);background:0 0;border:none;padding:2px;font-size:20px;line-height:1}.modal-close:hover{color:var(--text)}.center{justify-content:center;align-items:center;min-height:200px;display:flex}.spin{animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.empty-state{text-align:center;color:var(--text3);padding:60px 20px}.empty-state svg{opacity:.3;margin:0 auto 12px;display:block}.empty-state p{font-size:14px}.pill{background:var(--accent-soft);color:var(--accent);border-radius:var(--radius);padding:1px 6px;font-size:10px;font-weight:700;display:inline-flex}.tag{background:var(--bg);color:var(--text3);border:1px solid var(--border);border-radius:var(--radius);padding:1px 6px;font-size:11px;font-weight:500}.divider{background:var(--border);height:1px;margin:8px 0}.login-page{background:var(--sb-bg);justify-content:center;align-items:center;min-height:100vh;padding:20px;display:flex}.login-box{text-align:center;background:var(--surface);border-radius:var(--radius-lg);width:100%;max-width:340px;box-shadow:var(--shadow-lg);padding:32px}.login-logo{width:160px;margin-bottom:12px}.login-sub{color:var(--text3);margin-bottom:28px;font-size:13px}.login-box form{text-align:left;flex-direction:column;gap:10px;display:flex}.login-box input{border:2px solid var(--border);border-radius:var(--radius-md);outline:none;padding:10px 12px;font-family:inherit;font-size:14px}.login-box input:focus{border-color:var(--accent)}.login-box .btn-primary{margin-top:6px;padding:10px}.users-table{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);overflow:hidden}.users-row{border-bottom:1px solid var(--border-light);grid-template-columns:1fr 1fr 70px 36px;align-items:center;gap:12px;padding:10px 16px;display:grid}.users-row:last-child{border-bottom:none}.users-row:hover{background:var(--bg)}.users-header{background:var(--bg);color:var(--text4);text-transform:uppercase;letter-spacing:.4px;font-size:11px;font-weight:700}*{box-sizing:border-box;margin:0;padding:0}body{color:#1a1a1a;-webkit-font-smoothing:antialiased;background:#fff;font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif}
