
/* UI Review 02/03/04 × secure cloud data adapter: scoped to online-only markup. */
.row{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.row.between{justify-content:space-between}
.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(185px,1fr));gap:13px;align-items:stretch}
.grid-2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.stat{background:#f7fbfa;border:1px solid #dbece7;border-radius:12px;padding:17px;min-width:0}
.stat small{display:block;font-size:10px;color:#769098;letter-spacing:.5px}.stat strong{display:block;font-size:26px;color:#123f43;margin-top:9px;line-height:1.25}.stat h2{margin:8px 0 0;font-size:16px}.stat .number{font-size:12px;color:#0c7366;margin:9px 0 0}
.listrow,.file-row{display:flex;gap:12px;align-items:center;justify-content:space-between;padding:13px 0;border-bottom:1px solid #e7efed}
.listrow:last-child,.file-row:last-child{border:0}.listrow strong,.file-row b{font-size:12px}.listrow small,.file-row small{display:block;color:#799097;font-size:11px;margin-top:4px}
.table-wrap{overflow-x:auto;width:100%}.table{border-collapse:collapse;width:100%;font-size:11px;min-width:550px;text-align:left}
.table th{padding:12px 10px;background:#f2f8f6;color:#738c91;font-size:10px;letter-spacing:.25px;white-space:nowrap}
.table td{padding:13px 10px;border-bottom:1px solid #edf2f0;vertical-align:middle}.table tbody tr:hover{background:#fbfdfc}
.pill{display:inline-flex;border-radius:999px;font-size:10px;color:#758991;background:#f2f5f6;padding:4px 9px;white-space:nowrap}
.pill.ok{color:#087358;background:#ddf5e9}.pill.wait{color:#97620e;background:#fff5df}.pill.bad{color:#ac4954;background:#fff0f0}
.empty{color:#8da2a4;text-align:center;padding:26px 10px;font-size:12px}.file-icon{background:#e8f2ff;color:#37619d;border-radius:8px;padding:10px 8px;font-size:10px;font-weight:800}
.folder{background:#f7fbfa;border:1px solid #d8e9e3;border-radius:12px;padding:15px;min-height:86px;text-align:left;color:#174c48;width:100%}
.folder h3{font-size:12px;margin:0 0 8px}.folder small{color:#7c9694}.folder:hover{background:#edf8f3}
.procbody{padding:13px 14px}.procedure{border:1px solid #deebe7;border-radius:10px;margin-bottom:12px;overflow:hidden}
.procedure>summary{background:#f3f9f7;padding:12px 14px;font-weight:750;cursor:pointer}
.checkrow{display:flex;align-items:flex-start;gap:10px;padding:10px 0;font-weight:500;color:#24454a}
.checkrow>input{margin-top:3px;flex-shrink:0}.checkrow span{flex:1;min-width:0}.checkrow small{display:block;color:#88a0a2}
.content label:not(.checkrow),#modalBody label{display:block;color:#486971;font-size:11px;font-weight:700;margin:10px 0}
.content label input:not([type=checkbox]),.content label textarea,.content label select,#modalBody input:not([type=checkbox]),#modalBody select,#modalBody textarea{
 width:100%;border:1px solid #d5e5e1;border-radius:9px;background:#fff;padding:10px;font-size:12px;min-height:39px;outline-color:#6ecbbc;display:block;margin-top:6px}
#modalBody{max-height:70vh;overflow:auto}#modalBody button{margin:3px}.modal-card{width:min(740px,95vw)}
#authMessage.message{background:#ebf7f0;border:1px solid #cbe9d9;padding:11px 14px;border-radius:9px;margin:8px 0;color:#246f60}
#authMessage.message.error{background:#fff1f1;border-color:#f0d1d1;color:#aa3b49}
.auth-form .field-group{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}
#loginProgress{display:block;background:#0c8d77;height:100%;width:100%;transform-origin:left}
#topNoticeBadge{position:absolute;top:1px;right:1px}
.profile-menu{z-index:90}.profile-button.profile{cursor:pointer}.nav-link.active{background:#e2f1ec}
.btn.small{min-height:32px;font-size:11px;padding:6px 10px}.tag{border-radius:9px;background:#ebf4ff;color:#416b9c;padding:6px 10px;font-size:10px;font-weight:800}
#content .pagehead{display:flex;align-items:center;justify-content:space-between;gap:14px}
.pagehead>.eyebrow{display:block}#content .card{margin-bottom:14px}
#content .card .section-title{margin-bottom:16px}
#content .report-metrics{grid-template-columns:repeat(3,minmax(0,1fr))}
#modalBody .report-metrics{grid-template-columns:repeat(3,minmax(0,1fr))}
#modalBody .table{min-width:580px}#modalBody .report-table{overflow-x:auto}
#uploadProgressOverlay{position:fixed;inset:0;background:#103b4499;display:flex;justify-content:center;align-items:center;z-index:500}
#uploadProgressOverlay .upload-dialog{width:min(425px,94vw);background:#fff;padding:28px;border-radius:17px;text-align:center;box-shadow:0 20px 60px #002a2b33}
#uploadProgressOverlay .upload-track{height:9px;background:#e3f3ef;border-radius:99px;overflow:hidden}
#uploadProgressOverlay .upload-track span{display:block;height:100%;background:#0f8777;width:0%;transition:width .2s}
#uploadProgressOverlay .upload-detail{font-size:12px;color:#68838b;margin:12px 0}
.report-history .file-row{padding:15px 0}.report-metrics .stat strong{font-size:22px}
.cloud-notice{background:#e9f7f3;border:1px solid #d3eee4;color:#34776e;border-radius:10px;padding:12px 15px;margin:10px 0 16px;font-size:12px}
.report-section{margin-top:20px}.report-section h3{font-size:13px;color:#183f45}
#turnstile{min-height:20px}.auth-form input{border:1px solid #d5e5e1}
@media(max-width:900px){.grid-2{grid-template-columns:1fr}}
@media(max-width:640px){.grid{grid-template-columns:repeat(2,minmax(0,1fr))}.auth-form .field-group{grid-template-columns:1fr}.table{min-width:550px}.report-metrics{grid-template-columns:1fr}}
/* Job detail information grid, aligned to UI Review 03/04 */
.job-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px 22px;margin:3px 0 15px}
.job-facts>div{min-width:0}.job-facts small{display:block;color:#91a5a9;font-size:11px;margin-bottom:4px}
.job-facts strong{display:block;color:#1e464b;font-size:12px;line-height:1.45;overflow-wrap:anywhere}
.member-lines{border-top:1px solid #e5eeeb;padding-top:14px}.member-lines strong{font-size:12px;color:#1d474d}.member-lines p{color:#728c91;font-size:11px;margin:6px 0 0;line-height:1.5}
.job-progress>div:first-child{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-bottom:6px}
.job-progress small{color:#81999e;font-size:11px}.job-progress strong{font-size:28px;color:#1b4448}
.mini-progress{background:#e3efec;max-width:180px;height:5px;border-radius:9px;margin-top:8px;overflow:hidden}
.mini-progress.wide{max-width:none;height:8px;margin:16px 0 18px}
.mini-progress span{height:100%;background:#1c9983;display:block;min-width:0;border-radius:9px}
#content .grid-2 .card{min-width:0}
#content .report-metrics .stat strong{font-size:22px;overflow-wrap:anywhere}
#modal .modal-card .card{box-shadow:none;border:1px solid #e4eeea;margin:12px 0;padding:14px}
#modalBody .btn-group{margin-top:12px}
.auth-logo-mark,.brand-logo-img{object-fit:contain}
@media(max-width:640px){.job-facts{grid-template-columns:1fr 1fr;gap:12px}.job-progress>div:first-child{display:block}}
