:root{--text:#4a5560;--text-h:#0f1419;--bg:#f7f8fa;--sans:"Segoe UI", system-ui, sans-serif;font:16px/1.5 var(--sans);color:var(--text);background:var(--bg);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*,:before,:after{box-sizing:border-box}body{min-width:320px;min-height:100vh;margin:0}#root{min-height:100vh}.app{flex-direction:column;align-items:center;width:100vw;min-height:100vh;padding:1.5rem;display:flex}.protected-app{flex-direction:column;align-items:center;width:100%;display:flex}.app-header{border-bottom:1px solid var(--border,#e5e4e7);justify-content:space-between;align-items:center;gap:1rem;width:100%;margin-bottom:.5rem;padding:.75rem 0 1.25rem;display:flex}.app-header-brand{color:var(--text-h,#0f1419);white-space:nowrap;font-size:1.05rem;font-weight:700}.app-header-nav{flex-wrap:wrap;gap:.5rem;display:flex}.app-header-link{color:var(--text,#6b6375);border-radius:6px;padding:.4rem .75rem;font-size:.95rem;font-weight:600;text-decoration:none}.app-header-link:hover{color:var(--text-h,#0f1419);background:#fff}.app-header-link.active{color:#fff;background:var(--accent,#aa3bff)}@media (width<=640px){.app-header{flex-direction:column;align-items:flex-start}}.accept-driver-registration-view{text-align:center;box-sizing:border-box;justify-content:center;align-items:center;width:100%;min-height:100vh;padding:2rem 1.5rem;display:flex}.accept-loading{color:var(--text,#6b6375);flex-direction:column;align-items:center;gap:1.25rem;font-size:1.4rem;display:flex}@keyframes spin{to{transform:rotate(360deg)}}.accept-success{flex-direction:column;align-items:center;gap:.75rem;max-width:32rem;display:flex}.accept-success-title{color:var(--text-h,#0f1419);margin:0;font-size:1.8rem;font-weight:700}.accept-success-note{color:var(--text,#6b6375);margin:0;font-size:1.1rem}.accept-error{color:#a12222;background:#fdecec;border:1px solid #f3b4b4;border-radius:6px;max-width:32rem;padding:1rem 1.25rem;font-size:1.1rem}.decline-driver-registration-view{text-align:center;box-sizing:border-box;justify-content:center;align-items:center;width:100%;min-height:100vh;padding:2rem 1.5rem;display:flex}.decline-loading{color:var(--text,#6b6375);flex-direction:column;align-items:center;gap:1.25rem;font-size:1.4rem;display:flex}.decline-success{flex-direction:column;align-items:center;gap:.75rem;max-width:32rem;display:flex}.decline-success-title{color:var(--text-h,#0f1419);margin:0;font-size:1.8rem;font-weight:700}.decline-success-note{color:var(--text,#6b6375);margin:0;font-size:1.1rem}.decline-error{color:#a12222;background:#fdecec;border:1px solid #f3b4b4;border-radius:6px;max-width:32rem;padding:1rem 1.25rem;font-size:1.1rem}.driver-registration-view{width:95%;height:95%}.registration-table-wrapper{width:100%;overflow-x:auto}.registration-table{border-collapse:collapse;width:100%;font-size:.9rem}.registration-table th,.registration-table td{border:1px solid var(--border,#e5e4e7);text-align:left;white-space:nowrap;padding:.5rem .75rem}.registration-table th{background:var(--code-bg,#f4f3ec);font-weight:600}.registration-table tbody tr:nth-child(2n){background:var(--code-bg,#f4f3ec)}.registration-table-empty{color:var(--text,#6b6375);padding:1rem 0}.registration-loading{color:var(--text,#6b6375);align-items:center;gap:.6rem;padding:1rem 0;display:flex}.spinner{border:2px solid var(--border,#e5e4e7);border-top-color:var(--accent,#aa3bff);border-radius:50%;flex-shrink:0;width:1.25rem;height:1.25rem;animation:.7s linear infinite spin}.registration-error{color:#a12222;background:#fdecec;border:1px solid #f3b4b4;border-radius:6px;padding:.75rem 1rem}.share-button{color:var(--accent,#aa3bff);cursor:pointer;background:0 0;border:none;border-radius:6px;padding:.5rem .75rem;font-size:.9rem;font-weight:600}.shares-table-cell{background:var(--code-bg,#f4f3ec);white-space:normal;padding:.5rem .75rem 1rem 2rem!important}.shares-table{border-collapse:collapse;background:#fff;width:auto;font-size:.85rem}.shares-table th,.shares-table td{border:1px solid var(--border,#e5e4e7);text-align:left;white-space:nowrap;padding:.4rem .65rem}.shares-table th{background:var(--border,#e5e4e7);font-weight:600}.shares-table-empty{color:var(--text,#6b6375);margin:0;font-size:.85rem;font-style:italic}.share-modal-overlay{z-index:1000;background:#0f141973;justify-content:center;align-items:center;padding:1rem;display:flex;position:fixed;inset:0}.share-modal{background:#fff;border-radius:10px;width:100%;max-width:360px;max-height:80vh;padding:1.25rem;overflow-y:auto;box-shadow:0 10px 30px #0f141933}.share-modal-header{justify-content:space-between;align-items:flex-start;gap:.75rem;margin-bottom:.75rem;display:flex}.share-modal-header h2{margin:0;font-size:1.1rem}.share-modal-close{cursor:pointer;color:var(--text,#6b6375);background:0 0;border:none;padding:0;font-size:1.5rem;line-height:1}.share-modal-error{color:#a12222;background:#fdecec;border:1px solid #f3b4b4;border-radius:6px;margin:0 0 .75rem;padding:.6rem .75rem;font-size:.85rem}.share-modal-empty{color:var(--text,#6b6375);margin:0}.share-modal-org-list{flex-direction:column;gap:.4rem;margin:0;padding:0;list-style:none;display:flex}.share-modal-org-button{text-align:left;background:var(--code-bg,#f4f3ec);border:1px solid var(--border,#e5e4e7);width:100%;color:var(--text-h,#0f1419);cursor:pointer;border-radius:6px;padding:.6rem .75rem;font-size:.9rem;font-weight:600;transition:background .15s}.share-modal-org-button:hover:not(:disabled){background:var(--border,#e5e4e7)}.share-modal-org-button:disabled{cursor:not-allowed;opacity:.6}.organization-admin-view{width:95%;max-width:1400px}.org-admin-page-header{justify-content:center;margin-bottom:1.25rem;display:flex}.org-admin-toggle{border:1px solid var(--border,#e5e4e7);background:#fff;border-radius:8px;gap:.25rem;padding:.25rem;display:inline-flex}.org-admin-toggle-button{color:var(--text,#6b6375);cursor:pointer;background:0 0;border:none;border-radius:6px;padding:.5rem .9rem;font-size:.95rem;font-weight:600}.org-admin-toggle-button:hover{color:var(--text-h,#0f1419)}.org-admin-toggle-button.active{background:var(--accent,#aa3bff);color:#fff}.organization-form{flex-direction:column;gap:1.25rem;display:flex}.org-form-section{border:1px solid var(--border,#e5e4e7);background:#fff;border-radius:8px;padding:1rem 1.1rem 1.15rem}.org-form-section h2{color:var(--text-h,#0f1419);margin:0 0 .85rem;font-size:1.05rem}.org-form-grid{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));align-items:stretch;gap:.85rem 1rem;display:grid}.org-field{flex-direction:column;gap:.3rem;min-width:0;font-size:.9rem;display:flex}.org-field-meta{flex-direction:column;gap:.2rem;min-height:2.6em;display:flex}.org-field-label{color:var(--text-h,#0f1419);font-weight:600;line-height:1.3}.org-field-required{color:#c62828}.org-field-hint{min-height:1.2em;color:var(--text,#6b6375);font-size:.8rem;line-height:1.2}.org-field input[type=text],.org-field input[type=email],.org-field input[type=url],.org-field input[type=number],.org-field input[type=date],.org-field select{box-sizing:border-box;border:1px solid var(--border,#e5e4e7);background:#fff;border-radius:6px;width:100%;margin-top:auto;padding:.55rem .65rem;font-family:inherit;font-size:.95rem}.org-field-checkbox{flex-direction:row;align-self:end;align-items:center;gap:.5rem;min-height:auto;padding-top:0}.org-field-enum-list{border:1px solid var(--border,#e5e4e7);border-radius:6px;grid-column:1/-1;margin:0;padding:.65rem .75rem}.org-field-enum-list legend{color:var(--text-h,#0f1419);padding:0 .25rem;font-weight:600}.org-enum-list{flex-wrap:wrap;gap:.45rem .9rem;display:flex}.org-enum-list label{align-items:center;gap:.35rem;font-size:.85rem;display:inline-flex}.org-form-actions{background:linear-gradient(to top, var(--bg,#f7f8fa) 70%, transparent);justify-content:flex-end;gap:.75rem;padding:.85rem 0;display:flex;position:sticky;bottom:0}.org-form-actions button,.org-form-secondary{background:var(--accent,#aa3bff);color:#fff;cursor:pointer;border:none;border-radius:6px;padding:.65rem 1rem;font-size:1rem;font-weight:600}.org-form-actions button:hover:not(:disabled),.org-form-secondary:hover:not(:disabled){opacity:.9}.org-form-actions button:disabled,.org-form-secondary:disabled{opacity:.6;cursor:not-allowed}.org-form-secondary{color:var(--text-h,#0f1419);border:1px solid var(--border,#e5e4e7);background:#fff}.org-form-error,.org-form-success{border-radius:6px;margin:0;padding:.75rem 1rem}.org-form-error{color:#a12222;background:#fdecec;border:1px solid #f3b4b4}.org-form-success{color:#1d6b35;background:#eefaf1;border:1px solid #b7e0c2}.org-view-table-wrapper{width:100%;overflow-x:auto}.org-view-table{border-collapse:collapse;background:#fff;width:100%;font-size:.9rem}.org-view-table th,.org-view-table td{border:1px solid var(--border,#e5e4e7);text-align:left;white-space:nowrap;padding:.5rem .75rem}.org-view-table th{background:var(--code-bg,#f4f3ec);font-weight:600}.org-view-table tbody tr:nth-child(2n){background:var(--code-bg,#f4f3ec)}.org-view-empty{color:var(--text,#6b6375);margin:0;padding:1rem 0}.org-view-loading{color:var(--text,#6b6375);align-items:center;gap:.6rem;padding:1rem 0;display:flex}.org-spinner{border:2px solid var(--border,#e5e4e7);border-top-color:var(--accent,#aa3bff);border-radius:50%;flex-shrink:0;width:1.25rem;height:1.25rem;animation:.7s linear infinite org-spin}@keyframes org-spin{to{transform:rotate(360deg)}}@media (width<=640px){.org-admin-toggle{width:100%}.org-admin-toggle-button{flex:1}.org-form-actions{flex-direction:column-reverse}.org-form-actions button,.org-form-secondary{width:100%}}.password-page{justify-content:center;width:100%;display:flex}.password-form{text-align:center;flex-direction:column;gap:.75rem;width:100%;max-width:320px;display:flex}.password-form h1{margin:0;font-size:1.5rem}.password-form p{color:var(--text,#6b6375);margin:0}.password-form input{border:1px solid var(--border,#e5e4e7);border-radius:6px;padding:.6rem .75rem;font-size:1rem}.password-form button{background:var(--accent,#aa3bff);color:#fff;cursor:pointer;border:none;border-radius:6px;padding:.6rem .75rem;font-size:1rem;font-weight:600}.password-form button:hover{opacity:.9}.password-error{color:#d33;font-size:.875rem}
