*{box-sizing:border-box;margin:0;padding:0}body{font-family:-apple-system,Segoe UI,Roboto,sans-serif;background:#f4f6fb;color:#1f2733}a{color:#2563eb;text-decoration:none}a:hover{text-decoration:underline}
.login-page{display:flex;align-items:center;justify-content:center;min-height:100vh;background:linear-gradient(135deg,rgba(79,70,229,.55),rgba(37,99,235,.55)),url('https://images.unsplash.com/photo-1573497019940-1c28c88b4f3e?auto=format&fit=crop&w=1600&q=80') center/cover no-repeat}
.login-box{background:#fff;padding:36px;border-radius:16px;width:340px;box-shadow:0 20px 60px rgba(0,0,0,.3);display:flex;flex-direction:column;gap:12px}
.login-box h1{text-align:center;color:#2563eb}.login-box .sub{text-align:center;color:#888;margin-bottom:8px}
.login-box input{padding:12px;border:1px solid #dde;border-radius:8px;font-size:15px}
.login-box button{padding:12px;background:#2563eb;color:#fff;border:0;border-radius:8px;font-size:15px;cursor:pointer}
.login-box .hint{text-align:center;color:#aaa;font-size:12px}.err{background:#fee;color:#c00;padding:8px;border-radius:6px;text-align:center;font-size:13px}
.layout{display:flex;min-height:100vh}
.side{width:230px;background:#111827;color:#cbd5e1;display:flex;flex-direction:column;position:fixed;height:100vh}
.brand{font-size:22px;font-weight:800;padding:20px;color:#fff}.brand span{color:#60a5fa}
.side nav{flex:1;overflow:auto;display:flex;flex-direction:column}
.side nav a{color:#cbd5e1;padding:11px 20px;font-size:14px}.side nav a:hover{background:#1f2937;text-decoration:none}.side nav a.act{background:#2563eb;color:#fff}
.user{padding:16px 20px;border-top:1px solid #1f2937;font-size:13px;display:flex;flex-direction:column;gap:2px}.user small{color:#94a3b8;text-transform:uppercase;font-size:11px}.user a{color:#f87171;margin-top:6px}
.main{margin-left:230px;flex:1;display:flex;flex-direction:column}
.top{background:#fff;padding:18px 28px;border-bottom:1px solid #e5e7eb}.top h1{font-size:20px}
.content{padding:28px;flex:1}
.cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:16px;margin-bottom:24px}
.card{background:#fff;border-radius:12px;padding:20px;box-shadow:0 1px 4px rgba(0,0,0,.05)}.card .num{font-size:30px;font-weight:800;color:#2563eb}.card .lbl{color:#6b7280;font-size:13px;margin-top:4px}
h3{margin:20px 0 10px}.box{background:#fff;border-radius:12px;padding:18px;box-shadow:0 1px 4px rgba(0,0,0,.05)}
.row{padding:8px 0;border-bottom:1px solid #f1f3f7}.row:last-child{border:0}.muted{color:#9aa3b0;font-size:12px}
table{width:100%;border-collapse:collapse;background:#fff;border-radius:12px;overflow:hidden;box-shadow:0 1px 4px rgba(0,0,0,.05)}
th,td{text-align:left;padding:11px 14px;font-size:14px;border-bottom:1px solid #f1f3f7}th{background:#f8fafc;color:#64748b;font-size:12px;text-transform:uppercase}
.tag{display:inline-block;background:#eef2ff;color:#4f46e5;padding:2px 8px;border-radius:20px;font-size:12px;margin:2px}
.badge{background:#dcfce7;color:#166534;padding:3px 10px;border-radius:6px;font-size:12px}
input,select,textarea,button{font-family:inherit;font-size:14px}
input,select,textarea{padding:9px 11px;border:1px solid #dde3ec;border-radius:8px}textarea{min-height:80px;resize:vertical}
button{background:#2563eb;color:#fff;border:0;padding:9px 16px;border-radius:8px;cursor:pointer}button:hover{background:#1d4ed8}
.inline{display:flex;gap:8px;margin-bottom:14px;flex-wrap:wrap}.inline input{flex:1}
.searchbar{display:flex;gap:8px;margin-bottom:16px}.searchbar input{flex:1}
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:10px}.grid2 .full,.grid2 button.full{grid-column:1/3}
.addform{background:#fff;border-radius:12px;padding:14px;margin-bottom:16px;box-shadow:0 1px 4px rgba(0,0,0,.05)}.addform summary{cursor:pointer;font-weight:600}.addform form{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}
.resume{background:#f8fafc;padding:12px;border-radius:8px;margin-top:10px;font-size:13px}
.kanban{display:flex;gap:14px;overflow-x:auto;padding-bottom:12px}
.col{background:#eef1f6;border-radius:12px;padding:12px;min-width:210px;flex:1}.col h4{margin-bottom:10px;font-size:13px;color:#475569;text-transform:uppercase}
.kcard{background:#fff;border-radius:8px;padding:10px;margin-bottom:8px;box-shadow:0 1px 3px rgba(0,0,0,.08);cursor:grab}.kcard.drag{opacity:.4}.col.over{background:#dbeafe}
.done{text-decoration:line-through;color:#aaa}.chk{display:inline}.chk button{background:none;color:#2563eb;padding:0 4px}
.barrow{display:flex;align-items:center;gap:10px;margin:8px 0}.barrow span{width:120px;font-size:13px}.bar{flex:1;background:#eef1f6;border-radius:6px;height:16px;overflow:hidden}.bar i{display:block;height:100%;background:#2563eb}
.cols{display:grid;grid-template-columns:1fr 1fr 1fr;gap:16px}
.foot{text-align:center;padding:16px;color:#9aa3b0;font-size:13px}
@media(max-width:900px){.cols,.grid2{grid-template-columns:1fr}.grid2 .full,.grid2 button.full{grid-column:auto}}
.login-pic{display:block;width:120px;height:120px;object-fit:cover;border-radius:50%;margin:0 auto 16px;border:3px solid #fff;box-shadow:0 4px 16px rgba(0,0,0,.15)}