:root{--navy:#131a35;--navy-light:#1c2547;--accent:#4f63e0;--accent-soft:#eef0fd;--bg:#f4f5fa;--card:#fff;--text:#1c2130;--text-muted:#7c8194;--border:#e8e9f0;--danger:#e0544f;--success:#24a97f;--warning:#e0a84f;font-family:Inter,Segoe UI,system-ui,-apple-system,sans-serif}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{background:var(--bg);color:var(--text)}.app-shell{min-height:100vh;display:flex}.sidebar{background:var(--navy);color:#cfd3e6;flex-direction:column;flex-shrink:0;width:250px;display:flex}.sidebar-header{border-bottom:1px solid #ffffff14;padding:20px 22px 14px}.sidebar-header .brand{letter-spacing:.4px;color:#fff;font-size:15px;font-weight:700}.sidebar-header .sub{color:#7d84a8;margin-top:2px;font-size:11px}.sidebar-nav{flex:1;padding:10px 0;overflow-y:auto}.nav-group-label{text-transform:uppercase;letter-spacing:.6px;color:#6b7194;padding:10px 22px 6px;font-size:11px}.nav-link{color:#cfd3e6;cursor:pointer;text-align:left;background:0 0;border:none;border-left:3px solid #0000;align-items:center;gap:10px;width:100%;padding:10px 22px;font-size:13.5px;text-decoration:none;display:flex}.nav-link:hover{background:#ffffff0d}.nav-link.active{background:var(--navy-light);border-left-color:var(--accent);color:#fff}.main{flex-direction:column;flex:1;min-width:0;display:flex}.topbar{border-bottom:1px solid var(--border);background:#fff;justify-content:space-between;align-items:center;height:60px;padding:0 24px;display:flex}.topbar .context-pill{background:var(--accent-soft);color:var(--accent);border-radius:20px;padding:6px 14px;font-size:12.5px;font-weight:600}.topbar-right{align-items:center;gap:14px;display:flex}.avatar{background:var(--accent);color:#fff;cursor:pointer;border:none;border-radius:50%;justify-content:center;align-items:center;width:34px;height:34px;font-size:12.5px;font-weight:700;display:flex}.content{padding:24px;overflow-y:auto}.card{background:var(--card);border:1px solid var(--border);border-radius:10px;padding:22px}.card-header{justify-content:space-between;align-items:center;margin-bottom:18px;display:flex}.card-header h2{margin:0;font-size:17px}.btn{cursor:pointer;border:none;border-radius:7px;padding:9px 16px;font-size:13px;font-weight:600}.btn-primary{background:var(--accent);color:#fff}.btn-primary:hover{background:#3f52c9}.btn-secondary{background:var(--bg);color:var(--text);border:1px solid var(--border)}.btn-danger{color:var(--danger);background:#fdecec}.form-grid{grid-template-columns:repeat(3,1fr);gap:16px 20px;display:grid}.field label{color:var(--text);margin-bottom:6px;font-size:12.5px;font-weight:600;display:block}.field label .req{color:var(--danger)}.field input,.field select,.field textarea{border:1px solid var(--border);width:100%;color:var(--text);background:#fff;border-radius:7px;padding:9px 11px;font-size:13.5px}.field input:focus,.field select:focus,.field textarea:focus{outline:2px solid var(--accent);outline-offset:0;border-color:var(--accent)}.checkbox-row{flex-wrap:wrap;gap:20px;margin-top:4px;display:flex}.checkbox-row label{align-items:center;gap:6px;font-size:13.5px;font-weight:500;display:flex}table{border-collapse:collapse;width:100%;font-size:13.5px}th{text-align:left;color:var(--text-muted);border-bottom:1px solid var(--border);padding:10px 8px;font-weight:600}td{border-bottom:1px solid var(--border);padding:10px 8px}.empty-state{text-align:center;color:var(--text-muted);padding:40px 0}.actions-row{justify-content:flex-end;gap:10px;margin-top:20px;display:flex}.table-actions{gap:8px;display:flex}.icon-btn{border:1px solid var(--border);cursor:pointer;background:#fff;border-radius:6px;padding:5px 9px;font-size:12px}.login-wrap{background:var(--navy);justify-content:center;align-items:center;min-height:100vh;display:flex}.login-card{background:#fff;border-radius:12px;width:340px;padding:36px 32px}.login-card h1{margin:0 0 4px;font-size:18px}.login-card p{color:var(--text-muted);margin:0 0 22px;font-size:13px}.error-text{color:var(--danger);margin-top:10px;font-size:12.5px}.tag{border-radius:20px;padding:3px 9px;font-size:11.5px;font-weight:600;display:inline-block}.tag-ongoing{color:#2f6fd8;background:#e9f2ff}.tag-completed{color:var(--success);background:#e8f9f2}.tag-planning{color:#b8860f;background:#fef6e6}.tag-hold{color:var(--danger);background:#fdecec}
