:root{font-family:Arial,Helvetica,sans-serif;color:#20352f;background:#f4f5f0}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{opacity:.5;cursor:not-allowed}.wrap{max-width:1230px;margin:auto;padding:30px 24px}.top{display:flex;justify-content:space-between;align-items:center;gap:18px}.logo{font-family:Georgia,serif;font-size:29px;color:#1c4134;font-weight:700}.muted{color:#798780}.sidebar{display:flex;flex-wrap:wrap;gap:8px;margin:26px 0}.tab{background:transparent;border:1px solid #d8ded8;border-radius:12px;padding:11px 17px;color:#345448}.tab.active{background:#214638;color:white;border-color:#214638}.card{background:white;border:1px solid #e1e7e1;border-radius:17px;padding:23px;box-shadow:0 3px 12px #1e3d2e09;margin-bottom:17px}.grid{display:grid;grid-template-columns:repeat(4,1fr);grid-gap:15px;gap:15px}.metric{font-size:27px;font-weight:750;letter-spacing:-1px;margin:10px 0}.small{font-size:13px}.heading{font-size:23px;font-family:Georgia,serif;color:#264637;margin:0 0 8px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;background:#20523e;border:1px solid #20523e;color:white;border-radius:10px;padding:11px 16px;font-weight:650}.btn.sub{background:white;color:#245442;border-color:#d6e0d9}.btn.warn{background:#a44c30;border-color:#a44c30}.controls{display:flex;flex-wrap:wrap;gap:10px;align-items:center}.field{display:flex;flex-direction:column;gap:6px;font-size:13px;font-weight:600;margin:8px 0}.field input,.field select,.field textarea{border:1px solid #d6dfd7;border-radius:10px;padding:11px;background:white;color:#173e2d;min-width:0}.field input[type=checkbox]{width:16px}.tablebox{overflow-x:auto}table{border-collapse:collapse;width:100%;font-size:13px}td,th{text-align:left;border-bottom:1px solid #edf0ec;padding:11px 8px;vertical-align:middle}th{color:#798780;font-weight:600}td input,td select{border:1px solid #d9e0d9;border-radius:8px;padding:8px;width:100%;min-width:95px;background:white}td input[type=checkbox]{width:auto;min-width:auto}.status{font-size:12px;padding:5px 9px;background:#e6f3eb;color:#226043;border-radius:999px}.notice{padding:12px 15px;border-radius:10px;background:#f1f7eb;border:1px solid #d9e5ce;font-size:13px;margin:13px 0}.error{background:#fff0ed;border-color:#ffcabd;color:#913b27}.login{max-width:420px;margin:9vh auto}.row{display:flex;justify-content:space-between;align-items:center;gap:15px}.hr{border:0;border-top:1px solid #e8ece7;margin:20px 0}a{color:#20523e}.pill{border:1px solid #d2dad2;border-radius:999px;padding:5px 10px;font-size:12px}.select{padding:10px;border:1px solid #d1ddd5;border-radius:10px;background:#fff}.meter{height:12px;background:#e3ebe4;border-radius:20px;overflow:hidden}.fill{height:100%;background:#2a7653}@media(max-width:920px){.grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:580px){.wrap{padding:15px}.grid{grid-template-columns:1fr}.top{align-items:start}.logo{font-size:22px}.card{padding:15px}}.auto-period{color:#20523e;background:#edf5ef;padding:11px 12px;border-radius:9px;font-weight:500}.period-review{display:flex;flex-wrap:wrap;align-items:center;gap:12px;justify-content:space-between;padding:14px 16px;background:#eaf3ee;border:1px solid #cfe1d6;border-radius:12px;margin:15px 0}.period-review .field{margin:0}