*{box-sizing:border-box}body{margin:0;font-family:Inter,Arial,sans-serif;background:#f4fbff;color:#16324a}
:root{--sky:#38bdf8;--blue:#0284c7;--deep:#075985;--pale:#e0f2fe;--line:#bae6fd}
.login{min-height:100vh;display:grid;place-items:center;background:linear-gradient(135deg,#e0f2fe,#fff,#bae6fd)}
.login-card{width:min(440px,92%);background:#fff;padding:34px;border-radius:22px;box-shadow:0 20px 60px #07598522;border-top:6px solid var(--sky)}
.brand{font-size:25px;font-weight:900;color:var(--deep)}.brand small{display:block;font-size:12px;color:#64748b;letter-spacing:2px}
.shell{display:grid;grid-template-columns:270px 1fr;min-height:100vh}.side{background:linear-gradient(#e0f2fe,#f0f9ff);border-right:1px solid var(--line);padding:22px;position:sticky;top:0;height:100vh;overflow:auto}
.side a{display:block;padding:11px 12px;margin:4px 0;border-radius:10px;color:var(--deep);text-decoration:none;font-weight:700}.side a:hover{background:#7dd3fc;color:#fff}
.main{padding:25px}.top{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px}.panel,.card{background:#fff;border:1px solid #dbeafe;border-radius:16px;padding:18px;box-shadow:0 8px 25px #0759850c}
.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:14px;margin:16px 0}.big{font-size:27px;font-weight:900;color:var(--blue)}
.btn{display:inline-block;background:var(--blue);color:#fff;border:0;padding:10px 15px;border-radius:9px;text-decoration:none;font-weight:800;cursor:pointer}
.modules{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:12px}.module{padding:18px;background:linear-gradient(145deg,#fff,#f0f9ff);border:1px solid var(--line);border-radius:15px;text-decoration:none;color:var(--deep);font-weight:800}
input,select,textarea{width:100%;padding:10px;border:1px solid #bae6fd;border-radius:8px;background:#fff}label{display:block;font-size:12px;font-weight:800;margin:8px 0 4px}.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:12px}
table{width:100%;border-collapse:collapse}th,td{padding:10px;border-bottom:1px solid #e0f2fe;text-align:left}th{background:#f0f9ff;color:var(--deep)}
.progress{height:9px;background:#e0f2fe;border-radius:9px;overflow:hidden}.progress i{display:block;height:100%;background:#38bdf8}
@media(max-width:850px){.shell{grid-template-columns:1fr}.side{position:relative;height:auto}.main{padding:15px}}

.notice{padding:12px 14px;border-radius:10px;margin-bottom:15px;font-weight:700}.success{background:#ecfeff;border:1px solid #a5f3fc;color:#155e75}.danger{background:#fff1f2;border:1px solid #fecdd3;color:#9f1239}.secondary{background:#64748b}.table-wrap{overflow:auto;margin-top:15px}.actions{white-space:nowrap}.actions form{display:inline}.actions a,.link{border:0;background:none;color:#0284c7;font-weight:800;text-decoration:none;cursor:pointer;padding:0 5px;font:inherit}.danger-link{color:#be123c!important}.span2{grid-column:span 2}.project-hero{display:flex;justify-content:space-between;align-items:center}.status-pill{background:#e0f2fe;color:#075985;border:1px solid #7dd3fc;padding:7px 12px;border-radius:999px;font-weight:800;text-transform:capitalize}@media(max-width:650px){.span2{grid-column:auto}.project-hero{display:block}}
