*{box-sizing:border-box}body{margin:0;font-family:system-ui,-apple-system,Segoe UI,sans-serif;background:#f4f7fb;color:#17212b}header{background:linear-gradient(135deg,#0d3558,#1779b8);color:#fff;padding:18px 22px;position:sticky;top:0;z-index:5;box-shadow:0 2px 10px #0002}.brand{display:flex;gap:12px;align-items:center}.logo{width:46px;height:46px;border-radius:13px;background:#fff;color:#1769aa;display:grid;place-items:center;font-weight:800}h1{margin:0;font-size:23px}small{opacity:.82}main{max-width:1050px;margin:auto;padding:20px}.topbar{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-bottom:18px;flex-wrap:wrap}h2{margin:0 0 5px}.muted{color:#657585}.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(270px,1fr));gap:15px}.card{background:#fff;border:1px solid #dfe7ef;border-radius:16px;padding:18px;box-shadow:0 3px 12px #16324b0d}.project{cursor:pointer;transition:.15s}.project:hover{transform:translateY(-2px);box-shadow:0 7px 20px #16324b18}.btn{border:0;border-radius:11px;padding:11px 15px;font-weight:700;cursor:pointer;background:#1769aa;color:#fff}.btn.secondary{background:#e8f0f7;color:#164d72}.btn.danger{background:#b42318}.btn.small{padding:8px 10px;font-size:13px}.actions{display:flex;gap:8px;flex-wrap:wrap}.stats{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}.pill{background:#eef5fa;border-radius:20px;padding:5px 9px;font-size:12px;color:#245574}.timeline{position:relative;margin-top:20px}.event{position:relative;background:#fff;border:1px solid #dfe7ef;border-radius:14px;padding:15px 17px;margin:0 0 12px 20px;border-left:4px solid #1769aa}.date{font-weight:800;color:#1769aa}.event h3{margin:5px 0}.modal{position:fixed;inset:0;background:#0007;display:grid;place-items:center;padding:16px;z-index:20}.modal.hidden{display:none}.dialog{background:#fff;border-radius:18px;padding:20px;width:min(620px,100%);max-height:90vh;overflow:auto}.field{margin:12px 0}.field label{display:block;font-weight:700;margin-bottom:5px}.field input,.field textarea,.field select{width:100%;padding:11px;border:1px solid #cbd6e0;border-radius:10px;font:inherit}.field textarea{min-height:120px;resize:vertical}.back{margin-bottom:15px}.empty{text-align:center;padding:35px 15px;color:#687888}.notice{background:#fff8df;border:1px solid #f0d98b;border-radius:12px;padding:12px;margin-bottom:15px}@media(max-width:600px){main{padding:14px}.topbar{align-items:stretch}.topbar .btn{width:100%}.actions .btn{flex:1}}\n