:root{--color-primary:#0f3c78;--color-accent:#2f80ed;--color-bg:#fff;--color-bg-card:#f5f7fa;--color-text:#0d1b2a;--color-text-secondary:#5a6472;--color-border:#e1e5ea;--color-error:#c0392b;color:var(--color-text);background:var(--color-bg);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:system-ui,Segoe UI,Roboto,sans-serif}*{box-sizing:border-box}body{min-height:100svh;margin:0}#root{min-height:100svh}.lightbox-overlay{z-index:1300;cursor:pointer;background:#0d1b2acc;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.lightbox-image{cursor:default;background:#fff;border-radius:3px;max-width:90vw;max-height:90vh}.lightbox-close{color:#fff;cursor:pointer;background:0 0;border:none;padding:4px 10px;font-size:28px;line-height:1;position:fixed;top:16px;right:20px}.lightbox-close:hover{opacity:.8}@media (width<=480px){.lightbox-overlay{padding:12px}.lightbox-close{top:8px;right:10px}}.applicant-form-compact{box-sizing:border-box;flex-direction:column;gap:8px;width:100%;display:flex}.cf-row{flex-wrap:wrap;align-items:flex-end;gap:8px;display:flex}.cf-field{flex-direction:column;gap:2px;min-width:0;display:flex}.cf-w-xs{flex:0 64px}.cf-w-sm{flex:130px}.cf-w-md{flex:170px}.cf-w-lg{flex:1.6 220px}.cf-label{color:var(--color-text-secondary);white-space:nowrap;font-size:11px}.cf-input{font:inherit;border:1px solid var(--color-border);color:var(--color-text);box-sizing:border-box;background:#fff;border-radius:2px;width:100%;height:30px;padding:5px 7px;font-size:13px}.cf-input:focus{border-color:var(--color-accent);outline:none}.cf-input:disabled{background:var(--color-bg-card);color:var(--color-text-secondary)}.cf-checkbox{color:var(--color-text-secondary);white-space:nowrap;align-items:center;gap:4px;height:30px;font-size:12px;display:flex}.cf-checkbox input{flex-shrink:0;width:14px;height:14px}.cf-locked-group{flex:200px}.cf-locked-value{color:var(--color-primary);padding:5px 0;font-size:13px;font-weight:600;display:block}.cf-groups-row{color:var(--color-text-secondary);flex-wrap:wrap;align-items:center;gap:4px;font-size:12px;display:flex}.cf-groups-label{font-weight:600}.cf-groups-item{align-items:center;gap:4px;display:inline-flex}.cf-groups-sep{color:var(--color-border);margin-right:4px}.cf-groups-remove{font:inherit;color:var(--color-error);cursor:pointer;background:0 0;border:none;padding:0 2px;font-size:12px;line-height:1}.cf-groups-remove:hover:not(:disabled){text-decoration:underline}.cf-groups-remove:disabled{opacity:.5;cursor:default}.cf-move-block{border:1px solid var(--color-border);background:var(--color-bg-card);border-radius:2px;flex-direction:column;gap:4px;padding:8px;display:flex}.cf-move-title{color:var(--color-text-secondary);font-size:11px;font-weight:600}.cf-move-schedule{color:var(--color-text-secondary);white-space:nowrap;padding-bottom:6px;font-size:12px}.cf-docs-row{border:1px solid var(--color-border);background:var(--color-bg-card);border-radius:2px;align-items:center;padding:6px 8px}.cf-docs-label{color:var(--color-text-secondary);margin-right:4px;font-size:11px;font-weight:600}.cf-doc-item{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.cf-doc-actions{align-items:center;gap:8px;display:flex}.cf-doc-file-input{display:none}.cf-field-suggest{position:relative}.cf-suggest-list{z-index:50;border:1px solid var(--color-border);background:#fff;border-radius:2px;flex-direction:column;max-height:180px;margin-top:2px;display:flex;position:absolute;top:100%;left:0;right:0;overflow-y:auto}.cf-suggest-item{font:inherit;text-align:left;border:none;border-bottom:1px solid var(--color-border);color:var(--color-text);cursor:pointer;background:#fff;padding:5px 7px;font-size:12px}.cf-suggest-item:last-child{border-bottom:none}.cf-suggest-item:hover{background:var(--color-bg-card)}.cf-suggest-meta{color:var(--color-text-secondary)}.cf-suggestion-warning{color:var(--color-error);border:1px solid var(--color-error);background:#fdecea;border-radius:2px;margin:0;padding:6px 10px;font-size:12px;font-weight:600}.cf-hint{color:var(--color-text-secondary);margin:0;font-size:11px}.cf-error{color:var(--color-error);margin:0;font-size:12px}.cf-submit{font:inherit;background:var(--color-accent);color:#fff;cursor:pointer;border:none;border-radius:2px;align-self:flex-start;padding:7px 18px;font-size:13px;font-weight:600}.cf-submit:hover:not(:disabled){background:var(--color-primary)}.cf-submit:disabled{opacity:.6;cursor:default}.duplicate-banner-compact{color:var(--color-text);background:#fdf3e7;border:1px solid #e8b45a;border-radius:2px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;padding:6px 10px;font-size:12px;display:flex}.duplicate-actions-compact{flex-shrink:0;gap:10px;display:flex}.cf-btn-link{font:inherit;color:var(--color-text-secondary);cursor:pointer;background:0 0;border:none;padding:0;font-size:12px;text-decoration:underline}.cf-btn-link-accent{color:var(--color-accent);font-weight:600}.btn-outline-dark{font:inherit;border:1px solid var(--color-border);color:var(--color-primary);cursor:pointer;background:0 0;border-radius:2px;padding:6px 14px;font-size:13px;font-weight:600}.btn-outline-dark:hover{background:var(--color-bg-card)}@media (width<=700px){.cf-row{flex-direction:column;align-items:stretch}.cf-w-xs,.cf-w-sm,.cf-w-md,.cf-w-lg{flex:auto}.cf-checkbox{height:auto;padding:4px 0}.cf-docs-row{flex-direction:column;align-items:flex-start}.cf-doc-item{flex-direction:column;align-items:flex-start;gap:2px}}.modal-overlay{z-index:1200;background:#0d1b2a80;justify-content:center;align-items:flex-start;padding:60px 16px;display:flex;position:fixed;inset:0}.modal-panel{border:1px solid var(--color-border);box-sizing:border-box;background:#fff;border-radius:3px;flex-direction:column;gap:8px;width:100%;max-width:460px;max-height:70vh;padding:14px;display:flex}.modal-header{justify-content:space-between;align-items:center;display:flex}.modal-title{color:var(--color-primary);font-size:14px;font-weight:600}.modal-close{font:inherit;color:var(--color-text-secondary);cursor:pointer;background:0 0;border:none;padding:2px 6px;font-size:18px;line-height:1}.modal-close:hover{color:var(--color-text)}.modal-search-input{font:inherit;border:1px solid var(--color-border);box-sizing:border-box;border-radius:2px;padding:6px 8px;font-size:13px}.modal-search-input:focus{border-color:var(--color-accent);outline:none}.modal-hint{color:var(--color-text-secondary);margin:0;font-size:12px}.modal-error{color:var(--color-error);margin:0;font-size:12px}.modal-results{flex-direction:column;gap:4px;display:flex;overflow-y:auto}.modal-result-row{text-align:left;font:inherit;border:1px solid var(--color-border);background:var(--color-bg-card);cursor:pointer;border-radius:2px;flex-direction:column;gap:2px;padding:6px 8px;display:flex}.modal-result-row:hover{border-color:var(--color-accent)}.modal-result-row:disabled{opacity:.6;cursor:default}.modal-result-name{color:var(--color-text);font-size:13px;font-weight:600}.modal-result-meta{color:var(--color-text-secondary);font-size:11px}@media (width<=480px){.modal-overlay{padding:24px 10px}}.export-modal-panel{max-width:560px}.export-scope-options{flex-wrap:wrap;gap:12px;display:flex}.export-selected-applicant{color:var(--color-text);align-items:center;gap:10px;font-size:13px;display:flex}.export-fields-header{justify-content:space-between;align-items:center;gap:10px;display:flex}.export-fields-toggle-actions{gap:12px;display:flex}.export-fields-options{border:1px solid var(--color-border);background:var(--color-bg-card);border-radius:2px;flex-wrap:wrap;gap:8px 16px;padding:8px;display:flex}@media (width<=480px){.export-fields-header{flex-wrap:wrap}}.import-modal-panel{max-width:640px;max-height:85vh;overflow-y:auto}.import-sheets-list{flex-direction:column;gap:10px;max-height:260px;display:flex;overflow-y:auto}.import-sheet-block{border:1px solid var(--color-border);background:var(--color-bg-card);border-radius:2px;flex-direction:column;gap:6px;padding:8px 10px;display:flex}.import-sheet-header{justify-content:space-between;align-items:center;gap:10px;display:flex}.import-sheet-name{color:var(--color-primary);font-size:13px;font-weight:600}.import-sheet-meta{color:var(--color-text-secondary);font-size:11px}.import-columns-list{flex-wrap:wrap;gap:6px;display:flex}.import-column-chip{border:1px solid var(--color-border);color:var(--color-text);background:#fff;border-radius:2px;padding:3px 8px;font-size:11px}.import-column-chip-unrecognized{border-color:var(--color-error);color:var(--color-error);background:#fdecea}.import-bulk-actions{gap:14px;display:flex}.import-problems-list{flex-direction:column;gap:6px;max-height:300px;display:flex;overflow-y:auto}.import-problem-row{border:1px solid var(--color-border);background:#fff;border-radius:2px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;padding:8px 10px;display:flex}.import-problem-info{flex-direction:column;gap:2px;min-width:0;display:flex}.import-problem-title{color:var(--color-text);font-size:13px;font-weight:600}.import-problem-meta{color:var(--color-text-secondary);font-size:11px}.import-problem-actions{flex-shrink:0;gap:12px;display:flex}.import-problem-sheets{flex-direction:column;gap:4px;display:flex}.import-summary{flex-direction:column;gap:8px;display:flex}.import-summary-line{color:var(--color-text);margin:0;font-size:13px}.import-dropped-fields{border:1px solid var(--color-border);background:var(--color-bg-card);border-radius:2px;flex-direction:column;gap:4px;padding:8px 10px;display:flex}@media (width<=480px){.import-sheet-header,.import-problem-row{flex-direction:column;align-items:flex-start}}.admin-page{flex-direction:column;gap:10px;width:100%;display:flex}.admin-toolbar{flex-wrap:wrap;gap:10px;min-height:0;display:flex}.admin-stats-bar{border:1px solid var(--color-border);background:var(--color-bg-card);color:var(--color-text-secondary);border-radius:3px;flex-wrap:wrap;align-items:center;gap:8px;padding:8px 10px;font-size:13px;display:flex}.admin-stats-bar strong{color:var(--color-text)}.admin-stats-sep{color:var(--color-border)}.admin-selector-row{align-items:flex-end}.admin-search-section{border-bottom:1px solid var(--color-border);flex-direction:column;gap:8px;padding-bottom:12px;display:flex}.admin-section-title{color:var(--color-primary);margin:0;font-size:14px;font-weight:600}.admin-search-results{flex-direction:column;gap:4px;max-height:280px;display:flex;overflow-y:auto}.admin-search-result-row{border:1px solid var(--color-border);background:#fff;border-radius:2px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;padding:6px 8px;display:flex}.admin-search-result-info{flex-direction:column;gap:3px;min-width:0;display:flex}.admin-status-badge{border-radius:2px;padding:1px 6px;font-size:11px;font-weight:600;display:inline-block}.admin-status-badge-ingroup{color:var(--color-primary);background:#e8f0fe}.admin-status-badge-database{background:var(--color-bg-card);color:var(--color-text-secondary);border:1px solid var(--color-border)}.admin-empty-state{text-align:center;color:var(--color-text-secondary);margin:0;padding:20px 0;font-size:13px}.admin-group-panel{border:1px solid var(--color-border);background:var(--color-bg-card);border-radius:3px;flex-direction:column;gap:10px;padding:12px;display:flex}.admin-group-panel-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;display:flex}.admin-group-panel-title{color:var(--color-primary);font-size:13px;font-weight:600}.admin-group-panel-close{font:inherit;color:var(--color-text-secondary);cursor:pointer;background:0 0;border:none;padding:0;font-size:12px;text-decoration:underline}.admin-stub-note{color:var(--color-text-secondary);margin:0;font-size:12px;font-style:italic}.admin-member-list,.admin-member-item{flex-direction:column;gap:6px;display:flex}.admin-member-row{border:1px solid var(--color-border);background:#fff;border-radius:2px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;padding:6px 8px;display:flex}.admin-member-info{flex-direction:column;gap:3px;min-width:0;display:flex}.admin-member-name{color:var(--color-text);font-size:14px;font-weight:600}.admin-member-meta{color:var(--color-text-secondary);flex-wrap:wrap;align-items:center;gap:3px;font-size:13px;display:flex}.admin-meta-item{border-radius:2px;padding:1px 4px}.admin-meta-sep{color:var(--color-border)}.admin-field-empty{color:var(--color-text);background:#fff9e0}.admin-member-actions{flex-shrink:0;gap:12px;display:flex}.cf-btn-link-danger{color:var(--color-error)}.admin-form-wrap{flex-direction:column;align-items:flex-start;gap:6px;display:flex}.admin-inline-edit{border-left:2px solid var(--color-accent);padding-left:10px}.enrollment-page-compact{flex-direction:column;gap:10px;width:100%;display:flex}.enrollment-toolbar{align-items:center;gap:12px;display:flex}.qr-placeholder-compact{border:1px dashed var(--color-border);background:var(--color-bg-card);width:90px;height:90px;color:var(--color-text-secondary);text-align:center;box-sizing:border-box;border-radius:2px;flex-shrink:0;justify-content:center;align-items:center;padding:4px;font-size:11px;display:flex}.group-info-compact{color:var(--color-text-secondary);flex-direction:column;gap:2px;font-size:11px;display:flex}.qr-image-compact{object-fit:contain;cursor:pointer;background:#fff;border-style:solid;padding:2px}.section-title-compact{color:var(--color-primary);margin:4px 0 0;font-size:14px;font-weight:600}.page-status{text-align:center;color:var(--color-text-secondary);margin:0;padding:30px 20px}.page-status-error{color:var(--color-error)}.toast{background:var(--color-primary);color:#fff;z-index:1100;text-align:center;border-radius:2px;max-width:calc(100% - 32px);padding:10px 18px;font-size:13px;position:fixed;bottom:20px;left:50%;transform:translate(-50%)}@media (width<=480px){.enrollment-toolbar{flex-wrap:wrap}}.management-page{flex-direction:column;gap:14px;width:100%;display:flex}.management-tabs{border-bottom:1px solid var(--color-border);gap:4px;display:flex}.management-tab{font:inherit;color:var(--color-text-secondary);cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;padding:8px 14px;font-size:13px}.management-tab-active{color:var(--color-primary);border-bottom-color:var(--color-accent);font-weight:600}.danger-zone{border:2px solid var(--color-error);background:#fdecea;border-radius:3px;flex-direction:column;gap:12px;max-width:620px;padding:14px;display:flex}.danger-zone-header{flex-direction:column;gap:4px;display:flex}.danger-zone-title{color:var(--color-error);font-size:14px;font-weight:700}.danger-zone-hint{color:var(--color-text);margin:0;font-size:12px}.danger-zone-block{border:1px solid var(--color-border);background:#fff;border-radius:2px;flex-direction:column;gap:8px;padding:10px;display:flex}.danger-selected-applicant{color:var(--color-text);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;font-size:13px;display:flex}.btn-danger{font:inherit;background:var(--color-error);color:#fff;cursor:pointer;border:none;border-radius:2px;align-self:flex-start;padding:7px 16px;font-size:13px;font-weight:600}.btn-danger:hover:not(:disabled){background:#a5311f}.btn-danger:disabled{opacity:.6;cursor:default}.btn-danger-strong{border:2px solid #7a2015;padding:9px 18px;font-size:14px}.danger-modal-panel{border:2px solid var(--color-error)}.danger-modal-title{color:var(--color-error)}.danger-modal-message{color:var(--color-text);margin:0;font-size:13px;line-height:1.4}.danger-modal-actions{justify-content:flex-end;align-items:center;gap:16px;display:flex}@media (width<=480px){.danger-selected-applicant{flex-direction:column;align-items:flex-start}}.mgmt-section{flex-direction:column;gap:12px;max-width:820px;display:flex}.mgmt-list{flex-direction:column;gap:6px;display:flex}.mgmt-row{border:1px solid var(--color-border);background:var(--color-bg-card);border-radius:2px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;padding:8px 10px;display:flex}.mgmt-row-info{flex-direction:column;gap:2px;min-width:0;display:flex}.mgmt-row-title{color:var(--color-text);font-size:13px;font-weight:600}.mgmt-row-meta{color:var(--color-text-secondary);font-size:11px}.mgmt-row-actions{flex-shrink:0;gap:12px;display:flex}.mgmt-inline-editor{border:1px solid var(--color-border);background:#fff;border-radius:2px;flex-direction:column;flex:100%;gap:8px;padding:10px;display:flex}.mgmt-inline-editor-actions{align-items:center;gap:14px;display:flex}.mgmt-create-form{border:1px solid var(--color-border);background:#fff;border-radius:2px;max-width:none;padding:10px}.mgmt-direction-block{border-bottom:1px solid var(--color-border);flex-direction:column;gap:6px;padding-bottom:8px;display:flex}.mgmt-direction-header{cursor:pointer;justify-content:space-between;align-items:center;gap:10px;display:flex}.mgmt-direction-title{color:var(--color-primary);font-size:13px;font-weight:600}.mgmt-groups-list{flex-direction:column;gap:6px;padding-left:8px;display:flex}.group-multiselect{border:1px solid var(--color-border);background:var(--color-bg-card);border-radius:2px;flex-direction:column;gap:8px;padding:8px;display:flex}.group-multiselect-direction{flex-direction:column;gap:4px;display:flex}.group-multiselect-direction-title{color:var(--color-text-secondary);font-size:11px;font-weight:600}.group-multiselect-options{flex-wrap:wrap;gap:10px;display:flex}.mgmt-qr-preview{flex-direction:column;gap:2px;display:flex}.mgmt-qr-preview-img{object-fit:contain;border:1px solid var(--color-border);cursor:pointer;background:#fff;border-radius:2px;width:80px;height:80px}@media (width<=480px){.mgmt-row-actions,.mgmt-direction-header{flex-wrap:wrap}}.app-shell{background:var(--color-bg);flex-direction:column;min-height:100svh;display:flex}.app-topbar{background:var(--color-primary);color:#fff;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;padding:10px 16px;display:flex}.app-title{font-size:18px;font-weight:600}.app-topbar-user{flex-wrap:wrap;align-items:center;gap:16px;display:flex}.app-user-info{font-size:14px}.topbar-link-btn{font:inherit;color:#fff;cursor:pointer;background:0 0;border:none;padding:0;font-size:13px;text-decoration:underline}.topbar-link-btn:hover{opacity:.85}.btn-outline{font:inherit;color:#fff;cursor:pointer;background:0 0;border:1px solid #fff9;border-radius:3px;padding:8px 14px;font-weight:600}.btn-outline:hover{background:#ffffff1f}.app-nav{background:var(--color-bg-card);border-bottom:1px solid var(--color-border);gap:4px;padding:0 20px;display:flex}.app-nav-tab{font:inherit;color:var(--color-text-secondary);cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;padding:8px 14px;font-size:13px}.app-nav-tab-active{color:var(--color-primary);border-bottom-color:var(--color-accent);font-weight:600}.app-content{box-sizing:border-box;flex:1;padding:14px 16px}@media (width<=480px){.app-topbar{padding:10px 14px}.app-content{padding:12px}}.login-page{box-sizing:border-box;background:var(--color-bg);flex-direction:column;justify-content:center;align-items:center;gap:20px;width:100%;min-height:100svh;padding:16px;display:flex}.login-logo{object-fit:contain;width:auto;max-width:300px;height:auto;max-height:300px;display:block}@media (width<=480px){.login-logo{max-width:160px;max-height:160px}}.login-card{background:var(--color-bg-card);border:1px solid var(--color-border);box-sizing:border-box;border-radius:3px;width:100%;max-width:360px;padding:32px 28px}.login-form{flex-direction:column;gap:16px;display:flex}.login-notice{text-align:center;margin:0 0 8px}.login-notice-title{color:var(--color-error);margin:0;font-size:26px;font-weight:700}.login-notice-subtitle{color:var(--color-text-secondary);margin:4px 0 0;font-size:14px;font-weight:400}.login-title{color:var(--color-primary);text-align:center;margin:0 0 8px;font-size:18px;font-weight:600}.field{flex-direction:column;gap:6px;display:flex}.field-label{color:var(--color-text-secondary);font-size:14px}.field-input{font:inherit;border:1px solid var(--color-border);background:var(--color-bg-card);color:var(--color-text);box-sizing:border-box;border-radius:3px;padding:10px 12px}.field-input:focus{border-color:var(--color-accent);outline:none}.login-error{color:var(--color-error);margin:0;font-size:14px}.btn{font:inherit;background:var(--color-accent);color:#fff;cursor:pointer;border:none;border-radius:3px;padding:10px 16px;font-weight:600}.btn:hover:not(:disabled){background:var(--color-primary)}.btn:disabled{opacity:.6;cursor:default}
