:root{--primary-color: #0066cc;--primary-dark: #004080;--text-dark: #000000;--text-light: #ffffff;--border-color: #333333;--border-light: #cccccc;--background: #ffffff;--dnf-color: #ff3333;--dns-color: #ffa500;--success-color: #28a745;--warning-color: #ffc107;--touch-target-min: 44px;--font-size-xlarge: 24px;--font-size-large: 18px;--font-size-medium: 16px;--font-size-small: 14px;--spacing-xs: 4px;--spacing-small: 8px;--spacing-medium: 16px;--spacing-large: 24px;--spacing-xl: 32px}*{box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,sans-serif;margin:0;padding:0;background:var(--background);color:var(--text-dark);font-size:var(--font-size-medium);line-height:1.5;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}h1,h2,h3,h4,h5,h6{font-weight:700;margin:var(--spacing-medium) 0;color:var(--text-dark)}h1{font-size:32px}h2{font-size:28px}h3{font-size:var(--font-size-xlarge)}.rider-number{font-size:var(--font-size-xlarge);font-weight:700;min-width:60px;display:inline-block;text-align:center;padding:var(--spacing-small);background:var(--primary-color);color:var(--text-light);border-radius:4px;margin-right:var(--spacing-small)}.rider-name{font-size:var(--font-size-large);font-weight:600}.rider-details{font-size:var(--font-size-medium);color:#666;margin-top:var(--spacing-xs)}.rider-row{min-height:var(--touch-target-min);border:2px solid var(--border-color);padding:var(--spacing-medium);margin:var(--spacing-small) 0;background:#fff;cursor:pointer;touch-action:none;display:flex;align-items:center;gap:var(--spacing-medium);border-radius:4px;transition:background .2s,transform .1s}.rider-row:hover{background:#f0f0f0}.rider-row:active{background:#e0e0e0;transform:scale(.98)}.rider-row.dragging{opacity:.5;background:#ccc}.dnf-section{background:var(--dnf-color);color:var(--text-light);padding:var(--spacing-large);margin:var(--spacing-large) 0;border:3px solid darkred;border-radius:8px;min-height:80px}.dns-section{background:var(--dns-color);color:var(--text-dark);padding:var(--spacing-large);margin:var(--spacing-large) 0;border:3px solid darkorange;border-radius:8px;min-height:80px}.dnf-section h3,.dns-section h3{margin-top:0;font-size:var(--font-size-xlarge)}button{min-width:var(--touch-target-min);min-height:var(--touch-target-min);font-size:var(--font-size-large);font-weight:700;padding:var(--spacing-medium) var(--spacing-large);border:2px solid var(--border-color);background:var(--primary-color);color:var(--text-light);cursor:pointer;border-radius:4px;transition:background .2s,transform .1s}button:hover:not(:disabled){background:var(--primary-dark)}button:active:not(:disabled){transform:scale(.95)}button:disabled{opacity:.5;cursor:not-allowed;background:#999}button.secondary{background:#fff;color:var(--primary-color)}button.danger{background:var(--dnf-color);border-color:#8b0000}button.success{background:var(--success-color);border-color:#006400}input,select,textarea{min-height:var(--touch-target-min);font-size:var(--font-size-large);padding:var(--spacing-medium);border:2px solid var(--border-color);border-radius:4px;width:100%;font-family:inherit}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px #06c3}label{display:block;font-weight:700;margin-bottom:var(--spacing-small);font-size:var(--font-size-medium)}.container{max-width:1200px;margin:0 auto;padding:var(--spacing-medium)}.header{background:var(--primary-color);color:var(--text-light);padding:var(--spacing-medium) var(--spacing-large);box-shadow:0 2px 4px #0000001a}.content{padding:var(--spacing-large)}.text-center{text-align:center}.text-bold{font-weight:700}.text-large{font-size:var(--font-size-large)}.text-xlarge{font-size:var(--font-size-xlarge)}.mt-small{margin-top:var(--spacing-small)}.mt-medium{margin-top:var(--spacing-medium)}.mt-large{margin-top:var(--spacing-large)}.mb-small{margin-bottom:var(--spacing-small)}.mb-medium{margin-bottom:var(--spacing-medium)}.mb-large{margin-bottom:var(--spacing-large)}.p-small{padding:var(--spacing-small)}.p-medium{padding:var(--spacing-medium)}.p-large{padding:var(--spacing-large)}.loading{display:flex;justify-content:center;align-items:center;min-height:200px;font-size:var(--font-size-large);color:#666}.offline-banner{background:var(--warning-color);color:var(--text-dark);padding:var(--spacing-medium);text-align:center;font-weight:700;font-size:var(--font-size-large);position:fixed;top:0;left:0;right:0;z-index:1000;box-shadow:0 2px 4px #0003}
