*{box-sizing:border-box}body{margin:0;background:#f4f7fb;color:#182235;font:16px Inter,system-ui,sans-serif}aside{position:fixed;inset:0 auto 0 0;width:250px;background:#081321;color:#91a0b4;padding:28px 22px;display:flex;flex-direction:column}.brand{font-size:24px;font-weight:800;color:white;display:flex;gap:14px;align-items:center}.brand span,.brand small,footer span,footer small{display:block}.brand small,footer small{font-size:12px;color:#7f8ea3}.brand>span>b{font-size:16px}nav{display:grid;gap:8px;margin-top:42px}nav .nav{padding:13px;border-radius:10px;background:transparent;color:#91a0b4;text-align:left;width:100%}nav .nav:hover{background:#102036;color:white}.active{background:#15263d;color:white}footer{margin-top:auto;border:1px solid #20334c;border-radius:12px;padding:14px;display:flex;gap:10px;font-size:12px}footer i{width:9px;height:9px;background:#35d0a1;border-radius:50%}main{margin-left:250px;padding-bottom:60px}header{height:92px;background:white;border-bottom:1px solid #e5eaf1;padding:0 38px;display:flex;align-items:center;justify-content:space-between}header small,.hero>small,.portfolio>small,dialog small{font-size:11px;letter-spacing:.13em;font-weight:800;color:#8290a5}h1{font-size:24px;margin:3px 0}button{border:0;border-radius:10px;padding:13px 18px;background:#506ceb;color:white;font-weight:750;cursor:pointer;font-size:14px}button:disabled{opacity:.5;cursor:not-allowed}.hero{margin:32px;min-height:280px;border-radius:22px;padding:42px;color:white;background:linear-gradient(120deg,#101c31,#183256)}.hero h2{font-size:38px;line-height:1.15;margin:18px 0}.hero h2 em{font-style:normal;color:#8298ff}.hero p{max-width:680px;color:#b5c1d2;line-height:1.65}.hero button{background:white;color:#182235}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin:0 32px}.stats article,.portfolio{background:white;border:1px solid #e5eaf1;border-radius:16px;padding:20px}.stats small,.stats b,.stats span{display:block}.stats b{font-size:24px;margin:6px 0}.stats span{font-size:12px;color:#8491a3}.portfolio{margin:16px 32px}.portfolio h2{margin-top:5px}.row{display:grid;grid-template-columns:1.3fr 1fr 1fr .7fr;gap:18px;padding:17px 4px;border-top:1px solid #e8ecf2;align-items:center}.row span,.row em{font-size:13px}.row em{color:#16845f;font-style:normal}progress{width:100%}dialog{border:0;border-radius:22px;width:min(680px,calc(100% - 30px));padding:42px;box-shadow:0 20px 80px #06101d66}dialog::backdrop{background:#06101dcc;backdrop-filter:blur(7px)}.close{position:absolute;right:18px;top:18px;background:#eef1f5;color:#182235;font-size:22px;padding:7px 13px}.meta{display:grid;grid-template-columns:1fr 1fr;gap:10px}.meta input,.meta select,textarea{border:1px solid #dce2eb;border-radius:11px;padding:13px;font:inherit}textarea{width:100%;height:210px;margin:12px 0;resize:vertical}.safe{background:#eef9f5;color:#176d54;border-radius:10px;padding:12px;font-size:13px}.error{color:#c73552;font-size:13px}.actions{display:flex;justify-content:flex-end;gap:10px}.actions #back{background:#eef1f5;color:#182235}dl{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;background:#f4f7fb;padding:14px;border-radius:12px}dt{font-size:11px;color:#8290a5;text-transform:uppercase}dd{margin:4px 0;font-weight:700}@media(max-width:760px){aside{display:none}main{margin-left:0}.hero{margin:14px;padding:28px}.hero h2{font-size:29px}.stats{grid-template-columns:1fr;margin:14px}.portfolio{margin:14px;overflow:auto}.row{min-width:700px}header{padding:0 18px}.meta,dl{grid-template-columns:1fr}}

.view[hidden]{display:none}.page-card{margin:32px;background:white;border:1px solid #e5eaf1;border-radius:18px;padding:28px;min-height:440px}.section-head{display:flex;justify-content:space-between;align-items:center}.project-row{text-decoration:none;color:inherit}.project-row:hover{background:#f7f9fc}.badge{justify-self:start;border-radius:999px;padding:6px 10px;background:#eef1f5;color:#536174!important}.badge.good{background:#e8f8f2;color:#16845f!important}.badge.busy{background:#fff4d9;color:#956900!important}.badge.warn{background:#fdebed;color:#b32b45!important}.quality-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.quality-grid article,.chain{border:1px solid #e5eaf1;border-radius:14px;padding:18px}.quality-grid p,.page-card>p{color:#647287;line-height:1.6}.chain{margin-top:28px;display:flex;gap:12px;flex-wrap:wrap}.chain b{width:100%}.chain span{background:#eef2ff;border-radius:999px;padding:8px 12px;font-size:13px}#done{display:grid;gap:16px}#done[hidden]{display:none}#gitlab-link{color:#405bd3;font-weight:700}.loading{color:#8290a5}@media(max-width:760px){.quality-grid{grid-template-columns:1fr}}

.login-page{min-height:100vh;display:grid;place-items:center;background:linear-gradient(135deg,#071322,#183256)}.login-page main{margin:0}.login-card{width:min(430px,calc(100% - 30px));background:white;border-radius:22px;padding:36px;box-shadow:0 24px 80px #0006}.brand.dark{color:#15263d;margin-bottom:40px}.login-card>p{color:#657287;line-height:1.5}.login-card form{display:grid;gap:16px;margin-top:28px}.login-card label{display:grid;gap:7px;font-weight:700;font-size:13px}.login-card input{border:1px solid #dce2eb;border-radius:10px;padding:13px;font:inherit}.login-card button{margin-top:4px}