: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}.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}@keyframes spin{to{transform:rotate(360deg)}}.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}.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}.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}.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}.spinner{border:4px solid var(--border,#e5e4e7);border-top-color:var(--accent,#aa3bff);border-radius:50%;flex-shrink:0;width:3rem;height:3rem;animation:.7s linear infinite spin}.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}
