:root{color-scheme:light;--ink:#202536;--muted:#626a7d;--line:#e5e8ef;--paper:#f7f8fb;--red:#cf2940;--dark:#171b29}*{box-sizing:border-box}body{margin:0;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:14px;color:var(--ink);background:var(--paper)}button,input,select,textarea{font:inherit}button{color:inherit;cursor:pointer}button:disabled{cursor:wait;opacity:.55}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid #446df5;outline-offset:3px}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}a{color:inherit}.shell{min-height:100vh;display:grid;grid-template-columns:230px minmax(0,1fr)}.sidebar{position:sticky;top:0;height:100dvh;padding:24px 16px 15px;background:var(--dark);color:#cdd1df;display:flex;flex-direction:column;gap:30px;z-index:10}.brand{display:flex;align-items:center;gap:11px;text-align:left;padding:0 5px;border:0;background:none;color:#fff}.logo{display:grid;place-items:center;position:relative;width:43px;height:43px;border-radius:11px;background:#e53648;letter-spacing:-.07em;font-weight:900;font-size:19px;padding-right:3px;flex:none}.logo span{position:absolute;bottom:9px;right:7px;color:#ffc1c9}.brand strong,.profile strong{display:block;font-size:14px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.brand small,.profile small{display:block;margin-top:4px;color:#aeb5c8;font-size:11px}.side-section{display:flex;flex-direction:column;gap:4px;min-height:0}.side-heading{display:flex;align-items:center;justify-content:space-between}.side-label{font-size:10px;font-weight:800;letter-spacing:.12em;color:#aeb5c8;padding:0 10px;margin-bottom:5px}.side-button{background:none;border:0;text-align:left;display:flex;align-items:center;gap:10px;padding:10px;border-radius:8px;min-height:39px;color:#d3d7e4;width:100%;font-size:13px;flex:none}.side-button svg{flex:none}.side-button:hover,.side-button.active{background:#292e40;color:#fff}.side-button.active{box-shadow:inset 2px 0 #ff6375;font-weight:700}.side-add,.icon{display:inline-grid;place-items:center;border:0;border-radius:8px;background:transparent;padding:6px;line-height:1;color:inherit;flex:none}.side-add:hover{background:#292e40;color:#fff}.projects{overflow:auto;flex:1}.side-empty{margin:7px 10px;font-size:12px}.project-dot,.stage-dot{border-radius:50%;width:8px;height:8px;flex:none}.project-dot{background:#9aaafa;margin-left:4px}.dot-1{background:#ee939f}.dot-2{background:#55cdb2}.dot-3{background:#edbd68}.truncate{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.side-foot{margin-top:auto}.profile{margin-top:12px;border-top:1px solid #313647;padding:15px 6px 1px;display:flex;gap:9px;align-items:center}.profile>span:last-child{min-width:0}.profile strong{color:#f5f6ff;font-size:12px}.avatar{display:inline-grid;place-items:center;border-radius:50%;font-size:11px;font-weight:800;flex:none}.profile-avatar{width:34px;height:34px;background:#343d54;color:#fff}.topbar{height:63px;background:#fff;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;padding:0 30px}.crumb{display:flex;align-items:center;gap:10px;color:var(--muted);min-width:0;font-size:13px}.crumb strong{color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.crumb>span{white-space:nowrap}.icon:hover{background:#ecedf3}.refresh{color:var(--muted)}.mobile-menu,.nav-backdrop{display:none}.workspace{padding:28px 30px 24px;max-width:1700px;margin:auto}.intro{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin-bottom:22px}.intro>div:first-child{min-width:0}.eyebrow{font-size:10px;font-weight:850;letter-spacing:.16em;color:#a72338;display:flex;align-items:center;gap:7px}.eyebrow span{width:14px;height:2px;background:#e53648;border-radius:4px}h1{font-size:clamp(26px,3vw,38px);line-height:1.12;letter-spacing:-.045em;margin:8px 0 7px;overflow-wrap:anywhere}.intro p{margin:0;color:var(--muted);line-height:1.5}.intro-actions{display:flex;gap:8px;flex:none}.button{border:1px solid transparent;display:inline-flex;justify-content:center;align-items:center;gap:7px;min-height:40px;padding:8px 13px;border-radius:8px;font-weight:700;font-size:13px;text-decoration:none;white-space:nowrap}.primary{background:var(--red);color:#fff;box-shadow:0 2px 4px #ad22351c}.primary:hover{background:#ac1d34}.secondary{border-color:var(--line);background:#fff}.secondary:hover{background:#eef0f7}.banner{display:flex;justify-content:space-between;align-items:center;gap:10px;margin:0 0 17px;padding:10px 13px;border-radius:8px;border:1px solid #eadce0;color:#794451;background:#fdf3f5;font-size:12px}.banner button,.workspace-foot button{display:inline-flex;gap:6px;align-items:center;background:none;border:0;color:#a72338;padding:2px 0;font-size:12px;font-weight:750;text-align:left}.banner button:hover,.workspace-foot button:hover{text-decoration:underline}.banner.error,.form-error{color:#a41c34}.overview{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:13px;margin-bottom:23px}.stat{background:#fff;border:1px solid var(--line);border-radius:11px;padding:14px;min-height:77px;display:flex;align-items:center;gap:11px}.stat-icon{width:35px;height:35px;flex:none;display:grid;place-items:center;border-radius:9px}.neutral{background:#eeeef5;color:#646a81}.blue{background:#eaf1ff;color:#2960c0}.amber{background:#fff3dc;color:#986213}.green{background:#e4f5ee;color:#197553}.stat div>span{display:block;font-size:11px;color:var(--muted);font-weight:650}.stat strong{display:block;font-size:23px;line-height:1.13;letter-spacing:-.04em;margin-top:3px}.stat small{font-size:12px;color:#197553;letter-spacing:0;white-space:nowrap}.progress-stat{flex:1}.progress{height:3px;border-radius:10px;background:#e5eee9;margin-top:4px;max-width:76px;overflow:hidden}.progress span{height:100%;background:#27916c}.toolbar{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px}.tabs{display:inline-flex;gap:3px;padding:3px;background:#ebedf3;border-radius:8px;flex:none}.tabs button{border:0;background:transparent;display:flex;align-items:center;gap:6px;padding:7px 9px;border-radius:6px;color:var(--muted);font-weight:700;font-size:12px}.tabs button.on{background:#fff;color:var(--ink);box-shadow:0 1px 3px #101c3820}.filters{display:flex;gap:8px;min-width:0}.control{min-height:34px;display:flex;align-items:center;gap:6px;padding:0 8px;border:1px solid var(--line);border-radius:7px;background:#fff;color:var(--muted);min-width:0}.control svg{flex:none;pointer-events:none}.control input,.control select{border:0;background:transparent;color:var(--ink);min-width:0;font-size:12px}.control input{width:120px;max-width:100%;padding:7px 0}.control select{appearance:none;cursor:pointer;width:100%;max-width:135px;padding:7px 0}.kanban{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;align-items:start}.lane{min-height:255px;padding:9px;border:1px solid #e8eaf2;border-radius:11px;background:#eff1f6;transition:border-color .12s,background .12s}.lane.drop{border-color:#5774d2;background:#e5ecfe}.lane-heading{display:flex;align-items:center;gap:7px;min-height:30px;margin-bottom:8px;padding:0 1px}.stage-dot{background:var(--stage);width:7px;height:7px}.lane h2{font-size:12px;margin:0}.count{font-size:10px;font-weight:750;color:#555e73;background:#e1e5ee;border-radius:20px;min-width:19px;padding:2px 5px;text-align:center}.lane-add{margin-left:auto;color:var(--muted);padding:3px}.task{border-radius:9px;border:1px solid #e4e7ef;background:#fff;padding:11px;margin-bottom:8px;box-shadow:0 2px 2px #17264705;min-width:0}.task[draggable=true]{cursor:grab}.task:hover{border-color:#cdd3e1}.task.dragging{opacity:.48}.task-top,.task-bottom{display:flex;align-items:center;justify-content:space-between;gap:5px;min-width:0}.tag{font-size:10px;font-weight:700;color:#4a5473;background:#eef0f8;padding:3px 5px;border-radius:4px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.priority{font-size:10px;display:inline-flex;align-items:center;gap:3px;white-space:nowrap;font-weight:750}.priority.high{color:#ad2439}.priority.normal{color:#8a5910}.priority.low{color:#3d6689}.task h3,.task-title{font-size:13px;font-weight:750;line-height:1.36;letter-spacing:-.012em;overflow-wrap:anywhere}.task h3,.task .task-title{margin:10px 0 12px;min-height:35px}.task-title{display:block;text-align:left;background:none;border:0;padding:0}.task-title:hover{color:var(--red);text-decoration:underline}.person,.date{display:inline-flex;align-items:center;gap:5px;color:var(--muted);font-size:10px;white-space:nowrap;min-width:0}.person>span:last-child{overflow:hidden;text-overflow:ellipsis}.mini{width:22px;height:22px;color:#354368;font-size:9px}.date{flex:none}.lane-new{border:0;border-radius:6px;background:transparent;color:var(--muted);padding:7px 5px;display:flex;align-items:center;gap:5px;width:100%;font-size:12px}.lane-new:hover{background:#e3e7f1;color:var(--ink)}.lane-empty,.empty-board{text-align:center;color:var(--muted);padding:25px 5px;font-size:12px}.workspace-foot{color:var(--muted);font-size:11px;padding:12px 2px;display:flex;justify-content:space-between;gap:8px}.table-wrap{overflow:auto;border-radius:10px;border:1px solid var(--line);background:#fff}table{border-collapse:collapse;width:100%;min-width:640px}td,th{text-align:left;padding:11px;border-bottom:1px solid var(--line);font-size:12px}th{background:#eff1f6;color:#4c5469;white-space:nowrap}tr:last-child td{border-bottom:0}dialog{width:min(94vw,510px);max-height:92dvh;overflow:auto;padding:21px;border:1px solid var(--line);border-radius:14px;color:var(--ink);box-shadow:0 20px 65px #10182f38}dialog::backdrop{background:#151b31a0}.modal-head{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:17px}.modal-head h2{margin:5px 0 0;letter-spacing:-.035em;font-size:24px}form,form label{display:grid;gap:7px}form{gap:13px}form label{font-size:12px;font-weight:700;min-width:0}form input,form select,form textarea{width:100%;min-width:0;background:#fff;border:1px solid #d8dde8;border-radius:7px;padding:8px 9px;color:var(--ink);font-weight:450;font-size:14px}form textarea{resize:vertical}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px}.modal-actions{display:flex;gap:7px;align-items:center;justify-content:flex-end;margin-top:6px}.remove{border:0;background:none;color:#a41c34;padding:5px 0;margin-right:auto;text-align:left;font-size:12px}.remove:hover{text-decoration:underline}.help{line-height:1.55;color:var(--muted)}.toast{position:fixed;bottom:19px;right:20px;background:#252a3c;color:#fff;padding:11px 15px;border-radius:8px;z-index:20;box-shadow:0 4px 20px #10182f30}.spin{animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}@media(max-width:1100px){.shell{grid-template-columns:190px minmax(0,1fr)}.workspace,.topbar{padding-left:20px;padding-right:20px}.stat{padding:10px;gap:7px}.kanban{grid-template-columns:repeat(4,minmax(166px,1fr));overflow:auto;padding-bottom:4px}}@media(max-width:850px){.shell{display:block}.sidebar{display:none;position:fixed;left:0;width:230px}.sidebar.is-open,.mobile-menu{display:flex}.nav-backdrop{display:block;position:fixed;inset:0;border:0;background:#151b3180;z-index:9}.mobile-menu{padding:3px}.topbar{height:51px}.workspace{padding-top:21px}}@media(max-width:580px){.workspace,.topbar{padding-left:13px;padding-right:13px}.intro{align-items:flex-start;flex-direction:column;margin-bottom:15px}.intro p{font-size:13px}.overview{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;margin-bottom:14px}.stat{min-height:58px}.stat strong{font-size:20px}.toolbar{align-items:flex-start;flex-direction:column;gap:8px}.filters{width:100%}.search{flex:1}.demo-detail{display:none}.kanban{grid-template-columns:repeat(4,minmax(185px,1fr))}.banner{gap:6px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}}.profile .logout{margin-left:auto;color:#cdd1df}.profile .logout:hover{background:#292e40;color:#fff}.profile form{margin-left:auto;flex:none}.created-by{color:var(--muted)}.login-shell{min-height:100dvh;display:grid;place-items:center;padding:20px}.login-card{width:min(100%,440px);padding:32px;border:1px solid var(--line);border-radius:15px;background:#fff;box-shadow:0 12px 35px #1c234011}.login-card .logo{color:#fff;margin-bottom:22px}.login-card p{color:var(--muted);line-height:1.55;margin:12px 0 20px}.login-card .banner{margin-top:15px}
