:root{--brand: #2563eb;--brand-dark: #1e3a8a;--bg: #f5f7fb;--card: #ffffff;--text: #1f2937;--muted: #6b7280;--green: #16a34a;--yellow: #ca8a04;--red: #dc2626;--border: #e5e7eb;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text)}a{color:var(--brand);text-decoration:none}.center-screen,.auth-screen{min-height:100vh;display:flex;align-items:center;justify-content:center}.auth-card{background:var(--card);padding:2.5rem;border-radius:12px;box-shadow:0 4px 24px #00000014;width:360px}.auth-card h1{margin:0 0 .25rem;color:var(--brand-dark)}.auth-card .muted{color:var(--muted);margin-bottom:1.5rem}.auth-card form{display:flex;flex-direction:column;gap:.5rem}.auth-card label{font-size:.85rem;color:var(--muted);margin-top:.5rem}.auth-card input{padding:.6rem .75rem;border:1px solid var(--border);border-radius:8px;font-size:1rem}.auth-card button{margin-top:1.25rem;padding:.7rem;border:none;border-radius:8px;background:var(--brand);color:#fff;font-weight:600;cursor:pointer}.auth-card .error{color:var(--red);font-size:.85rem}.app-shell{display:flex;min-height:100vh}.sidebar{width:220px;background:var(--brand-dark);color:#fff;padding:1.5rem 1rem}.sidebar h2{font-size:1.1rem;margin:0 0 1.5rem}.sidebar nav a,.sidebar button{display:block;color:#fff;opacity:.85;padding:.5rem .25rem;background:none;border:none;text-align:left;width:100%;cursor:pointer;font-size:.95rem}.sidebar nav a:hover,.sidebar button:hover{opacity:1}.main-content{flex:1;padding:2rem;max-width:1100px}.card{background:var(--card);border-radius:10px;padding:1.25rem;margin-bottom:1rem;box-shadow:0 1px 3px #0000000f;border:1px solid var(--border)}.grid{display:grid;gap:1rem;grid-template-columns:repeat(auto-fill,minmax(260px,1fr))}.badge{display:inline-block;font-size:.75rem;padding:.15rem .55rem;border-radius:999px;font-weight:600}.badge.new{background:#e0e7ff;color:#3730a3}.badge.in_progress{background:#fef3c7;color:#92400e}.badge.review{background:#dbeafe;color:#1e40af}.badge.done{background:#dcfce7;color:#166534}.badge.waiting{background:#fee2e2;color:#991b1b}.task-row{display:flex;justify-content:space-between;align-items:center;padding:.6rem 0;border-bottom:1px solid var(--border)}.task-row:last-child{border-bottom:none}.progress-bar{background:#e5e7eb;border-radius:999px;height:10px;overflow:hidden;margin:.4rem 0}.progress-bar-fill{height:100%;background:var(--green);transition:width .3s ease}.health-dot{display:inline-block;width:10px;height:10px;border-radius:50%;margin-right:6px}.health-dot.green{background:var(--green)}.health-dot.yellow{background:var(--yellow)}.health-dot.red{background:var(--red)}.btn-primary{background:var(--brand);color:#fff;border:none;border-radius:6px;padding:.5rem .9rem;cursor:pointer;font-weight:600}.btn-secondary{background:#fff;border:1px solid var(--border);border-radius:6px;padding:.5rem .9rem;cursor:pointer}.muted{color:var(--muted)}.task-form{display:grid;gap:.5rem;grid-template-columns:1fr 1fr;margin-top:1rem}.task-form input,.task-form select,.task-form textarea{padding:.5rem;border:1px solid var(--border);border-radius:6px;font-size:.9rem}.task-form textarea,.task-form .full{grid-column:1 / -1}.checkbox-row{display:flex;align-items:center;gap:.4rem;grid-column:1 / -1}
