:root{--bg:#f4f6f9;--card:#fff;--ink:#1c2430;--mut:#667085;--line:#dfe3ea;--pri:#0b5ed7;--ok:#157347;--err:#b42318;--warn:#b54708}
*{box-sizing:border-box}body{margin:0;font:16px/1.5 system-ui,Segoe UI,Roboto,sans-serif;background:var(--bg);color:var(--ink)}
.top{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;background:#14213d;color:#fff;padding:12px 20px}
.top a{color:#fff;text-decoration:none}.brand{font-weight:700;font-size:18px}.top nav{display:flex;gap:16px;align-items:center;flex-wrap:wrap}.who{opacity:.7}
main{max-width:1000px;margin:24px auto;padding:0 16px}
.card{background:var(--card);border:1px solid var(--line);border-radius:10px;padding:20px;margin-bottom:20px}
h1{font-size:22px;margin:0 0 14px}h2{font-size:18px;margin:0 0 12px}
label{display:block;font-weight:600;margin:12px 0 4px}
input,select,textarea{width:100%;padding:10px;border:1px solid var(--line);border-radius:8px;font:inherit;background:#fff}
textarea{min-height:110px}
.row{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:0 14px}
button,.btn{display:inline-block;margin-top:16px;padding:10px 18px;border:0;border-radius:8px;background:var(--pri);color:#fff;font:inherit;font-weight:600;cursor:pointer;text-decoration:none}
button.sec,.btn.sec{background:#e8ecf3;color:var(--ink)}button.sm,.btn.sm{margin-top:0;padding:6px 12px;font-size:14px}
.flash{padding:12px 16px;border-radius:8px;margin-bottom:16px}.flash.ok{background:#dcfae6;color:var(--ok)}.flash.err{background:#fee4e2;color:var(--err)}
table{width:100%;border-collapse:collapse;font-size:15px}th,td{text-align:left;padding:8px 10px;border-bottom:1px solid var(--line);vertical-align:top}th{color:var(--mut);font-weight:600;font-size:13px;text-transform:uppercase}
.table-wrap{overflow-x:auto}
.badge{padding:2px 10px;border-radius:99px;font-size:13px;font-weight:600;background:#e8ecf3}.badge.nou{background:#fee4e2;color:var(--err)}.badge.programat{background:#fef0c7;color:var(--warn)}.badge.rezolvat{background:#dcfae6;color:var(--ok)}
.results{border:1px solid var(--line);border-radius:8px;margin-top:6px;max-height:260px;overflow:auto;background:#fff}
.results div{padding:10px;border-bottom:1px solid var(--line);cursor:pointer}.results div:hover{background:#eef4ff}.results small{color:var(--mut)}
.picked{background:#eef4ff;border:1px solid #b2ccff;border-radius:8px;padding:12px;margin-top:10px}
.muted{color:var(--mut)}.hidden{display:none}.tabs{display:flex;gap:8px;margin-bottom:16px;flex-wrap:wrap}
.auth{max-width:420px;margin:40px auto}.due-soon{color:var(--warn);font-weight:600}.overdue{color:var(--err);font-weight:700}

.cbadge{display:inline-block;background:#b42318;color:#fff;font-size:11px;font-weight:700;padding:1px 7px;border-radius:10px;letter-spacing:.3px;vertical-align:middle}tr.closed td{color:#b42318}tr.closed td strong,tr.closed td small{color:#b42318}.closed-banner{background:#fdecea;border:1px solid #b42318;color:#b42318;font-weight:700;padding:10px 14px;border-radius:8px;margin:0 0 14px}
