*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--primary: #2563eb;--primary-dark: #1d4ed8;--danger: #dc2626;--success: #16a34a;--bg: #f8fafc;--surface: #ffffff;--border: #e2e8f0;--text: #0f172a;--muted: #64748b;--radius: 12px}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background:var(--bg);color:var(--text);font-size:15px;line-height:1.6;min-height:100dvh}input,select,textarea{font:inherit;border:1.5px solid var(--border);border-radius:8px;padding:10px 14px;width:100%;outline:none;background:#fff;transition:border-color .15s,box-shadow .15s;color:var(--text)}input:focus,select:focus,textarea:focus{border-color:var(--primary);box-shadow:0 0 0 3px #2563eb1f}input:disabled,select:disabled,textarea:disabled{background:var(--bg);color:var(--muted);cursor:not-allowed}button{cursor:pointer;border:none;font:inherit}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:12px 24px;border-radius:8px;font-weight:600;font-size:15px;transition:opacity .15s,background .15s;width:100%}.btn:disabled{opacity:.55;cursor:not-allowed}.btn-primary{background:var(--primary);color:#fff}.btn-primary:hover:not(:disabled){background:var(--primary-dark)}.form-group{display:flex;flex-direction:column;gap:6px}.form-label{font-weight:600;font-size:13px;color:var(--text)}.form-label span{color:var(--danger);margin-left:2px}.form-error{color:var(--danger);font-size:13px;margin-top:2px}.slot-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(80px,1fr));gap:8px}.slot-btn{padding:8px 4px;border-radius:8px;font-size:14px;font-weight:600;border:1.5px solid var(--border);background:var(--surface);color:var(--text);text-align:center;transition:all .15s}.slot-btn:hover:not(:disabled){border-color:var(--primary);color:var(--primary)}.slot-btn.selected{background:var(--primary);border-color:var(--primary);color:#fff}
