:root{color:#183153;background:#f4f7fb;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}body{min-width:320px;min-height:100vh;margin:0}button,input{font:inherit}button{cursor:pointer}.login-page,.loading-screen{background:radial-gradient(circle at 0 0,#e8f5f1,#f6f8fc 52%);place-items:center;min-height:100vh;padding:24px;display:grid}.login-box{width:min(100%,470px)}.error-notice{color:#8b1e25;background:#fff0f0;border:1px solid #ffc9cd;border-radius:10px;margin:0 0 16px;padding:12px 14px}.app-shell{grid-template-columns:255px minmax(0,1fr);min-height:100vh;display:grid}.sidebar{color:#fff;background:#123b36;height:100vh;padding:20px 14px;position:sticky;top:0;overflow-y:auto}.brand{width:100%;color:inherit;text-align:left;background:0 0;border:0;align-items:center;gap:10px;padding:4px 8px 20px;display:flex}.brand>span{color:#0b342c;background:#62c7a5;border-radius:11px;place-items:center;width:40px;height:40px;font-size:22px;font-weight:800;display:grid}.brand div{display:grid}.brand strong{font-size:17px}.brand small{opacity:.68;margin-top:2px}.nav-section{margin:17px 0}.nav-section p{opacity:.52;letter-spacing:.09em;text-transform:uppercase;margin:0 10px 7px;font-size:11px;font-weight:800}.nav-section button{color:#dcebe8;text-align:left;background:0 0;border:0;border-radius:8px;width:100%;margin:1px 0;padding:9px 10px}.nav-section button:hover,.nav-section button.active{color:#fff;background:#23574f}.content{min-width:0}.topbar{background:#fff;border-bottom:1px solid #e3e9f0;justify-content:space-between;align-items:center;height:68px;padding:0 28px;display:flex}.topbar div{gap:2px;display:grid}.topbar span{color:#6d7d8e;font-size:12px}.topbar button,.dialog-actions button{background:#fff;border:1px solid #ccd6e0;border-radius:8px;padding:8px 14px}.page-content{max-width:1500px;margin:0 auto;padding:28px}.page-heading{justify-content:space-between;align-items:center;gap:20px;margin-bottom:20px;display:flex}.page-heading h2{color:#153d39;margin:0 0 5px}.page-heading p{color:#6b7a89;margin:0}.primary-button{color:#fff!important;background:#167c68!important;border:0!important;border-radius:8px!important;padding:10px 16px!important}.dashboard-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;display:grid}.dashboard-card,.welcome-panel{background:#fff;border:1px solid #e1e8ee;border-radius:14px;padding:20px;box-shadow:0 8px 28px #223d540d}.dashboard-card{gap:12px;display:grid}.dashboard-card span{color:#72808d}.dashboard-card strong{color:#166d5d;font-size:30px}.welcome-panel{margin-top:20px}.welcome-panel h3{margin:0 0 8px}.welcome-panel p{color:#6b7a89;margin:0}.dialog-backdrop{z-index:20;background:#081b2373;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.user-dialog{background:#fff;border-radius:14px;gap:15px;width:min(100%,470px);padding:24px;display:grid;box-shadow:0 20px 70px #0003}.user-dialog h3{margin:0 0 4px}.user-dialog label:not(.check-field){color:#435665;gap:6px;font-size:13px;font-weight:700;display:grid}.user-dialog input:not([type=checkbox]){border:1px solid #c8d4df;border-radius:8px;outline:none;width:100%;padding:10px 11px}.user-dialog input:focus{border-color:#167c68;box-shadow:0 0 0 3px #167c681f}.check-field{align-items:center;gap:8px;display:flex}.dialog-actions{justify-content:flex-end;gap:9px;padding-top:5px;display:flex}.clickable-report-grid tbody tr{cursor:pointer}.clickable-report-grid tbody tr:focus-within,.clickable-report-grid tbody tr:hover{background:#edf8f4}.enrollment-print-backdrop{z-index:50;align-items:start;overflow-y:auto}.enrollment-print-modal{background:#e9eef1;border-radius:14px;width:min(100%,900px);margin:auto;padding:48px 24px 24px;position:relative;box-shadow:0 24px 80px #00000047}.enrollment-modal-close{color:#334653;background:#fff;border:0;border-radius:50%;width:34px;height:34px;font-size:25px;line-height:1;position:absolute;top:10px;right:16px}.enrollment-print-sheet{color:#111;background:#fff;border:1px solid #888;width:min(100%,210mm);min-height:280mm;margin:0 auto;padding:10mm 9mm;font-family:Arial,Helvetica,sans-serif;font-size:13px;box-shadow:0 8px 28px #00000026}.enrollment-print-header{text-align:center;margin-bottom:24px}.enrollment-print-header h1{margin:0;font-size:21px;font-weight:400}.enrollment-print-header p{margin:1px 0;font-size:18px}.enrollment-print-header h2{margin:1px 0 0;font-size:18px}.enrollment-data-table{border-collapse:collapse;table-layout:fixed;width:100%;font-size:12px}.enrollment-data-table th,.enrollment-data-table td{text-align:left;vertical-align:middle;overflow-wrap:anywhere;border:1px solid #c4c4c4;height:23px;padding:3px 5px}.enrollment-data-table th{width:29%;font-weight:400}.enrollment-data-table td{width:35%}.enrollment-data-table th:nth-child(3){width:20%}.enrollment-data-table td:nth-child(4){width:16%}.enrollment-data-table .enrollment-section-title th{font-weight:700}.enrollment-declaration{margin-top:45px;line-height:1.18}.enrollment-declaration p{margin:0}.enrollment-declaration .fill-line{border-bottom:1px solid #111;min-width:250px;min-height:15px;display:inline-block}.enrollment-rule-agreement{text-align:center;margin-top:30px!important}.enrollment-date-line{text-align:right;margin-top:30px!important}.enrollment-signature{text-align:center;width:66%;margin:52px 0 0 auto}.enrollment-signature span{border-top:1px solid #111;display:block}.enrollment-print-actions{justify-content:center;margin-top:58px;display:flex}.enrollment-print-actions button{background:#f2f2f2;border:1px solid #879098;border-radius:4px;padding:6px 13px}@media (width<=980px){.app-shell{grid-template-columns:210px minmax(0,1fr)}.dashboard-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.page-content{padding:20px}}@media (width<=700px){.app-shell{display:block}.sidebar{width:100%;height:auto;position:relative}.topbar{padding:0 16px}.dashboard-grid{grid-template-columns:1fr}.page-heading{flex-direction:column;align-items:flex-start}.enrollment-print-backdrop{padding:0}.enrollment-print-modal{border-radius:0;padding:46px 8px 8px}.enrollment-print-sheet{padding:7mm 4mm}}@page{size:A4 portrait;margin:8mm}@media print{body{background:#fff}.no-print{display:none!important}.app-shell{display:block}.page-content{max-width:none;padding:0}.enrollment-print-backdrop{background:#fff;padding:0;display:block;position:static;overflow:visible}.enrollment-print-modal{width:100%;box-shadow:none;background:#fff;border-radius:0;margin:0;padding:0}.enrollment-print-sheet{width:100%;min-height:0;box-shadow:none;border:0;margin:0;padding:0}}
