*,:before,:after{box-sizing:border-box;margin:0;padding:0}:root{--sidebar-bg:#0f172a;--sidebar-border:#ffffff12;--sidebar-text:#94a3b8;--sidebar-active-bg:#22d3ee1f;--sidebar-active:#22d3ee;--sidebar-hover:#ffffff0f;--bg:#dfe5ed;--surface:#fff;--surface2:#f8fafc;--surface3:#f1f5f9;--border:#e2e8f0;--border2:#cbd5e1;--text:#0f172a;--muted:#64748b;--muted2:#94a3b8;--cyan:#0ea5e9;--blue:#3b82f6;--green:#10b981;--amber:#f59e0b;--rose:#f43f5e;--purple:#8b5cf6;--orange:#f97316;--sidebar-w:240px;--card-border:#d3dbe6;--card-shadow:0 1px 1px #0f172a0f, 0 2px 4px #0f172a0f, 0 8px 18px -6px #0f172a24;--card-shadow-hover:0 1px 1px #0f172a0f, 0 4px 8px #0f172a14, 0 14px 28px -8px #0f172a33}html,body{height:100%}body{background:var(--bg);color:var(--text);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:14px;line-height:1.5}a{color:inherit;text-decoration:none}button{cursor:pointer;font-family:inherit}input,textarea,select{background:var(--surface);border:1.5px solid var(--border);color:var(--text);border-radius:8px;outline:none;width:100%;padding:8px 12px;font-family:inherit;font-size:13px;transition:border-color .15s,box-shadow .15s}input:focus,textarea:focus,select:focus{border-color:var(--cyan);box-shadow:0 0 0 3px #0ea5e91f}input::placeholder,textarea::placeholder{color:var(--muted2)}select option{color:var(--text);background:#fff}label{color:var(--muted);margin-bottom:5px;font-size:12px;font-weight:600;display:block}.app-shell{min-height:100vh;display:flex}.sidebar{width:var(--sidebar-w);background:var(--sidebar-bg);border-right:1px solid var(--sidebar-border);z-index:40;flex-direction:column;display:flex;position:fixed;top:0;bottom:0;left:0;overflow-y:auto}.sidebar-brand{border-bottom:1px solid var(--sidebar-border);padding:20px 20px 16px}.sidebar-brand .logo-text{letter-spacing:-.5px;background:linear-gradient(135deg,#22d3ee,#60a5fa);-webkit-text-fill-color:transparent;-webkit-background-clip:text;font-size:19px;font-weight:800}.sidebar-brand .tagline{color:#cbd5e1;margin-top:2px;font-size:11px}.sidebar-nav{flex:1;padding:12px 10px}.nav-section{letter-spacing:.1em;text-transform:uppercase;color:#7c8ba1;padding:10px 10px 6px;font-size:10px;font-weight:700}.nav-item{color:var(--sidebar-text);border-radius:8px;align-items:center;gap:10px;margin-bottom:2px;padding:9px 12px;font-size:13px;font-weight:500;transition:background .15s,color .15s;display:flex}.nav-item:hover{background:var(--sidebar-hover);color:#e2e8f0}.nav-item.active{background:var(--sidebar-active-bg);color:var(--sidebar-active)}.nav-icon{text-align:center;width:20px;font-size:16px}.sidebar-user{border-top:1px solid var(--sidebar-border);align-items:center;gap:10px;padding:14px 16px;display:flex}.user-avatar{color:#fff;background:linear-gradient(135deg,#22d3ee,#3b82f6);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;font-size:13px;font-weight:700;display:flex}.user-info{flex:1;min-width:0}.user-name{color:#e2e8f0;white-space:nowrap;text-overflow:ellipsis;font-size:12px;font-weight:600;overflow:hidden}.user-role{color:#94a3b8;text-transform:capitalize;font-size:11px}.sidebar-user button{color:#94a3b8;background:0 0;border:none;border-radius:6px;padding:4px;transition:color .15s,background .15s}.sidebar-user button:hover{color:#e2e8f0;background:#ffffff0f}.main-content{margin-left:var(--sidebar-w);background:var(--bg);flex:1;min-height:100vh;padding:32px}.page-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:24px;display:flex}.page-title{color:var(--text);font-size:22px;font-weight:800}.page-subtitle{color:var(--muted);margin-top:3px;font-size:13px}.card{background:var(--surface);border:1px solid var(--card-border);box-shadow:var(--card-shadow);border-radius:12px;padding:20px;transition:box-shadow .15s,transform .15s}a.card:hover,button.card:hover{box-shadow:var(--card-shadow-hover);transform:translateY(-1px)}@media (prefers-reduced-motion:reduce){a.card:hover,button.card:hover{transform:none}}.card-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:14px;display:grid}.btn{border:1.5px solid var(--border2);background:var(--surface);color:var(--text);white-space:nowrap;border-radius:8px;align-items:center;gap:6px;width:auto;padding:8px 16px;font-size:13px;font-weight:600;transition:background .15s,border-color .15s,box-shadow .15s;display:inline-flex;box-shadow:0 1px 2px #0000000f}.btn:hover{background:var(--surface3);border-color:var(--muted2)}.btn-primary{background:var(--cyan);border-color:var(--cyan);color:#fff;box-shadow:0 1px 3px #0ea5e94d}.btn-primary:hover{background:#0284c7;border-color:#0284c7}.btn-danger{color:var(--rose);background:#fff1f2;border-color:#fecdd3}.btn-danger:hover{background:#ffe4e6}.btn-sm{padding:5px 10px;font-size:12px}.badge{border-radius:99px;align-items:center;gap:4px;padding:2px 8px;font-size:11px;font-weight:600;display:inline-flex}.badge-green{color:#15803d;background:#dcfce7}.badge-amber{color:#a16207;background:#fef9c3}.badge-rose{color:#be123c;background:#ffe4e6}.badge-blue{color:#1d4ed8;background:#dbeafe}.badge-muted{color:#64748b;background:#f1f5f9}.badge-purple{color:#6d28d9;background:#ede9fe}.table-wrap{border:1px solid var(--card-border);box-shadow:var(--card-shadow);border-radius:10px;overflow-x:auto}table{border-collapse:collapse;background:var(--surface);width:100%}thead tr{border-bottom:1px solid var(--border)}th{text-transform:uppercase;letter-spacing:.06em;color:var(--muted);text-align:left;background:var(--surface2);padding:10px 14px;font-size:11px;font-weight:700}td{border-bottom:1px solid var(--border);color:var(--text);padding:12px 14px;font-size:13px}tbody tr:last-child td{border-bottom:none}tbody tr:hover td{background:var(--surface2)}.form-group{margin-bottom:16px}.form-row{grid-template-columns:1fr 1fr;gap:14px;display:grid}.form-actions{gap:10px;margin-top:20px;display:flex}.status-active{color:var(--green)}.status-planning{color:var(--amber)}.status-archived{color:var(--muted)}.status-pending{color:var(--amber)}.status-done{color:var(--green)}.status-blocked{color:var(--rose)}.empty{text-align:center;color:var(--muted);padding:60px 20px}.empty-icon{margin-bottom:12px;font-size:40px}.empty-title{color:var(--text);margin-bottom:6px;font-size:16px;font-weight:600}.progress-bar{background:var(--surface3);border-radius:99px;height:6px;overflow:hidden}.progress-fill{background:linear-gradient(90deg, var(--cyan), var(--blue));border-radius:99px;height:100%;transition:width .3s}.mobile-topbar,.sidebar-backdrop{display:none}@media (max-width:768px),(max-height:500px){.mobile-topbar{z-index:30;background:var(--sidebar-bg);border-bottom:1px solid var(--sidebar-border);align-items:center;gap:12px;height:52px;padding:0 12px;display:flex;position:fixed;top:0;left:0;right:0}.mobile-topbar .logo-text{letter-spacing:-.5px;background:linear-gradient(135deg,#22d3ee,#60a5fa);-webkit-text-fill-color:transparent;-webkit-background-clip:text;font-size:18px;font-weight:800}.menu-btn{color:#e2e8f0;background:0 0;border:none;border-radius:8px;width:40px;height:40px;font-size:22px}.sidebar{z-index:50;width:270px;transition:transform .2s;transform:translate(-100%)}.sidebar.open{transform:translate(0);box-shadow:4px 0 24px #00000059}.sidebar-backdrop{z-index:45;background:#00000073;display:block;position:fixed;inset:0}.nav-item{padding:12px;font-size:15px}.main-content{min-width:0;margin-left:0;padding:68px 14px 24px}.page-title{font-size:19px}.card{padding:16px}input,textarea,select{max-width:100%;font-size:16px}.form-row{grid-template-columns:1fr;gap:0}.form-actions{flex-wrap:wrap}.stack-mobile{grid-template-columns:1fr!important}.tabs-scroll{-webkit-overflow-scrolling:touch;overflow-x:auto}.tabs-scroll>*{flex-shrink:0}.team-detail{z-index:60;overflow-y:auto;border:none!important;border-radius:0!important;position:fixed!important;inset:0!important}}
