:root{font-family:Inter,Arial,Helvetica,sans-serif;color:#263238;background:#f3f6f9;font-synthesis:none;text-rendering:optimizeLegibility}*{box-sizing:border-box}body{margin:0}button,select,input,textarea{font:inherit}button{cursor:pointer}button:disabled{opacity:.55;cursor:not-allowed}.loginPage{min-height:100vh;display:grid;place-items:center;background:linear-gradient(135deg,#0b3d20,#2e7d32);padding:20px}.loginCard{width:min(430px,100%);background:#fff;border-radius:18px;padding:34px;box-shadow:0 20px 50px #0004}.logo{width:70px;height:70px;border-radius:16px;background:#2e7d32;color:#fff;display:grid;place-items:center;font-weight:800;margin-bottom:18px}.loginCard h1{margin:0 0 5px;font-size:29px}.loginCard p{margin:0 0 25px;color:#607d8b}.loginCard form{display:grid;gap:15px}.loginCard label,.filters label,.editForm label,.searchLabel{display:grid;gap:6px;font-size:13px;font-weight:700}.loginCard input,.filters select,.editForm input,.editForm textarea,.searchLabel input,.conclusionItem textarea{width:100%;padding:10px 11px;border:1px solid #cfd8dc;border-radius:8px;background:#fff;color:#263238}.primary{border:0;border-radius:8px;padding:10px 16px;background:#1b5e20;color:#fff;font-weight:700}.secondary{border:1px solid #c6d2c9;border-radius:8px;padding:9px 14px;background:#fff;color:#245b2c;font-weight:700}.full{width:100%;margin-top:5px}.loginCard small{display:block;text-align:center;margin-top:20px;color:#78909c}header{min-height:74px;background:linear-gradient(135deg,#1b5e20,#388e3c);color:#fff;padding:12px 22px;display:flex;justify-content:space-between;align-items:center;gap:16px}header b{display:block;font-size:17px}header span{font-size:12px;opacity:.92}.user{display:flex;align-items:center;gap:12px;font-size:13px}.user button{border:1px solid #ffffff66;background:#fff2;color:#fff;padding:7px 12px;border-radius:7px}.panel{background:#fff;margin:14px 18px;border-radius:12px;box-shadow:0 2px 9px #00000010}.welcome{padding:18px 20px;display:flex;justify-content:space-between;align-items:center;gap:15px}.welcome h1{margin:0 0 5px;font-size:22px}.welcome p{margin:0;color:#607d8b}.roleTag{border-radius:999px;background:#e8f5e9;color:#1b5e20;font-weight:800;font-size:11px;padding:7px 10px}.tabs{padding:8px;display:flex;gap:6px;flex-wrap:wrap}.tabs button{border:0;border-radius:8px;padding:10px 15px;background:transparent;color:#476057;font-weight:700}.tabs button.active{background:#e8f5e9;color:#1b5e20}.filters{padding:14px;display:flex;gap:10px;align-items:end;flex-wrap:wrap}.filters label{min-width:170px}.filters .primary{height:42px}.alert,.ok,.notice{margin:10px 18px;padding:11px 14px;border-radius:8px}.alert{background:#ffebee;color:#b71c1c}.ok{background:#e8f5e9;color:#1b5e20}.notice{background:#fff8e1;color:#765500}.tableWrap,.managementPanel,.conclusionsPanel{overflow:auto}.tableTitle{padding:12px 14px;display:flex;justify-content:space-between;align-items:center;gap:14px;border-bottom:1px solid #e0e0e0}.tableTitle b{display:block;color:#1b5e20}.tableTitle small{display:block;color:#607d8b;margin-top:4px}table{border-collapse:collapse;width:100%;min-width:760px}th,td{border:1px solid #d7d7d7;padding:8px;text-align:center;font-size:12px;vertical-align:middle}th{background:#2e7d32;color:#fff}th small,td small{display:block;font-size:10px;font-weight:400;margin-top:3px;opacity:.85}.name{text-align:left;min-width:240px}.gradeTable select{width:60px;padding:4px;border:1px solid #bbb;border-radius:5px;font-weight:700;background:#fff}.logro{font-weight:800;background:#e8f5e9}.empty{text-align:center;padding:36px;color:#78909c;min-width:280px}.sectionHeading{padding:18px 18px 12px;display:flex;align-items:center;justify-content:space-between;gap:12px}.sectionHeading h2{font-size:19px;margin:0 0 5px}.sectionHeading p{margin:0;color:#607d8b;font-size:13px}.conclusionsPanel{padding-bottom:10px}.conclusionItem{display:grid;grid-template-columns:minmax(190px,260px) minmax(300px,1fr) 70px;gap:12px;align-items:start;padding:12px 18px;border-top:1px solid #edf0f2}.conclusionItem>span b{display:block;font-size:13px}.conclusionItem>span small{display:block;color:#78909c;margin-top:4px}.conclusionItem textarea{resize:vertical;min-height:70px;font-size:13px;line-height:1.45}.counter{font-size:11px;color:#78909c;text-align:right}.managementPanel{padding-bottom:18px}.searchLabel{padding:0 18px 14px;max-width:560px}.editForm{margin:0 18px 20px;padding:16px;background:#f7faf8;border:1px solid #dce8df;border-radius:10px;display:grid;grid-template-columns:repeat(4,minmax(130px,1fr));gap:12px;align-items:end}.editForm h3{grid-column:1/-1;margin:0;font-size:16px}.editForm input,.editForm textarea{font-size:13px}.editForm .checkLabel{display:flex;align-items:center;gap:8px;align-self:center}.checkLabel input{width:auto}.formActions{display:flex;gap:8px;align-items:center}.wideField{grid-column:span 2}.competencyForm{grid-template-columns:repeat(3,minmax(150px,1fr))}.managementTable{overflow:auto;margin:0 18px}.managementTable table{min-width:850px}.descriptionCell{text-align:left;max-width:320px;white-space:normal;line-height:1.4}.smallButton{border:1px solid #c6d2c9;background:#fff;color:#245b2c;border-radius:6px;padding:6px 8px;font-size:11px;font-weight:700;margin:2px}.status{display:inline-block;border-radius:999px;padding:4px 8px;font-size:10px;font-weight:800}.status.active{background:#e8f5e9;color:#1b5e20}.status.inactive{background:#ffebee;color:#b71c1c}.appFooter{text-align:center;color:#78909c;font-size:11px;padding:18px}.centerMessage{min-height:100vh;display:grid;place-items:center;color:#607d8b}@media(max-width:850px){.conclusionItem{grid-template-columns:1fr;gap:7px}.counter{text-align:left}.editForm,.competencyForm{grid-template-columns:repeat(2,minmax(130px,1fr))}.wideField{grid-column:1/-1}}@media(max-width:620px){header{align-items:flex-start}.user{flex-direction:column;align-items:flex-end}.panel{margin:10px}.filters{display:grid;grid-template-columns:1fr 1fr}.filters label{min-width:0}.filters .primary{width:100%;grid-column:1/-1}.welcome h1{font-size:20px}.tableTitle{align-items:flex-start;flex-direction:column}.tableTitle button{width:100%}.tabs{display:grid;grid-template-columns:1fr}.tabs button{text-align:left}.editForm,.competencyForm{grid-template-columns:1fr}.wideField{grid-column:auto}.loginCard{padding:26px}.roleTag{display:none}}.adminStats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;padding:0 18px 18px}.statCard{border:1px solid #dce8df;border-radius:12px;background:linear-gradient(180deg,#fff,#f6faf7);padding:16px;display:grid;gap:6px}.statCard span{font-size:12px;color:#607d8b;font-weight:700}.statCard strong{font-size:30px;line-height:1.1;color:#1b5e20}.statCard small{font-size:11px;color:#78909c}.adminSubtabs{display:flex;gap:8px;flex-wrap:wrap;padding:0 18px 16px}.adminSubtabs button{border:1px solid #d6e2d8;background:#fff;color:#315b3b;border-radius:8px;padding:9px 13px;font-weight:700}.adminSubtabs button.active{background:#e8f5e9;border-color:#b9d8bf;color:#1b5e20}.adminIntro{padding:8px 18px 22px}.adminIntro h3{margin:0 0 8px;font-size:17px}.adminIntro p{color:#607d8b;font-size:13px;line-height:1.6;max-width:900px}.adminQuickActions{display:flex;gap:9px;flex-wrap:wrap;margin:16px 0}.noticeInline{background:#f2f7ff;border:1px solid #d7e6fa;color:#31506f;border-radius:9px;padding:12px 14px;font-size:12px;line-height:1.55}.adminNotice{margin:0 18px 16px}.adminUserForm,.assignmentForm{grid-template-columns:repeat(3,minmax(150px,1fr))}.roleStatus{background:#eef3ff;color:#244b82}.mutedSmall{color:#78909c;font-size:11px}.adminPanel .sectionHeading{align-items:flex-start}@media(max-width:850px){.adminStats{grid-template-columns:repeat(2,minmax(0,1fr))}.adminUserForm,.assignmentForm{grid-template-columns:repeat(2,minmax(130px,1fr))}}@media(max-width:620px){.adminStats{grid-template-columns:1fr 1fr;padding:0 12px 14px}.statCard{padding:12px}.statCard strong{font-size:25px}.adminSubtabs{display:grid;grid-template-columns:1fr;padding:0 12px 14px}.adminSubtabs button{text-align:left}.adminUserForm,.assignmentForm{grid-template-columns:1fr}.adminIntro{padding:8px 12px 18px}.adminNotice{margin:0 12px 14px}.adminQuickActions{display:grid;grid-template-columns:1fr}.adminQuickActions button{width:100%}}
