:root{font-family:Inter,Segoe UI,sans-serif;color:#18343d;background:#f3f6f7;font-size:16px}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button{cursor:pointer;border:1px solid #d8e1e4;background:white;color:#18343d;padding:11px 16px;border-radius:9px;font-weight:600}button:hover{background:#e8f1f1}button.primary{background:#00796e;color:white;border-color:#00796e}button.active{background:#d7ede8;border-color:#00796e;color:#005e55}button.danger{color:#b53e35}aside{position:fixed;width:254px;inset:0 auto 0 0;background:#142c35;color:white;padding:35px 22px;display:flex;flex-direction:column}.brand{font-size:38px;font-weight:800;letter-spacing:-2px;padding:0 14px 35px}.brand span{color:#61d5b5}.brand b{display:block;font-size:11px;letter-spacing:2px;margin-top:8px;color:#a5bbc2}nav{display:grid;gap:8px}nav button{background:transparent;border:0;text-align:left;color:#bdd0d5;font-size:14px;padding:15px 12px}nav button.selected{background:#27454e;color:white}.profile{margin-top:auto;padding:20px 12px 0;border-top:1px solid #36515a;display:grid;gap:7px}.profile small,.profile span{color:#a6bec6;font-size:12px}main{margin-left:254px;padding:0 42px 40px;max-width:1700px}header{height:80px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #dde6e9;color:#687c84;font-size:12px;letter-spacing:1px}h1{font-size:32px;letter-spacing:-1px;margin:0 0 9px}h2{font-size:20px;margin:0 0 20px}h3{margin:0 0 9px;font-size:17px}p{line-height:1.6}.muted{color:#6a7e86}.heading{display:flex;justify-content:space-between;gap:20px;align-items:center;margin:35px 0 28px}.heading p{margin:0}.eyebrow{font-size:12px;letter-spacing:1.5px;color:#008478;font-weight:700;margin-bottom:10px}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-bottom:27px}.card{background:white;border:1px solid #dfe7e9;border-radius:14px;padding:25px;box-shadow:0 2px 5px #142c3503}.stat b{font-size:36px;display:block;margin:10px 0}.stat small{font-size:13px;color:#6a7e86}.grid{display:grid;grid-template-columns:1.3fr 1fr;gap:22px}.modules{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-bottom:27px}.module{position:relative;border-top:4px solid #008478}.module .number{font-size:12px;color:#008478;font-weight:700;letter-spacing:2px}.module h2{margin-top:22px;margin-bottom:8px}.module p{font-size:14px;color:#6a7e86;min-height:44px}.row{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:17px 0;border-bottom:1px solid #edf1f2}.row:last-child{border:0}.row small{display:block;color:#6a7e86;margin-top:6px}.badge{display:inline-block;background:#edf3f5;border-radius:6px;padding:5px 9px;font-size:12px;white-space:nowrap}.badge.green{color:#007467;background:#e1f3ec}.badge.red{color:#b23c32;background:#fcece9}.badge.amber{color:#986518;background:#fff3da}.empty{padding:25px 0;color:#6a7e86;line-height:1.6}.list{display:grid;gap:16px}.toolbar{display:flex;gap:10px;flex-wrap:wrap}.field{display:grid;gap:7px;margin-bottom:17px;font-size:14px;font-weight:600}input,select,textarea{width:100%;padding:12px;border:1px solid #cbd8dd;border-radius:8px;background:white;color:#18343d}textarea{min-height:85px;resize:vertical}label input[type=file]{font-size:14px}.two{display:grid;grid-template-columns:1fr 1fr;gap:17px}dialog{border:0;border-radius:16px;padding:30px;max-width:620px;width:calc(100% - 30px);max-height:90vh;overflow:auto;box-shadow:0 25px 80px #0004}dialog::backdrop{background:#102c3580}.check{margin:15px 0}.choices{display:flex;gap:8px;flex-wrap:wrap;margin:17px 0}.choices button{font-size:14px}.photos{display:flex;flex-wrap:wrap;gap:12px}.photo img{width:120px;height:90px;object-fit:cover;border-radius:8px}.photo button{display:block;font-size:12px;padding:5px}.progress{height:7px;background:#e8eef0;border-radius:10px;margin-top:16px;overflow:hidden}.progress i{display:block;height:100%;background:#008478}.note{font-size:14px;background:#e8f3f1;padding:15px;border-radius:9px;line-height:1.5;margin:18px 0}.report-item{break-inside:avoid;margin:15px 0;border-bottom:1px solid #ddd;padding-bottom:15px}#toast{position:fixed;bottom:25px;right:25px;background:#142c35;color:white;padding:14px 22px;border-radius:10px;display:none;z-index:100}button:focus-visible{outline:3px solid #45b7ad;outline-offset:3px}.auth-card{max-width:520px}[hidden]{display:none!important}button:disabled{opacity:.55;cursor:wait}@media(max-width:1050px){aside{width:210px;padding:25px 13px}main{margin-left:210px;padding:0 25px 30px}.stats{grid-template-columns:1fr 1fr}.grid{grid-template-columns:1fr}}@media(max-width:700px){aside{position:relative;width:100%;padding:16px}.brand{font-size:28px;padding:0 0 16px}.brand b{display:inline;margin-left:15px;font-size:10px}nav{display:flex;overflow:auto;gap:5px}nav button{white-space:nowrap;font-size:12px;padding:10px}.profile{display:flex;flex-wrap:wrap;align-items:center;margin:12px 0 0;padding:12px 0 0}.profile button{font-size:12px;padding:8px}.profile strong{width:100%}main{margin:0;padding:0 16px 25px}header{height:55px;font-size:10px;letter-spacing:0}h1{font-size:26px}.heading{align-items:flex-start;flex-direction:column;margin-top:25px}.modules,.two{grid-template-columns:1fr}.card{padding:20px}.stats{gap:10px}.stat b{font-size:30px}.row{flex-wrap:wrap}.toolbar button{font-size:14px}.choices button{flex:1;padding:11px 6px}}@media print{aside,header,.no-print,#toast,button{display:none!important}main{margin:0;padding:0}body{background:white}.card{border:0;box-shadow:none;padding:0}.photos img{width:180px;height:auto}h1{font-size:25px}}
