@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@600;700;800&display=swap');
:root{--bg-main:#f5f7fb;--surface:#fff;--text:#20283a;--muted:#818b9d;--border:#e6eaf1;--accent:#6558e8;--accent-soft:#eeecff;--green:#198b68;--green-soft:#e5f7ef;--orange:#c77727;--orange-soft:#fff2e3;--blue:#3478dc;--blue-soft:#eaf2ff;--radius:15px;--shadow:0 8px 24px #1c24340b}*{box-sizing:border-box}body{margin:0;background:var(--bg-main);color:var(--text);font:14px 'DM Sans',Arial,sans-serif}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}.shell{display:flex;min-height:100vh}.sidebar{width:245px;flex-shrink:0;background:#fff;border-right:1px solid var(--border);padding:26px 16px;display:flex;flex-direction:column}.brand{display:flex;align-items:center;gap:10px;font:800 23px Manrope,sans-serif;padding:0 12px 38px}.logo{background:var(--accent);color:white;width:34px;height:34px;display:grid;place-items:center;border-radius:11px}.nav-label,header small{font-size:10px;letter-spacing:1.5px;color:#9aa3b2;font-weight:700}.nav-label{padding:0 12px}nav{display:grid;gap:6px}nav a,.logout{padding:12px;border-radius:10px;color:#737d8f;font-weight:600;display:flex;gap:12px;align-items:center}nav a.active,nav a:hover{background:var(--accent-soft);color:var(--accent)}.side-bottom{margin-top:auto;border-top:1px solid var(--border);padding-top:16px}.user{display:flex;align-items:center;gap:9px;padding:7px 5px 15px}.user img{width:37px;height:37px;border-radius:50%}.user b,.user small{display:block;font-size:11px}.user small{color:var(--muted);margin-top:4px}.logout{font-size:12px}main{flex:1;min-width:0;padding:0 34px;display:flex;flex-direction:column}header{height:110px;border-bottom:1px solid var(--border);display:flex;justify-content:space-between;align-items:center}header h1{font:800 26px Manrope,sans-serif;margin:6px 0}.top-right{display:flex;align-items:center;gap:10px;color:var(--muted);font-size:12px}.top-right i{width:8px;height:8px;border-radius:50%;background:#31b784}.top-right img{width:35px;height:35px;border-radius:50%;margin-left:8px}#content{padding:26px 0 35px;flex:1}footer{padding:17px 0;color:#9aa3b2;font-size:11px}.heading{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:21px}.heading h2{font:700 18px Manrope,sans-serif;margin:0 0 5px}.heading p{margin:0;color:var(--muted);font-size:12px}.btn{border:0;border-radius:9px;padding:11px 15px;font-weight:700;cursor:pointer}.primary{background:var(--accent);color:white}.light{background:white;border:1px solid var(--border);color:#687389}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:13px;margin-bottom:22px}.stat,.panel,.employee,.event,.profile{background:#fff;border:1px solid var(--border);border-radius:14px;padding:17px;box-shadow:var(--shadow)}.stat{display:flex;justify-content:space-between;align-items:center}.stat small{display:block;color:var(--muted);margin-bottom:7px}.stat strong{font:800 25px Manrope}.stat em{font-style:normal;color:var(--accent);background:var(--accent-soft);padding:10px;border-radius:10px}.board{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px;align-items:start}.column{background:#eef1f7;border:1px solid #e7eaf1;border-radius:14px;padding:12px;min-height:350px}.colhead{display:flex;justify-content:space-between;align-items:center;padding:5px 3px 14px;font-weight:800;font-size:12px}.dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--blue);margin-right:8px}.column[data-status=progress] .dot{background:#e9a044}.column[data-status=review] .dot{background:#28a77c}.count{background:#fff;color:var(--muted);padding:4px 8px;border-radius:7px}.task{background:#fff;border:1px solid #e8ebf2;border-radius:11px;padding:14px;margin-bottom:10px;box-shadow:0 3px 8px #25345408}.task h3{font-size:13px;line-height:1.5;margin:0 0 8px}.desc{font-size:11px;line-height:1.5;color:var(--muted);margin:0 0 10px}.tags,.stack{display:flex;gap:5px;flex-wrap:wrap;margin:10px 0}.tag,.chip{font-size:10px;padding:5px 7px;border-radius:6px;background:#f1f3f8;color:#687389;overflow-wrap:anywhere}.branch{background:var(--blue-soft);color:#356fc2}.pr{background:var(--green-soft);color:var(--green)}.assignee{display:flex;align-items:center;gap:7px;border-top:1px solid #f0f2f6;padding-top:10px}.assignee img{width:27px;height:27px;border-radius:50%}.assignee b,.assignee small{display:block;font-size:10px}.assignee small{font-size:9px;color:var(--muted);margin-top:3px}.actions{display:flex;gap:5px;margin-top:10px}.actions button{border:1px solid var(--border);background:white;border-radius:6px;padding:5px 9px;cursor:pointer;color:#687389}.actions button:disabled{opacity:.3;cursor:default}.empty{color:#9aa3b2;text-align:center;padding:28px 5px;font-size:11px}.column.over{outline:2px dashed var(--accent)}.team{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.employee .person{display:flex;align-items:center;gap:12px;margin-bottom:15px}.person img{width:52px;height:52px;border-radius:14px}.person h3{font-size:13px;margin:0 0 5px}.person p{font-size:11px;color:var(--muted);margin:0}.badge{display:inline-block;background:var(--green-soft);color:var(--green);font-size:10px;padding:6px 8px;border-radius:7px;margin-bottom:8px}.badge.ai{background:var(--accent-soft);color:var(--accent)}.capacity{display:flex;justify-content:space-between;font-size:11px;margin:16px 0 8px}.capacity span{color:var(--muted)}.track{height:7px;border-radius:9px;background:#edf0f6;overflow:hidden}.fill{height:100%;background:var(--accent)}.note{font-size:10px;color:var(--muted);margin-top:7px}.events{display:grid;gap:11px}.event{display:flex;gap:13px;align-items:flex-start}.event-icon{width:38px;height:38px;flex-shrink:0;display:grid;place-items:center;background:var(--blue-soft);color:var(--blue);border-radius:10px}.event-icon.pull_request{background:var(--green-soft);color:var(--green)}.event-icon.pull_request_review{background:var(--accent-soft);color:var(--accent)}.event-body{flex:1}.event h3{font-size:12px;margin:2px 0 6px}.event p{color:var(--muted);font-size:12px;line-height:1.5;margin:0}.event time{font-size:10px;color:#9aa3b2;white-space:nowrap}.profile-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:15px}.profile-main{display:flex;align-items:center;gap:18px;border-bottom:1px solid var(--border);padding-bottom:20px;margin-bottom:18px}.profile-main img{width:80px;height:80px;border-radius:20px}.profile-main h2{font:800 20px Manrope;margin:0 0 7px}.profile-main p{color:var(--muted);margin:0 0 8px}.details{display:grid;grid-template-columns:1fr 1fr;gap:10px}.detail{background:#f8f9fc;padding:13px;border-radius:9px}.detail small{display:block;color:var(--muted);margin-bottom:7px}.pstats{display:flex;gap:10px;margin-top:15px}.pstats div{background:#f8f9fc;padding:13px;border-radius:9px;flex:1}.pstats strong{font:800 22px Manrope;display:block}.pstats span{font-size:10px;color:var(--muted)}.login-wrap{min-height:65vh;display:grid;place-items:center}.login{width:min(100%,400px);background:#fff;border:1px solid var(--border);padding:30px;border-radius:17px;box-shadow:var(--shadow)}.login h2{font:800 22px Manrope;margin:0 0 8px}.login p{color:var(--muted);font-size:12px;margin-bottom:22px}.field{display:grid;gap:7px;margin-bottom:14px}.field label{font-size:11px;font-weight:700}.field input,.field textarea,.field select{width:100%;border:1px solid var(--border);border-radius:8px;padding:11px;outline:none}.field input:focus,.field textarea:focus,.field select:focus{border-color:#a49bf7}.login .btn{width:100%}.loginlinks{display:flex;justify-content:space-between;margin-top:16px;color:var(--accent);font-size:11px}.modal-bg{position:fixed;inset:0;background:#17203366;display:grid;place-items:center;padding:16px;z-index:5}.modal{background:#fff;border-radius:15px;padding:23px;width:min(100%,510px);max-height:90vh;overflow:auto}.modalhead{display:flex;justify-content:space-between;align-items:center;margin-bottom:17px}.modalhead h2{font:800 18px Manrope;margin:0}.modalfoot{display:flex;justify-content:flex-end;gap:8px;margin-top:17px}.toast{position:fixed;right:22px;bottom:22px;background:#20283a;color:white;padding:12px 16px;border-radius:9px;opacity:0;transform:translateY(8px);transition:.2s;pointer-events:none}.toast.show{opacity:1;transform:none}@media(max-width:1000px){.sidebar{width:210px}main{padding:0 22px}.team{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:760px){.sidebar{width:60px;padding:20px 7px}.brand{padding:0 6px 30px;font-size:0}.logo{font-size:20px}.nav-label,nav a span,.user div,.logout{display:none}.sidebar nav a{justify-content:center;font-size:0;padding:13px 0}.side-bottom .user{justify-content:center}.board{grid-template-columns:1fr}.column{min-height:150px}.team,.profile-grid{grid-template-columns:1fr}main{padding:0 13px}header{height:88px}header h1{font-size:21px}.top-right{font-size:0}.top-right i{font-size:0}.stats{gap:7px}.stat{padding:10px}.stat em{display:none}.stat strong{font-size:21px}}@media(max-width:430px){.stats{grid-template-columns:1fr}.heading{align-items:flex-start;flex-direction:column}.event{flex-wrap:wrap}.profile-main{align-items:flex-start}}

/* Stitch kanban visual layer */
:root{--bg-main:#efe6e4;--surface:#fff8f7;--surface-white:#fff;--text:#1e1b1b;--muted:#8c7379;--border:#e5d8d5;--accent:#280e17;--accent-soft:#f5dce2;--rose-card:#faf1f3;--rose-border:#ebdcd5;--green:#3b7a57;--green-soft:#e5ede8;--radius:12px}
body{background:var(--bg-main);font-family:'Be Vietnam Pro',system-ui,sans-serif;color:var(--text);min-height:100vh}.topnav{height:53px;background:#fff;border-bottom:1px solid #e5d8d5;display:flex;align-items:center;justify-content:space-between;padding:0 28px;position:sticky;top:0;z-index:20;box-shadow:0 1px 2px #280e1708}.top-left{display:flex;align-items:center;gap:15px}.menu-toggle{border:0;background:transparent;font-size:18px;cursor:pointer;color:#51484a;padding:6px}.brand{font:600 14px 'Be Vietnam Pro',sans-serif;color:#1e1b1b}.top-user{display:flex;align-items:center;gap:9px;font-size:11px;font-weight:500}.top-initials{width:24px;height:24px;border-radius:50%;background:#f5efe6;border:1px solid #e5ded4;display:grid;place-items:center;font-size:10px;color:#44372e}.nav-menu{display:none;position:absolute;left:28px;top:48px;background:white;border:1px solid var(--border);border-radius:10px;padding:8px;box-shadow:0 10px 30px #280e1718;min-width:190px}.nav-menu.open{display:grid}.nav-menu a{font-size:12px;padding:10px 12px;border-radius:7px;color:#4f4446}.nav-menu a:hover{background:#faf2f1;color:#280e17}.main-wrap{max-width:1320px;margin:0 auto;padding:24px 32px 20px;min-height:calc(100vh - 53px);display:flex;flex-direction:column}.page-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px}.page-top h1{font:600 22px 'Be Vietnam Pro',sans-serif;margin:5px 0 0;letter-spacing:-.5px}.eyebrow{font-size:9px;letter-spacing:1.4px;color:#9a8589;font-weight:700}.project-chip{font-size:10px;color:#6c5a5e;display:flex;align-items:center;gap:7px}.project-chip i{width:7px;height:7px;border-radius:50%;background:#3b7a57}.page-content{padding:0}.quickbar{display:flex;gap:16px;align-items:center;margin-bottom:24px}.quick-form{display:flex;align-items:center;gap:8px;flex:1;min-width:0;background:white;border:1px solid #e0d8d8;border-radius:8px;padding:5px;box-shadow:0 1px 3px #280e170c}.quick-form .plus{padding-left:9px;color:#8c7e80;font-size:17px}.quick-form input,.search-box input{border:0;outline:none;background:transparent;width:100%;font:400 11px 'Be Vietnam Pro',sans-serif;color:#1e1b1b;min-width:0}.quick-form input:focus,.search-box input:focus{box-shadow:none}.quick-form button{white-space:nowrap;background:#280e17;color:white;border:0;border-radius:5px;padding:9px 15px;font-size:11px;font-weight:600;cursor:pointer}.quick-form button:hover{background:#3d1624}.search-box{width:288px;display:flex;align-items:center;gap:8px;padding:10px 12px;background:#fff;border:1px solid #e0d8d8;border-radius:8px;box-shadow:0 1px 3px #280e170c}.search-box span{font-size:14px}.board{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;align-items:stretch}.column{background:#fff;border:1px solid #f0e6e4;border-radius:16px;padding:20px;min-height:580px;box-shadow:0 1px 3px #280e1708;display:flex;flex-direction:column}.colhead{display:flex;justify-content:space-between;align-items:center;padding:0 0 12px;margin-bottom:10px;border-bottom:1px solid #e5e7eb;color:#280e17;font-size:11px;letter-spacing:.7px;font-weight:700}.colhead .head-left{display:flex;align-items:center;gap:8px}.dot{width:10px;height:10px;border-radius:50%;background:#b19aa0;margin:0}.column[data-status=progress] .dot{background:#79525c}.column[data-status=review] .dot{background:#3b7a57}.count{font-size:10px;font-weight:600;background:#ebdcd5;color:#4a343b;padding:4px 8px;border-radius:99px}.column-options{font-size:18px;line-height:1;border:0;background:transparent;cursor:pointer}.column-cards{flex:1;min-height:150px}.task{background:#faf1f3;border:1px solid #ebdcd5;border-radius:8px;padding:13px 14px;margin-bottom:10px;box-shadow:0 1px 2px #280e1708;cursor:grab}.task:active{cursor:grabbing}.task h3{font:600 11px/1.5 'Be Vietnam Pro',sans-serif;color:#261c1e;margin:0 0 8px}.task-id{font:400 9px 'Domine',serif;color:#8c7379;margin-bottom:9px}.desc{font:400 10px/1.5 'Domine',serif;color:#6c5a5e;margin:0 0 9px}.tags{display:flex;gap:5px;flex-wrap:wrap;margin:0 0 12px}.tag,.chip{font:500 9px 'Be Vietnam Pro',sans-serif;padding:4px 7px;border-radius:4px;background:#f0e6e8;color:#493339}.tag.branch{background:#e5ede8;color:#234d3b}.tag.pr{background:#e5ede8;color:#234d3b}.task-bottom{display:flex;align-items:center;justify-content:space-between;padding-top:8px;border-top:1px solid #ebdcd5;color:#79525c;font-size:10px}.task-date{display:flex;align-items:center;gap:5px}.task-end{display:flex;align-items:center;gap:9px}.task-count{color:#8c7379;font-size:10px}.avatar-mini{width:21px;height:21px;border-radius:50%;display:grid;place-items:center;font:500 9px 'Be Vietnam Pro',sans-serif;background:#f5dce2;color:#502732;border:1px solid #e2c0c8;flex-shrink:0}.task-actions{display:flex;gap:4px;margin-top:9px}.task-actions button{border:1px solid #e5d8d5;background:#fff9f9;color:#79525c;border-radius:5px;padding:4px 8px;font-size:10px;cursor:pointer}.task-actions button:disabled{opacity:.35;cursor:default}.add-column-task{margin-top:10px;width:100%;border:1px dashed #d8c4bc;background:#fff;color:#5a3c44;border-radius:7px;padding:8px;font-size:10px;font-weight:500;cursor:pointer}.add-column-task:hover{background:#fff8f7}.column.over{outline:2px dashed #946c77;outline-offset:-5px}.stats{display:none}.heading{margin-bottom:16px}.heading h2{font:600 17px 'Be Vietnam Pro',sans-serif}.heading p{font:400 12px 'Domine',serif;color:#8c7379}.btn{font-family:'Be Vietnam Pro',sans-serif}.employee,.panel,.event,.profile{border-radius:12px;border-color:#ebdcd5;box-shadow:0 1px 3px #280e1708}.employee{background:#fff}.person h3{font-family:'Be Vietnam Pro',sans-serif}.event p,.profile p{font-family:'Domine',serif}.login{border-radius:12px}.modal{border-radius:12px}.toast{background:#280e17;font-family:'Be Vietnam Pro',sans-serif;font-size:11px}
@media(max-width:900px){.main-wrap{padding:20px 18px}.board{gap:12px}.column{padding:13px;min-height:500px}.search-box{width:230px}}
@media(max-width:700px){.topnav{padding:0 14px}.main-wrap{padding:18px 12px}.page-top h1{font-size:19px}.project-chip{display:none}.quickbar{flex-direction:column;align-items:stretch;gap:9px}.search-box{width:100%}.board{grid-template-columns:1fr;gap:14px}.column{min-height:260px;padding:15px}.top-user span:last-child{display:none}.task h3{font-size:12px}}

.workspace-project { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; margin-bottom: 24px; }
.workspace-project select { padding: 10px; max-width: 100%; }
[hidden] { display: none !important; }
